X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm_decoder.h;h=9319da8a422baf777898abfb47a8205942f07027;hb=06535b05abbca1ada6c3fd3c32db475b97539070;hp=130e1ae19148f1a3bc49a665162556032eacf241;hpb=d38ca6817962f46012fae1b014a24372494f4d7c;p=palacios.releases.git diff --git a/palacios/include/palacios/vmm_decoder.h b/palacios/include/palacios/vmm_decoder.h index 130e1ae..9319da8 100644 --- a/palacios/include/palacios/vmm_decoder.h +++ b/palacios/include/palacios/vmm_decoder.h @@ -165,8 +165,11 @@ static inline v3_reg_t get_gpr_mask(struct guest_info * info) { static inline addr_t get_addr_linear(struct guest_info * info, addr_t addr, struct v3_segment * seg) { switch (info->cpu_mode) { case REAL: - return addr + (seg->selector << 4); - break; + // It appears that the segment values are computed and cached in the vmcb structure + // We Need to check this for Intel + /* return addr + (seg->selector << 4); + break;*/ + case PROTECTED: return addr + seg->base; break;