*BSD News Article 17881


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!howland.reston.ans.net!math.ohio-state.edu!uwm.edu!caen!usenet.coe.montana.edu!bsd.coe.montana.edu!nate
From: nate@bsd.coe.montana.edu (Nate Williams)
Newsgroups: comp.os.386bsd.questions
Subject: Re: > 16 MB of RAM (on an ISA box)
Date: 2 Jul 1993 19:12:41 GMT
Organization: Montana State University
Lines: 77
Message-ID: <2121b9$73v@pdq.coe.montana.edu>
References: <1993Jun30.184624.15579@leland.Stanford.EDU> <20vaj1$8el@hrd769.brooks.af.mil> <210g8n$3pr@pdq.coe.montana.edu> <1993Jul2.164901.22217@leland.stanford.edu>
NNTP-Posting-Host: bsd.coe.montana.edu

In article <1993Jul2.164901.22217@leland.stanford.edu> yergeau@leland.Stanford.EDU (Dan Yergeau) writes:
>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?

386BSD 0.1 will does not distinguish between memory above/below 16MB
on a ISA bus.

>|> 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.  

You're not listening.  The ISA bus has 24 address lines.  The actual
data path from the CPU to the memory system is not limited to 24 lines,
but the ISA bus has 24 lines.

As such, these boards (because they must go through the ISA bus) can
not DMA above the 16MB mark.

>I have received mail from a few people running with 32 MB on ISA
>machines with no problems.

1) As I stated before, if you don't have any cards that use DMA
  you can use more than 16MB safely on an ISA machine.
2) Most commercial O.S.'s recognize that you can't DMA to memory
  above 16MB, and use 'bounce buffers' to allow the DMA to work
  correctly (I think Linux does as well)
 
>
>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.


As you noted above, this special handling is not completely implemented.
Rumor has it is has been finished in 0.2, but I don't have 0.2, and
haven't seen anything that looks remotely like 0.2.

>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). 

Nope.  Trust me.  It supports EISA but not completely.  It's supports EISA
in such a way that it's an ISA bus with more than 24 address lines.
(We had one box with 64MB running for a while with a SCSI controller)

>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.

Unfortunately, they didn't finish the job.


Nate

-- 
nate@bsd.coe.montana.edu     |  In the middle of it ........ again. 
nate@cs.montana.edu          |  Running/supporting of many freely available 
work #: (406) 994-4836       |  Operating Systems for [34]86 machines.
home #: (406) 586-0579       |  (based on Net/2, name changes all the time :-)