aboutsummaryrefslogtreecommitdiff
path: root/src/defs.rs
diff options
context:
space:
mode:
authorTianhao Wang <shrik3@mailbox.org>2024-05-30 09:35:16 +0200
committerTianhao Wang <shrik3@mailbox.org>2024-06-11 15:17:11 +0200
commit714e69d281e8b61d4214cea1c7e0a33a2f9cde71 (patch)
treef7723a75835d9af0b1bd090d9dd3bd2511066f84 /src/defs.rs
parentfe791acbe74705b7401a19f1d85cb2f51e8ff616 (diff)
mm: fix Range type and addr rounding
Signed-off-by: Tianhao Wang <shrik3@mailbox.org>
Diffstat (limited to 'src/defs.rs')
-rw-r--r--src/defs.rs31
1 files changed, 3 insertions, 28 deletions
diff --git a/src/defs.rs b/src/defs.rs
index 3724c41..ddde0da 100644
--- a/src/defs.rs
+++ b/src/defs.rs
@@ -22,28 +22,15 @@ pub fn pmap_bss_end() -> u64 {
return ___BSS_END__ as u64;
}
-pub struct Mem;
-pub struct VAddr(u64);
-#[derive(Debug)]
-pub struct Range {
- pub addr: u64,
- pub len: u64,
-}
-
pub fn roundup_4k(addr: u64) -> u64 {
- return (addr + 0x1000) & 0xffff_ffff_ffff_0000;
+ return (addr + 0xfff) & !0xfff;
}
pub fn rounddown_4k(addr: u64) -> u64 {
- return addr & 0xffff_ffff_ffff_0000;
-}
-
-impl Range {
- pub fn contains(&self, addr: u64) -> bool {
- return self.addr <= addr && addr < self.addr + self.len;
- }
+ return addr & !0xfff;
}
+pub struct Mem;
impl Mem {
// units
pub const K: u64 = 1024;
@@ -70,18 +57,6 @@ impl Mem {
pub const PHY_BM_SIZE: u64 = Mem::PHY_PAGES >> 3;
}
-impl VAddr {
- pub fn roundup_4k(&self) {
- todo!()
- }
- pub fn rounddown_4k(&self) {
- todo!()
- }
- pub fn page_number(&self) -> u64 {
- self.0 >> Mem::PAGE_SHIFT
- }
-}
-
// PHY_TOP 128M
// ~ free frames
// PMA::bitmap + PHY_BM_SIZE