[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] exec: limit system memory size
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCH] exec: limit system memory size |
Date: |
Mon, 4 Nov 2013 08:15:56 +0200 |
On Mon, Nov 04, 2013 at 08:06:08AM +0200, Michael S. Tsirkin wrote:
> The page table logic in exec.c assumes
> that memory addresses are at most TARGET_PHYS_ADDR_SPACE_BITS.
>
> But pci addresses are full 64 bit so if we try to render them ignoring
> the extra bits, we get strange effects with sections overlapping each
> other.
>
> To fix, simply limit the system memory size to
> 1 << TARGET_PHYS_ADDR_SPACE_BITS,
> pci addresses will be rendered within that.
>
> Signed-off-by: Michael S. Tsirkin <address@hidden>
BTW I think this is -stable material too.
> ---
> exec.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/exec.c b/exec.c
> index 030118e..c7a8df5 100644
> --- a/exec.c
> +++ b/exec.c
> @@ -1801,7 +1801,12 @@ void address_space_destroy_dispatch(AddressSpace *as)
> static void memory_map_init(void)
> {
> system_memory = g_malloc(sizeof(*system_memory));
> - memory_region_init(system_memory, NULL, "system", INT64_MAX);
> +
> + assert(TARGET_PHYS_ADDR_SPACE_BITS <= 64);
> +
> + memory_region_init(system_memory, NULL, "system",
> + TARGET_PHYS_ADDR_SPACE_BITS == 64 ?
> + UINT64_MAX : (0x1ULL << TARGET_PHYS_ADDR_SPACE_BITS));
> address_space_init(&address_space_memory, system_memory, "memory");
>
> system_io = g_malloc(sizeof(*system_io));
> --
> MST
- [Qemu-devel] [PATCH] exec: limit system memory size, Michael S. Tsirkin, 2013/11/04
- Re: [Qemu-devel] [PATCH] exec: limit system memory size,
Michael S. Tsirkin <=
- Re: [Qemu-devel] [PATCH] exec: limit system memory size, Marcel Apfelbaum, 2013/11/04
- Re: [Qemu-devel] [PATCH] exec: limit system memory size, Michael S. Tsirkin, 2013/11/04
- Re: [Qemu-devel] [PATCH] exec: limit system memory size, Paolo Bonzini, 2013/11/04
- Re: [Qemu-devel] [PATCH] exec: limit system memory size, Michael S. Tsirkin, 2013/11/04
- Re: [Qemu-devel] [PATCH] exec: limit system memory size, Paolo Bonzini, 2013/11/04
- Re: [Qemu-devel] [PATCH] exec: limit system memory size, Michael S. Tsirkin, 2013/11/04
- Re: [Qemu-devel] [PATCH] exec: limit system memory size, Paolo Bonzini, 2013/11/04
Re: [Qemu-devel] [PATCH] exec: limit system memory size, Paolo Bonzini, 2013/11/04