From 25988d6b717e20f8733b7a4c691397ce54ed89a0 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Mon, 7 Nov 2016 12:47:32 -0700 Subject: [PATCH] Add memory information --- scheme/sys/memory.rs | 10 ++++++++++ scheme/sys/mod.rs | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 scheme/sys/memory.rs diff --git a/scheme/sys/memory.rs b/scheme/sys/memory.rs new file mode 100644 index 0000000..ba58ae0 --- /dev/null +++ b/scheme/sys/memory.rs @@ -0,0 +1,10 @@ +use collections::Vec; + +use arch::memory::{free_frames, used_frames}; +use syscall::error::Result; + +pub fn resource() -> Result> { + let string = format!("Memory Used: {} KB\nMemory Free: {} KB\n", used_frames() * 4, free_frames() * 4); + + Ok(string.into_bytes()) +} diff --git a/scheme/sys/mod.rs b/scheme/sys/mod.rs index 7d560d3..f5ed0bf 100644 --- a/scheme/sys/mod.rs +++ b/scheme/sys/mod.rs @@ -10,10 +10,10 @@ use syscall::flag::{MODE_DIR, MODE_FILE, SEEK_CUR, SEEK_END, SEEK_SET}; use syscall::scheme::Scheme; mod context; +mod memory; mod scheme; //mod interrupt; //mod log; -//mod memory; //mod test; struct Handle { @@ -37,10 +37,10 @@ impl SysScheme { let mut files: BTreeMap<&'static [u8], Box> = BTreeMap::new(); files.insert(b"context", Box::new(move || context::resource())); + files.insert(b"memory", Box::new(move || memory::resource())); files.insert(b"scheme", Box::new(move || scheme::resource())); //files.insert(b"interrupt", Box::new(move || interrupt::resource())); //files.insert(b"log", Box::new(move || log::resource())); - //files.insert(b"memory", Box::new(move || memory::resource())); //files.insert(b"test", Box::new(move || test::resource())); SysScheme {