diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2009-09-01 15:53:54 +0200 |
---|---|---|
committer | Joerg Roedel <joerg.roedel@amd.com> | 2009-09-03 16:15:46 +0200 |
commit | 4751a95134e05f1172131d2001c6991d671fa58c (patch) | |
tree | f5d00703c633c39b60cfc0be568f1fdbbe3b4656 /arch/x86/kernel/amd_iommu_init.c | |
parent | a1ca331c8aa75cd58fdf685e2e8745e1d3ec5c8f (diff) | |
download | blackbird-op-linux-4751a95134e05f1172131d2001c6991d671fa58c.tar.gz blackbird-op-linux-4751a95134e05f1172131d2001c6991d671fa58c.zip |
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) if (ret) goto free; - ret = amd_iommu_init_dma_ops(); + if (iommu_pass_through) + ret = amd_iommu_init_passthrough(); + else + ret = amd_iommu_init_dma_ops(); if (ret) goto free; enable_iommus(); + if (iommu_pass_through) + goto out; + printk(KERN_INFO "AMD IOMMU: device isolation "); if (amd_iommu_isolate) printk("enabled\n"); |