]> xenbits.xensource.com Git - people/royger/xen.git/commitdiff
xen/arm: link: Link proc_info_list in .rodata instead of .init.data
authorOleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Fri, 7 Dec 2018 13:41:16 +0000 (15:41 +0200)
committerJulien Grall <julien.grall@arm.com>
Fri, 7 Dec 2018 14:50:36 +0000 (14:50 +0000)
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 <oleksandr_tyshchenko@epam.com>
xen/arch/arm/arm32/proc-v7.S
xen/arch/arm/xen.lds.S

index 80a250d8e856a08fa5fb5ea6bf0e7e94177f881c..46bfc7a9074c4d24b46a457110faf78b4ee9390f 100644 (file)
@@ -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 */
index 245a0e0e855b2c73ea27733adfc93e8e61ebee88..1e72906477c823bb8e8fa0502d6a90831e7e8b01 100644 (file)
@@ -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 = .;