aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorDavid Woodhouse <David.Woodhouse@intel.com>2015-06-12 05:15:49 -0400
committerDavid Woodhouse <David.Woodhouse@intel.com>2015-06-12 06:31:25 -0400
commitc83b2f20fdde578bded3dfc4405c5db7a039c694 (patch)
tree1404bcf4db4542ee2a9d1b11e75c678557000176 /Documentation
parentbd00c606a6f60ca015a62bdbf671eadd48a4ca82 (diff)
iommu/vt-d: Only enable extended context tables if PASID is supported
Although the extended tables are theoretically a completely orthogonal feature to PASID and anything else that *uses* the newly-available bits, some of the early hardware has problems even when all we do is enable them and use only the same bits that were in the old context tables. For now, there's no motivation to support extended tables unless we're going to use PASID support to do SVM. So just don't use them unless PASID support is advertised too. Also add a command-line bailout just in case later chips also have issues. The equivalent problem for PASID support has already been fixed with the upcoming VT-d spec update and commit bd00c606a ("iommu/vt-d: Change PASID support to bit 40 of Extended Capability Register"), because the problematic platforms use the old definition of the PASID-capable bit, which is now marked as reserved and meaningless. So with this change, we'll magically start using ECS again only when we see the new hardware advertising "hey, we have PASID support and we actually tested it this time" on bit 40. The VT-d hardware architect has promised that we are not going to have any reason to support ECS *without* PASID any time soon, and he'll make sure he checks with us before changing that. In the future, if hypothetical new features also use new bits in the context tables and can be seen on implementations *without* PASID support, we might need to add their feature bits to the ecs_enabled() macro. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/kernel-parameters.txt6
1 files changed, 6 insertions, 0 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index f6befa9855c1..491bb15620fc 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -1481,6 +1481,12 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
1481 By default, super page will be supported if Intel IOMMU 1481 By default, super page will be supported if Intel IOMMU
1482 has the capability. With this option, super page will 1482 has the capability. With this option, super page will
1483 not be supported. 1483 not be supported.
1484 ecs_off [Default Off]
1485 By default, extended context tables will be supported if
1486 the hardware advertises that it has support both for the
1487 extended tables themselves, and also PASID support. With
1488 this option set, extended tables will not be used even
1489 on hardware which claims to support them.
1484 1490
1485 intel_idle.max_cstate= [KNL,HW,ACPI,X86] 1491 intel_idle.max_cstate= [KNL,HW,ACPI,X86]
1486 0 disables intel_idle and fall back on acpi_idle. 1492 0 disables intel_idle and fall back on acpi_idle.