memory. But we have a problem with the ISA I/O MEM, because its va is
located above the kernel and its pa below it, so it does not respect
the rule.
To compensate for that we make the map look like the ISA stuff is above
the kernel by applying an offset on the pa. The issue with this design is
that we systematically lose 96 pages of physical memory.
Fix this by applying the offset on the va instead. Now these 96 pages are
internalized into uvm, and the rule is respected until kern_end.
This allows us to return EEXIST instead of EPERM for higher secure levels.
My use case was to stop npfctl complaining that it could not load bpfjit
on ERLITE when it was compiled into the kernel.
It then went on to complain that NPF performance would be de-graded,
but this is clearly not the case.
Other ports than amd64 have their own issues, mostly keeping this call as
unimplemented.
While there cast sig_atomic_t to int in the printf(3)-like call -- pointed
out by <martin>
Sponsored by <The NetBSD Foundation>
Currently this test fails on amd64.
PR port-amd64/51700
exect(NULL,NULL,NULL) generates 15859 times SIGTRAP on amd64
On FreeBSD/amd64 this tests passes correctly.
Sponsored by <The NetBSD Foundation>
Add missing SIGTRAP handler. Assert there that the signal is SIGTRAP as
expected and si_code TRAP_TRACE.
This test will break on some ports that have dummy or incomplete
implementation of exect(2).
This test works on amd64 correctly.
Sponsored by <The NetBSD Foundation>
This test is a clone of tests/lib/libc/gen/execve/t_execve
t_exect_null:
Tests an empty exect(2) executing
The function exect() executes a file with the program tracing facilities
enabled (see ptrace(2)).
-- exect(2)
This test will be attached to build afterwards.
Sponsored by <The NetBSD Foundation>
can get missing entries!). Instead, as a temporary solution, we switch
to a simple linear scan of the hash tables for the longest-prefix-match
(lpm.c lpm.h) algorithm. In fact, with few unique prefixes in the set,
on modern hardware this simple algorithm is pretty fast anyway!
Reported error:
src/tests/kernel/t_ptrace_wait.c:4401:33:
error: missing field 'pl_event' initializer
[-Werror,-Wmissing-field-initializers]
Line in the code:
struct ptrace_lwpinfo info = {0};
Appease it with initializing info to {0, 0}.
Sponsored by <The NetBSD Foundation>
posted to tech-kern:
* Simultaneous playback and mixing of multiple streams
* Playback streams can be of different encoding, frequency, precision
and number of channels
* Simultaneous recording to different formats
* One audio device per process
* Sysctls to set the common format frequency, precision and channels
* Independent mixer controls for recording/playback per stream
* Utilizes little cpu time for multiple streams / good performance
* Compatible with existing programs that use OSS/NetBSD audio
* Changes to audioctl(1) to allow specifying process id for corresponding
audio device