Trait Machinelike
pub trait Machinelike {
type ExcepBacktrace: Display;
type ExcepStackFrame: Display;
type FaultStatus: Display;
Show 13 methods
// Required methods
fn init();
fn init_irqs(
register: fn(usize, fn(*mut u8, usize, Option<usize>), Option<usize>) -> Result<(), PosixError>,
);
fn print(s: &str) -> Result<(), PosixError>;
fn bench_start();
fn bench_end() -> (u32, f32);
fn monotonic_now() -> u64;
fn monotonic_freq() -> u64;
fn systick_freq() -> u64;
fn backtrace(
initial_fp: *const usize,
stack_ptr: *const usize,
) -> Self::ExcepBacktrace;
fn stack_frame(stack_ptr: *const usize) -> Self::ExcepStackFrame;
fn get_fault_status(fault: Fault) -> Self::FaultStatus;
fn panic_handler(info: &PanicInfo<'_>) -> !;
fn do_tick();
}Required Associated Types§
Required Methods§
fn init()
fn init_irqs(
register: fn(usize, fn(*mut u8, usize, Option<usize>), Option<usize>) -> Result<(), PosixError>,
)
fn init_irqs( register: fn(usize, fn(*mut u8, usize, Option<usize>), Option<usize>) -> Result<(), PosixError>, )
Register HAL-owned IRQs through the kernel-supplied callback.
fn print(s: &str) -> Result<(), PosixError>
fn bench_start()
fn bench_end() -> (u32, f32)
fn monotonic_now() -> u64
fn monotonic_freq() -> u64
fn systick_freq() -> u64
fn backtrace( initial_fp: *const usize, stack_ptr: *const usize, ) -> Self::ExcepBacktrace
fn stack_frame(stack_ptr: *const usize) -> Self::ExcepStackFrame
fn get_fault_status(fault: Fault) -> Self::FaultStatus
fn panic_handler(info: &PanicInfo<'_>) -> !
fn do_tick()
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.