Build: Enhance tools for IRQ check

According to PSA FF 1.0.0, if no RoT Service is defined in the
services attribute, then at least one IRQ must be declared.

Change-Id: I298270470a2d4ba98e1ccb1f52a88b932e2da535
Signed-off-by: Edison Ai <edison.ai@arm.com>
diff --git a/secure_fw/services/manifestfilename.template b/secure_fw/services/manifestfilename.template
index 0af69ef..eebbd6d 100644
--- a/secure_fw/services/manifestfilename.template
+++ b/secure_fw/services/manifestfilename.template
@@ -45,6 +45,13 @@
 #error "Too many IRQ signals!"
         {% endif %}
     {% endif %}
+{% else %}
+    {# If no RoT Service is defined in the services attribute, then at least one IRQ must be declared. #}
+    {% if attr.tfm_partition_ipc %}
+        {% if (manifest.services is not defined) or ((manifest.services | length()) == 0) %}
+#error "At least one IRQ must be declared!"
+        {% endif %}
+    {% endif %}
 {% endif %}
 
 #ifdef __cplusplus