Revision 23e39294 hw/ssd0303.c

b/hw/ssd0303.c
261 261
    s->redraw = 1;
262 262
}
263 263

  
264
static void ssd0303_save(QEMUFile *f, void *opaque)
265
{
266
    ssd0303_state *s = (ssd0303_state *)opaque;
267

  
268
    qemu_put_be32(f, s->row);
269
    qemu_put_be32(f, s->col);
270
    qemu_put_be32(f, s->start_line);
271
    qemu_put_be32(f, s->mirror);
272
    qemu_put_be32(f, s->flash);
273
    qemu_put_be32(f, s->enabled);
274
    qemu_put_be32(f, s->inverse);
275
    qemu_put_be32(f, s->redraw);
276
    qemu_put_be32(f, s->mode);
277
    qemu_put_be32(f, s->cmd_state);
278
    qemu_put_buffer(f, s->framebuffer, sizeof(s->framebuffer));
279

  
280
    i2c_slave_save(f, &s->i2c);
281
}
282

  
283
static int ssd0303_load(QEMUFile *f, void *opaque, int version_id)
284
{
285
    ssd0303_state *s = (ssd0303_state *)opaque;
286

  
287
    if (version_id != 1)
288
        return -EINVAL;
289

  
290
    s->row = qemu_get_be32(f);
291
    s->col = qemu_get_be32(f);
292
    s->start_line = qemu_get_be32(f);
293
    s->mirror = qemu_get_be32(f);
294
    s->flash = qemu_get_be32(f);
295
    s->enabled = qemu_get_be32(f);
296
    s->inverse = qemu_get_be32(f);
297
    s->redraw = qemu_get_be32(f);
298
    s->mode = qemu_get_be32(f);
299
    s->cmd_state = qemu_get_be32(f);
300
    qemu_get_buffer(f, s->framebuffer, sizeof(s->framebuffer));
301

  
302
    i2c_slave_load(f, &s->i2c);
303

  
304
    return 0;
305
}
306

  
264 307
void ssd0303_init(DisplayState *ds, i2c_bus *bus, int address)
265 308
{
266 309
    ssd0303_state *s;
......
274 317
                                      ssd0303_invalidate_display,
275 318
                                      NULL, NULL, s);
276 319
    qemu_console_resize(s->console, 96 * MAGNIFY, 16 * MAGNIFY);
320
    register_savevm("ssd0303_oled", -1, 1, ssd0303_save, ssd0303_load, s);
277 321
}

Also available in: Unified diff