TD3:I6 Use PageProvider in AddrSpace

First Working version, need better error handling
This commit is contained in:
Yorick Barbanneau 2021-12-07 23:54:07 +01:00
parent 7deeec90f1
commit f7eca8c6ac
5 changed files with 16 additions and 9 deletions

View file

@ -99,8 +99,13 @@ AddrSpace::AddrSpace (OpenFile * executable)
pageTable = new TranslationEntry[numPages];
for (i = 0; i < numPages; i++)
{
pageTable[i].physicalPage = i; // for now, phys page # = virtual page #
pageTable[i].valid = TRUE;
// pageTable[i].physicalPage = i; // for now, phys page # = virtual page #
#ifdef CHANGED
int newPage = pageProvider->GetEmptyPage();
ASSERT(newPage != -1);
pageTable[i].physicalPage = newPage;
#endif
pageTable[i].valid = TRUE;
pageTable[i].use = FALSE;
pageTable[i].dirty = FALSE;
pageTable[i].readOnly = FALSE; // if the code segment was entirely on