[unix-pc.general] driver question

alex@wolf.umbc.edu (Alex Crain) (04/10/89)

	Does anyone know how to do dynamic page allocation in unix-pc
device drivers? Specifically, I want to use rminit(), rmalloc() and
rmfree(), but I'm having trouble understanding exactly how they work, and
I want to avoid the crash-n-burn method of finding out.

	I've got examples from 4.3BSD and I think the code from the IPC
stuff came to me in my sleep (I would never dissassemble AT&T code), but
its still a little vague.

	ThanX



					:alex
Alex Crain
Systems Programmer			alex@umbc3.umbc.edu
Univ Md Baltimore County		umbc3.umbc.edu!nerwin!alex

alex@wolf.umbc.edu (Alex Crain) (04/14/89)

In article <1893@umbc3.UMBC.EDU>, alex@wolf.umbc.edu (Alex Crain) writes:

> 	Does anyone know how to do dynamic page allocation in unix-pc
> device drivers? Specifically, I want to use rminit(), rmalloc() and
> rmfree(), but I'm having trouble understanding exactly how they work, and
> I want to avoid the crash-n-burn method of finding out.

	You can't do dynamic page allocation rith the rm*() functions. These
functions simple impose a first fit allocation algorithm over a block of 
existing memory. They are useful, but not in your case because you want to
allocate fixed size buffers, so you're better off using a freelist allocation
scheme. If you like, email me and I'll send you some sample code.

> 					:alex
> Alex Crain
> Systems Programmer			alex@umbc3.umbc.edu
> Univ Md Baltimore County		umbc3.umbc.edu!nerwin!alex

	I'm hoping that If I keep this conversation going, somebody might 
jump in...

					:alex
Alex Crain
Systems Programmer			alex@umbc3.umbc.edu
Univ Md Baltimore County		umbc3.umbc.edu!nerwin!alex