diff mbox series

UBUNTU: kvm: [config] Enable VFIO

Message ID 20180327223647.11964-1-julio.montes@intel.com
State New
Headers show
Series UBUNTU: kvm: [config] Enable VFIO | expand

Commit Message

Montes, Julio March 27, 2018, 10:36 p.m. UTC
BugLink: https://bugs.launchpad.net/ubuntu/+source/linux-kvm/+bug/1759421

Kata containers support VFIO devices, these devices
can be hot added to running containers

Next configs are needed to support VFIO
* CONFIG_DMAR_TABLE
* CONFIG_HAVE_INTEL_TXT
* CONFIG_INTEL_IOMMU
* CONFIG_INTEL_IOMMU_DEFAULT_ON
* CONFIG_INTEL_IOMMU_FLOPPY_WA
* CONFIG_INTEL_IOMMU_SVM
* CONFIG_IOMMU_API
* CONFIG_IOMMU_IOVA
* CONFIG_IOMMU_SUPPORT
* CONFIG_IRQ_REMAP
* CONFIG_PCI_ATS
* CONFIG_PCI_PASID
* CONFIG_VFIO
* CONFIG_VFIO_IOMMU_TYPE1
* CONFIG_VFIO_PCI
* CONFIG_VFIO_PCI_INTX
* CONFIG_VFIO_PCI_MMAP
* CONFIG_VFIO_VIRQFD

Signed-off-by: Julio Montes <julio.montes@intel.com>
---
 debian.kvm/config/config.common.ubuntu | 23 +++++++++++++++++++++--
 1 file changed, 21 insertions(+), 2 deletions(-)

Comments

Kleber Sacilotto de Souza April 3, 2018, 4:28 p.m. UTC | #1
On 03/28/18 00:36, Julio Montes wrote:
> BugLink: https://bugs.launchpad.net/ubuntu/+source/linux-kvm/+bug/1759421
> 
> Kata containers support VFIO devices, these devices
> can be hot added to running containers
> 
> Next configs are needed to support VFIO
> * CONFIG_DMAR_TABLE
> * CONFIG_HAVE_INTEL_TXT
> * CONFIG_INTEL_IOMMU
> * CONFIG_INTEL_IOMMU_DEFAULT_ON
> * CONFIG_INTEL_IOMMU_FLOPPY_WA
> * CONFIG_INTEL_IOMMU_SVM
> * CONFIG_IOMMU_API
> * CONFIG_IOMMU_IOVA
> * CONFIG_IOMMU_SUPPORT
> * CONFIG_IRQ_REMAP
> * CONFIG_PCI_ATS
> * CONFIG_PCI_PASID
> * CONFIG_VFIO
> * CONFIG_VFIO_IOMMU_TYPE1
> * CONFIG_VFIO_PCI
> * CONFIG_VFIO_PCI_INTX
> * CONFIG_VFIO_PCI_MMAP
> * CONFIG_VFIO_VIRQFD
> 
> Signed-off-by: Julio Montes <julio.montes@intel.com>

These configs look reasonable to me.

Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>

> ---
>  debian.kvm/config/config.common.ubuntu | 23 +++++++++++++++++++++--
>  1 file changed, 21 insertions(+), 2 deletions(-)
> 
> diff --git a/debian.kvm/config/config.common.ubuntu b/debian.kvm/config/config.common.ubuntu
> index 41c2619..43c058e 100644
> --- a/debian.kvm/config/config.common.ubuntu
> +++ b/debian.kvm/config/config.common.ubuntu
> @@ -52,6 +52,7 @@ CONFIG_AF_RXRPC=m
>  # CONFIG_AGP is not set
>  CONFIG_AIO=y
>  CONFIG_ALLOW_DEV_COREDUMP=y
> +# CONFIG_AMD_IOMMU is not set
>  CONFIG_AMD_NB=y
>  CONFIG_AMD_NUMA=y
>  # CONFIG_ANDROID is not set
> @@ -548,6 +549,7 @@ CONFIG_DEVTMPFS=y
>  CONFIG_DEVTMPFS_MOUNT=y
>  # CONFIG_DLM is not set
>  # CONFIG_DMADEVICES is not set
> +CONFIG_DMAR_TABLE=y
>  # CONFIG_DMA_API_DEBUG is not set
>  # CONFIG_DMA_SHARED_BUFFER is not set
>  CONFIG_DMI=y
> @@ -750,6 +752,7 @@ CONFIG_HAVE_FUNCTION_TRACER=y
>  # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
>  CONFIG_HAVE_HW_BREAKPOINT=y
>  CONFIG_HAVE_IDE=y
> +CONFIG_HAVE_INTEL_TXT=y
>  CONFIG_HAVE_IOREMAP_PROT=y
>  CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
>  CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
> @@ -898,15 +901,22 @@ CONFIG_INTEGRITY=y
>  CONFIG_INTEGRITY_AUDIT=y
>  # CONFIG_INTEGRITY_SIGNATURE is not set
>  CONFIG_INTEL_IDLE=y
> +CONFIG_INTEL_IOMMU=y
> +CONFIG_INTEL_IOMMU_DEFAULT_ON=y
> +CONFIG_INTEL_IOMMU_FLOPPY_WA=y
> +CONFIG_INTEL_IOMMU_SVM=y
>  # CONFIG_INTEL_MIC_BUS is not set
>  # CONFIG_INTEL_PCH_THERMAL is not set
>  # CONFIG_INTEL_POWERCLAMP is not set
>  # CONFIG_INTEL_SOC_DTS_THERMAL is not set
>  # CONFIG_INTEL_TH is not set
> +# CONFIG_INTEL_TXT is not set
>  # CONFIG_INTERVAL_TREE_TEST is not set
> +CONFIG_IOMMU_API=y
>  CONFIG_IOMMU_HELPER=y
> +CONFIG_IOMMU_IOVA=y
>  # CONFIG_IOMMU_STRESS is not set
> -# CONFIG_IOMMU_SUPPORT is not set
> +CONFIG_IOMMU_SUPPORT=y
>  # CONFIG_IOSCHED_CFQ is not set
>  # CONFIG_IOSCHED_DEADLINE is not set
>  CONFIG_IOSCHED_NOOP=y
> @@ -1041,6 +1051,7 @@ CONFIG_IRQ_DOMAIN=y
>  CONFIG_IRQ_DOMAIN_HIERARCHY=y
>  CONFIG_IRQ_FORCED_THREADING=y
>  # CONFIG_IRQ_FORCED_THREADING_DEFAULT is not set
> +CONFIG_IRQ_REMAP=y
>  # CONFIG_IRQ_TIME_ACCOUNTING is not set
>  CONFIG_IRQ_WORK=y
>  # CONFIG_ISA_DMA_API is not set
> @@ -1091,6 +1102,7 @@ CONFIG_KVM_APIC_ARCHITECTURE=y
>  CONFIG_KVM_ASYNC_PF=y
>  CONFIG_KVM_COMPAT=y
>  CONFIG_KVM_DEBUG_FS=y
> +# CONFIG_KVM_DEVICE_ASSIGNMENT is not set
>  CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
>  CONFIG_KVM_GUEST=y
>  CONFIG_KVM_INTEL=m
> @@ -1661,6 +1673,7 @@ CONFIG_PCIEASPM_DEFAULT=y
>  # CONFIG_PCIEASPM_POWERSAVE is not set
>  CONFIG_PCIEPORTBUS=y
>  # CONFIG_PCIE_ECRC is not set
> +CONFIG_PCI_ATS=y
>  CONFIG_PCI_BUS_ADDR_T_64BIT=y
>  # CONFIG_PCI_CNB20LE_QUIRK is not set
>  # CONFIG_PCI_DEBUG is not set
> @@ -1671,7 +1684,7 @@ CONFIG_PCI_LABEL=y
>  # CONFIG_PCI_MMCONFIG is not set
>  CONFIG_PCI_MSI=y
>  CONFIG_PCI_MSI_IRQ_DOMAIN=y
> -# CONFIG_PCI_PASID is not set
> +CONFIG_PCI_PASID=y
>  # CONFIG_PCI_PRI is not set
>  # CONFIG_PCI_QUIRKS is not set
>  # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
> @@ -2139,6 +2152,12 @@ CONFIG_UTS_NS=y
>  CONFIG_VERSION_SIGNATURE="Ubuntu 4.4.0-1001.1-kvm 4.4.73"
>  CONFIG_VETH=m
>  CONFIG_VFAT_FS=m
> +CONFIG_VFIO=y
> +CONFIG_VFIO_IOMMU_TYPE1=y
> +CONFIG_VFIO_PCI=y
> +CONFIG_VFIO_PCI_INTX=y
> +CONFIG_VFIO_PCI_MMAP=y
> +CONFIG_VFIO_VIRQFD=y
>  # CONFIG_VGASTATE is not set
>  # CONFIG_VGA_ARB is not set
>  # CONFIG_VGA_SWITCHEROO is not set
>
Kamal Mostafa April 3, 2018, 4:43 p.m. UTC | #2
Applied to linux-kvm/master-next.  Thanks very much, Julio.

 -Kamal

On Tue, Mar 27, 2018 at 04:36:47PM -0600, Julio Montes wrote:
> BugLink: https://bugs.launchpad.net/ubuntu/+source/linux-kvm/+bug/1759421
> 
> Kata containers support VFIO devices, these devices
> can be hot added to running containers
> 
> Next configs are needed to support VFIO
> * CONFIG_DMAR_TABLE
> * CONFIG_HAVE_INTEL_TXT
> * CONFIG_INTEL_IOMMU
> * CONFIG_INTEL_IOMMU_DEFAULT_ON
> * CONFIG_INTEL_IOMMU_FLOPPY_WA
> * CONFIG_INTEL_IOMMU_SVM
> * CONFIG_IOMMU_API
> * CONFIG_IOMMU_IOVA
> * CONFIG_IOMMU_SUPPORT
> * CONFIG_IRQ_REMAP
> * CONFIG_PCI_ATS
> * CONFIG_PCI_PASID
> * CONFIG_VFIO
> * CONFIG_VFIO_IOMMU_TYPE1
> * CONFIG_VFIO_PCI
> * CONFIG_VFIO_PCI_INTX
> * CONFIG_VFIO_PCI_MMAP
> * CONFIG_VFIO_VIRQFD
> 
> Signed-off-by: Julio Montes <julio.montes@intel.com>
> ---
>  debian.kvm/config/config.common.ubuntu | 23 +++++++++++++++++++++--
>  1 file changed, 21 insertions(+), 2 deletions(-)
> 
> diff --git a/debian.kvm/config/config.common.ubuntu b/debian.kvm/config/config.common.ubuntu
> index 41c2619..43c058e 100644
> --- a/debian.kvm/config/config.common.ubuntu
> +++ b/debian.kvm/config/config.common.ubuntu
> @@ -52,6 +52,7 @@ CONFIG_AF_RXRPC=m
>  # CONFIG_AGP is not set
>  CONFIG_AIO=y
>  CONFIG_ALLOW_DEV_COREDUMP=y
> +# CONFIG_AMD_IOMMU is not set
>  CONFIG_AMD_NB=y
>  CONFIG_AMD_NUMA=y
>  # CONFIG_ANDROID is not set
> @@ -548,6 +549,7 @@ CONFIG_DEVTMPFS=y
>  CONFIG_DEVTMPFS_MOUNT=y
>  # CONFIG_DLM is not set
>  # CONFIG_DMADEVICES is not set
> +CONFIG_DMAR_TABLE=y
>  # CONFIG_DMA_API_DEBUG is not set
>  # CONFIG_DMA_SHARED_BUFFER is not set
>  CONFIG_DMI=y
> @@ -750,6 +752,7 @@ CONFIG_HAVE_FUNCTION_TRACER=y
>  # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
>  CONFIG_HAVE_HW_BREAKPOINT=y
>  CONFIG_HAVE_IDE=y
> +CONFIG_HAVE_INTEL_TXT=y
>  CONFIG_HAVE_IOREMAP_PROT=y
>  CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
>  CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
> @@ -898,15 +901,22 @@ CONFIG_INTEGRITY=y
>  CONFIG_INTEGRITY_AUDIT=y
>  # CONFIG_INTEGRITY_SIGNATURE is not set
>  CONFIG_INTEL_IDLE=y
> +CONFIG_INTEL_IOMMU=y
> +CONFIG_INTEL_IOMMU_DEFAULT_ON=y
> +CONFIG_INTEL_IOMMU_FLOPPY_WA=y
> +CONFIG_INTEL_IOMMU_SVM=y
>  # CONFIG_INTEL_MIC_BUS is not set
>  # CONFIG_INTEL_PCH_THERMAL is not set
>  # CONFIG_INTEL_POWERCLAMP is not set
>  # CONFIG_INTEL_SOC_DTS_THERMAL is not set
>  # CONFIG_INTEL_TH is not set
> +# CONFIG_INTEL_TXT is not set
>  # CONFIG_INTERVAL_TREE_TEST is not set
> +CONFIG_IOMMU_API=y
>  CONFIG_IOMMU_HELPER=y
> +CONFIG_IOMMU_IOVA=y
>  # CONFIG_IOMMU_STRESS is not set
> -# CONFIG_IOMMU_SUPPORT is not set
> +CONFIG_IOMMU_SUPPORT=y
>  # CONFIG_IOSCHED_CFQ is not set
>  # CONFIG_IOSCHED_DEADLINE is not set
>  CONFIG_IOSCHED_NOOP=y
> @@ -1041,6 +1051,7 @@ CONFIG_IRQ_DOMAIN=y
>  CONFIG_IRQ_DOMAIN_HIERARCHY=y
>  CONFIG_IRQ_FORCED_THREADING=y
>  # CONFIG_IRQ_FORCED_THREADING_DEFAULT is not set
> +CONFIG_IRQ_REMAP=y
>  # CONFIG_IRQ_TIME_ACCOUNTING is not set
>  CONFIG_IRQ_WORK=y
>  # CONFIG_ISA_DMA_API is not set
> @@ -1091,6 +1102,7 @@ CONFIG_KVM_APIC_ARCHITECTURE=y
>  CONFIG_KVM_ASYNC_PF=y
>  CONFIG_KVM_COMPAT=y
>  CONFIG_KVM_DEBUG_FS=y
> +# CONFIG_KVM_DEVICE_ASSIGNMENT is not set
>  CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
>  CONFIG_KVM_GUEST=y
>  CONFIG_KVM_INTEL=m
> @@ -1661,6 +1673,7 @@ CONFIG_PCIEASPM_DEFAULT=y
>  # CONFIG_PCIEASPM_POWERSAVE is not set
>  CONFIG_PCIEPORTBUS=y
>  # CONFIG_PCIE_ECRC is not set
> +CONFIG_PCI_ATS=y
>  CONFIG_PCI_BUS_ADDR_T_64BIT=y
>  # CONFIG_PCI_CNB20LE_QUIRK is not set
>  # CONFIG_PCI_DEBUG is not set
> @@ -1671,7 +1684,7 @@ CONFIG_PCI_LABEL=y
>  # CONFIG_PCI_MMCONFIG is not set
>  CONFIG_PCI_MSI=y
>  CONFIG_PCI_MSI_IRQ_DOMAIN=y
> -# CONFIG_PCI_PASID is not set
> +CONFIG_PCI_PASID=y
>  # CONFIG_PCI_PRI is not set
>  # CONFIG_PCI_QUIRKS is not set
>  # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
> @@ -2139,6 +2152,12 @@ CONFIG_UTS_NS=y
>  CONFIG_VERSION_SIGNATURE="Ubuntu 4.4.0-1001.1-kvm 4.4.73"
>  CONFIG_VETH=m
>  CONFIG_VFAT_FS=m
> +CONFIG_VFIO=y
> +CONFIG_VFIO_IOMMU_TYPE1=y
> +CONFIG_VFIO_PCI=y
> +CONFIG_VFIO_PCI_INTX=y
> +CONFIG_VFIO_PCI_MMAP=y
> +CONFIG_VFIO_VIRQFD=y
>  # CONFIG_VGASTATE is not set
>  # CONFIG_VGA_ARB is not set
>  # CONFIG_VGA_SWITCHEROO is not set
> -- 
> 2.9.5
>
diff mbox series

Patch

diff --git a/debian.kvm/config/config.common.ubuntu b/debian.kvm/config/config.common.ubuntu
index 41c2619..43c058e 100644
--- a/debian.kvm/config/config.common.ubuntu
+++ b/debian.kvm/config/config.common.ubuntu
@@ -52,6 +52,7 @@  CONFIG_AF_RXRPC=m
 # CONFIG_AGP is not set
 CONFIG_AIO=y
 CONFIG_ALLOW_DEV_COREDUMP=y
+# CONFIG_AMD_IOMMU is not set
 CONFIG_AMD_NB=y
 CONFIG_AMD_NUMA=y
 # CONFIG_ANDROID is not set
@@ -548,6 +549,7 @@  CONFIG_DEVTMPFS=y
 CONFIG_DEVTMPFS_MOUNT=y
 # CONFIG_DLM is not set
 # CONFIG_DMADEVICES is not set
+CONFIG_DMAR_TABLE=y
 # CONFIG_DMA_API_DEBUG is not set
 # CONFIG_DMA_SHARED_BUFFER is not set
 CONFIG_DMI=y
@@ -750,6 +752,7 @@  CONFIG_HAVE_FUNCTION_TRACER=y
 # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
 CONFIG_HAVE_HW_BREAKPOINT=y
 CONFIG_HAVE_IDE=y
+CONFIG_HAVE_INTEL_TXT=y
 CONFIG_HAVE_IOREMAP_PROT=y
 CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
 CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
@@ -898,15 +901,22 @@  CONFIG_INTEGRITY=y
 CONFIG_INTEGRITY_AUDIT=y
 # CONFIG_INTEGRITY_SIGNATURE is not set
 CONFIG_INTEL_IDLE=y
+CONFIG_INTEL_IOMMU=y
+CONFIG_INTEL_IOMMU_DEFAULT_ON=y
+CONFIG_INTEL_IOMMU_FLOPPY_WA=y
+CONFIG_INTEL_IOMMU_SVM=y
 # CONFIG_INTEL_MIC_BUS is not set
 # CONFIG_INTEL_PCH_THERMAL is not set
 # CONFIG_INTEL_POWERCLAMP is not set
 # CONFIG_INTEL_SOC_DTS_THERMAL is not set
 # CONFIG_INTEL_TH is not set
+# CONFIG_INTEL_TXT is not set
 # CONFIG_INTERVAL_TREE_TEST is not set
+CONFIG_IOMMU_API=y
 CONFIG_IOMMU_HELPER=y
+CONFIG_IOMMU_IOVA=y
 # CONFIG_IOMMU_STRESS is not set
-# CONFIG_IOMMU_SUPPORT is not set
+CONFIG_IOMMU_SUPPORT=y
 # CONFIG_IOSCHED_CFQ is not set
 # CONFIG_IOSCHED_DEADLINE is not set
 CONFIG_IOSCHED_NOOP=y
@@ -1041,6 +1051,7 @@  CONFIG_IRQ_DOMAIN=y
 CONFIG_IRQ_DOMAIN_HIERARCHY=y
 CONFIG_IRQ_FORCED_THREADING=y
 # CONFIG_IRQ_FORCED_THREADING_DEFAULT is not set
+CONFIG_IRQ_REMAP=y
 # CONFIG_IRQ_TIME_ACCOUNTING is not set
 CONFIG_IRQ_WORK=y
 # CONFIG_ISA_DMA_API is not set
@@ -1091,6 +1102,7 @@  CONFIG_KVM_APIC_ARCHITECTURE=y
 CONFIG_KVM_ASYNC_PF=y
 CONFIG_KVM_COMPAT=y
 CONFIG_KVM_DEBUG_FS=y
+# CONFIG_KVM_DEVICE_ASSIGNMENT is not set
 CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
 CONFIG_KVM_GUEST=y
 CONFIG_KVM_INTEL=m
@@ -1661,6 +1673,7 @@  CONFIG_PCIEASPM_DEFAULT=y
 # CONFIG_PCIEASPM_POWERSAVE is not set
 CONFIG_PCIEPORTBUS=y
 # CONFIG_PCIE_ECRC is not set
+CONFIG_PCI_ATS=y
 CONFIG_PCI_BUS_ADDR_T_64BIT=y
 # CONFIG_PCI_CNB20LE_QUIRK is not set
 # CONFIG_PCI_DEBUG is not set
@@ -1671,7 +1684,7 @@  CONFIG_PCI_LABEL=y
 # CONFIG_PCI_MMCONFIG is not set
 CONFIG_PCI_MSI=y
 CONFIG_PCI_MSI_IRQ_DOMAIN=y
-# CONFIG_PCI_PASID is not set
+CONFIG_PCI_PASID=y
 # CONFIG_PCI_PRI is not set
 # CONFIG_PCI_QUIRKS is not set
 # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
@@ -2139,6 +2152,12 @@  CONFIG_UTS_NS=y
 CONFIG_VERSION_SIGNATURE="Ubuntu 4.4.0-1001.1-kvm 4.4.73"
 CONFIG_VETH=m
 CONFIG_VFAT_FS=m
+CONFIG_VFIO=y
+CONFIG_VFIO_IOMMU_TYPE1=y
+CONFIG_VFIO_PCI=y
+CONFIG_VFIO_PCI_INTX=y
+CONFIG_VFIO_PCI_MMAP=y
+CONFIG_VFIO_VIRQFD=y
 # CONFIG_VGASTATE is not set
 # CONFIG_VGA_ARB is not set
 # CONFIG_VGA_SWITCHEROO is not set