From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LDazM-00006L-L2 for qemu-devel@nongnu.org; Fri, 19 Dec 2008 03:45:40 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LDazJ-0008V1-Uo for qemu-devel@nongnu.org; Fri, 19 Dec 2008 03:45:40 -0500 Received: from [199.232.76.173] (port=51617 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LDazJ-0008Uy-S4 for qemu-devel@nongnu.org; Fri, 19 Dec 2008 03:45:37 -0500 Received: from hall.aurel32.net ([88.191.82.174]:44325) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LDazI-0003Q6-8C for qemu-devel@nongnu.org; Fri, 19 Dec 2008 03:45:37 -0500 Message-ID: <494B5F22.8000104@aurel32.net> Date: Fri, 19 Dec 2008 09:45:22 +0100 From: Aurelien Jarno MIME-Version: 1.0 References: <1229635267-16897-1-git-send-email-Laurent@lvivier.info> <1229635267-16897-2-git-send-email-Laurent@lvivier.info> In-Reply-To: <1229635267-16897-2-git-send-email-Laurent@lvivier.info> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Subject: [Qemu-devel] Re: [PATCH 1/2][RFC] Modify hw/ppc_oldword.c to use qemu_ram_alloc(). Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Laurent Vivier Cc: Blue Swirl , qemu-devel@nongnu.org Laurent Vivier a écrit : > This patch uses qemu_ram_alloc() to allocate RAM, VGA RAM and VGA BIOS. This patch looks good, I think it could be merged. Any objection to that? > Signed-off-by: Blue Swirl > Signed-off-by: Laurent Vivier > --- > hw/ppc_oldworld.c | 21 ++++++++++++--------- > 1 files changed, 12 insertions(+), 9 deletions(-) > > diff --git a/hw/ppc_oldworld.c b/hw/ppc_oldworld.c > index 0265596..696add2 100644 > --- a/hw/ppc_oldworld.c > +++ b/hw/ppc_oldworld.c > @@ -34,6 +34,7 @@ > #include "boards.h" > > #define MAX_IDE_BUS 2 > +#define VGA_BIOS_SIZE 65536 > > /* temporary frame buffer OSI calls for the video.x driver. The right > solution is to modify the driver to use VGA PCI I/Os */ > @@ -116,7 +117,7 @@ static void ppc_heathrow_init (ram_addr_t ram_size, int vga_ram_size, > nvram_t nvram; > m48t59_t *m48t59; > int linux_boot, i; > - unsigned long bios_offset, vga_bios_offset; > + ram_addr_t ram_offset, vga_ram_offset, bios_offset, vga_bios_offset; > uint32_t kernel_base, kernel_size, initrd_base, initrd_size; > PCIBus *pci_bus; > MacIONVRAMState *nvr; > @@ -154,10 +155,14 @@ static void ppc_heathrow_init (ram_addr_t ram_size, int vga_ram_size, > } > > /* allocate RAM */ > - cpu_register_physical_memory(0, ram_size, IO_MEM_RAM); > + ram_offset = qemu_ram_alloc(ram_size); > + cpu_register_physical_memory(0, ram_size, ram_offset); > + > + /* allocate VGA RAM */ > + vga_ram_offset = qemu_ram_alloc(vga_ram_size); > > /* allocate and load BIOS */ > - bios_offset = ram_size + vga_ram_size; > + bios_offset = qemu_ram_alloc(BIOS_SIZE); > if (bios_name == NULL) > bios_name = BIOS_FILENAME; > snprintf(buf, sizeof(buf), "%s/%s", bios_dir, bios_name); > @@ -166,7 +171,6 @@ static void ppc_heathrow_init (ram_addr_t ram_size, int vga_ram_size, > cpu_abort(env, "qemu: could not load PowerPC bios '%s'\n", buf); > exit(1); > } > - bios_size = (bios_size + 0xfff) & ~0xfff; > if (bios_size > 0x00080000) { > /* As the NVRAM is located at 0xFFF04000, we cannot use 1 MB BIOSes */ > cpu_abort(env, "G3BW Mac hardware can not handle 1 MB BIOS\n"); > @@ -175,7 +179,7 @@ static void ppc_heathrow_init (ram_addr_t ram_size, int vga_ram_size, > bios_size, bios_offset | IO_MEM_ROM); > > /* allocate and load VGA BIOS */ > - vga_bios_offset = bios_offset + bios_size; > + vga_bios_offset = qemu_ram_alloc(VGA_BIOS_SIZE); > snprintf(buf, sizeof(buf), "%s/%s", bios_dir, VGABIOS_FILENAME); > vga_bios_size = load_image(buf, phys_ram_base + vga_bios_offset + 8); > if (vga_bios_size < 0) { > @@ -193,7 +197,6 @@ static void ppc_heathrow_init (ram_addr_t ram_size, int vga_ram_size, > vga_bios_size); > vga_bios_size += 8; > } > - vga_bios_size = (vga_bios_size + 0xfff) & ~0xfff; > > if (linux_boot) { > kernel_base = KERNEL_LOAD_ADDR; > @@ -278,8 +281,8 @@ static void ppc_heathrow_init (ram_addr_t ram_size, int vga_ram_size, > } > pic = heathrow_pic_init(&pic_mem_index, 1, heathrow_irqs); > pci_bus = pci_grackle_init(0xfec00000, pic); > - pci_vga_init(pci_bus, ds, phys_ram_base + ram_size, > - ram_size, vga_ram_size, > + pci_vga_init(pci_bus, ds, phys_ram_base + vga_ram_offset, > + vga_ram_offset, vga_ram_size, > vga_bios_offset, vga_bios_size); > > /* XXX: suppress that */ > @@ -369,6 +372,6 @@ QEMUMachine heathrow_machine = { > .name = "g3bw", > .desc = "Heathrow based PowerMAC", > .init = ppc_heathrow_init, > - .ram_require = BIOS_SIZE + VGA_RAM_SIZE, > + .ram_require = BIOS_SIZE + VGA_BIOS_SIZE + VGA_RAM_SIZE, > .max_cpus = MAX_CPUS, > }; -- .''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' aurel32@debian.org | aurelien@aurel32.net `- people.debian.org/~aurel32 | www.aurel32.net