macio: switch pmac_dma_write() over to new offset/len implementation
authorMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Thu, 4 Jun 2015 21:59:35 +0000 (22:59 +0100)
committerJohn Snow <jsnow@redhat.com>
Fri, 5 Jun 2015 00:25:39 +0000 (20:25 -0400)
commitac58fe7b2c67a9be142beacd4c6ee51f3264d90f
treeb85869189c41fceb9f9e7410145613acf1585f05
parent0389b8f8c7688fe512e16bdc00c5f35d2d8df12c
macio: switch pmac_dma_write() over to new offset/len implementation

In particular, this fixes a bug whereby chains of overlapping head/tail chains
would incorrectly write over each other's remainder cache. This is the access
pattern used by OS X/Darwin and fixes an issue with a corrupt Darwin
installation in my local tests.

While we are here, rename the DBDMA_io struct property remainder to
head_remainder for clarification.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: John Snow <jsnow@redhat.com>
Message-id: 1433455177-21243-3-git-send-email-mark.cave-ayland@ilande.co.uk
Signed-off-by: John Snow <jsnow@redhat.com>
hw/ide/macio.c
include/hw/ppc/mac_dbdma.h