Revision 40ce0a9a hw/sun4m.c

b/hw/sun4m.c
50 50
#define CMDLINE_ADDR         0x007ff000
51 51
#define INITRD_LOAD_ADDR     0x00800000
52 52
#define PROM_SIZE_MAX        (256 * 1024)
53
#define PROM_ADDR	     0xffd00000
53
#define PROM_PADDR           0xff0000000ULL
54
#define PROM_VADDR           0xffd00000
54 55
#define PROM_FILENAME	     "openbios-sparc32"
55 56

  
56 57
#define MAX_CPUS 16
......
425 426
    linux_boot = (kernel_filename != NULL);
426 427

  
427 428
    prom_offset = RAM_size + vram_size;
428
    cpu_register_physical_memory(PROM_ADDR,
429
    cpu_register_physical_memory(PROM_PADDR,
429 430
                                 (PROM_SIZE_MAX + TARGET_PAGE_SIZE - 1) & TARGET_PAGE_MASK,
430 431
                                 prom_offset | IO_MEM_ROM);
431 432

  
432 433
    snprintf(buf, sizeof(buf), "%s/%s", bios_dir, PROM_FILENAME);
433
    ret = load_elf(buf, 0, NULL, NULL, NULL);
434
    ret = load_elf(buf, PROM_PADDR - PROM_VADDR, NULL, NULL, NULL);
434 435
    if (ret < 0) {
435 436
	fprintf(stderr, "qemu: could not load prom '%s'\n",
436 437
		buf);
......
588 589
        cpu_model = "TI SuperSparc II";
589 590
    sun4m_common_init(RAM_size, boot_device, ds, kernel_filename,
590 591
                      kernel_cmdline, initrd_filename, cpu_model,
591
                      1, PROM_ADDR); // XXX prom overlap, actually first 4GB ok
592
                      1, 0xffffffff); // XXX actually first 62GB ok
592 593
}
593 594

  
594 595
QEMUMachine ss5_machine = {

Also available in: Unified diff