|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 1/8] xen/arm: Add NXP LINFlexD UART Driver
Hi Julien,
On 01/10/2024 12:20, Julien Grall wrote:
> Hi Andrei,
>
> On 30/09/2024 12:47, Andrei Cherechesu (OSS) wrote:
>> +static void __init linflex_uart_init_preirq(struct serial_port *port)
>> +{
>> + struct linflex_uart *uart = port->uart;
>> + uint32_t ibr, fbr, divisr, dividr, ctrl;
>> +
>> + /* Disable RX/TX before init mode */
>> + ctrl = linflex_uart_readl(uart, UARTCR);
>> + ctrl &= ~(UARTCR_RXEN | UARTCR_TXEN);
>> + linflex_uart_writel(uart, UARTCR, ctrl);
>> +
>> + /*
>> + * Smoothen the transition from early_printk by waiting
>> + * for all pending characters to transmit
>> + */
>
> Just to note that early_printk() will still be used by secondary CPUs when
> booting which happens after init_preirq() is called. Will this be a problem
> for you?
>
No, there's no problem with that. At the end of init_preirq() the
UART can still be used via early_printk(). I know the secondary
cores have a mechanism to print some messages themselves when
being brought up, otherwise their initialization fails.
But they're being enabled correctly in our case:
(XEN) Bringing up CPU1
- CPU 0000000000000001 booting -
- Current EL 0000000000000008 -
- Initialize CPU -
- Turning on paging -
- Paging turned on -
- Ready -
(XEN) GICv3: CPU1: Found redistributor in region 0 @00000a004003e000
(XEN) CPU1: Guest atomics will try 13 times before pausing the domain
(XEN) CPU 1 booted.
(XEN) Bringing up CPU2
- CPU 0000000000000002 booting -
- Current EL 0000000000000008 -
- Initialize CPU -
- Turning on paging -
- Paging turned on -
- Ready -
(XEN) GICv3: CPU2: Found redistributor in region 0 @00000a004005e000
(XEN) CPU2: Guest atomics will try 13 times before pausing the domain
(XEN) CPU 2 booted.
(XEN) Bringing up CPU3
...
> I haven't compared the code against the specification. But the logic LGTM
> from a Xen PoV. So:
>
> Acked-by: Julien Grall <jgrall@xxxxxxxxxx>
>
> Cheers,
>
Thank you for the review!
Regards,
Andrei Cherechesu
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |