[fix] Serial & PFPrint
This commit is contained in:
+22
-30
@@ -1,7 +1,6 @@
|
||||
#include <memory/pmm.h>
|
||||
#include <efilib.h>
|
||||
#include <serial.h>
|
||||
#include <BUILD_INFOS.h>
|
||||
|
||||
pmm_t g_pmm;
|
||||
|
||||
@@ -158,17 +157,15 @@ EFI_STATUS pmm_init() {
|
||||
|
||||
uefi_call_wrapper((void*)ST->BootServices->FreePool, 1, mem_map);
|
||||
|
||||
if (ENABLE_SERIAL_PRINTS) {
|
||||
serial_write("PMM: init OK, total ");
|
||||
serial_write_hex(total_pages);
|
||||
serial_write(" pages (");
|
||||
serial_write_hex(total_free / (1024*1024));
|
||||
serial_write(" MB free), bitmap ");
|
||||
serial_write_hex(bitmap_pages);
|
||||
serial_write(" pages @ ");
|
||||
serial_write_hex(bitmap_addr);
|
||||
serial_write("\n");
|
||||
}
|
||||
serial_write("PMM: init OK, total ");
|
||||
serial_write_hex(total_pages);
|
||||
serial_write(" pages (");
|
||||
serial_write_hex(total_free / (1024*1024));
|
||||
serial_write(" MB free), bitmap ");
|
||||
serial_write_hex(bitmap_pages);
|
||||
serial_write(" pages @ ");
|
||||
serial_write_hex(bitmap_addr);
|
||||
serial_write("\n");
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
@@ -191,11 +188,9 @@ void* pmm_alloc_pages(UINTN n) {
|
||||
bitmap_set(idx);
|
||||
g_pmm.free_pages--;
|
||||
|
||||
if (ENABLE_SERIAL_PRINTS) {
|
||||
serial_write("PMM: alloc 1 page @ ");
|
||||
serial_write_hex((UINTN)page);
|
||||
serial_write("\n");
|
||||
}
|
||||
serial_write("PMM: alloc 1 page @ ");
|
||||
serial_write_hex((UINTN)page);
|
||||
serial_write("\n");
|
||||
return page;
|
||||
}
|
||||
|
||||
@@ -214,13 +209,11 @@ void* pmm_alloc_pages(UINTN n) {
|
||||
}
|
||||
g_pmm.free_pages -= n;
|
||||
|
||||
if (ENABLE_SERIAL_PRINTS) {
|
||||
serial_write("PMM: alloc ");
|
||||
serial_write_hex(n);
|
||||
serial_write(" pages @ ");
|
||||
serial_write_hex((UINTN)base);
|
||||
serial_write("\n");
|
||||
}
|
||||
serial_write("PMM: alloc ");
|
||||
serial_write_hex(n);
|
||||
serial_write(" pages @ ");
|
||||
serial_write_hex((UINTN)base);
|
||||
serial_write("\n");
|
||||
return base;
|
||||
}
|
||||
} else {
|
||||
@@ -247,14 +240,13 @@ void pmm_free_pages(void* addr, UINTN n) {
|
||||
g_pmm.free_list_head = page;
|
||||
}
|
||||
|
||||
if (ENABLE_SERIAL_PRINTS) {
|
||||
serial_write("PMM: free ");
|
||||
serial_write_hex(n);
|
||||
serial_write(" pages @ ");
|
||||
serial_write_hex((UINTN)addr);
|
||||
serial_write("PMM: free ");
|
||||
serial_write_hex(n);
|
||||
serial_write(" pages @ ");
|
||||
serial_write_hex((UINTN)addr);
|
||||
serial_write("\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
UINTN pmm_get_free_count() {
|
||||
return g_pmm.free_pages;
|
||||
|
||||
Reference in New Issue
Block a user