[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: |
Thu, 16 Jun 2016 17:24:49 -0300 |
User-agent: |
Mutt/1.6.1 (2016-04-27) |
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?
> The current limit of 40 stops TB VMs being created by those lucky
> enough to have that much.
>
> This patch lets you set the physical bits by a cpu property but
> defaults to the same existing magic 40.
>
The existing 40-bit default looks like a problem for 36-bit
systems. Do you know what kind of systems have 36 bits only? Only
old ones, or recent ones too? If only old ones, how old?
Can't we have a new default that is as small as possible for the
VM RAM+devices configuration?
> I've removed the ancient warning about the 42 bit limit in exec.c;
> I can't find that limit in there and no one else seems to know where
> it is.
>
> Signed-off-by: Dr. David Alan Gilbert <address@hidden>
> ---
> target-i386/cpu.c | 8 +++++---
> target-i386/cpu.h | 3 +++
> 2 files changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/target-i386/cpu.c b/target-i386/cpu.c
> index 4111240..c3bbf8e 100644
> --- a/target-i386/cpu.c
> +++ b/target-i386/cpu.c
> @@ -2606,9 +2606,10 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index,
> uint32_t count,
> /* virtual & phys address size in low 2 bytes. */
> /* XXX: This value must match the one used in the MMU code. */
Do you know where's the MMU code mentioned here?
> if (env->features[FEAT_8000_0001_EDX] & CPUID_EXT2_LM) {
> - /* 64 bit processor */
> -/* XXX: The physical address space is limited to 42 bits in exec.c. */
> - *eax = 0x00003028; /* 48 bits virtual, 40 bits physical */
> + /* 64 bit processor, 48 bits virtual, configurable
> + * physical bits.
> + */
> + *eax = 0x00003000 + cpu->phys_bits;
We should reject the configuration if phys-bits is set to
something larger than the host's phys_bits, shouldn't we?
Maybe we can't do that on old machine-types that already have the
40-bit default, but if we have a new reasonable default based on
VM size, we can be more strict.
--
Eduardo
[Qemu-devel] [PATCH 5/5] x86: Set physical address bits based on host, Dr. David Alan Gilbert (git), 2016/06/16
[Qemu-devel] [PATCH 4/5] x86: Allow physical address bits to be set, Dr. David Alan Gilbert (git), 2016/06/16
- Re: [Qemu-devel] [PATCH 4/5] x86: Allow physical address bits to be set, Paolo Bonzini, 2016/06/16
- Re: [Qemu-devel] [PATCH 4/5] x86: Allow physical address bits to be set,
Eduardo Habkost <=
- Re: [Qemu-devel] [PATCH 4/5] x86: Allow physical address bits to be set, Dr. David Alan Gilbert, 2016/06/17
- Re: [Qemu-devel] [PATCH 4/5] x86: Allow physical address bits to be set, Paolo Bonzini, 2016/06/17
- Re: [Qemu-devel] [PATCH 4/5] x86: Allow physical address bits to be set, Gerd Hoffmann, 2016/06/17
- Re: [Qemu-devel] [PATCH 4/5] x86: Allow physical address bits to be set, Igor Mammedov, 2016/06/17
- Re: [Qemu-devel] [PATCH 4/5] x86: Allow physical address bits to be set, Gerd Hoffmann, 2016/06/17
- Re: [Qemu-devel] [PATCH 4/5] x86: Allow physical address bits to be set, Laszlo Ersek, 2016/06/17
- Re: [Qemu-devel] [PATCH 4/5] x86: Allow physical address bits to be set, Laszlo Ersek, 2016/06/17
- Re: [Qemu-devel] [PATCH 4/5] x86: Allow physical address bits to be set, Marcel Apfelbaum, 2016/06/19
- Re: [Qemu-devel] [PATCH 4/5] x86: Allow physical address bits to be set, Igor Mammedov, 2016/06/20
- Re: [Qemu-devel] [PATCH 4/5] x86: Allow physical address bits to be set, Marcel Apfelbaum, 2016/06/20