On 22.01.2026 02:36, Stefano Stabellini wrote:
> On Wed, 21 Jan 2026, Jan Beulich wrote:
>> On 21.01.2026 01:07, Stefano Stabellini wrote:
>>> @@ -596,8 +604,19 @@ static void __serial_rx(char c)
>>>
>>> d = console_get_domain();
>>> if ( !d )
>>> + {
>>> + console_put_domain(d);
>>> return;
>>> + }
>>>
>>> +#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
>>
>> Nit: Style.
>>
>>> +#endif
>>> if ( is_hardware_domain(d) || IS_ENABLED(CONFIG_DOM0LESS_BOOT) )
>>> {
>>> /*
>>> @@ -613,11 +632,6 @@ static void __serial_rx(char c)
>>> */
>>> send_guest_domain_virq(d, VIRQ_CONSOLE);
>>> }
>>> -#ifdef CONFIG_SBSA_VUART_CONSOLE
>>> - else
>>> - /* Deliver input to the emulated UART. */
>>> - rc = vpl011_rx_char_xen(d, c);
>>> -#endif
>>
>> I don't understand this movement, and iirc it also wasn't there in v3.
>> There's no explanation in the description, unless I'm overlooking the
>> crucial few words.
>
> This chunk fixes an unrelated bug on ARM. We need to move the
> CONFIG_SBSA_VUART_CONSOLE check earlier otherwise this patch will never
> be taken when IS_ENABLED(CONFIG_DOM0LESS_BOOT).
Which suggests it wants to be a separate, backportable patch?
Jan