[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] xen/init: Move initcall infrastructure into .init.data
commit 544ad7f5caf50771ebc02603ced2d7a2ef12c662 Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> AuthorDate: Tue Jun 21 17:38:25 2016 +0100 Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CommitDate: Thu Jun 23 12:58:00 2016 +0100 xen/init: Move initcall infrastructure into .init.data Its contents is constant. The ALIGN(32) is also dropped. On x86, there is nothing between it and a larger alignment. On ARM, __init_end_efi is between the two, but its sole use is to fill SizeOfRawData in the PE Section Table, and doesn't require any specific alignment. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> Acked-by: Julien Grall <julien.grall@xxxxxxx> --- xen/arch/arm/xen.lds.S | 14 ++++++-------- xen/arch/x86/xen.lds.S | 14 ++++++-------- xen/include/xen/init.h | 4 ++-- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S index b00ee81..b18c9c2 100644 --- a/xen/arch/arm/xen.lds.S +++ b/xen/arch/arm/xen.lds.S @@ -145,6 +145,12 @@ SECTIONS *(.init.proc.info) __proc_info_end = .; + __initcall_start = .; + *(.initcallpresmp.init) + __presmp_initcall_end = .; + *(.initcall1.init) + __initcall_end = .; + *(.init.data) *(.init.data.rel) *(.init.data.rel.*) @@ -154,14 +160,6 @@ SECTIONS *(.init_array) __ctors_end = .; } :text - . = ALIGN(32); - .initcall.init : { - __initcall_start = .; - *(.initcallpresmp.init) - __presmp_initcall_end = .; - *(.initcall1.init) - __initcall_end = .; - } :text __init_end_efi = .; . = ALIGN(STACK_SIZE); __init_end = .; diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S index 2443b93..a1678d8 100644 --- a/xen/arch/x86/xen.lds.S +++ b/xen/arch/x86/xen.lds.S @@ -158,6 +158,12 @@ SECTIONS *(.init.setup) __setup_end = .; + __initcall_start = .; + *(.initcallpresmp.init) + __presmp_initcall_end = .; + *(.initcall1.init) + __initcall_end = .; + *(.init.data) *(.init.data.rel) *(.init.data.rel.*) @@ -183,14 +189,6 @@ SECTIONS *(.ctors) __ctors_end = .; } :text - . = ALIGN(32); - .initcall.init : { - __initcall_start = .; - *(.initcallpresmp.init) - __presmp_initcall_end = .; - *(.initcall1.init) - __initcall_end = .; - } :text . = ALIGN(PAGE_SIZE); __init_end = .; diff --git a/xen/include/xen/init.h b/xen/include/xen/init.h index b04bcf9..0afc430 100644 --- a/xen/include/xen/init.h +++ b/xen/include/xen/init.h @@ -61,9 +61,9 @@ typedef int (*initcall_t)(void); typedef void (*exitcall_t)(void); #define presmp_initcall(fn) \ - static initcall_t __initcall_##fn __init_call("presmp") = fn + const static initcall_t __initcall_##fn __init_call("presmp") = fn #define __initcall(fn) \ - static initcall_t __initcall_##fn __init_call("1") = fn + const static initcall_t __initcall_##fn __init_call("1") = fn #define __exitcall(fn) \ static exitcall_t __exitcall_##fn __exit_call = fn -- generated by git-patchbot for /home/xen/git/xen.git#master _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |