diff options
author | se <se@FreeBSD.org> | 2009-10-31 17:06:36 +0000 |
---|---|---|
committer | se <se@FreeBSD.org> | 2009-10-31 17:06:36 +0000 |
commit | b44c3ebbbe706bb08a658e72f84bd610e718d00e (patch) | |
tree | 3d847f5ec9ef3d377c33396ccb9e742c3c241f9d /contrib | |
parent | 6fe1e3e06af7b0dbd335e49d4a76da6b571a7628 (diff) | |
download | FreeBSD-src-b44c3ebbbe706bb08a658e72f84bd610e718d00e.zip FreeBSD-src-b44c3ebbbe706bb08a658e72f84bd610e718d00e.tar.gz |
While certain supported Symbios/LSI SCSI chips (532c896, 53c1000, 53c1010)
do support 64bit addresses, the current SCRIPTS code supports only 32bit
addresses causing data corruption for buffer addresses >4GB. This problem
affects 64bit machines with more than 4GB RAM or amd64 with 4GB and
memory hole remapping.
Work-around this problem with a bus_dma tag that requests bounce-buffers
for addresses >4GB. This causes some overhead, but given the maximum SCSI
bus speed of 160MB/s compared, the effect should hardly be noticeable.
The problem was reported by Mike Watters (mike at mwatters net) who also
verified that this fix cures the problem.
Since this change is a NOOP on systems with less than 4GB RAM and fixes
data corruption (in RAM and on disk) on systems with more than 4GB, I hope
that this change is accepted for 8.0.
MFC after: 3 days (pending approval)
Diffstat (limited to 'contrib')
0 files changed, 0 insertions, 0 deletions