Signed-off-by: Waldemar Kozaczuk <[email protected]>
---
scripts/run.py | 24 +++++++++++++++++++-----
1 file changed, 19 insertions(+), 5 deletions(-)
diff --git a/scripts/run.py b/scripts/run.py
index 92cd4e5f..17a21298 100755
--- a/scripts/run.py
+++ b/scripts/run.py
@@ -124,7 +124,7 @@ def start_osv_qemu(options):
"-device", "ide-hd,drive=hd0,id=idehd0,bus=ide.0"]
elif options.scsi:
args += [
- "-device", "virtio-scsi-pci,id=scsi0",
+ "-device", "virtio-scsi-pci,id=scsi0%s" % options.virtio_device_suffix,
"-drive", "file=%s,if=none,id=hd0,media=disk,%s" %
(options.image_file, aio),
"-device", "scsi-hd,bus=scsi0.0,drive=hd0,scsi-id=1,lun=0%s" %
boot_index]
elif options.ide:
@@ -132,12 +132,12 @@ def start_osv_qemu(options):
"-hda", options.image_file]
else:
args += [
- "-device", "virtio-blk-pci,id=blk0,drive=hd0,scsi=off%s" % boot_index,
+ "-device", "virtio-blk-pci,id=blk0,drive=hd0,scsi=off%s%s" %
(boot_index, options.virtio_device_suffix),
"-drive", "file=%s,if=none,id=hd0,%s" % (options.image_file, aio)]
if options.cloud_init_image:
args += [
- "-device", "virtio-blk-pci,id=blk1,bootindex=1,drive=hd1,scsi=off",
+ "-device", "virtio-blk-pci,id=blk1,bootindex=1,drive=hd1,scsi=off%s" %
options.virtio_device_suffix,
"-drive", "file=%s,if=none,id=hd1" % (options.cloud_init_image)]
if options.no_shutdown:
@@ -180,9 +180,13 @@ def start_osv_qemu(options):
args += ["-netdev",
"user,id=un%d,net=192.168.122.0/24,host=192.168.122.1%s" % (idx,
forward_options)]
net_device_options.append("netdev=un%d" % idx)
- args += ["-device", ','.join(net_device_options)]
+ net_device_options_str = ','.join(net_device_options)
+ if not options.vmxnet3:
+ net_device_options_str = net_device_options_str +
options.virtio_device_suffix
- args += ["-device", "virtio-rng-pci"]
+ args += ["-device", net_device_options_str]
+
+ args += ["-device", "virtio-rng-pci%s" % options.virtio_device_suffix]
if options.hypervisor == "kvm":
args += ["-enable-kvm", "-cpu", "host,+x2apic"]
@@ -500,6 +504,8 @@ if __name__ == "__main__":
help="Path to the optional cloud-init image that
should be attached to the instance")
parser.add_argument("-k", "--kernel", action="store_true",
help="Run OSv in QEMU kernel mode as multiboot.")
+ parser.add_argument("--virtio", action="store",
choices=["legacy","transitional","modern"], default="transitional",
+ help="specify virtio version: legacy, transitional or
modern")
cmdargs = parser.parse_args()
cmdargs.opt_path = "debug" if cmdargs.debug else "release" if
cmdargs.release else "last"
cmdargs.image_file = os.path.abspath(cmdargs.image or "build/%s/usr.img" %
cmdargs.opt_path)
@@ -513,5 +519,13 @@ if __name__ == "__main__":
if cmdargs.hypervisor == "auto":
cmdargs.hypervisor = choose_hypervisor(cmdargs.networking)
+
+ if cmdargs.virtio == "legacy":
+ cmdargs.virtio_device_suffix = ",disable-legacy=off,disable-modern=on"
+ elif cmdargs.virtio == "modern":
+ cmdargs.virtio_device_suffix = ",disable-legacy=on,disable-modern=off"
+ else:
+ cmdargs.virtio_device_suffix = ""
+
# Call main
main(cmdargs)
--
2.19.1
--
You received this message because you are subscribed to the Google Groups "OSv
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.