Mailing List Archive

[xen staging] xen/link: Introduce a common BUGFRAMES definition
commit 337f11ea73b5fc55f53becf32cd5749c4da939c0
Author: Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Mar 15 18:21:31 2024 +0000
Commit: Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Thu Apr 11 13:23:08 2024 +0100

xen/link: Introduce a common BUGFRAMES definition

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 <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Michal Orzel <michal.orzel@amd.com>
---
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 2266c9536f..bd884664ad 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 8840a00446..38cd857187 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 ace6f49c57..070b19d915 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 1ef6645128..9a1dfe1b34 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 be90f5ca0f..7ab7aa5678 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); \
--
generated by git-patchbot for /home/xen/git/xen.git#staging