Revision db596c53
b/hw/ps2.c | ||
---|---|---|
541 | 541 |
} |
542 | 542 |
}; |
543 | 543 |
|
544 |
static int ps2_kbd_load_old(QEMUFile* f, void* opaque, int version_id)
|
|
544 |
static int ps2_kbd_post_load(void* opaque, int version_id)
|
|
545 | 545 |
{ |
546 | 546 |
PS2KbdState *s = (PS2KbdState*)opaque; |
547 | 547 |
|
548 |
if (version_id != 2 && version_id != 3) |
|
549 |
return -EINVAL; |
|
550 |
|
|
551 |
vmstate_load_state(f, &vmstate_ps2_common, &s->common, version_id); |
|
552 |
s->scan_enabled=qemu_get_be32(f); |
|
553 |
s->translate=qemu_get_be32(f); |
|
554 |
if (version_id == 3) |
|
555 |
s->scancode_set=qemu_get_be32(f); |
|
556 |
else |
|
548 |
if (version_id == 2) |
|
557 | 549 |
s->scancode_set=2; |
558 | 550 |
return 0; |
559 | 551 |
} |
... | ... | |
561 | 553 |
static const VMStateDescription vmstate_ps2_keyboard = { |
562 | 554 |
.name = "ps2kbd", |
563 | 555 |
.version_id = 3, |
564 |
.minimum_version_id = 3,
|
|
556 |
.minimum_version_id = 2,
|
|
565 | 557 |
.minimum_version_id_old = 2, |
566 |
.load_state_old = ps2_kbd_load_old,
|
|
558 |
.post_load = ps2_kbd_post_load,
|
|
567 | 559 |
.fields = (VMStateField []) { |
568 | 560 |
VMSTATE_STRUCT(common, PS2KbdState, 0, vmstate_ps2_common, PS2State), |
569 | 561 |
VMSTATE_INT32(scan_enabled, PS2KbdState), |
Also available in: Unified diff