On Wed, 28 Jan 2026, Stefano Stabellini wrote:
> On Wed, 28 Jan 2026, Jan Beulich wrote:
> > 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?
> 
> For all dom0less domains. No, I don't think it should be a per-domain
> setting. If you are running dom0less you only have two options: this
> one, or vuart and both of them work the same way and require
> input_allowed = true.
> 
> 
> > > --- 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)?
> 
> No because vuart has already input_allowed

Sorry, let me rephrase this. You are right we need a d->input_allowed
check. The check is already done as part of 

    d = console_get_domain();
    if ( !d )
        return;

Reply via email to