From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH] Enable memory mapped TPR shadow(FlexPriority) Date: Wed, 24 Oct 2007 11:13:46 +0200 Message-ID: <471F0CCA.7060108@qumranet.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org To: "Yang, Sheng" Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Errors-To: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Id: kvm.vger.kernel.org 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/