From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42343) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VTtYq-0000Yl-1G for qemu-devel@nongnu.org; Wed, 09 Oct 2013 09:12:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VTtYk-0003b6-1r for qemu-devel@nongnu.org; Wed, 09 Oct 2013 09:12:19 -0400 Received: from mx1.redhat.com ([209.132.183.28]:50323) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VTtYj-0003ax-Pr for qemu-devel@nongnu.org; Wed, 09 Oct 2013 09:12:13 -0400 Message-ID: <1381324328.12583.102.camel@nilsson.home.kraxel.org> From: Gerd Hoffmann Date: Wed, 09 Oct 2013 15:12:08 +0200 In-Reply-To: <1381321384-17270-1-git-send-email-imammedo@redhat.com> References: <1381321384-17270-1-git-send-email-imammedo@redhat.com> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC] map 64-bit PCI devices after all possible RAM List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Igor Mammedov Cc: pbonzini@redhat.com, kevin@koconnor.net, seabios@seabios.org, qemu-devel@nongnu.org, mst@redhat.com On Mi, 2013-10-09 at 14:23 +0200, Igor Mammedov wrote: > I'm posting it to get an oppinion on one of possible approaches > on where to map a hotplug memory. > > This patch assumes that a space for hotplug memory is located right > after RamSizeOver4G region and QEMU will provide romfile to specify > where it ends so that BIOS could know from what base to start > 64-bit PCI devices mapping. We should think about both pci hotplug and memory hotplug while being at it. Today the 64bit pci window is mapped right above high memory and is sized (in acpi tables) according to what is needed to map the devices present at boot. Effect is that there is no extra address space for 64bit bars of hotplugged pci devices. And the window is also in the way when it comes to memory hotplug. Given that some windows versions don't like the large 64bit windows we should make the window size configurable. The window location can either be made configurable too, or we simply place it at the top of the address space, with "address space" being what the cpu can address according to cpuinfo. Current qemu reports this by default: $ cat /proc/cpuinfo model name : QEMU Virtual CPU version 1.5.3 address sizes : 40 bits physical, 48 bits virtual 40 address lines allow 1TB, so we would place the window just below 1TB. Comments? Gerd