From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38227) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V6K95-0008PW-UH for qemu-devel@nongnu.org; Mon, 05 Aug 2013 08:44:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V6K91-00006H-GQ for qemu-devel@nongnu.org; Mon, 05 Aug 2013 08:44:19 -0400 Received: from mail-lb0-f182.google.com ([209.85.217.182]:35030) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V6K91-00005e-A7 for qemu-devel@nongnu.org; Mon, 05 Aug 2013 08:44:15 -0400 Received: by mail-lb0-f182.google.com with SMTP id v20so2069306lbc.27 for ; Mon, 05 Aug 2013 05:44:14 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: <1375701492-21759-1-git-send-email-peter.maydell@linaro.org> <1375701492-21759-3-git-send-email-peter.maydell@linaro.org> From: Peter Maydell Date: Mon, 5 Aug 2013 13:43:54 +0100 Message-ID: Content-Type: text/plain; charset=UTF-8 Subject: Re: [Qemu-devel] [PATCH v4 2/2] ARM: Add 'virt' platform List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anup Patel Cc: "patches@linaro.org" , qemu-devel@nongnu.org, "kvmarm@lists.cs.columbia.edu" On 5 August 2013 13:37, Anup Patel wrote: > On Mon, Aug 5, 2013 at 5:58 PM, Peter Maydell wrote: >> I really don't want to eat 2MB for each virtio-mmio transport >> in a 32 bit address space, it seems hugely wasteful unless >> there's a good reason to do it. > > I am not suggesting to give 2MB space to each virtio-mmio transport. > > What I really meant was to start VIRT_MMIO space (where all the > virtio-mmio transport would be added) to start at 2MB aligned address > and have total size (include all virtio-mmio transports) to be in-multiple > of 2MB so that we can trap access to all virtio-mmio transports using > 1-2 2MB entries in Stage2. Yes, that's fine. That would give us: static const MemMapEntry a15memmap[] = { [VIRT_FLASH] = { 0, 0x1000000 }, [VIRT_CPUPERIPHS] = { 0x1000000, 0x8000 }, /* GIC distributor and CPU interfaces sit inside the CPU peripheral space */ [VIRT_GIC_DIST] = { 0x1001000, 0x1000 }, [VIRT_GIC_CPU] = { 0x1002000, 0x1000 }, [VIRT_MMIO] = { 0x1200000, 0x200 }, /* ...repeating for a total of NUM_VIRTIO_TRANSPORTS, each of that size */ [VIRT_MEM] = { 0x8000000, 30ULL * 1024 * 1024 * 1024 }, }; -- PMM