From 30e51032bc333f3b7cb3c46343db4c85ab99f242 Mon Sep 17 00:00:00 2001 From: Germain Haugou Date: Tue, 11 Feb 2020 17:31:11 +0100 Subject: [PATCH] Fixed IRQ handling on cluster side on pulp-open --- include/implem/irq.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/include/implem/irq.h b/include/implem/irq.h index 575f691..b630a94 100644 --- a/include/implem/irq.h +++ b/include/implem/irq.h @@ -118,7 +118,9 @@ static inline unsigned int rt_irq_get_fc_vector_base() else { #if defined(ARCHI_HAS_CLUSTER) -#if defined(ARCHI_CLUSTER_CTRL_ADDR) +#if defined(ARCHI_CORE_HAS_1_10) + return __builtin_pulp_spr_read(SR_MTVEC) & ~1; +#elif defined(ARCHI_CLUSTER_CTRL_ADDR) return plp_ctrl_bootaddr_get(); #endif #endif @@ -146,7 +148,9 @@ static inline void rt_irq_set_fc_vector_base(unsigned int base) else { #if defined(ARCHI_HAS_CLUSTER) -#if defined(ARCHI_CLUSTER_CTRL_ADDR) +#if defined(ARCHI_CORE_HAS_1_10) + __builtin_pulp_spr_write(SR_MTVEC, base | 1); +#elif defined(ARCHI_CLUSTER_CTRL_ADDR) plp_ctrl_bootaddr_set(base); #endif #endif