feat(ff-a): notifications bitmap create and destroy ABIs

Defined wrappers for FF-A calls:
- FFA_NOTIFICATION_BITMAP_CREATE;
- FFA_NOTIFICATION_BITMAP_DESTROY;

Signed-off-by: J-Alves <joao.alves@arm.com>
Change-Id: Ia3dfbfa083807d696f937d677516d80223f04f58
diff --git a/include/runtime_services/ffa_helpers.h b/include/runtime_services/ffa_helpers.h
index c3f6294..07bc33a 100644
--- a/include/runtime_services/ffa_helpers.h
+++ b/include/runtime_services/ffa_helpers.h
@@ -425,6 +425,9 @@
 			            uint32_t fragment_length);
 smc_ret_values ffa_mem_relinquish(void);
 smc_ret_values ffa_mem_reclaim(uint64_t handle, uint32_t flags);
+smc_ret_values ffa_notification_bitmap_create(ffa_id_t vm_id,
+					      ffa_vcpu_count_t vcpu_count);
+smc_ret_values ffa_notification_bitmap_destroy(ffa_id_t vm_id);
 
 #endif /* __ASSEMBLY__ */
 
diff --git a/include/runtime_services/ffa_svc.h b/include/runtime_services/ffa_svc.h
index 921fdbe..3190e76 100644
--- a/include/runtime_services/ffa_svc.h
+++ b/include/runtime_services/ffa_svc.h
@@ -126,7 +126,11 @@
 	FFA_FID(SMC_32, FFA_FNUM_MEM_RETRIEVE_REQ)
 #define FFA_MEM_RETRIEVE_RESP	FFA_FID(SMC_32, FFA_FNUM_MEM_RETRIEVE_RESP)
 #define FFA_MEM_RELINQUISH	FFA_FID(SMC_32, FFA_FNUM_MEM_RELINQUISH)
-#define FFA_MEM_RECLAIM	FFA_FID(SMC_32, FFA_FNUM_MEM_RECLAIM)
+#define FFA_MEM_RECLAIM		FFA_FID(SMC_32, FFA_FNUM_MEM_RECLAIM)
+#define FFA_NOTIFICATION_BITMAP_CREATE	\
+	FFA_FID(SMC_32, FFA_FNUM_NOTIFICATION_BITMAP_CREATE)
+#define FFA_NOTIFICATION_BITMAP_DESTROY	\
+	FFA_FID(SMC_32, FFA_FNUM_NOTIFICATION_BITMAP_DESTROY)
 #define FFA_SPM_ID_GET		FFA_FID(SMC_32, FFA_FNUM_SPM_ID_GET)
 
 /* FFA SMC64 FIDs */
diff --git a/tftf/tests/runtime_services/secure_service/ffa_helpers.c b/tftf/tests/runtime_services/secure_service/ffa_helpers.c
index 2220148..99f0318 100644
--- a/tftf/tests/runtime_services/secure_service/ffa_helpers.c
+++ b/tftf/tests/runtime_services/secure_service/ffa_helpers.c
@@ -499,3 +499,39 @@
 
 	return tftf_smc(&args);
 }
+
+/** Create Notifications Bitmap for the given VM */
+smc_ret_values ffa_notification_bitmap_create(ffa_id_t vm_id,
+					      ffa_vcpu_count_t vcpu_count)
+{
+	smc_args args = {
+		.fid = FFA_NOTIFICATION_BITMAP_CREATE,
+		.arg1 = vm_id,
+		.arg2 = vcpu_count,
+		.arg3 = FFA_PARAM_MBZ,
+		.arg4 = FFA_PARAM_MBZ,
+		.arg5 = FFA_PARAM_MBZ,
+		.arg6 = FFA_PARAM_MBZ,
+		.arg7 = FFA_PARAM_MBZ,
+	};
+
+	return tftf_smc(&args);
+}
+
+/** Destroy Notifications Bitmap for the given VM */
+smc_ret_values ffa_notification_bitmap_destroy(ffa_id_t vm_id)
+{
+	smc_args args = {
+		.fid = FFA_NOTIFICATION_BITMAP_DESTROY,
+		.arg1 = vm_id,
+		.arg2 = FFA_PARAM_MBZ,
+		.arg3 = FFA_PARAM_MBZ,
+		.arg4 = FFA_PARAM_MBZ,
+		.arg5 = FFA_PARAM_MBZ,
+		.arg6 = FFA_PARAM_MBZ,
+		.arg7 = FFA_PARAM_MBZ,
+	};
+
+	return tftf_smc(&args);
+}
+