pub struct Arch;Trait Implementations§
Source§impl IMemoryProtection for Arch
impl IMemoryProtection for Arch
Source§type MemoryRegion = MemoryRegion
type MemoryRegion = MemoryRegion
Precalculated memory region configuration.
Source§fn enable_memory_protection()
fn enable_memory_protection()
Enable memory protection hardware.
Source§fn disable_memory_protection()
fn disable_memory_protection()
Disable memory protection hardware.
Source§fn enable_memory_region(region: u8, config: Config)
fn enable_memory_region(region: u8, config: Config)
Setup and enable one memory region. Read more
Source§fn disable_memory_region(region: u8)
fn disable_memory_region(region: u8)
Disable one memory region.
Source§fn prepare_memory_region(region: u8, config: Config) -> Self::MemoryRegion
fn prepare_memory_region(region: u8, config: Config) -> Self::MemoryRegion
Compile register values from configuration and store in
MemoryRegion. Read moreSource§fn prepare_unused_region(region: u8) -> Self::MemoryRegion
fn prepare_unused_region(region: u8) -> Self::MemoryRegion
Compile register values for an unused memory region.
Source§fn apply_regions(memory_regions: &[MemoryRegion; 3])
fn apply_regions(memory_regions: &[MemoryRegion; 3])
Apply 3 precompiled memory regions.
Source§fn min_region_size() -> Byte
fn min_region_size() -> Byte
Minimal region size that can be protected.
Source§fn n_memory_regions() -> u8
fn n_memory_regions() -> u8
Returns the number of memory regions.
Source§impl IScheduler for Arch
impl IScheduler for Arch
Source§unsafe fn init_task_stack(
stack_ptr: *mut usize,
entry: *const usize,
arg: *const usize,
exit: *const usize,
) -> *mut usize
unsafe fn init_task_stack( stack_ptr: *mut usize, entry: *const usize, arg: *const usize, exit: *const usize, ) -> *mut usize
Init the stack of task. Read more
Source§fn start_first_task(stack_ptr: *const usize)
fn start_first_task(stack_ptr: *const usize)
Start the first task.
Source§fn trigger_context_switch()
fn trigger_context_switch()
Trigger context switch exception.
Source§impl IStartup for Arch
impl IStartup for Arch
Source§fn init_static_region(region: Region)
fn init_static_region(region: Region)
Init static region.
Source§fn kernel_data() -> Region
fn kernel_data() -> Region
Kernel data region.
Source§fn kernel_heap() -> Region
fn kernel_heap() -> Region
Kernel heap region.
Auto Trait Implementations§
impl Freeze for Arch
impl RefUnwindSafe for Arch
impl Send for Arch
impl Sync for Arch
impl Unpin for Arch
impl UnwindSafe for Arch
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more