Commit 5425a2164c99de50ac79e29cdd2cafbc3aafd2f4
1 parent
3299908c
Fix Sparc32 device save methods
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2657 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
3 changed files
with
17 additions
and
3 deletions
hw/esp.c
@@ -507,15 +507,21 @@ static void esp_save(QEMUFile *f, void *opaque) | @@ -507,15 +507,21 @@ static void esp_save(QEMUFile *f, void *opaque) | ||
507 | qemu_put_be32s(f, &s->ti_rptr); | 507 | qemu_put_be32s(f, &s->ti_rptr); |
508 | qemu_put_be32s(f, &s->ti_wptr); | 508 | qemu_put_be32s(f, &s->ti_wptr); |
509 | qemu_put_buffer(f, s->ti_buf, TI_BUFSZ); | 509 | qemu_put_buffer(f, s->ti_buf, TI_BUFSZ); |
510 | + qemu_put_be32s(f, &s->sense); | ||
510 | qemu_put_be32s(f, &s->dma); | 511 | qemu_put_be32s(f, &s->dma); |
512 | + qemu_put_buffer(f, s->cmdbuf, TI_BUFSZ); | ||
513 | + qemu_put_be32s(f, &s->cmdlen); | ||
514 | + qemu_put_be32s(f, &s->do_cmd); | ||
515 | + qemu_put_be32s(f, &s->dma_left); | ||
516 | + // There should be no transfers in progress, so dma_counter is not saved | ||
511 | } | 517 | } |
512 | 518 | ||
513 | static int esp_load(QEMUFile *f, void *opaque, int version_id) | 519 | static int esp_load(QEMUFile *f, void *opaque, int version_id) |
514 | { | 520 | { |
515 | ESPState *s = opaque; | 521 | ESPState *s = opaque; |
516 | 522 | ||
517 | - if (version_id != 2) | ||
518 | - return -EINVAL; // Cannot emulate 1 | 523 | + if (version_id != 3) |
524 | + return -EINVAL; // Cannot emulate 2 | ||
519 | 525 | ||
520 | qemu_get_buffer(f, s->rregs, ESP_MAXREG); | 526 | qemu_get_buffer(f, s->rregs, ESP_MAXREG); |
521 | qemu_get_buffer(f, s->wregs, ESP_MAXREG); | 527 | qemu_get_buffer(f, s->wregs, ESP_MAXREG); |
@@ -523,7 +529,12 @@ static int esp_load(QEMUFile *f, void *opaque, int version_id) | @@ -523,7 +529,12 @@ static int esp_load(QEMUFile *f, void *opaque, int version_id) | ||
523 | qemu_get_be32s(f, &s->ti_rptr); | 529 | qemu_get_be32s(f, &s->ti_rptr); |
524 | qemu_get_be32s(f, &s->ti_wptr); | 530 | qemu_get_be32s(f, &s->ti_wptr); |
525 | qemu_get_buffer(f, s->ti_buf, TI_BUFSZ); | 531 | qemu_get_buffer(f, s->ti_buf, TI_BUFSZ); |
532 | + qemu_get_be32s(f, &s->sense); | ||
526 | qemu_get_be32s(f, &s->dma); | 533 | qemu_get_be32s(f, &s->dma); |
534 | + qemu_get_buffer(f, s->cmdbuf, TI_BUFSZ); | ||
535 | + qemu_get_be32s(f, &s->cmdlen); | ||
536 | + qemu_get_be32s(f, &s->do_cmd); | ||
537 | + qemu_get_be32s(f, &s->dma_left); | ||
527 | 538 | ||
528 | return 0; | 539 | return 0; |
529 | } | 540 | } |
@@ -568,7 +579,7 @@ void *esp_init(BlockDriverState **bd, uint32_t espaddr, void *dma_opaque) | @@ -568,7 +579,7 @@ void *esp_init(BlockDriverState **bd, uint32_t espaddr, void *dma_opaque) | ||
568 | 579 | ||
569 | esp_reset(s); | 580 | esp_reset(s); |
570 | 581 | ||
571 | - register_savevm("esp", espaddr, 2, esp_save, esp_load, s); | 582 | + register_savevm("esp", espaddr, 3, esp_save, esp_load, s); |
572 | qemu_register_reset(esp_reset, s); | 583 | qemu_register_reset(esp_reset, s); |
573 | 584 | ||
574 | return s; | 585 | return s; |
hw/slavio_serial.c
@@ -688,6 +688,7 @@ void slavio_serial_ms_kbd_init(int base, qemu_irq irq) | @@ -688,6 +688,7 @@ void slavio_serial_ms_kbd_init(int base, qemu_irq irq) | ||
688 | 688 | ||
689 | qemu_add_mouse_event_handler(sunmouse_event, &s->chn[0], 0, "QEMU Sun Mouse"); | 689 | qemu_add_mouse_event_handler(sunmouse_event, &s->chn[0], 0, "QEMU Sun Mouse"); |
690 | qemu_add_kbd_event_handler(sunkbd_event, &s->chn[1]); | 690 | qemu_add_kbd_event_handler(sunkbd_event, &s->chn[1]); |
691 | + register_savevm("slavio_serial_mouse", base, 2, slavio_serial_save, slavio_serial_load, s); | ||
691 | qemu_register_reset(slavio_serial_reset, s); | 692 | qemu_register_reset(slavio_serial_reset, s); |
692 | slavio_serial_reset(s); | 693 | slavio_serial_reset(s); |
693 | } | 694 | } |
hw/tcx.c
@@ -243,6 +243,8 @@ static int tcx_load(QEMUFile *f, void *opaque, int version_id) | @@ -243,6 +243,8 @@ static int tcx_load(QEMUFile *f, void *opaque, int version_id) | ||
243 | qemu_get_8s(f, &s->dac_index); | 243 | qemu_get_8s(f, &s->dac_index); |
244 | qemu_get_8s(f, &s->dac_state); | 244 | qemu_get_8s(f, &s->dac_state); |
245 | update_palette_entries(s, 0, 256); | 245 | update_palette_entries(s, 0, 256); |
246 | + tcx_invalidate_display(s); | ||
247 | + | ||
246 | return 0; | 248 | return 0; |
247 | } | 249 | } |
248 | 250 |