diff --git a/src/runtime/virtcontainers/qemu_amd64.go b/src/runtime/virtcontainers/qemu_amd64.go index 61c18c68e4..9e9960046a 100644 --- a/src/runtime/virtcontainers/qemu_amd64.go +++ b/src/runtime/virtcontainers/qemu_amd64.go @@ -38,14 +38,11 @@ const ( defaultQemuMachineOptions = "accel=kvm,kernel_irqchip=on" + splitIrqChipMachineOptions = "accel=kvm,kernel_irqchip=split" + qmpMigrationWaitTimeout = 5 * time.Second ) -var qemuPaths = map[string]string{ - QemuQ35: defaultQemuPath, - QemuMicrovm: defaultQemuPath, -} - var kernelParams = []Param{ {"tsc", "reliable"}, {"no_timer_check", ""}, @@ -101,7 +98,7 @@ func newQemuArch(config HypervisorConfig) (qemuArch, error) { // IOMMU and Guest Protection require a split IRQ controller for handling interrupts // otherwise QEMU won't be able to create the kernel irqchip if config.IOMMU || config.ConfidentialGuest { - mp.Options = "accel=kvm,kernel_irqchip=split" + mp.Options = splitIrqChipMachineOptions } if config.IOMMU { @@ -114,7 +111,7 @@ func newQemuArch(config HypervisorConfig) (qemuArch, error) { q := &qemuAmd64{ qemuArchBase: qemuArchBase{ qemuMachine: *mp, - qemuExePath: qemuPaths[machineType], + qemuExePath: defaultQemuPath, memoryOffset: config.MemOffset, kernelParamsNonDebug: kernelParamsNonDebug, kernelParamsDebug: kernelParamsDebug, @@ -172,19 +169,6 @@ func (q *qemuAmd64) bridges(number uint32) { q.Bridges = genericBridges(number, q.qemuMachine.Type) } -func (q *qemuAmd64) cpuModel() string { - cpuModel := defaultCPUModel - - // VMX is not migratable yet. - // issue: https://github.com/kata-containers/runtime/issues/1750 - if q.vmFactory { - hvLogger.WithField("subsystem", "qemuAmd64").Warn("VMX is not migratable yet: turning it off") - cpuModel += ",vmx=off" - } - - return cpuModel -} - func (q *qemuAmd64) memoryTopology(memoryMb, hostMemoryMb uint64, slots uint8) govmmQemu.Memory { return genericMemoryTopology(memoryMb, hostMemoryMb, slots, q.memoryOffset) } diff --git a/src/runtime/virtcontainers/qemu_amd64_test.go b/src/runtime/virtcontainers/qemu_amd64_test.go index e8cf9fcd54..740cb6460b 100644 --- a/src/runtime/virtcontainers/qemu_amd64_test.go +++ b/src/runtime/virtcontainers/qemu_amd64_test.go @@ -87,7 +87,7 @@ func TestQemuAmd64CPUModel(t *testing.T) { base, ok := amd64.(*qemuAmd64) assert.True(ok) base.vmFactory = true - expectedOut = defaultCPUModel + ",vmx=off" + expectedOut = defaultCPUModel model = amd64.cpuModel() assert.Equal(expectedOut, model) } diff --git a/src/runtime/virtcontainers/qemu_ppc64le.go b/src/runtime/virtcontainers/qemu_ppc64le.go index 27bac35818..6e62551b62 100644 --- a/src/runtime/virtcontainers/qemu_ppc64le.go +++ b/src/runtime/virtcontainers/qemu_ppc64le.go @@ -114,10 +114,6 @@ func (q *qemuPPC64le) bridges(number uint32) { q.Bridges = genericBridges(number, q.qemuMachine.Type) } -func (q *qemuPPC64le) cpuModel() string { - return defaultCPUModel -} - func (q *qemuPPC64le) memoryTopology(memoryMb, hostMemoryMb uint64, slots uint8) govmmQemu.Memory { q.Logger().Debug("Aligning maxmem to multiples of 256MB. Assumption: Kernel Version >= 4.11")