aboutsummaryrefslogtreecommitdiff
path: root/hw/ne2000.c
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2006-02-01 21:40:18 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2006-02-01 21:40:18 +0000
commitacff9df6a80455a8228dd6547cdd2714dbbe93ec (patch)
tree86f2bae1684e198947dab2367f1872c01454f927 /hw/ne2000.c
parent039af320d9b116a325ee55ebab2edf60f3bdc252 (diff)
rxcr save/restore (initial patch by Jürgen Pfennig
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1733 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/ne2000.c')
-rw-r--r--hw/ne2000.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/hw/ne2000.c b/hw/ne2000.c
index 2940abd35c..efc3ea8ece 100644
--- a/hw/ne2000.c
+++ b/hw/ne2000.c
@@ -643,6 +643,8 @@ static void ne2000_save(QEMUFile* f,void* opaque)
{
NE2000State* s=(NE2000State*)opaque;
+ qemu_put_8s(f, &s->rxcr);
+
qemu_put_8s(f, &s->cmd);
qemu_put_be32s(f, &s->start);
qemu_put_be32s(f, &s->stop);
@@ -667,8 +669,13 @@ static int ne2000_load(QEMUFile* f,void* opaque,int version_id)
{
NE2000State* s=(NE2000State*)opaque;
- if (version_id != 1)
+ if (version_id == 2) {
+ qemu_get_8s(f, &s->rxcr);
+ } else if (version_id == 1) {
+ s->rxcr = 0x0c;
+ } else {
return -EINVAL;
+ }
qemu_get_8s(f, &s->cmd);
qemu_get_be32s(f, &s->start);
@@ -726,7 +733,7 @@ void isa_ne2000_init(int base, int irq, NICInfo *nd)
s->macaddr[4],
s->macaddr[5]);
- register_savevm("ne2000", 0, 1, ne2000_save, ne2000_load, s);
+ register_savevm("ne2000", 0, 2, ne2000_save, ne2000_load, s);
}
/***********************************************************/
@@ -796,7 +803,7 @@ void pci_ne2000_init(PCIBus *bus, NICInfo *nd)
s->macaddr[5]);
/* XXX: instance number ? */
- register_savevm("ne2000", 0, 1, ne2000_save, ne2000_load, s);
+ register_savevm("ne2000", 0, 2, ne2000_save, ne2000_load, s);
register_savevm("ne2000_pci", 0, 1, generic_pci_save, generic_pci_load,
&d->dev);
}