]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
riscv: Set text_offset correctly for M-Mode
authorSean Anderson <seanga2@gmail.com>
Thu, 22 Oct 2020 20:30:12 +0000 (16:30 -0400)
committerStefan Bader <stefan.bader@canonical.com>
Thu, 10 Dec 2020 11:06:25 +0000 (12:06 +0100)
BugLink: https://bugs.launchpad.net/bugs/1905618
[ Upstream commit 79605f1394261995c2b955c906a5a20fb27cdc84 ]

M-Mode Linux is loaded at the start of RAM, not 2MB later. Perhaps this
should be calculated based on PAGE_OFFSET somehow? Even better would be to
deprecate text_offset and instead introduce something absolute.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
arch/riscv/kernel/head.S

index 72f89b7590dd628fa37a5e62821783e3abca2739..344793159b97ddb3d740d21ad0dbf21031b293b6 100644 (file)
@@ -26,12 +26,17 @@ ENTRY(_start)
        /* reserved */
        .word 0
        .balign 8
+#ifdef CONFIG_RISCV_M_MODE
+       /* Image load offset (0MB) from start of RAM for M-mode */
+       .dword 0
+#else
 #if __riscv_xlen == 64
        /* Image load offset(2MB) from start of RAM */
        .dword 0x200000
 #else
        /* Image load offset(4MB) from start of RAM */
        .dword 0x400000
+#endif
 #endif
        /* Effective size of kernel image */
        .dword _end - _start