qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 4/5] x86: Allow physical address bits to be set


From: Eduardo Habkost
Subject: Re: [Qemu-devel] [PATCH 4/5] x86: Allow physical address bits to be set
Date: Fri, 17 Jun 2016 12:19:00 -0300
User-agent: Mutt/1.6.1 (2016-04-27)

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 (address@hidden) wrote:
> >>> On Thu, Jun 16, 2016 at 06:12:12PM +0100, Dr. David Alan Gilbert (git) 
> >>> wrote:
> >>>> From: "Dr. David Alan Gilbert" <address@hidden>
> >>>>
> >>>> 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



reply via email to

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