[PATCH v2 1/4] xen/link: Introduce a common BUGFRAMES definition

2024-04-10 Thread Andrew Cooper
Bugframe linkage is identical in all architectures.  This is not surprising
given that it is (now) only consumed by common/virtual_region.c

Introduce a common BUGFRAMES define in xen.lds.h ahead of rearranging their
structure.

No functional change.

Signed-off-by: Andrew Cooper 
Reviewed-by: Jan Beulich 
---
CC: Jan Beulich 
CC: Roger Pau Monné 
CC: Wei Liu 
CC: Stefano Stabellini 
CC: Julien Grall 
CC: Volodymyr Babchuk 
CC: Bertrand Marquis 
CC: Michal Orzel 
CC: Oleksii Kurochko 
CC: Shawn Anastasio 
CC: Konrad Rzeszutek Wilk 
CC: Ross Lagerwall 
---
 xen/arch/arm/xen.lds.S| 13 +++--
 xen/arch/ppc/xen.lds.S| 13 +++--
 xen/arch/riscv/xen.lds.S  | 13 +++--
 xen/arch/x86/xen.lds.S| 11 +--
 xen/include/xen/xen.lds.h | 11 +++
 5 files changed, 21 insertions(+), 40 deletions(-)

diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
index 2266c9536f05..bd884664adf6 100644
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -55,16 +55,9 @@ SECTIONS
   . = ALIGN(PAGE_SIZE);
   .rodata : {
 _srodata = .;  /* Read-only data */
-/* Bug frames table */
-   __start_bug_frames = .;
-   *(.bug_frames.0)
-   __stop_bug_frames_0 = .;
-   *(.bug_frames.1)
-   __stop_bug_frames_1 = .;
-   *(.bug_frames.2)
-   __stop_bug_frames_2 = .;
-   *(.bug_frames.3)
-   __stop_bug_frames_3 = .;
+
+BUGFRAMES
+
*(.rodata)
*(.rodata.*)
*(.data.rel.ro)
diff --git a/xen/arch/ppc/xen.lds.S b/xen/arch/ppc/xen.lds.S
index 8840a0044666..38cd857187e2 100644
--- a/xen/arch/ppc/xen.lds.S
+++ b/xen/arch/ppc/xen.lds.S
@@ -45,16 +45,9 @@ SECTIONS
 . = ALIGN(PAGE_SIZE);
 DECL_SECTION(.rodata) {
 _srodata = .;  /* Read-only data */
-/* Bug frames table */
-__start_bug_frames = .;
-*(.bug_frames.0)
-__stop_bug_frames_0 = .;
-*(.bug_frames.1)
-__stop_bug_frames_1 = .;
-*(.bug_frames.2)
-__stop_bug_frames_2 = .;
-*(.bug_frames.3)
-__stop_bug_frames_3 = .;
+
+BUGFRAMES
+
 *(.rodata)
 *(.rodata.*)
 *(.data.rel.ro)
diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
index ace6f49c579c..070b19d91503 100644
--- a/xen/arch/riscv/xen.lds.S
+++ b/xen/arch/riscv/xen.lds.S
@@ -42,16 +42,9 @@ SECTIONS
 . = ALIGN(PAGE_SIZE);
 .rodata : {
 _srodata = .;  /* Read-only data */
-/* Bug frames table */
-__start_bug_frames = .;
-*(.bug_frames.0)
-__stop_bug_frames_0 = .;
-*(.bug_frames.1)
-__stop_bug_frames_1 = .;
-*(.bug_frames.2)
-__stop_bug_frames_2 = .;
-*(.bug_frames.3)
-__stop_bug_frames_3 = .;
+
+BUGFRAMES
+
 *(.rodata)
 *(.rodata.*)
 *(.data.rel.ro)
diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index 1ef6645128b2..9a1dfe1b340a 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -127,16 +127,7 @@ SECTIONS
. = ALIGN(PAGE_SIZE);
__ro_after_init_end = .;
 
-   /* Bug frames table */
-   __start_bug_frames = .;
-   *(.bug_frames.0)
-   __stop_bug_frames_0 = .;
-   *(.bug_frames.1)
-   __stop_bug_frames_1 = .;
-   *(.bug_frames.2)
-   __stop_bug_frames_2 = .;
-   *(.bug_frames.3)
-   __stop_bug_frames_3 = .;
+   BUGFRAMES
 
*(.rodata)
*(.rodata.*)
diff --git a/xen/include/xen/xen.lds.h b/xen/include/xen/xen.lds.h
index be90f5ca0fdb..7ab7aa567872 100644
--- a/xen/include/xen/xen.lds.h
+++ b/xen/include/xen/xen.lds.h
@@ -114,6 +114,17 @@
 
 /* List of constructs other than *_SECTIONS in alphabetical order. */
 
+#define BUGFRAMES   \
+__start_bug_frames = .; \
+*(.bug_frames.0)\
+__stop_bug_frames_0 = .;\
+*(.bug_frames.1)\
+__stop_bug_frames_1 = .;\
+*(.bug_frames.2)\
+__stop_bug_frames_2 = .;\
+*(.bug_frames.3)\
+__stop_bug_frames_3 = .;
+
 #ifdef CONFIG_HYPFS
 #define HYPFS_PARAM  \
. = ALIGN(POINTER_ALIGN); \
-- 
2.30.2




Re: [PATCH v2 1/4] xen/link: Introduce a common BUGFRAMES definition

2024-04-10 Thread Michal Orzel
Hi Andrew,

On 10/04/2024 20:42, Andrew Cooper wrote:
> 
> 
> Bugframe linkage is identical in all architectures.  This is not surprising
> given that it is (now) only consumed by common/virtual_region.c
> 
> Introduce a common BUGFRAMES define in xen.lds.h ahead of rearranging their
> structure.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper 
> Reviewed-by: Jan Beulich 
For Arm:
Acked-by: Michal Orzel 

~Michal



Re: [PATCH v2 1/4] xen/link: Introduce a common BUGFRAMES definition

2024-04-12 Thread Shawn Anastasio
Hi Andrew,

On 4/10/24 1:42 PM, Andrew Cooper wrote:
> Bugframe linkage is identical in all architectures.  This is not surprising
> given that it is (now) only consumed by common/virtual_region.c
> 
> Introduce a common BUGFRAMES define in xen.lds.h ahead of rearranging their
> structure.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper 
> Reviewed-by: Jan Beulich 

Acked-by: Shawn Anastasio 

Thanks,
Shawn