TD3:I5 put PageProvider in the right place
This commit is contained in:
parent
469c62ee82
commit
7deeec90f1
4 changed files with 13 additions and 10 deletions
|
@ -61,10 +61,6 @@ Machine::Machine(bool debug)
|
||||||
mainMemory = new char[MemorySize];
|
mainMemory = new char[MemorySize];
|
||||||
for (i = 0; i < MemorySize; i++)
|
for (i = 0; i < MemorySize; i++)
|
||||||
mainMemory[i] = 0;
|
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];
|
tlb = new TranslationEntry[TLBSize];
|
||||||
for (i = 0; i < TLBSize; i++)
|
for (i = 0; i < TLBSize; i++)
|
||||||
|
|
|
@ -205,9 +205,6 @@ class Machine:public dontcopythis {
|
||||||
|
|
||||||
TranslationEntry *currentPageTable;
|
TranslationEntry *currentPageTable;
|
||||||
unsigned int currentPageTableSize;
|
unsigned int currentPageTableSize;
|
||||||
#ifdef CHANGED
|
|
||||||
PageProvider * pageProvider;
|
|
||||||
#endif // CHANGED
|
|
||||||
private:
|
private:
|
||||||
bool singleStep; // drop back into the debugger after each
|
bool singleStep; // drop back into the debugger after each
|
||||||
// simulated instruction
|
// simulated instruction
|
||||||
|
|
|
@ -36,6 +36,7 @@ Machine *machine; // user program memory and registers
|
||||||
|
|
||||||
#ifdef CHANGED // Define our consoledriver Object
|
#ifdef CHANGED // Define our consoledriver Object
|
||||||
ConsoleDriver *consoledriver;
|
ConsoleDriver *consoledriver;
|
||||||
|
PageProvider *pageProvider;
|
||||||
#endif // CHANGED
|
#endif // CHANGED
|
||||||
|
|
||||||
#endif // USER_PROGRAM
|
#endif // USER_PROGRAM
|
||||||
|
@ -184,8 +185,11 @@ Initialize (int argc, char **argv)
|
||||||
|
|
||||||
#ifdef USER_PROGRAM
|
#ifdef USER_PROGRAM
|
||||||
machine = new Machine (debugUserProg); // this must come first
|
machine = new Machine (debugUserProg); // this must come first
|
||||||
#endif
|
|
||||||
|
|
||||||
|
#ifdef CHANGED
|
||||||
|
pageProvider = new PageProvider((int)(MemorySize/PageSize));
|
||||||
|
#endif //CHANGED
|
||||||
|
#endif
|
||||||
#ifdef FILESYS
|
#ifdef FILESYS
|
||||||
synchDisk = new SynchDisk ("DISK");
|
synchDisk = new SynchDisk ("DISK");
|
||||||
#endif
|
#endif
|
||||||
|
@ -240,6 +244,10 @@ Cleanup ()
|
||||||
delete consoledriver;
|
delete consoledriver;
|
||||||
consoledriver = NULL;
|
consoledriver = NULL;
|
||||||
}
|
}
|
||||||
|
if (pageProvider){
|
||||||
|
delete pageProvider;
|
||||||
|
pageProvider = NULL;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,9 @@ extern Machine *machine; // user program memory and registers
|
||||||
#define MAX_STRING_SIZE 8
|
#define MAX_STRING_SIZE 8
|
||||||
#include "consoledriver.h"
|
#include "consoledriver.h"
|
||||||
extern ConsoleDriver *consoledriver; // add console driver
|
extern ConsoleDriver *consoledriver; // add console driver
|
||||||
#endif
|
#include "pageprovider.h"
|
||||||
|
extern PageProvider *pageProvider; // add our page provider
|
||||||
|
#endif //CHANGED
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue