22#ifdef RP2350_USE_RISCV
25# define __h3_block() __asm__("slt x0, x0, x0")
27# define __h3_unblock() __asm__("slt x0, x0, x1")
43#ifdef RP2350_USE_RISCV
46 NVIC_EnableIRQ(irq_no);
56#ifdef RP2350_USE_RISCV
59 NVIC_DisableIRQ(irq_no);
78#ifdef RP2350_USE_RISCV
90#ifdef RP2350_USE_RISCV
102#ifdef RP2350_USE_RISCV
115#ifdef RP2350_USE_RISCV
static void rp_arch_init(void)
Initialize the architecture-specific components.
static void rp_end_isr(void)
Called upon the end of an ISR.
uint32_t _isr_vectors
Defined in the linker script.
static void rp_block_core(void)
Wait For Interrupt abstraction.
static void rp_irq_disable(uint32_t irq_no)
Disable the given IRQ.
static uint32_t * rp_get_vector_poiner(void)
Get a pointer to the CPU specific interrupt vector table.
static void rp_irq_enable(uint32_t irq_no)
Enable the given IRQ.
static void rp_unblock_core(void)
Set Event abstraction.
static void cortexm_isr_end(void)
Trigger a conditional context scheduler run / context switch.
void cortexm_init(void)
Initialize Cortex-M specific core parts of the CPU.
void riscv_init(void)
Initialize rv32i specific core parts of the CPU.
Peripheral CPU definitions for the RP2350.
xh3irq.h interrupt controller support
void xh3irq_enable_irq(uint32_t irq_no)
Enable the given IRQ number.
void xh3irq_disable_irq(uint32_t irq_no)
Disable the given IRQ number.
const void * vector_cpu[CPU_IRQ_NUMOF]
CPU specific interrupt vector table.