|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] Arm: annotate entry points with type and size
commit ae08d0c30498b2b3fa521ab7db102297a3630823
Author: Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Mon Jan 22 13:54:34 2024 +0100
Commit: Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Mon Jan 22 13:54:34 2024 +0100
Arm: annotate entry points with type and size
Use the generic framework in xen/linkage.h. No change in generated code
except for the changed padding value (noticable when config.gz isn't a
multiple of 4 in size). Plus of course the converted symbols change to
be hidden ones.
Note that ASM_INT() is switched to DATA(), not DATA_LOCAL(), as the only
use site wants the symbol global anyway.
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
Reviewed-by: Julien Grall <jgrall@xxxxxxxxxx>
---
xen/arch/arm/arm32/lib/div64.S | 4 ++--
xen/arch/arm/arm64/lib/clear_page.S | 4 ++--
xen/arch/arm/include/asm/asm_defns.h | 6 ++----
xen/arch/arm/include/asm/config.h | 5 ++---
4 files changed, 8 insertions(+), 11 deletions(-)
diff --git a/xen/arch/arm/arm32/lib/div64.S b/xen/arch/arm/arm32/lib/div64.S
index 58a52a7740..368e884af4 100644
--- a/xen/arch/arm/arm32/lib/div64.S
+++ b/xen/arch/arm/arm32/lib/div64.S
@@ -42,7 +42,7 @@
* Clobbered regs: xl, ip
*/
-ENTRY(__do_div64)
+FUNC(__do_div64)
UNWIND(.fnstart)
@ Test for easy paths first.
@@ -206,4 +206,4 @@ Ldiv0_64:
ldr pc, [sp], #8
UNWIND(.fnend)
-ENDPROC(__do_div64)
+END(__do_div64)
diff --git a/xen/arch/arm/arm64/lib/clear_page.S
b/xen/arch/arm/arm64/lib/clear_page.S
index a767e63686..57e39f1cbb 100644
--- a/xen/arch/arm/arm64/lib/clear_page.S
+++ b/xen/arch/arm/arm64/lib/clear_page.S
@@ -22,7 +22,7 @@
* Parameters:
* x0 - dest
*/
-ENTRY(clear_page)
+FUNC(clear_page)
mrs x1, dczid_el0
and w1, w1, #0xf
mov x2, #4
@@ -33,4 +33,4 @@ ENTRY(clear_page)
tst x0, #(PAGE_SIZE - 1)
b.ne 1b
ret
-ENDPROC(clear_page)
+END(clear_page)
diff --git a/xen/arch/arm/include/asm/asm_defns.h
b/xen/arch/arm/include/asm/asm_defns.h
index eecafd3b39..c489547d29 100644
--- a/xen/arch/arm/include/asm/asm_defns.h
+++ b/xen/arch/arm/include/asm/asm_defns.h
@@ -5,6 +5,7 @@
/* NB. Auto-generated from arch/.../asm-offsets.c */
#include <asm/asm-offsets.h>
#endif
+#include <xen/linkage.h>
#include <asm/processor.h>
/* Macros for generic assembly code */
@@ -28,10 +29,7 @@ label: .asciz msg; \
.popsection
#define ASM_INT(label, val) \
- .p2align 2; \
-label: .long (val); \
- .size label, . - label; \
- .type label, %object
+ DATA(label, 4) .long (val); END(label)
#endif /* __ARM_ASM_DEFNS_H__ */
/*
diff --git a/xen/arch/arm/include/asm/config.h
b/xen/arch/arm/include/asm/config.h
index e1dcec4dd7..3b6d829197 100644
--- a/xen/arch/arm/include/asm/config.h
+++ b/xen/arch/arm/include/asm/config.h
@@ -53,7 +53,8 @@
/* Linkage for ARM */
#ifdef __ASSEMBLY__
-#define ALIGN .align 2
+#define CODE_ALIGN 4
+#define ALIGN .balign CODE_ALIGN
#define ENTRY(name) \
.globl name; \
ALIGN; \
@@ -61,8 +62,6 @@
#define GLOBAL(name) \
.globl name; \
name:
-#define END(name) \
- .size name, .-name
#define ENDPROC(name) \
.type name, %function; \
END(name)
--
generated by git-patchbot for /home/xen/git/xen.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |