aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Lutomirski <luto@kernel.org>2020-06-25 15:44:41 -0700
committerAndy Lutomirski <luto@kernel.org>2020-06-25 15:44:41 -0700
commit23ca7b2c27185d1a8640583a3b45d98db46db6cd (patch)
tree9c71ba8a89878922d99c3a5b9b23a9d33c0c0f76
parent7a5257bc978bc26637c7d6a8fa75851beba0bd80 (diff)
downloadvirtme-23ca7b2c27185d1a8640583a3b45d98db46db6cd.tar.gz
Enable the Xen console when using --xen
This causes Xen's console output to be visible. It's a horrible layering violation. Signed-off-by: Andy Lutomirski <luto@kernel.org>
-rw-r--r--virtme/commands/run.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/virtme/commands/run.py b/virtme/commands/run.py
index 722d18a..5d9b96b 100644
--- a/virtme/commands/run.py
+++ b/virtme/commands/run.py
@@ -279,6 +279,7 @@ def do_it() -> int:
qemuargs: List[str] = [qemu.qemubin]
kernelargs = []
+ xenargs = []
# Put the '-name' flag first so it's easily visible in ps, top, etc.
if args.name:
@@ -362,9 +363,15 @@ def do_it() -> int:
qemuargs.extend(['-mon', 'chardev=console'])
kernelargs.extend(arch.earlyconsole_args())
- kernelargs.extend(arch.serial_console_args())
qemuargs.extend(arch.qemu_nodisplay_args())
+ if not args.xen:
+ kernelargs.extend(arch.serial_console_args())
+ else:
+ # Horrible special case
+ xenargs.extend(['console=com1'])
+ kernelargs.extend(['xencons=hvc', 'console=hvc0'])
+
# PS/2 probing is slow; give the kernel a hint to speed it up.
kernelargs.extend(['psmouse.proto=exps'])
@@ -574,9 +581,15 @@ def do_it() -> int:
qemuargs.extend(['-initrd', initrdpath])
if kernel.dtb is not None:
qemuargs.extend(['-dtb', kernel.dtb])
+
+ if xenargs:
+ raise ValueError("Can't pass Xen any arguments if we're not using Xen")
else:
# Use multiboot syntax to load Xen
qemuargs.extend(['-kernel', args.xen])
+ if xenargs:
+ qemuargs.extend(['-append',
+ ' '.join(quote_karg(a) for a in xenargs)])
qemuargs.extend(['-initrd', '%s %s%s' % (
kernel.kimg,
' '.join(quote_karg(a).replace(',', ',,') for a in kernelargs),