Revision c7298ab2 hw/mipsnet.c

b/hw/mipsnet.c
202 202
    }
203 203
}
204 204

  
205
static void mipsnet_save(QEMUFile *f, void *opaque)
206
{
207
    MIPSnetState *s = opaque;
208

  
209
    qemu_put_be32s(f, &s->busy);
210
    qemu_put_be32s(f, &s->rx_count);
211
    qemu_put_be32s(f, &s->rx_read);
212
    qemu_put_be32s(f, &s->tx_count);
213
    qemu_put_be32s(f, &s->tx_written);
214
    qemu_put_be32s(f, &s->intctl);
215
    qemu_put_buffer(f, s->rx_buffer, MAX_ETH_FRAME_SIZE);
216
    qemu_put_buffer(f, s->tx_buffer, MAX_ETH_FRAME_SIZE);
217
}
218

  
219
static int mipsnet_load(QEMUFile *f, void *opaque, int version_id)
220
{
221
    MIPSnetState *s = opaque;
222

  
223
    if (version_id > 0)
224
        return -EINVAL;
225

  
226
    qemu_get_be32s(f, &s->busy);
227
    qemu_get_be32s(f, &s->rx_count);
228
    qemu_get_be32s(f, &s->rx_read);
229
    qemu_get_be32s(f, &s->tx_count);
230
    qemu_get_be32s(f, &s->tx_written);
231
    qemu_get_be32s(f, &s->intctl);
232
    qemu_get_buffer(f, s->rx_buffer, MAX_ETH_FRAME_SIZE);
233
    qemu_get_buffer(f, s->tx_buffer, MAX_ETH_FRAME_SIZE);
234

  
235
    return 0;
236
}
205
static const VMStateDescription vmstate_mipsnet = {
206
    .name = "mipsnet",
207
    .version_id = 0,
208
    .minimum_version_id = 0,
209
    .minimum_version_id_old = 0,
210
    .fields      = (VMStateField[]) {
211
        VMSTATE_UINT32(busy, MIPSnetState),
212
        VMSTATE_UINT32(rx_count, MIPSnetState),
213
        VMSTATE_UINT32(rx_read, MIPSnetState),
214
        VMSTATE_UINT32(tx_count, MIPSnetState),
215
        VMSTATE_UINT32(tx_written, MIPSnetState),
216
        VMSTATE_UINT32(intctl, MIPSnetState),
217
        VMSTATE_BUFFER(rx_buffer, MIPSnetState),
218
        VMSTATE_BUFFER(tx_buffer, MIPSnetState),
219
        VMSTATE_END_OF_LIST()
220
    }
221
};
237 222

  
238 223
static void mipsnet_cleanup(VLANClientState *nc)
239 224
{
240 225
    MIPSnetState *s = DO_UPCAST(NICState, nc, nc)->opaque;
241 226

  
242
    unregister_savevm(NULL, "mipsnet", s);
227
    vmstate_unregister(NULL, &vmstate_mipsnet, s);
243 228

  
244 229
    isa_unassign_ioport(s->io_base, 36);
245 230

  
......
284 269
    }
285 270

  
286 271
    mipsnet_reset(s);
287
    register_savevm(NULL, "mipsnet", 0, 0, mipsnet_save, mipsnet_load, s);
272
    vmstate_register(NULL, 0, &vmstate_mipsnet, s);
288 273
}

Also available in: Unified diff