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.