Compare commits
2 Commits
f64bbd9d90
...
3b7543064d
Author | SHA1 | Date |
---|---|---|
Mathieu Maret | 3b7543064d | |
Mathieu Maret | 9e5b4f0060 |
2
Makefile
2
Makefile
|
@ -20,7 +20,7 @@ cobj=$(csrc:%.c=%.o) arch/$(ARCH)/cpu_context_switch.o arch/$(ARCH)/irq_pit.o
|
|||
deps = $(csrc:%.c=%.d)
|
||||
|
||||
kernel:$(asmobj) $(cobj) linker.ld
|
||||
$(CC) -m32 -ffreestanding -nostdlib $(cobj) $(asmobj) -o $@ -T linker.ld -lgcc -no-pie
|
||||
$(CC) -m32 -ffreestanding -nostdlib $(cobj) $(asmobj) -o $@ -T linker.ld -lgcc
|
||||
objcopy --only-keep-debug $@ $@.sym
|
||||
objcopy --strip-debug $@
|
||||
|
||||
|
|
10
core/alloc.c
10
core/alloc.c
|
@ -217,9 +217,8 @@ static void *allocFromSlab(struct slabEntry *slab)
|
|||
if (*next == (vaddr_t)NULL) {
|
||||
pr_devel("Slab @%d is now full\n", slab);
|
||||
slab->full = 1;
|
||||
} else {
|
||||
slab->freeEl = (void *)(*next);
|
||||
}
|
||||
slab->freeEl = (void *)(*next);
|
||||
|
||||
return (void *)next;
|
||||
}
|
||||
|
@ -289,12 +288,7 @@ static int freeFromSlab(void *ptr, struct slabEntry *slab)
|
|||
if ((slabEntry->page <= (vaddr_t)ptr) &&
|
||||
((vaddr_t)ptr < (slabEntry->page + slabEntry->size))) {
|
||||
|
||||
if (slabEntry->full) {
|
||||
*((vaddr_t *)ptr) = (vaddr_t)NULL;
|
||||
} else {
|
||||
*((vaddr_t *)ptr) = (vaddr_t)slabEntry->freeEl;
|
||||
}
|
||||
|
||||
*((vaddr_t *)ptr) = (vaddr_t)slabEntry->freeEl;
|
||||
slabEntry->freeEl = ptr;
|
||||
slabEntry->full = 0;
|
||||
return 1;
|
||||
|
|
Loading…
Reference in New Issue