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

Reply via email to