*BSD News Article 36001


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!msuinfo!gmi!usenet.eel.ufl.edu!usenet.cis.ufl.edu!eng.ufl.edu!spool.mu.edu!howland.reston.ans.net!math.ohio-state.edu!hobbes.physics.uiowa.edu!newsrelay.iastate.edu!news.iastate.edu!soclab.soc.iastate.edu!flipk
From: flipk@iastate.edu (Phil Knaack)
Newsgroups: comp.os.386bsd.bugs
Subject: Re: aha0: DMA beyond end of ISA
Date: 20 Sep 94 21:09:34 GMT
Organization: Iowa State University, Ames, Iowa
Lines: 33
Distribution: comp
Message-ID: <flipk.780095374@soclab.soc.iastate.edu>
References: <KSTAILEY.94Sep19183504@leidecker.std.com>
NNTP-Posting-Host: soclab.soc.iastate.edu

In <KSTAILEY.94Sep19183504@leidecker.std.com>
   kstailey@leidecker.std.com (Kenneth Stailey) writes:

>When I raise the core memory (RAM) from 16MB to 20MB I get:
>aha0: DMA beyond end of ISA
>error messages.

>Why does this happen? Is there anything that will fix this?

This happens when the buffer for I/O is beyond the range of addresses 
accessable by ISA. 16 meg should be okay, but some motherboards allow 
you to reclaim the "lost" 384k (from I/O addresses A0000-FFFFF) and put
it just beyond the end of the rest of the memory, so you actually get a
tad more than 16meg.

Was your IDE controller a VL Bus controller?  Then it would be able to reach
all of this memory.  Or maybe the wd driver just doesn't check?

The fix is bounce buffers.  Has anyone done this for the aha driver? 

Either turn off the reclaiming of the extra memory (most
motherboards that do this allow you to disable it), hack machdep.c to
force the physical memory used to 16M (anyone got a specific patch for
this?), or use a 32 bit bus (EISA, VL or PCI) controller.

>Ken

Cheers,
Phil
-- 
Phil Knaack			flipk@iastate.edu
WGA, Sociology Department	flipk@cs.iastate.edu
Iowa State University		flipk@vorpal.com