From f5f0f5ddae199121daebcd2213aabd81686cc074 Mon Sep 17 00:00:00 2001 From: Benji Dial Date: Tue, 24 Dec 2019 22:31:22 -0500 Subject: start of 0.0.9 branch, using multiboot this time --- src/kernel/proc.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/kernel/proc.c') diff --git a/src/kernel/proc.c b/src/kernel/proc.c index a0fb863..84075d7 100644 --- a/src/kernel/proc.c +++ b/src/kernel/proc.c @@ -25,9 +25,10 @@ uint16_t new_proc(uint8_t *file) { uint16_t handle = open_file(file); if (handle) for (uint16_t id = 3; id; ++id) - if (!PROCS[id].memory_start) { + if (!proc_table[id].memory_start) { uint32_t size = get_size(id); - void *mem = PROCS[id].memory_start = allocate_pages(PROCS[id].n_pages = (size - 1) / 4096 + 1, id); + void *mem; + proc_table[id].memory_end = size + (proc_table[id].memory_start = allocate_block(size, id)); read_file(handle, size, mem); close_file(handle); //Process file header and make new process @@ -38,6 +39,6 @@ uint16_t new_proc(uint8_t *file) { } void end_proc(uint16_t id) { - deallocate_pages(PROCS[id].memory_start, PROCS[id].n_pages); - PROCS[id].memory_start = 0; + deallocate_block(proc_table[id].memory_start); + proc_table[id].memory_start = 0; } \ No newline at end of file -- cgit v1.2.3