/* SPDX-License-Identifier: GPL-2.0+ */ /* * Copyright (C) 2017 Andes Technology Corporation * Rick Chen, Andes Technology Corporation */ #ifndef __ASM_RISCV_SYSTEM_H #define __ASM_RISCV_SYSTEM_H #include struct event; /* * 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); #endif /* __ASM_RISCV_SYSTEM_H */