feat(cactus): validate NPI injection
Cactus SP can now handle the Notification Pending Interrupt:
- Added `npi_handled` array to track the CPUs that have handled the
NPI. The NPI handler will set the index of related to the respective
core.
- Extended and refactored cactus command CACTUS_NOTIFICATION_GET_CMD,
such that the sender can specify that the NPI is to be validated.
Signed-off-by: J-Alves <joao.alves@arm.com>
Change-Id: I2d5728ec4fe2d14fb9ba6f0ba5230ef652467f85
diff --git a/spm/cactus/cactus_interrupt.c b/spm/cactus/cactus_interrupt.c
index 31c6a69..ef3d5cc 100644
--- a/spm/cactus/cactus_interrupt.c
+++ b/spm/cactus/cactus_interrupt.c
@@ -16,6 +16,10 @@
#include <platform_def.h>
+#define NOTIFICATION_PENDING_INTERRUPT_INTID 5
+
+extern void notification_pending_interrupt_handler(void);
+
extern ffa_id_t g_ffa_id;
void cactus_interrupt_handler(void)
@@ -43,6 +47,9 @@
spm_interrupt_deactivate(intid);
break;
+ case NOTIFICATION_PENDING_INTERRUPT_INTID:
+ notification_pending_interrupt_handler();
+ break;
default:
/*
* Currently the only source of secure interrupt is Trusted