#include <palacios/vmm_cpuid.h>
#include <palacios/vmm_regs.h>
#include <palacios/vmm_extensions.h>
-
+#include <palacios/vmm_barrier.h>
#ifdef V3_CONFIG_TELEMETRY
struct v3_sym_core_state;
#endif
-#ifdef V3_CONFIG_SYSCALL_HIJACK
-#include <palacios/vmm_syscall_hijack.h>
-#include <palacios/vmm_execve_hook.h>
-#endif
-
#include <palacios/vmm_config.h>
/* This structure is how we get exceptions for the guest */
struct v3_excp_state excp_state;
-#ifdef V3_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;
v3_core_operating_mode_t core_run_state;
+ v3_core_moving_state_t core_move_state; /* if 1, then it is to be migrated to current pcpu_id */
+ uint32_t target_pcpu_id; /* the target physical CPU id for core moving */
+
+ void * core_thread; /* thread struct for virtual core */
+
/* the logical cpu on which this core runs */
uint32_t pcpu_id;
v3_vm_operating_mode_t run_state;
-
+ struct v3_barrier barrier;
struct v3_extensions extensions;