Subject: Re: port-amd64/37351: amd64 crash dumps do not work for PA > 4 GB
To: None <port-amd64-maintainer@netbsd.org, gnats-admin@netbsd.org,>
From: Martin Husemann <martin@duskware.de>
List: netbsd-bugs
Date: 11/15/2007 09:10:03
The following reply was made to PR port-amd64/37351; it has been noted by GNATS.
From: Martin Husemann <martin@duskware.de>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: port-amd64/37351: amd64 crash dumps do not work for PA > 4 GB
Date: Thu, 15 Nov 2007 10:08:15 +0100
I added some annotation and found it bounces the workload just fine:
dumping PA 0000000100000000
bounced 4096 bytes to VA 0xffff80004db32000 PA 88710000
dma map: seg 0 len 4096 addr 0x88710000
but then it dies in sys/dev/pci/pciide_common.c:pciide_dma_dmamap_setup
when dma'ing the dma segment table to the device:
dma_maps->dma_table[dma_maps->dmamap_xfer->dm_nsegs -1].byte_count |=
htole32(IDEDMA_BYTE_COUNT_EOT);
/* makes it here */
bus_dmamap_sync(sc->sc_dmat, dma_maps->dmamap_table, 0,
dma_maps->dmamap_table->dm_mapsize,
BUS_DMASYNC_PREWRITE);
/* does not make it here */
This is kinda suprise for me - any ideas?
Martin