Add support for SMMUv3 driver to perform stage 2 translation

This patch adds support for SMMUv3 driver at (S)EL-2 in Hafnium to
perform stage 2 translation, protection and isolation of upstream
peripheral device's DMA transactions.

Change-Id: Ib16389981d0b30053ecd6f20e752d73c38d12f3d
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
diff --git a/inc/hf/manifest.h b/inc/hf/manifest.h
index dc58b58..8a01883 100644
--- a/inc/hf/manifest.h
+++ b/inc/hf/manifest.h
@@ -15,6 +15,7 @@
 #include "hf/vm.h"
 
 #define MANIFEST_INVALID_ADDRESS UINT64_MAX
+#define MANIFEST_INVALID_ID UINT32_MAX
 
 #define SP_PKG_HEADER_MAGIC (0x474b5053)
 #define SP_PKG_HEADER_VERSION (0x1)
@@ -88,6 +89,8 @@
 	struct interrupt interrupts[SP_MAX_INTERRUPTS_PER_DEVICE];
 	/** SMMU ID - optional */
 	uint32_t smmu_id;
+	/** Count of Stream IDs assigned to device - optional */
+	uint8_t stream_count;
 	/** List of Stream IDs assigned to device - optional */
 	uint32_t stream_ids[SP_MAX_STREAMS_PER_DEVICE];
 	/** Exclusive access to an endpoint - optional */