qemu: add DisableModern to SCSIController

DisableModern prevents qemu from relying on fast MMIO.

Signed-off-by: Julio Montes <julio.montes@intel.com>
This commit is contained in:
Julio Montes 2018-03-06 11:55:15 -06:00
parent d60256118f
commit 68f3071806
2 changed files with 8 additions and 1 deletions

View File

@ -838,6 +838,9 @@ type SCSIController struct {
// Addr is the PCI address offset, this is optional // Addr is the PCI address offset, this is optional
Addr string Addr string
// DisableModern prevents qemu from relying on fast MMIO.
DisableModern bool
} }
// Valid returns true if the SCSIController structure is valid and complete. // Valid returns true if the SCSIController structure is valid and complete.
@ -861,6 +864,9 @@ func (scsiCon SCSIController) QemuParams(config *Config) []string {
if scsiCon.Addr != "" { if scsiCon.Addr != "" {
devParams = append(devParams, fmt.Sprintf("addr=%s", scsiCon.Addr)) devParams = append(devParams, fmt.Sprintf("addr=%s", scsiCon.Addr))
} }
if scsiCon.DisableModern {
devParams = append(devParams, fmt.Sprintf("disable-modern=true"))
}
qemuParams = append(qemuParams, "-device") qemuParams = append(qemuParams, "-device")
qemuParams = append(qemuParams, strings.Join(devParams, ",")) qemuParams = append(qemuParams, strings.Join(devParams, ","))

View File

@ -346,7 +346,7 @@ func TestVSOCKValid(t *testing.T) {
} }
var deviceSCSIControllerStr = "-device virtio-scsi-pci,id=foo" var deviceSCSIControllerStr = "-device virtio-scsi-pci,id=foo"
var deviceSCSIControllerBusAddrStr = "-device virtio-scsi-pci,id=foo,bus=pci.0,addr=00:04.0" var deviceSCSIControllerBusAddrStr = "-device virtio-scsi-pci,id=foo,bus=pci.0,addr=00:04.0,disable-modern=true"
func TestAppendDeviceSCSIController(t *testing.T) { func TestAppendDeviceSCSIController(t *testing.T) {
scsiCon := SCSIController{ scsiCon := SCSIController{
@ -356,6 +356,7 @@ func TestAppendDeviceSCSIController(t *testing.T) {
scsiCon.Bus = "pci.0" scsiCon.Bus = "pci.0"
scsiCon.Addr = "00:04.0" scsiCon.Addr = "00:04.0"
scsiCon.DisableModern = true
testAppend(scsiCon, deviceSCSIControllerBusAddrStr, t) testAppend(scsiCon, deviceSCSIControllerBusAddrStr, t)
} }