qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] hw/pci-host: Fix x86 Host Bridges 64bit PCI hol


From: Gerd Hoffmann
Subject: Re: [Qemu-devel] [PATCH] hw/pci-host: Fix x86 Host Bridges 64bit PCI hole
Date: Fri, 20 Oct 2017 12:59:08 +0200

On Fri, 2017-10-20 at 11:32 +0200, Laszlo Ersek wrote:
> On 10/20/17 08:55, Gerd Hoffmann wrote:
> >   Hi,
> > 
> > > > commit message says:
> > > > 
> > > > <quote>
> > > >      It turns out that some 32 bit windows guests crash
> > > >      if 64 bit PCI hole size is >2G.
> > > > </quote>
> > > > 
> > > > Why this suddenly isn't a problem any more?
> > > > 
> > > 
> > > I suppose it is, so we need a way to turn it "off".
> > 
> > Or have machine types behave differently, i.e. give q35 a large
> > 64bit
> > hole and leave pc as-is.
> 
> *If* we make it dependent on machine types at all, then please also
> make
> it versioned for Q35.

We probably need that for live migration compatibility anyway.  If we
add a switch we can add it to both pc and q35 (I think they share most
code so little extra cost), but have different defaults depending on
machine type.

> > BTW:  Is it safe to just assume 40 bits physical is going to
> > work?  My
> > workstation:
> > 
> > model name      : Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz
> > address sizes   : 39 bits physical, 48 bits virtual
> > 
> > Does this imply ept is limited 39 bits physical too?
> 
> Very good point to raise; "39 bits physical" on your workstation
> *does*
> imply that EPT is limited exactly the same way. I had run into this
> very
> problem while working on 64GB+ RAM enablement in OVMF. (Back then my
> laptop had: "address sizes : 36 bits physical, 48 bits virtual".)

Ah, right, I remember.  This is why we ended up with 32G window 32G
aligned above highest memory (or reserved) address.  No address above
64G will be used unless you have lots of memory in your virtual machine
(in which case your host very likely supports more than 36 address
lines).

So I guess the options are to play safe and do something simliar on the
qemu side, or go figure how much physical address space is available
and use that (which should also solve the "what do we with >1TB guests"
issue).  The later could cause some interesting live migration issues
though, when migrating between hosts with different physical address
space sizes.

So maybe the pci-hole64-size option isn't that bad after all?  We could
make it default to 2G on pc and 32G on q35 ...

cheers,
  Gerd




reply via email to

[Prev in Thread] Current Thread [Next in Thread]