bsps/riscv: interrupt number mismatch
Sebastian Huber
sebastian.huber at embedded-brains.de
Mon Nov 21 09:53:46 UTC 2022
On 21/11/2022 10:50, Padmarao.Begari at microchip.com wrote:
> The interrupt number(vector) mention in the device tree node is working
> when the driver is used the RISCV_INTERRUPT_VECTOR_EXTERNAL() and later
> called the RISCV_INTERRUPT_VECTOR_EXTERNAL_TO_INDEX() in the RTEMS but
> the interrupt number is decreased by 2 when registering the interrupt
> from the RTEMS-LIBBSD driver(ex: Cadence GEM). The RTEMS-LIBBSD doesn't
> call the RISCV_INTERRUPT_VECTOR_EXTERNAL() but called the RISCV_INTERRU
> PT_VECTOR_EXTERNAL_TO_INDEX() for interrupt enable.
>
> In "bsps/riscv/riscv/include/bsp/irq.h"
>
> #define RISCV_INTERRUPT_VECTOR_EXTERNAL(x) ((x) + 2)
>
> #define RISCV_INTERRUPT_VECTOR_IS_EXTERNAL(x) ((x) >= 2)
>
> #define RISCV_INTERRUPT_VECTOR_EXTERNAL_TO_INDEX(x) ((x) - 2)
>
> Can we create a config file for non-external interrupt vector index
> instead of '2'?
>
> like '2' for RISC-V GENERIC and '0' for PolarFire SoC.
To which number would you map the software and timer interrupts?
Can't this off by two problem be fixed by bsp_fdt_map_intr()?
--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.huber at embedded-brains.de
phone: +49-89-18 94 741 - 16
fax: +49-89-18 94 741 - 08
Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
More information about the devel
mailing list