lapic and ioapic support that's Not Good Enough.
[akaros.git] / kern / arch / x86 / vmm / vmm.h
index a124ec7..d1965fb 100644 (file)
@@ -1,6 +1,8 @@
 #ifndef _VMM_H_
 #define        _VMM_H_
 
 #ifndef _VMM_H_
 #define        _VMM_H_
 
+#include <ros/vmm.h>
+
 static inline int cpu_has_vmx(void)
 {
        unsigned long ecx = cpuid_ecx(1);
 static inline int cpu_has_vmx(void)
 {
        unsigned long ecx = cpuid_ecx(1);
@@ -20,6 +22,8 @@ struct vmm {
        // true if this is a VMMCP.
        bool vmmcp;
 
        // true if this is a VMMCP.
        bool vmmcp;
 
+       int flags;
+
        // Number of cores in this VMMCP.
        int nr_guest_pcores;
 
        // Number of cores in this VMMCP.
        int nr_guest_pcores;
 
@@ -40,10 +44,10 @@ struct vmm {
 void vmm_init(void);
 void vmm_pcpu_init(void);
 
 void vmm_init(void);
 void vmm_pcpu_init(void);
 
-int vmm_struct_init(struct proc *p, unsigned int nr_guest_pcores);
+int vmm_struct_init(struct proc *p, unsigned int nr_guest_pcores, int flags);
 void __vmm_struct_cleanup(struct proc *p);
 
 void __vmm_struct_cleanup(struct proc *p);
 
-int vm_run(uint64_t,uint64_t, uint64_t);
+int vm_run(struct vmctl *);
 int intel_vmx_start(int id);
 int intel_vmx_setup(int nvmcs);
 
 int intel_vmx_start(int id);
 int intel_vmx_setup(int nvmcs);