aboutsummaryrefslogtreecommitdiff
path: root/hw/ppc_chrp.c
diff options
context:
space:
mode:
authorblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>2009-02-05 20:20:29 +0000
committerblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>2009-02-05 20:20:29 +0000
commit864c136a933f18bbf78609e3e43e75fde0923bba (patch)
treeb9f861a738501d53493836ba8fb95894b4226f2c /hw/ppc_chrp.c
parentf586ce09e22e9b9b264f1acd7e5f24dd5de7233b (diff)
Use qemu_ram_alloc
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6520 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/ppc_chrp.c')
-rw-r--r--hw/ppc_chrp.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/hw/ppc_chrp.c b/hw/ppc_chrp.c
index 026b08bdc6..89019a8c7a 100644
--- a/hw/ppc_chrp.c
+++ b/hw/ppc_chrp.c
@@ -35,6 +35,7 @@
#include "escc.h"
#define MAX_IDE_BUS 2
+#define VGA_BIOS_SIZE 65536
/* UniN device */
static void unin_writel (void *opaque, target_phys_addr_t addr, uint32_t value)
@@ -71,7 +72,7 @@ static void ppc_core99_init (ram_addr_t ram_size, int vga_ram_size,
qemu_irq *pic, **openpic_irqs;
int unin_memory;
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;
nvram_t nvram;
@@ -117,10 +118,14 @@ static void ppc_core99_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);
@@ -138,7 +143,7 @@ static void ppc_core99_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) {
@@ -156,7 +161,6 @@ static void ppc_core99_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;
@@ -337,6 +341,6 @@ QEMUMachine core99_machine = {
.name = "mac99",
.desc = "Mac99 based PowerMAC",
.init = ppc_core99_init,
- .ram_require = BIOS_SIZE + VGA_RAM_SIZE,
+ .ram_require = BIOS_SIZE + VGA_BIOS_SIZE + VGA_RAM_SIZE,
.max_cpus = MAX_CPUS,
};