fix(ff-a): notification pending interrupt

Currently for S-EL1 partitions, the NPI is injected in two different
moments depending on the type of interrupt:
- For per-vCPU notifications NPI injected at the moment notifications
are set.
- For Global notifications NPI injected at context switch from the NWd
to the receiver SP.

This patch ammends what described above. The injection of the NPI now
happens at handling of FFA_RUN and FFA_MSG_SEND_DIRECT_REQ, when the
vCPU is resumed to running state.
Also, the injection of the NPI is done through the same method/function,
regardless of notifications type. This caters for a better
implementation, as it makes it easier to read and debug (if necessary).

For S-EL0 partitions, the NPI is not used. The S-EL0 partition must be
notified it has pending notifications through an IMPDEF direct messaging
request.

Change-Id: Ib1906c8e5de4be63ca7a7a1cafd25a4675b9b940
Signed-off-by: J-Alves <joao.alves@arm.com>
diff --git a/src/vm.c b/src/vm.c
index 159c08f..9e25d7d 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -907,3 +907,14 @@
 {
 	return (vm->messaging_method & msg_method) != 0;
 }
+
+void vm_notifications_set_npi_injected(struct vm_locked vm_locked,
+				       bool npi_injected)
+{
+	vm_locked.vm->notifications.npi_injected = npi_injected;
+}
+
+bool vm_notifications_is_npi_injected(struct vm_locked vm_locked)
+{
+	return vm_locked.vm->notifications.npi_injected;
+}