diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2008-06-26 15:27:52 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-06-27 04:12:14 -0400 |
commit | 918ad6c54d107ccfc4ccaa3a54b97437467fb58a (patch) | |
tree | 33b040a00354063f8d65634d094c5ec72cf5430a /arch/x86/kernel/amd_iommu_init.c | |
parent | ae7877de9cd8da075a46d5f615cb9fc9858e4b2f (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.c | 34 |
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 | ||
792 | static 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 | |||
804 | static 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); | ||