[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