diff --git a/src/sys/mm/kmalloc.c b/src/sys/mm/kmalloc.c index e6f7052..98c824b 100644 --- a/src/sys/mm/kmalloc.c +++ b/src/sys/mm/kmalloc.c @@ -12,12 +12,15 @@ if(size <= 0) kpanic("kmalloc: trying to allocate zero sized page\n"); - pages = size / 4096.0; + if(size < 4096) + pages = 1.0; + else + pages = size / 4096.0; tmp2 = NULL; - kprintf("Trying to allocate [%d] pages\n", pages); + kprintf("Trying to allocate [%d] bytes\n", size); - for(p = 1.0 ; p < pages ; p += 1.0) + for(p = 0.0 ; p < pages ; p += 1.0) { if(tmp2 != NULL) tmp->Link = tmp2; diff --git a/src/sys/mm/memory.c b/src/sys/mm/memory.c index 31d5c42..af5604f 100644 --- a/src/sys/mm/memory.c +++ b/src/sys/mm/memory.c @@ -69,11 +69,10 @@ { mMap *tmp, *tmpMap; freePages--; - kprintf("Z = %d + sizeof %d + 1 = %d\n", z, sizeof(mMap), z + (sizeof(mMap)+1)); +// kprintf("Z = %d + sizeof %d + 1 = %d\n", z, sizeof(mMap), z + (sizeof(mMap)+1)); - if(mmFreePages == NULL) + if(mmUsedPages == NULL) { - kprintf("I'm null!\n"); mmUsedPages = (z + sizeof(mMap)); mmUsedPages->First = NULL; mmUsedPages->Last = NULL; @@ -90,8 +89,6 @@ mmUsedPages->First = tmpMap; z+=(sizeof(mMap)+1); - kprintf("z = %d numPages = %d pageAddr = [%d] tmpAddr = [%d]\n", z, numPages, tmpMap->pageAddr, tmpMap); - return tmpMap; }