From fd79676c164bd54f8b48c18b4b9ddf7aec899c19 Mon Sep 17 00:00:00 2001 From: Marcin Szymczyk Date: Thu, 18 Apr 2024 14:06:36 +0200 Subject: [PATCH] tests: kernel: interrupt: account for custom RISCV IRQ offset `CONFIG_RISCV_RESERVED_IRQ_ISR_TABLES_OFFSET` offsets IRQ in vector table, align test to this functionality. Signed-off-by: Marcin Szymczyk --- tests/kernel/interrupt/src/dynamic_isr.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/kernel/interrupt/src/dynamic_isr.c b/tests/kernel/interrupt/src/dynamic_isr.c index d697fda32e8..1fe6db4b4b2 100644 --- a/tests/kernel/interrupt/src/dynamic_isr.c +++ b/tests/kernel/interrupt/src/dynamic_isr.c @@ -22,6 +22,12 @@ static void dyn_isr(const void *arg) #if defined(CONFIG_GEN_SW_ISR_TABLE) extern struct _isr_table_entry _sw_isr_table[]; +#if defined(CONFIG_RISCV_RESERVED_IRQ_ISR_TABLES_OFFSET) +#define IRQ_OFFSET CONFIG_RISCV_RESERVED_IRQ_ISR_TABLES_OFFSET +#else +#define IRQ_OFFSET 0 +#endif + /** * @brief Test dynamic ISR installation * @@ -55,8 +61,8 @@ ZTEST(interrupt_feature, test_isr_dynamic) arch_irq_connect_dynamic(i + CONFIG_GEN_IRQ_START_VECTOR, 0, dyn_isr, argval, 0); - zassert_true(_sw_isr_table[i].isr == dyn_isr && - _sw_isr_table[i].arg == argval, + zassert_true(_sw_isr_table[i + IRQ_OFFSET].isr == dyn_isr && + _sw_isr_table[i + IRQ_OFFSET].arg == argval, "dynamic isr did not install successfully"); } #else