Преглед на файлове

riscv64, hal: simplify ArchMemory::free_ram implementation

We already have `FDT.present_ram().free_ram()`. Remove the impl in
`ArchMemory` to avoid confusion.

Signed-off-by: greatbridf <greatbridf@icloud.com>
greatbridf преди 1 седмица
родител
ревизия
6a00786407
променени са 1 файла, в които са добавени 1 реда и са изтрити 24 реда
  1. 1 24
      crates/eonix_hal/src/arch/riscv64/mm.rs

+ 1 - 24
crates/eonix_hal/src/arch/riscv64/mm.rs

@@ -274,30 +274,7 @@ impl Memory for ArchMemory {
     }
 
     fn free_ram() -> impl Iterator<Item = PRange> {
-        unsafe extern "C" {
-            fn __kernel_start();
-            fn __kernel_end();
-        }
-
-        let kernel_end = PAddr::from(__kernel_end as usize - KIMAGE_OFFSET);
-        let paddr_after_kimage_aligned = kernel_end.ceil_to(0x200000);
-
-        core::iter::once(PRange::new(kernel_end, paddr_after_kimage_aligned))
-            .chain(
-                Self::present_ram()
-                    .filter(move |range| {
-                        range.end() > paddr_after_kimage_aligned
-                    })
-                    .map(move |range| {
-                        if range.start() < paddr_after_kimage_aligned {
-                            let (_, right) =
-                                range.split_at(paddr_after_kimage_aligned);
-                            right
-                        } else {
-                            range
-                        }
-                    }),
-            )
+        FDT.present_ram().free_ram()
     }
 }