From d5381fb96d4911391b9bdbe1726f6bac1ffb1a09 Mon Sep 17 00:00:00 2001 From: Oliver Schib Date: Sun, 29 Nov 2015 10:17:05 +0100 Subject: Add support for Intel IOMMU Signed-off-by: Oliver Schib Signed-off-by: Waldemar Brodkorb --- target/config/Config.in.hardware | 3 +++ target/linux/config/Config.in.bus | 3 +++ target/linux/config/Config.in.misc | 22 ++++++++++++++++++++++ target/x86/systems/generic-x86 | 1 + target/x86_64/systems/generic-x86_64 | 1 + 5 files changed, 30 insertions(+) diff --git a/target/config/Config.in.hardware b/target/config/Config.in.hardware index 8a0c1daba..977c55e1c 100644 --- a/target/config/Config.in.hardware +++ b/target/config/Config.in.hardware @@ -113,3 +113,6 @@ config ADK_TARGET_WITH_MMU config ADK_TARGET_WITHOUT_MMU bool + +config ADK_TARGET_WITH_IOMMU + bool diff --git a/target/linux/config/Config.in.bus b/target/linux/config/Config.in.bus index a8363dfe3..9921f5795 100644 --- a/target/linux/config/Config.in.bus +++ b/target/linux/config/Config.in.bus @@ -11,3 +11,6 @@ config ADK_KERNEL_PCI config ADK_KERNEL_PCI_QUIRKS bool + +config ADK_KERNEL_PCI_MSI + bool diff --git a/target/linux/config/Config.in.misc b/target/linux/config/Config.in.misc index 26c5decec..ec7b5afb4 100644 --- a/target/linux/config/Config.in.misc +++ b/target/linux/config/Config.in.misc @@ -41,6 +41,18 @@ config ADK_KERNEL_IMX_WEIM default y if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6 default n +config ADK_KERNEL_INTEL_IOMMU + bool + +config ADK_KERNEL_IOMMU_API + bool + +config ADK_KERNEL_IOMMU_IOVA + bool + +config ADK_KERNEL_DMAR_TABLE + bool + menu "Miscellaneous devices support" source "target/linux/config/Config.in.rtc" @@ -108,5 +120,15 @@ config ADK_KERNEL_EEPROM_93CX6 tristate "93cx6 eeprom support" depends on ADK_KERNEL_MAC80211 select ADK_KERNEL_MISC_DEVICES + +config ADK_KERNEL_IOMMU_SUPPORT + bool "IOMMU support for Intel" + select ADK_KERNEL_PCI_MSI + select ADK_KERNEL_INTEL_IOMMU + select ADK_KERNEL_IOMMU_API + select ADK_KERNEL_IOMMU_IOVA + select ADK_KERNEL_DMAR_TABLE + depends on ADK_TARGET_WITH_IOMMU + default y endmenu diff --git a/target/x86/systems/generic-x86 b/target/x86/systems/generic-x86 index 4358015b4..cb41ad2f4 100644 --- a/target/x86/systems/generic-x86 +++ b/target/x86/systems/generic-x86 @@ -13,6 +13,7 @@ config ADK_TARGET_SYSTEM_GENERIC_X86 select ADK_TARGET_WITH_BLOCK select ADK_TARGET_WITH_PATA select ADK_TARGET_WITH_SATA + select ADK_TARGET_WITH_IOMMU select ADK_PACKAGE_GRUB help Example config for generic i686 based PC. diff --git a/target/x86_64/systems/generic-x86_64 b/target/x86_64/systems/generic-x86_64 index 181a17dba..878bc31fb 100644 --- a/target/x86_64/systems/generic-x86_64 +++ b/target/x86_64/systems/generic-x86_64 @@ -13,6 +13,7 @@ config ADK_TARGET_SYSTEM_GENERIC_X86_64 select ADK_TARGET_WITH_BLOCK select ADK_TARGET_WITH_PATA select ADK_TARGET_WITH_SATA + select ADK_TARGET_WITH_IOMMU select ADK_PACKAGE_GRUB help Example config for generic x86_64 based PC. -- cgit v1.2.3