TD3:I5 put PageProvider in the right place

This commit is contained in:
Yorick Barbanneau 2021-12-14 22:56:21 +01:00
parent 469c62ee82
commit 7deeec90f1
4 changed files with 13 additions and 10 deletions

View file

@ -61,11 +61,7 @@ Machine::Machine(bool debug)
mainMemory = new char[MemorySize];
for (i = 0; i < MemorySize; i++)
mainMemory[i] = 0;
#ifdef CHANGED
pageProvider = new PageProvider((int)(MemorySize/PageSize));
#endif
DEBUG ('a', "Allocated page: %i\n", page);
#ifdef USE_TLB
#ifdef USE_TLB
tlb = new TranslationEntry[TLBSize];
for (i = 0; i < TLBSize; i++)
tlb[i].valid = FALSE;

View file

@ -205,9 +205,6 @@ class Machine:public dontcopythis {
TranslationEntry *currentPageTable;
unsigned int currentPageTableSize;
#ifdef CHANGED
PageProvider * pageProvider;
#endif // CHANGED
private:
bool singleStep; // drop back into the debugger after each
// simulated instruction

View file

@ -36,6 +36,7 @@ Machine *machine; // user program memory and registers
#ifdef CHANGED // Define our consoledriver Object
ConsoleDriver *consoledriver;
PageProvider *pageProvider;
#endif // CHANGED
#endif // USER_PROGRAM
@ -184,8 +185,11 @@ Initialize (int argc, char **argv)
#ifdef USER_PROGRAM
machine = new Machine (debugUserProg); // this must come first
#endif
#ifdef CHANGED
pageProvider = new PageProvider((int)(MemorySize/PageSize));
#endif //CHANGED
#endif
#ifdef FILESYS
synchDisk = new SynchDisk ("DISK");
#endif
@ -240,6 +244,10 @@ Cleanup ()
delete consoledriver;
consoledriver = NULL;
}
if (pageProvider){
delete pageProvider;
pageProvider = NULL;
}
#endif
#endif

View file

@ -37,7 +37,9 @@ extern Machine *machine; // user program memory and registers
#define MAX_STRING_SIZE 8
#include "consoledriver.h"
extern ConsoleDriver *consoledriver; // add console driver
#endif
#include "pageprovider.h"
extern PageProvider *pageProvider; // add our page provider
#endif //CHANGED
#endif