[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 2/2] xen/arm: Introduce and use GLOBAL() in asm code.
Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CC: Ian Campbell <ian.campbell@xxxxxxxxxx> CC: Stefano Stabellini <stefano.stabellini@xxxxxxxxxx> CC: Tim Deegan <tim@xxxxxxx> -- This patch is not tested as I dont have an arm cross-compiler, but is it fairly mechanical text replacement. --- xen/arch/arm/arm32/debug.S | 6 ++---- xen/arch/arm/arm32/entry.S | 3 +-- xen/arch/arm/arm32/mode_switch.S | 7 ++----- xen/arch/arm/arm32/proc-v7.S | 3 +-- xen/arch/arm/arm64/debug.S | 6 ++---- xen/arch/arm/arm64/mode_switch.S | 4 +--- xen/include/asm-arm/config.h | 3 +++ 7 files changed, 12 insertions(+), 20 deletions(-) diff --git a/xen/arch/arm/arm32/debug.S b/xen/arch/arm/arm32/debug.S index 92f5724..ec774cd 100644 --- a/xen/arch/arm/arm32/debug.S +++ b/xen/arch/arm/arm32/debug.S @@ -23,18 +23,16 @@ #include EARLY_PRINTK_INC #endif -.globl early_putch /* Print a character on the UART - this function is called by C * r0: character to print */ -early_putch: +GLOBAL(early_putch) ldr r1, =FIXMAP_ADDR(FIXMAP_CONSOLE) /* r1 := VA UART base address */ early_uart_ready r1, r2 early_uart_transmit r1, r0 mov pc, lr -.globl early_flush /* Flush the UART - this function is called by C */ -early_flush: +GLOBAL(early_flush) ldr r1, =FIXMAP_ADDR(FIXMAP_CONSOLE) /* r1 := VA UART base address */ early_uart_ready r1, r2 mov pc, lr diff --git a/xen/arch/arm/arm32/entry.S b/xen/arch/arm/arm32/entry.S index 81d5990..774e7c6 100644 --- a/xen/arch/arm/arm32/entry.S +++ b/xen/arch/arm/arm32/entry.S @@ -65,9 +65,8 @@ trap_##trap: \ bic sp, #7; /* Align the stack pointer (noop on guest trap) */ \ b do_trap_##trap -.globl hyp_traps_vector .align 5 -hyp_traps_vector: +GLOBAL(hyp_traps_vector) .word 0 /* 0x00 - Reset */ b trap_undefined_instruction /* 0x04 - Undefined Instruction */ b trap_supervisor_call /* 0x08 - Supervisor Call */ diff --git a/xen/arch/arm/arm32/mode_switch.S b/xen/arch/arm/arm32/mode_switch.S index 3500eb0..2cd5888 100644 --- a/xen/arch/arm/arm32/mode_switch.S +++ b/xen/arch/arm/arm32/mode_switch.S @@ -29,8 +29,7 @@ * TODO: Move this code either later (via platform specific desc) or in a bootwrapper * r5: Machine ID * Clobber r0 r2 */ -.globl kick_cpus -kick_cpus: +GLOBAL(kick_cpus) ldr r0, =MACH_TYPE_SMDK5250 teq r5, r0 /* Are we running on the arndale? */ beq kick_cpus_arndale @@ -79,9 +78,7 @@ kick_cpus_sgi: * integration with the bootloader/firmware so that Xen always starts * in Hyp mode. * Clobber r0 - r4 */ - -.globl enter_hyp_mode -enter_hyp_mode: +GLOBAL(enter_hyp_mode) mov r3, lr /* Put return address in non-banked reg */ cpsid aif, #0x16 /* Enter Monitor mode */ mrc CP32(r0, SCR) diff --git a/xen/arch/arm/arm32/proc-v7.S b/xen/arch/arm/arm32/proc-v7.S index 0ab3845..e38d5a4 100644 --- a/xen/arch/arm/arm32/proc-v7.S +++ b/xen/arch/arm/arm32/proc-v7.S @@ -20,8 +20,7 @@ #include <asm/asm_defns.h> #include <asm/arm32/processor.h> -.globl v7_init -v7_init: +GLOBAL(v7_init) /* Set up the SMP bit in ACTLR */ mrc CP32(r0, ACTLR) orr r0, r0, #(ACTLR_V7_SMP) /* enable SMP bit */ diff --git a/xen/arch/arm/arm64/debug.S b/xen/arch/arm/arm64/debug.S index c7b5e6c..472c157 100644 --- a/xen/arch/arm/arm64/debug.S +++ b/xen/arch/arm/arm64/debug.S @@ -23,18 +23,16 @@ #include EARLY_PRINTK_INC #endif -.globl early_putch /* Print a character on the UART - this function is called by C * x0: character to print */ -early_putch: +GLOBAL(early_putch) ldr x15, =FIXMAP_ADDR(FIXMAP_CONSOLE) early_uart_ready x15, 1 early_uart_transmit x15, w0 ret -.globl early_flush /* Flush the UART - this function is called by C */ -early_flush: +GLOBAL(early_flush) ldr x15, =FIXMAP_ADDR(FIXMAP_CONSOLE) /* x15 := VA UART base address */ early_uart_ready x15, 1 ret diff --git a/xen/arch/arm/arm64/mode_switch.S b/xen/arch/arm/arm64/mode_switch.S index 4125ac4..ea64f22 100644 --- a/xen/arch/arm/arm64/mode_switch.S +++ b/xen/arch/arm/arm64/mode_switch.S @@ -34,9 +34,7 @@ * integration with the bootloader/firmware so that Xen always starts * at EL2. */ - -.globl enter_el2_mode -enter_el2_mode: +GLOBAL(enter_el2_mode) mov x0, #0x30 // RES1 orr x0, x0, #(1 << 0) // Non-secure EL1 orr x0, x0, #(1 << 8) // HVC enable diff --git a/xen/include/asm-arm/config.h b/xen/include/asm-arm/config.h index 259d4c6..604088e 100644 --- a/xen/include/asm-arm/config.h +++ b/xen/include/asm-arm/config.h @@ -63,6 +63,9 @@ .globl name; \ ALIGN; \ name: +#define GLOBAL(name) \ + .globl name; \ + name: #define END(name) \ .size name, .-name #define ENDPROC(name) \ -- 1.7.10.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |