Return to BSD News archive
Newsgroups: comp.os.386bsd.questions Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!headwall.Stanford.EDU!nntp.Stanford.EDU!leland.Stanford.EDU!yergeau From: yergeau@leland.Stanford.EDU (Dan Yergeau) Subject: Re: > 16 MB of RAM (on an ISA box) Message-ID: <1993Jul2.164901.22217@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: DSG, Stanford University, CA 94305, USA References: <1993Jun30.184624.15579@leland.Stanford.EDU> <20ub8n$ngn@germany.eu.net> <20vaj1$8el@hrd769.brooks.af.mil> <210g8n$3pr@pdq.coe.montana.edu> Date: Fri, 2 Jul 93 16:49:01 GMT Lines: 63 In article <210g8n$3pr@pdq.coe.montana.edu>, nate@bsd.coe.montana.edu (Nate Williams) writes: |> In article <20vaj1$8el@hrd769.brooks.af.mil> burgess@hrd769.brooks.af.mil (Dave Burgess) writes: |> >>However, it does not have a SCSI interface, and I do not know whether anything |> >>above 16M actually gets *used*. By not *used*, I assume that you mean not used for DMA transfers. It is used as part of the memory pool, right? |> >The general feeling that I have gotten is that memory above 16M is used, |> >but can cause problems if you are using an SCSI controller in an IDE |> >system. I wouldn't know why that would cause problems. Can you elaborate? |> When you can't run more than 16MB of memory is when |> |> 1) You have an ISA box - limits you to 24 data lines == 16MB This is not correct. The ISA bus only has 24 address lines (and 16 data lines), but many ISA motherboards support up to 32 MB or 64 MB of addressible memory. Unfortunately, some of these do it in an incompatible way. And some others use a screwed up cache design to save a couple of tag bits so they only cache the lower 16 MB (any access to code or data above 16 MB will be very slow). I have received mail from a few people running with 32 MB on ISA machines with no problems. |> 2) You use a disk controller that does DMA (Direct Memory Access) |> (Most decent SCSI boards use DMA to get better performance, so |> that is why SCSI comes up so often. IDE drives do not, and |> as such don't suffer from having more than 16MB, but also |> don't have the same performance) It looks like the kernel (i386/isa/isa.c) checks that the DMA transfer will be into the lower 16 MB, and if it won't, the transfer is handled it in a special way (but I wasn't sure that this special handling is completely implemented; it seems that it is). So, this should not be a problem. From the INSTALL.NOTES: Devices Supported in this Release: This release supports a 386/486 SX/DX ISA (ATBUS) sys- tem... which implies that it does not support EISA, except as it is compatible with ISA (i.e. transfers only to and from to the lower 16 MB). |> Theoretically, you get have the same problems if you put an ISA board that |> does DMA in an EISA box, since the board is limited to 24 bit address lines. Only if the driver/OS is stupid enough to try to get the ISA board to do a transfer above 16 MB. The earlier versions of SVR4 for the 386 failed to check that the transfer was in the ISA range. It looks like the Bill and Lynne are smarter than USL. Dan Yergeau yergeau@gloworm.Stanford.EDU You are in a twisty little passage of standards, all conflicting.