[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] split memory allocation
From: |
Aurelien Jarno |
Subject: |
Re: [Qemu-devel] [PATCH] split memory allocation |
Date: |
Thu, 11 Sep 2008 16:18:23 +0200 |
User-agent: |
Mozilla-Thunderbird 2.0.0.16 (X11/20080724) |
Glauber Costa a écrit :
> Right now, kvm keeps the memory allocation split, so we can
> handle different areas in different ways. This schema works with qemu
> too, so it appears to be the common ground.
>
> This patch proposes using this common ground for everyone, by spliting
> raw qemu.
>
> Signed-off-by: Glauber Costa <address@hidden>
> ---
> hw/pc.c | 16 ++++++++++++----
> 1 files changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/hw/pc.c b/hw/pc.c
> index 435c7d4..d6084ee 100644
> --- a/hw/pc.c
> +++ b/hw/pc.c
> @@ -777,16 +777,24 @@ static void pc_init1(ram_addr_t ram_size, int
> vga_ram_size,
> vmport_init();
>
> /* allocate RAM */
> - ram_addr = qemu_ram_alloc(ram_size);
> - cpu_register_physical_memory(0, below_4g_mem_size, ram_addr);
> + ram_addr = qemu_ram_alloc(0xa0000);
> + cpu_register_physical_memory(0, 0xa0000, ram_addr);
> +
> + ram_addr = qemu_ram_alloc(0x100000 - 0xa0000); /* hole */
What the point of allocating RAM for the memory hole if it is not mapped?
> + ram_addr = qemu_ram_alloc(below_4g_mem_size - 0x100000);
> + cpu_register_physical_memory(0x100000,
> + below_4g_mem_size - 0x100000,
> + ram_addr);
>
> /* above 4giga memory allocation */
> if (above_4g_mem_size > 0) {
> - cpu_register_physical_memory((target_phys_addr_t) 0x100000000ULL,
> + ram_addr = qemu_ram_alloc(above_4g_mem_size);
> + cpu_register_physical_memory(0x100000000ULL,
> above_4g_mem_size,
> - ram_addr + below_4g_mem_size);
> + ram_addr);
> }
>
> +
> /* allocate VGA RAM */
> vga_ram_addr = qemu_ram_alloc(vga_ram_size);
>
--
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73
: :' : Debian developer | Electrical Engineer
`. `' address@hidden | address@hidden
`- people.debian.org/~aurel32 | www.aurel32.net