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