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

Re: [Xen-devel] [PATCH] [SVM]: Make 32bit legacy guests boot again



Changeset 19856 is a cleaned up and streamlined version of this patch.
Please take a look. It also fixes a couple of largely theoretical issues:
 * Should depend on EFER.LMA not EFER.LME
 * Should handle the LMA 1->0 transition (i.e., return to legacy mode).

 -- Keir

On 26/06/2009 16:19, "Christoph Egger" <Christoph.Egger@xxxxxxx> wrote:

> 
> Hi!
> 
> Attached patch fixes a bug introduced in c/s 19648.
> 
> 32bit legacy guests have the sysenter/sysexit instructions available.
> Therefore, we have to disable intercepts for the sysenter MSRs or the
> guest stucks in an infinite loop of #GPs, otherwise.
> 
> For guests in 64bit mode and 32bit compat mode, sysenter/sysexit instructions
> aren't available. The sysenter MSRs have to be intercepted to make the
> instruction emulation working.
> 
> Attach patch first assumes the guest is in 32bit legacy mode and therefore
> disables the sysenter MSRs in construct_vmcb().
> Access to the MSR_EFER is intercepted. When the guest enables longmode,
> then enable interception of the sysenter MSRs.
> 
> Signed-off-by: Christoph Egger <Christoph.Egger@xxxxxxx>
> 



_______________________________________________
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®.