steve@cdp.UUCP (07/11/90)
Hi.
I am trying to run over 16MB on an ISA bus machine
(that holds 24MB). We use an adaptek aha1542a SCSI
controller, and realize that it cannot DMA into
memory over 16MB.
I heard in this group of some parameters in the AT&T
UNIX kernel "3.2...", that allocate kernel buffers
to be used for DMA, when there is a request to DMA
into memory in certain ranges. Presumably, any
3.2.* UNIX that has these parameters, is capable of
disallowing DMA to memory over 16MB. The parameters
are called DMAEXCL and DMAABLEBUF.
I am running Interactive 2.0.2, and it doesn't have
DMAABLEBUF. I wonder if the new release (2.0.2)
does. Can anyone running 2.2 tell me. You could
just do :
egrep DMA /etc/conf/cf.d/*tune
and post/mail the results.
I have heard that this functionality was added in
AT&T release 3.2.2, so if Interactive's porting base
was 3.2.2, those parameters should be there.
Steve Fram
Community Data Processing (CdP)
{pyramid, hplabs, ...}!cdp!stevewsinpdb@lso.win.tue.nl (Paul de Bra) (07/18/90)
In article <654400008@cdp> steve@cdp.UUCP writes: >I am trying to run over 16MB on an ISA bus machine >(that holds 24MB). We use an adaptek aha1542a SCSI >controller, and realize that it cannot DMA into >memory over 16MB. > >...3.2.* UNIX that has these parameters, is capable of >disallowing DMA to memory over 16MB. The parameters >are called DMAEXCL and DMAABLEBUF. DMAEXCL is for a different kind of brain-damage (not being able to handle more than one dma operation at the same time) DMAABLEBUF already exists in AT&T Unix sVr3.2 (the docs i have are for 3.2 release 2.0, so preceding 3.2.1 and 3.2.2). I don't know about sVr3.1 anymore. It is not surprising that AT&T added something for DMA to memory above 16M early on because the AT&T 6386 (the original olivetti ones) can hold 48 Mbytes of ram. I have no idea why any of the other Unix vendors would omit this capability. Paul. (debra@research.att.com)
tim@delluk.uucp (Tim Wright) (07/23/90)
In <654400008@cdp> steve@cdp.UUCP writes: >I am trying to run over 16MB on an ISA bus machine >(that holds 24MB). We use an adaptek aha1542a SCSI >controller, and realize that it cannot DMA into >memory over 16MB. >I heard in this group of some parameters in the AT&T >UNIX kernel "3.2...", that allocate kernel buffers >to be used for DMA, when there is a request to DMA >into memory in certain ranges. Presumably, any >3.2.* UNIX that has these parameters, is capable of >disallowing DMA to memory over 16MB. The parameters >are called DMAEXCL and DMAABLEBUF. >I am running Interactive 2.0.2, and it doesn't have >DMAABLEBUF. I wonder if the new release (2.0.2) >does. DMAABLEBUF and DMAEXCL are in the kernel. However the most important thing is to change /etc/default/boot and alter/add the line MEMRANGE=0-640KL0,1M-16128K:0,16M-128M:1 which I believe tells the kernel where DMAABLE memory is located - the buffers parameter merely allocates some buffers to do DMA into if you go outside this range. That at least is the way I understand it. As you can see - we block out 640K to 1MB. I think MEMRANGE only refers to whether or not the memory is DMAABLE but I'm sure someone will correct me if I'm wrong :-) Tim -- Tim Wright, Unix Support | Email: ...!ukc!delluk!tim Dell Computer Corp. (UK), Bracknell | (pending domain registration).