eepro100: Fix boot ROM support

* Rename pxe-eepro100.bin to pxe-i82559er.bin.
  The other devices supported by eepro100.c need
  additional pxe boot ROM images.
* Call rom_add_option during initialisation.
  The code won't work with two or more different
  eepro100 devices, because it only adds one option
  ROM, but this use case is perhaps never needed.

Using this patch, model=i82559er at least works partially.
For full support, more eepro100 patches are needed
(will follow later, can be fetched from ar7 branch
of QEMU).

Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Stefan Weil 2009-10-31 13:38:33 +01:00 committed by Anthony Liguori
parent 1bb62099bf
commit 4e9df06acc
2 changed files with 11 additions and 0 deletions

View File

@ -40,6 +40,7 @@
#include <stddef.h> /* offsetof */
#include <stdbool.h>
#include "hw.h"
#include "loader.h" /* rom_add_option */
#include "pci.h"
#include "net.h"
#include "eeprom93xx.h"
@ -1843,6 +1844,16 @@ static int nic_init(PCIDevice *pci_dev, uint32_t device)
memcpy(s->vmstate, &vmstate_eepro100, sizeof(vmstate_eepro100));
s->vmstate->name = s->vc->model;
vmstate_register(-1, s->vmstate, s);
if (!pci_dev->qdev.hotplugged) {
static int loaded = 0;
if (!loaded) {
char fname[32];
snprintf(fname, sizeof(fname), "pxe-%s.bin", s->vc->model);
rom_add_option(fname);
loaded = 1;
}
}
return 0;
}