kernel: add sys mem resource
This commit is contained in:
@@ -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())
|
||||
}
|
||||
@@ -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())))),
|
||||
|
||||
Reference in New Issue
Block a user