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