Revision b3783731 hw/sun4m.c
b/hw/sun4m.c | ||
---|---|---|
26 | 26 |
#define KERNEL_LOAD_ADDR 0x00004000 |
27 | 27 |
#define CMDLINE_ADDR 0x007ff000 |
28 | 28 |
#define INITRD_LOAD_ADDR 0x00800000 |
29 |
#define PROM_SIZE_MAX (256 * 1024) |
|
29 | 30 |
#define PROM_ADDR 0xffd00000 |
30 | 31 |
#define PROM_FILENAMEB "proll.bin" |
31 | 32 |
#define PROM_FILENAMEE "proll.elf" |
... | ... | |
263 | 264 |
slavio_misc = slavio_misc_init(PHYS_JJ_SLAVIO, PHYS_JJ_ME_IRQ); |
264 | 265 |
|
265 | 266 |
prom_offset = ram_size + vram_size; |
267 |
cpu_register_physical_memory(PROM_ADDR, |
|
268 |
(PROM_SIZE_MAX + TARGET_PAGE_SIZE - 1) & TARGET_PAGE_MASK, |
|
269 |
prom_offset | IO_MEM_ROM); |
|
266 | 270 |
|
267 | 271 |
snprintf(buf, sizeof(buf), "%s/%s", bios_dir, PROM_FILENAMEE); |
268 |
ret = load_elf(buf, phys_ram_base + prom_offset);
|
|
272 |
ret = load_elf(buf, 0);
|
|
269 | 273 |
if (ret < 0) { |
270 | 274 |
snprintf(buf, sizeof(buf), "%s/%s", bios_dir, PROM_FILENAMEB); |
271 | 275 |
ret = load_image(buf, phys_ram_base + prom_offset); |
... | ... | |
275 | 279 |
buf); |
276 | 280 |
exit(1); |
277 | 281 |
} |
278 |
cpu_register_physical_memory(PROM_ADDR, (ret + TARGET_PAGE_SIZE) & TARGET_PAGE_MASK, |
|
279 |
prom_offset | IO_MEM_ROM); |
|
280 | 282 |
|
281 | 283 |
kernel_size = 0; |
282 | 284 |
if (linux_boot) { |
283 |
kernel_size = load_elf(kernel_filename, phys_ram_base + KERNEL_LOAD_ADDR);
|
|
285 |
kernel_size = load_elf(kernel_filename, -0xf0000000);
|
|
284 | 286 |
if (kernel_size < 0) |
285 | 287 |
kernel_size = load_aout(kernel_filename, phys_ram_base + KERNEL_LOAD_ADDR); |
286 | 288 |
if (kernel_size < 0) |
Also available in: Unified diff