feat(lib/granule): Add dev_granule object type

Define dev_granule structure type and add device granule
objects to manage device memory in PCI regions.
Define device granule states:
- DEV_GRANULE_STATE_NS
- DEV_GRANULE_STATE_DELEGATED
- DEV_GRANULE_STATE_MAPPED
Add locking primitives and access functions for
dev_granule objects.
Add dev_granules[RMM_MAX_DEV_GRANULES] array of
dev_granule structures.

Change-Id: I857095a997f78d2c39b3958056460112f3b34595
Signed-off-by: AlexeiFedorov <Alexei.Fedorov@arm.com>
diff --git a/tools/cbmc/CheckCBMC.cmake b/tools/cbmc/CheckCBMC.cmake
index 64df056..89694b9 100644
--- a/tools/cbmc/CheckCBMC.cmake
+++ b/tools/cbmc/CheckCBMC.cmake
@@ -54,8 +54,12 @@
 # Configurations for the initial state.
 set(GRANULE_SHIFT "9")
 set(MAX_NUM_OF_GRANULE "4")
-math(EXPR HOST_MEM_SIZE "(1 << ${GRANULE_SHIFT}) * ${MAX_NUM_OF_GRANULE}")
-set(HOST_MEM_SIZE "${HOST_MEM_SIZE}UL")
+set(MAX_NUM_OF_COH_GRANULE "1")
+set(MAX_NUM_OF_NCOH_GRANULE "4")
+math(EXPR HOST_DRAM_SIZE "(1 << ${GRANULE_SHIFT}) * ${MAX_NUM_OF_GRANULE}")
+set(HOST_DRAM_SIZE "${HOST_DRAM_SIZE}UL")
+math(EXPR HOST_NCOH_DEV_SIZE "(1 << ${GRANULE_SHIFT}) * ${MAX_NUM_OF_NCOH_GRANULE}")
+set(HOST_NCOH_DEV_SIZE "${HOST_NCOH_DEV_SIZE}UL")
 
 set(MAX_RTT_UNWIND "6")
 set(MAX_AUX_REC "2")
@@ -93,9 +97,12 @@
   "-DGRANULE_SHIFT=${GRANULE_SHIFT}"
   "-DXLAT_GRANULARITY_SIZE_SHIFT=${GRANULE_SHIFT}"
   "-DRMM_MAX_GRANULES=${MAX_NUM_OF_GRANULE}"
+  "-DRMM_MAX_COH_GRANULES=${MAX_NUM_OF_COH_GRANULE}"
+  "-DRMM_MAX_NCOH_GRANULES=${MAX_NUM_OF_NCOH_GRANULE}"
   "-DMAX_CPUS=1"
   "-DMAX_RTT_LEVEL=${MAX_RTT_UNWIND}"
-  "-DHOST_MEM_SIZE=${HOST_MEM_SIZE}"
+  "-DHOST_DRAM_SIZE=${HOST_DRAM_SIZE}"
+  "-DHOST_NCOH_DEV_SIZE=${HOST_NCOH_DEV_SIZE}"
   "-DNAME=\"RMM\""
   "-DVERSION=\"CBMC\""
   "-DCOMMIT_INFO=\"CBMC\""