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>