mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
riscv: implement local_irq_{save,restore} macros
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@sifive.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
This commit is contained in:
committed by
Leo Yu-Chi Liang
parent
3c874711ba
commit
551de2169a
@@ -7,15 +7,24 @@
|
||||
#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 { \
|
||||
__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)
|
||||
|
||||
/* Hook to set up the CPU (called from SPL too) */
|
||||
int riscv_cpu_setup(void *ctx, struct event *event);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user