On Thu, 2023-11-09 at 11:45 +0000, David Woodhouse wrote:
> On Thu, 2023-11-09 at 19:34 +0800, Stefan Hajnoczi wrote:
> > On Thu, 9 Nov 2023 at 19:10, David Woodhouse <dw...@infradead.org> wrote:
> > > 
> > > On Tue, 2023-11-07 at 14:15 +0400, marcandre.lur...@redhat.com wrote:
> > > > From: Marc-André Lureau <marcandre.lur...@redhat.com>
> > > > 
> > > > If a display is backed by a specialized VC, allow to override the
> > > > default "vc:80Cx24C".
> > > > 
> > > > As suggested by Paolo, if the display doesn't implement a VC (get_vc()
> > > > returns NULL), use a fallback that will use a muxed console on stdio.
> > > > 
> > > > This changes the behaviour of "qemu -display none", to create a muxed
> > > > serial/monitor by default (on TTY & not daemonized).
> > > > 
> > > > Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com>
> > > > Reviewed-by: Thomas Huth <th...@redhat.com>
> > > 
> > > Hrm. This breaks the command line documented at
> > > https://qemu-project.gitlab.io/qemu/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'
> > > 
> > > Can we make it create a Xen console by default, instead of a serial
> > > port? And/or make it *not* use stdio if something else on the command
> > > line already does?
> > 
> > I have filed this in QEMU's bug tracker so it's not forgotten:
> > https://gitlab.com/qemu-project/qemu/-/issues/1974
> > 
> > Here is the list of open 8.2 bugs:
> > https://gitlab.com/qemu-project/qemu/-/milestones/10
> > 
> > Stefan
> 
> Thanks. Added a link there to the patch I just sent, along with a note
> suggesting that perhaps we should go a bit further.
> 
> We're changing the QEMU behaviour in 8.2 to add these new devices using
> stdio, and *failing* if something else on the command line already used
> stdio.
> 
> My patch avoids adding a serial port if there's already a xen-console,
> which is all well and good. But surely we shouldn't *fail* if something
> else is already using stdio; we should just *not* add the new default
> serial port? This might break other command lines which use stdio but
> *not* for a serial port? This breaks too:
> 
>  $ ./qemu-system-x86_64 -display none -chardev stdio,id=char0
> qemu-system-x86_64: cannot use stdio by multiple character devices
> qemu-system-x86_64: could not connect serial device to character backend 
> 'mon:stdio'

Regardless of possible further improvements, please could I have a
review for the patch at
https://lore.kernel.org/qemu-devel/20231115172723.1161679-3-dw...@infradead.org/
which at least makes the documented command line work again.

Thanks.

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to