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/docs/getting_started/build-options.rst b/docs/getting_started/build-options.rst
index ca4df15..7c434ad 100644
--- a/docs/getting_started/build-options.rst
+++ b/docs/getting_started/build-options.rst
@@ -284,10 +284,11 @@
MBEDTLS_ECP_MAX_OPS ,248 - ,1000 ,"Number of max operations per ECC signing iteration"
RMM_FPU_USE_AT_REL2 ,ON | OFF ,OFF(fake_host) ON(aarch64),"Enable FPU/SIMD usage in RMM."
RMM_MAX_GRANULES , ,0 ,"Maximum number of memory granules available to the system"
- RMM_MAX_COH_GRANULES , ,0 ,"Maximum number of coherent device granules available to the system"
- RMM_MAX_NCOH_GRANULES , ,0 ,"Maximum number of non-coherent device granules available to the system"
+ RMM_MAX_COH_GRANULES , ,1 ,"Maximum number of coherent device granules available to the system"
+ RMM_MAX_NCOH_GRANULES , ,1 ,"Maximum number of non-coherent device granules available to the system"
HOST_VARIANT ,host_build | host_test | host_cbmc ,host_build ,"Variant to build for the host platform. Only available when RMM_PLATFORM=host"
- HOST_MEM_SIZE , ,0x40000000 ,"Host memory size that will be used as physical granules"
+ HOST_DRAM_SIZE , ,0x20000000 ,"Host memory size that will be used as physical DRAM"
+ HOST_NCOH_DEV_SIZE , ,0xA000 ,"Host memory size that will be used as non-coherent device granules"
RMM_COVERAGE ,ON | OFF ,OFF ,"Enable coverage analysis"
RMM_HTML_COV_REPORT ,ON | OFF ,ON ,"Enable HTML output report for coverage analysis"
RMM_CBMC_VIEWER_OUTPUT ,ON | OFF ,OFF ,"Generate report of CBMC results using the tool cbmc-viewer"