diff options
author | Ian Moffett <ian@osmora.org> | 2024-05-23 01:31:02 -0400 |
---|---|---|
committer | Ian Moffett <ian@osmora.org> | 2024-05-23 03:18:13 -0400 |
commit | e0b34937b1bd674c05d609331501f81740fbb87f (patch) | |
tree | 0cf3fc3dca22b4322b174cf6fbbfcff075e7c010 /sys/include/vm | |
parent | 5559da2299dc50b50c62d7d1b92b769803fb9321 (diff) |
kernel: vm: Add memory stats
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'sys/include/vm')
-rw-r--r-- | sys/include/vm/physseg.h | 7 | ||||
-rw-r--r-- | sys/include/vm/vm.h | 6 |
2 files changed, 13 insertions, 0 deletions
diff --git a/sys/include/vm/physseg.h b/sys/include/vm/physseg.h index aced4cb..af8cae8 100644 --- a/sys/include/vm/physseg.h +++ b/sys/include/vm/physseg.h @@ -32,8 +32,15 @@ #include <sys/types.h> +struct physmem_stat { + size_t reserved_kib; /* Reserved memory */ + size_t total_kib; /* Total memory */ +}; + void vm_physseg_init(void); uintptr_t vm_alloc_pageframe(size_t count); + void vm_free_pageframe(uintptr_t base, size_t count); +struct physmem_stat vm_phys_memstat(void); #endif /* !_VM_VM_PHYSSEG_H_ */ diff --git a/sys/include/vm/vm.h b/sys/include/vm/vm.h index 975eff0..f6fba66 100644 --- a/sys/include/vm/vm.h +++ b/sys/include/vm/vm.h @@ -39,6 +39,7 @@ #include <sys/cdefs.h> #include <vm/page.h> #include <vm/pmap.h> +#include <vm/physseg.h> extern volatile struct limine_hhdm_request g_hhdm_request; @@ -52,6 +53,10 @@ struct vm_range { uintptr_t end; }; +struct vm_memstat { + struct physmem_stat pmem_stat; +}; + /* * Returns the machine's pagesize: * @@ -67,5 +72,6 @@ vm_get_page_size(void) void vm_init(void); struct vm_ctx *vm_get_ctx(void); struct vas vm_get_kvas(void); +struct vm_memstat vm_memstat(void); #endif /* !_VM_H_ */ |