Avi Kivity wrote: > Yang, Sheng wrote: >> Avi Kivity wrote: >> >>> Yang, Sheng wrote: >>> >>>> Another comment: I forgot if I answer the question on why eip should >>>> >> move >> >>>> backward. I did it because some instruction like "mov" will move eip >>>> >> to >> >>>> skip some dst/src operand when executing, so eip should be kept for >>>> consistency. >>>> >>>> >>> I think you're talking about >>> >>> >>>> case 0xa0 ... 0xa1: /* mov */ >>>> c->dst.ptr = (unsigned long *)&c->regs[VCPU_REGS_RAX]; >>>> c->dst.val = c->src.val; >>>> /* skip src displacement */ >>>> c->eip += c->ad_bytes; >>>> break; >>>> >>> ? >>> >>> If so, instead of skipping, we can fetch the address here. >>> >>> It's been annoying me for a long time; it causes a dependency on cr2 >>> which we don't have in real mode (and with FlexPriority), and which is >>> broken anyway because cr2 points at the wrong address during a page >>> fault on the second page of a misaligned cross-page access. >>> >> >> Yeah, like that. But I don't think only "mov" has memory operand, so fetch >> address in some determined place is better than inside every instruction >> executing code. >> >> > > I think mov is the only instruction that uses absolute addresses without > modrm encoding. And modrm encoding is implemented correctly for a long > time.
Well, I will check it. > > >> Another thing, if we can use physical address as supplement of cr2 in >> emulate_instrcutions, that will be better. Any suggestion? >> > > Sorry, I don't understand the question. > > I'd like to see cr2 completely removed from x86_emulate.c. Do you mean complete decode out gva instead of using cr2? Thanks Yang, Sheng ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel