From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony Liguori Subject: Re: [PATCH v4 2/2] RAM API: Make use of it for x86 PC Date: Tue, 14 Dec 2010 09:18:54 -0600 Message-ID: <4D078ADE.3020300@codemonkey.ws> References: <20101213212059.2472.17879.stgit@s20.home> <20101213212436.2472.16686.stgit@s20.home> <4D073661.8010307@redhat.com> <1292339805.2857.157.camel@x201> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Avi Kivity , qemu-devel@nongnu.org, blauwirbel@gmail.com, kvm@vger.kernel.org To: Alex Williamson Return-path: Received: from mail-gy0-f174.google.com ([209.85.160.174]:62718 "EHLO mail-gy0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759026Ab0LNPS5 (ORCPT ); Tue, 14 Dec 2010 10:18:57 -0500 Received: by gyb11 with SMTP id 11so391513gyb.19 for ; Tue, 14 Dec 2010 07:18:56 -0800 (PST) In-Reply-To: <1292339805.2857.157.camel@x201> Sender: kvm-owner@vger.kernel.org List-ID: On 12/14/2010 09:16 AM, Alex Williamson wrote: > On Tue, 2010-12-14 at 11:18 +0200, Avi Kivity wrote: > >> On 12/13/2010 11:24 PM, Alex Williamson wrote: >> >>> Register the actual VM RAM using the new API >>> >>> >>> @@ -913,14 +913,11 @@ void pc_memory_init(ram_addr_t ram_size, >>> /* allocate RAM */ >>> ram_addr = qemu_ram_alloc(NULL, "pc.ram", >>> below_4g_mem_size + above_4g_mem_size); >>> - cpu_register_physical_memory(0, 0xa0000, ram_addr); >>> - cpu_register_physical_memory(0x100000, >>> - below_4g_mem_size - 0x100000, >>> - ram_addr + 0x100000); >>> + ram_register(0, below_4g_mem_size, ram_addr); >>> >>> >> What's the impact of this? Won't it conflict with BIOS memory >> registration? What about VGA? >> There is no "conflict". Memory registration can punch through previous registrations. And the QEMU SMM code switches the VGA area back and forth between memory mapped and normal ram depending on the mode. This presents no functional change, just structures RAM allocation to closer reflect the way things actually work. Regards, Anthony Liguori >> In terms of patch hygiene, it should be in a separate patch titled >> "register 0xa0000-0x100000 as RAM" or something. It's a much more >> drastic change than making use of the new RAM API. >> > As we discussed in the v2 patch, the chipset can selectively switch > regions within this range to point at VGA, ROM, or RAM, but there's > always physical RAM backing the space, even when it's mapping isn't > active. VGA and ROM will be overlay the RAM mapping. I'm fine with > splitting this into two patches for debug-ability, but the change is > reflective of following the RAM API and registering all of "RAM". Maybe > it would be sufficient to make such a note explicit in this commit log? > Thanks, > > Alex > >