#include <palacios/vmm_hypercall.h>
#include <palacios/vmm_cpuid.h>
#include <palacios/vmm_regs.h>
+#include <palacios/vmm_extensions.h>
+
+
#ifdef CONFIG_TELEMETRY
#include <palacios/vmm_telemetry.h>
struct v3_sym_core_state;
#endif
+#ifdef CONFIG_SYSCALL_HIJACK
+#include <palacios/vmm_syscall_hijack.h>
+#include <palacios/vmm_execve_hook.h>
+#endif
+
+
+
#include <palacios/vmm_config.h>
struct v3_intr_state;
/* This structure is how we get exceptions for the guest */
struct v3_excp_state excp_state;
+#ifdef CONFIG_SYSCALL_HIJACK
+ struct v3_syscall_hook_map sc_hook_map;
+ struct v3_execve_varchunk var_dump;
+ struct v3_exec_hooks exec_hooks;
+#endif
+
v3_cpu_mode_t cpu_mode;
v3_mem_mode_t mem_mode;
/* the logical cpu on which this core runs */
uint32_t cpu_id;
- /* the physical cpu on which this core runs */
- uint32_t host_cpu_id;
-
+
};
v3_vm_operating_mode_t run_state;
+
+
+
+ struct v3_extensions extensions;
+
#ifdef CONFIG_SYMBIOTIC
/* Symbiotic state */
struct v3_sym_vm_state sym_vm_state;
#endif
-
-
#ifdef CONFIG_TELEMETRY
uint_t enable_telemetry;
struct v3_telemetry_state telemetry;
#endif
+
uint64_t yield_cycle_period;