Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Oct 1997 18:03:19 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        mike@smith.net.au (Mike Smith)
Cc:        archie@whistle.com, freebsd-hackers@FreeBSD.ORG
Subject:   Re: Broken device LKM in 2.2
Message-ID:  <199710231803.LAA28022@usr02.primenet.com>
In-Reply-To: <199710231448.AAA00606@word.smith.net.au> from "Mike Smith" at Oct 24, 97 00:18:51 am

next in thread | previous in thread | raw e-mail | index | archive | help
> > I guess nobody makes device type LKM's in 2.2.. but sys/lkm.h is
> > broken with respect to them. Here's a hack that fixes this. Perhaps
> > the "name ## _module", which is different from the other module
> > types, is there for some reason (?)
> 
> IIRC it's there to avoid symbol conflicts with statically loaded 
> versions.  Could be wrong of course; there's nothing in the CVS log.
> 
> > Anyway, it's incompatible with the DISPATCH macro defined later in
> > the file, and this fixes it...
> 
> Has anyone looked at this?  Should we buy it?

You want the uniquifier.

Think "disk device".  A disk device LKM will want to define both a
character and a block interface.  To do so would result in a symbol
conflict without the uniquifier.

You could consider any multiheaded device in the same light; for
example (bad example, I know... just let me get away with it) a
Streams module that was monolithic, but defined /dev/ip, /dev/tdp,
i/dev/icmp, and /dev/udp, seperately (to avoid getmsg/putmsg
boundry crossing internally adding a scheduling latency per
stack element boundry transition).


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199710231803.LAA28022>