From aa4b4c6c1918a51318709761873d1c5e248a831d Mon Sep 17 00:00:00 2001 From: Miguel Date: Fri, 7 Sep 2018 03:01:28 +0200 Subject: apic timer smp --- kernel/kmalloc.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'kernel/kmalloc.c') diff --git a/kernel/kmalloc.c b/kernel/kmalloc.c index ec714c4..6a5812a 100644 --- a/kernel/kmalloc.c +++ b/kernel/kmalloc.c @@ -1,7 +1,7 @@ - #include "kmalloc.h" #include "kernel.h" +#include "spinlock.h" static uint8_t data[KMALLOC_MEM_SIZE]; // bytes @@ -32,11 +32,15 @@ static void kmallocinit() uint32_t kballoc(uint32_t size) { size*=4096; + + spinlock_spin(SPINLOCK_ALLOC); + + if(!init)kmallocinit(); - if(!init)kmallocinit(); + uint32_t old=next; + next+=size; - uint32_t old=next; - next+=size; + spinlock_release(SPINLOCK_ALLOC); if(next>=first+KMALLOC_MEM_SIZE) { -- cgit v1.2.3