v3_io_map_t io_map;
struct v3_msr_map msr_map;
- // device_map
+ // device_map
struct vmm_dev_mgr dev_mgr;
struct v3_host_events host_event_hooks;
struct v3_msr guest_efer;
-
- struct v3_msr shadow_cstar;
- struct v3_msr shadow_star;
- struct v3_msr shadow_lstar;
- struct v3_msr shadow_syscall_mask;
-
-
- /* TEMP */
- //ullong_t exit_tsc;
+ /* Do we need these ? */
+ struct v3_msr guest_star;
+ struct v3_msr guest_lstar;
+ struct v3_msr guest_cstar;
+ struct v3_msr guest_syscall_mask;
+ struct v3_msr guest_gs_base;
};
shadow_efer->lma = 1;
shadow_efer->lme = 1;
-
- v3_print_segments(info);
PrintDebug("New EFER %p\n", (void *)*(addr_t *)(shadow_efer));
}
guest_efer->value = src.value;
- v3_print_segments(info);
// We have to handle long mode writes....
/*
static int xed_reg_to_v3_reg(struct guest_info * info, xed_reg_enum_t xed_reg, addr_t * v3_reg, uint_t * reg_len) {
- PrintError("Xed Register: %s\n", xed_reg_enum_t2str(xed_reg));
+ // PrintError("Xed Register: %s\n", xed_reg_enum_t2str(xed_reg));
switch (xed_reg) {
case XED_REG_INVALID: