Enable "VMCALL console putc" via flags. (XCC)
[akaros.git] / kern / arch / x86 / vmm / vmm.h
index 27f248b..26a9060 100644 (file)
@@ -20,6 +20,8 @@ struct vmm {
        // true if this is a VMMCP.
        bool vmmcp;
 
+       int flags;
+
        // Number of cores in this VMMCP.
        int nr_guest_pcores;
 
@@ -40,14 +42,16 @@ struct vmm {
 void vmm_init(void);
 void vmm_pcpu_init(void);
 
-int vmm_struct_init(struct vmm *vmm, unsigned int nr_guest_pcores);
-void vmm_struct_cleanup(struct vmm *vmm);
+int vmm_struct_init(struct proc *p, unsigned int nr_guest_pcores, int flags);
+void __vmm_struct_cleanup(struct proc *p);
 
 int vm_run(uint64_t,uint64_t, uint64_t);
 int intel_vmx_start(int id);
 int intel_vmx_setup(int nvmcs);
 
-struct vmx_vcpu *vmx_create_vcpu(void);
+struct vmx_vcpu *vmx_create_vcpu(struct proc *p);
 void vmx_destroy_vcpu(struct vmx_vcpu *vcpu);
+uint64_t construct_eptp(physaddr_t root_hpa);
+void ept_flush(uint64_t eptp);
 
 #endif /* _VMM_H_ */