All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Campbell <ian.campbell@citrix.com>
To: Paul Durrant <Paul.Durrant@citrix.com>
Cc: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"Keir (Xen.org)" <keir@xen.org>, Jan Beulich <jbeulich@suse.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH (for 4.6)] x86/hvm: Unconditionally buffer writes to VRAM
Date: Thu, 16 Jul 2015 11:52:12 +0100	[thread overview]
Message-ID: <1437043932.32371.169.camel@citrix.com> (raw)
In-Reply-To: <9AAE0902D5BC7E449B7C8E4E778ABCD02F4C9E41@AMSPEX01CL02.citrite.net>

On Thu, 2015-07-16 at 11:20 +0100, Paul Durrant wrote:
> > -----Original Message-----
> > From: Ian Campbell [mailto:ian.campbell@citrix.com]
> > Sent: 16 July 2015 11:13
> > To: Andrew Cooper
> > Cc: Paul Durrant; xen-devel@lists.xenproject.org; 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@citrix.com>
> > > > Tested-by: Wei Liu <wei.liu2@citrix.com>
> > > > Cc: Keir Fraser <keir@xen.org>
> > > > Cc: Jan Beulich <jbeulich@suse.com>
> > > > Cc: Andrew Cooper <andrew.cooper3@citrix.com>
> > >
> > > 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).

Ah, so the aperture can contain things other than the framebuffer, makes
sense!

> 
>   Paul
> 
> > 
> 

      reply	other threads:[~2015-07-16 10:52 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-16  9:24 [PATCH (for 4.6)] x86/hvm: Unconditionally buffer writes to VRAM Paul Durrant
2015-07-16  9:34 ` Andrew Cooper
2015-07-16 10:12   ` Ian Campbell
2015-07-16 10:20     ` Paul Durrant
2015-07-16 10:52       ` Ian Campbell [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1437043932.32371.169.camel@citrix.com \
    --to=ian.campbell@citrix.com \
    --cc=Andrew.Cooper3@citrix.com \
    --cc=Paul.Durrant@citrix.com \
    --cc=jbeulich@suse.com \
    --cc=keir@xen.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.