kernel::config

Struct Config

Source
pub struct Config {
    pub trace_syscalls: bool,
    pub debug_load_processes: bool,
    pub debug_panics: bool,
    pub debug_process_credentials: bool,
    pub is_cheri: bool,
    pub async_mpu_config: bool,
}
Expand description

Data structure holding compile-time configuration options.

To change the configuration, modify the relevant values in the CONFIG constant object defined at the end of this file.

Fields§

§trace_syscalls: bool

Whether the kernel should trace syscalls to the debug output.

If enabled, the kernel will print a message in the debug output for each system call and upcall, with details including the application ID, and system call or upcall parameters.

§debug_load_processes: bool

Whether the kernel should show debugging output when loading processes.

If enabled, the kernel will show from which addresses processes are loaded in flash and into which SRAM addresses. This can be useful to debug whether the kernel could successfully load processes, and whether the allocated SRAM is as expected.

§debug_panics: bool

Whether the kernel should output additional debug information on panics.

If enabled, the kernel will include implementations of Process::print_full_process() and Process::print_memory_map() that display the process’s state in a human-readable form.

§debug_process_credentials: bool

Whether the kernbel should output debug information when it is checking the cryptographic credentials of a userspace process. If enabled, the kernel will show which footers were found and why processes were started or not.

§is_cheri: bool§async_mpu_config: bool

Whether or not the MMU requires asynchronous configuration

Auto Trait Implementations§

§

impl Freeze for Config

§

impl RefUnwindSafe for Config

§

impl Send for Config

§

impl Sync for Config

§

impl Unpin for Config

§

impl UnwindSafe for Config

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.