Commit 864c136a933f18bbf78609e3e43e75fde0923bba
1 parent
f586ce09
Use qemu_ram_alloc
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6520 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
10 additions
and
6 deletions
hw/ppc_chrp.c
... | ... | @@ -35,6 +35,7 @@ |
35 | 35 | #include "escc.h" |
36 | 36 | |
37 | 37 | #define MAX_IDE_BUS 2 |
38 | +#define VGA_BIOS_SIZE 65536 | |
38 | 39 | |
39 | 40 | /* UniN device */ |
40 | 41 | 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, |
71 | 72 | qemu_irq *pic, **openpic_irqs; |
72 | 73 | int unin_memory; |
73 | 74 | int linux_boot, i; |
74 | - unsigned long bios_offset, vga_bios_offset; | |
75 | + ram_addr_t ram_offset, vga_ram_offset, bios_offset, vga_bios_offset; | |
75 | 76 | uint32_t kernel_base, kernel_size, initrd_base, initrd_size; |
76 | 77 | PCIBus *pci_bus; |
77 | 78 | nvram_t nvram; |
... | ... | @@ -117,10 +118,14 @@ static void ppc_core99_init (ram_addr_t ram_size, int vga_ram_size, |
117 | 118 | } |
118 | 119 | |
119 | 120 | /* allocate RAM */ |
120 | - cpu_register_physical_memory(0, ram_size, IO_MEM_RAM); | |
121 | + ram_offset = qemu_ram_alloc(ram_size); | |
122 | + cpu_register_physical_memory(0, ram_size, ram_offset); | |
123 | + | |
124 | + /* allocate VGA RAM */ | |
125 | + vga_ram_offset = qemu_ram_alloc(vga_ram_size); | |
121 | 126 | |
122 | 127 | /* allocate and load BIOS */ |
123 | - bios_offset = ram_size + vga_ram_size; | |
128 | + bios_offset = qemu_ram_alloc(BIOS_SIZE); | |
124 | 129 | if (bios_name == NULL) |
125 | 130 | bios_name = BIOS_FILENAME; |
126 | 131 | 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, |
138 | 143 | bios_size, bios_offset | IO_MEM_ROM); |
139 | 144 | |
140 | 145 | /* allocate and load VGA BIOS */ |
141 | - vga_bios_offset = bios_offset + bios_size; | |
146 | + vga_bios_offset = qemu_ram_alloc(VGA_BIOS_SIZE); | |
142 | 147 | snprintf(buf, sizeof(buf), "%s/%s", bios_dir, VGABIOS_FILENAME); |
143 | 148 | vga_bios_size = load_image(buf, phys_ram_base + vga_bios_offset + 8); |
144 | 149 | if (vga_bios_size < 0) { |
... | ... | @@ -156,7 +161,6 @@ static void ppc_core99_init (ram_addr_t ram_size, int vga_ram_size, |
156 | 161 | vga_bios_size); |
157 | 162 | vga_bios_size += 8; |
158 | 163 | } |
159 | - vga_bios_size = (vga_bios_size + 0xfff) & ~0xfff; | |
160 | 164 | |
161 | 165 | if (linux_boot) { |
162 | 166 | kernel_base = KERNEL_LOAD_ADDR; |
... | ... | @@ -337,6 +341,6 @@ QEMUMachine core99_machine = { |
337 | 341 | .name = "mac99", |
338 | 342 | .desc = "Mac99 based PowerMAC", |
339 | 343 | .init = ppc_core99_init, |
340 | - .ram_require = BIOS_SIZE + VGA_RAM_SIZE, | |
344 | + .ram_require = BIOS_SIZE + VGA_BIOS_SIZE + VGA_RAM_SIZE, | |
341 | 345 | .max_cpus = MAX_CPUS, |
342 | 346 | }; | ... | ... |