[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Hypercalls in Intel-VT


  • To: xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: "Ashish Bijlani" <ashish.bijlani@xxxxxxxxx>
  • Date: Thu, 25 Oct 2007 20:19:44 -0400
  • Delivery-date: Thu, 25 Oct 2007 17:20:21 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=LDH03ILwpmiW/f4ja4cAgC27PDDRclvP7fcDOiqFvQD31+1qtSU6hobIJMXy66dLwI8e1ZTB0tGjwypy6wAgratCGqVS+nllDqURFwwVbExJCgyZHEOn0mwElAV3qP8lENR+f91geueAf0ecBNcNLSK9zTe8dUXllhGBD9jFQ60=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

could there be a way to make a transition into xen without a vmexit upon executing an iret inside a guest os krnl?

On 10/25/07, Cui, Dexuan < dexuan.cui@xxxxxxxxx> wrote:
> From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Ashish Bijlani
> Sent: 2007年10月26日 7:44
> To: xen-devel@xxxxxxxxxxxxxxxxxxx
> Subject: Re: [Xen-devel] Hypercalls in Intel-VT

> if I push xen's some addr (cs & eip) on the target guest os krnl stack when an interrupt occurs, would the guest os krnl return to xen
> immediately upon executing iret (as iret pops cs, eip from the krnl stack)? or would it make a vmexit coz of some illegal addr access

I assume you're only talking about Intel VMX guest. The answer is NO.
For instance, a VMX guest is running in "non-root mode"; it can only use its (shadowed) page table; it can't use IRET to return to Xen that's running on "root mode".
If you did that, what would happen is, i.e., a 32-bit protection-mode guest uses its own GDT -- the guest may find the GDT entry indexed by Xen's CS is invalid, so a #GP is generated in guest directly, and guest handles this (No VMexit).

-- Dexuan

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.