Add iopl/ioperm to all linuxes
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @JohnTitor (or someone else) some time within the next two weeks.
Please see the contribution instructions for more information. Namely, in order to ensure the minimum review times lag, PR authors and assigned reviewers should ensure that the review label (S-waiting-on-review and S-waiting-on-author) stays updated, invoking these commands when appropriate:
-
@rustbot author: the review is finished, PR author should check the comments and take action accordingly -
@rustbot review: the author is ready for a review, this PR will be queued again in the reviewer's queue
@JohnTitor is this ok?
so, what is the process? I got an email saying @fslongjin approved this, what is next? Do we need another review?
These are Linux syscalls so should be available everywhere, not just x86. It should probably mirror ioctl and be at least in unix/linux_like/linux/{gnu,musl,android} (near ioctl). Please try this, CI will test the other platforms for you. The semver tests will need to be updated too.
I don't think there is any good reason to add iopl unless you have the xserver usecase, considering it has been deprecated since 2020 https://github.com/mkerrisk/man-pages/commit/6caf6c4380f2c6d706c3df6dcf2d8c3b9438d724.
- https://linux.die.net/man/2/ioperm
- https://man7.org/linux/man-pages/man2/iopl.2.html
@rustbot author
iopl is used by https://github.com/pop-os/system76-firmware
I will try to add this to all platforms.
Since you mentioned ioctl, I have rebased this on top of my other MR so that there is only one place to add these.
These are Linux syscalls so should be available everywhere, not just x86. It should probably mirror
ioctland be at least inunix/linux_like/linux/{gnu,musl,android}(near ioctl). Please try this, CI will test the other platforms for you. The semver tests will need to be updated too.
I just tried, and it looks like it is not available on arm or ppc. OK to leave it as x86_64/i686 only?
so, in summary, iopl is needed, and it can't be declared next to iocl, because it is not available everywhere ioctl is.
Fyi you can
@rustbot review
To get the labels updated that this is ready for reveiew. I'll take another look.