1#![allow(clippy::module_inception)]
7mod page_table;
8mod page_table_entry;
9
10pub use page_table::*;
11pub use page_table_entry::*;
12
13pub type ActivePageTableInner = crate::arch::mm::PageTableInner;
15
16#[derive(Debug, Clone, Copy, PartialEq, Eq)]
18pub enum PageSize {
19 Size4K = 0x1000,
20 #[allow(dead_code)] Size2M = 0x20_0000,
22 #[allow(dead_code)] Size1G = 0x4000_0000,
24 }
26
27#[derive(Debug)]
29pub enum PagingError {
30 NotMapped,
32 AlreadyMapped,
34 InvalidAddress,
36 #[allow(dead_code)] HugePageConflict,
39 InvalidFlags,
41 FrameAllocFailed,
43 #[allow(dead_code)]
45 UnsupportedMapType,
46 #[allow(dead_code)]
48 ShrinkBelowStart,
49 #[allow(dead_code)] HugePageSplitNotImplemented,
52 OutOfMemory,
54}
55
56pub type PagingResult<T> = Result<T, PagingError>;