Implement support for the Zicbom and Svpbmt extensions. Rework the cache
flushing code to operate on virtual addresses instead of physical
addresses. Seems the Zicbom implementation on the SpacemiT X60 cores
doesn't flush the caches if the mapping is non-cachable. So adjust
_pmap_kenter_pa() to use a temporary cachable mapping to clean a page we
want to map non-cachable.
ok jca@
xwayland-satellite would fail unable to find -lgcc while linking
tb@ pointed out that MODCLANG_COMPILER_LINKS=no might help on this
and similar failures on other ports.
Confirmed that this fixes the build on sparc64
Brad Smith immediately provided a patch for archivers/libmpq (moving
it to using ports-gcc) that allows devilutionx to actually build and
package on sparc64.
So remove BROKEN-sparc64
Move archivers/libmpq to ports-gcc because it uses
builtins (__builtin_bswap16/32/64) that end up missing during linking of
consumers such as games/devilutionx.
Switching to ports-gcc produces a library that allows consumers such
as games/devilutionx to link successfully.
Patch provided by Brad Smith
Broken on sparc64 for multiple releases.
Dies during linking:
/usr/local/lib/libmpq.so.0.0: undefined reference to `__builtin_bswap16'
/usr/local/lib/libmpq.so.0.0: undefined reference to `__builtin_bswap32'
/usr/local/lib/libmpq.so.0.0: undefined reference to `__builtin_bswap64'
Mark BROKEN-sparc64
netgroup_mkdb(8) calls abort() when _ng_parse() returns
_NG_ERROR for a malformed netgroup entry. Make this code
exit via the same paradigm as other errors (errx).
From Renaud Allard, thanks!
ok op@