[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 23/35] xen/arm32: head: Introduce print_reg
On Mon, 22 Jul 2019, Julien Grall wrote: > At the moment, the user should save r14/lr if it cares about it. > > Follow-up patches will introduce more use of putn in place where lr > should be preserved. > > Furthermore, any user of putn should also move the value to register r0 > if it was stored in a different register. > > For convenience, a new macro is introduced to print a given register. > The macro will take care for us to move the value to r0 and also > preserve lr. > > Lastly the new macro is used to replace all the callsite of putn. This > will simplify rework/review later on. > > Signed-off-by: Julien Grall <julien.grall@xxxxxxx> Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> > --- > Changes in v2: > - Patch added > --- > xen/arch/arm/arm32/head.S | 23 +++++++++++++++++++---- > 1 file changed, 19 insertions(+), 4 deletions(-) > > diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S > index 134c3dda92..bbcfdcd351 100644 > --- a/xen/arch/arm/arm32/head.S > +++ b/xen/arch/arm/arm32/head.S > @@ -79,8 +79,25 @@ > 98: .asciz _s ;\ > .align 2 ;\ > 99: > + > +/* > + * Macro to print the value of register \rb > + * > + * Clobbers r0 - r4 > + */ > +.macro print_reg rb > + mov r0, \rb > + mov r4, lr > + bl putn > + mov lr, r4 > +.endm > + > #else /* CONFIG_EARLY_PRINTK */ > #define PRINT(s) > + > +.macro print_reg rb > +.endm > + > #endif /* !CONFIG_EARLY_PRINTK */ > > .arm > @@ -159,8 +176,7 @@ GLOBAL(init_secondary) > #ifdef CONFIG_EARLY_PRINTK > mov_w r11, EARLY_UART_BASE_ADDRESS /* r11 := UART base address */ > PRINT("- CPU ") > - mov r0, r7 > - bl putn > + print_reg r7 > PRINT(" booting -\r\n") > #endif > > @@ -211,8 +227,7 @@ skip_bss: > bne 1f > mov r4, r0 > PRINT("- Missing processor info: ") > - mov r0, r4 > - bl putn > + print_reg r4 > PRINT(" -\r\n") > b fail > 1: > -- > 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 |