[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 26/30] python/qemu/machine: Allow to use other serial consoles
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH v2 26/30] python/qemu/machine: Allow to use other serial consoles than default |
Date: |
Thu, 6 Feb 2020 02:17:52 +0100 |
Currently the QEMU Python module limits the QEMUMachine class to
use the first serial console.
Some machines/guest might use another console than the first one as
the 'boot console'. For example the Raspberry Pi uses the second
(AUX) console.
To be able to use the Nth console as default, we simply need to
connect all the N - 1 consoles to the null chardev.
Add an index argument, so we can use a specific serial console as
default.
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Liam Merwick <address@hidden>
Tested-by: Liam Merwick <address@hidden>
Reviewed-by: Wainer dos Santos Moschetta <address@hidden>
Message-Id: <address@hidden>
[PMD: zero-initialize _console_index in __init__()]
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
python/qemu/machine.py | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/python/qemu/machine.py b/python/qemu/machine.py
index 734efd8536..183d8f3d38 100644
--- a/python/qemu/machine.py
+++ b/python/qemu/machine.py
@@ -112,6 +112,7 @@ class QEMUMachine(object):
self._sock_dir = sock_dir
self._launched = False
self._machine = None
+ self._console_index = 0
self._console_set = False
self._console_device_type = None
self._console_address = None
@@ -241,6 +242,8 @@ class QEMUMachine(object):
'chardev=mon,mode=control'])
if self._machine is not None:
args.extend(['-machine', self._machine])
+ for i in range(self._console_index):
+ args.extend(['-serial', 'null'])
if self._console_set:
self._console_address = os.path.join(self._sock_dir,
self._name + "-console.sock")
@@ -527,7 +530,7 @@ class QEMUMachine(object):
"""
self._machine = machine_type
- def set_console(self, device_type=None):
+ def set_console(self, device_type=None, console_index=0):
"""
Sets the device type for a console device
@@ -548,9 +551,14 @@ class QEMUMachine(object):
chardev:console" command line argument will
be used instead, resorting to the machine's
default device type.
+ @param console_index: the index of the console device to use.
+ If not zero, the command line will create
+ 'index - 1' consoles and connect them to
+ the 'null' backing character device.
"""
self._console_set = True
self._console_device_type = device_type
+ self._console_index = console_index
@property
def console_socket(self):
--
2.21.1
- [PATCH v2 16/30] hw/arm/bcm2836: Introduce BCM283XClass::core_count, (continued)
- [PATCH v2 16/30] hw/arm/bcm2836: Introduce BCM283XClass::core_count, Philippe Mathieu-Daudé, 2020/02/05
- [PATCH v2 17/30] hw/arm/bcm2836: Only provide "enabled-cpus" property to multicore SoCs, Philippe Mathieu-Daudé, 2020/02/05
- [PATCH v2 18/30] hw/arm/bcm2836: Split out common realize() code, Philippe Mathieu-Daudé, 2020/02/05
- [PATCH v2 19/30] hw/arm/bcm2836: Introduce the BCM2835 SoC, Philippe Mathieu-Daudé, 2020/02/05
- [PATCH v2 20/30] hw/arm/raspi: Add the Raspberry Pi Zero machine, Philippe Mathieu-Daudé, 2020/02/05
- [PATCH v2 21/30] hw/arm/raspi: Add the Raspberry Pi B+ machine, Philippe Mathieu-Daudé, 2020/02/05
- [PATCH v2 23/30] tests/acceptance/boot_linux_console: Add raspi version=2 parameter, Philippe Mathieu-Daudé, 2020/02/05
- [PATCH v2 24/30] tests/acceptance/boot_linux_console: Test the raspi1 console, Philippe Mathieu-Daudé, 2020/02/05
- [PATCH v2 22/30] tests/acceptance/boot_linux_console: Use raspi console model as key, Philippe Mathieu-Daudé, 2020/02/05
- [PATCH v2 25/30] tests/acceptance/boot_linux_console: Test the raspi0 console, Philippe Mathieu-Daudé, 2020/02/05
- [PATCH v2 26/30] python/qemu/machine: Allow to use other serial consoles than default,
Philippe Mathieu-Daudé <=
- [PATCH v2 27/30] tests/acceptance/boot_linux_console: Test the raspi1 AUX console, Philippe Mathieu-Daudé, 2020/02/05
- [NOTFORMERGE PATCH v2 30/30] hw/arm/raspi: Add the Raspberry Pi 4, Philippe Mathieu-Daudé, 2020/02/05
- [PATCH v2 28/30] tests/acceptance: Count Raspberry Pi logos displayed on framebuffer, Philippe Mathieu-Daudé, 2020/02/05
- [NOTFORMERGE PATCH v2 29/30] hw/arm/bcm2836: Add the BCM2838 (ARMv8), Philippe Mathieu-Daudé, 2020/02/05