How do I pass configuration parameters to a FreeBSD Device Driver ?

M. Warner Losh imp at bsdimp.com
Thu Jun 4 06:58:03 UTC 2009


In message: <75E1A2A7D185F841A975979B0906BBA65A4D0C6595 at AVEXMB1.qlogic.org>
            David Somayajulu <david.somayajulu at qlogic.com> writes:
: 
: 
: Larry Maloney wrote:
: > David Somayajulu wrote:
: > > Hi All,
: > > I would appreciate if you could let me know, how I can pass
: > configuration parameters to a device driver, which can be processed
: > during either probe() or attach() ? Is there a way to read them from a
: > conf file of some sort ? Basically, I am interested in setting some
: > tunable parameters during driver initialization, without needing to
: > recompile the driver every time.
: > >
: > > thanks
: > > david Somayajulu
: > >
: > > _______________________________________________
: > > freebsd-drivers at freebsd.org mailing list
: > > http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
: > > To unsubscribe, send any mail to "freebsd-drivers-
: > unsubscribe at freebsd.org"
: > >
: > >
: > Isn't that what the hints file is for?
: 
: Sorry, I am sort of new to FreeBSD. From what I understand /boot/device.hints gets read during boot time, the values cannot be changed by the user while the kernel is running - am I correct ?
: 
: I have a loadable driver module and would like to do the following:
: 1. Set some tunable parameters of the driver.
: 2. Load the driver. Run a few tests.
: 3. Unload the driver.
: 4. repeat steps 1 thru 3.

kenv can set hints.

Hints are properly retrieved with things like resource_int_value.

	prefer_iomap = 0;
	resource_int_value(device_get_name(dev), device_get_unit(dev),
	    "prefer_iomap", &prefer_iomap);

would look for the hint "hints.<driver>.<unit>.prefer_iomap" and
return the value if it finds it.

Warner


More information about the freebsd-drivers mailing list