citrus/HZ: Be more careful about encoding buffer.
1. Use unsigned char for chlen, since it's never negative and only
needs to be big enough for the ch array.
2. Expand the ch array by space for two escape sequences, each of
which is two characters.
I don't think it is currently possible with the i18n data we ship
for it to emit two escape sequences in a row -- there is a code
path to do this, but I don't think it can be reached without
setting escape sequences for variable 1 and extending this in some
way. Nevertheless, let's err on the side of safety.
3. Sprinkle assertions everywhere.
PR 59019: various iconv issues
iconv(3): Fix printing bytes on test failure.
Don't sign-extend to a 32-bit quantity causing the left to be padded
with f's; just print the 8-bit quantity.
PR 59019: various iconv issues
Start wiring up MPC5200B support into ofppc port.
Interrupt controller peculiarities, properly gating legacy code under kernel
appropriate options, PSC console support (kludge).
Several enchancements and bug fixes to FEC driver.
- Fix SRAM leak in fec_stop()
- Skip busy wait link-poll on reset and recovery
- Properly program muilticast hash filter
- 802.3 full duplex flow control, advertise and honor received pause
- Statistics exposed via if_stats
- Accept VLAN frames
wg(4): Move DoS mitigation a little earlier.
1. Don't store the cookie -- just recompute it on the fly as a
pseudorandom function of the current two-minute unit, under a
secret key generated at interface configuration time.
This way we don't need to find what peer we're talking with --
which requires a DH key agreement -- before we can verify mac2.
2. Actually, recompute _two_ cookies on the fly, one for
floor(now/60) and the other for 1 + floor(now/60), and accept a
valid mac2 under either cookie, or if mac2 is not valid, send the
1 + floor(now/60) cookie.
This way every cookie is valid for a total possible time of 2min,
but the cookie we send is always valid for at least 1min in the
future, so we never send a cookie that's going to immediately
expire and require another REKEY-TIMEOUT delay (and this works
without keeping any state).
[28 lines not shown]
Clamp PMAP_DIRECT_MAPPED_LEN below USER_SR/KERNEL_SR
Derive it from MIN(USER_SR, KERNEL_SR) so the direct-mapped region never
overlaps the kernel HTAB window on ports where KERNEL_SR < USER_SR,
like ofppc. This made pmap_pvo_find_va() panic on legit lookup misses.
pmap_kenter_pa() should not be used to overwrite an existing mappings.
Assert that the PTE for the specified VA is invalid, and remove the
dead code that handled the case where it wasn't.
Bump the 68020+ default MAXTSIZ to 64MB. This allows the pkgsrc build of
gcc-12 to run and pass the self-tests on virt68k.
Also bump the 68020+ default DFLDSIZ to 64MB.
Bump the 68020+ default MAXTSIZ to 64MB. This allows the pkgsrc build of
gcc-12 to run and pass the self-tests on virt68k.
Also bump the 68020+ default MAXDSIZ to 64MB.