aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/amd_iommu_init.c
diff options
context:
space:
mode:
authorJoerg Roedel <joerg.roedel@amd.com>2008-06-26 15:27:52 -0400
committerIngo Molnar <mingo@elte.hu>2008-06-27 04:12:14 -0400
commit918ad6c54d107ccfc4ccaa3a54b97437467fb58a (patch)
tree33b040a00354063f8d65634d094c5ec72cf5430a /arch/x86/kernel/amd_iommu_init.c
parentae7877de9cd8da075a46d5f615cb9fc9858e4b2f (diff)
x86, AMD IOMMU: add kernel command line parameters for AMD IOMMU
This patch adds two parameters to the kernel command line to control behavior of the AMD IOMMU. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Cc: iommu@lists.linux-foundation.org Cc: bhavna.sarathy@amd.com Cc: Sebastian.Biemueller@amd.com Cc: robert.richter@amd.com Cc: joro@8bytes.org Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/amd_iommu_init.c')
-rw-r--r--arch/x86/kernel/amd_iommu_init.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/arch/x86/kernel/amd_iommu_init.c b/arch/x86/kernel/amd_iommu_init.c
index d7a75bf0f7e6..ec6f13b69d53 100644
--- a/arch/x86/kernel/amd_iommu_init.c
+++ b/arch/x86/kernel/amd_iommu_init.c
@@ -789,3 +789,37 @@ void __init amd_iommu_detect(void)
789 } 789 }
790} 790}
791 791
792static int __init parse_amd_iommu_options(char *str)
793{
794 for (; *str; ++str) {
795 if (strcmp(str, "off") == 0)
796 amd_iommu_disable = 1;
797 if (strcmp(str, "isolate") == 0)
798 amd_iommu_isolate = 1;
799 }
800
801 return 1;
802}
803
804static int __init parse_amd_iommu_size_options(char *str)
805{
806 for (; *str; ++str) {
807 if (strcmp(str, "32M") == 0)
808 amd_iommu_aperture_order = 25;
809 if (strcmp(str, "64M") == 0)
810 amd_iommu_aperture_order = 26;
811 if (strcmp(str, "128M") == 0)
812 amd_iommu_aperture_order = 27;
813 if (strcmp(str, "256M") == 0)
814 amd_iommu_aperture_order = 28;
815 if (strcmp(str, "512M") == 0)
816 amd_iommu_aperture_order = 29;
817 if (strcmp(str, "1G") == 0)
818 amd_iommu_aperture_order = 30;
819 }
820
821 return 1;
822}
823
824__setup("amd_iommu=", parse_amd_iommu_options);
825__setup("amd_iommu_size=", parse_amd_iommu_size_options);