allocArea: implement allocPhy failure case

This commit is contained in:
Mathieu Maret 2021-10-29 23:06:03 +02:00
parent 7081fea36d
commit 55e709adb5
2 changed files with 4 additions and 7 deletions

View File

@ -49,7 +49,6 @@ int allocSetup(size_t sizeOfArea, vaddr_t *areaAddr, vaddr_t *descAddr, vaddr_t
*descAddr = (vaddr_t)allocGetSlab(sizeof(struct slabDesc));
assert(allocBookSlab(sizeof(struct slabEntry), PAGE_SIZE, TRUE, FALSE) == 0);
*entryAddr = (vaddr_t)allocGetSlab(sizeof(struct slabEntry));
printf("allocSetup for sizeOfArea %d\n", sizeOfArea);
assert(allocBookSlab(sizeOfArea, PAGE_SIZE, TRUE, TRUE) == 0);
*areaAddr = (vaddr_t)allocGetSlab(sizeOfArea);
allocInitialized = TRUE;

View File

@ -112,10 +112,9 @@ vaddr_t areaBook(unsigned int nbPages, uint32_t flags)
}
}
if (page == (paddr_t)NULL) {
printf("Ooops\n");
// TODO
// assert(0);
areaFree(allocated);
restore_IRQs(irqFlags);
return (vaddr_t)NULL;
}
}
@ -175,10 +174,9 @@ vaddr_t areaAlloc(unsigned int nbPages, uint32_t flags)
}
}
if (page == (paddr_t)NULL) {
printf("Ooops\n");
// TODO
// assert(0);
areaFree(allocated->startAddr);
restore_IRQs(irqFlags);
return (vaddr_t)NULL;
}
}