This patchset contains fixes for the macfb and esp devices which enable migration of the q800 machine to succeed here in local testing.
Patches 1-5 contain fixes and improvements for migrating the macfb device whilst patches 6-9 change the ESPState pdma_cb field from being a function pointer to an integer index that can be included in the migration stream. Finally patch 10 ensures that any in-flight SCSI requests active during migration are resumed correctly post-migration. This is required because PDMA requires the guest to read/write DMA data and hence an active SCSI request cannot run to completion before migration starts. NOTE: this patchset is based upon my previous mos6522 patchset posted at https://lists.gnu.org/archive/html/qemu-devel/2022-02/msg05248.html. Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> Based-on: <20220224115956.29997-1-mark.cave-ayl...@ilande.co.uk> v2: - Rebase onto master - Add R-B tags from Phil - Update patch 8 to use an unsigned type for pdma_cb along with an enum - Squash fixes into patch 3 (missing default in switch) Mark Cave-Ayland (10): macfb: add VMStateDescription for MacfbNubusState and MacfbSysBusState macfb: don't use special irq_state and irq_mask variables in MacfbState macfb: increase number of registers saved in MacfbState macfb: add VMStateDescription fields for display type and VBL timer macfb: set initial value of mode control registers in macfb_common_realize() esp: introduce esp_set_pdma_cb() function esp: introduce esp_pdma_cb() function esp: convert ESPState pdma_cb from a function pointer to an integer esp: include the current PDMA callback in the migration stream esp: recreate ESPState current_req after migration hw/display/macfb.c | 57 ++++++++++++++++++++++----- hw/scsi/esp.c | 79 +++++++++++++++++++++++++++++++++----- include/hw/display/macfb.h | 5 +-- include/hw/scsi/esp.h | 11 +++++- 4 files changed, 129 insertions(+), 23 deletions(-) -- 2.20.1