jasonwhite / jasonwhite/syscalls
Implement SysnoSet for each architecture
- Dominant language
- Rust
- Stars
- 141
- Forks
- 23
- PR merge metrics
- No merged PRs in 30d
Description
Currently, `SysnoSet` is only implemented for the current architecture. It would be nice to round out the API and include it in all of the architectures exposed via `syscalls::{x86,arm,mips,...}::*`.
However, to do this, we'll have to generate separate implementations for each architecture. I looked into making a trait to reduce code duplication, but since most of the `SysnoSet` API is `const`, there is no way to call trait methods because they can't be `const`. Thus, I think the whole `SysnoSet` implementation will need to be wrapped in a macro to stamp out the implementation for each architecture.
Or, we can just wait for const in traits to be stabilized.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the current-architecture SysnoSet implementation and the architecture modules exposed through syscalls::{x86,arm,mips,...}::*. Read how those modules define their syscall APIs, then ensure SysnoSet is available for each exposed architecture; done means every architecture has the same const API without relying on const trait methods.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- operating-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100