Move IRQ numbers to config lib and annotate with corresponding ID from top_matcha.h Change-Id: I026a541a6d7136261c316510a66e8e39d7313491
diff --git a/config/src/lib.rs b/config/src/lib.rs index 08f6eaf..155222f 100644 --- a/config/src/lib.rs +++ b/config/src/lib.rs
@@ -16,5 +16,7 @@ pub const CAPSULE_MAILBOX: usize = 0x50005; pub const CMD_ELFLOADER_BOOT_SEL4: usize = 10; - pub const CMD_DPRINTF_PRINT: usize = 0; + +pub const IRQ_UART0_TX_WATERMARK: u32 = 1; // kTopMatchaPlicIrqIdUart0TxWatermark @ top_matcha.h +pub const IRQ_UART0_RX_PARITY_ERR: u32 = 8; // kTopMatchaPlicIrqIdUart0RxParityErr @ top_matcha.h
diff --git a/platform/src/chip.rs b/platform/src/chip.rs index dd37838..f339bbf 100644 --- a/platform/src/chip.rs +++ b/platform/src/chip.rs
@@ -12,6 +12,7 @@ use crate::timer; use crate::uart; use matcha_hal::plic_hal; +use matcha_config::*; PMPConfigMacro!(4); @@ -20,9 +21,6 @@ pub const CHIP_PERIPH_FREQ: u32 = 125_000; pub const CHIP_UART_BPS: u32 = 9600; -pub const UART0_TX_WATERMARK: u32 = 1; -pub const UART0_RX_PARITY_ERR: u32 = 8; - pub struct Matcha<A: 'static + Alarm<'static>> { userspace_kernel_boundary: SysCall, pmp: PMP, @@ -47,7 +45,7 @@ unsafe fn handle_plic_interrupts(&self) { while let Some(interrupt) = plic_hal::next_pending() { match interrupt { - UART0_TX_WATERMARK..=UART0_RX_PARITY_ERR => uart::UART0.handle_interrupt(), + IRQ_UART0_TX_WATERMARK..=IRQ_UART0_RX_PARITY_ERR => uart::UART0.handle_interrupt(), _ => debug!("Pidx {}", interrupt), } plic_hal::complete(interrupt);