mem-cache: Add multiple eviction stats
[gem5.git] / src / arch / x86 / stacktrace.cc
index 2d9eaea7301cbf1a2d63f4f7d45f1f0a91456e21..0141a9e75cec223e5ee1326f02fa5376a61ca223 100644 (file)
@@ -47,7 +47,7 @@ namespace X86ISA
 static int32_t
 readSymbol(ThreadContext *tc, const std::string name)
 {
-    FSTranslatingPortProxy &vp = tc->getVirtProxy();
+    PortProxy &vp = tc->getVirtProxy();
     SymbolTable *symtab = tc->getSystemPtr()->kernelSymtab;
 
     Addr addr;
@@ -75,7 +75,7 @@ ProcessInfo::task(Addr ksp) const
 
     Addr tsk;
 
-    FSTranslatingPortProxy &vp = tc->getVirtProxy();
+    PortProxy &vp = tc->getVirtProxy();
     tsk = vp.read<Addr>(base + task_off, GuestByteOrder);
 
     return tsk;
@@ -90,7 +90,7 @@ ProcessInfo::pid(Addr ksp) const
 
     uint16_t pd;
 
-    FSTranslatingPortProxy &vp = tc->getVirtProxy();
+    PortProxy &vp = tc->getVirtProxy();
     pd = vp.read<uint16_t>(task + pid_off, GuestByteOrder);
 
     return pd;
@@ -104,7 +104,7 @@ ProcessInfo::name(Addr ksp) const
         return "console";
 
     char comm[256];
-    CopyStringOut(tc, comm, task + name_off, sizeof(comm));
+    tc->getVirtProxy().readString(comm, task + name_off, sizeof(comm));
     if (!comm[0])
         return "startup";
 
@@ -164,8 +164,7 @@ StackTrace::decodePrologue(Addr sp, Addr callpc, Addr func,
     ra = 0;
 
     for (Addr pc = func; pc < callpc; pc += sizeof(MachInst)) {
-        MachInst inst;
-        CopyOut(tc, (uint8_t *)&inst, pc, sizeof(MachInst));
+        MachInst inst = tc->getVirtProxy().read<MachInst>(pc);
 
         int reg, disp;
         if (decodeStack(inst, disp)) {
@@ -176,7 +175,7 @@ StackTrace::decodePrologue(Addr sp, Addr callpc, Addr func,
             size += disp;
         } else if (decodeSave(inst, reg, disp)) {
             if (!ra && reg == ReturnAddressReg) {
-                CopyOut(tc, (uint8_t *)&ra, sp + disp, sizeof(Addr));
+                ra = tc->getVirtProxy().read<Addr>(sp + disp);
                 if (!ra) {
                     // panic("no return address value pc=%#x\n", pc);
                     return false;