feat(interrupts): support Other S-Int action field
Secure partitions can request SPMC to queue secure interrupts that
are targetted for other SPs through a new field. This patch adds
support for SPs to specify the field `other-s-interrupts-action` in
their manifest.
Change-Id: I6c68b1b7216c5121d3d8e522ede94a9c291c3403
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
diff --git a/src/manifest_test.cc b/src/manifest_test.cc
index b3807ea..6271da6 100644
--- a/src/manifest_test.cc
+++ b/src/manifest_test.cc
@@ -879,11 +879,20 @@
/* clang-format on */
ASSERT_EQ(ffa_manifest_from_vec(&m, dtb),
MANIFEST_ERROR_NOT_COMPATIBLE);
- manifest_dealloc();
+
+ /*
+ * No need to invoke manifest_dealloac() since manifest TearDown calls
+ * it when the test ends.
+ */
+}
+
+TEST_F(manifest, ffa_validate_interrupt_actions)
+{
+ struct_manifest *m;
/* Incompatible NS interrupt action */
/* clang-format off */
- dtb = ManifestDtBuilder()
+ std::vector<char> dtb = ManifestDtBuilder()
.Compatible({ "arm,ffa-manifest-1.0" })
.Property("ffa-version", "<0x10000>")
.Property("uuid", "<0xb4b5671e 0x4a904fe1 0xb81ffb13 0xdae1dacb>")
@@ -897,7 +906,8 @@
.Property("ns-interrupts-action", "<4>")
.Build();
/* clang-format on */
- ASSERT_EQ(ffa_manifest_from_vec(&m, dtb), MANIFEST_ILLEGAL_NS_ACTION);
+ ASSERT_EQ(ffa_manifest_from_vec(&m, dtb),
+ MANIFEST_ERROR_ILLEGAL_NS_INT_ACTION);
}
TEST_F(manifest, ffa_validate_rxtx_info)