diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2009-09-01 09:53:54 -0400 |
---|---|---|
committer | Joerg Roedel <joerg.roedel@amd.com> | 2009-09-03 10:15:46 -0400 |
commit | 4751a95134e05f1172131d2001c6991d671fa58c (patch) | |
tree | f5d00703c633c39b60cfc0be568f1fdbbe3b4656 /arch/x86/kernel/amd_iommu_init.c | |
parent | a1ca331c8aa75cd58fdf685e2e8745e1d3ec5c8f (diff) |
x86/amd-iommu: Initialize passthrough mode when requested
This patch enables the passthrough mode for AMD IOMMU by
running the initialization function when iommu=pt is passed
on the kernel command line.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'arch/x86/kernel/amd_iommu_init.c')
-rw-r--r-- | arch/x86/kernel/amd_iommu_init.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/x86/kernel/amd_iommu_init.c b/arch/x86/kernel/amd_iommu_init.c index c1b17e97252e..f00f489ab150 100644 --- a/arch/x86/kernel/amd_iommu_init.c +++ b/arch/x86/kernel/amd_iommu_init.c | |||
@@ -1242,12 +1242,18 @@ int __init amd_iommu_init(void) | |||
1242 | if (ret) | 1242 | if (ret) |
1243 | goto free; | 1243 | goto free; |
1244 | 1244 | ||
1245 | ret = amd_iommu_init_dma_ops(); | 1245 | if (iommu_pass_through) |
1246 | ret = amd_iommu_init_passthrough(); | ||
1247 | else | ||
1248 | ret = amd_iommu_init_dma_ops(); | ||
1246 | if (ret) | 1249 | if (ret) |
1247 | goto free; | 1250 | goto free; |
1248 | 1251 | ||
1249 | enable_iommus(); | 1252 | enable_iommus(); |
1250 | 1253 | ||
1254 | if (iommu_pass_through) | ||
1255 | goto out; | ||
1256 | |||
1251 | printk(KERN_INFO "AMD IOMMU: device isolation "); | 1257 | printk(KERN_INFO "AMD IOMMU: device isolation "); |
1252 | if (amd_iommu_isolate) | 1258 | if (amd_iommu_isolate) |
1253 | printk("enabled\n"); | 1259 | printk("enabled\n"); |