X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fvmcs.c;h=154bed82cfb52b2587ff8ba09fb37196b0b69252;hb=24e0221dd2fdcf613cc5e487ec57a30f2fef25e3;hp=a77de77a7a1755983d0d7258a07c9cbbabb74519;hpb=b1f2d60bdd24fb6f758ad049c0a6859966a38955;p=palacios.git diff --git a/palacios/src/palacios/vmcs.c b/palacios/src/palacios/vmcs.c index a77de77..154bed8 100644 --- a/palacios/src/palacios/vmcs.c +++ b/palacios/src/palacios/vmcs.c @@ -227,7 +227,14 @@ int v3_vmx_save_vmcs(struct guest_info * info) { check_vmcs_read(VMCS_GUEST_RFLAGS, &(info->ctrl_regs.rflags)); if (((struct vmx_data *)info->vmm_data)->ia32e_avail) { +#ifdef __V3_64BIT__ check_vmcs_read(VMCS_GUEST_EFER, &(info->ctrl_regs.efer)); +#else + uint32_t hi, lo; + check_vmcs_read(VMCS_GUEST_EFER, &hi); + check_vmcs_read(VMCS_GUEST_EFER_HIGH, &lo); + info->ctrl_regs.efer = ((uint64_t) hi << 32) | lo; +#endif } error = v3_read_vmcs_segments(&(info->segments));