Fix initialisation of serial/parallel ports, spotted by Stefan Weil.
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Wed, 21 Feb 2007 22:43:42 +0000 (22:43 +0000)
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Wed, 21 Feb 2007 22:43:42 +0000 (22:43 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2447 c046a42c-6fe2-441c-8c8c-71466251a162

hw/mips_malta.c

index 03db2f8..eeb3513 100644 (file)
@@ -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); */