1common:
2  tags:
3    - kernel
4    - interrupt
5    - isr_table
6tests:
7  arch.interrupt.gen_isr_table.arm_baseline: &arm-baseline
8    platform_allow: qemu_cortex_m3
9    filter: CONFIG_GEN_ISR_TABLES and CONFIG_ARMV6_M_ARMV8_M_BASELINE
10    extra_configs:
11      - CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y
12  arch.interrupt.gen_isr_table.arm_baseline.linker_generator: &arm-baseline-linker-generator
13    platform_allow: qemu_cortex_m3
14    filter: CONFIG_GEN_ISR_TABLES and CONFIG_ARMV6_M_ARMV8_M_BASELINE
15    tags:
16      - linker_generator
17    extra_configs:
18      - CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y
19      - CONFIG_CMAKE_LINKER_GENERATOR=y
20  arch.interrupt.gen_isr_table.arm_mainline: &arm-mainline
21    platform_allow: qemu_cortex_m3
22    platform_exclude:
23      - stm32f103_mini
24      - nucleo_f103rb
25      - olimexino_stm32
26      - stm32_min_dev@black
27      - stm32_min_dev@blue
28      - usb_kw24d512
29      - v2m_beetle
30      - cc1352r1_launchxl
31      - cc26x2r1_launchxl
32      - olimex_stm32_h103
33      - cc1352r_sensortag
34    filter: CONFIG_GEN_ISR_TABLES and CONFIG_ARMV7_M_ARMV8_M_MAINLINE
35    extra_configs:
36      - CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y
37  arch.interrupt.gen_isr_table.disabled:
38    platform_allow: qemu_cortex_m3
39    extra_configs:
40      - CONFIG_GEN_ISR_TABLES=n
41      - CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y
42    build_only: true
43
44  arch.interrupt.gen_isr_table_local.arm_baseline:
45    <<: *arm-baseline
46    filter: CONFIG_GEN_ISR_TABLES and CONFIG_ARMV6_M_ARMV8_M_BASELINE and not CONFIG_USERSPACE
47    extra_configs:
48      - CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y
49      - CONFIG_ISR_TABLES_LOCAL_DECLARATION=y
50  arch.interrupt.gen_isr_table_local.arm_baseline.linker_generator:
51    <<: *arm-baseline-linker-generator
52    filter: CONFIG_GEN_ISR_TABLES and CONFIG_ARMV6_M_ARMV8_M_BASELINE and not CONFIG_USERSPACE
53    extra_configs:
54      - CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y
55      - CONFIG_CMAKE_LINKER_GENERATOR=y
56      - CONFIG_ISR_TABLES_LOCAL_DECLARATION=y
57  arch.interrupt.gen_isr_table_local.arm_mainline:
58    <<: *arm-mainline
59    filter: CONFIG_GEN_ISR_TABLES and CONFIG_ARMV7_M_ARMV8_M_MAINLINE and not CONFIG_USERSPACE
60    extra_configs:
61      - CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y
62      - CONFIG_ISR_TABLES_LOCAL_DECLARATION=y
63  arch.interrupt.gen_isr_table_local.riscv:
64    arch_allow: riscv
65    extra_configs:
66      - CONFIG_ISR_TABLES_LOCAL_DECLARATION=y
67
68  arch.interrupt.gen_isr_table.arc:
69    arch_allow: arc
70    filter: CONFIG_RGF_NUM_BANKS > 1
71    extra_configs:
72      - CONFIG_ARC_FIRQ_STACK=y
73      - CONFIG_TEST_HW_STACK_PROTECTION=n
74  arch.interrupt.gen_isr_table.riscv_direct:
75    arch_allow: riscv
76    platform_exclude:
77      - m2gl025_miv
78      - adp_xc7k/ae350
79      - nrf9280pdk/nrf9280/cpuppr
80      - nrf9280pdk/nrf9280/cpuppr/xip
81    filter: CONFIG_RISCV_PRIVILEGED
82    extra_configs:
83      - CONFIG_GEN_IRQ_VECTOR_TABLE=y
84  arch.interrupt.gen_isr_table.riscv_no_direct:
85    platform_exclude: m2gl025_miv
86    arch_allow: riscv
87    filter: CONFIG_RISCV_PRIVILEGED and not CONFIG_NRFX_CLIC
88    extra_configs:
89      - CONFIG_GEN_IRQ_VECTOR_TABLE=n
90  arch.interrupt.gen_isr_table.bit_shift_2nd_level:
91    platform_allow: qemu_riscv32
92    extra_configs:
93      - CONFIG_MAX_IRQ_PER_AGGREGATOR=52
94      - CONFIG_1ST_LEVEL_INTERRUPT_BITS=7
95      - CONFIG_2ND_LEVEL_INTERRUPT_BITS=9
96  arch.interrupt.gen_isr_table.bit_shift_3rd_level:
97    platform_allow: qemu_riscv32
98    extra_configs:
99      - CONFIG_MAX_IRQ_PER_AGGREGATOR=52
100      - CONFIG_3RD_LEVEL_INTERRUPTS=y
101      - CONFIG_1ST_LEVEL_INTERRUPT_BITS=8
102      - CONFIG_2ND_LEVEL_INTERRUPT_BITS=11
103      - CONFIG_3RD_LEVEL_INTERRUPT_BITS=13
104