Fix a typo (affecting 68060-only configs) and a 1-line omission (affecting
GENERIC configs) that resulted in the F-Line Emulator trap not being routed
to the 060SP for handling.
Fix confirmed by Denis Ahrens on an MVME177.
PR port-m68k/59786
Use the names of the new functions actually implemented in previous
instead of the slightly varied specific implementation function names
(perhaps an editing error).
Nb: while this will probably fix the i386 build, it isn't necessarily
correct - the issue might be that more functions should have been added
to the kernel crypto lib. Anyone reading this more than a day or three
after it has been committed will be able to determins whether this is
correct or not, by whether there is another commit soon after by someone
other than me (another by me just means I botched this one).
Add a detach call to the CFATTACH_ define mostly so that the children
so the right thing. This isn't very useful right now, but will become
more useful with a driver that will be landing in the near future.
nouveau(4): Fix return value of fence wait.
kpause(9) returns EAGAIN/EWOULDBLOCK when it times out, which is
perfectly normal and expected here with an internal one-tick timeout
which should just go through another loop iteration. This function
is expected to return the number of ticks left to wait when done, so
it reports timeout by returning zero, and is forbidden to fail with
EAGAIN/EWOULDBLOCK.
This is also forbidden to fail with EINTR -- on interruption it must
fail with the Linux ERESTARTSYS instead. So map EINTR to that too
while here.
PR kern/59773: i386 11.0_BETA system crash (Xorg nouveau ?)
aes(9): New aes_keysched_enc/dec.
These implement the standard key schedule. They are named
independently of any particular AES implementation, so that:
(a) we can swap between the BearSSL aes_ct and aes_ct64 code without
changing all the callers who don't care which one they get, and
(b) we could push it into the aes_impl abstraction if we wanted.
This eliminates all br_aes_* references outside aes_bear.c, aes_ct*.c,
and the new aes_keysched.c wrappers.
Preparation for:
PR kern/59774: bearssl 32-bit AES is too slow, want 64-bit optimized
version in kernel
tests/lib/libpthread: Don't abuse xfail.
Use a signal handler to check for SIGABRT, rather than
atf_tc_expect_signal.
xfail is for when there is a bug that we haven't fixed yet and the
test manifests a symptom of that bug -- a list of xfails is a list of
open bugs to be fixed. In this case, we are verifying that
pthread_create _correctly_ raises SIGABRT (or fails with nonzero
return code -- both are acceptable outcomes, really), and there is no
bug here at the moment.
Prompted by (but unrelated to):
PR lib/59784: dlopening and dlclosing libpthread is broken
tests/lib/libpthread: Test unloading libpthread after lazy binding.
If you dlopen libpthread and dlclose it again, the thread stubs like
pthread_mutex_lock need to continue working -- a library might have
calls to it in order to support thread-safety for threaded
applications, but that library needs to continue working even in
non-threaded applications after lazy binding of the libpthread symbol
instead of the libc stub.
PR lib/59784: dlopening and dlclosing libpthread is broken
pmap_pte_alloc() expects to be called while in a critical section, but
pmap_enter() was entering the critical section after calling pmap_pte_alloc().
Fix that.
There's no practical impact of this change at this time, but code code and
the comments should at least be consistent.
Pull up following revision(s) (requested by riastradh in ticket #1980):
common/dist/zlib/zconf.h: revision 1.6
zlib: Ignore HAVE_UNISTD_H and HAVE_STDARG_H in zconf.h.
This leaves our build of libz.so.1 intact, with no ABI changes --
z_off_t is still long, internally. But it avoids exposing a
different ABI to callers that use autoconf and define HAVE_UNISTD_H,
so they don't accidentally get z_off_t as off_t.
Later, we can unconditionally take z_off_t to be off_t, to enable
64-bit file access on LP32 platforms, which we should have done a
long time ago -- but that requires a shared library major bump (or
versioning symbols with compat wrappers) because it changes the ABI.
PR lib/59711: "#define HAVE_UNISTD_H 1" breaks 32-bit libz
Pull up following revision(s) (requested by riastradh in ticket #1195):
common/dist/zlib/zconf.h: revision 1.6
zlib: Ignore HAVE_UNISTD_H and HAVE_STDARG_H in zconf.h.
This leaves our build of libz.so.1 intact, with no ABI changes --
z_off_t is still long, internally. But it avoids exposing a
different ABI to callers that use autoconf and define HAVE_UNISTD_H,
so they don't accidentally get z_off_t as off_t.
Later, we can unconditionally take z_off_t to be off_t, to enable
64-bit file access on LP32 platforms, which we should have done a
long time ago -- but that requires a shared library major bump (or
versioning symbols with compat wrappers) because it changes the ABI.
PR lib/59711: "#define HAVE_UNISTD_H 1" breaks 32-bit libz
Pull up following revision(s) (requested by riastradh in ticket #99):
common/dist/zlib/zconf.h: revision 1.6
zlib: Ignore HAVE_UNISTD_H and HAVE_STDARG_H in zconf.h.
This leaves our build of libz.so.1 intact, with no ABI changes --
z_off_t is still long, internally. But it avoids exposing a
different ABI to callers that use autoconf and define HAVE_UNISTD_H,
so they don't accidentally get z_off_t as off_t.
Later, we can unconditionally take z_off_t to be off_t, to enable
64-bit file access on LP32 platforms, which we should have done a
long time ago -- but that requires a shared library major bump (or
versioning symbols with compat wrappers) because it changes the ABI.
PR lib/59711: "#define HAVE_UNISTD_H 1" breaks 32-bit libz
wsmux(4): Fix sense of assertion in kqfilter.
This was recently changed in rev. 1.68 to tighten bogus run-time
conditionals into assertions -- with a small snag in this particular
hunk:
@@ -613,12 +589,7 @@ wsmuxkqfilter(dev_t dev, struct knote *kn)
return (1);
}
- if (sc->sc_base.me_evp == NULL) {
-#ifdef DIAGNOSTIC
- printf("wsmuxkqfilter: not open\n");
-#endif
- return (1);
- }
+ KASSERTMSG(sc->sc_base.me_evp == NULL, "wsmuxkqfilter: not open\n");
return (wsevent_kqfilter(sc->sc_base.me_evp, kn));
[12 lines not shown]