[PATCH v2] riscv/purgatory: align riscv_kernel_entry

Alexandre Ghiti alex at ghiti.fr
Thu Jul 18 10:10:31 PDT 2024


Hi Daniel,

On 16/07/2024 22:40, Daniel Maslowski wrote:
> 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: 736e30af583fb6e0e2b8211b894ff99dea0f1ee7
> Signed-off-by: Daniel Maslowski <cyrevolt at gmail.com>
> ---
>   arch/riscv/purgatory/entry.S | 2 ++
>   1 file changed, 2 insertions(+)
>
> diff --git a/arch/riscv/purgatory/entry.S b/arch/riscv/purgatory/entry.S
> index 5bcf3af903da..0e6ca6d5ae4b 100644
> --- a/arch/riscv/purgatory/entry.S
> +++ b/arch/riscv/purgatory/entry.S
> @@ -7,6 +7,7 @@
>    * Author: Li Zhengyu (lizhengyu3 at huawei.com)
>    *
>    */
> +#include <asm/asm.h>
>   #include <linux/linkage.h>
>   
>   .text
> @@ -34,6 +35,7 @@ SYM_CODE_END(purgatory_start)
>   
>   .data
>   
> +.align LGREG
>   SYM_DATA(riscv_kernel_entry, .quad 0)
>   
>   .end


With the Fixes tag fixed like Matthias suggested, you can add:

Reviewed-by: Alexandre Ghiti <alexghiti at rivosinc.com>

Thanks,

Alex




More information about the linux-riscv mailing list