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 12:15:38 +0200 Message-ID: <471F1B4A.8070600@qumranet.com> References: <471F0CCA.7060108@qumranet.com> 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: > 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. > 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. -- 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/