jasonwhite / jasonwhite/syscalls

Implement SysnoSet for each architecture

Open
#21 0 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.