X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm_decoder.h;h=9319da8a422baf777898abfb47a8205942f07027;hp=130e1ae19148f1a3bc49a665162556032eacf241;hb=526ffdd06c1afb982d0d9831b99f337b6a094960;hpb=8dfa46e38fb632cd8bcbe1160d61d454a647f021 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;