1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
//! Startup.
/// Memory region for startup code.
#[derive(Copy, Clone)]
pub struct Region {
/// Region base address.
pub start: *const usize,
/// Region end address.
pub end: *const usize,
/// Address from which data will be loaded.
pub data: Option<*const usize>,
}
/// Startup.
pub trait IStartup {
/// Init static region.
fn init_static_region(region: Region);
/// Kernel data region.
fn kernel_data() -> Region;
/// Kernel heap region.
fn kernel_heap() -> Region;
}