Linux kernel compatibility support
Details
Mon, Jan 13
May 22 2024
May 20 2024
Mar 4 2024
Mar 2 2024
@bz thanks, commit subject line and Reviewed-by's updated.
Great catch! I wonder what else that will help for the other (unconnected) drivers. Thanks!
Now in my staging tree as:
FYI, please generate diffs for reviews with full context e.g. git diff -U999999 or git show -U999999 so that Phabricator will display the additional context on demand. See https://wiki.freebsd.org/Phabricator for more info.
Feb 18 2024
Dec 18 2023
Dec 15 2023
Sep 1 2023
This patch has been applied to src under commit af93fea710385b2b11f0cabd377e7ed6f3d97c34.
Aug 24 2023
I have this staged and plan to commit once I confirm universe builds.
Jul 18 2023
Jun 28 2023
I would like to get this patch committed before the 14.0 freeze in August. I am personally in favor of making these syscalls, but I'd like some notice if we're not going this route.
Add brief comments explaining each of the tfd_jumped macros.
May 31 2023
May 30 2023
For system calls you do need annotations, you cannot properly understand the purpose of any pointer passed to syscall otherwise. Is it in, out, in/out, or even just an abstract address like mmap/munmap/madvise arguments?
For ioctls, the meaning of the command/arg is quite formalized, at least in BSDs. You are well aware that we encode both sizes and directions for copyin and copyout. After I took some time thinking how to implement what you described, I was surprised by the statement that syscalls are easier than ioctls.
That said, I am quite dislike extending the syscall semantical coverage by adding one-off operations. In the case of special fds, having all ops grouped together (under ioctl umbrella) localizes the interfaces and make them more comprehensive. This is, of course, my opinion, but all my experience supports the claim.
I have code that automatically translates new system calls between host/target for bsd-user (though I'm not quite ready to commit it).
ioctl is possible, but has a lot more exceptional cases so is harder to do automatically. There's no automated annotation like there is for system calls.
The 'generic interfaces' require that I go and create annotations for each of the 'op codes' in that, because that doesn't exist in our current annotation.
May 22 2023
- tfd_jumped must be set to TFD_CANCELED, not TFD_JUMPED, for timerfd_settime to return ECANCELED.
- style(9) line-break fixes courtesy of @mckusick.
Er? Can you explain? What is confusing for ioctl, and what is intuitive for the syscall interface?
May 21 2023
Er? Can you explain? What is confusing for ioctl, and what is intuitive for the syscall interface?
Why? I do not like it very much. It is not as if all (or most) other individual kernel ops where performed by dedicated syscall entries, so I do not see a good reason to do it there. Ioctl perfectly fits the intent of providing file-specific requests.
- Support TFD_TIMER_CANCEL_ON_SET settime flag using timerfd_jumped().
- Convert ioctl() interface to native syscalls.
May 18 2023
I have contrary opinion about ioctl vs syscall.
May 10 2023
May 9 2023
Quick update: I'm nearly finished with my school work for the year, so I've had more time to work on this. I've nearly re-engineered the entire patch and I'm passing ~95% of the epoll-shim timerfd testing suite. I should have a new patch out in the next week (hopefully).
Apr 20 2023
Hey, couple random notes:
Apr 5 2023
Apr 4 2023
What is the destiny of these patches? Why did you not committed them still?