> Sent: Monday, May 04, 2015 at 11:39 AM > From: "Paul Goyette" <p...@vps1.whooppee.com> > To: "Kamil Rytarowski" <n...@gmx.com> > Cc: tech-kern@netbsd.org > Subject: Re: Dynamic modules > > On Mon, 4 May 2015, Kamil Rytarowski wrote: > > > > 3. Is it possible to automatically create a device file in /dev from a > > module? > > Not really, at least not from a loaded kernel module. > I see.
> On the other hand, modules are also applicable to "rump" environments, > and you _can_ dynamically create the /dev entry (in a rump'd file > system, of course). For an example, please have a look at > > src/sys/rump/dev/lib/libsysmon/sysmon_component.c Interesting note! > > > 4. What is the best way to extract the major from devsw_attach call in > > case we let it to automatically generate the major? For now I'm > > using printf(9) and I'm checking dmesg(8). This gives me an output > > for mknod(8) with an appropriate value. > > You could always create a sysctl and make the return values from > devsw_attach() available to user-land. > > BTW, devsw_attach() doesn't "automatically generate the major". It does > a lookup in the majors table. If there is no entry in the table, you > get an error. > > (At least, that's how I read that code. If I've misinterpreted, I'd be > happy to have someone explain how it really works!) > I see, so there is no good mechanism for something called by me automatic major pickup. So my best try is to choose the major number and hard-code it in the module. Thanks!