Added the rest of the framework for instrumenting the emulator.

git-svn-id: http://www.cdkersey.com/harp/harptool@32 0246edb2-e076-4747-b392-db732a341fa2
This commit is contained in:
chad
2011-10-19 02:13:13 +00:00
parent 85b40db3d1
commit 15774083d0
4 changed files with 81 additions and 61 deletions

View File

@@ -110,6 +110,9 @@ MemoryUnit::TLBEntry MemoryUnit::tlbLookup(Addr vAddr, Word flagMask) {
}
Word MemoryUnit::read(Addr vAddr, bool sup) {
#ifdef EMU_INSTRUMENTATION
#error TODO: instrument Harp::MemoryUnit::read()
#endif
Word flagMask = sup?8:1;
TLBEntry t = tlbLookup(vAddr, flagMask);
Addr pAddr = t.pfn*pageSize + vAddr%pageSize;
@@ -117,6 +120,9 @@ Word MemoryUnit::read(Addr vAddr, bool sup) {
}
Word MemoryUnit::fetch(Addr vAddr, bool sup) {
#ifdef EMU_INSTRUMENTATION
#error TODO: instrument Harp::MemoryUnit::fetch()
#endif
Word flagMask = sup?32:4;
TLBEntry t = tlbLookup(vAddr, flagMask);
Addr pAddr = t.pfn*pageSize + vAddr%pageSize;
@@ -124,6 +130,9 @@ Word MemoryUnit::fetch(Addr vAddr, bool sup) {
}
void MemoryUnit::write(Addr vAddr, Word w, bool sup) {
#ifdef EMU_INSTRUMENTATION
#error TODO: instrument Harp::MemoryUnit::write()
#endif
Word flagMask = sup?16:2;
TLBEntry t = tlbLookup(vAddr, flagMask);
Addr pAddr = t.pfn*pageSize + vAddr%pageSize;