From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: more segment/selector handling woes Date: Wed, 22 Nov 2006 11:43:25 +0100 Message-ID: <456437DD.76E4.0078.0@novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org Not only on VMX and in generic code, but also on SVM now: svm_get_io_address() uses the segment base only when the guest is not in long mode - what if outs has an fs/gs override? I'm pretty sure the base address is needed then, which opens the question - does the CPU guarantee a valid (zero) base also for the other segment register, or does this need to be conditionalized? Further, in the same function (and likely elsewhere) the injection of GP faults seems pretty pointless - if either of the two conditions is true, then the CPU itself should have raised a GP fault for the guest already (i.e. execution flow would never get here). Thanks, Jan