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 | qemu-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.h | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -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); |