[PATCH 2/3] riscv: implement local_irq_{save,restore} macros
Leo Liang
ycliang at andestech.com
Mon Jun 12 09:47:52 CEST 2023
Hi Ben,
On Fri, May 05, 2023 at 09:02:06AM +0100, Ben Dooks wrote:
> Add implementations of the local_irq_{save,restore} macros so that
> <asm/atomic.h> can be used with riscv.
>
> Signed-off-by: Ben Dooks <ben.dooks at sifive.com>
> ---
> arch/riscv/include/asm/system.h | 15 +++++++++++----
> 1 file changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/arch/riscv/include/asm/system.h b/arch/riscv/include/asm/system.h
> index 9d8e43e394..78093681e5 100644
> --- a/arch/riscv/include/asm/system.h
> +++ b/arch/riscv/include/asm/system.h
> @@ -7,15 +7,22 @@
> #ifndef __ASM_RISCV_SYSTEM_H
> #define __ASM_RISCV_SYSTEM_H
>
> +#include <asm/csr.h>
> +
> struct event;
>
> /*
> - * Interrupt configuring macros.
> - *
> - * TODO
> - *
> + * Interupt configuration macros
> */
>
> +#define local_irq_save(__flags) do { \
Can we have this "do" in a new line just like what kernel does?
> + __flags = csr_read_clear(CSR_SSTATUS, SR_SIE) & SR_SIE; \
> + } while (0)
> +
> +#define local_irq_restore(__flags) do { \
> + csr_set(CSR_SSTATUS, __flags & SR_SIE); \
> + } while(0)
^
a space missing
> +
> /* Hook to set up the CPU (called from SPL too) */
> int riscv_cpu_setup(void *ctx, struct event *event);
>
If you don't mind, I could make these format modification on my side,
so you don't have to spin another patch set.
Best regards,
Leo
> --
> 2.39.2
>
More information about the U-Boot
mailing list