linux/arch/riscv
Daniel Maslowski 6e62dab357 riscv/purgatory: align riscv_kernel_entry
commit fb197c5d2f upstream.

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 on a JH7110 SoC with oreboot and its SBI delegating
unaligned access exceptions and the kernel configured to handle them.

Fixes: 736e30af58 ("RISC-V: Add purgatory")
Signed-off-by: Daniel Maslowski <cyrevolt@gmail.com>
Reviewed-by: Alexandre Ghiti <alexghiti@rivosinc.com>
Link: https://lore.kernel.org/r/20240719170437.247457-1-cyrevolt@gmail.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-11-14 13:19:38 +01:00
..
boot riscv: dts: starfive: add assigned-clock* to limit frquency 2024-09-18 19:24:10 +02:00
configs Kbuild updates for v6.6 2023-09-05 11:01:47 -07:00
errata riscv: errata: andes: Probe for IOCP only once in boot stage 2023-12-13 18:45:19 +01:00
include RISC-V: Don't have MAX_PHYSMEM_BITS exceed phys_addr_t 2024-10-17 15:24:17 +02:00
kernel riscv: Remove duplicated GET_RM 2024-11-08 16:28:25 +01:00
kvm RISC-V: KVM: Fix sbiret init before forwarding to userspace 2024-10-04 16:28:51 +02:00
lib riscv: uaccess: Return the number of bytes effectively not copied 2023-08-16 07:30:06 -07:00
mm membarrier: riscv: Add full memory barrier in switch_mm() 2024-09-12 11:11:45 +02:00
net riscv, bpf: Make BPF_CMPXCHG fully ordered 2024-11-01 01:58:25 +01:00
purgatory riscv/purgatory: align riscv_kernel_entry 2024-11-14 13:19:38 +01:00
tools riscv: Check relocations at compile time 2023-04-19 07:46:32 -07:00
Kbuild kexec: rename ARCH_HAS_KEXEC_PURGATORY 2023-08-18 10:18:54 -07:00
Kconfig riscv: Fix kernel stack size when KASAN is enabled 2024-10-10 11:57:53 +02:00
Kconfig.debug
Kconfig.errata riscv: only select DMA_DIRECT_REMAP from RISCV_ISA_ZICBOM and ERRATA_THEAD_PBMT 2023-10-26 09:42:38 +02:00
Kconfig.socs riscv: Kconfig: Add select ARM_AMBA to SOC_STARFIVE 2023-12-13 18:45:35 +01:00
Makefile kbuild: unify vdso_install rules 2024-06-12 11:12:32 +02:00
Makefile.postlink riscv: Use --emit-relocs in order to move .rela.dyn in init 2023-04-19 07:46:33 -07:00