Hi Jiamei,
On 2022/4/19 17:13, Jiamei Xie wrote:
> Hi Wei,
>
>> -----Original Message-----
>> From: Xen-devel <xen-devel-bounces@lists.xenproject.org> On Behalf Of
>> Wei Chen
>> Sent: 2022年4月18日 17:07
>> To: --to=xen-devel@lists.xenproject.org; xen-devel@lists.xenproject.org
>> Cc: nd <nd@arm.com>; Wei Chen <Wei.Chen@arm.com>; Stefano Stabellini
>> <sstabellini@kernel.org>; Julien Grall <julien@xen.org>; Bertrand Marquis
>> <Bertrand.Marquis@arm.com>; Volodymyr Babchuk
>> <Volodymyr_Babchuk@epam.com>; Julien Grall <jgrall@amazon.com>
>> Subject: [PATCH v2 01/10] xen/arm: Print a 64-bit number in hex from early
>> uart
>>
>> Current putn function that is using for early print
>> only can print low 32-bit of AArch64 register. This
>> will lose some important messages while debugging
>> with early console. For example:
>> (XEN) Bringing up CPU5
>> - CPU 0000000100000100 booting -
>> Will be truncated to
>> (XEN) Bringing up CPU5
>> - CPU 00000100 booting -
>>
>> In this patch, we increased the print loops and shift
>> bits to make putn print 64-bit number.
>>
>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>> Acked-by: Julien Grall <jgrall@amazon.com>
>> ---
>> xen/arch/arm/arm64/head.S | 12 +++++++-----
>> 1 file changed, 7 insertions(+), 5 deletions(-)
>>
>> diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
>> index e62c48ec1c..2bb7906f69 100644
>> --- a/xen/arch/arm/arm64/head.S
>> +++ b/xen/arch/arm/arm64/head.S
>> @@ -866,17 +866,19 @@ puts:
>> ret
>> ENDPROC(puts)
>>
>> -/* Print a 32-bit number in hex. Specific to the PL011 UART.
>> +/*
>> + * Print a 64-bit number in hex.
>> * x0: Number to print.
>> * x23: Early UART base address
>> - * Clobbers x0-x3 */
>> + * Clobbers x0-x3
>> + */
>> putn:
>> adr x1, hex
>> - mov x3, #8
>> + mov x3, #16
>> 1:
>> early_uart_ready x23, 2
>> - and x2, x0, #0xf0000000 /* Mask off the top nybble */
>> - lsr x2, x2, #28
>> + and x2, x0, #(0xf<<60) /* Mask off the top nybble */
>> + lsr x2, x2, #60
>> ldrb w2, [x1, x2] /* Convert to a char */
>> early_uart_transmit x23, w2
>> lsl x0, x0, #4 /* Roll it through one nybble at a time */
>> --
>> 2.25.1
>>
>
> I have tested the whole patch series on Armv8A(config without NUMA) and X86(config with NUMA), both can enter Dom0 successfully and the X86 NUMA works normally.
>
> Tested-by: Jiamei Xie <jiamei.xie@arm.com>
>
Thanks for your testing!
> Regards,
> Jiamei Xie