[comp.os.minix] What's the magic about using DMA??

cline@sun.soe.clarkson.edu (Marshall Cline) (05/16/89)

Two questions:

(1) I recently read in the Minix textbook (Prentice Hall) about a DMA
caveat that AST had discovered.  It had something to do with wrapping
around 64K barriers as I recall.  Anyway, I can't find the specifics
now that a friend needs them :-(
QUESTION: Does anyone know the information to which I am refering? Page#?

(2) AST mentioned that there is minimal documentation for using DMA.
QUESTION: Does anyone know a pointer to more detailed doc on DMA?

Thanks in advance
Marshall

	________________________________________________________________
	Dr. Marshall P. Cline	ARPA:	cline@sun.soe.clarkson.edu
	ECE Department		UseNet:	uunet!sun.soe.clarkson.edu!cline
	Clarkson University	BitNet:	BH0W@CLUTX
	Potsdam, NY  13676	AT&T:	(315) 268-6591
--
	________________________________________________________________
	Dr. Marshall P. Cline	ARPA:	cline@sun.soe.clarkson.edu
	ECE Department		UseNet:	uunet!sun.soe.clarkson.edu!cline
	Clarkson University	BitNet:	BH0W@CLUTX
	Potsdam, NY  13676	AT&T:	(315) 268-6591

EPRF%SNYCENVM.BITNET@cornellc.cit.cornell.edu (Peter Flass) (05/17/89)

On Tue, 16 May 89 15:45:03 GMT Marshall Cline said:
>Two questions:
>
>(1) I recently read in the Minix textbook (Prentice Hall) about a DMA
>caveat that AST had discovered.  It had something to do with wrapping
>around 64K barriers as I recall.  Anyway, I can't find the specifics
>now that a friend needs them :-(
>QUESTION: Does anyone know the information to which I am refering? Page#?
  Try page 152 - the DMA address register will not generate a carry over
a physical 64k boundary.
>
>(2) AST mentioned that there is minimal documentation for using DMA.
>QUESTION: Does anyone know a pointer to more detailed doc on DMA?
  Nope, sorry...can't help.
>
>Thanks in advance
>Marshall
>
>	________________________________________________________________
>	Dr. Marshall P. Cline	ARPA:	cline@sun.soe.clarkson.edu
>	ECE Department		UseNet:	uunet!sun.soe.clarkson.edu!cline
>	Clarkson University	BitNet:	BH0W@CLUTX
>	Potsdam, NY  13676	AT&T:	(315) 268-6591
>--
    - Pete


+---------------------------------------------------------------------------+
|                                                                           |
|   PETER FLASS                      BITNET:   EPRF@SNYCENVM (PREFERRED)    |
|   DIRECTOR OF COMPUTING SERVICES   INTERNET: ESCFLASS@UBVM.CC.BUFFALO.EDU |
|   SUNY EMPIRE STATE COLLEGE        AT&TNET:  (518)587-2100 X350           |
|   2 UNION AVENUE                                                          |
|   SARATOGA SPRINGS  NY  12866      "THIS SPACE FOR RENT"                  |
|                                                                           |
+---------------------------------------------------------------------------+

ast@cs.vu.nl (Andy Tanenbaum) (05/17/89)

In article <CLINE.89May16114503@sun.soe.clarkson.edu> cline@sun.soe.clarkson.edu (Marshall Cline) writes:
>(1) I recently read in the Minix textbook (Prentice Hall) about a DMA
>caveat that AST had discovered.  It had something to do with wrapping
>around 64K barriers as I recall.  

The PC has a 16-bit DMA chip.  To generate 20-bit PC bus address, it has a
4-bit register for the high-order bits.  When the 16-bit counter overflows,
it just wraps around, but there is no carry to the 4-bit register.  Thus
if you transfer 100 bytes to address 65530, the first 6 bytes go fine.  At
that point the 4-bit register is 0000 and the 16-bit register is all 1's.
When the 16-bit counter is incremented by the DMA chip, it goes to 0.  The
4-bit counter stays 0.  The next 96 bytes of DMA overwrite absolute
addresses 0-95 (the interrupt vectors).  At the next interrupt, probably 
from the clock, the hardware vectors to a totally random address.

This is why I always teach my students that no hardware designer should be
allowed to produce any piece of hardware until 3 software guys have signed
off for it.
Andy Tanenbaum (ast@cs.vu.nl)

usenet@cps3xx.UUCP (Usenet file owner) (05/17/89)

in article <15600@louie.udel.EDU>, EPRF%SNYCENVM.BITNET@cornellc.cit.cornell.edu (Peter Flass) says:
> On Tue, 16 May 89 15:45:03 GMT Marshall Cline said:
>>(2) AST mentioned that there is minimal documentation for using DMA.
>>QUESTION: Does anyone know a pointer to more detailed doc on DMA?

Try calling Intel and asking for the data sheet on the 8237A.

Intel (and most other chip manufacturers) will send individual data
sheets for free. Distributers will usually provide that and whole books
for free if it's work/sales related.

To get the data sheet do:

1) Call 1-408-555-1212
2) ASk for the phone number for Intel in Santa Clara
3) Call that number
4) Tell the operator you want to talk to some one about getting a data
sheet.


Another source of DMA info is the IBM AT Tech Ref Manual.


John H. Lawitzke           UUCP: Work: ...rutgers!mailrus!frith!dale1!jhl
Dale Computer Corp., R&D               ...uunet!frith!dale1!jhl
2367 Science Parkway             Home: ...uunet!frith!ipecac!jhl      
Okemos, MI, 48864          Internet:   jhl@frith.egr.msu.edu