|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] xen: Consolidate linker script setup data
On Wed Sep 23, 2026 at 6:19 PM CEST, Jason Andryuk wrote: > .init.setup, .initcallpresmp.init, and .initcall1.init are duplicated > across architectures. Replace them with a common define, SETUP_DATA. > > Suggested-by: Grygorii Strashko <grygorii_strashko@xxxxxxxx> > Signed-off-by: Jason Andryuk <jason.andryuk@xxxxxxx> > Reviewed-by: Alejandro Vallejo <alejandro.garciavallejo@xxxxxxx> > Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> > --- > Alejandro reviewed internally. In case it matters, I confirm. Cheers, Alejandro > Jan reviewed off list. > --- > xen/arch/arm/xen.lds.S | 11 +---------- > xen/arch/ppc/xen.lds.S | 12 +----------- > xen/arch/riscv/xen.lds.S | 12 +----------- > xen/arch/x86/xen.lds.S | 11 +---------- > xen/include/xen/xen.lds.h | 12 ++++++++++++ > 5 files changed, 16 insertions(+), 42 deletions(-) > > diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S > index d4d9594033..32afbfe131 100644 > --- a/xen/arch/arm/xen.lds.S > +++ b/xen/arch/arm/xen.lds.S > @@ -135,16 +135,7 @@ SECTIONS > *(.init.rodata) > *(.init.rodata.*) > > - . = ALIGN(POINTER_ALIGN); > - __setup_start = .; > - *(.init.setup) > - __setup_end = .; > - > - __initcall_start = .; > - *(.initcallpresmp.init) > - __presmp_initcall_end = .; > - *(.initcall1.init) > - __initcall_end = .; > + SETUP_DATA > > . = ALIGN(4); > __alt_instructions = .; > diff --git a/xen/arch/ppc/xen.lds.S b/xen/arch/ppc/xen.lds.S > index d0f2ed43f1..37256c8865 100644 > --- a/xen/arch/ppc/xen.lds.S > +++ b/xen/arch/ppc/xen.lds.S > @@ -107,17 +107,7 @@ SECTIONS > *(.init.rodata) > *(.init.rodata.*) > > - . = ALIGN(POINTER_ALIGN); > - __setup_start = .; > - *(.init.setup) > - __setup_end = .; > - > - __initcall_start = .; > - *(.initcallpresmp.init) > - __presmp_initcall_end = .; > - *(.initcall1.init) > - __initcall_end = .; > - > + SETUP_DATA > LOCK_PROFILE_DATA > > *(.init.data) > diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S > index 70db658fef..d9375a9616 100644 > --- a/xen/arch/riscv/xen.lds.S > +++ b/xen/arch/riscv/xen.lds.S > @@ -114,17 +114,7 @@ SECTIONS > *(.init.rodata) > *(.init.rodata.*) > > - . = ALIGN(POINTER_ALIGN); > - __setup_start = .; > - *(.init.setup) > - __setup_end = .; > - > - __initcall_start = .; > - *(.initcallpresmp.init) > - __presmp_initcall_end = .; > - *(.initcall1.init) > - __initcall_end = .; > - > + SETUP_DATA > LOCK_PROFILE_DATA > > *(.init.data) > diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S > index b9e888e596..8f943e11ea 100644 > --- a/xen/arch/x86/xen.lds.S > +++ b/xen/arch/x86/xen.lds.S > @@ -223,16 +223,7 @@ SECTIONS > *(.init.rodata) > *(.init.rodata.*) > > - . = ALIGN(POINTER_ALIGN); > - __setup_start = .; > - *(.init.setup) > - __setup_end = .; > - > - __initcall_start = .; > - *(.initcallpresmp.init) > - __presmp_initcall_end = .; > - *(.initcall1.init) > - __initcall_end = .; > + SETUP_DATA > > *(.init.data) > *(.init.data.rel) > diff --git a/xen/include/xen/xen.lds.h b/xen/include/xen/xen.lds.h > index ea11e3fb62..958f8256b0 100644 > --- a/xen/include/xen/xen.lds.h > +++ b/xen/include/xen/xen.lds.h > @@ -179,6 +179,18 @@ > *(.data.schedulers) \ > __end_schedulers_array = .; > > +#define SETUP_DATA \ > + . = ALIGN(POINTER_ALIGN); \ > + __setup_start = .; \ > + *(.init.setup) \ > + __setup_end = .; \ > + \ > + __initcall_start = .; \ > + *(.initcallpresmp.init) \ > + __presmp_initcall_end = .; \ > + *(.initcall1.init) \ > + __initcall_end = .; > + > #ifdef CONFIG_HYPFS > #define HYPFS_PARAM \ > . = ALIGN(POINTER_ALIGN); \
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |