On 23.01.2026 02:06, Stefano Stabellini wrote:
> --- a/xen/common/device-tree/dom0less-build.c
> +++ b/xen/common/device-tree/dom0less-build.c
> @@ -829,6 +829,8 @@ static int __init construct_domU(struct kernel_info
> *kinfo,
>
> rangeset_destroy(kinfo->xen_reg_assigned);
>
> + d->console->input_allowed = true;
Why for all of the domains? Shouldn't this be a per-domain setting?
> --- a/xen/drivers/char/console.c
> +++ b/xen/drivers/char/console.c
> @@ -612,10 +612,18 @@ static void __serial_rx(char c)
> if ( !d )
> return;
>
> - if ( is_hardware_domain(d) )
This check is fully lost; shouldn't it be replaced by ...
> +#ifdef CONFIG_SBSA_VUART_CONSOLE
> + /* Prioritize vpl011 if enabled for this domain */
> + if ( d->arch.vpl011.base_addr )
> + {
> + /* Deliver input to the emulated UART. */
> + rc = vpl011_rx_char_xen(d, c);
> + }
> + else
> +#endif
...
if ( d->input_allowed )
the latest here (not sure about the vpl011 intentions in this regard)?
> {
> /*
> - * Deliver input to the hardware domain buffer, unless it is
> + * Deliver input to the focus domain buffer, unless it is
> * already full.
> */
As said there, imo this change belongs in the earlier patch.
Jan