Creator/Maintainer of FreeBSD bootloader-menu/bsdconfig/dpv/dwatch/figpar/sysrc
Maintainer of FreeBSD base/bsdinstall/DTrace/forth/jail/netgraph/ports/vnet
Maintainer of FreeBSD ports: (net-p2p) shx (sysutils) bsdconfig cmocka DTraceToolkit dwatch-gource dwatch-pwsnoop host-setup mping ssd_report sysrc tzdialog zfs-stats-lite
Drive-by's: (devel) p4d p4web (emulators) xen xen-kernel (net) pptpclient (ports-mgmt) pkg (sysutils) getssl syslinux vzvol
User Details
- User Since
- Sep 2 2014, 7:30 PM (619 w, 6 d)
Yesterday
Fix bug causing 100% CPU consumption if controlling terminal hangs up.
Sun, Jul 19
Fix backtitle
Thu, Jul 16
Wed, Jul 15
Tue, Jul 14
See inline.
Mon, Jul 13
Updates to mkpriv
Sun, Jul 12
Sat, Jul 11
Fri, Jul 10
Worth repeating:
Thu, Jul 9
Add mkpriv update Makefile to produce priv.d
This work supports the incoming bsdpv(3) library and bsdpv(1) utility -- which is dpv(3)/dpv(1) rebuilt to use bsddialog(1) instead of cdialog(1) that was removed from base
Tue, Jul 7
Amended the squashed commit message to fold in the second batch (hang, jail, dtmalloc, mib, sched-latency, io-slow) and to note taint scope: no kernel changes, libexec profiles plus priv.d only. Tip commit is now 176b3b389fde (tree unchanged from c029c0fb59f4).
Adversarial parser fuzzing (ASan/UBSan) found and fixed two figpar-inherited memory-safety bugs: NULL directive buffer on an empty-name line, and a bsdconf_strexpand() heap over-read/over-write when a value shrinks as backslash escapes collapse (plus a one-byte over-read on a trailing backslash)
Adopt the abridged license form per style(9) and the FreeBSD license guide across all new files (requested by ziaee): copyright lines first, then SPDX-License-Identifier: BSD-2-Clause, dropping the full 2-clause text
Touch-ups: --version prints '1.0 Jul-6,2026' (sysrc format), -h/--help advertise name[[+|-]=value], SYNOPSIS renders name[[+|-]=value] via sysrc.8's mdoc idiom
Defaults-aware reads: the defaults file is always scanned first (like the boot loader), so 'sysconf loader acpi_video_load' reports the effective boot value; the defaults slot is read-only and never appears in -l/-L, write targeting, or removals
Add rc pass-through to sysrc(8) (all arguments verbatim, unvalidated), sysrc-style name+=word/name-=word list editing for non-make targets, and --version
Allow -A with -D as in sysrc(8): -D's scoping wins, -A keeps its dump-implying role, so -ADd describes all defaults and only defaults
Let -d compose with the dump flags as in sysrc(8): -ad/-Ad/-aDd dump descriptions of every directive in scope; sysctl -ad pairs configured directives with kernel OID descriptions
Honor loader_conf_files discovery from /boot/defaults/loader.conf (kevans); add sysrc-style -d/-D/-A defaults querying, LOADER_DEFAULTS, and a FILES section
Echo 'name: old -> new' on writes after the fashion of sysctl(8)/sysrc(8), silenced by -q
I think I might update the code to print the before/after value. I think it should, when setting a value, like sysrc(8), show (for example) <old> -> <new>
Playing around (and yes, my hostname is literally "BSDCan2026" because this is running on my Framework Laptop 12 that I purchased just-prior-to and took to BSDCan 2026 conference):
Mon, Jul 6
Thu, Jul 2
Mon, Jun 29
@ziaee thank you for bringing this to my attention -- happy to review
@olce — thanks again, and good call on the term. I've updated the diff: "sleep event" is gone in favor of the spec's wording — the comment now names the 0x80 path as the "S0 Power/Sleep Button Pressed" notify and 0x02 as "Device Wake," so nothing is mislabeled (this also covers Daniel's note on the same line). It's a comment-only change with no functional difference from what you accepted, so it should be a quick re-look.
Reword the grace-window comment to use the ACPI spec's exact notify names: 0x80 = "S0 Power/Sleep Button Pressed", 0x02 = "Device Wake" (was loosely called a "sleep event"). Addresses olce's and Daniel's review feedback on the wording at the replay-window comment. No functional change.
@asiciliano I don't think anyone wants to see LGPL re-infect the base.
Sun, Jun 28
So, the question begs to be asked:
I obviously do not want to see dpv, libdpv, and libfigpar removed from base. I would like to update them.
Sat, Jun 27
@git_danielschaefer.me — thank you, pulling that AML is exactly the right place to look.
Wed, Jun 24
Add 'MFC after: 2 weeks' to give the change soak time on HEAD before merging back.
Restore the pre-existing 'ACPICA Event Handlers' section comment to its function (acpi_invoke_sleep_eventhandler); the replay-window comment, define, and helper now sit above that header as a self-contained block. No functional change.
@olce -- thanks for the review; I've worked in all of it. Summary of this update:
@adrian -- thanks for pushing on this; asking for real traces was the right call and it turned up more than I expected.
Move the replay guard back inside the #if defined(amd64) || defined(i386) block in acpi_event_power_button_sleep(), per olce's note that the non-x86 paths don't support suspend/resume anyway. No functional change on x86.
Rework per review: take the resume timestamp before DEVICE_RESUME() to close a race the instrumentation exposed (PR 296243); window 1s (replay measured ~600 ms from that anchor); condense comments; move the guard ahead of the arch #if so it also covers the non-x86 path; rebased on current main.
Tue, Jun 23
@adrian -- good call on the PR; I'll open one and dump the bootverbose traces, the EC _Qxx timing, and the per-cycle timestamps there, then link it from the comment block so the "why" survives long after our short-term memory fades. (Noted for the i2c one too.)
@guest-seuros — thank you for the testing; validating across Apple, MSI, Gigabyte, Intel, Lenovo, Sony, Panasonic, Toshiba, AZW, Minisforum, Qotom, Beelink and coreboot is real work, and it's useful: it scopes the replayed-0x80 behavior tightly, which makes a guard easy to reason about.
@obiwac — great seeing you at BSDCan! Looks like your comment came through empty on my end (which is all my "??" meant — sorry if it read as terse). I'd really value your take on this one; you know this corner of ACPI better than I do, having written the s2idle loop, and I'd rather shape it with your input than land it without. Whenever you get a sec, mind re-posting whatever didn't make it through?
@guest-seuros — thanks for digging into this, and for offering to test on hardware you have on hand; more data points across machines would be genuinely valuable, so please do share what you find.
Sun, Jun 21
Jun 21 2026
Jun 20 2026
Address review: consolidate the un-idle/restore handshake into ig4iic_set_config() behind a force_restore argument (per adrian) so ig4iic_resume() no longer duplicates it; warn if the core never leaves reset after the COMP_TYPE poll; restore the matching pause() in the handshake.