From 482b993b88e90a32f98250df411de7dec29c8ed1 Mon Sep 17 00:00:00 2001 From: Wayne Ren Date: Thu, 26 Sep 2019 21:02:30 +0800 Subject: [PATCH] tests: add the case for ARC in yaml * add the case for ARC in yaml after dynamic and direct irq are supported * fix the bug that index in sw_isr_table should have a offset of CONFIG_GEN_IRQ_START_VECTOR Signed-off-by: Wayne Ren --- tests/kernel/gen_isr_table/testcase.yaml | 6 ++++++ tests/kernel/interrupt/src/main.c | 5 +++-- tests/kernel/interrupt/testcase.yaml | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/tests/kernel/gen_isr_table/testcase.yaml b/tests/kernel/gen_isr_table/testcase.yaml index 5069eb32b4d..c309f4c6e21 100644 --- a/tests/kernel/gen_isr_table/testcase.yaml +++ b/tests/kernel/gen_isr_table/testcase.yaml @@ -4,3 +4,9 @@ tests: stm32_min_dev_blue usb_kw24d512 v2m_beetle filter: CONFIG_GEN_ISR_TABLES and CONFIG_ARMV7_M_ARMV8_M_MAINLINE tags: interrupt isr_table + arch.interrupt.arc: + arch_whitelist: arc + filter: CONFIG_RGF_NUM_BANKS > 1 + extra_configs: + - CONFIG_ARC_FIRQ_STACK=y + - CONFIG_TEST_HW_STACK_PROTECTION=n diff --git a/tests/kernel/interrupt/src/main.c b/tests/kernel/interrupt/src/main.c index 713057de748..1ed124bd547 100644 --- a/tests/kernel/interrupt/src/main.c +++ b/tests/kernel/interrupt/src/main.c @@ -32,7 +32,7 @@ static void do_isr_dynamic(void) int i; void *argval; - for (i = CONFIG_GEN_IRQ_START_VECTOR; i < CONFIG_NUM_IRQS; i++) { + for (i = 0; i < (CONFIG_NUM_IRQS - CONFIG_GEN_IRQ_START_VECTOR); i++) { if (_sw_isr_table[i].isr == z_irq_spurious) { break; } @@ -42,7 +42,8 @@ static void do_isr_dynamic(void) "could not find slot for dynamic isr"); argval = &i; - z_arch_irq_connect_dynamic(i, 0, dyn_isr, argval, 0); + z_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, diff --git a/tests/kernel/interrupt/testcase.yaml b/tests/kernel/interrupt/testcase.yaml index 9eb17b51092..6c1f2dc4875 100644 --- a/tests/kernel/interrupt/testcase.yaml +++ b/tests/kernel/interrupt/testcase.yaml @@ -1,6 +1,6 @@ tests: arch.interrupt: - arch_exclude: nios2 riscv32 arc + arch_exclude: nios2 riscv32 platform_exclude: qemu_x86 qemu_x86_coverage qemu_x86_64 tags: interrupt