[PATCH v2 00/12] Simplify generic interrupt controller support

Gedare Bloom gedare at rtems.org
Wed Jun 23 01:48:35 UTC 2021


I'll review this soon, I hope. How do you know the off-by-1 that are
changed are now correct, and that these modifications aren't
introducing new off-by-1 bugs?

Gedare

On Sat, Jun 19, 2021 at 8:05 AM Sebastian Huber
<sebastian.huber at embedded-brains.de> wrote:
>
> Chris thankfully reminded me that my first patch set was far too sloppy:
>
> https://lists.rtems.org/pipermail/devel/2021-June/067858.html
>
> I did split it up into parts which are easier to review and test.  This patch
> set simplifies the generic interrupt controller support a bit to prepare for
> more complex follow up changes.  It basically replaces the BSP-provided defines
> BSP_INTERRUPT_VECTOR_MIN and BSP_INTERRUPT_VECTOR_MAX with
> BSP_INTERRUPT_VECTOR_COUNT.  The correctness of the changes was checked by
> adding a C pre processor assertion and building all BSPs.
>
> Sebastian Huber (12):
>   bsps/irq: Remove BSP_INTERRUPT_NO_HEAP_USAGE
>   bsp/genmcf548x: Change BSP_INTERRUPT_VECTOR_MIN
>   bsp/generic_or1k: Remove incomplete IRQ support
>   bsps/irq: Assert BSP_INTERRUPT_VECTOR_MIN == 0
>   bsps/irq: Remove BSP_INTERRUPT_VECTOR_MIN
>   smpcapture02: Fix use of BSP_INTERRUPT_VECTOR_MAX
>   bsps/irq: Add BSP_INTERRUPT_VECTOR_COUNT
>   bsps/irq: Remove BSP_INTERRUPT_VECTOR_NUMBER
>   bsps/irq: Use BSP_INTERRUPT_VECTOR_COUNT
>   bsps/irq: Remove BSP_INTERRUPT_VECTOR_MAX
>   bsps/irq: Default BSP_INTERRUPT_VECTOR_COUNT == 0
>   bsp/atsam: Fix BSP_INTERRUPT_VECTOR_COUNT
>
>  bsps/aarch64/a53/include/bsp/irq.h            |  3 +-
>  bsps/aarch64/a72/include/bsp/irq.h            |  3 +-
>  bsps/aarch64/xilinx-zynqmp/include/bsp/irq.h  |  3 +-
>  bsps/arm/altera-cyclone-v/include/bsp/irq.h   |  4 +-
>  bsps/arm/atsam/include/bsp/irq.h              |  4 +-
>  bsps/arm/atsam/start/bspstart.c               |  2 +-
>  bsps/arm/beagle/include/bsp/irq.h             |  3 +-
>  bsps/arm/beagle/irq/irq.c                     |  2 +-
>  bsps/arm/csb336/include/bsp/irq.h             |  4 +-
>  bsps/arm/csb337/include/bsp/irq.h             |  4 +-
>  bsps/arm/edb7312/include/bsp/irq.h            |  4 +-
>  bsps/arm/fvp/include/bsp/irq.h                |  5 +--
>  bsps/arm/gumstix/include/bsp/irq.h            |  4 +-
>  bsps/arm/imx/include/bsp/irq.h                |  3 +-
>  bsps/arm/imxrt/include/bsp/irq.h              |  3 +-
>  bsps/arm/lm3s69xx/include/bsp/irq.h           |  3 +-
>  bsps/arm/lpc176x/include/bsp/irq.h            |  4 +-
>  bsps/arm/lpc176x/irq/irq.c                    |  2 +-
>  bsps/arm/lpc24xx/include/bsp/irq.h            |  6 +--
>  bsps/arm/lpc24xx/irq/irq.c                    |  4 +-
>  bsps/arm/lpc32xx/include/bsp/irq.h            |  5 +--
>  bsps/arm/raspberrypi/include/bsp/irq.h        |  5 +--
>  bsps/arm/realview-pbx-a9/include/bsp/irq.h    |  3 +-
>  bsps/arm/rtl22xx/include/bsp/irq.h            |  4 +-
>  bsps/arm/shared/irq/irq-armv7m.c              |  2 +-
>  bsps/arm/shared/start/start.S                 |  2 +-
>  bsps/arm/smdk2410/include/bsp/irq.h           |  4 +-
>  bsps/arm/stm32f4/include/bsp/irq.h            |  3 +-
>  bsps/arm/stm32h7/include/bsp/irq.h            |  4 +-
>  bsps/arm/tms570/include/bsp/irq.h             |  3 +-
>  bsps/arm/tms570/irq/irq.c                     |  2 +-
>  bsps/arm/xen/include/bsp/irq.h                |  3 +-
>  bsps/arm/xilinx-zynq/include/bsp/irq.h        |  3 +-
>  bsps/arm/xilinx-zynqmp/include/bsp/irq.h      |  3 +-
>  bsps/i386/include/bsp/irq.h                   |  3 +-
>  bsps/include/bsp/irq-default.h                | 12 +++---
>  bsps/include/bsp/irq-generic.h                | 30 ++++---------
>  bsps/lm32/include/bsp/irq.h                   |  7 +--
>  bsps/m68k/genmcf548x/include/bsp/irq.h        |  4 +-
>  bsps/m68k/genmcf548x/irq/irq.c                | 18 +++++---
>  bsps/mips/csb350/include/bsp/irq.h            |  3 +-
>  bsps/mips/hurricane/include/bsp/irq.h         |  3 +-
>  bsps/mips/jmr3904/include/bsp/irq.h           |  4 +-
>  bsps/mips/malta/include/bsp/irq.h             |  4 +-
>  bsps/mips/rbtx4925/include/bsp/irq.h          |  3 +-
>  bsps/mips/rbtx4938/include/bsp/irq.h          |  3 +-
>  bsps/mips/shared/irq/irq.c                    |  2 +-
>  bsps/or1k/generic_or1k/include/bsp/irq.h      |  3 +-
>  bsps/or1k/generic_or1k/irq/irq.c              | 43 -------------------
>  bsps/powerpc/gen5200/include/bsp/irq.h        |  4 +-
>  bsps/powerpc/gen83xx/include/bsp/irq.h        |  4 +-
>  .../motorola_powerpc/include/bsp/irq.h        |  3 +-
>  bsps/powerpc/mpc55xxevb/include/bsp/irq.h     |  5 +--
>  bsps/powerpc/mpc8260ads/include/bsp/irq.h     |  4 +-
>  bsps/powerpc/psim/include/bsp/irq.h           |  3 +-
>  bsps/powerpc/qemuppc/include/bsp/irq.h        |  4 +-
>  bsps/powerpc/qoriq/include/bsp/irq.h          |  6 +--
>  bsps/powerpc/qoriq/irq/irq.c                  |  6 +--
>  bsps/powerpc/t32mppc/include/bsp/irq.h        |  3 +-
>  bsps/powerpc/tqm8xx/include/bsp/irq.h         |  4 +-
>  bsps/powerpc/virtex/include/bsp/irq.h         |  3 +-
>  bsps/riscv/griscv/include/bsp/irq.h           |  4 +-
>  bsps/riscv/riscv/include/bsp/irq.h            |  4 +-
>  bsps/shared/irq/irq-generic.c                 | 36 ++--------------
>  bsps/shared/irq/irq-info.c                    |  2 +-
>  bsps/shared/irq/irq-server.c                  |  2 +-
>  bsps/sparc/erc32/include/bsp/irq.h            |  3 +-
>  bsps/sparc/leon2/include/bsp/irq.h            |  3 +-
>  bsps/sparc/leon3/include/bsp/irq.h            |  3 +-
>  bsps/x86_64/include/bsp/irq.h                 |  3 +-
>  .../lib/libbsp/or1k/generic_or1k/Makefile.am  |  6 +--
>  .../bsps/or1k/generic_or1k/bspgenericor1k.yml |  4 +-
>  testsuites/smptests/smpcapture02/init.c       |  2 +-
>  73 files changed, 107 insertions(+), 272 deletions(-)
>  delete mode 100644 bsps/or1k/generic_or1k/irq/irq.c
>
> --
> 2.26.2
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list