From: Glauber Costa <glommer@redhat.com>
To: Anthony Liguori <aliguori@us.ibm.com>
Cc: qemu-devel@nongnu.org
Subject: [Qemu-devel] Re: [PATCH] split memory allocation
Date: Thu, 11 Sep 2008 12:03:57 -0300 [thread overview]
Message-ID: <20080911150357.GC24285@poweredge.glommer> (raw)
In-Reply-To: <48C92E87.3080505@us.ibm.com>
On Thu, Sep 11, 2008 at 09:43:19AM -0500, Anthony Liguori wrote:
> Glauber Costa wrote:
>> 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 <glommer@redhat.com>
>> ---
>> 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 */
>>
>
> It's not really a hole. QEMU leaves a hole from 0xa0000 to 0xc0000
> because this is the VGA area. KVM remaps this range to normal RAM when
> the guest sets the VGA card to have a linear framebuffer as an
> optimization.
>
> Later, 0xc0000 to 0xd0000 gets registered as ROM (because it's the VGA
> BIOS), and 0xd0000 to about 0xe0000 is option ROM space, and 0xe0000 to
> 0x100000 is where the BIOS gets mapped.
>
> So the comment code be improved to explain what goes in this region and
> why we need to allocate ram for it in the first place.
>
150 % in agreement.
Wait for a new one.
> Regards,
>
> Anthony Liguori
>
>> + 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);
>>
>>
>
next prev parent reply other threads:[~2008-09-11 15:04 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-11 13:42 [Qemu-devel] [PATCH] split memory allocation Glauber Costa
2008-09-11 14:18 ` Aurelien Jarno
2008-09-11 14:35 ` Anthony Liguori
2008-09-11 14:42 ` Glauber Costa
2008-09-11 14:43 ` [Qemu-devel] " Anthony Liguori
2008-09-11 15:03 ` Glauber Costa [this message]
2008-09-11 15:29 ` Avi Kivity
2008-09-11 18:31 ` Glauber Costa
2008-09-19 23:29 ` Avi Kivity
2008-09-11 15:28 ` [Qemu-devel] " Avi Kivity
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080911150357.GC24285@poweredge.glommer \
--to=glommer@redhat.com \
--cc=aliguori@us.ibm.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).