PowerPC 601 / 620 / 970 need a 1MB firmware.

This option is not allowed for PowerMac, as it would overlap with NVRAM.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3480 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
j_mayer 2007-10-29 10:19:50 +00:00
parent d2123ead89
commit 4c823cff9e
4 changed files with 28 additions and 1 deletions

View file

@ -135,6 +135,13 @@ static void ppc_heathrow_init (int ram_size, int vga_ram_size, int boot_device,
register_savevm("cpu", 0, 3, cpu_save, cpu_load, env);
envs[i] = env;
}
if (env->nip < 0xFFF80000) {
/* Special test for PowerPC 601:
* the boot vector is at 0xFFF00100, then we need a 1MB BIOS.
* But the NVRAM is located at 0xFFF04000...
*/
cpu_abort(env, "G3BW Mac hardware can not handle 1 MB BIOS\n");
}
/* allocate RAM */
cpu_register_physical_memory(0, ram_size, IO_MEM_RAM);
@ -150,6 +157,10 @@ static void ppc_heathrow_init (int ram_size, int vga_ram_size, int boot_device,
exit(1);
}
bios_size = (bios_size + 0xfff) & ~0xfff;
if (bios_size > 0x00080000) {
/* As the NVRAM is located at 0xFFF04000, we cannot use 1 MB BIOSes */
cpu_abort(env, "G3BW Mac hardware can not handle 1 MB BIOS\n");
}
cpu_register_physical_memory((uint32_t)(-bios_size),
bios_size, bios_offset | IO_MEM_ROM);