kernel: add sys mem resource

This commit is contained in:
2026-07-08 13:55:46 +03:00
parent 5aeb2e8631
commit 9360e493db
2 changed files with 22 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
use crate::{memory, sync::CleanLockToken, syscall::error::Result};
use alloc::vec::Vec;
pub fn resource(_token: &mut CleanLockToken) -> Result<Vec<u8>> {
let total_kib = memory::total_frames() as u64 * memory::PAGE_SIZE as u64 / 1024;
let free_kib = memory::free_frames() as u64 * memory::PAGE_SIZE as u64 / 1024;
Ok(format!(
"MemTotal: {} kB\n\
MemFree: {} kB\n\
MemAvailable: {} kB\n\
Buffers: 0 kB\n\
Cached: 0 kB\n\
SwapTotal: 0 kB\n\
SwapFree: 0 kB\n\
SwapCached: 0 kB\n",
total_kib, free_kib, free_kib
)
.into_bytes())
}
+2
View File
@@ -34,6 +34,7 @@ mod fdstat;
mod iostat;
mod irq;
mod log;
mod mem;
mod msr;
mod stat;
mod syscall;
@@ -110,6 +111,7 @@ const FILES: &[(&str, Kind)] = &[
("iostat", Rd(iostat::resource)),
("irq", Rd(irq::resource)),
("log", Rd(log::resource)),
("mem", Rd(mem::resource)),
("syscall", Rd(syscall::resource)),
("uname", Rd(uname::resource)),
("env", Rd(|_| Ok(Vec::from(crate::startup::init_env())))),