Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 03 Oct 1997 20:30:40 -0700
From:      Julian Elischer <julian@whistle.com>
To:        mdean <mdean@best.com>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: lkms versus hard linked drivers
Message-ID:  <3435B860.19A13460@whistle.com>
References:  <Pine.SGI.3.95.971003185032.22045A-100000@shellx.best.com>

next in thread | previous in thread | raw e-mail | index | archive | help
mdean wrote:
> 
> My question is very simple: What can't be a lkm?
> For instance if I have some intel 8255As that I am going to use to produce
> a 500hz pulse train for stepper motor control. These chips aren't stateless
> and need to be intialized and mostly need to be kernel code to access
> change of state interrupts and the high frequency clock (obviously). Can I
> do all this from an lkm?

yes sure.
the only function that MUST be done at bootup is allocation
of LARGE physically contiguous buffers of ram.
because after running a few seconds ram get's fragmented..
large VIRTUALLY contiguous buffers are ok.

I'm not sure about interrupts in the present code..


> 
> Will everything except the boot device driver and microkernel eventually be
> an lkm? 

yes

> Is it undesirable or something, because the only module that I am
> using on my system is for the screensaver?
no there are a few pieces of the puzzle still not quite ready.
check the LKM examples in /usr/share/exaples/lkm as well.


> 
> What about this: I am pretty sure I cannot do this inside the kernel. What
> if I want my device driver for the stepper motor to socket(2) since it is
> really not going to have any ioctls. This way controlling motor position
> can be done from any machine on the network.
of course it can be done..
but it may be better to have a daemon do that part..

> 
> Can I use any system call in a) device driver in the kernel tree b) lkm?

no, and no.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3435B860.19A13460>