mirror of
https://github.com/LearningOS/rust-based-os-comp2022.git
synced 2026-05-09 23:31:29 +08:00
19 lines
708 B
Rust
19 lines
708 B
Rust
pub const USER_STACK_SIZE: usize = 4096 * 2;
|
|
pub const KERNEL_STACK_SIZE: usize = 4096 * 2;
|
|
pub const KERNEL_HEAP_SIZE: usize = 0x30_0000;
|
|
pub const MEMORY_END: usize = 0x88000000;
|
|
pub const PAGE_SIZE: usize = 0x1000;
|
|
pub const PAGE_SIZE_BITS: usize = 0xc;
|
|
pub const MAX_SYSCALL_NUM: usize = 500;
|
|
|
|
pub const TRAMPOLINE: usize = usize::MAX - PAGE_SIZE + 1;
|
|
pub const TRAP_CONTEXT: usize = TRAMPOLINE - PAGE_SIZE;
|
|
/// Return (bottom, top) of a kernel stack in kernel space.
|
|
pub fn kernel_stack_position(app_id: usize) -> (usize, usize) {
|
|
let top = TRAMPOLINE - app_id * (KERNEL_STACK_SIZE + PAGE_SIZE);
|
|
let bottom = top - KERNEL_STACK_SIZE;
|
|
(bottom, top)
|
|
}
|
|
|
|
pub const CLOCK_FREQ: usize = 12500000;
|