tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
sysctl question
As I indicated yesterday, I'm writing a device driver for on-DIMM memory
temp sensors (such as those on DDR2 FB-DIMM, some DDR2 SORDIMM, and all
DDR3). The sensors have hardware limit registers for lower, upper, and
critical temp limits.
sysmon_envsys(9) doesn't seem to provide a mechanism for the limits to
be set from userland, so I need some other way to get values into the
registers. I've thought of three ways to do this:
1. Hardcode the limits in the driver, and don't provide any way
to change them.
2. Modify sysmon_envsys to add a new mechanism
3. Add a sysctl to the driver for specifying the limits
#1 seems rather restrictive and makes it difficult to adjust the limits
for testing the driver.
#2 is a whole lot more work than I'm ready to sign up for at this time!
So that leaves #3.
Adding the sysctl itself is relatively straightforward. But there's a
catch!
I need to use a sysctl helper function to validate the user-specified
value, and then stuff it into the device's registers. The helper itself
is once again relatively straightforward, except that it needs to find
the dev_t->softc in order to update the hardware.
Any suggestions on an acceptable mechanism for associating the sysctl
node with the device's dev_t ?
----------------------------------------------------------------------
| Paul Goyette | PGP DSS Key fingerprint: | E-mail addresses: |
| Customer Service | FA29 0E3B 35AF E8AE 6651 | paul%whooppee.com@localhost |
| Network Engineer | 0786 F758 55DE 53BA 7731 | pgoyette%juniper.net@localhost |
----------------------------------------------------------------------
Home |
Main Index |
Thread Index |
Old Index