iommu: Add config option to set passthrough as default
This allows the default behavior to be controlled by a kernel config option instead of changing the commandline for the kernel to include "iommu.passthrough=on" or "iommu=pt" on machines where this is desired. Likewise, for machines where this config option is enabled, it can be disabled at boot time with "iommu.passthrough=off" or "iommu=nopt". Also corrected iommu=pt documentation for IA-64, since it has no code that parses iommu= at all. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:

committed by
Joerg Roedel

parent
c52c72d3de
commit
58d1131777
@@ -40,8 +40,14 @@ int iommu_detected __read_mostly = 0;
|
||||
* devices and allow every device to access to whole physical memory. This is
|
||||
* useful if a user wants to use an IOMMU only for KVM device assignment to
|
||||
* guests and not for driver dma translation.
|
||||
* It is also possible to disable by default in kernel config, and enable with
|
||||
* iommu=nopt at boot time.
|
||||
*/
|
||||
#ifdef CONFIG_IOMMU_DEFAULT_PASSTHROUGH
|
||||
int iommu_pass_through __read_mostly = 1;
|
||||
#else
|
||||
int iommu_pass_through __read_mostly;
|
||||
#endif
|
||||
|
||||
extern struct iommu_table_entry __iommu_table[], __iommu_table_end[];
|
||||
|
||||
@@ -135,6 +141,8 @@ static __init int iommu_setup(char *p)
|
||||
#endif
|
||||
if (!strncmp(p, "pt", 2))
|
||||
iommu_pass_through = 1;
|
||||
if (!strncmp(p, "nopt", 4))
|
||||
iommu_pass_through = 0;
|
||||
|
||||
gart_parse_options(p);
|
||||
|
||||
|
Reference in New Issue
Block a user