arm64: move kimage_vaddr to .rodata
authorRemi Denis-Courmont <remi.denis.courmont@huawei.com>
Thu, 12 Mar 2020 09:40:02 +0000 (11:40 +0200)
committerCatalin Marinas <catalin.marinas@arm.com>
Tue, 24 Mar 2020 11:48:24 +0000 (11:48 +0000)
This datum is not referenced from .idmap.text: it does not need to be
mapped in idmap. Lets move it to .rodata as it is never written to after
early boot of the primary CPU.
(Maybe .data.ro_after_init would be cleaner though?)

Signed-off-by: RĂ©mi Denis-Courmont <remi@remlab.net>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/kernel/head.S

index a067273..1923802 100644 (file)
@@ -458,17 +458,19 @@ SYM_FUNC_START_LOCAL(__primary_switched)
        b       start_kernel
 SYM_FUNC_END(__primary_switched)
 
+       .pushsection ".rodata", "a"
+SYM_DATA_START(kimage_vaddr)
+       .quad           _text - TEXT_OFFSET
+SYM_DATA_END(kimage_vaddr)
+EXPORT_SYMBOL(kimage_vaddr)
+       .popsection
+
 /*
  * end early head section, begin head code that is also used for
  * hotplug and needs to have the same protections as the text region
  */
        .section ".idmap.text","awx"
 
-SYM_DATA_START(kimage_vaddr)
-       .quad           _text - TEXT_OFFSET
-SYM_DATA_END(kimage_vaddr)
-EXPORT_SYMBOL(kimage_vaddr)
-
 /*
  * If we're fortunate enough to boot at EL2, ensure that the world is
  * sane before dropping to EL1.