pub trait KernelResources<C: Chip> {
    type SyscallDriverLookup: SyscallDriverLookup;
    type SyscallFilter: SyscallFilter;
    type ProcessFault: ProcessFault;
    type ContextSwitchCallback: ContextSwitchCallback;
    type Scheduler: Scheduler<C>;
    type SchedulerTimer: SchedulerTimer;
    type WatchDog: WatchDog;
    // Required methods
    fn syscall_driver_lookup(&self) -> &Self::SyscallDriverLookup;
    fn syscall_filter(&self) -> &Self::SyscallFilter;
    fn process_fault(&self) -> &Self::ProcessFault;
    fn context_switch_callback(&self) -> &Self::ContextSwitchCallback;
    fn scheduler(&self) -> &Self::Scheduler;
    fn scheduler_timer(&self) -> &Self::SchedulerTimer;
    fn watchdog(&self) -> &Self::WatchDog;
}Expand description
Combination trait that boards provide to the kernel that includes all of the extensible operations the kernel supports.
This is the primary method for configuring the kernel for a specific board.
Required Associated Types§
Sourcetype SyscallDriverLookup: SyscallDriverLookup
 
type SyscallDriverLookup: SyscallDriverLookup
The implementation of the system call dispatch mechanism the kernel will use.
Sourcetype SyscallFilter: SyscallFilter
 
type SyscallFilter: SyscallFilter
The implementation of the system call filtering mechanism the kernel will use.
Sourcetype ProcessFault: ProcessFault
 
type ProcessFault: ProcessFault
The implementation of the process fault handling mechanism the kernel will use.
Sourcetype ContextSwitchCallback: ContextSwitchCallback
 
type ContextSwitchCallback: ContextSwitchCallback
The implementation of the context switch callback handler the kernel will use.
Sourcetype Scheduler: Scheduler<C>
 
type Scheduler: Scheduler<C>
The implementation of the scheduling algorithm the kernel will use.
Sourcetype SchedulerTimer: SchedulerTimer
 
type SchedulerTimer: SchedulerTimer
The implementation of the timer used to create the timeslices provided to applications.
Required Methods§
Sourcefn syscall_driver_lookup(&self) -> &Self::SyscallDriverLookup
 
fn syscall_driver_lookup(&self) -> &Self::SyscallDriverLookup
Returns a reference to the implementation of the SyscallDriverLookup this platform will use to route syscalls.
Sourcefn syscall_filter(&self) -> &Self::SyscallFilter
 
fn syscall_filter(&self) -> &Self::SyscallFilter
Returns a reference to the implementation of the SyscallFilter this platform wants the kernel to use.
Sourcefn process_fault(&self) -> &Self::ProcessFault
 
fn process_fault(&self) -> &Self::ProcessFault
Returns a reference to the implementation of the ProcessFault handler this platform wants the kernel to use.
Sourcefn context_switch_callback(&self) -> &Self::ContextSwitchCallback
 
fn context_switch_callback(&self) -> &Self::ContextSwitchCallback
Returns a reference to the implementation of the ContextSwitchCallback for this platform.
Sourcefn scheduler(&self) -> &Self::Scheduler
 
fn scheduler(&self) -> &Self::Scheduler
Returns a reference to the implementation of the Scheduler this platform wants the kernel to use.
Sourcefn scheduler_timer(&self) -> &Self::SchedulerTimer
 
fn scheduler_timer(&self) -> &Self::SchedulerTimer
Returns a reference to the implementation of the SchedulerTimer timer for this platform.