Merge request https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/489 was reviewed by Sebastian Huber
-- Sebastian Huber started a new discussion on bsps/shared/irq/irq-record.c: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/489#note_125665 > -static rtems_interrupt_entry * > -_Record_Interrupt_dispatch_table[ BSP_INTERRUPT_DISPATCH_TABLE_SIZE ]; > - In general, this is the right way to fix the issue. I would still define \_Record_Interrupt_dispatch_table here, so that confdefs.h doesn't have to know anything about BSP_INTERRUPT_DISPATCH_TABLE_SIZE. The \_Record_Interrupt_dispatch_table should be declared in cpukit/include/rtems/record.h: ``` #include <rtems/rtems/intr.h> ``` ```c extern rtems_interrupt_entry *_Record_Interrupt_dispatch_table[]; ``` -- Sebastian Huber started a new discussion on bsps/shared/irq/irq-record.c: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/489#note_125666 > entry = bsp_interrupt_entry_load_acquire( > - &_Record_Interrupt_dispatch_table[ vector ] > + bsp_interrupt_get_dispatch_table_slot( vector ) This just adds an overhead. I would revert this change. -- Sebastian Huber started a new discussion on cpukit/include/rtems/confdefs/extensions.h: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/489#note_125667 > + /* The regular interrupt entries are registered in this table */ > + rtems_interrupt_entry * > + _Record_Interrupt_dispatch_table[ BSP_INTERRUPT_DISPATCH_TABLE_SIZE ]; The definition should stay in irq-record.c so that BSP_INTERRUPT_DISPATCH_TABLE_SIZE is not exposed to confdefs.h. -- Sebastian Huber started a new discussion on cpukit/include/rtems/confdefs/extensions.h: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/489#note_125668 > + _Record_Interrupt_dispatch_table[ BSP_INTERRUPT_DISPATCH_TABLE_SIZE ]; > + > + rtems_interrupt_entry **bsp_interrupt_get_dispatch_table_slot( Here we use a BSP interface in confdefs.h. I don't know a better way to address this issue. To avoid warnings, we have to declare the function here also: ```c rtems_interrupt_entry **bsp_interrupt_get_dispatch_table_slot( rtems_vector_number index ); rtems_interrupt_entry **bsp_interrupt_get_dispatch_table_slot( rtems_vector_number index ) { return &_Record_Interrupt_dispatch_table[ index ]; } ``` -- View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/489 You're receiving this email because of your account on gitlab.rtems.org.
_______________________________________________ bugs mailing list bugs@rtems.org http://lists.rtems.org/mailman/listinfo/bugs