diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-01-16 11:42:34 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-01-22 07:21:20 +0100 |
commit | 2fd684e233985eac6e7a7da02026b9e95a178ffd (patch) | |
tree | a0fbe484dde2703d8ccb53dcc72c76dd8d385334 | |
parent | bsp/qoriq: Optional multiprocessing support (diff) | |
download | rtems-2fd684e233985eac6e7a7da02026b9e95a178ffd.tar.bz2 |
bsp/qoriq: Fix hypervisor guest irq vector max
Update #3085.
-rw-r--r-- | c/src/lib/libbsp/powerpc/qoriq/include/irq.h | 11 | ||||
-rw-r--r-- | 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 <rtems/score/smpimpl.h> #include <rtems/score/smpbarrier.h> @@ -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 */ |