summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorBlue Swirl <blauwirbel@gmail.com>2011-02-05 15:44:45 +0000
committerBlue Swirl <blauwirbel@gmail.com>2011-02-20 09:32:35 +0000
commitcd1b8a8b0d5951fb3a575a13bfd3aa3f7018ef1f (patch)
tree7de7d5ed1f959e7066381fd60b582ed0eed3eefa
parent60a14ad31e3629c13816d5060cb30d73985171e9 (diff)
downloadfocaccia-qemu-cd1b8a8b0d5951fb3a575a13bfd3aa3f7018ef1f.tar.gz
focaccia-qemu-cd1b8a8b0d5951fb3a575a13bfd3aa3f7018ef1f.zip
ne2000_isa: make optional
Ignore failure with ne2000_isa device creation.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
-rw-r--r--hw/pc.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/hw/pc.h b/hw/pc.h
index abdf307fe0..50d9943dc3 100644
--- a/hw/pc.h
+++ b/hw/pc.h
@@ -5,6 +5,7 @@
 #include "ioport.h"
 #include "isa.h"
 #include "fdc.h"
+#include "net.h"
 
 /* PC-style peripherals (also used by other machines).  */
 
@@ -176,17 +177,21 @@ void pci_cirrus_vga_init(PCIBus *bus);
 void isa_cirrus_vga_init(void);
 
 /* ne2000.c */
-static inline void isa_ne2000_init(int base, int irq, NICInfo *nd)
+static inline bool isa_ne2000_init(int base, int irq, NICInfo *nd)
 {
     ISADevice *dev;
 
     qemu_check_nic_model(nd, "ne2k_isa");
 
-    dev = isa_create("ne2k_isa");
+    dev = isa_try_create("ne2k_isa");
+    if (!dev) {
+        return false;
+    }
     qdev_prop_set_uint32(&dev->qdev, "iobase", base);
     qdev_prop_set_uint32(&dev->qdev, "irq",    irq);
     qdev_set_nic_properties(&dev->qdev, nd);
     qdev_init_nofail(&dev->qdev);
+    return true;
 }
 
 /* e820 types */