Kernel: kmalloc_eternal now updates the used/free values

I also improved the kmalloc_dump_info() formatting. We format the
values as 8-digit hex numbers since (atleast for now) the kmalloc
will always be under 4 GiB address and size :)
This commit is contained in:
Bananymous 2023-01-26 03:04:19 +02:00
parent e00d18029d
commit f0093ed2fd
1 changed files with 8 additions and 6 deletions

View File

@ -90,13 +90,13 @@ void kmalloc_initialize()
void kmalloc_dump_info()
{
kprintln("kmalloc: {}->{}", (void*)s_kmalloc_base, (void*)s_kmalloc_end);
kprintln(" used: {}", s_kmalloc_used);
kprintln(" free: {}", s_kmalloc_free);
kprintln("kmalloc: 0x{8H}->0x{8H}", s_kmalloc_base, s_kmalloc_end);
kprintln(" used: 0x{8H}", s_kmalloc_used);
kprintln(" free: 0x{8H}", s_kmalloc_free);
kprintln("kmalloc eternal: {}->{}", (void*)s_kmalloc_eternal_base, (void*)s_kmalloc_eternal_end);
kprintln(" used: {}", s_kmalloc_eternal_used);
kprintln(" free: {}", s_kmalloc_eternal_free);
kprintln("kmalloc eternal: 0x{8H}->0x{8H}", s_kmalloc_eternal_base, s_kmalloc_eternal_end);
kprintln(" used: 0x{8H}", s_kmalloc_eternal_used);
kprintln(" free: 0x{8H}", s_kmalloc_eternal_free);
}
void* kmalloc_eternal(size_t size)
@ -106,6 +106,8 @@ void* kmalloc_eternal(size_t size)
ASSERT(s_kmalloc_eternal_ptr + size < s_kmalloc_eternal_end);
void* result = (void*)s_kmalloc_eternal_ptr;
s_kmalloc_eternal_ptr += size;
s_kmalloc_eternal_used += size;
s_kmalloc_eternal_free -= size;
return result;
}