|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
|
| 1.15 |
24-Apr-2015 |
pgoyette |
Update configuration definitions for new sysmon
|
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base
|
| 1.14 |
06-Sep-2012 |
macallan |
branches: 1.14.2; 1.14.16; defflag debug #defines
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 rmind-uvmplock-base
|
| 1.13 |
19-Oct-2010 |
pgoyette |
branches: 1.13.8; Add a new software-only sensor device. This is intended for use as a kernel module, and can be helpful to generate sysmon_envsys events when creating/modifying powerd scripts. This will also be used in an upcoming series of atf tests for sysmon_envsys itself.
|
|
Revision tags: yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
| 1.12 |
22-Jul-2010 |
pgoyette |
Convert swwdog(4) from a simple defpseudo device to a defpseudodev so that we can attach a power management handler. The handler prevents a suspend if the watchdog is active, to be consistent with other watchdog drivers.
As discussed on tech-kern.
|
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
| 1.11 |
30-Jan-2010 |
pooka |
branches: 1.11.2; 1.11.4; Make swwdog use no-needs-count. As the manpage says, there can be only one.
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 nick-csl-alignment-base5 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base vmlocking-base
|
| 1.10 |
04-Sep-2007 |
xtraeme |
branches: 1.10.24; - Remove ENVSYS_GSTRING and the genstr member from envsys_data_t. (at least three or four persons were against it). - Add a new sensor type: ENVSYS_BATTERY_STATE, this uses value_cur and some predefined values in a static table, like ENVSYS_DRIVE. - Move all static tables to sysmon_envsys_tables.c and use a function on it to retrieve a pointer to the struct of the specified type. - Rename the ENVSYS_FMONDRVSTCHANGED to ENVSYS_FMONSTCHANGED and make it generic for Battery state and drive sensors (this flag enables monitoring on these sensors when state has been changed). - Update sysmon_penvsys_event() to report state changes on ENVSYS_BATTERY_STATE sensors and remove other type of events, with PENVSYS_EVENT_STATE_CHANGED they are not necessary anymore.
|
| 1.9 |
02-Sep-2007 |
xtraeme |
Remove unused (and inexistent) flag.
|
|
Revision tags: matt-mips64-base
|
| 1.8 |
21-Jul-2007 |
xtraeme |
branches: 1.8.4; 1.8.6; 1.8.8; Convert sysmon_taskqueue to use mutex(9) and condvar(9) and initialize them in init_main.c via sysmon_task_queue_preinit().
Reviewed and ok by ad@.
|
| 1.7 |
20-Jul-2007 |
xtraeme |
Move the functions to create/update objects in a dictionary into its own file, and DO NOT MAKE THEM inline AS IT IS WRONG.
Looks like I'm very stupid and I didn't know what inline meant. Thank you very much YAMAMOTO Takashi.
|
|
Revision tags: nick-csl-alignment-base mjf-ufs-trans-base
|
| 1.6 |
01-Jul-2007 |
xtraeme |
branches: 1.6.2; Imported envsys 2, a brief description of the new features: (Part 1: API)
* Support for detachable sensors. * Cleaned up the API for simplicity and efficiency. * Ability to send capacity/critical/warning events to powerd(8). * Adapted all the code to the new locking order. * Compatibility with the old envsys API: the ENVSYS_GTREINFO and ENVSYS_GTREDATA ioctl(2)s are supported. * Added support for a 'dictionary based communication channel' between sysmon_power(9) and powerd(8), that means there is no 32 bytes event size restriction anymore. * Binary compatibility with old envstat(8) and powerd(8) via COMPAT_40. * All drivers with the n^2 gtredata bug were fixed, PR kern/36226.
Tested by:
blymn: smsc(4). bouyer: ipmi(4), mfi(4). kefren: ug(4). njoly: viaenv(4), adt7463.c. riz: owtemp(4). xtraeme: acpiacad(4), acpibat(4), acpitz(4), aiboost(4), it(4), lm(4).
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| 1.5 |
11-Dec-2005 |
christos |
branches: 1.5.30; 1.5.32; merge ktrace-lwp.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge ktrace-lwp-base
|
| 1.4 |
09-Jan-2005 |
smb |
branches: 1.4.10; Add a software watchdog timer facility. Because this slightly changes the "tickle" model of wdogctl(8), it was modified as well; while I was in there, I cleaned up the argument parsing.
The code was reviewed by simonb@.
|
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base kent-audio1-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
| 1.3 |
20-Apr-2003 |
thorpej |
branches: 1.3.2; Generic "task queue" for sysmon back-ends. This provides a thread context for callbacks that require it in order to handle sysmon-related events.
Adapted from the "OsdSchedule" bits of the ACPI code.
|
| 1.2 |
17-Apr-2003 |
thorpej |
Start at a power management framework for sysmon. Right now we just provide some VERY basic support for power/sleep buttons and lid switches; if someone presses the power button, shut down the system semi-gracefully.
Eventually, we will send events for all types of button/lid events down to a userland power management daemon, which will be able to define a separate policy for each button/switch.
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 kqueue-base netbsd-1-6-base gehenna-devsw-base
|
| 1.1 |
16-Apr-2002 |
thorpej |
branches: 1.1.6; 1.1.8; Move sysmon configuration definitions to dev/sysmon/files.sysmon.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.20 |
10-Feb-2024 |
andvar |
Fix various typos in comments, log messages and documentation.
|
|
Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
|
| 1.19 |
31-Dec-2021 |
riastradh |
sysmon: Delete trailing whitespace. No functional change intended.
|
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.18 |
11-Jun-2020 |
thorpej |
Update for proplib(3) API changes.
|
| 1.17 |
08-Jun-2020 |
thorpej |
Update for proplib(3) API changes.
|
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
|
| 1.16 |
16-Mar-2020 |
pgoyette |
Use the module subsystem's ability to process SYSCTL_SETUP() entries to automate installation of sysctl nodes.
Note that there are still a number of device and pseudo-device modules that create entries tied to individual device units, rather than to the module itself. These are not changed.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE is-mlppp-base netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
|
| 1.15 |
25-Apr-2015 |
pgoyette |
branches: 1.15.18; Remove another debug printf() that snuck in.
|
| 1.14 |
23-Apr-2015 |
pgoyette |
Update module dependencies for all the existing modules that depend on sysmon components.
|
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base
|
| 1.13 |
27-Aug-2012 |
pgoyette |
branches: 1.13.2; 1.13.16; Add hw.swsensor.state variable for additional control capability.
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-0-5-RELEASE netbsd-6-0-4-RELEASE netbsd-6-0-3-RELEASE netbsd-6-0-2-RELEASE netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
| 1.12 |
19-Jun-2011 |
pgoyette |
branches: 1.12.2; 1.12.8; Use {...} to prevent premature exit from initialization function - this lets the atf tests run again.
Move validation of current value vs min/max into the refresh routine where it will get checked every time, not just at initialization.
While here, do a little more housekeeping: - Retrieve numeric property value once - Ensure that a numeric-specified sensor type is valid - printout any unrecognized properties (DEBUG only)
|
| 1.11 |
19-Jun-2011 |
pgoyette |
Use correct routine to retrieve string value from prop-dictionary
|
| 1.10 |
19-Jun-2011 |
pgoyette |
Rather than requiring the user to know the internal encoding of sensor types, allow the user to specify the type using the units description.
XXX Numeric specification is still permitted but will be removed soon.
|
|
Revision tags: rmind-uvmplock-nbase rmind-uvmplock-base
|
| 1.9 |
04-Jun-2011 |
pgoyette |
Remove ability to the value_avg since it no longer exists
|
| 1.8 |
04-Jun-2011 |
pgoyette |
Enable creation of value_{max,min,avg} entries via the proplist, as well as setting the ENVSYS_FPERCENT flag
|
|
Revision tags: cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231
|
| 1.7 |
17-Dec-2010 |
pooka |
branches: 1.7.2; 1.7.6; 1.7.8; use aprint
|
| 1.6 |
16-Dec-2010 |
pgoyette |
Also allow specification of sensor's initial value when it is loaded, using "-i value=<value>".
Suggested by njoly@
|
| 1.5 |
11-Dec-2010 |
pgoyette |
Enhance the swsensor(4) pseudo-device's capabilities to emulate more sensor types
|
|
Revision tags: uebayasi-xip-base4
|
| 1.4 |
23-Oct-2010 |
pooka |
Revert 1.2 apart from incorrect comment. the devattach() routine is of course still used by kernel&config pseudodev.
pointed out by jakllsch
|
|
Revision tags: uebayasi-xip-base3
|
| 1.3 |
20-Oct-2010 |
pooka |
branches: 1.3.2; Set sensor state to valid upon refresh to make things generally work.
pgoyette ok
|
| 1.2 |
20-Oct-2010 |
pooka |
remove unused routine (per comment)
|
| 1.1 |
19-Oct-2010 |
pgoyette |
Add a new software-only sensor device. This is intended for use as a kernel module, and can be helpful to generate sysmon_envsys events when creating/modifying powerd scripts. This will also be used in an upcoming series of atf tests for sysmon_envsys itself.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
|
| 1.24 |
07-Nov-2024 |
rin |
swwdog: Use SYSCTL_DESCR() to comply with SYSCTL_INCLUDE_DESCR option
|
|
Revision tags: netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
|
| 1.23 |
31-Dec-2021 |
riastradh |
branches: 1.23.10; sysmon: Delete trailing whitespace. No functional change intended.
|
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
|
| 1.22 |
16-Mar-2020 |
pgoyette |
Use the module subsystem's ability to process SYSCTL_SETUP() entries to automate installation of sysctl nodes.
Note that there are still a number of device and pseudo-device modules that create entries tied to individual device units, rather than to the module itself. These are not changed.
|
|
Revision tags: is-mlppp-base ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base
|
| 1.21 |
01-Jan-2020 |
thorpej |
- Introduce a new global kernel variable "shutting_down" to indicate that the system is shutting down or rebooting. - Set this global in a new function called kern_reboot(), which is currently just a basic wrapper around cpu_reboot(). - Call kern_reboot() instead of cpu_reboot() almost everywhere; a few places remain where it's still called directly, but those are in early pre-main() machdep locations.
Eventually, all of the various cpu_reboot() functions should be re-factored and common functionality moved to kern_reboot(), but that's for another day.
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
| 1.20 |
27-Mar-2019 |
pgoyette |
Don't create the driver's workqueue twice!
The driver is modular, so its modcmd(MOULE_CMD_INIT) always gets called whether or not the driver is built-in to the kernel. The modcmd init code always calls swwdogattach() which creates the workqueue. Therefore there's no need to also create it in swwdog_attach() (used to attach a device instance).
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
|
| 1.19 |
12-May-2015 |
pgoyette |
branches: 1.19.8; 1.19.18; Finish work started in previous commit. Ensure that initialization code is only called once for built-in variants of the module.
|
| 1.18 |
12-May-2015 |
pgoyette |
Don't manipulate the autoconfig databases for built-in module.
Thanks, christos!
|
| 1.17 |
24-Apr-2015 |
christos |
We only need the _cd when we are a module.
|
| 1.16 |
23-Apr-2015 |
pgoyette |
Update module dependencies for all the existing modules that depend on sysmon components.
|
| 1.15 |
18-Apr-2015 |
pgoyette |
Remove some debugging printf()s that were erroneously committed.
|
| 1.14 |
18-Apr-2015 |
pgoyette |
Update attach/detach routines and provide MODULE interface.
Confirmed that atf tests (which run via rump) still pass, and also confirmed that panic/reboot work in both monolithic kernel and loaded module.
|
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.13 |
13-Apr-2014 |
pgoyette |
branches: 1.13.4; If we pmf_register on attach, we should pmf_deregister on detach.
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 rmind-uvmplock-base
|
| 1.12 |
11-Nov-2010 |
pooka |
branches: 1.12.8; 1.12.18; 1.12.22; 1.12.32; Apparently swwdog reboot hasn't worked in several years since it tried to cpu_reboot() from a callout. Make it reboot from a workq instead.
problem made manifest by atf test rumpfs unmount flush caused issue to un-shush
tested: rump kernel (tests/dev/sysmon) and qemu
|
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10
|
| 1.11 |
06-Aug-2010 |
pooka |
* fix logic inversion in swwdog_reboot (and the sysctl). * attach sysctl in constructor instead of as a link set to give it a chance to work in a module * teardown sysctl when driver is detached to avoid dangling pointer
|
| 1.10 |
22-Jul-2010 |
pgoyette |
Convert swwdog(4) from a simple defpseudo device to a defpseudodev so that we can attach a power management handler. The handler prevents a suspend if the watchdog is active, to be consistent with other watchdog drivers.
As discussed on tech-kern.
|
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
| 1.9 |
31-Jan-2010 |
pooka |
branches: 1.9.2; 1.9.4; print newline after timer expiry message
|
| 1.8 |
30-Jan-2010 |
pooka |
Make swwdog use no-needs-count. As the manpage says, there can be only one.
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 nick-csl-alignment-base5 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 matt-armv6-prevmlocking vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-armv6-base matt-mips64-base jmcneill-pm-base hpcarm-cleanup-base nick-csl-alignment-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base
|
| 1.7 |
09-Jul-2007 |
ad |
branches: 1.7.32; Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes - select()/poll() improvements - miscellaneous MT safety improvements
|
|
Revision tags: yamt-idlelwp-base8 thorpej-atomic-base ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
| 1.6 |
29-Jan-2007 |
hubertf |
branches: 1.6.6; 1.6.8; Remove more duplicate headers. Patch by Slava Semushin <slava.semushin@gmail.com>
Again, this was tested by comparing obj files from a pristine and a patched source tree against an i386/ALL kernel, and also for src/sbin/fsck_ffs, src/sbin/fsdb and src/usr.sbin/makefs. Only changes in assert() line numbers were detected in 'objdump -d' output.
|
|
Revision tags: yamt-splraiseipl-base5
|
| 1.5 |
19-Dec-2006 |
smb |
Handle new gcc properly
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| 1.4 |
11-Dec-2005 |
christos |
branches: 1.4.20; 1.4.22; merge ktrace-lwp.
|
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
| 1.3 |
17-Oct-2005 |
simonb |
Spinkle some KNF.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base
|
| 1.2 |
27-Feb-2005 |
perry |
branches: 1.2.4; nuke trailing whitespace
|
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge
|
| 1.1 |
09-Jan-2005 |
smb |
branches: 1.1.2; 1.1.4; 1.1.6; Add a software watchdog timer facility. Because this slightly changes the "tickle" model of wdogctl(8), it was modified as well; while I was in there, I cleaned up the argument parsing.
The code was reviewed by simonb@.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
|
| 1.32 |
28-Mar-2022 |
riastradh |
driver(9): devsw_detach never fails. Make it return void.
Prune a whole lotta dead branches as a result of this. (Some logic calling this is also wrong for other reasons; devsw_detach is final -- you should never have any reason to decide to roll it back. To be cleaned up in subsequent commits...)
XXX kernel ABI change to devsw_detach signature requires bump
|
| 1.31 |
31-Dec-2021 |
riastradh |
sysmon: Delete trailing whitespace. No functional change intended.
|
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
|
| 1.30 |
26-Aug-2019 |
nakayama |
Module class of sysmon_envsys, sysmon_wdog and sysmon_power is MODULE_CLASS_DRIVER, not MODULE_CLASS_MISC.
Fix that invoking envsys without sysmon_envsys kernel module failes with: WARNING: module error: incompatible module class for `sysmon_envsys' (1 != 3)
|
|
Revision tags: netbsd-9-base phil-wifi-20190609
|
| 1.29 |
26-Apr-2019 |
pgoyette |
branches: 1.29.2; Set the "required modules" to NULL, not to an empty string.
It really doesn't make that much difference to the code, but the output from modstat(8) is different! (With an empty string in the MODULE() macro modstat reports an empty string, but with a NULL in the macro, modstat prints a '-' just like it does for other "empty" fields.)
|
|
Revision tags: netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
|
| 1.28 |
05-May-2015 |
pgoyette |
branches: 1.28.2; 1.28.8; 1.28.10; 1.28.18; Optimize a bit - don't re-enter the mutex if we're just going to exit.
While here, remove some parens around a return value.
|
| 1.27 |
05-May-2015 |
pgoyette |
If module_autoload() returns an error, just return that value instead of overwriting with ENODEV.
Thanks, christos!
|
| 1.26 |
04-May-2015 |
pgoyette |
If autoload of the subcomponent module fails, don't try to call its open routine. Just return an error.
Hopefully this will fix the recently reported issues with atf tests running on xen guest.
|
| 1.25 |
29-Apr-2015 |
pgoyette |
At suggestion from riastradh@ ...
Remove auto_configure(9) goop from sysmon device. It does make things a bit cleaner, and also reduces source code by about 10%.
Tested via QEMU with no obvious side-effects.
|
| 1.24 |
25-Apr-2015 |
pgoyette |
Correctly check return status when registering with pmf
|
| 1.23 |
25-Apr-2015 |
pgoyette |
Fix typo - thanks, riz@
|
| 1.22 |
25-Apr-2015 |
pgoyette |
Register the sysmon pseudo-device with power management framework so we can properly suspend the system.
Thanks, mrg, for pointing this out.
|
| 1.21 |
24-Apr-2015 |
pgoyette |
With new (corrected) configuration declarations file, the cdevsw is already included by config. So, for built-in sysmon module we don't need to add the cdevsw to the table.
|
| 1.20 |
23-Apr-2015 |
pgoyette |
Modularize sysmon and its components
|
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base tls-earlyentropy-base tls-maxphys-base
|
| 1.19 |
25-Jul-2014 |
dholland |
branches: 1.19.4; Add d_discard to all struct cdevsw instances I could find.
All have been set to "nodiscard"; some should get a real implementation.
|
|
Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base
|
| 1.18 |
16-Mar-2014 |
dholland |
branches: 1.18.2; Change (mostly mechanically) every cdevsw/bdevsw I can find to use designated initializers.
I have not built every extant kernel so I have probably broken at least one build; however I've also found and fixed some wrong cdevsw/bdevsw entries so even if so I think we come out ahead.
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 netbsd-5-1-RC4 matt-nb5-mips64-k15 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 uebayasi-xip-base1 netbsd-5-1-RC1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base keiichi-mipv6-base matt-armv6-nbase
|
| 1.17 |
03-Mar-2008 |
xtraeme |
branches: 1.17.38; 1.17.48; 1.17.54; Pass D_MPSAFE to d_flag in the cdevsw struct, so that the kernel_lock is not taken in the driver methods.
I've been running with this for some days without any effect.
|
|
Revision tags: nick-net80211-sync-base bouyer-xeni386-nbase bouyer-xeni386-base mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
| 1.16 |
04-Jan-2008 |
ad |
branches: 1.16.2; 1.16.6; Start detangling lock.h from intr.h. This is likely to cause short term breakage, but the mess of dependencies has been regularly breaking the build recently anyhow.
|
|
Revision tags: nick-csl-alignment-base5 matt-armv6-prevmlocking vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base jmcneill-pm-base nick-csl-alignment-base yamt-idlelwp-base8 thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base
|
| 1.15 |
04-Mar-2007 |
christos |
branches: 1.15.16; 1.15.22; 1.15.28; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
| 1.14 |
16-Nov-2006 |
christos |
branches: 1.14.4; __unused removal on arguments; approved by core.
|
|
Revision tags: yamt-splraiseipl-base2
|
| 1.13 |
12-Oct-2006 |
christos |
- sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
|
Revision tags: yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 rpaulo-netinet-merge-pcb-base
|
| 1.12 |
03-Sep-2006 |
christos |
branches: 1.12.2; 1.12.4; add missing initializers
|
|
Revision tags: abandoned-netbsd-4-base yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base
|
| 1.11 |
11-Dec-2005 |
christos |
branches: 1.11.4; 1.11.8; merge ktrace-lwp.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 netbsd-2-0-3-RELEASE yamt-vop-base2 thorpej-vnode-attr-base netbsd-2-1-RELEASE yamt-vop-base netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base ktrace-lwp-base
|
| 1.10 |
29-Jun-2003 |
fvdl |
branches: 1.10.2; 1.10.18; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
| 1.9 |
28-Jun-2003 |
darrenr |
Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
| 1.8 |
18-Apr-2003 |
thorpej |
* Add a generic power management event API, defined in <sys/power.h>. Right now, only power switch state change events are supported. This is a work-in-progress. * Add support to sysmon for delivering power mangement events to userland. Add poll, kqueue, and read entry points to sysmon. * Adapt ACPI to use the new generic <sys/power.h> event types.
This provides the kernel support for a forthcoming powerd(8) which can do nice things like gracefully shut the system down when an ACPI power button is pressed.
|
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge
|
| 1.7 |
23-Oct-2002 |
jdolecek |
merge kqueue branch into -current
kqueue provides a stateful and efficient event notification framework currently supported events include socket, file, directory, fifo, pipe, tty and device changes, and monitoring of processes and signals
kqueue is supported by all writable filesystems in NetBSD tree (with exception of Coda) and all device drivers supporting poll(2)
based on work done by Jonathan Lemon for FreeBSD initial NetBSD port done by Luke Mewburn and Jason Thorpe
|
|
Revision tags: kqueue-beforemerge kqueue-base
|
| 1.6 |
06-Sep-2002 |
gehenna |
Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to dynamically generated by config(8).
- All device switches is defined as a constant structure in device drivers.
- The new grammer ``device-major'' is introduced to ``files''.
device-major <prefix> char <num> [block <num>] [<rules>]
- All device major numbers must be listed up in port dependent majors.<arch> by using this grammer.
- Added the new naming convention. The name of the device switch must be <prefix>_[bc]devsw for auto-generation of device switch tables.
- The backward compatibility of loading block/character device switch by LKM framework is broken. This is necessary to convert from block/character device major to device name in runtime and vice versa.
- The restriction to assign device major by LKM is completely removed. We don't need to reserve LKM entries for dynamic loading of device switch.
- In compile time, device major numbers list is packed into the kernel and the LKM framework will refer it to assign device major number dynamically.
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base
|
| 1.5 |
13-Nov-2001 |
lukem |
branches: 1.5.8; add RCSIDs
|
|
Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
| 1.4 |
05-Nov-2000 |
thorpej |
branches: 1.4.2; 1.4.4; 1.4.6; 1.4.8; Split the envsys and watchdog parts of sysmon into their own files.
|
| 1.3 |
04-Nov-2000 |
thorpej |
Add a watchog timer framework to the system monitor.
|
| 1.2 |
28-Jun-2000 |
thorpej |
branches: 1.2.2; Fix a couple of brain-o's in error cases, and use PCATCH for the sysmon mutex wait.
|
| 1.1 |
24-Jun-2000 |
thorpej |
Add a clearing-house pseudo-device for system monitoring devices such as the LM78 and VT82C686A (and eventually ACPI). Multiple sensor devices can be hooked registered with `sysmon', and eventually sysmon will also handle hardware (and software) watchdog timers.
Convert the `lm' and `viaenv' drivers to the new interface.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
|
| 1.151 |
20-May-2022 |
andvar |
s/appropiate/appropriate/ in comments and readme file.
|
| 1.150 |
31-Dec-2021 |
riastradh |
sysmon(9): Fix callout/thread synchronization.
Callout may ONLY take sme_work_mtx, at IPL_SOFTCLOCK; MUST NOT touch sme_mtx at IPL_NONE. All state the callout needs is serialized by sme_work_mtx now:
- calls to sme_schedule_callout - calls to sme_schedule_halt - struct sysmon_envsys::sme_events_timeout - struct sysmon_envsys::sme_events_list - struct sysmon_envsys::sme_callout_state - struct envsys_data::flags => yes, this is a little silly -- used for ENVSYS_FNEED_REFRESH => should maybe separate the static driver-defined features from the state flags needed by sysmon_envsys but not important now
Sleeping under sme_work_mtx (except on other adaptive locks at IPL_SOFTCLOCK) is forbidden. Calling out to the driver under sme_work_mtx is forbidden.
This should properly fix:
https://mail-index.netbsd.org/tech-kern/2015/10/14/msg019511.html PR kern/56592
|
| 1.149 |
31-Dec-2021 |
riastradh |
sysmon: Delete trailing whitespace. No functional change intended.
|
| 1.148 |
07-Sep-2021 |
andvar |
s/aquire/acquire/ in comments, also one typo fix acqure->acquire.
|
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.147 |
11-Jun-2020 |
thorpej |
Update for proplib(3) API changes.
|
| 1.146 |
08-Jun-2020 |
thorpej |
Update for proplib(3) API changes.
|
| 1.145 |
01-Jun-2020 |
riastradh |
Don't queue sysmon refresh until the rndsource is attached.
Using the rndsource, as refreshing the sensors will do, is not allowed until _after_ rnd_source_attach.
XXX pullup-7 XXX pullup-8 XXX pullup-9
|
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
| 1.144 |
26-Mar-2019 |
bad |
branches: 1.144.4; in sysmon_envsys_unregister(): loop over sme_sensors_list with TAILQ_FIRST instead of TAILQ_FOREACH.
sysmon_envsys_sensor_detach() removes the sensor from sme_sensors_list. Hence using TAILQ_FOREACH is not safe.
Suggested by thorpej and jmcneill. Thanks!
|
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
|
| 1.143 |
26-May-2018 |
thorpej |
branches: 1.143.2; Avoid dereferencing NULL if we attempt to look up an known unit type.
|
|
Revision tags: pgoyette-compat-0521
|
| 1.142 |
05-May-2018 |
pgoyette |
Defend against some table-lookup-not-found errors.
|
|
Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202
|
| 1.141 |
11-Sep-2017 |
pgoyette |
branches: 1.141.2; Improve tracking of the state of an event's callout, and protect all queries or modifications of the state with the sme_mtx mutex.
Detach the rndsrc before re-attaching it (with potentially new values).
Clean up some lock-ordering issues.
And a couple of KNF issues for good measure!
Should address PR kern/52533
XXX Pullup-8 along with the previous fixes from msaitoh@ XXX http://mail-index.netbsd.org/source-changes/2017/09/06/msg088028.html ~ ~
|
| 1.140 |
06-Sep-2017 |
msaitoh |
Fixes a problem that some driver(e.g. acpitz(4) or coretemp(5)) which use sysmon_envsys sleep waiting at "rndsrc" when "drvctl -d". Don't call rnd_detach_source() in sme_remove_event() which is called from sme_event_unregister_all(). Instead, call rnd_detach_source() in sysmon_envsys_sensor_detach() and call sysmon_envsys_sensor_detach() before sme_event_unregister_sensor(). Each sensor(envsys_data) has each rnd_src, but some sme_events point to the same rnd_src in a sensor. Calling rnd_detach_souce() twice with the same rnd_src brokes a reference count in rnd_src. OK'd by pgoyette@.
|
|
Revision tags: nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
| 1.139 |
14-Dec-2015 |
pgoyette |
branches: 1.139.10; sysmon's components need to be MODULE_CLASS_DRIVER so they will get initialized before we configure/initialize any devices that interact with them.
Thanks, marty!
|
| 1.138 |
13-Dec-2015 |
jdc |
Note the sensor number in the error output. Useful for drivers adding multiple sensors.
|
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606
|
| 1.137 |
25-Apr-2015 |
pgoyette |
Handle early initialization requirements - thanks martin@ and others
|
| 1.136 |
25-Apr-2015 |
christos |
make things boot again, from martin.
|
| 1.135 |
25-Apr-2015 |
pgoyette |
Use tabs for indentation.
|
| 1.134 |
25-Apr-2015 |
pgoyette |
Release the mutex in the error path.
|
| 1.133 |
24-Apr-2015 |
pgoyette |
The sysmon_envsys module also depends on sysmon_power (for delivery of sensor events to userland).
|
| 1.132 |
24-Apr-2015 |
pgoyette |
Remove a left-over debugging printf()
|
| 1.131 |
23-Apr-2015 |
pgoyette |
Modularize sysmon and its components
|
| 1.130 |
13-Apr-2015 |
riastradh |
Convert sys/dev to use <sys/rndsource.h>.
|
|
Revision tags: nick-nhusb-base-20150406
|
| 1.129 |
14-Mar-2015 |
hannken |
Add a counter of busy events and stop enqueueing more work if a device is busy. Protect this counter with a new short time lock "sme_work_mtx" and keep "sme_mtx" as long time lock.
Removes a deadlock where an active event holds "sme_mtx", the callout "sme_events_check" blocks on "sme_mtx" and callout processing stops.
|
|
Revision tags: nick-nhusb-base
|
| 1.128 |
23-Nov-2014 |
ozaki-r |
branches: 1.128.2; Pull workqueue_destroy out of sme->sme_mtx
workqueue_destroy may sleep so we shouldn't run it with holding a mutex.
Requested by riastradh@.
|
|
Revision tags: netbsd-7-base tls-maxphys-base
|
| 1.127 |
10-Aug-2014 |
tls |
branches: 1.127.2; Merge tls-earlyentropy branch into HEAD.
|
|
Revision tags: yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7
|
| 1.126 |
29-Nov-2012 |
msaitoh |
branches: 1.126.10; Remove trailing white space(s) from name of random source. And also, changind space(s) in the middle with '-'. PR#47232.
|
|
Revision tags: yamt-pagecache-base6
|
| 1.125 |
06-Sep-2012 |
pgoyette |
branches: 1.125.2; Remove (commented-out) definitions for debugging - thanks to macallan@ for defflagging these.
|
| 1.124 |
27-Aug-2012 |
pgoyette |
Fix indentation. No code change.
|
| 1.123 |
27-Aug-2012 |
pgoyette |
Simplify some logic - no functional change intended.
While here, clean up a couple of comments.
|
| 1.122 |
19-Jul-2012 |
pgoyette |
Make sure to re-add the sensor as an entropy source after user request to reset (via envstat -S)
|
| 1.121 |
16-Jul-2012 |
pgoyette |
Extend previous changes so that even sensors which don't use a refresh() callback to update the value can be polled to provide rnd(4) entropy.
|
| 1.120 |
15-Jul-2012 |
pgoyette |
If a sensor is flagged as capable of providing rnd(4) with entropy, hook the sensor into rnd subsystem, and make sure we periodically refresh the sensor whether or not it is being actively monitored.
|
| 1.119 |
15-Jul-2012 |
pgoyette |
When unregistering a sensor device, make sure we unregister and delete all the associated events.
|
|
Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2
|
| 1.118 |
18-Feb-2012 |
matt |
Don't export sysmon_envsys_list as a common.
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-0-5-RELEASE netbsd-6-0-4-RELEASE netbsd-6-0-3-RELEASE netbsd-6-0-2-RELEASE netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-pre-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
| 1.117 |
01-Aug-2011 |
mbalmer |
branches: 1.117.2; 1.117.6; 1.117.8; According to the Oxford Dictionary of Etymology, a wether is a male sheep or ram.
|
| 1.116 |
19-Jun-2011 |
martin |
Instead of crashing, print a usable error message when a driver eroneously does not properly initialize sensor state.
|
| 1.115 |
15-Jun-2011 |
pgoyette |
Previous fix broke the setting of current value for Indicator and Battery-Charge sensors. Fix this.
|
|
Revision tags: rmind-uvmplock-nbase rmind-uvmplock-base
|
| 1.114 |
08-Jun-2011 |
pgoyette |
Factor out some duplicated code to simplify maintenance. Reduces the source file by ~100 lines, and amd64 object file shrinks by ~650 bytes.
No functional change intended.
|
| 1.113 |
04-Jun-2011 |
pgoyette |
Since nothing actually records or maintains an average sensor value, remove value_avg from the prop_dict. We can't completely remove it because there's one driver that uses this field for its own private purposes, so for now we just rename the member.
|
|
Revision tags: cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231
|
| 1.112 |
30-Dec-2010 |
pgoyette |
branches: 1.112.2; 1.112.6; When the user updates the sensor device's refresh timer, reset the callout immediately rather than waiting for the previous timer to expire.
|
| 1.111 |
16-Dec-2010 |
njoly |
Be sure to always initialize props variable to a sensible value. Fix a problem with envstat -S call which was installing bogus/random limits.
ok pgoyette.
|
| 1.110 |
15-Dec-2010 |
pgoyette |
Extract searching of description tables into a single function, rather than duplicating the code every time. Minor reduction in code size (about 1200 bytes on amd64), no change in functionality.
|
| 1.109 |
11-Dec-2010 |
pgoyette |
Handle removal of limit properties correctly, even for sensors that provide their own internal limit(s).
|
| 1.108 |
08-Dec-2010 |
pgoyette |
When removing properties (as in envstat -S), clear the flags that track whether the properties actually exist.
When setting new limit values, don't complain/ignore about duplicate values if the associated flag bits (indicating that the limit is valid) are not set.
These two fixes together should fix a problem reported in private Email by njoly@ a couple months ago. Issue replicated and solution tested using my recent swsensor pseudo-device running inside qemu world!
|
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1
|
| 1.107 |
11-Apr-2010 |
pgoyette |
Use a typedef to define the prototype of the per-sensor callback.
Update manpage for the prototype, and fix a fubar'd Cross-reference.
|
| 1.106 |
10-Apr-2010 |
pgoyette |
When removing sensor properties with envstat -S, ensure that drivers which could have modified hardware state are informed so that original state can be restored.
Welcome to 5.99.27
|
| 1.105 |
03-Apr-2010 |
pgoyette |
When unregistering a device, in addition to reducing the global count of sensors, we need to adjust the sme_fsensor values for some devices. Failure to do this leaves a sparesly-populated number-space and can subsequently result in overlapping sensors number assignments. (This only affects the compatability-mode API, but still needs to be fixed.)
|
| 1.104 |
01-Apr-2010 |
pgoyette |
Permit creation of an event-monitor for alarm limits even if the limits are not currently set (and, in case of battery capacity sensors, if there is no value_max). Ensure that such an event-monitor does not trigger the delivery of any actual events.
Provide a mechanism for sensors to set their limits at time other than system startup (for example, when a battery is inserted).
This allows us to boot a system with a battery missing, install the battery some time later, and automatically monitor it without requiring any user intervention to create the event-monitor. (The actual changes for battery sensors to use this new capability will come later.)
|
| 1.103 |
27-Mar-2010 |
pgoyette |
Constify the args to sysmon_envsys_foreach_sensor()'s callback function.
|
| 1.102 |
27-Mar-2010 |
pgoyette |
Fix the locking protocol in sysmon_envsys_foreach_sensor(), and add an additional argument to control whether or not the sensors are refreshed before invoking the callback routine.
|
| 1.101 |
26-Mar-2010 |
pgoyette |
Make this work the way the preceeding comment blocks says it works, and break out of the while{ } when the callback returns false, not when it returns true!
|
| 1.100 |
26-Mar-2010 |
pgoyette |
Add a routine to iterate over all the sensors on the system. This will be needed to update acpiapm_get_powstat() which is currently slightly broken due to recent rearrangement of acpi_bat(4)'s sensors. (This approach is in lieu of exporting proplists between kernel entities, and avoids exposing some internal sysmon_envsys details.)
|
| 1.99 |
26-Mar-2010 |
pgoyette |
Export the sensor device's class.
|
| 1.98 |
24-Mar-2010 |
pgoyette |
Do the initial refresh before creating the event monitors, in case the event monitors require some of the data loaded by the refresh. For example, the initial refresh might load sensor limits and max_value in addition to the cur_value.
|
| 1.97 |
14-Mar-2010 |
pgoyette |
branches: 1.97.2; Retire the 'monitor' member of the envsys_data_t. It was only used in one place, and functioned as a logical OR of the ENVSYS_FMON* flag bits.
|
|
Revision tags: yamt-nfs-mp-base9
|
| 1.96 |
15-Feb-2010 |
pgoyette |
For symmetry, allow warning and critical upper-limits for capacity sensors.
|
| 1.95 |
14-Feb-2010 |
pgoyette |
Remove the flags member of the limits structure. Its value was only meaningful for a few limited function calls; all persitent storage of limit-present flags is maintained in the edata->upropset member.
|
|
Revision tags: uebayasi-xip-base
|
| 1.94 |
05-Feb-2010 |
pgoyette |
branches: 1.94.2; One more callback of sme_refresh() routine needs to check first that there is a routine to be called!
|
| 1.93 |
31-Jan-2010 |
martin |
Fix an outdated comment, noticed by Paul Goyette.
|
| 1.92 |
31-Jan-2010 |
martin |
Add a convenience function to find the maximum value currently reported by a set (selected via a passed callback predicate) of sensors. This provides an easy way to query the current temperature of a thermal zone, for example, from within the kernel - assuming the caller knows the topology.
|
| 1.91 |
30-Jan-2010 |
pgoyette |
Validate limit-based monitoring in one place, so we can apply the constraints to both driver-requested and user-requested monitoring.
While here, clean up some of the debugging DPRINTFs.
|
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 jym-xensuspend-nbase
|
| 1.90 |
10-Jul-2009 |
pgoyette |
Remove some code (bracketed by #ifdef NOTYET / #endif) that should not have been committed in the first place.
|
| 1.89 |
08-Jul-2009 |
pgoyette |
Remove driver name from debug message. Not all drivers have set this early enough, and we can easily figure out the driver name from some subsequent debug messages.
|
|
Revision tags: yamt-nfs-mp-base5
|
| 1.88 |
13-Jun-2009 |
pgoyette |
Add capability to send sensor limit values to the driver so they can be programmed into device registers. This way we can let the hardware help us out instead of having to always compare the value against each limit. (Driver updates for some sensors to take advantage of this capability will be forthcoming.)
|
| 1.87 |
08-Jun-2009 |
pgoyette |
General clean-up and some restructuring of event handling. This is a precursor to letting sensor drivers actually exchange limits/thresholds with user-land.
|
| 1.86 |
03-Jun-2009 |
pgoyette |
Don't allocate the private list-threading structure unless we're going to use it. Otherwise we end up leaking little bits of memory for each sensor that is not monitored at time of initial registration.
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base mjf-devfs2-base
|
| 1.85 |
22-Aug-2008 |
pgoyette |
branches: 1.85.8; 1. provide for warning-min and warning-max alarm levels in addition to critical-min and critical-max; also, a battery warning-capacity is added in addition to a critical-capacity.
2. usr.sbin/envstat is modified to introduce a -W command line switch to display the warning-* values instead of the critical-* values, and envstat(8) and envsys.conf(5) man pages are updated appropriately.
3. Treat user-defined limits as a single continuum and generate a single event regardless of how many boundaries a change in sensor value crosses; ditto for driver-defined limits.
Fixes my PR/39021 Fixes my PR/39022
OK'd by christos@ bouyer@ cube@
|
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 wrstuden-revivesa-base
|
| 1.84 |
03-Jun-2008 |
jmcneill |
branches: 1.84.4; Add SME_POLL_ONLY flag, which informs sme to only refresh the sensor when it is polled (and not from GTREDATA).
|
|
Revision tags: hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base
|
| 1.83 |
02-Apr-2008 |
xtraeme |
branches: 1.83.2; 1.83.4; 1.83.6; Initialize and destroy the callout in sme_events_init() and sme_events_destroy() respectively. And don't stop twice the callout when calling sysmon_envsys_unregister().
|
| 1.82 |
01-Apr-2008 |
xtraeme |
Introduce per-device locking/synchronization and maintain only a global mutex for the linked list of devices and the global proplib dictionary.
This has improved locking contention a lot when multiple devices with multiple monitoring events are running:
New:
0.30 35 0.33 sme_global_mtx sysmonioctl_envsys+28b 0.10 10 0.11 00000000cd97feac sysmon_envsys_acquire+4c 0.08 6 0.09 00000000cd97feac sme_update_dictionary+24f 0.01 4 0.01 00000000cd97feac sme_events_worker+2f 0.01 10 0.01 00000000cd97fe2c sysmon_envsys_acquire+4c 0.00 1 0.00 00000000cd97fe2c sysmon_envsys_release+3b 28.38 94 9.16 sme_global_mtx sysmonioctl_envsys+28b 4.54 74 1.47 00000000cd97fe2c sysmon_envsys_acquire+4c 0.06 3 0.02 00000000cd97fe2c sysmon_envsys_release+3b 0.03 1 0.01 00000000cd97fe2c sme_events_worker+2f 1.40 19 0.45 00000000cd97bee4 sysmon_envsys_acquire+4c
Old:
4.25 313 4.74 sme_mtx <all> 3.12 185 3.49 sme_mtx sme_events_worker+21 1.12 128 1.25 sme_mtx sysmonioctl_envsys+29b 34.75 1423 59.52 sme_mtx <all> 22.08 477 37.82 sme_mtx sysmonioctl_envsys+29b 12.67 946 21.70 sme_mtx sme_events_worker+21
|
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14
|
| 1.81 |
23-Mar-2008 |
xtraeme |
Fix some problems reported by <drochner> a while ago on tech-kern:
sme_events_worker: skip sensors with invalid state. sme_acadapter_check:
* use a boolean to check if an SME_CLASS_ACADAPTER was found. * Always refresh sensor data before checking value_cur.
Introduce the SME_INIT_REFRESH flag. If a device sets this it will mean that after interrupts are enabled in the autoconf(9) process, sensor data will be refreshed once.
|
|
Revision tags: keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
| 1.80 |
02-Feb-2008 |
xtraeme |
branches: 1.80.6; Destroy the callout via sysmon_envsys_destroy() now that it's initialized in sysmon_envsys_create().
|
|
Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
| 1.79 |
02-Jan-2008 |
xtraeme |
- Initialize the callout with CALLOUT_MPSAFE, like it was done before in sysmon_envsys_events.c. - Separate sme_event_check_low_power() into sme_battery_check(), sme_acadapter_check() and sme_battery_critical() (no functional changes).
|
| 1.78 |
02-Jan-2008 |
dyoung |
In sysmon_envsys_create(), initialize the callout structure. Stops panics with a DIAGNOSTIC kernel.
In sysmon_envsys_find_40(), wait until an envsys is not busy before settings its busy flag, in the pattern of sysmon_envsys_find().
|
| 1.77 |
02-Jan-2008 |
dyoung |
Use LIST_FOREACH().
|
| 1.76 |
02-Jan-2008 |
dyoung |
Use TAILQ_FOREACH().
|
|
Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase jmcneill-pm-base reinoud-bufcleanup-base
|
| 1.75 |
05-Dec-2007 |
ad |
branches: 1.75.4; MUTEX_SPIN -> MUTEX_DEFAULT.
|
|
Revision tags: vmlocking2-base1 bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base
|
| 1.74 |
20-Nov-2007 |
xtraeme |
branches: 1.74.2; Update a comment.
|
| 1.73 |
20-Nov-2007 |
xtraeme |
After comments from Andrew Doran:
- The mutex for the callout handler must run at IPL_SOFTCLOCK. - Just stop the callout in sysmon_envsys_unregister() and don't wait for the callout to finish.
|
| 1.72 |
16-Nov-2007 |
xtraeme |
Extend the envsys2 API (one more time, sorry) as defined in:
http://mail-index.netbsd.org/tech-kern/2007/11/09/0001.html
sysmon_envsys_create() and sysmon_envsys_destroy() were added to create/destroy sysmon_envsys objects (and its TAILQ/LIST for sensors/events).
sysmon_envsys_sensor_attach() and sysmon_envsys_sensor_detach() were added to attach/detach sensors to a specified sysmon_envsys device.
The events framework is now per device and configurable via the ENVSYS_SETDICTIONARY ioctl or /etc/envsys.conf and envstat(8).
Update all users and documentation to reflect these changes.
|
|
Revision tags: jmcneill-base
|
| 1.71 |
03-Nov-2007 |
xtraeme |
branches: 1.71.2; - Rename ENVSYS_BATTERY_STATE units to ENVSYS_BATTERY_CAPACITY and introduce ENVSYS_BATTERY_CHARGE, which is the same than an Indicator and it's used to know if the battery is currently charging or discharging.
- Require two sensors at least for SME_CLASS_BATTERY to make the low-power condition work: a ENVSYS_BATTERY_CAPACITY plus ENVSYS_BATTERY_CHARGE.
- Simplify sme_event_check_lowpower() and make it check the required sensors in the SME_CLASS_ACADAPTER and SME_CLASS_BATTERY classes. If the acadapter is not ready, trust the state returned by the battery device.
Based on suggestion from joerg@.
|
| 1.70 |
02-Nov-2007 |
plunky |
do not embed acpi device names in the sensor names fake it in the compat code for the old envsys API
|
|
Revision tags: yamt-x86pmap-base4 yamt-x86pmap-base3 vmlocking-base
|
| 1.69 |
07-Oct-2007 |
xtraeme |
branches: 1.69.2; New changes to support the new configuration file format for envstat(8) and the envsys framework:
- Modify the ENVSYS_SETDICTIONARY ioctl to support the following plist structure:
<dict> <key>foo0</key> <array> <dict> <key>index</key> <string>sensor0</string> <key>description</key> <string>cpu temp</string> ... Another property for this sensor ... </dict> ... Another dictionary for other sensor ... </array> ... Another device as above ... </dict>
Multiple devices with multiple sensors can now be specified, that means that to set the properties only one copyin(9) is needed now.
- Added the ENVSYS_REMOVEPROPS ioctl, that accepts a boolean object "envsys-remove-props" and when set to true, all properties that were set previously by ENVSYS_SETDICTIONARY will be removed. That means that you can now set multiple critical limits, descriptions and all they will be removed or changed to its default value (for rfact and description objects).
- Added the 'index' and 'allow-rfact' objects into the sensor dictionaries, for better interactivity with userland. To know the position of the sensor and to know if sensor allows to change the rfact.
- Misc cosmetic changes for consistency.
- Use a two clause license for all my code.
|
|
Revision tags: yamt-x86pmap-base2
|
| 1.68 |
24-Sep-2007 |
xtraeme |
sme_add_sensor_dictionary: don't forget to release the dictionary when an error ocurrs. This is the last memleak in the code, let me know if you find more and I'll pay you a beer.
|
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base
|
| 1.67 |
09-Sep-2007 |
xtraeme |
branches: 1.67.2; Change the DPRINTFs in sysmon_envsys_destroy_plist() to DPRINTFOBJs (second level of verbosity).
|
| 1.66 |
08-Sep-2007 |
xtraeme |
sysmon_envsys_register: don't forget to clear SME_FLAG_BUSY when registration succeeds.
|
| 1.65 |
08-Sep-2007 |
xtraeme |
Use DPRINTF for a debugging printf.
|
| 1.64 |
08-Sep-2007 |
xtraeme |
Remove an unused variable.
|
| 1.63 |
08-Sep-2007 |
xtraeme |
Fix another memleak that only happened when using sysmon_envsys_unregister(): in sysmon_envsys_destroy_plist() I wasn't removing the _objects_ from the dictionary, instead I was calling prop_object_release() with the keysym returned by prop_object_iterator_next()... obviously this wasn't correct.
|
| 1.62 |
08-Sep-2007 |
xtraeme |
Don't forget to free sme_evdrv in non error case too. Noticed and reviewed by rmind.
|
| 1.61 |
08-Sep-2007 |
xtraeme |
Use only one single condvar(9) for devices and events, they are protected by the same mutex (sme_mtx) and there's no point in using two of them.
Also add a comment mentioning some locking notes.
Reviewed and ok by rmind.
|
| 1.60 |
08-Sep-2007 |
xtraeme |
Disable debug, committed accidentally in previous.
|
| 1.59 |
08-Sep-2007 |
xtraeme |
sysmon_envsys_register: only call sme_event_unregister_all when any other error than EEXIST is returned.
|
| 1.58 |
08-Sep-2007 |
xtraeme |
- Use only one global mutex for all tasks with devices & events. - sysmon_envsys_register: use a SLIST to maintain allocated sme_event_drv_t structs for later use in sysmon_task_queue_sched(). This avoids a locking error acquiring/dropping the mutex multiple times.
Suggested by rmind.
|
| 1.57 |
08-Sep-2007 |
xtraeme |
Remove another COMPAT_40 block, found by rmind@.
|
| 1.56 |
08-Sep-2007 |
xtraeme |
- Build unconditionally compatibility code, there's no point to have it disabled, because some drivers depend in the old code yet. - Use a new mutex for sysmon_envsys_next_sensor_index (used in compatibility code), otherwise bad things happen with LKMs. Thanks to this, the hack for LKMs has been removed. - Check in advance if the driver doesn't exist already on the list before adding the sensors in the dictionary. - Don't forget to call sme_event_unregister_all() if sysmon_envsys_unregister() fails after adding the array into the global dictionary or when creating sensors. - Modify and add some DPRINTFs.
The lm(4) lkm works without known problems registering and unregistering it multiple times.
|
| 1.55 |
04-Sep-2007 |
xtraeme |
- Remove ENVSYS_GSTRING and the genstr member from envsys_data_t. (at least three or four persons were against it). - Add a new sensor type: ENVSYS_BATTERY_STATE, this uses value_cur and some predefined values in a static table, like ENVSYS_DRIVE. - Move all static tables to sysmon_envsys_tables.c and use a function on it to retrieve a pointer to the struct of the specified type. - Rename the ENVSYS_FMONDRVSTCHANGED to ENVSYS_FMONSTCHANGED and make it generic for Battery state and drive sensors (this flag enables monitoring on these sensors when state has been changed). - Update sysmon_penvsys_event() to report state changes on ENVSYS_BATTERY_STATE sensors and remove other type of events, with PENVSYS_EVENT_STATE_CHANGED they are not necessary anymore.
|
| 1.54 |
02-Sep-2007 |
xtraeme |
Add a new sensor type to sysmon_envsys(9): ENVSYS_GSTRING.
ENVSYS_GSTRING (aka Generic String) uses the genstr member in the envsys_data_t struct to add a generic string that envstat(8) will show as value or state.
It's like the ENVSYS_DRIVER, but doesn't use value_cur. Below is the dictionary created on these sensors:
<dict> <key>description</key> <string>acpibat0 charge state</string> <key>generic-state-string</key> <string>NORMAL</string> <key>monitoring-supported</key> <false/> <key>state</key> <string>valid</string> <key>type</key> <string>Generic string</string> </dict>
Note that it's limited to 32 chars, but we can grow it if needed.
envstat(8) will print ENVSYS_GSTRING sensors as:
$ envstat -dacpibat0 -s"acpibat0 charge state" acpibat0 charge state: NORMAL $
|
| 1.53 |
01-Sep-2007 |
xtraeme |
- Fix a memleak in ENVSYS_SETDICTIONARY if there wasn't any error (thanks god for KMEMSTATS). - sysmon_envsys_register: add all objects in the dictionary without any lock, at this point the sme device hasn't been added into the list and it's safe. - Add sysmon_envsys_destroy_plist(prop_array_t) that destroys all objects associated with a device and use it on sysmon_envsys_unregister() and sysmon_envsys_register() if there's any error.
Thanks to Mindaugas Rasiukevicius (rmind@) for the great comments/ideas.
|
| 1.52 |
31-Aug-2007 |
xtraeme |
- sme_unregister_all: there's no need to use a struct sysmon_envsys as argument, just pass sme->sme_name to it. - sysmon_envsys_register: drop the array in all cases, not just when there's an error. The reference is stored in the dictionary anyway... - Update some comments.
|
| 1.51 |
31-Aug-2007 |
xtraeme |
Merge sme_event_add() into sme_event_register()... there's no need to have two different functions for this.
|
| 1.50 |
31-Aug-2007 |
xtraeme |
Add a few KASSERT(mutex_owned(&foo_lock)) as suggested by Andrew Doran.
|
| 1.49 |
30-Aug-2007 |
xtraeme |
More misc changes for sysmon_envsys(9):
- Add the SLIST for sensor descriptions and sme_uniqsensors into the struct sysmon_envsys (it's per device now). - Use only one common struct with three members for the static tables (there's no need to have different structs just for them). - While initializing/destroying the events framework, use the strategy specified by Andrew Doran in: http://mail-index.netbsd.org/tech-kern/2007/06/21/0025.html).
|
| 1.48 |
30-Aug-2007 |
xtraeme |
Simplify sysmon_envsys_register() and fix an obvious error in previous.
|
| 1.47 |
30-Aug-2007 |
xtraeme |
Some changes to improve locking on sysmon_envsys(9):
- Remove sme_mtx, a global lock (sme_list_mtx) is used to access to the sysmon envsys device. - Allocate memory with KM_NOSLEEP rather than KM_SLEEP if there's a mutex held, to avoid sleeping. - Remove sysmon_envsys_createplist() and add the logic into sysmon_envsys_register(). - sysmon_envsys_register: allocate the array and dictionaries required in advance for a device before the locking and adding the objects into the array happens. - Rename sme_make_dictionary() to sme_add_sensor_dictionary() and pass to it the dictionary on which the objects will be stored for a sensor. - Improve locking here and there.
Thanks to Mindaugas Rasiukevicius and Andrew Doran for comments.
|
|
Revision tags: matt-mips64-base
|
| 1.46 |
05-Aug-2007 |
xtraeme |
branches: 1.46.2; 1.46.4; In ENVSYS_SETDICTIONARY if sysmon_envsys_find() returns NULL, do not call sysmon_envsys_release with a NULL argument.
|
| 1.45 |
29-Jul-2007 |
xtraeme |
branches: 1.45.4; - Do not call sme_gtredata in sysmon_envsys_createplist, as in some systems the interrupts are not configured and causes unexpected behaviour in acpi_bat and other drivers, reported by cube@. - Update the 'type' object in sme_update_dictionary(), so that it can report the correct units type in acpibat(4).
|
| 1.44 |
27-Jul-2007 |
xtraeme |
Change locking stuff in sysmon_envsys_register() and sysmon_envsys_createplist().
|
| 1.43 |
23-Jul-2007 |
xtraeme |
- ENVSYS_SETDICTIONARY: use sysmon_envsys_release() if there's an error. - sme_events_worker: use sme_list_mtx when accessing to the sysmon_envsys linked list. - Improve the comments in sysmon_envsysvar.h about the mutexes and condvar.
|
| 1.42 |
23-Jul-2007 |
xtraeme |
- sysmon_envsys_createplist: do not return the error of sme->sme_gtredata in all cases to the caller, just continue and show a debug printf if it fails, because it's not a critical error.
- Improve some debugging printfs.
Fixes another part of yamt@'s PR kern/36673, that I forgot to commit yesterday.
|
| 1.41 |
22-Jul-2007 |
xtraeme |
Fix the last point reported by yamt in PR kern/36673:
- There must be three mandatory objects in a sensor to be valid and be enabled on its dictionary: units, state and desc. If any of these objects fails for some reason, its dictionary won't created in the array and sensor will be marked with ENVSYS_FNOTVALID in edata->flags.
That means there won't never be a partial dictionary.
- Mark all invalid sensors and sensors with duplicate description with ENVSYS_FNOTVALID and remove ENVSYS_FDUPDESC. The former is the generic way to say that a sensor does not obey the rules and must be not created.
- sysmon_envsys_createplist: if the array does not contain any object, release the array and return the error.
And with all that stuff I can go to holidays and be happy.
|
| 1.40 |
21-Jul-2007 |
xtraeme |
- Do not touch sme_nsensors when sensors with duplicate description are found, rather maintain a global counter for all sensors that are unique, and use this global to get the correct index in the array. - Use prop_array_set() rather than prop_array_add() for adding dictionaries into our global array. Thanks to yamt@. - Overwrite the sensor index in the first sensor of a device, to avoid a problem with LKMs where the first sensor gets the index of all edata structures allocated in kernel. - Add missing proto for sme_register_sensorname().
All them fix another part of yamt@'s PR.
|
| 1.39 |
21-Jul-2007 |
xtraeme |
Use the mutex that belongs to the specific task and do not mix them blindly.
- sme_list_mtx to access to the linked lists sme_list/sme_names_list. - sme_mtx to access to the data in the sysmon envsys device.
|
| 1.38 |
21-Jul-2007 |
xtraeme |
sme_update_dictionary: if there's a sensor with duplicate description, there's no need to decrease 'i' again, just sme->sme_nsensors is enough.
Reported by yamt@.
|
| 1.37 |
21-Jul-2007 |
xtraeme |
Simplify previous.
|
| 1.36 |
21-Jul-2007 |
xtraeme |
Skip sensor with duplicate descriptions in the COMPAT_40 case, verified with envstat(8) from netbsd-4 and sys/lkm/misc/envsys2.
Fixes another part of kern/36673 by yamt@.
|
| 1.35 |
21-Jul-2007 |
xtraeme |
- Add sme_events_destroy() to stop/destroy the callout and workqueue if there are no more events. - Add sme_event_unregister_all() to remove all events associated with a device and use it in sysmon_envsys_unregister() to fix a "use-after-free". - Check return error of sme_sensor_upfoo() in sme_make_dictionary() and return it rather than 0 all the time. - Add more KASSERTS.
|
| 1.34 |
21-Jul-2007 |
xtraeme |
Some fixes for kern/36673 by yamt@:
- sme_register_sensorname: there's no need to handle empty list case. - 'obj' argument in sme_sensor_upstring and similar functions is useless: removed the obj argument from the functions, it's handled in the function itself now. - check for more errors in sme_make_dictionary() and sysmon_envsys_createplist().
|
| 1.33 |
21-Jul-2007 |
xtraeme |
Re-add a strlcpy() to copy the new description in edata->desc, if the object in dictionary was updated succesfully.
|
| 1.32 |
20-Jul-2007 |
xtraeme |
Add another missing break if updating the drive-state object fails.
|
| 1.31 |
20-Jul-2007 |
xtraeme |
Add a missing break if error when setting a new description.
|
| 1.30 |
20-Jul-2007 |
xtraeme |
Replace the macros to create/update objects in dictionary with three inline functions, suggested by yamt@.
This also gets rid of a few gotos.
|
| 1.29 |
19-Jul-2007 |
xtraeme |
sysmon_envsys_unregister: do not kmem_free(9) with the mutex held.
|
| 1.28 |
19-Jul-2007 |
xtraeme |
sme_register_sensorname: don't forget to kmem_free(9) before returning EEXIST.
|
| 1.27 |
19-Jul-2007 |
xtraeme |
Maintain a SLIST per device to check for unique descriptions and do not create any dictionary if it's duplicated. Only the first sensor that has a unique description will be added.
Remove all elements from the list at sysmon_envsys_unregister() time and free resources associated with it.
|
| 1.26 |
18-Jul-2007 |
xtraeme |
- More changes related to locking. - Add a condvar(9) to protect deletions on the list if there's an event in the worker thread.
|
| 1.25 |
18-Jul-2007 |
xtraeme |
sme_make_dictionary: if prop_array_add() fails, don't forget to release the dictionary. Pointed out by yamt@.
|
|
Revision tags: nick-csl-alignment-base
|
| 1.24 |
17-Jul-2007 |
xtraeme |
branches: 1.24.2; Add more debugging printfs to catch sensors with duplicate description, and some cosmetic ones.
|
| 1.23 |
17-Jul-2007 |
xtraeme |
Skip sensors with the same description on the same device at attach time, if the description of it is not unique, mark the sensor with ENVSYS_FDUPDESC, return EEXIST and continue.
Also, when changing a description, check that the new description is not assigned by any other sensor, otherwise return EEXIST.
Note that these restrictions are only per device. Fixes PR kern/36660.
|
| 1.22 |
17-Jul-2007 |
xtraeme |
Only allow to use ENVSYS_SETDICTIONARY if the user has write permission in the /dev/sysmon device.
Use O_RDONLY for ENVSYS_GETDICTIONARY and O_RDWR for ENVSYS_SETDICTIONARY in envstat(8).
Fixes PR kern/36661 by YAMAMOTO Takashi.
|
| 1.21 |
16-Jul-2007 |
xtraeme |
There's no reason why integer sensors were disabled for monitoring, so enable it. This will allow to set a min/max limit for the macppc/battery.c driver, which uses an integer sensor to report the battery capacity.
Indicator/Integer sensors will share the /etc/power/scripts/sensor_indicator script to report the events.
|
|
Revision tags: mjf-ufs-trans-base
|
| 1.20 |
04-Jul-2007 |
xtraeme |
Fix the old ENVSYS_GTREDATA ioctl if there are sensors with invalid state. Enable all sensors by default as valid and current valid data and if there is one that is in invalid state, mark current data as not valid.
This matches the behaviour with the old API. Also, this fixes the problem with ipmi(4) reporting bogus values with sensors in invalid state using the old envstat(8).
Note that this only happened when using the old envstat(8).
|
| 1.19 |
02-Jul-2007 |
xtraeme |
Add PENVSYS_TYPE_INDICATOR to handle events on Indicator sensors.
ipmi(4) uses this for the Intrussion and Power Supply sensors.
|
| 1.18 |
01-Jul-2007 |
xtraeme |
Imported envsys 2, a brief description of the new features: (Part 1: API)
* Support for detachable sensors. * Cleaned up the API for simplicity and efficiency. * Ability to send capacity/critical/warning events to powerd(8). * Adapted all the code to the new locking order. * Compatibility with the old envsys API: the ENVSYS_GTREINFO and ENVSYS_GTREDATA ioctl(2)s are supported. * Added support for a 'dictionary based communication channel' between sysmon_power(9) and powerd(8), that means there is no 32 bytes event size restriction anymore. * Binary compatibility with old envstat(8) and powerd(8) via COMPAT_40. * All drivers with the n^2 gtredata bug were fixed, PR kern/36226.
Tested by:
blymn: smsc(4). bouyer: ipmi(4), mfi(4). kefren: ug(4). njoly: viaenv(4), adt7463.c. riz: owtemp(4). xtraeme: acpiacad(4), acpibat(4), acpitz(4), aiboost(4), it(4), lm(4).
|
|
Revision tags: yamt-idlelwp-base8 thorpej-atomic-base
|
| 1.17 |
04-Mar-2007 |
christos |
branches: 1.17.2; 1.17.4; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
|
Revision tags: ad-audiomp-base
|
| 1.16 |
19-Feb-2007 |
ad |
Back out previous for now. There isn't currently an easy way to set up shared state before these get attached or used.
From xtraeme@.
|
| 1.15 |
19-Feb-2007 |
xtraeme |
Replace SYSMON_ENVSYS_{LOCK,UNLOCK} with mutex_{enter,exit}.
|
| 1.14 |
18-Feb-2007 |
xtraeme |
* Replace simple_locks and exclusive locks with adaptive mutexes. * Replace ltsleep/wakeup pairs with condition variables (cv_init/cv_wait/cv_broadcast).
Reviewed by ad@.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
| 1.13 |
16-Nov-2006 |
christos |
branches: 1.13.4; __unused removal on arguments; approved by core.
|
|
Revision tags: yamt-splraiseipl-base2
|
| 1.12 |
12-Oct-2006 |
christos |
- sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 rpaulo-netinet-merge-pcb-base
|
| 1.11 |
08-Jul-2006 |
christos |
branches: 1.11.4; 1.11.6; expose the ioctl internal function now used by the acpi_apm code.
|
|
Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 elad-kernelauth-base simonb-timecounters-base
|
| 1.10 |
20-Mar-2006 |
lukem |
branches: 1.10.4; Don't attempt to call (*sme->sme_gtredata)() or (*sme->sme_streinfo)() if those members are NULL. As discussed on tech-kern in October/November 2005.
|
|
Revision tags: peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5
|
| 1.9 |
11-Dec-2005 |
christos |
branches: 1.9.4; 1.9.6; 1.9.8; 1.9.10; 1.9.12; merge ktrace-lwp.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 netbsd-2-0-3-RELEASE yamt-vop-base2 thorpej-vnode-attr-base netbsd-2-1-RELEASE yamt-vop-base netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base ktrace-lwp-base
|
| 1.8 |
11-Aug-2003 |
yamt |
branches: 1.8.16; do wakeup() only when someone is waiting for us.
|
| 1.7 |
11-Aug-2003 |
yamt |
introduce SME_FLAG_BUSY and set it during operations instead of keeping sysmon_envsys_list_slock spinlock held because some drivers might sleep in sysmon_envsys ops,
XXX sysmon_envsys_lock is now redundant
|
| 1.6 |
29-Jun-2003 |
fvdl |
branches: 1.6.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
| 1.5 |
28-Jun-2003 |
darrenr |
Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base nathanw_sa_base
|
| 1.4 |
31-Dec-2002 |
explorer |
add envsys support to acpi A/C adapter and batteries. This is still a work in progress, much like the rest of ACPI.
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base kqueue-base
|
| 1.3 |
03-Jan-2002 |
jdolecek |
The device close routine is called when _last_ descriptor to the device file is closed, rather on every descriptor close. Instead of getting the exclusive lock on open and releasing on close, get the lock only when needed in sysmonioctl_envsys(). Fixes kern/14368 by Anthony Mallet. Okayed by Jason Thorpe.
While here, also inline sysmon_envsys_init() to sysmonopen_envsys(), and g/c sysmonioctl_wdog() prototype.
|
| 1.2 |
13-Nov-2001 |
lukem |
add RCSIDs
|
|
Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
| 1.1 |
05-Nov-2000 |
thorpej |
branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; Split the envsys and watchdog parts of sysmon into their own files.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
|
| 1.123 |
31-Dec-2021 |
riastradh |
sysmon(9): Fix callout/thread synchronization.
Callout may ONLY take sme_work_mtx, at IPL_SOFTCLOCK; MUST NOT touch sme_mtx at IPL_NONE. All state the callout needs is serialized by sme_work_mtx now:
- calls to sme_schedule_callout - calls to sme_schedule_halt - struct sysmon_envsys::sme_events_timeout - struct sysmon_envsys::sme_events_list - struct sysmon_envsys::sme_callout_state - struct envsys_data::flags => yes, this is a little silly -- used for ENVSYS_FNEED_REFRESH => should maybe separate the static driver-defined features from the state flags needed by sysmon_envsys but not important now
Sleeping under sme_work_mtx (except on other adaptive locks at IPL_SOFTCLOCK) is forbidden. Calling out to the driver under sme_work_mtx is forbidden.
This should properly fix:
https://mail-index.netbsd.org/tech-kern/2015/10/14/msg019511.html PR kern/56592
|
| 1.122 |
31-Dec-2021 |
riastradh |
sysmon: Delete trailing whitespace. No functional change intended.
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202
|
| 1.121 |
11-Sep-2017 |
pgoyette |
Improve tracking of the state of an event's callout, and protect all queries or modifications of the state with the sme_mtx mutex.
Detach the rndsrc before re-attaching it (with potentially new values).
Clean up some lock-ordering issues.
And a couple of KNF issues for good measure!
Should address PR kern/52533
XXX Pullup-8 along with the previous fixes from msaitoh@ XXX http://mail-index.netbsd.org/source-changes/2017/09/06/msg088028.html ~ ~
|
| 1.120 |
06-Sep-2017 |
msaitoh |
Fixes a problem that some driver(e.g. acpitz(4) or coretemp(5)) which use sysmon_envsys sleep waiting at "rndsrc" when "drvctl -d". Don't call rnd_detach_source() in sme_remove_event() which is called from sme_event_unregister_all(). Instead, call rnd_detach_source() in sysmon_envsys_sensor_detach() and call sysmon_envsys_sensor_detach() before sme_event_unregister_sensor(). Each sensor(envsys_data) has each rnd_src, but some sme_events point to the same rnd_src in a sensor. Calling rnd_detach_souce() twice with the same rnd_src brokes a reference count in rnd_src. OK'd by pgoyette@.
|
|
Revision tags: nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base
|
| 1.119 |
01-Jun-2017 |
chs |
branches: 1.119.2; remove checks for failure after memory allocation calls that cannot fail:
kmem_alloc() with KM_SLEEP kmem_zalloc() with KM_SLEEP percpu_alloc() pserialize_create() psref_class_create()
all of these paths include an assertion that the allocation has not failed, so callers should not assert that again.
|
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
| 1.118 |
15-Oct-2015 |
bouyer |
As proposed in https://mail-index.netbsd.org/tech-kern/2015/10/14/msg019511.html don't sleep on sme->sme_mtx in the callout but use mutex_tryenter() and just reschedule the callout if we can't get the mutex now. This fixes a deadlock which can happen if the backed wants to sleep with timeout (e.g. cv_timedwait()) as the backed is called with sme->sme_mtx held.
This is a stopgap measure for netbsd-7; sysmon should be changed to not sleep (or call a backend which will sleep) with mutexes held.
|
|
Revision tags: nick-nhusb-base-20150921
|
| 1.117 |
23-Jun-2015 |
pgoyette |
Separate the two conditions for the KASSERT, so we can tell which one occurred.
|
| 1.116 |
23-Jun-2015 |
pgoyette |
Fix the KASSERT - we want to make sure that _both_ pointers are non-NULL, n ot just that one or the other is non-NULL!
|
|
Revision tags: nick-nhusb-base-20150606
|
| 1.115 |
18-Apr-2015 |
mlelstv |
use unsigned type for flag bits.
|
|
Revision tags: nick-nhusb-base-20150406
|
| 1.114 |
14-Mar-2015 |
hannken |
Add a counter of busy events and stop enqueueing more work if a device is busy. Protect this counter with a new short time lock "sme_work_mtx" and keep "sme_mtx" as long time lock.
Removes a deadlock where an active event holds "sme_mtx", the callout "sme_events_check" blocks on "sme_mtx" and callout processing stops.
|
|
Revision tags: nick-nhusb-base
|
| 1.113 |
23-Nov-2014 |
ozaki-r |
branches: 1.113.2; Pull workqueue_destroy out of sme->sme_mtx
workqueue_destroy may sleep so we shouldn't run it with holding a mutex.
Requested by riastradh@.
|
| 1.112 |
22-Nov-2014 |
ozaki-r |
Replace callout_stop with callout_halt
In order to call callout_destroy for a callout safely, we have to ensure the function of the callout is not running and pending. To do so, we should use callout_halt, not callout_stop.
In this case, we need to pass an interlock to callout_halt to wait for the callout complete. And also we make sure that SME_CALLOUT_INITIALIZED is unset before calling callout_halt to prevent the callout from calling callout_schedule. This is the same as what we did in sys/netinet6/mld6.c@1.61.
Reviewed by riastradh@.
|
| 1.111 |
22-Nov-2014 |
ozaki-r |
Kill sme_callout_mtx and use sme_mtx instead
We can use sme_mtx for the callout as well. Actually we should do so because sme_events_list and some other data that are touched in the callout should be protected by sme_mtx, not sme_callout_mtx.
Discussed with riastradh@ in http://mail-index.netbsd.org/tech-kern/2014/11/11/msg017956.html
|
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.110 |
15-Sep-2013 |
martin |
branches: 1.110.4; Remove unused variable
|
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base
|
| 1.109 |
23-Jan-2013 |
mbalmer |
branches: 1.109.2; Fix spelling, grammar, typos.
|
|
Revision tags: yamt-pagecache-base8
|
| 1.108 |
14-Dec-2012 |
pgoyette |
Constify
|
|
Revision tags: yamt-pagecache-base7
|
| 1.107 |
11-Dec-2012 |
pgoyette |
Replace a couple of many-line #define with equivalent code loops.
No functional change intended, and atf tests (using swsensor(4)) still pass 100%
|
| 1.106 |
31-Oct-2012 |
macallan |
in sme_battery_check(): - don't assume that all batteries have exactly one ENVSYS_INDICATOR - check capacity and charge sensors for ENVSYS_SVALID before using them now this works on macppc
|
|
Revision tags: yamt-pagecache-base6
|
| 1.105 |
06-Sep-2012 |
pgoyette |
branches: 1.105.2; Remove (commented-out) definitions for debugging - thanks to macallan@ for defflagging these.
|
| 1.104 |
27-Aug-2012 |
pgoyette |
1. Enable use of FMONSTCHANGED events for INDICATOR sensors 2. Update handling of FMONCRITICAL event reporting. The state transition does not require a corresponding change in value.
With these changes, you can now have an INDICATOR sensor that reports the presence or absence of a device, and (if the device is present) separately monitor it for proper functioning.
Should address the concerns expressed recently with the commit of changes to wmi(4) BBU handling.
|
| 1.103 |
19-Jul-2012 |
pgoyette |
If previously there was only a dummy event entry (to force refresh for entropy gathering), allow it to be updated for the current request to add a real entry.
|
| 1.102 |
18-Jul-2012 |
pgoyette |
Release the mutex before taking a quick exit.
|
| 1.101 |
16-Jul-2012 |
pgoyette |
Extend previous changes so that even sensors which don't use a refresh() callback to update the value can be polled to provide rnd(4) entropy.
|
| 1.100 |
15-Jul-2012 |
pgoyette |
If a sensor is flagged as capable of providing rnd(4) with entropy, hook the sensor into rnd subsystem, and make sure we periodically refresh the sensor whether or not it is being actively monitored.
|
| 1.99 |
15-Jul-2012 |
pgoyette |
When unregistering a sensor device, make sure we unregister and delete all the associated events.
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-0-5-RELEASE netbsd-6-0-4-RELEASE netbsd-6-0-3-RELEASE netbsd-6-0-2-RELEASE netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase rmind-uvmplock-base
|
| 1.98 |
08-Jun-2011 |
pgoyette |
branches: 1.98.2; 1.98.8; Restrict limit monitoring for Indicator sensors as well as for Battery-charge sensors.
|
|
Revision tags: cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231
|
| 1.97 |
30-Dec-2010 |
pgoyette |
branches: 1.97.6; When the user updates the sensor device's refresh timer, reset the callout immediately rather than waiting for the previous timer to expire.
|
| 1.96 |
15-Dec-2010 |
pgoyette |
Extract searching of description tables into a single function, rather than duplicating the code every time. Minor reduction in code size (about 1200 bytes on amd64), no change in functionality.
|
| 1.95 |
08-Dec-2010 |
pgoyette |
When removing properties (as in envstat -S), clear the flags that track whether the properties actually exist.
When setting new limit values, don't complain/ignore about duplicate values if the associated flag bits (indicating that the limit is valid) are not set.
These two fixes together should fix a problem reported in private Email by njoly@ a couple months ago. Issue replicated and solution tested using my recent swsensor pseudo-device running inside qemu world!
|
| 1.94 |
06-Dec-2010 |
pgoyette |
Make this compile when "options ENVSYS_OBJECTS_DEBUG" is defined.
|
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
|
| 1.93 |
22-Sep-2010 |
pgoyette |
1. Don't try to call the driver's get_limits routine if it doesn't have one. Fixes a panic reported by njoly@ in private Email
2. Acquire the device before checking whether or not the get_limits routine exists.
XXX There's still a bug in here somewhere that prevents setting of XXX limit values after using 'envstat -S'
|
|
Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1
|
| 1.92 |
10-Apr-2010 |
pgoyette |
When removing sensor properties with envstat -S, ensure that drivers which could have modified hardware state are informed so that original state can be restored.
Welcome to 5.99.27
|
| 1.91 |
01-Apr-2010 |
pgoyette |
Permit creation of an event-monitor for alarm limits even if the limits are not currently set (and, in case of battery capacity sensors, if there is no value_max). Ensure that such an event-monitor does not trigger the delivery of any actual events.
Provide a mechanism for sensors to set their limits at time other than system startup (for example, when a battery is inserted).
This allows us to boot a system with a battery missing, install the battery some time later, and automatically monitor it without requiring any user intervention to create the event-monitor. (The actual changes for battery sensors to use this new capability will come later.)
|
| 1.90 |
24-Mar-2010 |
njoly |
Fix ENVSYS_DEBUG build.
|
| 1.89 |
24-Mar-2010 |
pgoyette |
In sysmon_envsys_sensor_event(), permit delivery of all events for the sensor if no event type is specified.
|
| 1.88 |
23-Mar-2010 |
pgoyette |
Additional info in DPRINTF to help debugging efforts
|
| 1.87 |
19-Mar-2010 |
pgoyette |
Modify previous commit. The routine to deliver events is intended to be exported to device drivers, so rename it and move the declaration to <dev/sysmon/sysmonvar.h>
|
| 1.86 |
19-Mar-2010 |
pgoyette |
Separate event delivery from polling and limit evaluation in sme_events_worker().
Provide a wrapper that can be called from sensor drivers' interrupt routines to find and deliver a specific event.
XXX Actually updating sensor drivers (and their parent devices) to XXX have interrupts is a future enhancement. This is simply an XXX enabler.
|
|
Revision tags: yamt-nfs-mp-base9
|
| 1.85 |
18-Feb-2010 |
pgoyette |
branches: 1.85.2; If we're going to valdate things, at least do it correctly.
|
| 1.84 |
15-Feb-2010 |
pgoyette |
For symmetry, allow warning and critical upper-limits for capacity sensors.
|
| 1.83 |
14-Feb-2010 |
pgoyette |
Replace large amount of replicated code with a macro to improve readability.
|
| 1.82 |
14-Feb-2010 |
pgoyette |
Remove the flags member of the limits structure. Its value was only meaningful for a few limited function calls; all persitent storage of limit-present flags is maintained in the edata->upropset member.
|
| 1.81 |
14-Feb-2010 |
pgoyette |
Correct one more instance of checking flags in the wrong place.
|
| 1.80 |
13-Feb-2010 |
pgoyette |
When checking current sensor value vs limits, check the correct set of flags to determine which limits are present.
|
|
Revision tags: uebayasi-xip-base
|
| 1.79 |
05-Feb-2010 |
jruoho |
branches: 1.79.2; Fix a typo in one DPRINTF (s/edata->des/edata->desc/).
|
| 1.78 |
04-Feb-2010 |
pgoyette |
If the AC adapter is flagged with SME_DISABLE_REFRESH, don't try to call its refresh() callback. Just assume that its value has been properly updated by other means.
|
| 1.77 |
30-Jan-2010 |
pgoyette |
Validate limit-based monitoring in one place, so we can apply the constraints to both driver-requested and user-requested monitoring.
While here, clean up some of the debugging DPRINTFs.
|
| 1.76 |
26-Jan-2010 |
pgoyette |
Move the limits out of the event structure and into the main sensor.
Use the limits_flags only for calls to the {get,set}_limits() callbacks and merge the results into upropset, rather than trying to maintain both values (error prone).
|
| 1.75 |
18-Jan-2010 |
pgoyette |
If no limits are exceeded, make sure we set state to SVALID
|
| 1.74 |
02-Jan-2010 |
pgoyette |
Flags for existence of limit values need to be propagated to the event data. Otherwise, they're not processed.
XXX This needs to be rethought. While fixing it this way makes things XXX "work", we really shouldn't need to replicate these flags. The XXX limits and their flags should be kept as part of the sensor data, XXX and not part of the event-monitor data. I'll work on this in the XXX near future.
|
| 1.73 |
01-Jan-2010 |
pgoyette |
Don't infer a sensor driver's ability to handle limit checking itself.
|
| 1.72 |
23-Dec-2009 |
pgoyette |
Check for value exceeding crit-max limit before checking against warn-max limit. Otherwise we'll never notice if we exceed crit-max (assuming that crit-max is at least as large as warn-max).
|
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 jym-xensuspend-nbase
|
| 1.71 |
10-Jul-2009 |
pgoyette |
Document usage of PROP_DRIVER_LIMITS flag and set it correctly.
Use flag bits to determine validity of limit values, rather than assuming that invalid/not-present values are set to zero.
|
| 1.70 |
08-Jul-2009 |
pgoyette |
Initialize lims.sel_flags before using it. Prevents spurious limit events being created for devices that don't provide internal limits.
Thanks to Mattias for finding this.
|
| 1.69 |
08-Jul-2009 |
pgoyette |
Clean up a couple of debug statements that got missed previously.
|
|
Revision tags: yamt-nfs-mp-base5
|
| 1.68 |
14-Jun-2009 |
pgoyette |
Ooops - {get,set}_limits() need to be sensor-specific. Pass an extra argument to them to identify the individual sensor being processed.
|
| 1.67 |
13-Jun-2009 |
pgoyette |
Add capability to send sensor limit values to the driver so they can be programmed into device registers. This way we can let the hardware help us out instead of having to always compare the value against each limit. (Driver updates for some sensors to take advantage of this capability will be forthcoming.)
|
| 1.66 |
08-Jun-2009 |
pgoyette |
Correct typo in last so we can #undef the correct macro.
|
| 1.65 |
08-Jun-2009 |
pgoyette |
General clean-up and some restructuring of event handling. This is a precursor to letting sensor drivers actually exchange limits/thresholds with user-land.
|
| 1.64 |
01-Jun-2009 |
pgoyette |
Since we no longer have individual events for each sensor value limit, we don't need individual flag bits. Clean up extra bit definitions. Bump kernel version - welcome to 5.99.13
|
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 jym-xensuspend-base nick-hppapmap-base
|
| 1.63 |
07-Apr-2009 |
dyoung |
Fix spelling: mak -> make.
|
|
Revision tags: nick-hppapmap-base2 haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base mjf-devfs2-base
|
| 1.62 |
11-Nov-2008 |
pgoyette |
branches: 1.62.4; Fix typo in previous, and wrap a panic with #ifdef DIAGNOSTIC
|
| 1.61 |
11-Nov-2008 |
pgoyette |
Initialize event's "previous sent state" based on the event monitor type, regardless of sensor type. Fixes spurious "device: normal state on 'sensor-name' messages (reported by ad@) which interfere with sysinst.
|
| 1.60 |
04-Nov-2008 |
pgoyette |
Fix cut&paste error in prev
|
| 1.59 |
04-Nov-2008 |
pgoyette |
Restore previous behavior concerning CRITICAL events. Send an event whenever state enters or exits CRITICAL, or whenever value of sensor changes while the state is CRITICAL.
|
|
Revision tags: netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
| 1.58 |
07-Sep-2008 |
pgoyette |
branches: 1.58.2; 1.58.4; Only report new sensor state values if the new value is valid for the particular event being monitored. This avoids duplicate reporting for sensors that monitor both a normal/critical state and value-within-limits state as reported by Simon Burge on current-users.
While we're here, clean-up some stair-stepping if's.
OK garbled@
|
| 1.57 |
04-Sep-2008 |
pgoyette |
Initialize event's sent-state appropriately to avoid unnecessary start-up time messages that report a "transition" to the Normal state.
|
| 1.56 |
22-Aug-2008 |
pgoyette |
1. provide for warning-min and warning-max alarm levels in addition to critical-min and critical-max; also, a battery warning-capacity is added in addition to a critical-capacity.
2. usr.sbin/envstat is modified to introduce a -W command line switch to display the warning-* values instead of the critical-* values, and envstat(8) and envsys.conf(5) man pages are updated appropriately.
3. Treat user-defined limits as a single continuum and generate a single event regardless of how many boundaries a change in sensor value crosses; ditto for driver-defined limits.
Fixes my PR/39021 Fixes my PR/39022
OK'd by christos@ bouyer@ cube@
|
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base wrstuden-revivesa-base
|
| 1.55 |
11-Jun-2008 |
drochner |
branches: 1.55.2; in sme_battery_check(), explicitely check whether the battery is present before using the values read, and clean up the logics a bit to make it more understandable
|
|
Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base
|
| 1.54 |
02-Apr-2008 |
xtraeme |
branches: 1.54.2; 1.54.4; 1.54.6; 1.54.8; Initialize and destroy the callout in sme_events_init() and sme_events_destroy() respectively. And don't stop twice the callout when calling sysmon_envsys_unregister().
|
| 1.53 |
01-Apr-2008 |
xtraeme |
Also fix a memleak when the event is already in dictionary and has been updated.
|
| 1.52 |
01-Apr-2008 |
rmind |
sme_event_register: fix a memory leaks in two error paths.
|
| 1.51 |
01-Apr-2008 |
xtraeme |
Introduce per-device locking/synchronization and maintain only a global mutex for the linked list of devices and the global proplib dictionary.
This has improved locking contention a lot when multiple devices with multiple monitoring events are running:
New:
0.30 35 0.33 sme_global_mtx sysmonioctl_envsys+28b 0.10 10 0.11 00000000cd97feac sysmon_envsys_acquire+4c 0.08 6 0.09 00000000cd97feac sme_update_dictionary+24f 0.01 4 0.01 00000000cd97feac sme_events_worker+2f 0.01 10 0.01 00000000cd97fe2c sysmon_envsys_acquire+4c 0.00 1 0.00 00000000cd97fe2c sysmon_envsys_release+3b 28.38 94 9.16 sme_global_mtx sysmonioctl_envsys+28b 4.54 74 1.47 00000000cd97fe2c sysmon_envsys_acquire+4c 0.06 3 0.02 00000000cd97fe2c sysmon_envsys_release+3b 0.03 1 0.01 00000000cd97fe2c sme_events_worker+2f 1.40 19 0.45 00000000cd97bee4 sysmon_envsys_acquire+4c
Old:
4.25 313 4.74 sme_mtx <all> 3.12 185 3.49 sme_mtx sme_events_worker+21 1.12 128 1.25 sme_mtx sysmonioctl_envsys+29b 34.75 1423 59.52 sme_mtx <all> 22.08 477 37.82 sme_mtx sysmonioctl_envsys+29b 12.67 946 21.70 sme_mtx sme_events_worker+21
|
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14
|
| 1.50 |
23-Mar-2008 |
xtraeme |
Fix some problems reported by <drochner> a while ago on tech-kern:
sme_events_worker: skip sensors with invalid state. sme_acadapter_check:
* use a boolean to check if an SME_CLASS_ACADAPTER was found. * Always refresh sensor data before checking value_cur.
Introduce the SME_INIT_REFRESH flag. If a device sets this it will mean that after interrupts are enabled in the autoconf(9) process, sensor data will be refreshed once.
|
|
Revision tags: keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
| 1.49 |
29-Feb-2008 |
xtraeme |
Only check sysmon_low_power if the event comes from ENVSYS_BATTERY_CAPACITY sensors.
|
|
Revision tags: nick-net80211-sync-base mjf-devfs-base hpcarm-cleanup-base
|
| 1.48 |
02-Feb-2008 |
xtraeme |
branches: 1.48.2; 1.48.6; Destroy the callout via sysmon_envsys_destroy() now that it's initialized in sysmon_envsys_create().
|
|
Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
| 1.47 |
02-Jan-2008 |
xtraeme |
- Initialize the callout with CALLOUT_MPSAFE, like it was done before in sysmon_envsys_events.c. - Separate sme_event_check_low_power() into sme_battery_check(), sme_acadapter_check() and sme_battery_critical() (no functional changes).
|
|
Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase reinoud-bufcleanup-base vmlocking2-base1 bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base jmcneill-pm-base
|
| 1.46 |
20-Nov-2007 |
xtraeme |
branches: 1.46.6; After comments from Andrew Doran:
- The mutex for the callout handler must run at IPL_SOFTCLOCK. - Just stop the callout in sysmon_envsys_unregister() and don't wait for the callout to finish.
|
| 1.45 |
16-Nov-2007 |
xtraeme |
Extend the envsys2 API (one more time, sorry) as defined in:
http://mail-index.netbsd.org/tech-kern/2007/11/09/0001.html
sysmon_envsys_create() and sysmon_envsys_destroy() were added to create/destroy sysmon_envsys objects (and its TAILQ/LIST for sensors/events).
sysmon_envsys_sensor_attach() and sysmon_envsys_sensor_detach() were added to attach/detach sensors to a specified sysmon_envsys device.
The events framework is now per device and configurable via the ENVSYS_SETDICTIONARY ioctl or /etc/envsys.conf and envstat(8).
Update all users and documentation to reflect these changes.
|
|
Revision tags: jmcneill-base
|
| 1.44 |
03-Nov-2007 |
xtraeme |
branches: 1.44.2; - Rename ENVSYS_BATTERY_STATE units to ENVSYS_BATTERY_CAPACITY and introduce ENVSYS_BATTERY_CHARGE, which is the same than an Indicator and it's used to know if the battery is currently charging or discharging.
- Require two sensors at least for SME_CLASS_BATTERY to make the low-power condition work: a ENVSYS_BATTERY_CAPACITY plus ENVSYS_BATTERY_CHARGE.
- Simplify sme_event_check_lowpower() and make it check the required sensors in the SME_CLASS_ACADAPTER and SME_CLASS_BATTERY classes. If the acadapter is not ready, trust the state returned by the battery device.
Based on suggestion from joerg@.
|
| 1.43 |
23-Oct-2007 |
xtraeme |
Use a flag for see_flags to know when the sensor has been refreshed rather than using a boolean. Suggested by rmind.
|
| 1.42 |
20-Oct-2007 |
xtraeme |
performance fix: in the workqueue handler only refresh the sensor once, not multiple times for the same sensor and clear its state after all events were processed.
|
|
Revision tags: yamt-x86pmap-base4 yamt-x86pmap-base3
|
| 1.41 |
13-Oct-2007 |
xtraeme |
branches: 1.41.2; sme_event_drvadd: there's no need to acquire the mutex only when setting the object on its dictionary.
|
| 1.40 |
13-Oct-2007 |
xtraeme |
Use PRI_NONE for the priority argument in workqueue_create(9).
|
|
Revision tags: vmlocking-base
|
| 1.39 |
11-Oct-2007 |
xtraeme |
Check for the low power condition only when a new battery state sensor changed its state, there's no need to check this in all cases.
|
| 1.38 |
10-Oct-2007 |
xtraeme |
Fix the problems described in: http://mail-index.netbsd.org/current-users/2007/07/16/0012.html
- Introduce sme_class into the sysmon_envsys struct to specify a class; currently there are two classes: SME_CLASS_ACADAPTER and SME_CLASS_BATTERY.
- Add a new envsys event: PENVSYS_EVENT_LOW_POWER that is reached when all SME_CLASS_BATTERY devices are in CRITICAL/LOW state and there's not any SME_CLASS_ACADAPTER connected.
- Add the 'low-power' event into the sensor_battery script that will shutdown the system gracefully via 'shutdown -p'. If powerd(8) is not running, cpu_reboot(9) with RB_POWERDOWN is used.
- Make acpiacad(4) a SME_CLASS_ACADAPTER device and acpibat(4) a SME_CLASS_BATTERY device.
Update the documentation accordingly to these changes.
|
| 1.37 |
07-Oct-2007 |
xtraeme |
sme_event_unregister: remove a goto that is not needed anymore.
|
| 1.36 |
07-Oct-2007 |
xtraeme |
New changes to support the new configuration file format for envstat(8) and the envsys framework:
- Modify the ENVSYS_SETDICTIONARY ioctl to support the following plist structure:
<dict> <key>foo0</key> <array> <dict> <key>index</key> <string>sensor0</string> <key>description</key> <string>cpu temp</string> ... Another property for this sensor ... </dict> ... Another dictionary for other sensor ... </array> ... Another device as above ... </dict>
Multiple devices with multiple sensors can now be specified, that means that to set the properties only one copyin(9) is needed now.
- Added the ENVSYS_REMOVEPROPS ioctl, that accepts a boolean object "envsys-remove-props" and when set to true, all properties that were set previously by ENVSYS_SETDICTIONARY will be removed. That means that you can now set multiple critical limits, descriptions and all they will be removed or changed to its default value (for rfact and description objects).
- Added the 'index' and 'allow-rfact' objects into the sensor dictionaries, for better interactivity with userland. To know the position of the sensor and to know if sensor allows to change the rfact.
- Misc cosmetic changes for consistency.
- Use a two clause license for all my code.
|
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base
|
| 1.35 |
08-Sep-2007 |
xtraeme |
branches: 1.35.2; Use panic(9) for previous. To make pooka and rmind happy.
|
| 1.34 |
08-Sep-2007 |
xtraeme |
sme_event_worker: in PENVSYS_EVENT_STATE_CHANGED, only ENVSYS_DRIVE or ENVSYS_BATTERY_STATE sensors are allowed for now.
Other type of sensors will be ignored. Added this to make Coverity Prevent happy.
|
| 1.33 |
08-Sep-2007 |
xtraeme |
Use only one single condvar(9) for devices and events, they are protected by the same mutex (sme_mtx) and there's no point in using two of them.
Also add a comment mentioning some locking notes.
Reviewed and ok by rmind.
|
| 1.32 |
08-Sep-2007 |
xtraeme |
Disable debug, committed accidentally in previous.
|
| 1.31 |
08-Sep-2007 |
xtraeme |
- Use only one global mutex for all tasks with devices & events. - sysmon_envsys_register: use a SLIST to maintain allocated sme_event_drv_t structs for later use in sysmon_task_queue_sched(). This avoids a locking error acquiring/dropping the mutex multiple times.
Suggested by rmind.
|
| 1.30 |
08-Sep-2007 |
xtraeme |
Fix previous.
|
| 1.29 |
07-Sep-2007 |
xtraeme |
- sme_event_unregister_all: check if sme_events_initialized is set before calling sme_events_destroy(). - sme_event_worker: remove a KASSERT and always check if returned sme is NULL and do not continue the task.
|
| 1.28 |
04-Sep-2007 |
xtraeme |
- Remove ENVSYS_GSTRING and the genstr member from envsys_data_t. (at least three or four persons were against it). - Add a new sensor type: ENVSYS_BATTERY_STATE, this uses value_cur and some predefined values in a static table, like ENVSYS_DRIVE. - Move all static tables to sysmon_envsys_tables.c and use a function on it to retrieve a pointer to the struct of the specified type. - Rename the ENVSYS_FMONDRVSTCHANGED to ENVSYS_FMONSTCHANGED and make it generic for Battery state and drive sensors (this flag enables monitoring on these sensors when state has been changed). - Update sysmon_penvsys_event() to report state changes on ENVSYS_BATTERY_STATE sensors and remove other type of events, with PENVSYS_EVENT_STATE_CHANGED they are not necessary anymore.
|
| 1.27 |
01-Sep-2007 |
xtraeme |
branches: 1.27.2; sme_event_register: don't forget to add the object in dictionary when a critical value is added via ENVSYS_SETDICTIONARY.
|
| 1.26 |
01-Sep-2007 |
xtraeme |
sme_event_register: sme_sensor_upint32() was being called even when adding events via sme_event_drvadd(), fix it.
|
| 1.25 |
31-Aug-2007 |
xtraeme |
- sme_unregister_all: there's no need to use a struct sysmon_envsys as argument, just pass sme->sme_name to it. - sysmon_envsys_register: drop the array in all cases, not just when there's an error. The reference is stored in the dictionary anyway... - Update some comments.
|
| 1.24 |
31-Aug-2007 |
xtraeme |
Merge sme_event_add() into sme_event_register()... there's no need to have two different functions for this.
|
| 1.23 |
31-Aug-2007 |
xtraeme |
Simplify sme_event_add() and fix a problem when updating critical values.
|
| 1.22 |
31-Aug-2007 |
xtraeme |
Add a few KASSERT(mutex_owned(&foo_lock)) as suggested by Andrew Doran.
|
| 1.21 |
30-Aug-2007 |
xtraeme |
More misc changes for sysmon_envsys(9):
- Add the SLIST for sensor descriptions and sme_uniqsensors into the struct sysmon_envsys (it's per device now). - Use only one common struct with three members for the static tables (there's no need to have different structs just for them). - While initializing/destroying the events framework, use the strategy specified by Andrew Doran in: http://mail-index.netbsd.org/tech-kern/2007/06/21/0025.html).
|
| 1.20 |
30-Aug-2007 |
xtraeme |
Some changes to improve locking on sysmon_envsys(9):
- Remove sme_mtx, a global lock (sme_list_mtx) is used to access to the sysmon envsys device. - Allocate memory with KM_NOSLEEP rather than KM_SLEEP if there's a mutex held, to avoid sleeping. - Remove sysmon_envsys_createplist() and add the logic into sysmon_envsys_register(). - sysmon_envsys_register: allocate the array and dictionaries required in advance for a device before the locking and adding the objects into the array happens. - Rename sme_make_dictionary() to sme_add_sensor_dictionary() and pass to it the dictionary on which the objects will be stored for a sensor. - Improve locking here and there.
Thanks to Mindaugas Rasiukevicius and Andrew Doran for comments.
|
|
Revision tags: matt-mips64-base
|
| 1.19 |
23-Jul-2007 |
xtraeme |
branches: 1.19.4; 1.19.6; 1.19.8; - ENVSYS_SETDICTIONARY: use sysmon_envsys_release() if there's an error. - sme_events_worker: use sme_list_mtx when accessing to the sysmon_envsys linked list. - Improve the comments in sysmon_envsysvar.h about the mutexes and condvar.
|
| 1.18 |
21-Jul-2007 |
xtraeme |
- Add sme_events_destroy() to stop/destroy the callout and workqueue if there are no more events. - Add sme_event_unregister_all() to remove all events associated with a device and use it in sysmon_envsys_unregister() to fix a "use-after-free". - Check return error of sme_sensor_upfoo() in sme_make_dictionary() and return it rather than 0 all the time. - Add more KASSERTS.
|
| 1.17 |
21-Jul-2007 |
xtraeme |
Some fixes for kern/36673 by yamt@:
- sme_register_sensorname: there's no need to handle empty list case. - 'obj' argument in sme_sensor_upstring and similar functions is useless: removed the obj argument from the functions, it's handled in the function itself now. - check for more errors in sme_make_dictionary() and sysmon_envsys_createplist().
|
| 1.16 |
20-Jul-2007 |
xtraeme |
Replace the macros to create/update objects in dictionary with three inline functions, suggested by yamt@.
This also gets rid of a few gotos.
|
| 1.15 |
18-Jul-2007 |
xtraeme |
- More changes related to locking. - Add a condvar(9) to protect deletions on the list if there's an event in the worker thread.
|
|
Revision tags: nick-csl-alignment-base
|
| 1.14 |
17-Jul-2007 |
xtraeme |
branches: 1.14.2; Add more debugging printfs to catch sensors with duplicate description, and some cosmetic ones.
|
| 1.13 |
14-Jul-2007 |
xtraeme |
branches: 1.13.2; sme_events_worker: there's no need to use an extra int that gets the value of see->snum to get the index of sme_sensor_data, just use see->snum directly.
|
| 1.12 |
13-Jul-2007 |
xtraeme |
sme_event_add: if the event is already on the list, update the critical value only if new value is different than the one it has.
While I'm here, improve the debugging printf for this.
|
| 1.11 |
13-Jul-2007 |
xtraeme |
sme_event_add: if sme_event_register() fails return the error of this function and not EINVAL.
|
| 1.10 |
13-Jul-2007 |
xtraeme |
sme_events_worker: simplify the code that sends the events.
|
| 1.9 |
13-Jul-2007 |
xtraeme |
sme_event_unregister: if the events list is empty, just after the callout is stopped, use callout_destroy().
|
| 1.8 |
12-Jul-2007 |
rmind |
Implementation of per-CPU work-queues support for workqueue(9) interface. WQ_PERCPU flag for workqueue and additional argument for workqueue_enqueue() to assign a CPU might be used. Notes: - For now, the list is used for workqueue_queue, which is non-optimal, and will be changed with array, where index would be CPU ID. - The data structures should be changed to be cache-friendly.
Reviewed by: <yamt>, <tech-kern>
|
|
Revision tags: mjf-ufs-trans-base
|
| 1.7 |
10-Jul-2007 |
yamt |
branches: 1.7.2; sme_events_init: create seewq with IPL_SOFTCLOCK as it's accessed by a callout.
|
| 1.6 |
09-Jul-2007 |
ad |
Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes - select()/poll() improvements - miscellaneous MT safety improvements
|
| 1.5 |
04-Jul-2007 |
xtraeme |
Remove the max limit in the refresh value for the refresh_value sysctl, use whatever you want within the limits of an integer.
Suggested by garbled@ and freza@.
|
| 1.4 |
03-Jul-2007 |
xtraeme |
Erm, fix previous: 6min != 5min...
|
| 1.3 |
03-Jul-2007 |
xtraeme |
Make the refresh value of the callout function (that monitors the sensors) configurable via sysctl. By default it uses 10 seconds, but it can be changed between 1 second and 5 minutes.
$ sysctl -d kern.envsys kern.envsys.refresh_value: wait time in seconds to refresh sensors being monitored $
|
| 1.2 |
02-Jul-2007 |
xtraeme |
sme_event_drvadd:
- Check the error returned by sme_event_add() and print details if returned value is not EEXIST. - If sme_event_add() returned an error, don't add the monitoring-* object into the dictionary.
|
| 1.1 |
01-Jul-2007 |
xtraeme |
Imported envsys 2, a brief description of the new features: (Part 1: API)
* Support for detachable sensors. * Cleaned up the API for simplicity and efficiency. * Ability to send capacity/critical/warning events to powerd(8). * Adapted all the code to the new locking order. * Compatibility with the old envsys API: the ENVSYS_GTREINFO and ENVSYS_GTREDATA ioctl(2)s are supported. * Added support for a 'dictionary based communication channel' between sysmon_power(9) and powerd(8), that means there is no 32 bytes event size restriction anymore. * Binary compatibility with old envstat(8) and powerd(8) via COMPAT_40. * All drivers with the n^2 gtredata bug were fixed, PR kern/36226.
Tested by:
blymn: smsc(4). bouyer: ipmi(4), mfi(4). kefren: ug(4). njoly: viaenv(4), adt7463.c. riz: owtemp(4). xtraeme: acpiacad(4), acpibat(4), acpitz(4), aiboost(4), it(4), lm(4).
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base
|
| 1.14 |
21-Nov-2022 |
brad |
A driver for the Bosch BMP280 / BME280 temperature, humidity and atmospheric pressure sensor. This is an inexpensive to moderately expensive chip available from a large number of places. The driver supports all aspects of the two chips, except for the repeating read mode which would allow for sub-second queries, such as fall detection or perhaps even as an altimeter. This driver also only supports the I2C interface and not the SPI interface.
The BME280, the one with humidity, is not fully tested at this point, awaiting upon a breakout board and may not show proper humidity.
|
|
Revision tags: netbsd-9-4-RELEASE bouyer-sunxi-drm-base netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
|
| 1.13 |
27-May-2018 |
thorpej |
Add support for light sensors that report Illuminance in lux.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-7-2-RELEASE netbsd-8-0-RELEASE netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.12 |
18-May-2014 |
kardel |
branches: 1.12.26; add HYT-221/271/939 humidity/temperature I2C sensor extend envsys(4) framework by %rH (relative humidity)
|
|
Revision tags: yamt-pagecache-base9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
| 1.11 |
27-Aug-2012 |
pgoyette |
branches: 1.11.2; 1.11.4; 1.11.12; 1. Enable use of FMONSTCHANGED events for INDICATOR sensors 2. Update handling of FMONCRITICAL event reporting. The state transition does not require a corresponding change in value.
With these changes, you can now have an INDICATOR sensor that reports the presence or absence of a device, and (if the device is present) separately monitor it for proper functioning.
Should address the concerns expressed recently with the commit of changes to wmi(4) BBU handling.
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-0-5-RELEASE netbsd-6-0-4-RELEASE netbsd-6-0-3-RELEASE netbsd-6-0-2-RELEASE netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
| 1.10 |
19-Jun-2011 |
nonaka |
branches: 1.10.2; 1.10.8; Pass table_id to sme_find_table().
|
| 1.9 |
19-Jun-2011 |
nonaka |
fix typo.
|
| 1.8 |
19-Jun-2011 |
christos |
simplify and don't deref NULL.
|
| 1.7 |
19-Jun-2011 |
pgoyette |
Add routine to lookup description tables by description instead of by type.
|
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 rmind-uvmplock-base
|
| 1.6 |
15-Dec-2010 |
pgoyette |
branches: 1.6.6; Extract searching of description tables into a single function, rather than duplicating the code every time. Minor reduction in code size (about 1200 bytes on amd64), no change in functionality.
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 netbsd-5-1-RC4 matt-nb5-mips64-k15 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 uebayasi-xip-base1 netbsd-5-1-RC1 yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base keiichi-mipv6-base matt-armv6-nbase
|
| 1.5 |
28-Feb-2008 |
xtraeme |
branches: 1.5.26; Add three new values for ENVSYS_DRIVE units:
* ENVSYS_DRIVE_OFFLINE, ENVSYS_DRIVE_CHECK and ENVSYS_DRIVE_BUILD
|
|
Revision tags: nick-net80211-sync-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase matt-armv6-base mjf-devfs-base hpcarm-cleanup-base jmcneill-pm-base
|
| 1.4 |
07-Dec-2007 |
xtraeme |
branches: 1.4.8; 1.4.12; Add ENVSYS_DRIVE_MIGRATING for ENVSYS_DRIVE sensors, this is for RAID volumes that are migrating such as when you change the stripe size.
While I'm here use the same string than we had in the old framework to report status "online" vs "drive is online", because the sensor might be a RAID volume and not just a drive.
|
|
Revision tags: reinoud-bufcleanup-base vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base
|
| 1.3 |
03-Nov-2007 |
xtraeme |
branches: 1.3.2; 1.3.4; 1.3.6; - Rename ENVSYS_BATTERY_STATE units to ENVSYS_BATTERY_CAPACITY and introduce ENVSYS_BATTERY_CHARGE, which is the same than an Indicator and it's used to know if the battery is currently charging or discharging.
- Require two sensors at least for SME_CLASS_BATTERY to make the low-power condition work: a ENVSYS_BATTERY_CAPACITY plus ENVSYS_BATTERY_CHARGE.
- Simplify sme_event_check_lowpower() and make it check the required sensors in the SME_CLASS_ACADAPTER and SME_CLASS_BATTERY classes. If the acadapter is not ready, trust the state returned by the battery device.
Based on suggestion from joerg@.
|
|
Revision tags: yamt-x86pmap-base4 yamt-x86pmap-base3 vmlocking-base
|
| 1.2 |
07-Oct-2007 |
xtraeme |
branches: 1.2.2; 1.2.4; 1.2.6; New changes to support the new configuration file format for envstat(8) and the envsys framework:
- Modify the ENVSYS_SETDICTIONARY ioctl to support the following plist structure:
<dict> <key>foo0</key> <array> <dict> <key>index</key> <string>sensor0</string> <key>description</key> <string>cpu temp</string> ... Another property for this sensor ... </dict> ... Another dictionary for other sensor ... </array> ... Another device as above ... </dict>
Multiple devices with multiple sensors can now be specified, that means that to set the properties only one copyin(9) is needed now.
- Added the ENVSYS_REMOVEPROPS ioctl, that accepts a boolean object "envsys-remove-props" and when set to true, all properties that were set previously by ENVSYS_SETDICTIONARY will be removed. That means that you can now set multiple critical limits, descriptions and all they will be removed or changed to its default value (for rfact and description objects).
- Added the 'index' and 'allow-rfact' objects into the sensor dictionaries, for better interactivity with userland. To know the position of the sensor and to know if sensor allows to change the rfact.
- Misc cosmetic changes for consistency.
- Use a two clause license for all my code.
|
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base
|
| 1.1 |
04-Sep-2007 |
xtraeme |
branches: 1.1.2; 1.1.4; 1.1.6; - Remove ENVSYS_GSTRING and the genstr member from envsys_data_t. (at least three or four persons were against it). - Add a new sensor type: ENVSYS_BATTERY_STATE, this uses value_cur and some predefined values in a static table, like ENVSYS_DRIVE. - Move all static tables to sysmon_envsys_tables.c and use a function on it to retrieve a pointer to the struct of the specified type. - Rename the ENVSYS_FMONDRVSTCHANGED to ENVSYS_FMONSTCHANGED and make it generic for Battery state and drive sensors (this flag enables monitoring on these sensors when state has been changed). - Update sysmon_penvsys_event() to report state changes on ENVSYS_BATTERY_STATE sensors and remove other type of events, with PENVSYS_EVENT_STATE_CHANGED they are not necessary anymore.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.7 |
11-Jun-2020 |
thorpej |
Update for proplib(3) API changes.
|
| 1.6 |
08-Jun-2020 |
thorpej |
Update for proplib(3) API changes.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE rmind-smpnet-nbase netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 tls-maxphys-base matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 netbsd-5-1-RC4 matt-nb5-mips64-k15 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 uebayasi-xip-base1 netbsd-5-1-RC1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase reinoud-bufcleanup-base vmlocking2-base1 matt-armv6-nbase mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base
|
| 1.5 |
16-Nov-2007 |
xtraeme |
Extend the envsys2 API (one more time, sorry) as defined in:
http://mail-index.netbsd.org/tech-kern/2007/11/09/0001.html
sysmon_envsys_create() and sysmon_envsys_destroy() were added to create/destroy sysmon_envsys objects (and its TAILQ/LIST for sensors/events).
sysmon_envsys_sensor_attach() and sysmon_envsys_sensor_detach() were added to attach/detach sensors to a specified sysmon_envsys device.
The events framework is now per device and configurable via the ENVSYS_SETDICTIONARY ioctl or /etc/envsys.conf and envstat(8).
Update all users and documentation to reflect these changes.
|
|
Revision tags: jmcneill-base yamt-x86pmap-base4 yamt-x86pmap-base3 vmlocking-base
|
| 1.4 |
07-Oct-2007 |
xtraeme |
branches: 1.4.2; 1.4.4; New changes to support the new configuration file format for envstat(8) and the envsys framework:
- Modify the ENVSYS_SETDICTIONARY ioctl to support the following plist structure:
<dict> <key>foo0</key> <array> <dict> <key>index</key> <string>sensor0</string> <key>description</key> <string>cpu temp</string> ... Another property for this sensor ... </dict> ... Another dictionary for other sensor ... </array> ... Another device as above ... </dict>
Multiple devices with multiple sensors can now be specified, that means that to set the properties only one copyin(9) is needed now.
- Added the ENVSYS_REMOVEPROPS ioctl, that accepts a boolean object "envsys-remove-props" and when set to true, all properties that were set previously by ENVSYS_SETDICTIONARY will be removed. That means that you can now set multiple critical limits, descriptions and all they will be removed or changed to its default value (for rfact and description objects).
- Added the 'index' and 'allow-rfact' objects into the sensor dictionaries, for better interactivity with userland. To know the position of the sensor and to know if sensor allows to change the rfact.
- Misc cosmetic changes for consistency.
- Use a two clause license for all my code.
|
|
Revision tags: yamt-x86pmap-base2
|
| 1.3 |
24-Sep-2007 |
plunky |
do not use _nocopy, this string is part of another object that will be released shortly..
|
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base matt-mips64-base
|
| 1.2 |
21-Jul-2007 |
xtraeme |
branches: 1.2.4; 1.2.6; 1.2.8; 1.2.10; 1.2.12; 1.2.14; 1.2.16; Some fixes for kern/36673 by yamt@:
- sme_register_sensorname: there's no need to handle empty list case. - 'obj' argument in sme_sensor_upstring and similar functions is useless: removed the obj argument from the functions, it's handled in the function itself now. - check for more errors in sme_make_dictionary() and sysmon_envsys_createplist().
|
| 1.1 |
20-Jul-2007 |
xtraeme |
Move the functions to create/update objects in a dictionary into its own file, and DO NOT MAKE THEM inline AS IT IS WRONG.
Looks like I'm very stupid and I didn't know what inline meant. Thank you very much YAMAMOTO Takashi.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
|
| 1.48 |
31-Dec-2021 |
riastradh |
sysmon: Delete trailing whitespace. No functional change intended.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base
|
| 1.47 |
23-Nov-2014 |
ozaki-r |
Pull workqueue_destroy out of sme->sme_mtx
workqueue_destroy may sleep so we shouldn't run it with holding a mutex.
Requested by riastradh@.
|
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 tls-maxphys-base
|
| 1.46 |
14-Dec-2012 |
pgoyette |
The sensor limit values were moved out of the event structure and into the per-sensor structure a long time ago. Garbage collect the old structure member which is now unused.
|
|
Revision tags: yamt-pagecache-base7 yamt-pagecache-base6
|
| 1.45 |
06-Sep-2012 |
macallan |
branches: 1.45.2; opt_envsys.h needs #ifdef _KERNEL_OPT ( thanks martin@ )
|
| 1.44 |
06-Sep-2012 |
macallan |
defflag debug #defines
|
| 1.43 |
27-Aug-2012 |
pgoyette |
1. Enable use of FMONSTCHANGED events for INDICATOR sensors 2. Update handling of FMONCRITICAL event reporting. The state transition does not require a corresponding change in value.
With these changes, you can now have an INDICATOR sensor that reports the presence or absence of a device, and (if the device is present) separately monitor it for proper functioning.
Should address the concerns expressed recently with the commit of changes to wmi(4) BBU handling.
|
| 1.42 |
15-Jul-2012 |
pgoyette |
When unregistering a sensor device, make sure we unregister and delete all the associated events.
|
|
Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2
|
| 1.41 |
18-Feb-2012 |
matt |
Don't export sysmon_envsys_list as a common.
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-0-5-RELEASE netbsd-6-0-4-RELEASE netbsd-6-0-3-RELEASE netbsd-6-0-2-RELEASE netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-pre-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
| 1.40 |
19-Jun-2011 |
pgoyette |
branches: 1.40.2; 1.40.6; 1.40.8; Add routine to lookup description tables by description instead of by type.
|
|
Revision tags: rmind-uvmplock-nbase rmind-uvmplock-base
|
| 1.39 |
08-Jun-2011 |
pgoyette |
Factor out some duplicated code to simplify maintenance. Reduces the source file by ~100 lines, and amd64 object file shrinks by ~650 bytes.
No functional change intended.
|
|
Revision tags: cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231
|
| 1.38 |
30-Dec-2010 |
pgoyette |
branches: 1.38.6; When the user updates the sensor device's refresh timer, reset the callout immediately rather than waiting for the previous timer to expire.
|
| 1.37 |
15-Dec-2010 |
pgoyette |
Extract searching of description tables into a single function, rather than duplicating the code every time. Minor reduction in code size (about 1200 bytes on amd64), no change in functionality.
|
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1
|
| 1.36 |
10-Apr-2010 |
pgoyette |
When removing sensor properties with envstat -S, ensure that drivers which could have modified hardware state are informed so that original state can be restored.
Welcome to 5.99.27
|
| 1.35 |
01-Apr-2010 |
pgoyette |
Permit creation of an event-monitor for alarm limits even if the limits are not currently set (and, in case of battery capacity sensors, if there is no value_max). Ensure that such an event-monitor does not trigger the delivery of any actual events.
Provide a mechanism for sensors to set their limits at time other than system startup (for example, when a battery is inserted).
This allows us to boot a system with a battery missing, install the battery some time later, and automatically monitor it without requiring any user intervention to create the event-monitor. (The actual changes for battery sensors to use this new capability will come later.)
|
| 1.34 |
19-Mar-2010 |
pgoyette |
Modify previous commit. The routine to deliver events is intended to be exported to device drivers, so rename it and move the declaration to <dev/sysmon/sysmonvar.h>
|
| 1.33 |
19-Mar-2010 |
pgoyette |
Separate event delivery from polling and limit evaluation in sme_events_worker().
Provide a wrapper that can be called from sensor drivers' interrupt routines to find and deliver a specific event.
XXX Actually updating sensor drivers (and their parent devices) to XXX have interrupts is a future enhancement. This is simply an XXX enabler.
|
| 1.32 |
14-Mar-2010 |
pgoyette |
branches: 1.32.2; Retire the 'monitor' member of the envsys_data_t. It was only used in one place, and functioned as a logical OR of the ENVSYS_FMON* flag bits.
|
|
Revision tags: yamt-nfs-mp-base9
|
| 1.31 |
14-Feb-2010 |
pgoyette |
Remove the flags member of the limits structure. Its value was only meaningful for a few limited function calls; all persitent storage of limit-present flags is maintained in the edata->upropset member.
|
|
Revision tags: uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 jym-xensuspend-nbase
|
| 1.30 |
13-Jun-2009 |
pgoyette |
branches: 1.30.2; Add capability to send sensor limit values to the driver so they can be programmed into device registers. This way we can let the hardware help us out instead of having to always compare the value against each limit. (Driver updates for some sensors to take advantage of this capability will be forthcoming.)
|
| 1.29 |
08-Jun-2009 |
pgoyette |
General clean-up and some restructuring of event handling. This is a precursor to letting sensor drivers actually exchange limits/thresholds with user-land.
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base mjf-devfs2-base
|
| 1.28 |
22-Aug-2008 |
pgoyette |
branches: 1.28.8; 1. provide for warning-min and warning-max alarm levels in addition to critical-min and critical-max; also, a battery warning-capacity is added in addition to a critical-capacity.
2. usr.sbin/envstat is modified to introduce a -W command line switch to display the warning-* values instead of the critical-* values, and envstat(8) and envsys.conf(5) man pages are updated appropriately.
3. Treat user-defined limits as a single continuum and generate a single event regardless of how many boundaries a change in sensor value crosses; ditto for driver-defined limits.
Fixes my PR/39021 Fixes my PR/39022
OK'd by christos@ bouyer@ cube@
|
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base
|
| 1.27 |
01-Apr-2008 |
xtraeme |
branches: 1.27.4; 1.27.6; 1.27.10; Introduce per-device locking/synchronization and maintain only a global mutex for the linked list of devices and the global proplib dictionary.
This has improved locking contention a lot when multiple devices with multiple monitoring events are running:
New:
0.30 35 0.33 sme_global_mtx sysmonioctl_envsys+28b 0.10 10 0.11 00000000cd97feac sysmon_envsys_acquire+4c 0.08 6 0.09 00000000cd97feac sme_update_dictionary+24f 0.01 4 0.01 00000000cd97feac sme_events_worker+2f 0.01 10 0.01 00000000cd97fe2c sysmon_envsys_acquire+4c 0.00 1 0.00 00000000cd97fe2c sysmon_envsys_release+3b 28.38 94 9.16 sme_global_mtx sysmonioctl_envsys+28b 4.54 74 1.47 00000000cd97fe2c sysmon_envsys_acquire+4c 0.06 3 0.02 00000000cd97fe2c sysmon_envsys_release+3b 0.03 1 0.01 00000000cd97fe2c sme_events_worker+2f 1.40 19 0.45 00000000cd97bee4 sysmon_envsys_acquire+4c
Old:
4.25 313 4.74 sme_mtx <all> 3.12 185 3.49 sme_mtx sme_events_worker+21 1.12 128 1.25 sme_mtx sysmonioctl_envsys+29b 34.75 1423 59.52 sme_mtx <all> 22.08 477 37.82 sme_mtx sysmonioctl_envsys+29b 12.67 946 21.70 sme_mtx sme_events_worker+21
|
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase reinoud-bufcleanup-base vmlocking2-base1 matt-armv6-nbase mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base
|
| 1.26 |
20-Nov-2007 |
xtraeme |
branches: 1.26.14; After comments from Andrew Doran:
- The mutex for the callout handler must run at IPL_SOFTCLOCK. - Just stop the callout in sysmon_envsys_unregister() and don't wait for the callout to finish.
|
| 1.25 |
16-Nov-2007 |
xtraeme |
Remove duplicate sme_events_list.
|
| 1.24 |
16-Nov-2007 |
xtraeme |
Extend the envsys2 API (one more time, sorry) as defined in:
http://mail-index.netbsd.org/tech-kern/2007/11/09/0001.html
sysmon_envsys_create() and sysmon_envsys_destroy() were added to create/destroy sysmon_envsys objects (and its TAILQ/LIST for sensors/events).
sysmon_envsys_sensor_attach() and sysmon_envsys_sensor_detach() were added to attach/detach sensors to a specified sysmon_envsys device.
The events framework is now per device and configurable via the ENVSYS_SETDICTIONARY ioctl or /etc/envsys.conf and envstat(8).
Update all users and documentation to reflect these changes.
|
|
Revision tags: jmcneill-base
|
| 1.23 |
03-Nov-2007 |
xtraeme |
branches: 1.23.2; - Rename ENVSYS_BATTERY_STATE units to ENVSYS_BATTERY_CAPACITY and introduce ENVSYS_BATTERY_CHARGE, which is the same than an Indicator and it's used to know if the battery is currently charging or discharging.
- Require two sensors at least for SME_CLASS_BATTERY to make the low-power condition work: a ENVSYS_BATTERY_CAPACITY plus ENVSYS_BATTERY_CHARGE.
- Simplify sme_event_check_lowpower() and make it check the required sensors in the SME_CLASS_ACADAPTER and SME_CLASS_BATTERY classes. If the acadapter is not ready, trust the state returned by the battery device.
Based on suggestion from joerg@.
|
| 1.22 |
23-Oct-2007 |
xtraeme |
Use a flag for see_flags to know when the sensor has been refreshed rather than using a boolean. Suggested by rmind.
|
| 1.21 |
20-Oct-2007 |
xtraeme |
performance fix: in the workqueue handler only refresh the sensor once, not multiple times for the same sensor and clear its state after all events were processed.
|
|
Revision tags: yamt-x86pmap-base4 yamt-x86pmap-base3 vmlocking-base
|
| 1.20 |
07-Oct-2007 |
xtraeme |
branches: 1.20.2; New changes to support the new configuration file format for envstat(8) and the envsys framework:
- Modify the ENVSYS_SETDICTIONARY ioctl to support the following plist structure:
<dict> <key>foo0</key> <array> <dict> <key>index</key> <string>sensor0</string> <key>description</key> <string>cpu temp</string> ... Another property for this sensor ... </dict> ... Another dictionary for other sensor ... </array> ... Another device as above ... </dict>
Multiple devices with multiple sensors can now be specified, that means that to set the properties only one copyin(9) is needed now.
- Added the ENVSYS_REMOVEPROPS ioctl, that accepts a boolean object "envsys-remove-props" and when set to true, all properties that were set previously by ENVSYS_SETDICTIONARY will be removed. That means that you can now set multiple critical limits, descriptions and all they will be removed or changed to its default value (for rfact and description objects).
- Added the 'index' and 'allow-rfact' objects into the sensor dictionaries, for better interactivity with userland. To know the position of the sensor and to know if sensor allows to change the rfact.
- Misc cosmetic changes for consistency.
- Use a two clause license for all my code.
|
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base
|
| 1.19 |
08-Sep-2007 |
xtraeme |
branches: 1.19.2; Use only one single condvar(9) for devices and events, they are protected by the same mutex (sme_mtx) and there's no point in using two of them.
Also add a comment mentioning some locking notes.
Reviewed and ok by rmind.
|
| 1.18 |
08-Sep-2007 |
xtraeme |
- Use only one global mutex for all tasks with devices & events. - sysmon_envsys_register: use a SLIST to maintain allocated sme_event_drv_t structs for later use in sysmon_task_queue_sched(). This avoids a locking error acquiring/dropping the mutex multiple times.
Suggested by rmind.
|
| 1.17 |
04-Sep-2007 |
xtraeme |
- Remove ENVSYS_GSTRING and the genstr member from envsys_data_t. (at least three or four persons were against it). - Add a new sensor type: ENVSYS_BATTERY_STATE, this uses value_cur and some predefined values in a static table, like ENVSYS_DRIVE. - Move all static tables to sysmon_envsys_tables.c and use a function on it to retrieve a pointer to the struct of the specified type. - Rename the ENVSYS_FMONDRVSTCHANGED to ENVSYS_FMONSTCHANGED and make it generic for Battery state and drive sensors (this flag enables monitoring on these sensors when state has been changed). - Update sysmon_penvsys_event() to report state changes on ENVSYS_BATTERY_STATE sensors and remove other type of events, with PENVSYS_EVENT_STATE_CHANGED they are not necessary anymore.
|
| 1.16 |
31-Aug-2007 |
xtraeme |
branches: 1.16.2; - sme_unregister_all: there's no need to use a struct sysmon_envsys as argument, just pass sme->sme_name to it. - sysmon_envsys_register: drop the array in all cases, not just when there's an error. The reference is stored in the dictionary anyway... - Update some comments.
|
| 1.15 |
31-Aug-2007 |
xtraeme |
Merge sme_event_add() into sme_event_register()... there's no need to have two different functions for this.
|
| 1.14 |
30-Aug-2007 |
xtraeme |
More misc changes for sysmon_envsys(9):
- Add the SLIST for sensor descriptions and sme_uniqsensors into the struct sysmon_envsys (it's per device now). - Use only one common struct with three members for the static tables (there's no need to have different structs just for them). - While initializing/destroying the events framework, use the strategy specified by Andrew Doran in: http://mail-index.netbsd.org/tech-kern/2007/06/21/0025.html).
|
| 1.13 |
30-Aug-2007 |
xtraeme |
Some changes to improve locking on sysmon_envsys(9):
- Remove sme_mtx, a global lock (sme_list_mtx) is used to access to the sysmon envsys device. - Allocate memory with KM_NOSLEEP rather than KM_SLEEP if there's a mutex held, to avoid sleeping. - Remove sysmon_envsys_createplist() and add the logic into sysmon_envsys_register(). - sysmon_envsys_register: allocate the array and dictionaries required in advance for a device before the locking and adding the objects into the array happens. - Rename sme_make_dictionary() to sme_add_sensor_dictionary() and pass to it the dictionary on which the objects will be stored for a sensor. - Improve locking here and there.
Thanks to Mindaugas Rasiukevicius and Andrew Doran for comments.
|
|
Revision tags: matt-mips64-base
|
| 1.12 |
23-Jul-2007 |
xtraeme |
branches: 1.12.4; 1.12.6; 1.12.8; - ENVSYS_SETDICTIONARY: use sysmon_envsys_release() if there's an error. - sme_events_worker: use sme_list_mtx when accessing to the sysmon_envsys linked list. - Improve the comments in sysmon_envsysvar.h about the mutexes and condvar.
|
| 1.11 |
22-Jul-2007 |
xtraeme |
Fix the last point reported by yamt in PR kern/36673:
- There must be three mandatory objects in a sensor to be valid and be enabled on its dictionary: units, state and desc. If any of these objects fails for some reason, its dictionary won't created in the array and sensor will be marked with ENVSYS_FNOTVALID in edata->flags.
That means there won't never be a partial dictionary.
- Mark all invalid sensors and sensors with duplicate description with ENVSYS_FNOTVALID and remove ENVSYS_FDUPDESC. The former is the generic way to say that a sensor does not obey the rules and must be not created.
- sysmon_envsys_createplist: if the array does not contain any object, release the array and return the error.
And with all that stuff I can go to holidays and be happy.
|
| 1.10 |
21-Jul-2007 |
xtraeme |
- Add sme_events_destroy() to stop/destroy the callout and workqueue if there are no more events. - Add sme_event_unregister_all() to remove all events associated with a device and use it in sysmon_envsys_unregister() to fix a "use-after-free". - Check return error of sme_sensor_upfoo() in sme_make_dictionary() and return it rather than 0 all the time. - Add more KASSERTS.
|
| 1.9 |
21-Jul-2007 |
xtraeme |
Some fixes for kern/36673 by yamt@:
- sme_register_sensorname: there's no need to handle empty list case. - 'obj' argument in sme_sensor_upstring and similar functions is useless: removed the obj argument from the functions, it's handled in the function itself now. - check for more errors in sme_make_dictionary() and sysmon_envsys_createplist().
|
| 1.8 |
20-Jul-2007 |
xtraeme |
Move the functions to create/update objects in a dictionary into its own file, and DO NOT MAKE THEM inline AS IT IS WRONG.
Looks like I'm very stupid and I didn't know what inline meant. Thank you very much YAMAMOTO Takashi.
|
| 1.7 |
20-Jul-2007 |
xtraeme |
Replace the macros to create/update objects in dictionary with three inline functions, suggested by yamt@.
This also gets rid of a few gotos.
|
| 1.6 |
19-Jul-2007 |
xtraeme |
Apply some indent to recent changes.
|
| 1.5 |
18-Jul-2007 |
xtraeme |
- More changes related to locking. - Add a condvar(9) to protect deletions on the list if there's an event in the worker thread.
|
| 1.4 |
18-Jul-2007 |
xtraeme |
- Cleanup sme_event_t: just use the struct work without any union and remove the TAILQ. - If prop_dictionary_set_* fails, do not release the object. The function calling it will release the object. Pointed out by yamt@.
|
|
Revision tags: nick-csl-alignment-base mjf-ufs-trans-base
|
| 1.3 |
05-Jul-2007 |
xtraeme |
branches: 1.3.2; 1.3.4; 1.3.6; SENSOR_UPTYPE: accept values of 0 for any object, so that the value is showed in its dictionary.
|
| 1.2 |
03-Jul-2007 |
xtraeme |
Make the refresh value of the callout function (that monitors the sensors) configurable via sysctl. By default it uses 10 seconds, but it can be changed between 1 second and 5 minutes.
$ sysctl -d kern.envsys kern.envsys.refresh_value: wait time in seconds to refresh sensors being monitored $
|
| 1.1 |
01-Jul-2007 |
xtraeme |
Imported envsys 2, a brief description of the new features: (Part 1: API)
* Support for detachable sensors. * Cleaned up the API for simplicity and efficiency. * Ability to send capacity/critical/warning events to powerd(8). * Adapted all the code to the new locking order. * Compatibility with the old envsys API: the ENVSYS_GTREINFO and ENVSYS_GTREDATA ioctl(2)s are supported. * Added support for a 'dictionary based communication channel' between sysmon_power(9) and powerd(8), that means there is no 32 bytes event size restriction anymore. * Binary compatibility with old envstat(8) and powerd(8) via COMPAT_40. * All drivers with the n^2 gtredata bug were fixed, PR kern/36226.
Tested by:
blymn: smsc(4). bouyer: ipmi(4), mfi(4). kefren: ug(4). njoly: viaenv(4), adt7463.c. riz: owtemp(4). xtraeme: acpiacad(4), acpibat(4), acpitz(4), aiboost(4), it(4), lm(4).
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
|
| 1.69 |
31-Dec-2021 |
riastradh |
sysmon: Delete trailing whitespace. No functional change intended.
|
| 1.68 |
26-Sep-2021 |
thorpej |
- Call selnotify() with sysmon_power_event_queue_mtx held, passing the correct hints. Adjust filt_sysmon_power_read() accordingly (assert that the mutex is held iff NOTE_SUBMIT). - Mark sysmon_power_read_filtops as MPSAFE. - Use seltrue_filtops rather than rolling our own with filt_seltrue.
|
| 1.67 |
26-Sep-2021 |
thorpej |
Change the kqueue filterops::f_isfd field to filterops::f_flags, and define a flag FILTEROP_ISFD that has the meaning of the prior f_isfd. Field and flag name aligned with OpenBSD.
This does not constitute a functional or ABI change, as the field location and size, and the value placed in that field, are the same as the previous code, but we're bumping __NetBSD_Version__ so 3rd-party module source code can adapt, as needed.
NetBSD 9.99.89
|
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.66 |
18-Dec-2020 |
thorpej |
Use sel{remove,record}_knote().
|
| 1.65 |
30-Oct-2020 |
christos |
branches: 1.65.2; fix indentation
|
| 1.64 |
11-Jun-2020 |
thorpej |
Update for proplib(3) API changes.
|
| 1.63 |
08-Jun-2020 |
thorpej |
Update for proplib(3) API changes.
|
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base
|
| 1.62 |
01-Jan-2020 |
thorpej |
- Introduce a new global kernel variable "shutting_down" to indicate that the system is shutting down or rebooting. - Set this global in a new function called kern_reboot(), which is currently just a basic wrapper around cpu_reboot(). - Call kern_reboot() instead of cpu_reboot() almost everywhere; a few places remain where it's still called directly, but those are in early pre-main() machdep locations.
Eventually, all of the various cpu_reboot() functions should be re-factored and common functionality moved to kern_reboot(), but that's for another day.
|
|
Revision tags: phil-wifi-20191119
|
| 1.61 |
20-Aug-2019 |
maxv |
Fix info leak, not all of 'pev' is initialized.
|
|
Revision tags: netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
| 1.60 |
01-Mar-2019 |
pgoyette |
branches: 1.60.4; Rename the MODULE_*_HOOK() macros to MODULE_HOOK_*() as briefly discussed on irc.
NFCI intended.
Ride the earlier kernel bump - it;s getting crowded.
|
| 1.59 |
27-Jan-2019 |
pgoyette |
Merge the [pgoyette-compat] branch
|
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202
|
| 1.58 |
25-Oct-2017 |
maya |
branches: 1.58.2; 1.58.4; Use C99 initializer for filterops
Mostly done with spatch with touchups for indentation
@@ expression a; identifier b,c,d; identifier p; @@ const struct filterops p = - { a, b, c, d + { + .f_isfd = a, + .f_attach = b, + .f_detach = c, + .f_event = d, };
|
|
Revision tags: netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
| 1.57 |
14-Dec-2015 |
pgoyette |
branches: 1.57.10; sysmon's components need to be MODULE_CLASS_DRIVER so they will get initialized before we configure/initialize any devices that interact with them.
Thanks, marty!
|
|
Revision tags: nick-nhusb-base-20150921
|
| 1.56 |
24-Aug-2015 |
pooka |
to garnish, dust with _KERNEL_OPT
|
|
Revision tags: nick-nhusb-base-20150606
|
| 1.55 |
25-Apr-2015 |
pgoyette |
Handle early initialization requirements - thanks martin@ and others
|
| 1.54 |
23-Apr-2015 |
pgoyette |
Modularize sysmon and its components
|
| 1.53 |
13-Apr-2015 |
riastradh |
Convert sys/dev to use <sys/rndsource.h>.
|
|
Revision tags: nick-nhusb-base-20150406
|
| 1.52 |
04-Apr-2015 |
christos |
another missing free dict.
|
| 1.51 |
04-Apr-2015 |
christos |
don't forget to free the dictionary.
|
| 1.50 |
04-Apr-2015 |
riastradh |
Free ped if we can't hand it to the power daemon.
Found by Brainy, reported by maxv@.
|
| 1.49 |
06-Jan-2015 |
bouyer |
As proposed on tech-net@, introduce a new switch type, PSWITCH_TYPE_RADIO, to be used to report to userland hardware radio switch changes. powerd(8) will call a "radio_button" script to handle the event. This script can e.g. start or stop wpa_supplicant. Update wpi(4) to report PSWITCH_TYPE_RADIO events to sysmon.
|
|
Revision tags: nick-nhusb-base
|
| 1.48 |
21-Nov-2014 |
joerg |
branches: 1.48.2; Explicitly compare to NULL to show clang that the bool conversion is intentional, even if it is always true in case of the arrays.
|
|
Revision tags: netbsd-7-base tls-maxphys-base
|
| 1.47 |
10-Aug-2014 |
tls |
branches: 1.47.2; Merge tls-earlyentropy branch into HEAD.
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-base9 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE rmind-smpnet-nbase netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
| 1.46 |
02-Feb-2012 |
tls |
branches: 1.46.6; 1.46.20; Entropy-pool implementation move and cleanup.
1) Move core entropy-pool code and source/sink/sample management code to sys/kern from sys/dev.
2) Remove use of NRND as test for presence of entropy-pool code throughout source tree.
3) Remove use of RND_ENABLED in device drivers as microoptimization to avoid expensive operations on disabled entropy sources; make the rnd_add calls do this directly so all callers benefit.
4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might have lead to slight entropy overestimation for some sources.
5) Add new source types for environmental sensors, power sensors, VM system events, and skew between clocks, with a sample implementation for each.
ok releng to go in before the branch due to the difficulty of later pullup (widespread #ifdef removal and moved files). Tested with release builds on amd64 and evbarm and live testing on amd64.
|
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
| 1.45 |
22-Jul-2011 |
jakllsch |
branches: 1.45.2; 1.45.6; Ensure events come off the list in the same order they went on. Hotkey press/release events now happen in the correct order.
|
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 rmind-uvmplock-base
|
| 1.44 |
11-Mar-2010 |
jruoho |
Fix comment typos (mangement, managmenet).
|
|
Revision tags: yamt-nfs-mp-base9
|
| 1.43 |
15-Feb-2010 |
pgoyette |
For symmetry, allow warning and critical upper-limits for capacity sensors.
|
|
Revision tags: uebayasi-xip-base matt-premerge-20091211
|
| 1.42 |
06-Nov-2009 |
jakllsch |
branches: 1.42.2; Fix POWER_IOC_GET_TYPE.
The longest string in use with this seems to have been "acpi", so size_t covered that, but on 32-bit ports omited the NUL.
|
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 jym-xensuspend-nbase
|
| 1.41 |
08-Jun-2009 |
pgoyette |
General clean-up and some restructuring of event handling. This is a precursor to letting sensor drivers actually exchange limits/thresholds with user-land.
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base mjf-devfs2-base
|
| 1.40 |
05-Sep-2008 |
gmcgarry |
branches: 1.40.8; Rearrange sysmonread_power() to have a single exit point, which simplifies the locking and fixes -Wunreachable-code warning.
|
| 1.39 |
22-Aug-2008 |
pgoyette |
1. provide for warning-min and warning-max alarm levels in addition to critical-min and critical-max; also, a battery warning-capacity is added in addition to a critical-capacity.
2. usr.sbin/envstat is modified to introduce a -W command line switch to display the warning-* values instead of the critical-* values, and envstat(8) and envsys.conf(5) man pages are updated appropriately.
3. Treat user-defined limits as a single continuum and generate a single event regardless of how many boundaries a change in sensor value crosses; ditto for driver-defined limits.
Fixes my PR/39021 Fixes my PR/39022
OK'd by christos@ bouyer@ cube@
|
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
| 1.38 |
10-May-2008 |
jmcneill |
branches: 1.38.4; Use aprint when reporting AC adapter status.
|
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
| 1.37 |
01-Mar-2008 |
rmind |
branches: 1.37.2; 1.37.4; 1.37.6; Welcome to 4.99.55:
- Add a lot of missing selinit() and seldestroy() calls.
- Merge selwakeup() and selnotify() calls into a single selnotify().
- Add an additional 'events' argument to selnotify() call. It will indicate which event (POLL_IN, POLL_OUT, etc) happen. If unknown, zero may be used.
Note: please pass appropriate value of 'events' where possible. Proposed on: <tech-kern>
|
| 1.36 |
29-Feb-2008 |
xtraeme |
Added a missing break that was bothering me.
|
|
Revision tags: nick-net80211-sync-base vmlocking2-base3 bouyer-xeni386-nbase bouyer-xeni386-base mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
| 1.35 |
22-Dec-2007 |
jmcneill |
branches: 1.35.2; 1.35.6; Handle hotkey events using /etc/powerd/scripts/hotkey_button, ok xtraeme
|
|
Revision tags: yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2
|
| 1.34 |
09-Dec-2007 |
martin |
branches: 1.34.2; Add missing <sys/device.h> include.
|
| 1.33 |
09-Dec-2007 |
jmcneill |
Merge jmcneill-pm branch.
|
|
Revision tags: yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase jmcneill-pm-base reinoud-bufcleanup-base
|
| 1.32 |
05-Dec-2007 |
pooka |
branches: 1.32.2; Do not "return 1" from kqfilter for errors. That value is passed directly to the userland caller and results in a mysterious EPERM. Instead, return EINVAL or something else sensible depending on the case.
|
| 1.31 |
05-Dec-2007 |
ad |
Match the docs: MUTEX_DRIVER/SPIN are now only for porting code written for Solaris.
|
|
Revision tags: vmlocking2-base1 bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base
|
| 1.30 |
10-Nov-2007 |
xtraeme |
branches: 1.30.2; Add another flag that is set only when the event was enqueued (and its dictionary created) successfully and use it in the POWER_EVENT_RECVDICT ioctl to check if the dictionary is ready before calling prop_dictionary_copyout_ioctl().
This fixes a rare condition when too many events are enqueued and there wasn't time to create the dictionary, so prop_dictionary_copyout_ioctl() fails with a NULL pointer dereference.
|
|
Revision tags: jmcneill-base yamt-x86pmap-base4 yamt-x86pmap-base3 vmlocking-base
|
| 1.29 |
10-Oct-2007 |
xtraeme |
branches: 1.29.2; 1.29.4; Fix the problems described in: http://mail-index.netbsd.org/current-users/2007/07/16/0012.html
- Introduce sme_class into the sysmon_envsys struct to specify a class; currently there are two classes: SME_CLASS_ACADAPTER and SME_CLASS_BATTERY.
- Add a new envsys event: PENVSYS_EVENT_LOW_POWER that is reached when all SME_CLASS_BATTERY devices are in CRITICAL/LOW state and there's not any SME_CLASS_ACADAPTER connected.
- Add the 'low-power' event into the sensor_battery script that will shutdown the system gracefully via 'shutdown -p'. If powerd(8) is not running, cpu_reboot(9) with RB_POWERDOWN is used.
- Make acpiacad(4) a SME_CLASS_ACADAPTER device and acpibat(4) a SME_CLASS_BATTERY device.
Update the documentation accordingly to these changes.
|
| 1.28 |
06-Oct-2007 |
xtraeme |
Forgot to change the kmem_zalloc(9) calls to use KM_NOSLEEP in previous, as was suggested by rmind.
|
| 1.27 |
06-Oct-2007 |
xtraeme |
Fix a bug that happened when two or more events were received almost at the same time and the code accessed to an unexistent dictionary:
- Rather than using a global dictionary, use a singly linked list to access to the dictionaries, one per event. - When the dictionary has been sent to userland, destroy it and remove it from the list.
With that change it is possible to receive multiple events at the same time without panics; again thanks to rmind@ for comments and help with locking.
Reviewed and ok by rmind.
|
| 1.26 |
06-Oct-2007 |
xtraeme |
- sysmon_power_daemon_task: check if pev is valid before use. - Add two more KASSERTS in strategic places.
|
|
Revision tags: yamt-x86pmap-base2
|
| 1.25 |
25-Sep-2007 |
xtraeme |
- Don't use _nocopy in prop_dictionary_set_cstring, the string is part of another object that will be released shortly. - Fix a memleak: add sysmon_power_destroy_dictionary() and remove all objects that are currently in the dictionary and finally release the dictionary.
|
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base
|
| 1.24 |
04-Sep-2007 |
xtraeme |
branches: 1.24.2; - Remove ENVSYS_GSTRING and the genstr member from envsys_data_t. (at least three or four persons were against it). - Add a new sensor type: ENVSYS_BATTERY_STATE, this uses value_cur and some predefined values in a static table, like ENVSYS_DRIVE. - Move all static tables to sysmon_envsys_tables.c and use a function on it to retrieve a pointer to the struct of the specified type. - Rename the ENVSYS_FMONDRVSTCHANGED to ENVSYS_FMONSTCHANGED and make it generic for Battery state and drive sensors (this flag enables monitoring on these sensors when state has been changed). - Update sysmon_penvsys_event() to report state changes on ENVSYS_BATTERY_STATE sensors and remove other type of events, with PENVSYS_EVENT_STATE_CHANGED they are not necessary anymore.
|
| 1.23 |
03-Sep-2007 |
xtraeme |
Add some KASSERT(mutex_owned(&foo_lock)).
|
| 1.22 |
17-Aug-2007 |
pavel |
branches: 1.22.2; Add missing #include <prop/proplib.h>, should fix build failure reported by Juergen Hannken-Illjes. The code apparently relied on proplib.h being included indirectly through proc.h -> event.h -> ioctl.h -> dkio.h.
|
| 1.21 |
07-Aug-2007 |
xtraeme |
The acpilid(4) powerd script is "lid_switch" not "lid_button"... found by jmcneill@.
|
|
Revision tags: matt-mips64-base nick-csl-alignment-base
|
| 1.20 |
15-Jul-2007 |
ad |
branches: 1.20.2; 1.20.6; The power daemon is now an LWP.
|
|
Revision tags: mjf-ufs-trans-base
|
| 1.19 |
02-Jul-2007 |
xtraeme |
Add PENVSYS_TYPE_INDICATOR to handle events on Indicator sensors.
ipmi(4) uses this for the Intrussion and Power Supply sensors.
|
| 1.18 |
01-Jul-2007 |
xtraeme |
Imported envsys 2, a brief description of the new features: (Part 1: API)
* Support for detachable sensors. * Cleaned up the API for simplicity and efficiency. * Ability to send capacity/critical/warning events to powerd(8). * Adapted all the code to the new locking order. * Compatibility with the old envsys API: the ENVSYS_GTREINFO and ENVSYS_GTREDATA ioctl(2)s are supported. * Added support for a 'dictionary based communication channel' between sysmon_power(9) and powerd(8), that means there is no 32 bytes event size restriction anymore. * Binary compatibility with old envstat(8) and powerd(8) via COMPAT_40. * All drivers with the n^2 gtredata bug were fixed, PR kern/36226.
Tested by:
blymn: smsc(4). bouyer: ipmi(4), mfi(4). kefren: ug(4). njoly: viaenv(4), adt7463.c. riz: owtemp(4). xtraeme: acpiacad(4), acpibat(4), acpitz(4), aiboost(4), it(4), lm(4).
|
|
Revision tags: yamt-idlelwp-base8 thorpej-atomic-base
|
| 1.17 |
04-Mar-2007 |
christos |
branches: 1.17.2; 1.17.4; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
|
Revision tags: ad-audiomp-base
|
| 1.16 |
19-Feb-2007 |
ad |
Back out previous for now. There isn't currently an easy way to set up shared state before these get attached or used.
From xtraeme@.
|
| 1.15 |
18-Feb-2007 |
xtraeme |
* Replace simple_locks and exclusive locks with adaptive mutexes. * Replace ltsleep/wakeup pairs with condition variables (cv_init/cv_wait/cv_broadcast).
Reviewed by ad@.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
| 1.14 |
16-Nov-2006 |
christos |
branches: 1.14.4; __unused removal on arguments; approved by core.
|
|
Revision tags: yamt-splraiseipl-base2
|
| 1.13 |
12-Oct-2006 |
christos |
- sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base chap-midi-base rpaulo-netinet-merge-pcb-base
|
| 1.12 |
08-Jun-2006 |
freza |
branches: 1.12.6; 1.12.8; Advance queue indices properly instead of silently rewriting sysmon_power_event_queue[0] all the time.
OK by thorpej@
|
|
Revision tags: simonb-timcounters-final yamt-pdpolicy-base5 yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base
|
| 1.11 |
11-Dec-2005 |
christos |
branches: 1.11.4; 1.11.8; 1.11.14; merge ktrace-lwp.
|
|
Revision tags: netbsd-3-0-3-RELEASE netbsd-3-0-2-RELEASE netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base ktrace-lwp-base
|
| 1.10 |
22-May-2004 |
cube |
branches: 1.10.10; 1.10.12; According to acpi_acad.c and powerd(8), PRESSED event for AC adapter device means it gets connected. It feels odd to be told the AC adapter went offline right after plugging it in.
|
| 1.9 |
03-May-2004 |
kochi |
Add AC adapter event type.
|
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
| 1.8 |
14-Jul-2003 |
lukem |
branches: 1.8.4; add missing __KERNEL_RCSID()
|
| 1.7 |
29-Jun-2003 |
fvdl |
branches: 1.7.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
| 1.6 |
28-Jun-2003 |
darrenr |
Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
| 1.5 |
19-May-2003 |
kochi |
Fix a locking problem, which closes kern/21607. ok'd by Jason Thorpe.
|
| 1.4 |
11-May-2003 |
fvdl |
Fix format / number of argument mismatch for a printf.
|
| 1.3 |
20-Apr-2003 |
thorpej |
Add a "reset button" type.
|
| 1.2 |
18-Apr-2003 |
thorpej |
* Add a generic power management event API, defined in <sys/power.h>. Right now, only power switch state change events are supported. This is a work-in-progress. * Add support to sysmon for delivering power mangement events to userland. Add poll, kqueue, and read entry points to sysmon. * Adapt ACPI to use the new generic <sys/power.h> event types.
This provides the kernel support for a forthcoming powerd(8) which can do nice things like gracefully shut the system down when an ACPI power button is pressed.
|
| 1.1 |
17-Apr-2003 |
thorpej |
Start at a power management framework for sysmon. Right now we just provide some VERY basic support for power/sleep buttons and lid switches; if someone presses the power button, shut down the system semi-gracefully.
Eventually, we will send events for all types of button/lid events down to a userland power management daemon, which will be able to define a separate policy for each button/switch.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
|
| 1.23 |
31-Dec-2021 |
riastradh |
sysmon(9): Fix mistake in sysmon_task_queue_barrier.
Need to allocate the task structure with malloc(9), not on the stack; the task thread will free it with free(9). Forgot to squash this into previous commit.
|
| 1.22 |
31-Dec-2021 |
riastradh |
sysmon(9): New sysmon_task_queue_barrier(pri) function.
This waits for the completion of all tasks at priority pri or lower that are currently queued at the time of the call.
|
| 1.21 |
31-Dec-2021 |
riastradh |
sysmon: Delete trailing whitespace. No functional change intended.
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
| 1.20 |
08-Feb-2018 |
dholland |
Typos.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
|
| 1.19 |
28-Apr-2015 |
martin |
sysmon_task_queue_sched needs to RUN_ONCE(tq_preinit) as well, it can be called from sysmon_envsys_register() early.
|
| 1.18 |
27-Apr-2015 |
pgoyette |
Replace a home-grown run-once implementation with the real RUN_ONCE()
|
| 1.17 |
24-Apr-2015 |
pgoyette |
This really does need to return an error code, so change the sysmon_task_queue_fini() function to have a non-void type.
|
| 1.16 |
24-Apr-2015 |
agc |
It's a function returning void; don't return an error code.
|
| 1.15 |
23-Apr-2015 |
pgoyette |
Modularize sysmon and its components
|
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150406 nick-nhusb-base netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE rmind-smpnet-nbase netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 tls-maxphys-base matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 netbsd-5-1-RC4 matt-nb5-mips64-k15 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 uebayasi-xip-base1 netbsd-5-1-RC1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base mjf-devfs2-base
|
| 1.14 |
05-Sep-2008 |
gmcgarry |
branches: 1.14.38; 1.14.58; Rearrange code in the sysmon queue execution thread to simplify locking logic. Removes unreachable code warning.
|
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base
|
| 1.13 |
06-Apr-2008 |
xtraeme |
branches: 1.13.4; 1.13.6; 1.13.10; Pass KTHREAD_MPSAFE to kthread_create(). I've been testing this for some weeks in both UP and SMP without any issue so far.
|
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
| 1.12 |
04-Jan-2008 |
ad |
branches: 1.12.6; Start detangling lock.h from intr.h. This is likely to cause short term breakage, but the mess of dependencies has been regularly breaking the build recently anyhow.
|
|
Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase jmcneill-pm-base reinoud-bufcleanup-base
|
| 1.11 |
05-Dec-2007 |
ad |
branches: 1.11.4; Match the docs: MUTEX_DRIVER/SPIN are now only for porting code written for Solaris.
|
|
Revision tags: nick-csl-alignment-base5 matt-armv6-prevmlocking vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base vmlocking-base
|
| 1.10 |
21-Jul-2007 |
xtraeme |
branches: 1.10.4; 1.10.6; 1.10.12; 1.10.14; 1.10.16; Convert sysmon_taskqueue to use mutex(9) and condvar(9) and initialize them in init_main.c via sysmon_task_queue_preinit().
Reviewed and ok by ad@.
|
|
Revision tags: nick-csl-alignment-base mjf-ufs-trans-base
|
| 1.9 |
09-Jul-2007 |
ad |
branches: 1.9.2; Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes - select()/poll() improvements - miscellaneous MT safety improvements
|
| 1.8 |
27-Jun-2007 |
xtraeme |
Use aprint_debug rather than printf for the annoying message "WARNING: Callback scheduled before sysmon task queue thread present.".
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
| 1.7 |
16-Nov-2006 |
christos |
branches: 1.7.8; 1.7.10; __unused removal on arguments; approved by core.
|
|
Revision tags: yamt-splraiseipl-base2
|
| 1.6 |
12-Oct-2006 |
christos |
- sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| 1.5 |
11-Dec-2005 |
christos |
branches: 1.5.20; 1.5.22; merge ktrace-lwp.
|
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
| 1.4 |
29-May-2005 |
christos |
branches: 1.4.2; - add const - avoid variable shadowing.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
| 1.3 |
06-Sep-2003 |
christos |
Rename the thread command name so that it fits on top's display.
|
| 1.2 |
14-Jul-2003 |
lukem |
add missing __KERNEL_RCSID()
|
| 1.1 |
20-Apr-2003 |
thorpej |
branches: 1.1.2; Generic "task queue" for sysmon back-ends. This provides a thread context for callbacks that require it in order to handle sysmon-related events.
Adapted from the "OsdSchedule" bits of the ACPI code.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
|
| 1.5 |
31-Dec-2021 |
riastradh |
sysmon(9): New sysmon_task_queue_barrier(pri) function.
This waits for the completion of all tasks at priority pri or lower that are currently queued at the time of the call.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
|
| 1.4 |
27-Apr-2015 |
pgoyette |
Replace a home-grown run-once implementation with the real RUN_ONCE()
|
| 1.3 |
24-Apr-2015 |
pgoyette |
This really does need to return an error code, so change the sysmon_task_queue_fini() function to have a non-void type.
|
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150406 nick-nhusb-base netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE rmind-smpnet-nbase netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 tls-maxphys-base matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 netbsd-5-1-RC4 matt-nb5-mips64-k15 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 uebayasi-xip-base1 netbsd-5-1-RC1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 nick-csl-alignment-base5 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 matt-armv6-prevmlocking vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-armv6-base matt-mips64-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base vmlocking-base
|
| 1.2 |
21-Jul-2007 |
xtraeme |
branches: 1.2.38; 1.2.76; 1.2.96; Convert sysmon_taskqueue to use mutex(9) and condvar(9) and initialize them in init_main.c via sysmon_task_queue_preinit().
Reviewed and ok by ad@.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 nick-csl-alignment-base netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base mjf-ufs-trans-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE yamt-splraiseipl-base2 netbsd-3-1-RC4 yamt-splraiseipl-base netbsd-3-1-RC3 yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 netbsd-3-1-RC2 netbsd-3-1-RC1 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase netbsd-3-0-1-RELEASE gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 netbsd-2-0-3-RELEASE yamt-vop-base2 thorpej-vnode-attr-base netbsd-2-1-RELEASE yamt-vop-base netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base ktrace-lwp-base
|
| 1.1 |
20-Apr-2003 |
thorpej |
branches: 1.1.18; 1.1.60; 1.1.70; Generic "task queue" for sysmon back-ends. This provides a thread context for callbacks that require it in order to handle sysmon-related events.
Adapted from the "OsdSchedule" bits of the ACPI code.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
|
| 1.30 |
31-Dec-2021 |
riastradh |
sysmon: Delete trailing whitespace. No functional change intended.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
| 1.29 |
14-Dec-2015 |
pgoyette |
sysmon's components need to be MODULE_CLASS_DRIVER so they will get initialized before we configure/initialize any devices that interact with them.
Thanks, marty!
|
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606
|
| 1.28 |
05-Jun-2015 |
matt |
Move callout_init to wdog_preinit
|
| 1.27 |
25-Apr-2015 |
pgoyette |
Handle early initialization requirements - thanks martin@ and others
|
| 1.26 |
23-Apr-2015 |
pgoyette |
Modularize sysmon and its components
|
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150406 nick-nhusb-base netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE rmind-smpnet-nbase netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 tls-maxphys-base matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base rmind-uvmplock-base
|
| 1.25 |
04-Jan-2011 |
matt |
branches: 1.25.18; 1.25.36; add support for autostarting watchdogs (wdog was started by firmware and can't be disabled). Add critical pool hooks for kernel tickled watchdogs.
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 netbsd-5-1-RC4 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 uebayasi-xip-base1 netbsd-5-1-RC1 yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base nick-net80211-sync-base keiichi-mipv6-base vmlocking2-base3 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
| 1.24 |
16-Dec-2007 |
dyoung |
branches: 1.24.28; 1.24.32; 1.24.36; In sysmon_wdog_unregister(), do not return until all of the watchdog timer's users are gone. A signal cancels the unregister: sysmon_wdog_unregister() leaves the watchdog registered.
The only user of sysmon_wdog_unregister() that I can find is in elansc(4), so this looks like a safe change to make.
|
| 1.23 |
15-Dec-2007 |
dyoung |
Use LIST_FOREACH().
|
|
Revision tags: yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase jmcneill-pm-base reinoud-bufcleanup-base
|
| 1.22 |
05-Dec-2007 |
ad |
branches: 1.22.4; MUTEX_SPIN -> MUTEX_DEFAULT.
|
|
Revision tags: nick-csl-alignment-base5 vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base vmlocking-base
|
| 1.21 |
02-Sep-2007 |
xtraeme |
branches: 1.21.6; 1.21.8; Add <sys/mutex.h> rather than <sys/lock.h>.
|
| 1.20 |
02-Sep-2007 |
xtraeme |
Convert the sysmon watchdog framework to use mutex(9) rather than simple_locks and initialize them on init_main via sysmon_wdog_init().
All the sysmon code now is cleaned up and doesn't use old style locking.
|
|
Revision tags: matt-mips64-base nick-csl-alignment-base mjf-ufs-trans-base
|
| 1.19 |
09-Jul-2007 |
ad |
branches: 1.19.2; 1.19.6; 1.19.8; Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes - select()/poll() improvements - miscellaneous MT safety improvements
|
|
Revision tags: yamt-idlelwp-base8 thorpej-atomic-base
|
| 1.18 |
04-Mar-2007 |
christos |
branches: 1.18.2; 1.18.4; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
|
Revision tags: ad-audiomp-base
|
| 1.17 |
19-Feb-2007 |
ad |
Back out previous for now. There isn't currently an easy way to set up shared state before these get attached or used.
From xtraeme@.
|
| 1.16 |
19-Feb-2007 |
xtraeme |
* sysmon_wdog_mtx needs to run at IPL_SOFTCLOCK. * replace SYSMON_WDOG_{LOCK,UNLOCK} macros with mutex_{enter,exit}
reminded by ad@.
|
| 1.15 |
18-Feb-2007 |
xtraeme |
Replace simple_locks with mutexes, reviewed by ad@.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 newlock2-base netbsd-4-base
|
| 1.14 |
16-Nov-2006 |
christos |
branches: 1.14.4; __unused removal on arguments; approved by core.
|
|
Revision tags: yamt-splraiseipl-base2
|
| 1.13 |
12-Oct-2006 |
christos |
- sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
| 1.12 |
11-Dec-2005 |
christos |
branches: 1.12.20; 1.12.22; merge ktrace-lwp.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base ktrace-lwp-base
|
| 1.11 |
12-Jan-2005 |
drochner |
branches: 1.11.10; apply an "& WDOG_MODE_MASK" so that user mode watchdogs started with "-A" are terminated properly
|
|
Revision tags: kent-audio1-beforemerge
|
| 1.10 |
09-Jan-2005 |
smb |
Add a software watchdog timer facility. Because this slightly changes the "tickle" model of wdogctl(8), it was modified as well; while I was in there, I cleaned up the argument parsing.
The code was reviewed by simonb@.
|
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base kent-audio1-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
| 1.9 |
30-Oct-2003 |
simonb |
Remove some assigned-to but otherwise unused variables.
|
| 1.8 |
29-Jun-2003 |
fvdl |
branches: 1.8.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
| 1.7 |
28-Jun-2003 |
darrenr |
Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base nathanw_sa_base
|
| 1.6 |
30-Dec-2002 |
explorer |
remove redundant defines
|
|
Revision tags: gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge
|
| 1.5 |
06-Oct-2002 |
kristerw |
Correct possible return of uninitialized error variable.
|
|
Revision tags: gehenna-devsw-base kqueue-base
|
| 1.4 |
31-Jul-2002 |
simonb |
Fix WDOGIOC_GTICKLER for userland ticklers.
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base
|
| 1.3 |
13-Nov-2001 |
lukem |
branches: 1.3.8; add RCSIDs
|
|
Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
| 1.2 |
30-Jan-2001 |
thorpej |
branches: 1.2.2; 1.2.4; 1.2.6; Make sure to clear sysmon_armed_wdog once the watchdog timer is disarmed.
|
| 1.1 |
05-Nov-2000 |
thorpej |
branches: 1.1.2; Split the envsys and watchdog parts of sysmon into their own files.
|
|
Revision tags: perseant-exfatfs-base-20250801 perseant-exfatfs-base-20240630 perseant-exfatfs-base bouyer-sunxi-drm-base cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.4 |
23-Apr-2015 |
pgoyette |
Modularize sysmon and its components
|
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150406 nick-nhusb-base netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE rmind-smpnet-nbase netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 netbsd-5-2-RELEASE netbsd-5-2-RC1 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 tls-maxphys-base matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 netbsd-5-1-RC4 matt-nb5-mips64-k15 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 uebayasi-xip-base1 netbsd-5-1-RC1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 netbsd-4-0-1-RELEASE wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-fixsa-newbase nick-csl-alignment-base5 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 matt-armv6-prevmlocking wrstuden-fixsa-base-1 vmlocking2-base3 netbsd-4-0-RELEASE bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 netbsd-4-0-RC5 matt-nb4-arm-base matt-armv6-nbase jmcneill-base netbsd-4-0-RC4 mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base netbsd-4-0-RC3 yamt-x86pmap-base3 yamt-x86pmap-base2 netbsd-4-0-RC2 yamt-x86pmap-base netbsd-4-0-RC1 matt-armv6-base matt-mips64-base jmcneill-pm-base hpcarm-cleanup-base nick-csl-alignment-base netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE yamt-idlelwp-base8 wrstuden-fixsa-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE yamt-splraiseipl-base2 netbsd-3-1-RC4 yamt-splraiseipl-base netbsd-3-1-RC3 yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 netbsd-3-1-RC2 netbsd-3-1-RC1 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase netbsd-3-0-1-RELEASE gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 netbsd-2-0-3-RELEASE yamt-vop-base2 thorpej-vnode-attr-base netbsd-2-1-RELEASE yamt-vop-base netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base ktrace-lwp-base
|
| 1.3 |
18-Apr-2003 |
thorpej |
branches: 1.3.150; 1.3.170; * Add a generic power management event API, defined in <sys/power.h>. Right now, only power switch state change events are supported. This is a work-in-progress. * Add support to sysmon for delivering power mangement events to userland. Add poll, kqueue, and read entry points to sysmon. * Adapt ACPI to use the new generic <sys/power.h> event types.
This provides the kernel support for a forthcoming powerd(8) which can do nice things like gracefully shut the system down when an ACPI power button is pressed.
|
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base nathanw_sa_base
|
| 1.2 |
31-Dec-2002 |
thorpej |
Nothing cares about NSYSMON anymore; delete it.
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base kqueue-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
| 1.1 |
05-Nov-2000 |
thorpej |
branches: 1.1.2; 1.1.4; Split the envsys and watchdog parts of sysmon into their own files.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
|
| 1.53 |
31-Dec-2021 |
riastradh |
sysmon(9): Document lock order.
|
| 1.52 |
31-Dec-2021 |
riastradh |
sysmon(9): Fix callout/thread synchronization.
Callout may ONLY take sme_work_mtx, at IPL_SOFTCLOCK; MUST NOT touch sme_mtx at IPL_NONE. All state the callout needs is serialized by sme_work_mtx now:
- calls to sme_schedule_callout - calls to sme_schedule_halt - struct sysmon_envsys::sme_events_timeout - struct sysmon_envsys::sme_events_list - struct sysmon_envsys::sme_callout_state - struct envsys_data::flags => yes, this is a little silly -- used for ENVSYS_FNEED_REFRESH => should maybe separate the static driver-defined features from the state flags needed by sysmon_envsys but not important now
Sleeping under sme_work_mtx (except on other adaptive locks at IPL_SOFTCLOCK) is forbidden. Calling out to the driver under sme_work_mtx is forbidden.
This should properly fix:
https://mail-index.netbsd.org/tech-kern/2015/10/14/msg019511.html PR kern/56592
|
| 1.51 |
31-Dec-2021 |
riastradh |
sysmon: Delete trailing whitespace. No functional change intended.
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202
|
| 1.50 |
11-Sep-2017 |
pgoyette |
Improve tracking of the state of an event's callout, and protect all queries or modifications of the state with the sme_mtx mutex.
Detach the rndsrc before re-attaching it (with potentially new values).
Clean up some lock-ordering issues.
And a couple of KNF issues for good measure!
Should address PR kern/52533
XXX Pullup-8 along with the previous fixes from msaitoh@ XXX http://mail-index.netbsd.org/source-changes/2017/09/06/msg088028.html ~ ~
|
|
Revision tags: nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606
|
| 1.49 |
23-Apr-2015 |
pgoyette |
branches: 1.49.10; Modularize sysmon and its components
|
| 1.48 |
18-Apr-2015 |
mlelstv |
use unsigned type for flag bits.
|
| 1.47 |
13-Apr-2015 |
riastradh |
Convert sys/dev to use <sys/rndsource.h>.
|
|
Revision tags: nick-nhusb-base-20150406
|
| 1.46 |
14-Mar-2015 |
hannken |
Add a counter of busy events and stop enqueueing more work if a device is busy. Protect this counter with a new short time lock "sme_work_mtx" and keep "sme_mtx" as long time lock.
Removes a deadlock where an active event holds "sme_mtx", the callout "sme_events_check" blocks on "sme_mtx" and callout processing stops.
|
|
Revision tags: nick-nhusb-base
|
| 1.45 |
22-Nov-2014 |
ozaki-r |
branches: 1.45.2; Kill sme_callout_mtx and use sme_mtx instead
We can use sme_mtx for the callout as well. Actually we should do so because sme_events_list and some other data that are touched in the callout should be protected by sme_mtx, not sme_callout_mtx.
Discussed with riastradh@ in http://mail-index.netbsd.org/tech-kern/2014/11/11/msg017956.html
|
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 tls-maxphys-base
|
| 1.44 |
11-Dec-2012 |
pgoyette |
branches: 1.44.12; Replace a couple of many-line #define with equivalent code loops.
No functional change intended, and atf tests (using swsensor(4)) still pass 100%
|
|
Revision tags: yamt-pagecache-base6
|
| 1.43 |
16-Jul-2012 |
pgoyette |
branches: 1.43.2; Extend previous changes so that even sensors which don't use a refresh() callback to update the value can be polled to provide rnd(4) entropy.
|
| 1.42 |
15-Jul-2012 |
pgoyette |
If a sensor is flagged as capable of providing rnd(4) with entropy, hook the sensor into rnd subsystem, and make sure we periodically refresh the sensor whether or not it is being actively monitored.
|
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase rmind-uvmplock-base
|
| 1.41 |
04-Jun-2011 |
pgoyette |
branches: 1.41.2; 1.41.8; Since nothing actually records or maintains an average sensor value, remove value_avg from the prop_dict. We can't completely remove it because there's one driver that uses this field for its own private purposes, so for now we just rename the member.
|
|
Revision tags: cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base
|
| 1.40 |
04-Jan-2011 |
matt |
branches: 1.40.2; 1.40.6; add support for autostarting watchdogs (wdog was started by firmware and can't be disabled). Add critical pool hooks for kernel tickled watchdogs.
|
|
Revision tags: matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1
|
| 1.39 |
11-Apr-2010 |
pgoyette |
Use a typedef to define the prototype of the per-sensor callback.
Update manpage for the prototype, and fix a fubar'd Cross-reference.
|
| 1.38 |
01-Apr-2010 |
pgoyette |
Permit creation of an event-monitor for alarm limits even if the limits are not currently set (and, in case of battery capacity sensors, if there is no value_max). Ensure that such an event-monitor does not trigger the delivery of any actual events.
Provide a mechanism for sensors to set their limits at time other than system startup (for example, when a battery is inserted).
This allows us to boot a system with a battery missing, install the battery some time later, and automatically monitor it without requiring any user intervention to create the event-monitor. (The actual changes for battery sensors to use this new capability will come later.)
|
| 1.37 |
27-Mar-2010 |
pgoyette |
Constify the args to sysmon_envsys_foreach_sensor()'s callback function.
|
| 1.36 |
27-Mar-2010 |
pgoyette |
Fix the locking protocol in sysmon_envsys_foreach_sensor(), and add an additional argument to control whether or not the sensors are refreshed before invoking the callback routine.
|
| 1.35 |
26-Mar-2010 |
pgoyette |
Add a routine to iterate over all the sensors on the system. This will be needed to update acpiapm_get_powstat() which is currently slightly broken due to recent rearrangement of acpi_bat(4)'s sensors. (This approach is in lieu of exporting proplists between kernel entities, and avoids exposing some internal sysmon_envsys details.)
|
| 1.34 |
19-Mar-2010 |
pgoyette |
Modify previous commit. The routine to deliver events is intended to be exported to device drivers, so rename it and move the declaration to <dev/sysmon/sysmonvar.h>
|
| 1.33 |
14-Mar-2010 |
pgoyette |
branches: 1.33.2; Retire the 'monitor' member of the envsys_data_t. It was only used in one place, and functioned as a logical OR of the ENVSYS_FMON* flag bits.
|
|
Revision tags: yamt-nfs-mp-base9
|
| 1.32 |
28-Feb-2010 |
pgoyette |
Move definitions of internal data structures and flag bits to avoid exposing them to user-land.
|
| 1.31 |
14-Feb-2010 |
pgoyette |
Remove the flags member of the limits structure. Its value was only meaningful for a few limited function calls; all persitent storage of limit-present flags is maintained in the edata->upropset member.
|
|
Revision tags: uebayasi-xip-base
|
| 1.30 |
31-Jan-2010 |
martin |
branches: 1.30.2; Add a convenience function to find the maximum value currently reported by a set (selected via a passed callback predicate) of sensors. This provides an easy way to query the current temperature of a thermal zone, for example, from within the kernel - assuming the caller knows the topology.
|
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 jym-xensuspend-nbase
|
| 1.29 |
14-Jun-2009 |
pgoyette |
Ooops - {get,set}_limits() need to be sensor-specific. Pass an extra argument to them to identify the individual sensor being processed.
|
| 1.28 |
13-Jun-2009 |
pgoyette |
Add capability to send sensor limit values to the driver so they can be programmed into device registers. This way we can let the hardware help us out instead of having to always compare the value against each limit. (Driver updates for some sensors to take advantage of this capability will be forthcoming.)
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 wrstuden-revivesa-base mjf-devfs2-base
|
| 1.27 |
03-Jun-2008 |
jmcneill |
branches: 1.27.12; 1.27.16; 1.27.20; Add SME_POLL_ONLY flag, which informs sme to only refresh the sensor when it is polled (and not from GTREDATA).
|
|
Revision tags: hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 yamt-nfs-mp-base yamt-pf42-base
|
| 1.26 |
04-Apr-2008 |
hannken |
branches: 1.26.2; 1.26.4; 1.26.6; Update includes. Builds again on sparc64.
Ok: Juan Romero Pardines <xtraeme@netbsd.org>
|
| 1.25 |
01-Apr-2008 |
xtraeme |
Introduce per-device locking/synchronization and maintain only a global mutex for the linked list of devices and the global proplib dictionary.
This has improved locking contention a lot when multiple devices with multiple monitoring events are running:
New:
0.30 35 0.33 sme_global_mtx sysmonioctl_envsys+28b 0.10 10 0.11 00000000cd97feac sysmon_envsys_acquire+4c 0.08 6 0.09 00000000cd97feac sme_update_dictionary+24f 0.01 4 0.01 00000000cd97feac sme_events_worker+2f 0.01 10 0.01 00000000cd97fe2c sysmon_envsys_acquire+4c 0.00 1 0.00 00000000cd97fe2c sysmon_envsys_release+3b 28.38 94 9.16 sme_global_mtx sysmonioctl_envsys+28b 4.54 74 1.47 00000000cd97fe2c sysmon_envsys_acquire+4c 0.06 3 0.02 00000000cd97fe2c sysmon_envsys_release+3b 0.03 1 0.01 00000000cd97fe2c sme_events_worker+2f 1.40 19 0.45 00000000cd97bee4 sysmon_envsys_acquire+4c
Old:
4.25 313 4.74 sme_mtx <all> 3.12 185 3.49 sme_mtx sme_events_worker+21 1.12 128 1.25 sme_mtx sysmonioctl_envsys+29b 34.75 1423 59.52 sme_mtx <all> 22.08 477 37.82 sme_mtx sysmonioctl_envsys+29b 12.67 946 21.70 sme_mtx sme_events_worker+21
|
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14
|
| 1.24 |
23-Mar-2008 |
xtraeme |
Fix some problems reported by <drochner> a while ago on tech-kern:
sme_events_worker: skip sensors with invalid state. sme_acadapter_check:
* use a boolean to check if an SME_CLASS_ACADAPTER was found. * Always refresh sensor data before checking value_cur.
Introduce the SME_INIT_REFRESH flag. If a device sets this it will mean that after interrupts are enabled in the autoconf(9) process, sensor data will be refreshed once.
|
|
Revision tags: keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base vmlocking2-base3 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-nbase mjf-devfs-base matt-armv6-base hpcarm-cleanup-base
|
| 1.23 |
16-Dec-2007 |
dyoung |
branches: 1.23.6; In sysmon_wdog_unregister(), do not return until all of the watchdog timer's users are gone. A signal cancels the unregister: sysmon_wdog_unregister() leaves the watchdog registered.
The only user of sysmon_wdog_unregister() that I can find is in elansc(4), so this looks like a safe change to make.
|
|
Revision tags: yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
| 1.22 |
20-Nov-2007 |
xtraeme |
branches: 1.22.2; 1.22.6; After comments from Andrew Doran:
- The mutex for the callout handler must run at IPL_SOFTCLOCK. - Just stop the callout in sysmon_envsys_unregister() and don't wait for the callout to finish.
|
| 1.21 |
16-Nov-2007 |
xtraeme |
Extend the envsys2 API (one more time, sorry) as defined in:
http://mail-index.netbsd.org/tech-kern/2007/11/09/0001.html
sysmon_envsys_create() and sysmon_envsys_destroy() were added to create/destroy sysmon_envsys objects (and its TAILQ/LIST for sensors/events).
sysmon_envsys_sensor_attach() and sysmon_envsys_sensor_detach() were added to attach/detach sensors to a specified sysmon_envsys device.
The events framework is now per device and configurable via the ENVSYS_SETDICTIONARY ioctl or /etc/envsys.conf and envstat(8).
Update all users and documentation to reflect these changes.
|
|
Revision tags: jmcneill-base
|
| 1.20 |
03-Nov-2007 |
xtraeme |
branches: 1.20.2; Remove sysmon_envsys_find() proto, it's defined on sysmon_envsysvar.h.
|
|
Revision tags: yamt-x86pmap-base4 yamt-x86pmap-base3 vmlocking-base
|
| 1.19 |
10-Oct-2007 |
xtraeme |
branches: 1.19.2; Fix the problems described in: http://mail-index.netbsd.org/current-users/2007/07/16/0012.html
- Introduce sme_class into the sysmon_envsys struct to specify a class; currently there are two classes: SME_CLASS_ACADAPTER and SME_CLASS_BATTERY.
- Add a new envsys event: PENVSYS_EVENT_LOW_POWER that is reached when all SME_CLASS_BATTERY devices are in CRITICAL/LOW state and there's not any SME_CLASS_ACADAPTER connected.
- Add the 'low-power' event into the sensor_battery script that will shutdown the system gracefully via 'shutdown -p'. If powerd(8) is not running, cpu_reboot(9) with RB_POWERDOWN is used.
- Make acpiacad(4) a SME_CLASS_ACADAPTER device and acpibat(4) a SME_CLASS_BATTERY device.
Update the documentation accordingly to these changes.
|
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base2 yamt-x86pmap-base
|
| 1.18 |
08-Sep-2007 |
xtraeme |
branches: 1.18.2; - Build unconditionally compatibility code, there's no point to have it disabled, because some drivers depend in the old code yet. - Use a new mutex for sysmon_envsys_next_sensor_index (used in compatibility code), otherwise bad things happen with LKMs. Thanks to this, the hack for LKMs has been removed. - Check in advance if the driver doesn't exist already on the list before adding the sensors in the dictionary. - Don't forget to call sme_event_unregister_all() if sysmon_envsys_unregister() fails after adding the array into the global dictionary or when creating sensors. - Modify and add some DPRINTFs.
The lm(4) lkm works without known problems registering and unregistering it multiple times.
|
| 1.17 |
02-Sep-2007 |
xtraeme |
Convert the sysmon watchdog framework to use mutex(9) rather than simple_locks and initialize them on init_main via sysmon_wdog_init().
All the sysmon code now is cleaned up and doesn't use old style locking.
|
| 1.16 |
30-Aug-2007 |
xtraeme |
More misc changes for sysmon_envsys(9):
- Add the SLIST for sensor descriptions and sme_uniqsensors into the struct sysmon_envsys (it's per device now). - Use only one common struct with three members for the static tables (there's no need to have different structs just for them). - While initializing/destroying the events framework, use the strategy specified by Andrew Doran in: http://mail-index.netbsd.org/tech-kern/2007/06/21/0025.html).
(forgot in previous)
|
|
Revision tags: matt-mips64-base nick-csl-alignment-base mjf-ufs-trans-base
|
| 1.15 |
01-Jul-2007 |
xtraeme |
branches: 1.15.2; 1.15.6; 1.15.8; Imported envsys 2, a brief description of the new features: (Part 1: API)
* Support for detachable sensors. * Cleaned up the API for simplicity and efficiency. * Ability to send capacity/critical/warning events to powerd(8). * Adapted all the code to the new locking order. * Compatibility with the old envsys API: the ENVSYS_GTREINFO and ENVSYS_GTREDATA ioctl(2)s are supported. * Added support for a 'dictionary based communication channel' between sysmon_power(9) and powerd(8), that means there is no 32 bytes event size restriction anymore. * Binary compatibility with old envstat(8) and powerd(8) via COMPAT_40. * All drivers with the n^2 gtredata bug were fixed, PR kern/36226.
Tested by:
blymn: smsc(4). bouyer: ipmi(4), mfi(4). kefren: ug(4). njoly: viaenv(4), adt7463.c. riz: owtemp(4). xtraeme: acpiacad(4), acpibat(4), acpitz(4), aiboost(4), it(4), lm(4).
|
|
Revision tags: yamt-idlelwp-base8
|
| 1.14 |
08-May-2007 |
xtraeme |
Remove duplicate sysmonioctl_envsys() prototype.
|
|
Revision tags: thorpej-atomic-base
|
| 1.13 |
04-Mar-2007 |
christos |
branches: 1.13.2; 1.13.4; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base rpaulo-netinet-merge-pcb-base
|
| 1.12 |
08-Jul-2006 |
christos |
branches: 1.12.10; expose the ioctl internal function now used by the acpi_apm code.
|
|
Revision tags: yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base
|
| 1.11 |
11-Dec-2005 |
christos |
branches: 1.11.4; 1.11.8; 1.11.16; merge ktrace-lwp.
|
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 netbsd-2-0-3-RELEASE yamt-vop-base2 thorpej-vnode-attr-base netbsd-2-1-RELEASE yamt-vop-base netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base ktrace-lwp-base
|
| 1.10 |
11-Aug-2003 |
yamt |
branches: 1.10.16; do wakeup() only when someone is waiting for us.
|
| 1.9 |
11-Aug-2003 |
yamt |
introduce SME_FLAG_BUSY and set it during operations instead of keeping sysmon_envsys_list_slock spinlock held because some drivers might sleep in sysmon_envsys ops,
XXX sysmon_envsys_lock is now redundant
|
| 1.8 |
29-Jun-2003 |
fvdl |
branches: 1.8.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
| 1.7 |
28-Jun-2003 |
darrenr |
Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
| 1.6 |
18-Apr-2003 |
thorpej |
* Add a generic power management event API, defined in <sys/power.h>. Right now, only power switch state change events are supported. This is a work-in-progress. * Add support to sysmon for delivering power mangement events to userland. Add poll, kqueue, and read entry points to sysmon. * Adapt ACPI to use the new generic <sys/power.h> event types.
This provides the kernel support for a forthcoming powerd(8) which can do nice things like gracefully shut the system down when an ACPI power button is pressed.
|
| 1.5 |
17-Apr-2003 |
thorpej |
Start at a power management framework for sysmon. Right now we just provide some VERY basic support for power/sleep buttons and lid switches; if someone presses the power button, shut down the system semi-gracefully.
Eventually, we will send events for all types of button/lid events down to a userland power management daemon, which will be able to define a separate policy for each button/switch.
|
| 1.4 |
10-Apr-2003 |
thorpej |
Group things in this file a bit more logically.
|
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 nathanw_sa_end nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base eeh-devprop-base newlock-base ifpoll-base thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base kqueue-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
| 1.3 |
05-Nov-2000 |
thorpej |
branches: 1.3.2; 1.3.8; Split the envsys and watchdog parts of sysmon into their own files.
|
| 1.2 |
04-Nov-2000 |
thorpej |
Add a watchog timer framework to the system monitor.
|
| 1.1 |
24-Jun-2000 |
thorpej |
branches: 1.1.2; Add a clearing-house pseudo-device for system monitoring devices such as the LM78 and VT82C686A (and eventually ACPI). Multiple sensor devices can be hooked registered with `sysmon', and eventually sysmon will also handle hardware (and software) watchdog timers.
Convert the `lm' and `viaenv' drivers to the new interface.
|