[PATCH 1/3] riscv: Use _stext not _text to denote the start of kernel code
Ard Biesheuvel
ardb+git at google.com
Wed Nov 11 08:43:47 PST 2026
From: Ard Biesheuvel <ardb at kernel.org>
On RISC-V, _text and _stext currently refer to the same location, i.e.,
the start of the .text output section, which follows the image header
(.head.text) emitted by HEAD_TEXT_SECTION. _start is the symbol that
refers to the actual start of the image.
On most other architectures, _text refers to the start of the image, and
_stext to the start of the kernel code, and generic code (such as the
EFI stub) may start relying on this distinction.
So switch the only user of _text in arch/riscv, i.e., the "Kernel code"
resource that is exposed via /proc/iomem (and from which the "Kernel
image" resource inherits its start address), over to _stext. This is a
no-op given that both symbols currently resolve to the same address, but
it permits _text to be moved to the start of the image, making it an
alias of _start.
Signed-off-by: Ard Biesheuvel <ardb at kernel.org>
---
arch/riscv/kernel/setup.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/riscv/kernel/setup.c b/arch/riscv/kernel/setup.c
index d79f99b86033..e6112d424fde 100644
--- a/arch/riscv/kernel/setup.c
+++ b/arch/riscv/kernel/setup.c
@@ -91,7 +91,7 @@ static int __init add_kernel_resources(void)
* child nodes.
*/
- code_res.start = __pa_symbol(_text);
+ code_res.start = __pa_symbol(_stext);
code_res.end = __pa_symbol(_etext) - 1;
code_res.flags = IORESOURCE_SYSTEM_RAM | IORESOURCE_BUSY;
--
2.56.0.611.g1030f0b940-goog
More information about the linux-riscv
mailing list