On Fri, Jun 17, 2016 at 03:38:53PM +0200, Paolo Bonzini wrote: > > > On 17/06/2016 15:18, Eduardo Habkost wrote: > > On Fri, Jun 17, 2016 at 09:15:06AM +0100, Dr. David Alan Gilbert wrote: > >> * Eduardo Habkost (ehabk...@redhat.com) wrote: > >>> On Thu, Jun 16, 2016 at 06:12:12PM +0100, Dr. David Alan Gilbert (git) > >>> wrote: > >>>> From: "Dr. David Alan Gilbert" <dgilb...@redhat.com> > >>>> > >>>> Currently QEMU sets the x86 number of physical address bits to the > >>>> magic number 40. This is only correct on some small AMD systems; > >>>> Intel systems tend to have 36, 39, 46 bits, and large AMD systems > >>>> tend to have 48. > >>>> > >>>> Having the value different from your actual hardware is detectable > >>>> by the guest and in principal can cause problems; > >>> > >>> What kind of problems? > >>> > >>> Is it a problem to have something smaller from the actual > >>> hardware, or just if it's higher? > >> > >> I'm a bit vague on the failure cases; but my understanding of the two > >> cases are; > >> > >> Larger is a problem if the guest tries to map something to a high > >> address that's not addressable. > > (Note: this is a problem when migrating to hosts with _smaller_ > phys-bits) > > >> Smaller is potentially a problem if the guest plays tricks with > >> what it thinks are spare bits in page tables but which are actually > >> interpreted. I believe KVM plays a trick like this. > > (Note: this is a problem when migrating to hosts with _larger_ > phys-bits) > > > If both smaller and larger are a problem, we have a much bigger > > problem than we thought. We need to confirm this. > > > > So, what happens if the guest play tricks in bits 40-45 when QEMU > > sets the limit to 40 but we are running in a 46-bit host? Is it > > really a problem? I assumed it would be safe. > > The guest expects a "reserved bit set" page fault, but doesn't get one.
Wait, are you talking about migration only, or are you really talking about running current QEMU (hardcoded to 40) on a 46-bit host? I'm not talking about migration, above. We really can't emulate a 40-bit machine in a 46-bit host? I didn't expect that. -- Eduardo