Crate rustsbi_jh7110

Crate rustsbi_jh7110 

Source
Expand description

RustSBI-JH7110 is an implementation of the RustSBI traits, and the SBI extensions relevant for the JH7110 SoC.

The project includes a library to create your own SBI firmware, and a standalone binary reference implementation.

Re-exports§

pub use sbi::*;

Modules§

asm
Assembly wrappers for low-level CPU instructions.
bits
Bit-manipulation functions from the riscv crate.
clint
Functions to access a global Clint instance.
console
JH7110 Console implementation for early boot I/O.
early_trap
Early trap handler for interrupts and exceptions.
ecall
Functions and types for SBI environment calls (ECALL).
env_info
Implementation of the EnvInfo trait.
exception
Types and functions for exception and interrupt handling.
executor
Main SBI executor implementation.
fw_dynamic_info
Firmware dynamic information
harts
HARTs information and helpers.
hpm
Represents types and functions for the HPM (Hardware Performance Monitor) subsystem.
init
Functions for board initialization.
ipi
RustSBI Ipi implementation.
kernel
Basic “kernel” integration tests.
l2pm
Represents L2 Performance Monitor Event counter configuration and counters.
pmp
Physical Memory Protection
pmu
PMU extension implementation from the SBI specification §11.
probe
Implementation of the Probe SBI Base extension function.
register
Register types for common RISC-V CSRs.
rfence
Implementation of the SBI RFNC extension.
sbi
SBI convenience functions wrapping low-level assembly.
scratch
Representation of per-HART scratch space.
timer
RustSBI Timer implementation.
tlb
Implementation of a Translation Lookaside Buffer for the SBI RFNC extension.
trap
Main trap handler impementation.
version
Implementation of the Version functions from the SBI BASE extension.

Macros§

bitfield_ops
Convenience macro to define bitfield operations on a user-defined type.
eprintln
Serial implementation of the eprintln macro from core.
print
Serial implementation of the print macro from core.
println
Serial implementation of the println macro from core.

Enums§

Error
Represents error variants for the library.

Constants§

PER_HART_STACK_SIZE
16 KiB stack for each HART
SBI_STACK_SIZE
5 HARTS

Statics§

SBI_STACK

Type Aliases§

Result
Convenience alias for the library Result type.