X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=hw%2Fmips_r4k.c;h=ce7aaff9dfd5299be8928b9a41367669cbfbf666;hb=cd346349b45ef056f138a184f660b8c34c3213cc;hp=2208922a7578b37232f4e529dd87ae8307bb7ebc;hpb=51b2772f28f51b04e10e6e51f411f7246e1159d9;p=qemu diff --git a/hw/mips_r4k.c b/hw/mips_r4k.c index 2208922..ce7aaff 100644 --- a/hw/mips_r4k.c +++ b/hw/mips_r4k.c @@ -64,9 +64,10 @@ static CPUReadMemoryFunc *mips_qemu_read[] = { static int mips_qemu_iomemtype = 0; -void load_kernel (CPUState *env, int ram_size, const char *kernel_filename, - const char *kernel_cmdline, - const char *initrd_filename) +static void load_kernel (CPUState *env, int ram_size, + const char *kernel_filename, + const char *kernel_cmdline, + const char *initrd_filename) { int64_t entry, kernel_low, kernel_high; long kernel_size, initrd_size; @@ -77,7 +78,7 @@ void load_kernel (CPUState *env, int ram_size, const char *kernel_filename, if (kernel_size >= 0) { if ((entry & ~0x7fffffffULL) == 0x80000000) entry = (int32_t)entry; - env->PC = entry; + env->PC[env->current_tc] = entry; } else { fprintf(stderr, "qemu: could not load kernel '%s'\n", kernel_filename); @@ -179,7 +180,9 @@ void mips_r4k_init (int ram_size, int vga_ram_size, int boot_device, preloaded we also initialize the hardware, since the BIOS wasn't run. */ bios_offset = ram_size + vga_ram_size; - snprintf(buf, sizeof(buf), "%s/%s", bios_dir, BIOS_FILENAME); + if (bios_name == NULL) + bios_name = BIOS_FILENAME; + snprintf(buf, sizeof(buf), "%s/%s", bios_dir, bios_name); bios_size = load_image(buf, phys_ram_base + bios_offset); if ((bios_size > 0) && (bios_size <= BIOS_SIZE)) { cpu_register_physical_memory(0x1fc00000, @@ -221,7 +224,7 @@ void mips_r4k_init (int ram_size, int vga_ram_size, int boot_device, } } - isa_vga_init(ds, phys_ram_base + ram_size, ram_size, + isa_vga_init(ds, phys_ram_base + ram_size, ram_size, vga_ram_size); if (nd_table[0].vlan) {