@@ -1,15 +1,15 @@
#include"memory.h"
#include<lib.h>
#include<naiveConsole.h>

#include<pAllocator.h>


#define PAGE 0x1000
#define MAX_LEVEL 13
#define MAX_INDEX 12
#define TOTAL_MEMORY 0x1000000000
#define TOTAL_MEMORY 0x10000000000
#define CMP 0x8000000000000000
#define HEAP_START 0x700000
#define HEAP_START 0x80000000

static uint64_t * bitmaps[MAX_LEVEL + 1];
extern uint8_t endOfKernel;
@@ -39,28 +39,49 @@ mem_setup(uint64_t himem_size)
//ncPrint("bitmap addr: ");
//ncPrintHex(&bitmaps);
//ncNewline();
uint64_t addr = (void*) 0x600000;
int i;
uint64_t size = 0;
for(i=0;i<MAX_LEVEL;i++)
{
size = (level_size(i)) * sizeof(uint64_t);
}
ncPrint("size: ");
ncPrintHex(size);
ncNewline();

uint64_t addr =(uint64_t) 0x600000;

ncPrint("start: ");
ncPrintHex(addr);
ncPrint(" end: ");
ncPrintHex(addr + size - 1);
ncNewline();

ncPrint("dir :");
ncPrintHex(&mem_setup);
ncNewline();
for(i=0;i<MAX_LEVEL;i++)
{
bitmaps[i] = addr;
if(i == 1)
while(1);
addr += (level_size(i)) * sizeof(uint64_t);

//ncPrint("level: ");
//ncPrintDec(i);;
//ncPrint(" level_addr: ");
//ncPrintHex(bitmaps[i]);
ncPrint(" level_addr: ");
ncPrintHex(bitmaps[i]);
//ncPrint(" level_size: ");
//ncPrintDec(level_size(i));
//ncPrint(" block_size: ");
//ncPrintDec(block_size(i));

memset(bitmaps[i],0,level_size(i)*sizeof(uint64_t));
//ncNewline();



}

memset(bitmaps[MAX_INDEX],0xAAAAAAAA,level_size(i)*sizeof(uint64_t));


@@ -243,14 +264,6 @@ getBlock(int buddyIndex)
return (void*)0xDEAD;
}

void
panic(char* msg)
{
//ncPrint(msg);
//ncNewline();
while(1);
//exit(1);
}

void*
dir(int i, int offset, int level)