[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v4 8/8] emul/vuart: introduce console forwarding enforcement via vUART
On Thu, 31 Jul 2025, dmkhn@xxxxxxxxx wrote: > From: Denis Mukhin <dmukhin@xxxxxxxx> > > It may be useful to enforce console forwarding over the virtual UART. E.g. > hardware domain uses PV console by default, but it may be necessary to have > console forwarded to the hardware domain via emulated UART. > > Add CONFIG_VUART_CONSOLE_FOCUS to enforce such behavior. > > Signed-off-by: Denis Mukhin <dmukhin@xxxxxxxx> I realize that hyperlaunch is not merged yet, but I think this one would be best as a hyperlaunch configuration option rather than a kconfig. But it is certainly useful for testing until Hyperlaunch is merged! > --- > Changes since v3: > - new patch > --- > xen/arch/x86/domain.c | 6 ++++++ > xen/common/emul/vuart/Kconfig | 5 +++++ > xen/drivers/char/console.c | 2 +- > 3 files changed, 12 insertions(+), 1 deletion(-) > > diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c > index 39b0c0b199b9..40ff92ad6c61 100644 > --- a/xen/arch/x86/domain.c > +++ b/xen/arch/x86/domain.c > @@ -848,6 +848,12 @@ int arch_domain_create(struct domain *d, > if ( is_hardware_domain(d) && is_pv_domain(d) ) > emflags |= XEN_X86_EMU_PIT; > > + if ( IS_ENABLED(CONFIG_VUART_CONSOLE_FOCUS) && > + IS_ENABLED(CONFIG_VUART_NS16550) && > + is_hardware_domain(d) && > + is_hvm_domain(d) ) > + emflags |= XEN_X86_EMU_NS16550; > + > if ( emflags & ~XEN_X86_EMU_ALL ) > { > printk(XENLOG_G_ERR > diff --git a/xen/common/emul/vuart/Kconfig b/xen/common/emul/vuart/Kconfig > index ebefd90d913e..1069ca95f2db 100644 > --- a/xen/common/emul/vuart/Kconfig > +++ b/xen/common/emul/vuart/Kconfig > @@ -51,4 +51,9 @@ config VUART_NS16550_DEBUG > help > Enable development debugging. > > +config VUART_CONSOLE_FOCUS > + bool "Console input forwarding via UART emulator" > + help > + Enable physical console input forwarding to guest OS via emulated > UART. > + > endmenu > diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c > index 93254979817b..d142f5511d61 100644 > --- a/xen/drivers/char/console.c > +++ b/xen/drivers/char/console.c > @@ -597,7 +597,7 @@ static void __serial_rx(char c) > if ( !d ) > return; > > - if ( is_hardware_domain(d) ) > + if ( !IS_ENABLED(CONFIG_VUART_CONSOLE_FOCUS) && is_hardware_domain(d) ) > { > /* > * Deliver input to the hardware domain buffer, unless it is > -- > 2.34.1 > >
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |