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!steve
wsinpdb@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).