mirror of
https://github.com/openwrt/openwrt.git
synced 2024-11-25 02:43:46 +08:00
x86/64: enable IOMMU support
Enable IOMMU support for Intel and AMD x86 platforms. With this, when the vfio module is present, physical PCI devices can be passed to VMs, for example with `qemu-system-x86_64 -device vfio-pci,host=05:00.0 ...`. IOMMU support increases the kernel size by a small amount (~370KB, from 5239840 B to 5611200 B, a ~7% increase in size). Signed-off-by: Nicola Corna <nicola@corna.info>
This commit is contained in:
parent
100536bd37
commit
8fea4a102c
@ -38,6 +38,8 @@ CONFIG_AGP=y
|
|||||||
CONFIG_AGP_INTEL=y
|
CONFIG_AGP_INTEL=y
|
||||||
# CONFIG_AGP_SIS is not set
|
# CONFIG_AGP_SIS is not set
|
||||||
# CONFIG_AGP_VIA is not set
|
# CONFIG_AGP_VIA is not set
|
||||||
|
CONFIG_AMD_IOMMU=y
|
||||||
|
# CONFIG_AMD_IOMMU_V2 is not set
|
||||||
CONFIG_ARCH_CPUIDLE_HALTPOLL=y
|
CONFIG_ARCH_CPUIDLE_HALTPOLL=y
|
||||||
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
|
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
|
||||||
CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
|
CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
|
||||||
@ -221,6 +223,7 @@ CONFIG_HW_RANDOM_VIRTIO=y
|
|||||||
CONFIG_HYPERV=y
|
CONFIG_HYPERV=y
|
||||||
CONFIG_HYPERVISOR_GUEST=y
|
CONFIG_HYPERVISOR_GUEST=y
|
||||||
CONFIG_HYPERV_BALLOON=y
|
CONFIG_HYPERV_BALLOON=y
|
||||||
|
CONFIG_HYPERV_IOMMU=y
|
||||||
CONFIG_HYPERV_KEYBOARD=y
|
CONFIG_HYPERV_KEYBOARD=y
|
||||||
CONFIG_HYPERV_NET=y
|
CONFIG_HYPERV_NET=y
|
||||||
CONFIG_HYPERV_STORAGE=y
|
CONFIG_HYPERV_STORAGE=y
|
||||||
@ -240,6 +243,11 @@ CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
|
|||||||
CONFIG_INTEL_GTT=y
|
CONFIG_INTEL_GTT=y
|
||||||
CONFIG_INTEL_IDLE=y
|
CONFIG_INTEL_IDLE=y
|
||||||
# CONFIG_INTEL_IDXD is not set
|
# CONFIG_INTEL_IDXD is not set
|
||||||
|
CONFIG_INTEL_IOMMU=y
|
||||||
|
# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
|
||||||
|
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
|
||||||
|
# CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON is not set
|
||||||
|
# CONFIG_INTEL_IOMMU_SVM is not set
|
||||||
# CONFIG_INTEL_IPS is not set
|
# CONFIG_INTEL_IPS is not set
|
||||||
# CONFIG_INTEL_MEI_HDCP is not set
|
# CONFIG_INTEL_MEI_HDCP is not set
|
||||||
# CONFIG_INTEL_MENLOW is not set
|
# CONFIG_INTEL_MENLOW is not set
|
||||||
@ -249,12 +257,22 @@ CONFIG_INTEL_SOC_DTS_IOSF_CORE=y
|
|||||||
CONFIG_INTEL_SOC_DTS_THERMAL=y
|
CONFIG_INTEL_SOC_DTS_THERMAL=y
|
||||||
# CONFIG_INTEL_SPEED_SELECT_INTERFACE is not set
|
# CONFIG_INTEL_SPEED_SELECT_INTERFACE is not set
|
||||||
# CONFIG_INTEL_TURBO_MAX_3 is not set
|
# CONFIG_INTEL_TURBO_MAX_3 is not set
|
||||||
|
# CONFIG_INTEL_TXT is not set
|
||||||
# CONFIG_INTEL_UNCORE_FREQ_CONTROL is not set
|
# CONFIG_INTEL_UNCORE_FREQ_CONTROL is not set
|
||||||
CONFIG_INTERVAL_TREE=y
|
CONFIG_INTERVAL_TREE=y
|
||||||
|
CONFIG_IOASID=y
|
||||||
|
CONFIG_IOMMU_API=y
|
||||||
# CONFIG_IOMMU_DEBUG is not set
|
# CONFIG_IOMMU_DEBUG is not set
|
||||||
|
# CONFIG_IOMMU_DEBUGFS is not set
|
||||||
|
# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
|
||||||
|
CONFIG_IOMMU_DMA=y
|
||||||
CONFIG_IOMMU_HELPER=y
|
CONFIG_IOMMU_HELPER=y
|
||||||
|
CONFIG_IOMMU_IOVA=y
|
||||||
|
CONFIG_IOMMU_SUPPORT=y
|
||||||
CONFIG_IOSF_MBI=y
|
CONFIG_IOSF_MBI=y
|
||||||
# CONFIG_IOSF_MBI_DEBUG is not set
|
# CONFIG_IOSF_MBI_DEBUG is not set
|
||||||
|
CONFIG_IRQ_MSI_IOMMU=y
|
||||||
|
CONFIG_IRQ_REMAP=y
|
||||||
# CONFIG_ISCSI_IBFT is not set
|
# CONFIG_ISCSI_IBFT is not set
|
||||||
CONFIG_ISO9660_FS=y
|
CONFIG_ISO9660_FS=y
|
||||||
CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
|
CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
|
||||||
@ -401,6 +419,7 @@ CONFIG_THERMAL_WRITABLE_TRIPS=y
|
|||||||
# CONFIG_TOSHIBA_BT_RFKILL is not set
|
# CONFIG_TOSHIBA_BT_RFKILL is not set
|
||||||
CONFIG_TREE_RCU=y
|
CONFIG_TREE_RCU=y
|
||||||
CONFIG_TREE_SRCU=y
|
CONFIG_TREE_SRCU=y
|
||||||
|
# CONFIG_UACCE is not set
|
||||||
# CONFIG_UCLAMP_TASK is not set
|
# CONFIG_UCLAMP_TASK is not set
|
||||||
CONFIG_UCS2_STRING=y
|
CONFIG_UCS2_STRING=y
|
||||||
# CONFIG_UNWINDER_ORC is not set
|
# CONFIG_UNWINDER_ORC is not set
|
||||||
|
@ -41,6 +41,8 @@ CONFIG_AGP=y
|
|||||||
CONFIG_AGP_INTEL=y
|
CONFIG_AGP_INTEL=y
|
||||||
# CONFIG_AGP_SIS is not set
|
# CONFIG_AGP_SIS is not set
|
||||||
# CONFIG_AGP_VIA is not set
|
# CONFIG_AGP_VIA is not set
|
||||||
|
CONFIG_AMD_IOMMU=y
|
||||||
|
# CONFIG_AMD_IOMMU_V2 is not set
|
||||||
# CONFIG_AMD_PMC is not set
|
# CONFIG_AMD_PMC is not set
|
||||||
# CONFIG_AMD_PTDMA is not set
|
# CONFIG_AMD_PTDMA is not set
|
||||||
# CONFIG_AMD_SFH_HID is not set
|
# CONFIG_AMD_SFH_HID is not set
|
||||||
@ -234,6 +236,7 @@ CONFIG_HW_RANDOM_VIRTIO=y
|
|||||||
CONFIG_HYPERV=y
|
CONFIG_HYPERV=y
|
||||||
CONFIG_HYPERVISOR_GUEST=y
|
CONFIG_HYPERVISOR_GUEST=y
|
||||||
CONFIG_HYPERV_BALLOON=y
|
CONFIG_HYPERV_BALLOON=y
|
||||||
|
CONFIG_HYPERV_IOMMU=y
|
||||||
CONFIG_HYPERV_KEYBOARD=y
|
CONFIG_HYPERV_KEYBOARD=y
|
||||||
CONFIG_HYPERV_NET=y
|
CONFIG_HYPERV_NET=y
|
||||||
CONFIG_HYPERV_STORAGE=y
|
CONFIG_HYPERV_STORAGE=y
|
||||||
@ -255,6 +258,11 @@ CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
|
|||||||
CONFIG_INTEL_GTT=y
|
CONFIG_INTEL_GTT=y
|
||||||
CONFIG_INTEL_IDLE=y
|
CONFIG_INTEL_IDLE=y
|
||||||
# CONFIG_INTEL_IDXD_COMPAT is not set
|
# CONFIG_INTEL_IDXD_COMPAT is not set
|
||||||
|
CONFIG_INTEL_IOMMU=y
|
||||||
|
# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
|
||||||
|
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
|
||||||
|
# CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON is not set
|
||||||
|
# CONFIG_INTEL_IOMMU_SVM is not set
|
||||||
# CONFIG_INTEL_IPS is not set
|
# CONFIG_INTEL_IPS is not set
|
||||||
# CONFIG_INTEL_MEI_HDCP is not set
|
# CONFIG_INTEL_MEI_HDCP is not set
|
||||||
# CONFIG_INTEL_MENLOW is not set
|
# CONFIG_INTEL_MENLOW is not set
|
||||||
@ -265,12 +273,22 @@ CONFIG_INTEL_SOC_DTS_IOSF_CORE=y
|
|||||||
CONFIG_INTEL_SOC_DTS_THERMAL=y
|
CONFIG_INTEL_SOC_DTS_THERMAL=y
|
||||||
# CONFIG_INTEL_SPEED_SELECT_INTERFACE is not set
|
# CONFIG_INTEL_SPEED_SELECT_INTERFACE is not set
|
||||||
# CONFIG_INTEL_TURBO_MAX_3 is not set
|
# CONFIG_INTEL_TURBO_MAX_3 is not set
|
||||||
|
# CONFIG_INTEL_TXT is not set
|
||||||
# CONFIG_INTEL_UNCORE_FREQ_CONTROL is not set
|
# CONFIG_INTEL_UNCORE_FREQ_CONTROL is not set
|
||||||
CONFIG_INTERVAL_TREE=y
|
CONFIG_INTERVAL_TREE=y
|
||||||
|
CONFIG_IOASID=y
|
||||||
|
CONFIG_IOMMU_API=y
|
||||||
# CONFIG_IOMMU_DEBUG is not set
|
# CONFIG_IOMMU_DEBUG is not set
|
||||||
|
# CONFIG_IOMMU_DEBUGFS is not set
|
||||||
|
# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
|
||||||
|
CONFIG_IOMMU_DMA=y
|
||||||
CONFIG_IOMMU_HELPER=y
|
CONFIG_IOMMU_HELPER=y
|
||||||
|
CONFIG_IOMMU_IOVA=y
|
||||||
|
CONFIG_IOMMU_SUPPORT=y
|
||||||
CONFIG_IOSF_MBI=y
|
CONFIG_IOSF_MBI=y
|
||||||
# CONFIG_IOSF_MBI_DEBUG is not set
|
# CONFIG_IOSF_MBI_DEBUG is not set
|
||||||
|
CONFIG_IRQ_MSI_IOMMU=y
|
||||||
|
CONFIG_IRQ_REMAP=y
|
||||||
# CONFIG_ISCSI_IBFT is not set
|
# CONFIG_ISCSI_IBFT is not set
|
||||||
CONFIG_ISO9660_FS=y
|
CONFIG_ISO9660_FS=y
|
||||||
CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
|
CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
|
||||||
@ -422,6 +440,7 @@ CONFIG_THERMAL_WRITABLE_TRIPS=y
|
|||||||
# CONFIG_TOSHIBA_BT_RFKILL is not set
|
# CONFIG_TOSHIBA_BT_RFKILL is not set
|
||||||
CONFIG_TREE_RCU=y
|
CONFIG_TREE_RCU=y
|
||||||
CONFIG_TREE_SRCU=y
|
CONFIG_TREE_SRCU=y
|
||||||
|
# CONFIG_UACCE is not set
|
||||||
# CONFIG_UCLAMP_TASK is not set
|
# CONFIG_UCLAMP_TASK is not set
|
||||||
CONFIG_UCS2_STRING=y
|
CONFIG_UCS2_STRING=y
|
||||||
# CONFIG_UNWINDER_ORC is not set
|
# CONFIG_UNWINDER_ORC is not set
|
||||||
|
Loading…
Reference in New Issue
Block a user