feat: consume spmc manifest ns memory nodes

The SPMC manifest provisions for NS memory ranges. The SPMC is aware
about the platform specific NS memory that a normal world client is able
to share/lend/donate. Similarly, it provides information about which NS
memory regions a SP is allowed to map in its SP manifest.

Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Signed-off-by: J-Alves <joao.alves@arm.com>
Change-Id: I3f1545f79ce36e544387c707c7e024fef67f0286
diff --git a/inc/hf/arch/other_world.h b/inc/hf/arch/other_world.h
index 1d34f56..af401d1 100644
--- a/inc/hf/arch/other_world.h
+++ b/inc/hf/arch/other_world.h
@@ -8,8 +8,11 @@
 
 #pragma once
 
+#include "hf/boot_params.h"
 #include "hf/ffa.h"
 #include "hf/vm.h"
 
-bool arch_other_world_vm_init(struct vm *other_world_vm, struct mpool *ppool);
+bool arch_other_world_vm_init(struct vm *other_world_vm,
+			      const struct boot_params *params,
+			      struct mpool *ppool);
 struct ffa_value arch_other_world_call(struct ffa_value args);
diff --git a/inc/hf/boot_params.h b/inc/hf/boot_params.h
index 667f7bde..c828d07 100644
--- a/inc/hf/boot_params.h
+++ b/inc/hf/boot_params.h
@@ -29,6 +29,8 @@
 	size_t cpu_count;
 	struct mem_range mem_ranges[MAX_MEM_RANGES];
 	size_t mem_ranges_count;
+	struct mem_range ns_mem_ranges[MAX_MEM_RANGES];
+	size_t ns_mem_ranges_count;
 	struct mem_range device_mem_ranges[MAX_DEVICE_MEM_RANGES];
 	size_t device_mem_ranges_count;
 	paddr_t initrd_begin;