qemu/stubs
Keith Packard 8de702cb67 semihosting: add qemu_semihosting_console_inc for SYS_READC
Provides a blocking call to read a character from the console using
semihosting.chardev, if specified. This takes some careful command
line options to use stdio successfully as the serial ports, monitor
and semihost all want to use stdio. Here's a sample set of command
line options which share stdio between semihost, monitor and serial
ports:

	qemu \
	-chardev stdio,mux=on,id=stdio0 \
	-serial chardev:stdio0 \
	-semihosting-config enable=on,chardev=stdio0 \
	-mon chardev=stdio0,mode=readline

This creates a chardev hooked to stdio and then connects all of the
subsystems to it. A shorter mechanism would be good to hear about.

Signed-off-by: Keith Packard <keithp@keithp.com>
Message-Id: <20191104204230.12249-1-keithp@keithp.com>
[AJB: fixed up deadlock, minor commit title reword]
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Tested-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
2020-01-09 11:41:29 +00:00
..
bdrv-next-monitor-owned.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
blk-commit-all.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
blockdev-close-all-bdrv-states.c all: Clean up includes 2016-02-16 14:29:28 +00:00
change-state-handler.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
clock-warp.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
cpu-get-clock.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
cpu-get-icount.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
dump.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
error-printf.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
fd-register.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
fdset.c monitor: Fix return type of monitor_fdset_dup_fd_find 2019-06-17 20:36:56 +02:00
fw_cfg.c hw/nvram/fw_cfg: Add fw_cfg_arch_key_name() 2019-05-23 14:10:31 +02:00
gdbstub.c Clean up includes some more 2016-03-22 22:20:16 +01:00
get-vm-name.c stubs: Clean up includes 2016-02-04 17:01:04 +00:00
iothread-lock.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
iothread.c aio: introduce qemu_get_current_aio_context 2016-10-28 21:50:18 +08:00
is-daemonized.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
linux-aio.c linux-aio: properly bubble up errors from initialization 2018-06-27 13:06:34 +01:00
machine-init-done.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
Makefile.objs acpi: move PC stubs out of stubs/ 2019-12-17 19:33:50 +01:00
migr-blocker.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
monitor.c monitor: Replace monitor_init() with monitor_init_{hmp, qmp}() 2019-06-18 08:14:17 +02:00
notify-event.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
pci-host-piix.c hw/pci-host/piix: Move i440FX declarations to hw/pci-host/i440fx.h 2019-11-05 23:33:12 +01:00
qmp_memory_device.c pc-dimm: factor out MemoryDevice interface 2018-05-07 10:00:02 -03:00
qtest.c stubs: Clean up includes 2016-02-04 17:01:04 +00:00
ram-block.c exec: Change RAMBlockIterFunc definition 2019-03-06 10:49:17 +00:00
ramfb.c hw/display/ramfb: initialize fw-config space with xres/ yres 2019-05-24 09:10:29 +02:00
replay-user.c replay: add BH oneshot event for block layer 2019-10-14 17:12:48 +02:00
replay.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
runstate-check.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
semihost.c semihosting: add qemu_semihosting_console_inc for SYS_READC 2020-01-09 11:41:29 +00:00
set-fd-handler.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
sysbus.c stubs: Clean up includes 2016-02-04 17:01:04 +00:00
target-get-monitor-def.c Clean up includes some more 2016-03-22 22:20:16 +01:00
target-monitor-defs.c Clean up includes some more 2016-03-22 22:20:16 +01:00
tpm.c acpi: build TPM Physical Presence interface 2019-01-17 21:10:57 -05:00
trace-control.c trace: remove global 'uint16 dstate[]' array 2016-10-12 09:35:54 +02:00
uuid.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
vm-stop.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
vmgenid.c qapi: Empty out qapi-schema.json 2018-03-02 13:45:50 -06:00
vmstate.c vmstate: replace DeviceState with VMStateIf 2020-01-06 18:41:32 +04:00
xen-common.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
xen-hvm.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00