diff options
| author | Markus Armbruster <armbru@redhat.com> | 2009-09-25 03:53:51 +0200 |
|---|---|---|
| committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-10-05 09:32:53 -0500 |
| commit | 07caea315a85ebfe90851f9c2e4ef3fdd24117b5 (patch) | |
| tree | 153e42950d500a7c6219539941ff7c1f81a6487b /hw/pci.h | |
| parent | 9ee05825d9eaf7fe3aaed5ed04b83612ede704a0 (diff) | |
| download | focaccia-qemu-07caea315a85ebfe90851f9c2e4ef3fdd24117b5.tar.gz focaccia-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.h | 2 |
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); |