libriscv-macros

Crates.iolibriscv-macros
lib.rslibriscv-macros
version0.2.0
created_at2025-12-20 09:49:13.367556+00
updated_at2026-01-24 11:26:54.626135+00
descriptionProc-macro helpers for libriscv
homepage
repositoryhttps://github.com/cijiugechu/libriscv
max_upload_size
id1996277
size27,448
Cistus Creticus (cijiugechu)

documentation

README

libriscv-macros

Proc-macro helpers for libriscv to declare syscall, stdout, and error handlers, including the syscall registry macros.

How to use

Add this crate as a dependency (usually via libriscv) and apply the attribute macros to your handler functions. See the libriscv crate for signatures and examples.

Short example using the syscall registry macros:

use libriscv::{syscall, syscall_registry, SyscallContext, SyscallResult};

#[syscall_registry]
mod host_syscalls {
    use super::*;

    #[syscall(id = 1)]
    fn write(_ctx: &mut SyscallContext) -> SyscallResult<()> {
        Ok(())
    }
}

let registry = host_syscalls::registry().unwrap();
Commit count: 20

cargo fmt