summaryrefslogtreecommitdiff
path: root/hw/pci.h
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2009-09-25 03:53:51 +0200
committerAnthony Liguori <aliguori@us.ibm.com>2009-10-05 09:32:53 -0500
commit07caea315a85ebfe90851f9c2e4ef3fdd24117b5 (patch)
tree153e42950d500a7c6219539941ff7c1f81a6487b /hw/pci.h
parent9ee05825d9eaf7fe3aaed5ed04b83612ede704a0 (diff)
downloadqemu-07caea315a85ebfe90851f9c2e4ef3fdd24117b5.tar.gz
qemu-07caea315a85ebfe90851f9c2e4ef3fdd24117b5.tar.bz2
qemu-07caea315a85ebfe90851f9c2e4ef3fdd24117b5.zip
Fix pci_add nic not to exit on bad model
Monitor command "pci_add ADDR nic model=MODEL" uses pci_nic_init() to create the NIC. When MODEL is unknown or "?", this prints to stderr and terminates the program. Change pci_nic_init() not to treat "?" specially, and to return NULL on failure. Switch uses during startup to new convenience wrapper pci_nic_init_nofail(), which behaves just like pci_nic_init() used to do. Bonus bug fix: we now check for qdev_init() failing there. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw/pci.h')
-rw-r--r--hw/pci.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/pci.h b/hw/pci.h
index 76dfa0a9bd..fdfd2e0927 100644
--- a/hw/pci.h
+++ b/hw/pci.h
@@ -256,6 +256,8 @@ PCIBus *pci_register_bus(DeviceState *parent, const char *name,
int pci_nic_supported(const char *model);
PCIDevice *pci_nic_init(NICInfo *nd, const char *default_model,
const char *default_devaddr);
+PCIDevice *pci_nic_init_nofail(NICInfo *nd, const char *default_model,
+ const char *default_devaddr);
void pci_data_write(void *opaque, uint32_t addr, uint32_t val, int len);
uint32_t pci_data_read(void *opaque, uint32_t addr, int len);
int pci_bus_num(PCIBus *s);