feat: introduce ns ipa space page tables

Currently VM/SPs have a single set of S2 PTs and do not distinguish
tables meant to map NS S1 IPA vs secure S1 IPA ranges.
For SPs, introduce a new set of S2 PTs meant to hold mappings for the
NS IPA range.

Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Change-Id: I94500fc53234db8ad2c56a95d5ea0bd3f3c0ed51
diff --git a/inc/hf/arch/vm.h b/inc/hf/arch/vm.h
index 937a17f..7bc13a2 100644
--- a/inc/hf/arch/vm.h
+++ b/inc/hf/arch/vm.h
@@ -14,3 +14,14 @@
  * Set architecture-specific features for the specified VM.
  */
 void arch_vm_features_set(struct vm *vm);
+bool arch_vm_init_mm(struct vm *vm, struct mpool *ppool);
+bool arch_vm_identity_prepare(struct vm_locked vm_locked, paddr_t begin,
+			      paddr_t end, uint32_t mode, struct mpool *ppool);
+void arch_vm_identity_commit(struct vm_locked vm_locked, paddr_t begin,
+			     paddr_t end, uint32_t mode, struct mpool *ppool,
+			     ipaddr_t *ipa);
+bool arch_vm_unmap(struct vm_locked vm_locked, paddr_t begin, paddr_t end,
+		   struct mpool *ppool);
+void arch_vm_ptable_defrag(struct vm_locked vm_locked, struct mpool *ppool);
+bool arch_vm_mem_get_mode(struct vm_locked vm_locked, ipaddr_t begin,
+			  ipaddr_t end, uint32_t *mode);