zephyrproject-rtos / zephyr

Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
https://docs.zephyrproject.org
Apache License 2.0
10.88k stars 6.63k forks source link

irq_connect_dynamic() is not tested on all arches #18276

Closed andrewboie closed 3 years ago

andrewboie commented 5 years ago

We have very little coverage of installing dynamic interrupts in test cases.

Even though gen_isr_tables.py is used on multiple arches, the test case for it is running only on ARM for some reason:

tests:
  arch.interrupt:
    platform_exclude: nucleo_f103rb olimexino_stm32 stm32_min_dev_black
        stm32_min_dev_blue usb_kw24d512 v2m_beetle
    filter: CONFIG_GEN_ISR_TABLES and CONFIG_ARMV7_M_ARMV8_M_MAINLINE
    tags: interrupt isr_table

Because of this, bugs like #18272 crept in.

We need to test dynamic IRQs on all arches that support it to show that they work.

aescolar commented 5 years ago

@andrewboie @rljordan : Given how our release process is, issues related to something not yet being implemented/not yet tested cannot be classified as a bug. Otherwise we would just block all our future releases. This is independent of how important or relevant the issue is, or how much we would like it to be fixed. So, I relabel it as an enhancement.

andrewboie commented 5 years ago

This is not an enhancement!

filter: CONFIG_GEN_ISR_TABLES and CONFIG_ARMV7_M_ARMV8_M_MAINLINE

The bug is that CONFIG_ARMV7_M_ARMV8_M_MAINLINE should not have been put in the filter for this test, resulting in irq_connect_dynamic() not being tested on arches that support it.

aescolar commented 5 years ago

@andrewboie Uhm, my bad. I missunderstood the bug description.

ioannisg commented 5 years ago

@andrewboie the test you mentioned was always ARM-specific, AFAICS :) Could you please, mention which other ARCHes are supposed to support dynamic interrupts ?

andrewboie commented 5 years ago

@ioannisg anything that is using gen_isr_tables.py to create their interrupt tables. Should be all arches aside from x86, I believe. ARM, ARC, RiscV, Nios II, Xtensa all use it. BTW although this is a bug I don't think it needs to be 'medium' I can drop to low.

github-actions[bot] commented 3 years ago

This issue has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this issue will automatically be closed in 14 days. Note, that you can always re-open a closed issue at any time.