Fixed bugs about kheap, paging and ordered list
Furthermore, added Heap kernel driver code for both allocation and deallocation free() does not works yet: `ASSERTION-FAILED(head->magic == HEAP_MAGIC) at kheap.c:261`
This commit is contained in:
@@ -10,9 +10,13 @@
|
||||
#include "drivers/idt.h"
|
||||
#include "drivers/timer.h"
|
||||
#include "drivers/keyboard.h"
|
||||
#include "drivers/paging.h"
|
||||
#include "drivers/kheap.h"
|
||||
#include "shell/shell.h"
|
||||
#include "libc/stdio.h"
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
void kernel_main() {
|
||||
printf_color("\n[STATUS]", LIGHT_GREEN, BLACK);
|
||||
printf_color(" - Loading kernel, wait please...", WHITE, BLACK);
|
||||
@@ -33,6 +37,19 @@ void kernel_main() {
|
||||
printf_color("\n[INFO]", LIGHT_CYAN, BLACK);
|
||||
printf_color(" - Loaded PS/2 driver", WHITE, BLACK);
|
||||
|
||||
printf_color("\n[TEST]", LIGHT_BROWN, BLACK); // Testing heap
|
||||
printf_color(" - Allocating heap blocks..\n", LIGHT_BROWN, BLACK);
|
||||
|
||||
uint32_t x = kmalloc(8), y = kmalloc(16), z = kmalloc(32);
|
||||
printf("x: %x, y: %x, z: %x", x, y, z);
|
||||
|
||||
printf_color("\n[TEST]", LIGHT_BROWN, BLACK); // Testing heap
|
||||
printf_color(" - Freeing heap blocks..\n", LIGHT_BROWN, BLACK);
|
||||
kfree((void*)x), kfree((void*)y), kfree((void*)z);
|
||||
|
||||
printf_color("\n[STATUS]", LIGHT_GREEN, BLACK);
|
||||
printf_color(" - Heap worked successfullt!", WHITE, BLACK);
|
||||
|
||||
iceos_ascii_logo();
|
||||
init_prompt(); // Initialize frame buffer
|
||||
}
|
||||
Reference in New Issue
Block a user