summaryrefslogtreecommitdiff
path: root/kernel/kmalloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/kmalloc.c')
-rw-r--r--kernel/kmalloc.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/kernel/kmalloc.c b/kernel/kmalloc.c
index 356aab0..6a7520a 100644
--- a/kernel/kmalloc.c
+++ b/kernel/kmalloc.c
@@ -116,3 +116,19 @@ void kbfree(uint32_t pos)
mark_free(blk,map[blk]);
spinlock_release(SPINLOCK_ALLOC);
}
+
+void kmalloc_sysfs(void (*f)(char *fmt, ...))
+{
+ uint32_t free=0;
+ uint32_t used=0;
+ for(int i=0;i<BLOCKS;i++)
+ {
+ if(map[i]) used++;
+ else free++;
+ }
+
+ f("kernel blocks allocation/deallocation");
+ f("total 4096kb blocks: %d (%d bytes)",BLOCKS,BLOCKS*4096);
+ f("used 4096kb blocks: %d (%d bytes)",used,used*4096);
+ f("free 4096kb blocks: %d (%d bytes)",free,free*4096);
+}