Re-added branch. Planning for Strategy/OO refactor.
Private virtual methods will be added to files touched to implement our schemes, so that the original calls the base version and the protection schemes are implemented as subclasses that overload the virtual methods.
Refactored MemoryController. Tested removing timeAdded from Transactions.
Tested removing timeReturned.
Transactions and BusPackets seem to have this unnecessary variable that complicates things.
Attempted to refactor CommandQueue, but it seems buggy.
Fixed refactor bug.
The function normalPopClosePage needed a return true at the end.
Fixed CommandQueue.h issue from last commit
Successfully added Memory Controller subclass for Fixed Time.
MemoryControllerFT is instantiated in place of the base class if the PerThread queueing structure is parsed from the System.ini file. The subclass for the CommandQueue will be added next (as is minimally required). If it seems feasible subclasses for Transactions and BusPackets will be added as well, but they seem to be very tightly coupled with the parent and instantiated frequently. Eventually the parser check for the queueing structure will be replaced with a new System.ini parser check, or with a new command line option, but it is unclear how this command line option will be set in GEM5.
Subclass for CommandQueue with Fixed Time.
Parse Protection mode from system.ini
Completed Timing Partitioning Integration.
Everything is tested and working. Timing Partitioning still works with 30000 cycles of simulation. This completes the unification. The unified branch will soon be merged with the master.
Merged unified with master.
Note that compilation with GEM5 is untested. Testing and debugging with GEM5 imminent.