mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 08:43:55 -06:00
PCI save/restore changes
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2115 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
89b6b50892
commit
1941d19c65
4 changed files with 51 additions and 21 deletions
25
hw/ne2000.c
25
hw/ne2000.c
|
@ -648,6 +648,9 @@ static void ne2000_save(QEMUFile* f,void* opaque)
|
|||
{
|
||||
NE2000State* s=(NE2000State*)opaque;
|
||||
|
||||
if (s->pci_dev)
|
||||
pci_device_save(s->pci_dev, f);
|
||||
|
||||
qemu_put_8s(f, &s->rxcr);
|
||||
|
||||
qemu_put_8s(f, &s->cmd);
|
||||
|
@ -673,13 +676,21 @@ static void ne2000_save(QEMUFile* f,void* opaque)
|
|||
static int ne2000_load(QEMUFile* f,void* opaque,int version_id)
|
||||
{
|
||||
NE2000State* s=(NE2000State*)opaque;
|
||||
int ret;
|
||||
|
||||
if (version_id == 2) {
|
||||
qemu_get_8s(f, &s->rxcr);
|
||||
} else if (version_id == 1) {
|
||||
s->rxcr = 0x0c;
|
||||
} else {
|
||||
if (version_id > 3)
|
||||
return -EINVAL;
|
||||
|
||||
if (s->pci_dev && version_id >= 3) {
|
||||
ret = pci_device_load(s->pci_dev, f);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (version_id >= 2) {
|
||||
qemu_get_8s(f, &s->rxcr);
|
||||
} else {
|
||||
s->rxcr = 0x0c;
|
||||
}
|
||||
|
||||
qemu_get_8s(f, &s->cmd);
|
||||
|
@ -810,7 +821,5 @@ void pci_ne2000_init(PCIBus *bus, NICInfo *nd)
|
|||
s->macaddr[5]);
|
||||
|
||||
/* XXX: instance number ? */
|
||||
register_savevm("ne2000", 0, 2, ne2000_save, ne2000_load, s);
|
||||
register_savevm("ne2000_pci", 0, 1, generic_pci_save, generic_pci_load,
|
||||
&d->dev);
|
||||
register_savevm("ne2000", 0, 3, ne2000_save, ne2000_load, s);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue