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