aboutsummaryrefslogtreecommitdiff
path: root/src/defs.rs
diff options
context:
space:
mode:
authorTianhao Wang <wth@riseup.net>2024-02-05 14:04:25 +0100
committerTianhao Wang <shrik3@mailbox.org>2024-06-11 15:13:38 +0200
commit5e9190ff1a7d35e812b42c5bb9cbb742c2d313fb (patch)
tree39fca5cda21500f51488193018a45f65c768d0ad /src/defs.rs
parent959d50d9117a0ed3f280bf7d5bfbffd1fa1a5740 (diff)
MM: add modules for memory management
Diffstat (limited to 'src/defs.rs')
-rw-r--r--src/defs.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/defs.rs b/src/defs.rs
new file mode 100644
index 0000000..3c1ff57
--- /dev/null
+++ b/src/defs.rs
@@ -0,0 +1,13 @@
+pub struct Mem;
+impl Mem {
+ // units
+ pub const K: usize = 1024;
+ pub const M: usize = 1024 * Mem::K;
+ pub const G: usize = 1024 * Mem::M;
+ // physical memory
+ pub const PHY_TOP: usize = 128 * Mem::M; // qemu defaults to 128 MiB phy Memory
+ pub const PAGE_SIZE: usize = 0x1000;
+ pub const PAGE_SHIFT: usize = 12;
+ pub const PHY_PAGES: usize = Mem::PHY_TOP >> Mem::PAGE_SHIFT;
+ pub const PAGE_MASK: u64 = 0xfff;
+}