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. -- error compiling committee.c: too many arguments to function ------------------------------------------------------------------------- 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