#define __SVM_H
-#include <palacios/vmm.h>
#ifdef __V3VEE__
+#include <palacios/vmm.h>
+
+
#include <palacios/vmcb.h>
#include <palacios/vmm_util.h>
#define SVM_HANDLER_ERROR 0x1
#define SVM_HANDLER_HALT 0x2
-#endif
void Init_SVM(struct vmm_ctrl_ops * vmm_ops);
int is_svm_capable();
+#endif
#ifndef __VM_DEV_H
#define __VM_DEV_H
+#ifdef __V3VEE__
+
#include <palacios/vmm_types.h>
#include <palacios/vmm_list.h>
#include <palacios/vmm_dev_mgr.h>
int dev_unhook_irq(struct vm_device * dev, uint_t irq);
+
+#endif // ! __V3VEE__
+
#endif
void PrintV3CtrlRegs(struct guest_info * info);
void PrintV3GPRs(struct guest_info * info);
-#endif
+#endif // ! __V3VEE__
#ifndef __VM_GUEST_MEM_H
#define __VM_GUEST_MEM_H
+
+#ifdef __V3VEE__
+
#include <palacios/vm_guest.h>
#include <palacios/vmm_mem.h>
// TODO int write_guest_va_memory(struct guest_info * guest_info, addr_t guest_va, int count, char * src);
-
+#endif // ! __V3VEE__
#endif
/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
/* (c) 2008, The V3VEE Project <http://www.v3vee.org> */
-#ifndef __VMCS_H
-#define __VMCS_H
+#ifndef __VMCS_H__
+#define __VMCS_H__
+
+#ifdef __V3VEE__
#include <palacios/vmm_types.h>
#include <palacios/vmcs_gen.h>
+#endif // ! __V3VEE__
+
+
#endif
/* (c) 2008, The V3VEE Project <http://www.v3vee.org> */
-#ifndef vmcs_gen
-#define vmcs_gen
+#ifndef __VMCS_GEN__
+#define __VMCS_GEN__
+
+#ifdef __V3VEE__
+
#include <palacios/vmcs.h>
#include <palacios/vmm.h>
void PrintTrace_HOST_RIP();
void PrintTrace_VMCS_ALL();
+
+
+#endif // !__V3VEE
+
#endif
+
+
+
// This is the value given when the interrupt is hooked.
// This will never be NULL
- void *opaque;
+ void * opaque;
};
-void deliver_interrupt_to_vmm(struct vmm_intr_state *state);
+void deliver_interrupt_to_vmm(struct vmm_intr_state * state);
/* This will contain function pointers that provide OS services */
#ifdef __V3VEE__
+
#include <palacios/vm_guest.h>
#ifndef __VMM_CTRL_REGS_H
#define __VMM_CTRL_REGS_H
+#ifdef __V3VEE__
+
#include <palacios/vm_guest.h>
#define CR3_32_COPY_BASE(source,dest) do { (dest)->pdt_base_addr = (source)->pdt_base_addr; } while (0)
+#endif // ! __V3VEE__
+
+
#endif
#ifdef __V3VEE__
+
#include <palacios/vmm.h>
struct dbg_bp32 {
#ifndef _VMM_LIST_H
#define _VMM_LIST_H
-// JRL FIXME
-// #ifdef __V3VEE__
+
+#ifdef __V3VEE__
#include <palacios/vmm_string.h>
pos = n)
-// JRL FIXME
-//#endif // ! __V3VEE__
+
+#endif // ! __V3VEE__
#endif
#define __VMM_PAGING_H
+#ifdef __V3VEE__
+
#include <palacios/vmm_types.h>
#include <palacios/vmm_util.h>
*/
-#ifdef __V3VEE__
+
#define MAX_PTE32_ENTRIES 1024
#define MAX_PDE32_ENTRIES 1024
#ifndef __VMM_TIME_H
#define __VMM_TIME_H
+#ifdef __V3VEE__
#include <palacios/vmm_types.h>
#include <palacios/vmm_list.h>
};
-#ifdef __V3VEE__
+
struct vm_timer_ops {
void (*update_time)(ullong_t cpu_cycles, ullong_t cpu_freq, void * priv_data);
typedef ulong_t addr_t;
-#endif
+#endif // ! __V3VEE__
#endif
#ifndef __VMX_H
#define __VMX_H
+#ifdef __V3VEE__
+
#include <palacios/vmm_types.h>
#include <palacios/vmcs.h>
int Do_VMM(struct VMXRegs regs);
-
+#endif // ! __V3VEE__
#endif