Perform a bit of CPR on the cesfic port:
- Normalize with other 68040 systems vis a vis KERNBASE and
VM_MIN_KERNEL_ADDRESS. Adjust early bootstrap to accommodate.
- Determine at run-time the address the kernel was loaded at, rather
than hard-coding it to (RAM+1M) before relocating the kernel down
to (RAM+link_addr).
- Long-jump to the relocated kernel immediately after relocating it and
before clearing the BSS. Previously, it's possible that the old copy
where we were still running fro could be could get clobbered when the
BSS is cleared.
- Use the common MMU-enable code fragment and the common TT register
management functions.
The kernel has grown since the README was written, so recommand loading
it (via OS-9) at RAM+2M. Also update the contact information for the
port :-(
A few straggling Debugger -> cpu_Debugger transformations (because sun3
<sys/systm.h> was unconditionally always #define'ing Debugger() on sun3,
but now no longer does).
Export lwp0upa to allow the caller of pmap_bootstrap1() to specify
the physical address for the lwp0 u-area. If left unspecified, the
USPACE-sized region is allocated dynamically, as before.
x86/multiboot2: advance `bim' alongside `i' in mbi_modules().
Without it, every module tag describes the first module.
Potentially missed while adapting code from exec_multiboot1.c, which advanced
it at the end of the loop body.
PR port-i386/60992
Reported by Naomichi Nonaka.
Import zlib-1.4.0 (previous was 1.3.2) to address CVE-2026-85091
Breaking changes
- CMake:
- The minimum CMake version is now 3.15, up from 3.12.
- Library file names changed on MSVC: z is now libz, as in libz.dll,
libz.lib, and the static libzs.lib. minizip's libraries changed the
same way.
- On Cygwin, the libraries now use the lib prefix.
- Contrib targets and tests built as part of zlib are now prefixed with
zlib_. Several test targets were renamed to one scheme, for example
zlib_examplestatic and minigzipstatic.
- The zlib1.dll option ENABLE_BZIP2 is now ZLIB1_DLL_ENABLE_BZIP2.
- When not otherwise determined, z_off_t is again long, as in 1.3.1, instead
of 1.3.2's long long. Windows applications built with 1.3.2 headers should
be recompiled; see Enhancements for 64-bit offsets.
- deflateReset() now resets the gzip header set by deflateSetHeader(), as
zlib.h has always said. Code relying on the header persisting must set
it again.
[122 lines not shown]
Per discussion w/ Tsutsui-san, switch hp300 to the new pmap_68k.
There are still issues with old HP MMU systems, but those systems
currently have problems even with the old pmap, and because there
is no design issue with the new pmap and the HP MMU, we should not
let these old, rare machines block the switch for everything else.
pmap_changebit(): The CPUSHP is only necessary on the 68040/68060 if
the critical page attributes (W, CM) have changed; if we're just
clearning U or M, it can be skipped.
While here, simplify the initialization of proto-PTEs; PTE40_CM_WT == 0,
so we don't actually need a separate case for it that's distinct from the
non-PTE51_CI for the other MMUs variants.
Add support for the DS2483 and DS2484 I2C to 1-Wire bridge chips to
the DS2482 driver. These members of the chip family are very simular
with the main exception being that there are programmable adjustments
that can be made to the 1-Wire protocol timing. The DS2483 chip is
actually EOL, but may exist in the wild somewhere and there was no big
differences between it and the DS2484. Adafruit has a very nice break
out board for the DS2484 chip for a reasonable amount of money.
The programmable timing adjustments of the DS2483 and DS2484 can be
done via sysctl. While these chips support overdrive speed on the
1-Wire bus, the onewire(4) infrastructure does not support the
coordination of overdrive speeds, so this driver does not particularly
support that mode.
While there, fix a missing config_detach_children() call in
ds2482ow.c.