66static inline __attribute__((always_inline))
69 __atomic_fetch_or(reg, mask, __ATOMIC_RELAXED);
78static inline __attribute__((always_inline))
81 __atomic_fetch_and(reg, ~mask, __ATOMIC_RELAXED);
static uintptr_t cpu_get_caller_pc(void)
Gets the last instruction's address.
static void cpu_reg_enable_bits(volatile uint32_t *reg, uint32_t mask)
Convenience function to set bit flags in a register.
void riscv_init(void)
Initialize rv32i specific core parts of the CPU.
void riscv_fpu_init(void)
Enable the rv32i FPU when present.
static void cpu_reg_disable_bits(volatile uint32_t *reg, uint32_t mask)
Convenience function to clear bit flags in a register.
void riscv_irq_init(void)
Initialization of the interrupt controller.
Implementation of the kernels irq interface.