aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kernel/include/region.h2
-rw-r--r--kernel/include/task.h4
-rw-r--r--kernel/l0/kmain.c27
-rw-r--r--kernel/l0/paging.c4
-rw-r--r--kernel/l0/region.c2
-rw-r--r--kernel/l0/task.c4
6 files changed, 23 insertions, 20 deletions
diff --git a/kernel/include/region.h b/kernel/include/region.h
index b45a85d..d7a47c4 100644
--- a/kernel/include/region.h
+++ b/kernel/include/region.h
@@ -43,6 +43,6 @@ void region_free_unmap_free(void* addr);
// region_free_unmap : deletes a region and unmaps all frames that were mapped in it, without freeing them
void region_free_unmap(void* addr);
-void dbg_print_region_stats();
+void dbg_print_region_info();
/* vim: set ts=4 sw=4 tw=0 noet :*/
diff --git a/kernel/include/task.h b/kernel/include/task.h
index b7dc02f..0faa8b3 100644
--- a/kernel/include/task.h
+++ b/kernel/include/task.h
@@ -35,13 +35,13 @@ typedef struct task {
typedef void (*entry_t)(void*);
void tasking_setup(entry_t cont, void* data); // never returns
-task_t *new_task(entry_t entry); // task is PAUSED, and must be resume_with_result'ed
+task_t *new_task(entry_t entry); // task is PAUSED, and must be resume_task_with_result'ed
extern task_t *current_task;
void yield();
void* wait_for_result();
-void resume_with_result(task_t *task, void* data, bool run_at_once);
+void resume_task_with_result(task_t *task, void* data, bool run_at_once);
/* vim: set ts=4 sw=4 tw=0 noet :*/
diff --git a/kernel/l0/kmain.c b/kernel/l0/kmain.c
index 0a6bed9..2ce3749 100644
--- a/kernel/l0/kmain.c
+++ b/kernel/l0/kmain.c
@@ -24,28 +24,28 @@ void breakpoint_handler(registers_t *regs) {
void region_test1() {
void* p = region_alloc(0x1000, REGION_T_HW, 0);
dbg_printf("Allocated one-page region: 0x%p\n", p);
- dbg_print_region_stats();
+ dbg_print_region_info();
void* q = region_alloc(0x1000, REGION_T_HW, 0);
dbg_printf("Allocated one-page region: 0x%p\n", q);
- dbg_print_region_stats();
+ dbg_print_region_info();
void* r = region_alloc(0x2000, REGION_T_HW, 0);
dbg_printf("Allocated two-page region: 0x%p\n", r);
- dbg_print_region_stats();
+ dbg_print_region_info();
void* s = region_alloc(0x10000, REGION_T_CORE_HEAP, 0);
dbg_printf("Allocated 16-page region: 0x%p\n", s);
- dbg_print_region_stats();
+ dbg_print_region_info();
region_free(p);
dbg_printf("Freed region 0x%p\n", p);
- dbg_print_region_stats();
+ dbg_print_region_info();
region_free(q);
dbg_printf("Freed region 0x%p\n", q);
- dbg_print_region_stats();
+ dbg_print_region_info();
region_free(r);
dbg_printf("Freed region 0x%p\n", r);
- dbg_print_region_stats();
+ dbg_print_region_info();
region_free(s);
dbg_printf("Freed region 0x%p\n", s);
- dbg_print_region_stats();
+ dbg_print_region_info();
}
void region_test2() {
@@ -77,7 +77,7 @@ void region_test2() {
void kmalloc_test(void* kernel_data_end) {
// Test kmalloc !
- dbg_print_region_stats();
+ dbg_print_region_info();
dbg_printf("Begin kmalloc test...\n");
const int m = 200;
uint16_t** ptr = kmalloc(m * sizeof(uint32_t));
@@ -88,7 +88,7 @@ void kmalloc_test(void* kernel_data_end) {
*ptr[i] = ((i * 211) % 1024);
}
dbg_printf("Fully allocated.\n");
- dbg_print_region_stats();
+ dbg_print_region_info();
for (int i = 0; i < m; i++) {
for (int j = i; j < m; j++) {
ASSERT(*ptr[j] == (j * 211) % 1024);
@@ -97,7 +97,7 @@ void kmalloc_test(void* kernel_data_end) {
}
kfree(ptr);
dbg_printf("Kmalloc test OK.\n");
- dbg_print_region_stats();
+ dbg_print_region_info();
}
void test_task(void* a) {
@@ -113,7 +113,10 @@ void test_task(void* a) {
}
void kernel_init_stage2(void* data) {
task_t *tb = new_task(test_task);
- resume_with_result(tb, 0, false);
+ resume_task_with_result(tb, 0, false);
+
+ dbg_print_region_info();
+ dbg_print_frame_stats();
while(1) {
dbg_printf("a");
diff --git a/kernel/l0/paging.c b/kernel/l0/paging.c
index 93cbc38..9879c9f 100644
--- a/kernel/l0/paging.c
+++ b/kernel/l0/paging.c
@@ -69,7 +69,7 @@ void page_fault_handler(registers_t *regs) {
if ((size_t)vaddr >= PD_MIRROR_ADDR) {
dbg_printf("Fault on access to mirrorred PD at 0x%p\n", vaddr);
- dbg_print_region_stats();
+ dbg_print_region_info();
PANIC("Unhandled kernel space page fault");
}
@@ -82,7 +82,7 @@ void page_fault_handler(registers_t *regs) {
if (i->pf == 0) {
dbg_printf("Kernel pagefault in region with no handler at 0x%p\n", vaddr);
dbg_dump_registers(regs);
- dbg_print_region_stats();
+ dbg_print_region_info();
PANIC("Unhandled kernel space page fault");
}
i->pf(get_current_pagedir(), i, vaddr);
diff --git a/kernel/l0/region.c b/kernel/l0/region.c
index a384a4d..956ec07 100644
--- a/kernel/l0/region.c
+++ b/kernel/l0/region.c
@@ -371,7 +371,7 @@ void region_free_unmap(void* ptr) {
// DEBUG LOG PRINTING FUNCTION //
// =========================== //
-void dbg_print_region_stats() {
+void dbg_print_region_info() {
mutex_lock(&ra_mutex);
dbg_printf("/ Free kernel regions, by address:\n");
diff --git a/kernel/l0/task.c b/kernel/l0/task.c
index 80066d8..cf22f9d 100644
--- a/kernel/l0/task.c
+++ b/kernel/l0/task.c
@@ -168,7 +168,7 @@ void tasking_setup(entry_t cont, void* arg) {
task_t *t = new_task(cont);
ASSERT(t != 0);
- resume_with_result(t, arg, false);
+ resume_task_with_result(t, arg, false);
run_scheduler(); // never returns
ASSERT(false);
@@ -204,7 +204,7 @@ void* wait_for_result() {
return result;
}
-void resume_with_result(task_t *task, void* data, bool run_at_once) {
+void resume_task_with_result(task_t *task, void* data, bool run_at_once) {
bool st = disable_interrupts();
task->has_result = true;