Message ID | 20230814042536.878720-4-Henry.Wang@arm.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | xen/arm: Split MMU code as the prepration of MPU work | expand |
Hi Henry, On 14/08/2023 05:25, Henry Wang wrote: > From: Wei Chen <wei.chen@arm.com> > > We want to reuse head.S for MPU systems, but there are some > code are implemented for MMU systems only. We will move such > code to another MMU specific file. But before that we will > do some indentations fix in this patch to make them be easier > for reviewing: > 1. Fix the indentations and incorrect style of code comments. > 2. Fix the indentations for .text.header section. > 3. Rename puts() to asm_puts() for global export > > Signed-off-by: Wei Chen <wei.chen@arm.com> > Signed-off-by: Penny Zheng <penny.zheng@arm.com> > Signed-off-by: Henry Wang <Henry.Wang@arm.com> > Reviewed-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com> > Reviewed-by: Julien Grall <jgrall@amazon.com> Is this patch depends on the first two? If not, I will commit it before v6. Cheers,
Hi Julien, > On Aug 21, 2023, at 16:44, Julien Grall <julien@xen.org> wrote: > > Hi Henry, > > On 14/08/2023 05:25, Henry Wang wrote: >> From: Wei Chen <wei.chen@arm.com> >> We want to reuse head.S for MPU systems, but there are some >> code are implemented for MMU systems only. We will move such >> code to another MMU specific file. But before that we will >> do some indentations fix in this patch to make them be easier >> for reviewing: >> 1. Fix the indentations and incorrect style of code comments. >> 2. Fix the indentations for .text.header section. >> 3. Rename puts() to asm_puts() for global export >> Signed-off-by: Wei Chen <wei.chen@arm.com> >> Signed-off-by: Penny Zheng <penny.zheng@arm.com> >> Signed-off-by: Henry Wang <Henry.Wang@arm.com> >> Reviewed-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com> >> Reviewed-by: Julien Grall <jgrall@amazon.com> > > Is this patch depends on the first two? If not, I will commit it before v6. Good point, no this patch is independent from the first two. Also I just tested applying this patch on top of staging and building with and without Earlyprintk. Xen and Dom0 boot fine on FVP for both cases. So please commit this patch if you have time. Thanks! Kind regards, Henry > > Cheers, > > -- > Julien Grall
Hi Henry, On 21/08/2023 09:54, Henry Wang wrote: >> On Aug 21, 2023, at 16:44, Julien Grall <julien@xen.org> wrote: >> On 14/08/2023 05:25, Henry Wang wrote: >>> From: Wei Chen <wei.chen@arm.com> >>> We want to reuse head.S for MPU systems, but there are some >>> code are implemented for MMU systems only. We will move such >>> code to another MMU specific file. But before that we will >>> do some indentations fix in this patch to make them be easier >>> for reviewing: >>> 1. Fix the indentations and incorrect style of code comments. >>> 2. Fix the indentations for .text.header section. >>> 3. Rename puts() to asm_puts() for global export >>> Signed-off-by: Wei Chen <wei.chen@arm.com> >>> Signed-off-by: Penny Zheng <penny.zheng@arm.com> >>> Signed-off-by: Henry Wang <Henry.Wang@arm.com> >>> Reviewed-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com> >>> Reviewed-by: Julien Grall <jgrall@amazon.com> >> >> Is this patch depends on the first two? If not, I will commit it before v6. > > Good point, no this patch is independent from the first two. Also I just > tested applying this patch on top of staging and building with and without > Earlyprintk. Xen and Dom0 boot fine on FVP for both cases. Thanks for confirming. It is now ... > > So please commit this patch if you have time. Thanks! ... committed. Cheers,
diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S index 2bc2a03565..f25a41d36c 100644 --- a/xen/arch/arm/arm64/head.S +++ b/xen/arch/arm/arm64/head.S @@ -94,7 +94,7 @@ #define PRINT(_s) \ mov x3, lr ; \ adr_l x0, 98f ; \ - bl puts ; \ + bl asm_puts ; \ mov lr, x3 ; \ RODATA_STR(98, _s) @@ -148,21 +148,21 @@ isb .endm - .section .text.header, "ax", %progbits - /*.aarch64*/ +.section .text.header, "ax", %progbits +/*.aarch64*/ - /* - * Kernel startup entry point. - * --------------------------- - * - * The requirements are: - * MMU = off, D-cache = off, I-cache = on or off, - * x0 = physical address to the FDT blob. - * - * This must be the very first address in the loaded image. - * It should be linked at XEN_VIRT_START, and loaded at any - * 4K-aligned address. - */ +/* + * Kernel startup entry point. + * --------------------------- + * + * The requirements are: + * MMU = off, D-cache = off, I-cache = on or off, + * x0 = physical address to the FDT blob. + * + * This must be the very first address in the loaded image. + * It should be linked at XEN_VIRT_START, and loaded at any + * 4K-aligned address. + */ GLOBAL(start) /* @@ -547,7 +547,7 @@ ENDPROC(cpu_init) * Macro to create a mapping entry in \tbl to \phys. Only mapping in 3rd * level table (i.e page granularity) is supported. * - * ptbl: table symbol where the entry will be created + * ptbl: table symbol where the entry will be created * virt: virtual address * phys: physical address (should be page aligned) * tmp1: scratch register @@ -965,19 +965,22 @@ init_uart: ret ENDPROC(init_uart) -/* Print early debug messages. +/* + * Print early debug messages. + * Note: This function must be called from assembly. * x0: Nul-terminated string to print. * x23: Early UART base address - * Clobbers x0-x1 */ -puts: + * Clobbers x0-x1 + */ +ENTRY(asm_puts) early_uart_ready x23, 1 ldrb w1, [x0], #1 /* Load next char */ cbz w1, 1f /* Exit on nul */ early_uart_transmit x23, w1 - b puts + b asm_puts 1: ret -ENDPROC(puts) +ENDPROC(asm_puts) /* * Print a 64-bit number in hex. @@ -1007,7 +1010,6 @@ hex: .ascii "0123456789abcdef" ENTRY(early_puts) init_uart: -puts: putn: ret #endif /* !CONFIG_EARLY_PRINTK */