Path: utzoo!attcan!uunet!ncrlnk!ncrcae!hubcap!gatech!uflorida!mailrus!cwjcc!hal!nic.MR.NET!tank!nucsrl!fu From: fu@eecs.nwu.edu (Chih-Hua Fu) Newsgroups: comp.sys.apollo Subject: Writing a Device Driver for AEGIS Message-ID: <8160001@eecs.nwu.edu> Date: 11 Nov 88 18:31:31 GMT Organization: Northwestern U, Evanston IL, USA Lines: 43 I am planning to put Metrabyte's PDMA-16, a high speed 16 bit parallel digital interface card with DMA, into the APOLLO Domain 3000 AT-compatible bus. Then, I will write a device driver to access a memory bank device through the APOLLO's DMA channel. However, I have some questions: 1. Is APOLLO's AT-compatible bus *REALLY* compatible? Can any interface working in the IBM PC-AT be directly inserted into the APOLLO's AT-compatible bus without any problems ? 2. In the AEGIS operating system, the GPI/O library supports PBU-$DMA_START and PBU_$DMA_STOP for DMA. However, the buffer must be page aligned. One option is to have the user pass page aligned buffers. This can be done relatively easily by the user and avoids the overhead of one copy (since the DMA can be done directly to the user supplied buffer). However, for ease of use, I would like the ability to have the user supply a non page aligned buffer and my driver to handle it by grabbing a page aligned buffer from somewhere in the kernel and do the DMA on this buffer. Then the kernel buffer can be copied into the user supplied buffer. In most BSD UNIX systems you can usually get a page aligned buffer in the kernel by getting an mbuf or raiding some other page aligned memory buffer pool. How do you do it in AEGIS ? How can my driver get a page aligned buffer that can be returned to the kernel pool once the copy into user space is done. 3. I do not have the manual about the APOLLO's AT-compatible bus protocol. Some documents say "Refer to the Domain 3000 Technical reference (008778)". Does that manual describe the bus in detail ? 4. This is my first experience with writing a device driver. If you have any hints about writing device drivers for AEGIS or things that I should be watching out for, please drop me a note. Your help is very much appreciated. Thank you. Chih-Hua Fu, Electrical Engineering and Computer Science, Northwestern University. Internet: fu@eecs.nwu.edu Uucp: {att, chinet, oddjob}!nucsrl!fu