diff --git a/src/sys/init/main.c b/src/sys/init/main.c index c09c029..cd3c243 100755 --- a/src/sys/init/main.c +++ b/src/sys/init/main.c @@ -156,7 +156,9 @@ long xx = 0x0,yy = 0x0,zz = 0x0; uLong *testBuffer = 0x40000000; TMode_Rec *testVesa = 0x1000; - */ + */ + char *a; + char *b; initMmap(); //Initialize Memory Map clearScreen(); //Clear The Screen outputVersion(); //Display Version Info @@ -168,6 +170,9 @@ initScheduler(); //Initialize Scheduler initFloppy(); //Initialize Floppy Controller initUbixFS(); //Initialize File System + a = kmalloc(512); + b = kmalloc(37); + kprintf("[%x][%x]\n",a,b); /* kprintf("PhysBasePtr: [%i]\n",testVesa->PhysBasePtr); kprintf("BytesPerLine: [%i]\n",testVesa->BytesPerLine); diff --git a/src/sys/kernel/kmalloc.c b/src/sys/kernel/kmalloc.c index b2ce7a6..9c725d8 100755 --- a/src/sys/kernel/kmalloc.c +++ b/src/sys/kernel/kmalloc.c @@ -99,6 +99,7 @@ newDesc->base = tmpDesc->base+tmpDesc->limit + 1; newDesc->limit = tmpDesc->limit - len; } + tmpDesc->counter = 1; ret = tmpDesc->base; break; } diff --git a/src/sys/vmm/paging.c b/src/sys/vmm/paging.c index 9166e11..1e1566d 100755 --- a/src/sys/vmm/paging.c +++ b/src/sys/vmm/paging.c @@ -158,7 +158,7 @@ //Find The Page Index To The Memory Map pageIndex = (pageAddr/4096); //Check If Page COW Is Greater Then 0 If It Is Dec It If Not Free It - if (memoryMap[pageIndex].cowCounter <= 0) { + if (memoryMap[pageIndex].cowCounter == 0) { //Set Page As Avail So It Can Be Used Again memoryMap[pageIndex].status = memAvail; memoryMap[pageIndex].cowCounter = 0x0;