From 9305ef722b1ad2192654655ee26e4a246a987d59 Mon Sep 17 00:00:00 2001 From: Qi Feng Huo Date: Wed, 22 Jul 2020 10:33:54 +0800 Subject: [PATCH] vendor: Update govmm for s390x iommu_platform annoations Updated govmm to support iommu_platform annotations. govmm changes: cf0f05d qemu: add iommu_platform knob for qemuParams Signed-off-by: Qi Feng Huo --- Gopkg.lock | 4 ++-- Gopkg.toml | 2 +- vendor/github.com/intel/govmm/qemu/qemu.go | 24 ++++++++++++++++++++++ 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/Gopkg.lock b/Gopkg.lock index 62a3f626e4..f9a510f9ff 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -420,11 +420,11 @@ revision = "2f1d1f20f75d5404f53b9edf6b53ed5505508675" [[projects]] - digest = "1:e800a48df8e5709baa6b78062d47d43829cddbc54871e049e8bbeb1aaf50fe40" + digest = "1:e4b04b215d8cb0310c06f4a5af631f7df6648ffebf1911d3f4de7f3ea605db87" name = "github.com/intel/govmm" packages = ["qemu"] pruneopts = "NUT" - revision = "6c3315ba8a4262df4300b735b2c53ce3b15d21dd" + revision = "547a8518098aaa71c5d5d7a370f211e00161016b" [[projects]] digest = "1:f03425555be45830e86903bba35dd82a1b76e322beff9873e6b888d2b054c217" diff --git a/Gopkg.toml b/Gopkg.toml index f1058f6bc0..383c2d92bd 100644 --- a/Gopkg.toml +++ b/Gopkg.toml @@ -48,7 +48,7 @@ [[constraint]] name = "github.com/intel/govmm" - revision = "6c3315ba8a4262df4300b735b2c53ce3b15d21dd" + revision = "547a8518098aaa71c5d5d7a370f211e00161016b" [[constraint]] name = "github.com/kata-containers/agent" diff --git a/vendor/github.com/intel/govmm/qemu/qemu.go b/vendor/github.com/intel/govmm/qemu/qemu.go index d5a01c87a8..e326713e1e 100644 --- a/vendor/github.com/intel/govmm/qemu/qemu.go +++ b/vendor/github.com/intel/govmm/qemu/qemu.go @@ -406,6 +406,9 @@ func (fsdev FSDevice) QemuParams(config *Config) []string { deviceParams = append(deviceParams, fmt.Sprintf(",romfile=%s", fsdev.ROMFile)) } if fsdev.Transport.isVirtioCCW(config) { + if config.Knobs.IOMMUPlatform { + deviceParams = append(deviceParams, ",iommu_platform=on") + } deviceParams = append(deviceParams, fmt.Sprintf(",devno=%s", fsdev.DevNo)) } @@ -537,6 +540,9 @@ func (cdev CharDevice) QemuParams(config *Config) []string { } if cdev.Driver == VirtioSerial && cdev.Transport.isVirtioCCW(config) { + if config.Knobs.IOMMUPlatform { + deviceParams = append(deviceParams, ",iommu_platform=on") + } deviceParams = append(deviceParams, fmt.Sprintf(",devno=%s", cdev.DevNo)) } @@ -804,6 +810,9 @@ func (netdev NetDevice) QemuDeviceParams(config *Config) []string { } if netdev.Transport.isVirtioCCW(config) { + if config.Knobs.IOMMUPlatform { + deviceParams = append(deviceParams, ",iommu_platform=on") + } deviceParams = append(deviceParams, fmt.Sprintf(",devno=%s", netdev.DevNo)) } @@ -937,6 +946,9 @@ func (dev SerialDevice) QemuParams(config *Config) []string { } if dev.Transport.isVirtioCCW(config) { + if config.Knobs.IOMMUPlatform { + deviceParams = append(deviceParams, ",iommu_platform=on") + } deviceParams = append(deviceParams, fmt.Sprintf(",devno=%s", dev.DevNo)) } @@ -1528,6 +1540,9 @@ func (scsiCon SCSIController) QemuParams(config *Config) []string { } if scsiCon.Transport.isVirtioCCW(config) { + if config.Knobs.IOMMUPlatform { + devParams = append(devParams, ",iommu_platform=on") + } devParams = append(devParams, fmt.Sprintf("devno=%s", scsiCon.DevNo)) } @@ -1710,6 +1725,9 @@ func (vsock VSOCKDevice) QemuParams(config *Config) []string { } if vsock.Transport.isVirtioCCW(config) { + if config.Knobs.IOMMUPlatform { + deviceParams = append(deviceParams, ",iommu_platform=on") + } deviceParams = append(deviceParams, fmt.Sprintf(",devno=%s", vsock.DevNo)) } @@ -1780,6 +1798,9 @@ func (v RngDevice) QemuParams(config *Config) []string { } if v.Transport.isVirtioCCW(config) { + if config.Knobs.IOMMUPlatform { + deviceParams = append(deviceParams, ",iommu_platform=on") + } deviceParams = append(deviceParams, fmt.Sprintf("devno=%s", v.DevNo)) } @@ -2125,6 +2146,9 @@ type Knobs struct { // Exit instead of rebooting NoReboot bool + + // IOMMUPlatform will enable IOMMU for supported devices + IOMMUPlatform bool } // IOThread allows IO to be performed on a separate thread.