From 2fd684e233985eac6e7a7da02026b9e95a178ffd Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 16 Jan 2018 11:42:34 +0100 Subject: bsp/qoriq: Fix hypervisor guest irq vector max Update #3085. --- c/src/lib/libbsp/powerpc/qoriq/include/irq.h | 11 ++++++++++- c/src/lib/libbsp/powerpc/qoriq/startup/bsprestart.c | 6 +++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/c/src/lib/libbsp/powerpc/qoriq/include/irq.h b/c/src/lib/libbsp/powerpc/qoriq/include/irq.h index 45bceee9f8..e178057950 100644 --- a/c/src/lib/libbsp/powerpc/qoriq/include/irq.h +++ b/c/src/lib/libbsp/powerpc/qoriq/include/irq.h @@ -32,6 +32,12 @@ extern "C" { #endif /* __cplusplus */ +#ifdef QORIQ_IS_HYPERVISOR_GUEST + +#define BSP_INTERRUPT_VECTOR_MAX 1023 + +#else /* !QORIQ_IS_HYPERVISOR_GUEST */ + #define QORIQ_IRQ_ERROR 0 #if QORIQ_CHIP_IS_T_VARIANT(QORIQ_CHIP_VARIANT) @@ -344,8 +350,12 @@ extern "C" { #define QORIQ_IRQ_GT_B_2 (QORIQ_IRQ_GT_BASE + 6) #define QORIQ_IRQ_GT_B_3 (QORIQ_IRQ_GT_BASE + 7) +#define BSP_INTERRUPT_VECTOR_MAX QORIQ_IRQ_GT_B_3 + /** @} */ +#endif /* QORIQ_IS_HYPERVISOR_GUEST */ + /** * @defgroup QorIQInterrupt QorIQ - Interrupt Support * @@ -357,7 +367,6 @@ extern "C" { */ #define BSP_INTERRUPT_VECTOR_MIN 0 -#define BSP_INTERRUPT_VECTOR_MAX QORIQ_IRQ_GT_B_3 #define QORIQ_PIC_PRIORITY_LOWEST 1 #define QORIQ_PIC_PRIORITY_HIGHEST 15 diff --git a/c/src/lib/libbsp/powerpc/qoriq/startup/bsprestart.c b/c/src/lib/libbsp/powerpc/qoriq/startup/bsprestart.c index 3558334fbd..ac09971529 100644 --- a/c/src/lib/libbsp/powerpc/qoriq/startup/bsprestart.c +++ b/c/src/lib/libbsp/powerpc/qoriq/startup/bsprestart.c @@ -48,7 +48,7 @@ static RTEMS_NO_RETURN void do_restart(void *addr) bsp_fatal(QORIQ_FATAL_RESTART_FAILED); } -#ifdef RTEMS_SMP +#if defined(RTEMS_SMP) && !defined(QORIQ_IS_HYPERVISOR_GUEST) #include #include @@ -133,7 +133,7 @@ void bsp_restart(void *addr) bsp_fatal(QORIQ_FATAL_RESTART_INTERRUPT_FAILED); } -#else /* RTEMS_SMP */ +#else /* !RTEMS_SMP || QORIQ_IS_HYPERVISOR_GUEST */ void bsp_restart(void *addr) { @@ -144,4 +144,4 @@ void bsp_restart(void *addr) do_restart(addr); } -#endif /* !RTEMS_SMP */ +#endif /* RTEMS_SMP && !QORIQ_IS_HYPERVISOR_GUEST */ -- cgit v1.2.3