On Mon, 2023-11-20 at 12:42 +0000, Peter Maydell wrote: > On Fri, 17 Nov 2023 at 14:35, <marcandre.lur...@redhat.com> wrote: > > > > From: Marc-André Lureau <marcandre.lur...@redhat.com> > > > > Commit 1bec1cc0d ("ui/console: allow to override the default VC") > > changed > > the behaviour of the "-display none" option, so that it now creates > > a > > QEMU monitor on the terminal. "-display none" should not be tangled > > up > > with whether we create a monitor or a serial terminal; it should > > purely > > and only disable the graphical window. Changing its behaviour like > > this > > breaks command lines which, for example, use semihosting for their > > output and don't want a graphical window, as they now get a monitor > > they > > never asked for. > > > > It also breaks the command line we document for Xen in > > docs/system/i386/xen.html: > > > > $ ./qemu-system-x86_64 --accel kvm,xen-version=0x40011,kernel- > > irqchip=split \ > > -display none -chardev stdio,mux=on,id=char0,signal=off -mon > > char0 \ > > -device xen-console,chardev=char0 -drive > > file=${GUEST_IMAGE},if=xen > > > > qemu-system-x86_64: cannot use stdio by multiple character devices > > qemu-system-x86_64: could not connect serial device to character > > backend > > 'stdio' > > > > When qemu is compiled without PIXMAN, by default the serials aren't > > muxed with the monitor anymore on stdio. The serials are redirected > > to > > "null" instead, and the monitor isn't set up. > > > > Fixes: commit 1bec1cc0d ("ui/console: allow to override the default > > VC") > > Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> > > --- > > system/vl.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/system/vl.c b/system/vl.c > > index 5af7ced2a1..14bf0cf0bf 100644 > > --- a/system/vl.c > > +++ b/system/vl.c > > @@ -1391,7 +1391,7 @@ static void qemu_create_default_devices(void) > > } > > } > > > > - if (nographic || (!vc && !is_daemonized() && > > isatty(STDOUT_FILENO))) { > > + if (nographic) { > > if (default_parallel) { > > add_device_config(DEV_PARALLEL, "null"); > > } > > This fixes the regression I was seeing with the semihosting > use case. I haven't checked the Xen setup.
Should probably work, but we want the better fix for Xen anyway: https://lore.kernel.org/qemu-devel/20231115172723.1161679-3-dw...@infradead.org/
smime.p7s
Description: S/MIME cryptographic signature