summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-07-09lint: remove redundant '#' after 'argument' in diagnosticsHEADtrunkrillig
2023-07-09libm: Add missing fma(3) and friends for sh3.rin
2023-07-09versioningsyscalls(9): markup fixesuwe
While here, fix the pasto for the new ino_t and time_t size.
2023-07-09doc/HACKS: Note OPENSSL_NO_EC_NISTP_64_GCC_128 hack for aarch64eb.rin
2023-07-08Sprinkle OPENSSL_NO_EC_NISTP_64_GCC_128 for aarch64eb.rin
Otherwise, the following tests fail with wrong results: - crypto/libcrypto/t_ciphers:evp - crypto/libcrypto/t_pubkey:ec Official document says ec_nistp_64_gcc_128 does not support big endian: https://github.com/openssl/openssl/blob/master/INSTALL.md#enable-ec_nistp_64_gcc_128 Thanks @a_rin for pointing this out on Twitter! Note that an equivalent hack was present in openssl.old for aarch64eb, alpha, and sparc64. But: - alpha received upstream fix (PR lib/55701) - sparc64 has been fixed differently (PR port-sparc64/57472)
2023-07-08openssl.old: Remove OPENSSL_NO_EC_NISTP_64_GCC_128 hack for alpha.rin
Unaligned memory access reported in PR lib/55701 has been fixed by upstream commit: https://github.com/openssl/openssl/commit/77286fe3ec6b9777934e67e35f3b7007143b0734 Actually, kernel no longer complains with machdep.unaligned_print=1, for sshd(8), ssh(1), and full ATF run.
2023-07-08openssl.old: Fix build with HAVE_OPENSSL == 11.rin
Introduce Makefile.subdir in the same manner as new openssl.
2023-07-08clock_gettime(2): Fix CLOCK_PROCESS/THREAD_CPUTIME_ID.riastradh
Use same calculation as getrusage, not some ad-hoc arithmetic of internal scheduler parameters that are periodically rewound. PR kern/57512 XXX pullup-8 XXX pullup-9 XXX pullup-10
2023-07-08Add support for missing NAME_MAX when building on Solaris hostspalle
2023-07-08fix typochristos
2023-07-08Document how system call versioning is done. From this summer's compat-linuxchristos
GSoC, by Theodore Preduta.
2023-07-08lint: warn about pointer casts between different kinds of typesrillig
Pointer casts from an integer type to a floating-point type and vice versa get a 'maybe troublesome' warning now. The previous assumption that all types of the same bit-size are convertible may have been valid from a technical point of view, but still such code should get more attention. The rules for struct and union types could be made more fine-grained later, if the need arises. To suppress this warning, it's always possible to cast to an intermediate 'void *'.
2023-07-08t_timerfd: Sprinkle slightly more diagnostics.riastradh
Might help us to see if we're off by just a little bit (maybe a tiny jitter between the hardclock timer and the monotonic clock), or if something is seriously amiss when the timerfd_block test fails sporadically.
2023-07-08lint: do not use portable type sizes in integer constraintsrillig
This reverts the change from tree.c 1.547 from 2023-07-03. Back then, I didn't know that the actual value from a type's 'portable size in bits' was not supposed to be used.
2023-07-08t_clock_gettime: Add test for PR kern/57512.riastradh
2023-07-08curcpu_stable(9): New function for asserting curcpu() is stable.riastradh
2023-07-08lint: warn about conversion from 128-bit to smaller integer typesrillig
2023-07-08tests/lint: demonstrate missing warning for converting int128_trillig
2023-07-08lint: clean uprillig
PUSH nodes are not marked as binary, yet they have a left and a right operand. If none of the queries is enabled, omit the query from the debug log.
2023-07-08kern_resource.c: Fix brace placement.riastradh
No functional change intended.
2023-07-08lint: enable more lint warnings for its own source coderillig
2023-07-08tests/lint: fix a few ilp32 testsrillig
2023-07-08lint: fix handling of 'long double' in cross-compiled moderillig
When lint is compiled on x86-64 (where 'long double' has a 64-bit mantissa) and targets arm (where 'long double' has a 53-bit mantissa), warn if a constant cannot fit in the 'long double' of the target platform, not of the host platform.
2023-07-08tests/lint: automate accepting changed test resultsrillig
2023-07-08lint: clarify the meaning of 'portable size in bits' of a typerillig
No functional change.
2023-07-08lint: use consistent conditional compilation guardsrillig
2023-07-08tests/lint: only overwrite .exp files if the output actually changesrillig
2023-07-08Make mstats() decl match prototype so this compiles with -DMSTATS.simonb
2023-07-07lint: only warn about traditional/C90 differences in migration moderillig
In C99 mode, there is no point warning about traditional C. No change in the tests, as a complete test suite would require several new test files, and migration mode is not used intensively.
2023-07-07lint: warn about function definitions without header declarationrillig
The existing warning was only issued for function declarations, not for function definitions. The interesting change in the tests is in msg_351.c. Many other tests use non-static functions due to their syntactic brevity. In these tests, the warning is disabled individually, to allow new functions to be added without generating warning 351.
2023-07-07Revert unintentional changes to kern_lock.c in previous commit.riastradh
2023-07-07heartbeat(9): Test whether curcpu is stable, not kpreempt_disabled.riastradh
kpreempt_disabled worked for my testing because I tested on aarch64, which doesn't have kpreemption. XXX Should move curcpu_stable() to somewhere that other things can use it.
2023-07-07xcall(9): If !mp_online, raise spl or set LP_BOUND to call func.riastradh
High-priority xcalls may reasonably assume that the spl is raised to splsoftserial, so make sure to do that in xc_broadcast. Low-priority xcalls may reasonably enter paths that assume the lwp is bound to a CPU, so let's make it assertable even if it doesn't have any other consequences when !mp_online. XXX pullup-8 XXX pullup-9 XXX pullup-10
2023-07-07heartbeat(9): markup fixesuwe
Use .Cd for options. Don't use the usual <space><tab>, which is superfluous in the man page. Paragraph break after the config section of synopsis, before the C API section.
2023-07-07Unmask event after VCPUOP_stop_periodic_timer andbouyer
initializing ci->ci_xen_hardclock_systime_ns, to avoid a possible race with xen_timer_handler()
2023-07-07sys/param.h: Welcome to 10.99.5, courtesy of heartbeat(9).riastradh
2023-07-07heartbeat(9): Fix grammaro in man page.riastradh
2023-07-07Replace main(9) reference with code locationwiz
2023-07-07Sort SEE ALSOwiz
2023-07-07amd64/ALL: Turn on heartbeat checks.riastradh
2023-07-07heartbeat(9): New mechanism to check progress of kernel.riastradh
This uses hard interrupts to check progress of low-priority soft interrupts, and one CPU to check progress of another CPU. If no progress has been made after a configurable number of seconds (kern.heartbeat.max_period, default 15), then the system panics -- preferably on the CPU that is stuck so we get a stack trace in dmesg of where it was stuck, but if the stuckness was detected by another CPU and the stuck CPU doesn't acknowledge the request to panic within one second, the detecting CPU panics instead. This doesn't supplant hardware watchdog timers. It is possible for hard interrupts to be stuck on all CPUs for some reason too; in that case heartbeat(9) has no opportunity to complete. Downside: heartbeat(9) relies on hardclock to run at a reasonably consistent rate, which might cause trouble for the glorious tickless future. However, it could be adapted to take a parameter for an approximate number of units that have elapsed since the last call on the current CPU, rather than treating that as a constant 1. XXX kernel revbump -- changes struct cpu_info layout
2023-07-07crashme(9): New crash methods with raised ipl or kpreempt disabled.riastradh
2023-07-07doc/HACKS: Document PR port-alpha/57511rin
2023-07-07PR port-alpha/57511 Temporally disable secure PLT for alpharin
until support is added to ld.elf_so(1).
2023-07-07Fix locking error when setting the multicast filter to accept allmartin
multicast frames, pointed out by Lwazi Dube.
2023-07-07virtio(4): Fix byte order of DMA data for armeb in the same manner asrin
aarch64eb. Fix comments to explain what is going on for {arm,aarch64}eb on QEMU. This is not due to QEMU bugs; it correctly configures everything for little-endian environment, and we forcibly change byte order only for CPU cores during kernel bootstrap.
2023-07-07Remove extra whitespace inserted during merge. No binary changes.rin
2023-07-07Remove duplicate OpenBSD RCSID.rin
2023-07-07lint: only skip 'unused' warnings after errors, not other warningsrillig
Previously, in -w mode, any warning suppressed further 'unused' warnings, even though there was no need to do that. This can be seen in the test gcc_attribute_var.c, where only the last unused variable from a function was marked as unused, the others slipped through. Fixed by counting the errors and the warnings separately and only combining them if actually desired.
2023-07-07tprof(8): Add support for Skylake-X and Cascade Lake.msaitoh