[fix] Serial & PFPrint

This commit is contained in:
2026-05-24 19:48:37 +08:00
Unverified
parent 4fc02d296f
commit 2c17e426c1
4 changed files with 35 additions and 57 deletions
+12 -19
View File
@@ -1,7 +1,6 @@
#include <memory/heap.h>
#include <memory/pmm.h>
#include <serial.h>
#include <BUILD_INFOS.h>
struct heap_block {
UINTN size; // includes header; bit 0 = 1 used, 0 free
@@ -67,11 +66,9 @@ static void heap_expand(UINTN min_size) {
g_heap_end = (UINT8*)new_block + BLOCK_SIZE(new_block);
}
if (ENABLE_SERIAL_PRINTS) {
serial_write("HEAP: expanded by ");
serial_write_hex(pages * PAGE_SIZE);
serial_write(" bytes\n");
}
serial_write("HEAP: expanded by ");
serial_write_hex(pages * PAGE_SIZE);
serial_write(" bytes\n");
}
void init_heap() {
@@ -89,13 +86,11 @@ void init_heap() {
initial->next = NULL;
g_heap_free_list = initial;
if (ENABLE_SERIAL_PRINTS) {
serial_write("HEAP: init OK, ");
serial_write_hex(HEAP_INIT_PAGES * PAGE_SIZE);
serial_write(" bytes @ ");
serial_write_hex((UINTN)mem);
serial_write("\n");
}
serial_write("HEAP: init OK, ");
serial_write_hex(HEAP_INIT_PAGES * PAGE_SIZE);
serial_write(" bytes @ ");
serial_write_hex((UINTN)mem);
serial_write("\n");
}
void* kmalloc(UINTN size) {
@@ -125,7 +120,7 @@ void* kmalloc(UINTN size) {
block->size = block_sz | 1; // mark used
}
if (ENABLE_SERIAL_PRINTS && size > 1024) {
if (size > 1024) {
serial_write("HEAP: kmalloc ");
serial_write_hex(size);
serial_write(" -> ");
@@ -180,11 +175,9 @@ void kfree(void* ptr) {
block->next = *prev;
*prev = block;
if (ENABLE_SERIAL_PRINTS) {
serial_write("HEAP: kfree @ ");
serial_write_hex((UINTN)ptr);
serial_write("\n");
}
serial_write("HEAP: kfree @ ");
serial_write_hex((UINTN)ptr);
serial_write("\n");
}
void* kcalloc(UINTN num, UINTN size) {