diff --git a/hw/mips_malta.c b/hw/mips_malta.c index 03db2f8a6cb157c285b1a5f8c503c8e56ff88254..eeb351387656c3dcd184be4335e8ee4e5ac9dd44 100644 --- a/hw/mips_malta.c +++ b/hw/mips_malta.c @@ -569,9 +569,12 @@ void mips_malta_init (int ram_size, int vga_ram_size, int boot_device, /* Super I/O */ kbd_init(); rtc_state = rtc_init(0x70, 8); - serial_init(&pic_set_irq_new, isa_pic, 0x3f8, 4, serial_hds[0]); - serial_init(&pic_set_irq_new, isa_pic, 0x2f8, 4, serial_hds[0]); - parallel_init(0x378, 7, parallel_hds[0]); + if (serial_hds[0]) + serial_init(&pic_set_irq_new, isa_pic, 0x3f8, 4, serial_hds[0]); + if (serial_hds[1]) + serial_init(&pic_set_irq_new, isa_pic, 0x2f8, 4, serial_hds[1]); + if (parallel_hds[0]) + parallel_init(0x378, 7, parallel_hds[0]); /* XXX: The floppy controller does not work correctly, something is probably wrong. floppy_controller = fdctrl_init(6, 2, 0, 0x3f0, fd_table); */