This generally looks fine.
Wed, Nov 25
This is fine. I didn't do it because it with kern/syscalls.master was a bunch of work and I intended to delete this file in the near future. I still intend to delete it, but I've not managed to get the task of finishing the job to the top of my priority list long enough.
Unfortunately, much of the redundancy removed here isn't redundant for CHERI. On CHERI systems freebsd32__umtx_op_args can not be cast to _umtx_op_args. I'll need to ponder how best to proceed. For now I think I'll merge as-is and make compat32 more broken in CheriBSD.
Fri, Nov 20
Thu, Nov 19
- Remove nonsensical !s
I'm likewise skeptical that any powerpc works
- Fix powerpc64 case.
- Use MACHINE_CPUARCH for mips and riscv
Tue, Nov 17
How did this work for anyone? I tripped on it in CheriBSD on aarch64 just now (this is with llvm ~11.0.0).
Mon, Nov 16
Fri, Nov 13
kill it with fire
Wed, Nov 11
Tue, Nov 10
I remember that powerpc64le is on it's way so I've given powerp64 the same treatment.
- give powerpc64 the match treatment as well
CI build (which isn't very interesting) https://github.com/brooksdavis/freebsd/tree/init-all
This isn't about permissions on the existing page. This is: "the programmer said I want RX, but never more than R". EDOOFUS might be more appropriate, but is non-POSIX.
amd64 CI run https://cirrus-ci.com/task/5036030833197056
There might be something to be said for a LINKER_FEATURES=lto in bsd.compiler.mk, but I'm not sure that we need to generalize from one example.
Sat, Nov 7
We've tested this extensively in CheriBSD on RISC-V.
Fri, Nov 6
Is specialfd supposed to be a public or private interface? If private I'd suggest __specialfd to make that clear.
- VFS_QUOTACTL(9): correct type of arg
Wed, Nov 4
Tue, Nov 3
Thu, Oct 29
Wed, Oct 28
Oct 27 2020
Oct 26 2020
Oct 23 2020
Oct 22 2020
Technically speaking this code is broken on FreeBSD <2 (see the code right above this), but I can't bring myself to do the reshuffling to fix that...
The check is also just plain wrong. The question isn't "what version of FreeBSD is the compiler targeting?" It's "what version of FreeBSD is providing the headers?" Obviously they should match, but checking the right thing means I don't have to dig into libcompat build bits on 11.
I couldn't find an easier way to determine if the compiler was suitable. It might be that we want to skip these tests entirely instead, but then we're voting to make them dead code in the long term.
Oct 21 2020
Oct 19 2020
- GC a dead check.
- Pass size rather than smuggling via b_bufsize.
Oct 15 2020
Oct 14 2020
I needed this change in CheriBSD because we can't store user pointers in bio_data due to a type mismatch and we need to pass the pointer (rather than an address) to vm_fault_quick_hold_pages.
Cirrus-CI run https://cirrus-ci.com/task/5195860164214784
This looks like a nice improvement and the error/warning bits resolve my initial concern about maintenance.
Ooh I just had a galaxy brain idea. What if we introduce one syscall, specialfd with args being an int for the type constant and a void* that points to per-type args structs. (Maybe also len to allow extending structs while keeping the same type.) This way, one syscall would allow adding more similar facilities later (like timerfd or something completely new.. and e.g. shm_open2 could have been this) without having a new syscall-worthiness debate each time!