[PATCH] riscv/purgatory: align riscv_kernel_entry

Daniel Maslowski cyrevolt at googlemail.com
Mon Jul 8 18:26:06 PDT 2024


When alignment handling is delegated to the kernel, everything must be
word-aligned in purgatory, since the trap handler is then set to the
kexec one. Without the alignment, hitting the exception would
ultimately crash. On other occasions, the kernel's handler would take
care of exceptions.
This has been tested with oreboot and its SBI delegating unaligned
access exceptions and the kernel configured to handle them.

Signed-off-by: Daniel Maslowski <cyrevolt at gmail.com>
---
 arch/riscv/purgatory/entry.S | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/riscv/purgatory/entry.S b/arch/riscv/purgatory/entry.S
index 5bcf3af903da..29121650a941 100644
--- a/arch/riscv/purgatory/entry.S
+++ b/arch/riscv/purgatory/entry.S
@@ -34,6 +34,7 @@ SYM_CODE_END(purgatory_start)
 
 .data
 
+.align 4
 SYM_DATA(riscv_kernel_entry, .quad 0)
 
 .end
-- 
2.34.1




More information about the linux-riscv mailing list