Bug 21175

Summary: ISA DMA channels 4-7 operate on wrong memory area
Product: Base System Reporter: mbendiks <mbendiks>
Component: kernAssignee: cg
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 5.0-CURRENT   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff none

Description mbendiks 2000-09-10 20:50:00 UTC
	The ISA DMA handling code in /sys/i386/isa/isa_dma.c appears
	incorrect, according to my PC hardware guide. For the high
	channels, the page of the bounce buffer is incorrectly shifted
	by 16 bits, when it should be shifted by 17. This could possibly
	cause unexplained memory corruption under certain conditions.
	As a side note, genuine Intel chips do not need bounce buffers,
	and have not since i386, as there exists a second page register.

Fix: The following patch will correct the problem:
How-To-Repeat: 
	No problem here yet.
Comment 1 Johan Karlsson freebsd_committer freebsd_triage 2000-10-06 20:27:25 UTC
Responsible Changed
From-To: freebsd-bugs->peter

Peter, you have been the main committer to this file, 
can you please have a look at this.
Comment 2 Peter Wemm freebsd_committer freebsd_triage 2001-03-25 08:32:00 UTC
Responsible Changed
From-To: peter->cg

Cameron, can you please check this out with an ISA DMA sound card that uses 
channels 4 through 7?
Comment 3 cg freebsd_committer freebsd_triage 2001-03-27 07:14:07 UTC
State Changed
From-To: open->closed

submitter's understanding of isa dma is incorrect