Add special dummy VM for TrustZone.

Bug: 132429380
Change-Id: If6d7ecf674d2c3c1e8c26fd8c68fa89f362f3a10
diff --git a/inc/hf/vm.h b/inc/hf/vm.h
index e421a3d..0d7735e 100644
--- a/inc/hf/vm.h
+++ b/inc/hf/vm.h
@@ -142,8 +142,10 @@
 	struct vm_locked vm2;
 };
 
-bool vm_init(spci_vcpu_count_t vcpu_count, struct mpool *ppool,
-	     struct vm **new_vm);
+struct vm *vm_init(spci_vm_id_t id, spci_vcpu_count_t vcpu_count,
+		   struct mpool *ppool);
+bool vm_init_next(spci_vcpu_count_t vcpu_count, struct mpool *ppool,
+		  struct vm **new_vm);
 spci_vm_count_t vm_get_count(void);
 struct vm *vm_find(spci_vm_id_t id);
 struct vm_locked vm_lock(struct vm *vm);
diff --git a/inc/vmapi/hf/types.h b/inc/vmapi/hf/types.h
index 1f0d5d4..dc9f7a1 100644
--- a/inc/vmapi/hf/types.h
+++ b/inc/vmapi/hf/types.h
@@ -50,6 +50,12 @@
 #define HF_PRIMARY_VM_INDEX 0
 #define HF_PRIMARY_VM_ID (HF_VM_ID_OFFSET + HF_PRIMARY_VM_INDEX)
 
+/**
+ * The special VM ID reserved for the OS running in the trusted execution
+ * environment, e.g. secure EL1 on AArch64.
+ */
+#define HF_TEE_VM_ID 0x8000
+
 /** Sleep value for an indefinite period of time. */
 #define HF_SLEEP_INDEFINITE 0xffffffffffffffff