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.do...@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 >