[PATCH] LEON3: add support for IRQ16..31 for CPU!=0
Joel Sherrill
joel.sherrill at OARcorp.com
Fri May 23 13:17:35 UTC 2014
On 5/23/2014 7:26 AM, Daniel Hellstrom wrote:
> ---
> c/src/lib/libbsp/sparc/leon3/include/leon.h | 6 ++++--
> 1 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/c/src/lib/libbsp/sparc/leon3/include/leon.h b/c/src/lib/libbsp/sparc/leon3/include/leon.h
> index bda28f2..d21f054 100644
> --- a/c/src/lib/libbsp/sparc/leon3/include/leon.h
> +++ b/c/src/lib/libbsp/sparc/leon3/include/leon.h
> @@ -25,6 +25,7 @@
>
> #include <rtems.h>
> #include <amba.h>
> +#include <rtems/score/cpu.h>
>
I am surprised you need this. It is included as a side-effect of
including rtems.h.
Just to be sure I checked the dependencies for init.c for the
hello world sample and it listed rtems/score/cpu.h. Try
compiling with that .h
> #ifdef __cplusplus
> extern "C" {
> @@ -130,11 +131,12 @@ extern int LEON3_IrqCtrl_EIrq;
>
> static __inline__ int bsp_irq_fixup(int irq)
> {
> - int eirq;
> + int eirq, cpu;
>
> if (LEON3_IrqCtrl_EIrq != 0 && irq == LEON3_IrqCtrl_EIrq) {
> /* Get interrupt number from IRQ controller */
> - eirq = LEON3_IrqCtrl_Regs->intid[LEON3_Cpu_Index] & 0x1f;
Will LEON3_Cpu_Index end up being removed?
> + cpu = _LEON3_Get_current_processor();
> + eirq = LEON3_IrqCtrl_Regs->intid[cpu] & 0x1f;
> if (eirq & 0x10)
> irq = eirq;
> }
Does this method use tabs or 8 space indentation? Either isn't right.
--
Joel Sherrill, Ph.D. Director of Research & Development
joel.sherrill at OARcorp.com On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (256) 722-9985
More information about the devel
mailing list