From: Brian Cain <[email protected]> The hexagon semihosting systests will wait for output on the semihosting console.
Signed-off-by: Brian Cain <[email protected]> Reviewed-by: Pierrick Bouvier <[email protected]> Signed-off-by: Matheus Tavares Bernardino <[email protected]> --- python/qemu/machine/machine.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/python/qemu/machine/machine.py b/python/qemu/machine/machine.py index bfb59d4c0bf..39375065558 100644 --- a/python/qemu/machine/machine.py +++ b/python/qemu/machine/machine.py @@ -186,6 +186,7 @@ def __init__(self, self._console_index = 0 self._console_set = False self._console_device_type: Optional[str] = None + self._console_semihosting = False self._console_socket: Optional[socket.socket] = None self._console_file: Optional[socket.SocketIO] = None self._remove_files: List[str] = [] @@ -321,7 +322,10 @@ def _console_args(self, interactive: bool = False) -> List[str]: fd = self._cons_sock_pair[0].fileno() chardev = f"socket,id=console,fd={fd}" args.extend(['-chardev', chardev]) - if self._console_device_type is None: + if self._console_semihosting: + args.extend(['-semihosting-config', + 'enable=on,chardev=console']) + elif self._console_device_type is None: args.extend(['-serial', 'chardev:console']) else: device = '%s,chardev=console' % self._console_device_type @@ -892,7 +896,8 @@ def set_machine(self, machine_type: str) -> None: def set_console(self, device_type: Optional[str] = None, - console_index: int = 0) -> None: + console_index: int = 0, + semihosting: bool = False) -> None: """ Sets the device type for a console device @@ -921,6 +926,7 @@ def set_console(self, self._console_set = True self._console_device_type = device_type self._console_index = console_index + self._console_semihosting = semihosting @property def console_socket(self) -> socket.socket: -- 2.37.2
