- move logic to find a device's interrupt controller out of ki2c
- make interrupt numbers in OF, dmesg and systat/vmstat match
- include interrupt controller's name when reporting
Extract this m68k cpu.h commit:
revision 1.26
date: 2025-12-05 05:27:03 -0800; author: thorpej; state: Exp; lines: +21 -4;
commitid: jviu62VSzYhPRdlG;
Define the fields in the 68060 Processor Configuration Register.
...into a new file, pcr.h, and adjust things that need the stuff.
config_attach_pseudo/config_attach_pseudo: assert kernel lock
as commented in the code, whese functions are inherently
mp-unsafe and only usable with the kernel lock held.
sw_reg_strategy: stop panicking on hole
after the recent change to uvm_aio_aiodone_pages,
it should be ok to report errors here. the swap slots
will be marked bad as expected.
tested with a swap file with 50% holes:
```
Device Size Used Bad Avail Capacity Priority
/dev/dk1 2.0G 1.8G 0B 190M 91% 0
/swapfile_with_half_holes 2.0G 2.0G 1.0G 5.6M 100% 0
Total 4.0G 3.8G 1.0G 196M 95%
```
uvm_aio_aiodone_pages: do not discard user data on swap out failure
if swap out i/o failed, maybe the swap device is broken. it's
reasonable to mark it bad. however, there is no point to discard
the user data on the page being swapped out. unlike file pages,
the association to the particular swap slot is not permanent.
next time the page is picked as a victim by the page daemon, a
different swap slot, which is hopefully good, will be allocated.
swapctl: report npgbad
the current layout of swapent is like the following on amd64:
```
(gdb) ptype /o struct swapent
/* offset | size */ type = struct swapent {
/* 0 | 8 */ dev_t se_dev;
/* 8 | 4 */ int se_flags;
/* 12 | 4 */ int se_nblks;
/* 16 | 4 */ int se_inuse;
/* 20 | 4 */ int se_priority;
/* 24 | 1025 */ char se_path[1025];
/* XXX 7-byte padding */
/* total size (bytes): 1056 */
}
```
while it's tempting to use the padding for the new member
to avoid versioning, i guess we can't because, on some
architectures, 64-bit value only has 32-bit alignment. (eg. i386)
zfs: fix "slow rm" issue (cont.)
commit a change which was lost during a porting from
my local git repo to cvs.
fortunately, it was harmless to miss this change though.
lynis: Update to 3.1.6
Lynis 3.1.6 (2025-10-22)
Added
* Add notice to screen output if end-of-life state is unclear
* Support for CachyOS, macOS Tahoe, and OpenMandriva Lx
Changed
* Releases are now considered to be old if they are 6 months or older
* Removed generic suggestion for outdated/old Lynis release, instead
show to screen output
* Generic clarifications on variable usage for operating system and
its version
* Updated end-of-life database
* Updated Japanese translation
* For Debian and similar systems ignore kernel packages with 'rc'
[598 lines not shown]
Fix sh tests failing after the PR 60099 fix to /bin/sh
After the fix for PR 60099 was applied to /bin/sh, 2 of the
sh ATF tests no longer give the same output as they used to:
In t_expand:dollar_at_empty_and_conditional
set -- "a+a" "" "b " " c"; IFS=+; delim_argv $*"$@"
That creates 4 positional params, (as shown), so $*"$@"
should be the same as
$1 $2 $3 $4"$1" "$2" "$3" "$4"
'a+a' '' 'b ' ' c'"a+a" "" "b " " c"
where the single quotes are just so the values can be detected,
double quotes indicate quoted values.
The unquoted $* values are then field split, using IFS=+ (which only
[55 lines not shown]
Use the new M68K_EC_VAC and M68K_EC_PAC options, based on configured
model.
As a transitional step, ensure that the new options are consistent with
the legacy CACHE_HAVE_{PAC,VAC} defines.
Add 3 new arch options:
- M68K_EC -- platform has an external cache
- M68K_EC_PAC -- platform has an external cache that's physically addressed
- M68K_EC_VAC -- platform has an external cache that's virtually addressed
M68K_EC_PAC and M68K_EC_VAC are to be used by individual platforms to
indicate their cache configuration options, M68K_EC is inferred by either.