mirror of
https://github.com/saymrwulf/xous-core.git
synced 2026-11-12 07:44:18 +00:00
48 lines
1.8 KiB
Rust
48 lines
1.8 KiB
Rust
#![no_std]
|
|
|
|
#[cfg(feature = "swap")]
|
|
pub mod swap;
|
|
|
|
pub const PAGE_SIZE: usize = 4096;
|
|
pub type XousPid = u8;
|
|
#[cfg(not(feature = "swap"))]
|
|
pub type XousAlloc = XousPid;
|
|
#[cfg(feature = "swap")]
|
|
pub type XousAlloc = swap::SwapAlloc;
|
|
|
|
pub const FLG_VALID: usize = 0x1;
|
|
pub const FLG_X: usize = 0x8;
|
|
pub const FLG_W: usize = 0x4;
|
|
pub const FLG_R: usize = 0x2;
|
|
pub const FLG_U: usize = 0x10;
|
|
#[cfg(not(feature = "atsama5d27"))]
|
|
pub const FLG_A: usize = 0x40;
|
|
#[cfg(not(feature = "atsama5d27"))]
|
|
pub const FLG_D: usize = 0x80;
|
|
pub const FLG_P: usize = 0x200;
|
|
|
|
pub const FLG_SWAP_USED: u32 = 0x8000_0000;
|
|
|
|
// Locate the hard-wired IFRAM allocations for UDMA
|
|
#[allow(dead_code)]
|
|
#[cfg(feature = "cramium-soc")]
|
|
pub const UART_IFRAM_ADDR: usize = utralib::HW_IFRAM0_MEM + utralib::HW_IFRAM0_MEM_LEN - 4096;
|
|
#[allow(dead_code)]
|
|
#[cfg(feature = "cramium-soc")]
|
|
pub const APP_UART_IFRAM_ADDR: usize = utralib::HW_IFRAM0_MEM + utralib::HW_IFRAM0_MEM_LEN - 3 * 4096;
|
|
|
|
/// This is the amount of space that the loader stack will occupy as it runs, assuming no swap and giving one
|
|
/// page for the clean suspend marker
|
|
#[cfg(not(feature = "swap"))]
|
|
pub const GUARD_MEMORY_BYTES: usize = 3 * crate::PAGE_SIZE;
|
|
/// Amount of space for loader stack only, with swap
|
|
#[cfg(all(feature = "swap", not(feature = "resume"), not(feature = "cramium-soc")))]
|
|
pub const GUARD_MEMORY_BYTES: usize = 7 * crate::PAGE_SIZE;
|
|
#[cfg(all(feature = "swap", not(feature = "resume"), feature = "cramium-soc"))]
|
|
pub const GUARD_MEMORY_BYTES: usize = 7 * crate::PAGE_SIZE;
|
|
/// Amount of space for loader stack plus clean suspend, with swap
|
|
#[cfg(all(feature = "swap", feature = "resume"))]
|
|
pub const GUARD_MEMORY_BYTES: usize = 8 * crate::PAGE_SIZE; // 1 extra page for clean suspend
|
|
|
|
#[cfg(feature = "swap")]
|
|
pub const SWAPPER_PID: u8 = 2;
|