R
Robert Rota
Need help figuring out why my program core dumps and if I have the
structures right. If you are interested in helping me I can send you a
copy of the code. The program is supposed to mimic a 3 level
pagetable.
Thank you.
struct _PageTable {
struct _PageTable **PageArray;
unsigned int *FrameArray;
};
typedef struct _PageTable PAGETABLE;
if (PageTable->PageArray[addresslvl0] = NULL) {
PAGETABLE *lvl1;
lvl1 = malloc(sizeof(PAGETABLE));
lvl1->PageArray = malloc(sizeof(PAGETABLE) * lvl1size);
int i;
for (i = 0; i < lvl1size; i++) {
lvl1->PageArray = NULL;
}
PageTable->PageArray[addresslvl0] = lvl1;
}
if (PageTable->PageArray[addresslvl0]->PageArray[addresslvl1] = NULL)
{
PAGETABLE *lvl2;
lvl2 = malloc(sizeof(PAGETABLE));
lvl2->FrameArray = malloc(sizeof(unsigned int) * lvl2size);
int i;
for (i = 0; i < lvl2size; i++) {
lvl2->FrameArray = NULL;
}
PageTable->PageArray[addresslvl0]->PageArray[addresslvl1] = lvl2;
}
PageTable->PageArray[addresslvl0]->PageArray[addresslvl1]->FrameArray[addresslvl2]
= Frame;
structures right. If you are interested in helping me I can send you a
copy of the code. The program is supposed to mimic a 3 level
pagetable.
Thank you.
struct _PageTable {
struct _PageTable **PageArray;
unsigned int *FrameArray;
};
typedef struct _PageTable PAGETABLE;
if (PageTable->PageArray[addresslvl0] = NULL) {
PAGETABLE *lvl1;
lvl1 = malloc(sizeof(PAGETABLE));
lvl1->PageArray = malloc(sizeof(PAGETABLE) * lvl1size);
int i;
for (i = 0; i < lvl1size; i++) {
lvl1->PageArray = NULL;
}
PageTable->PageArray[addresslvl0] = lvl1;
}
if (PageTable->PageArray[addresslvl0]->PageArray[addresslvl1] = NULL)
{
PAGETABLE *lvl2;
lvl2 = malloc(sizeof(PAGETABLE));
lvl2->FrameArray = malloc(sizeof(unsigned int) * lvl2size);
int i;
for (i = 0; i < lvl2size; i++) {
lvl2->FrameArray = NULL;
}
PageTable->PageArray[addresslvl0]->PageArray[addresslvl1] = lvl2;
}
PageTable->PageArray[addresslvl0]->PageArray[addresslvl1]->FrameArray[addresslvl2]
= Frame;