From 45f249f028a90d633b3f641f094711a5e2f2f975 Mon Sep 17 00:00:00 2001
From: Andrew David Wong <adw@qubes-os.org>
Date: Fri, 2 Sep 2016 11:28:17 -0700
Subject: [PATCH] Update System Requirements page in advance of 4.x

* Divide system requirements into 3.x and 4.x sections
* Specify new minimum and recommended requirements for 4.x
* Add informational links for CPU features
* Terminology: correct "AMD-v" to "AMD-V"
* Terminology: prefer "AMD-Vi" to "AMD IOMMU"
* Add link to Hardware Certification page
* Change heading format to support additional level
---
 hardware/system-requirements.md | 56 +++++++++++++++++++++++----------
 1 file changed, 40 insertions(+), 16 deletions(-)

diff --git a/hardware/system-requirements.md b/hardware/system-requirements.md
index 911e0014..bc03ccc3 100644
--- a/hardware/system-requirements.md
+++ b/hardware/system-requirements.md
@@ -8,45 +8,61 @@ redirect_from:
 - /wiki/SystemRequirements/
 ---
 
-System Requirements
-===================
+# System Requirements #
 
-Minimum
--------
+## Qubes Release 3.x ##
+
+### Minimum ###
 
  * 64-bit Intel or AMD processor (x86\_64 aka x64 aka AMD64)
  * 4 GB RAM
  * 32 GB disk space
  * Legacy boot mode ([UEFI is not supported yet][UEFI])
 
-
-Recommended
------------
+### Recommended ###
 
  * Fast SSD (strongly recommended)
- * Intel GPU (strongly preferred)
+ * Intel IGP (strongly preferred)
    * Nvidia GPUs may require significant [troubleshooting][nvidia].
    * ATI GPUs have not been formally tested (but see the [Hardware Compatibility
      List]).
- * Intel VT-x or AMD-v technology (required for running HVM domains, such as
+ * [Intel VT-x] or [AMD-V] (required for running HVM domains, such as
    Windows-based AppVMs)
- * Intel VT-d or AMD IOMMU technology (required for effective isolation of
+ * [Intel VT-d] or [AMD-Vi (aka AMD IOMMU)] (required for effective isolation of
    network VMs)
  * TPM with proper BIOS support (required for [Anti Evil Maid])
 
+## Qubes Release 4.x ##
 
-Choosing Hardware
------------------
+### Minimum ###
+
+ * 64-bit Intel or AMD processor (x86\_64 aka x64 aka AMD64)
+ * [Intel VT-x] with [EPT] or [AMD-V] with [RVI]
+ * [Intel VT-d] or [AMD-Vi (aka AMD IOMMU)]
+ * 4 GB RAM
+ * 32 GB disk space
+
+### Recommended ###
+
+ * Fast SSD (strongly recommended)
+ * Intel IGP (strongly preferred)
+   * Nvidia GPUs may require significant [troubleshooting][nvidia].
+   * ATI GPUs have not been formally tested (but see the [Hardware Compatibility
+     List]).
+ * TPM with proper BIOS support (required for [Anti Evil Maid])
+ * A non-USB keyboard or multiple USB controllers
+ * Also consider the [hardware certification requirements for Qubes 4.x].
+
+## Choosing Hardware ##
 
  * Please see the [Hardware Compatibility List] for a compilation of
    hardware reports generated and submitted by users across various Qubes
    versions. (For more information about the HCL itself, see [here][hcl-doc]).
  * For more certain hardware compatibility, you may wish to consider a
-   [Qubes-certified laptop].
+   [Qubes-certified laptop]. (For information about how a computer becomes
+   Qubes-certified, see [Hardware Certification].)
 
-
-Important Notes
----------------
+## Important Notes ##
 
  * Qubes **can** be installed on systems which do not meet the recommended
    requirements. Such systems will still offer significant security
@@ -77,6 +93,8 @@ Important Notes
 
 [UEFI]: https://github.com/QubesOS/qubes-issues/issues/794
 [nvidia]: /doc/install-nvidia-driver/
+[hardware certification requirements for Qubes 4.x]: /news/2016/07/21/new-hw-certification-for-q4/
+[Hardware Certification]: /hardware-certification/
 [Hardware Compatibility List]: /hcl/
 [hcl-doc]: /doc/hcl/
 [hcl-report]: /doc/HCL/#generating-and-submitting-new-reports
@@ -85,4 +103,10 @@ Important Notes
 [live USB]: /doc/live-usb/
 [#230]: https://github.com/QubesOS/qubes-issues/issues/230
 [vt-d-notebook]: https://groups.google.com/d/msg/qubes-users/Sz0Nuhi4N0o/ZtpJdoc0OY8J
+[Intel VT-x]: https://en.wikipedia.org/wiki/X86_virtualization#Intel_virtualization_.28VT-x.29
+[AMD-V]: https://en.wikipedia.org/wiki/X86_virtualization#AMD_virtualization_.28AMD-V.29
+[Intel VT-d]: https://en.wikipedia.org/wiki/X86_virtualization#Intel-VT-d
+[AMD-Vi (aka AMD IOMMU)]: https://en.wikipedia.org/wiki/X86_virtualization#I.2FO_MMU_virtualization_.28AMD-Vi_and_Intel_VT-d.29
+[EPT]: https://en.wikipedia.org/wiki/Second_Level_Address_Translation#Extended_Page_Tables
+[RVI]: https://en.wikipedia.org/wiki/Second_Level_Address_Translation#Rapid_Virtualization_Indexing