[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH MM-PART2 RESEND v2 08/19] xen/arm64: head: Move earlyprintk messages in .rodata.str
On Tue, 14 May 2019, Julien Grall wrote: > At the moment, the earlyprintk messages are interleaved with the > instructions. This makes more difficult to read the objdump output. > > Introduce a new macro to add a string in .rodata.str and use it for all > the earlyprintk messages. > > Signed-off-by: Julien Grall <julien.grall@xxxxxxx> > Reviewed-by: Andrii Anisov <andrii_anisov@xxxxxxxx> Acked-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> > --- > > I haven't done a similar change in arm32 yet because the compiler will > throw an error when using 'adr' when load an address from a different > section (see A5-200 in ARM DDI 0406C.a for the technical reason). > The change is likely to be more elaborate. > > Changes in v2: > - Add Andrii's reviewed-by > --- > xen/arch/arm/arm64/head.S | 14 +++++--------- > xen/include/asm-arm/asm_defns.h | 5 +++++ > 2 files changed, 10 insertions(+), 9 deletions(-) > > diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S > index ad446e7345..b957eb90fb 100644 > --- a/xen/arch/arm/arm64/head.S > +++ b/xen/arch/arm/arm64/head.S > @@ -81,13 +81,10 @@ > /* Macro to print a string to the UART, if there is one. > * Clobbers x0-x3. */ > #ifdef CONFIG_EARLY_PRINTK > -#define PRINT(_s) \ > - adr x0, 98f ; \ > - bl puts ; \ > - b 99f ; \ > -98: .asciz _s ; \ > - .align 2 ; \ > -99: > +#define PRINT(_s) \ > + adr x0, 98f ; \ > + bl puts ; \ > + RODATA_STR(98, _s) > #else /* CONFIG_EARLY_PRINTK */ > #define PRINT(s) > #endif /* !CONFIG_EARLY_PRINTK */ > @@ -633,8 +630,7 @@ init_uart: > #endif > adr x0, 1f > b puts > -1: .asciz "- UART enabled -\r\n" > - .align 4 > +RODATA_STR(1, "- UART enabled -\r\n") > > /* Print early debug messages. > * x0: Nul-terminated string to print. > diff --git a/xen/include/asm-arm/asm_defns.h b/xen/include/asm-arm/asm_defns.h > index 02be83e2b3..3f21def0ab 100644 > --- a/xen/include/asm-arm/asm_defns.h > +++ b/xen/include/asm-arm/asm_defns.h > @@ -16,6 +16,11 @@ > # error "unknown ARM variant" > #endif > > +#define RODATA_STR(label, msg) \ > +.pushsection .rodata.str, "aMS", %progbits, 1 ; \ > +label: .asciz msg; \ > +.popsection > + > #endif /* __ARM_ASM_DEFNS_H__ */ > /* > * Local variables: > -- > 2.11.0 > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |