summaryrefslogtreecommitdiff
path: root/kernel/kmalloc.c
diff options
context:
space:
mode:
authorMiguel <m.i@gmx.at>2018-09-16 23:46:30 +0200
committerMiguel <m.i@gmx.at>2018-09-16 23:46:30 +0200
commit06e6e427c76bdb88a7f72dd04411d95a4bda3270 (patch)
tree5c2bae3ca5292bf3db58c33ef3d7f4f3947593c3 /kernel/kmalloc.c
parent740ae2e69995df37c44fe61f57642ee642982ca2 (diff)
starting to create sysfs
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);
+}