From 9cbe093b7b848aa96120406032fb15e5ea3362bd Mon Sep 17 00:00:00 2001 From: Oleksandr Tyshchenko Date: Fri, 7 Dec 2018 15:41:16 +0200 Subject: [PATCH] xen/arm: link: Link proc_info_list in .rodata instead of .init.data To be able to use it for the hot-plugged CPUs as well. The reason why we link proc_info_list in ".rodata" section is that it context should never be modified. This patch also renames ".init.proc.info" section to ".proc.info" as "init" prefix is not actual anymore. Signed-off-by: Oleksandr Tyshchenko --- xen/arch/arm/arm32/proc-v7.S | 6 +++--- xen/arch/arm/xen.lds.S | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/xen/arch/arm/arm32/proc-v7.S b/xen/arch/arm/arm32/proc-v7.S index 80a250d8e8..46bfc7a907 100644 --- a/xen/arch/arm/arm32/proc-v7.S +++ b/xen/arch/arm/arm32/proc-v7.S @@ -30,7 +30,7 @@ brahma15mp_init: mcr CP32(r0, ACTLR) mov pc, lr - .section ".init.proc.info", #alloc, #execinstr + .section ".proc.info", #alloc, #execinstr .type __v7_ca15mp_proc_info, #object __v7_ca15mp_proc_info: .long 0x410FC0F0 /* Cortex-A15 */ @@ -39,7 +39,7 @@ __v7_ca15mp_proc_info: .long caxx_processor .size __v7_ca15mp_proc_info, . - __v7_ca15mp_proc_info - .section ".init.proc.info", #alloc, #execinstr + .section ".proc.info", #alloc, #execinstr .type __v7_ca7mp_proc_info, #object __v7_ca7mp_proc_info: .long 0x410FC070 /* Cortex-A7 */ @@ -48,7 +48,7 @@ __v7_ca7mp_proc_info: .long caxx_processor .size __v7_ca7mp_proc_info, . - __v7_ca7mp_proc_info - .section ".init.proc.info", #alloc, #execinstr + .section ".proc.info", #alloc, #execinstr .type __v7_brahma15mp_proc_info, #object __v7_brahma15mp_proc_info: .long 0x420F00F0 /* Broadcom Brahma-B15 */ diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S index 245a0e0e85..1e72906477 100644 --- a/xen/arch/arm/xen.lds.S +++ b/xen/arch/arm/xen.lds.S @@ -66,6 +66,10 @@ SECTIONS *(.data.param) __param_end = .; + __proc_info_start = .; + *(.proc.info) + __proc_info_end = .; + #if defined(CONFIG_HAS_VPCI) && defined(CONFIG_LATE_HWDOM) . = ALIGN(POINTER_ALIGN); __start_vpci_array = .; @@ -151,10 +155,6 @@ SECTIONS *(.init.setup) __setup_end = .; - __proc_info_start = .; - *(.init.proc.info) - __proc_info_end = .; - __initcall_start = .; *(.initcallpresmp.init) __presmp_initcall_end = .; -- 2.30.2