On 03.02.2026 01:11, Stefano Stabellini wrote:
> On Thu, 29 Jan 2026, Jason Andryuk wrote:
>> On 2026-01-29 17:08, Stefano Stabellini wrote:
>>> --- a/xen/drivers/char/console.c
>>> +++ b/xen/drivers/char/console.c
>>> @@ -613,11 +613,20 @@ static void __serial_rx(char c)
>>>       if ( console_rx == 0 )
>>>           return handle_keypress(c, false);
>>>   +    /* Includes an is_focus_domain() check. */
>>>       d = console_get_domain();
>>>       if ( !d )
>>>           return;
>>>   -    if ( is_hardware_domain(d) )
>>> +#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
>>>       {
>>>           unsigned long flags;
>>>   @@ -636,11 +645,6 @@ static void __serial_rx(char c)
>>>            */
>>>           send_global_virq(VIRQ_CONSOLE);
>>
>> I think we need an additional patch, or included in one of these two, to
>> change VIRQ_CONSOLE to a VIRQ_DOMAIN.  Otherwise only hwdom could bind to the
>> virq, I think?  It would be the two changes below:
> 
> Thank you Jason. I didn't notice this problem because Linux is able to
> silently fallback to polling which works surprisingly well. I didn't
> notice the difference.
> 
> I confirm that the error you highlighted is real and that with the patch
> below the error goes away.
> 
> My preference is to submit it as a separate patch, it can still be part
> of this series. Especially as the other two patches have already been
> reviewed and tested independently a few times. But I am happy either
> way.
> 
> Jan, what do you think?

Imo this wants to be a separate change, yes. Likely a prereq one.

Jan

Reply via email to