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

Re: [Xen-devel] [PATCH (for 4.6)] x86/hvm: Unconditionally buffer writes to VRAM



> -----Original Message-----
> From: Ian Campbell [mailto:ian.campbell@xxxxxxxxxx]
> Sent: 16 July 2015 11:13
> To: Andrew Cooper
> Cc: Paul Durrant; xen-devel@xxxxxxxxxxxxxxxxxxxx; Keir (Xen.org); Jan Beulich
> Subject: Re: [Xen-devel] [PATCH (for 4.6)] x86/hvm: Unconditionally buffer
> writes to VRAM
> 
> On Thu, 2015-07-16 at 10:34 +0100, Andrew Cooper wrote:
> > On 16/07/15 10:24, Paul Durrant wrote:
> > > When c/s 3bbaaec09 "unify stdvga mmio intercept with standard mmio
> > > intercept" was added, a small semantic change was made. Prior to
> > > this patch the hypervisor unconditionally sent all guest writes
> > > to the VGA aperture as buffered ioreqs, whereas after the patch it
> > > only does this when the VGA model is in 'stdvga' mode (sequencer
> > > register #7 == 0).
> > >
> > > When installing Windows 7 (64-bit) using the default QEMU VGA model
> > > (== cirrus), Windows leaves 'stdvga' mode early in boot and hence
> > > all further writes to the VGA aperture are done using synchronous
> > > ioreqs which slows down boot by several orders of magnitude (thanks
> > > to the elaborate splash screen that Windows presents). This can be
> > > viewed as a regression and so this patch re-instates previous
> > > buffering behaviour.
> > >
> > > Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
> > > Tested-by: Wei Liu <wei.liu2@xxxxxxxxxx>
> > > Cc: Keir Fraser <keir@xxxxxxx>
> > > Cc: Jan Beulich <jbeulich@xxxxxxxx>
> > > Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> >
> > This is unfortunate,
> 
> OOI why is it unfortunate? IOW why wouldn't we want buffer all accesses
> to the VRAM (leaving aside that perhaps the original authors only
> intended to do it for StdVGA).

Well, VRAM (mapped through a PCI BAR) can't be buffered in general. For 
instance, the Cirrus model in QEMU re-maps its I/O ports into the first 256 
bytes. I think we are ok to always buffer writes to the VGA aperture though as 
I can't find any obvious side effects (in QEMU's common code).

  Paul

> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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