qemu-devel
[Top][All Lists]
Advanced

[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




reply via email to

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