add fsr to the list of registers we are interested in

--HG--
extra : convert_revision : 2cc0d0144abab264aa0ec8c07242cdab2dffd4f8
This commit is contained in:
Ali Saidi 2007-01-30 18:27:04 -05:00
parent fc79ace502
commit ac36fb6e64
2 changed files with 12 additions and 3 deletions

View file

@ -307,6 +307,7 @@ Trace::InstRecord::dump(ostream &outs)
bool diffHtba = false; bool diffHtba = false;
bool diffPstate = false; bool diffPstate = false;
bool diffY = false; bool diffY = false;
bool diffFsr = false;
bool diffCcr = false; bool diffCcr = false;
bool diffTl = false; bool diffTl = false;
bool diffGl = false; bool diffGl = false;
@ -410,6 +411,8 @@ Trace::InstRecord::dump(ostream &outs)
if(shared_data->y != if(shared_data->y !=
thread->readIntReg(NumIntArchRegs + 1)) thread->readIntReg(NumIntArchRegs + 1))
diffY = true; diffY = true;
if(shared_data->fsr != thread->readMiscReg(MISCREG_FSR))
diffFsr = true;
//if(shared_data->ccr != thread->readMiscReg(MISCREG_CCR)) //if(shared_data->ccr != thread->readMiscReg(MISCREG_CCR))
if(shared_data->ccr != if(shared_data->ccr !=
thread->readIntReg(NumIntArchRegs + 2)) thread->readIntReg(NumIntArchRegs + 2))
@ -450,8 +453,8 @@ Trace::InstRecord::dump(ostream &outs)
if ((diffPC || diffCC || diffInst || diffIntRegs || if ((diffPC || diffCC || diffInst || diffIntRegs ||
diffFpRegs || diffTpc || diffTnpc || diffTstate || diffFpRegs || diffTpc || diffTnpc || diffTstate ||
diffTt || diffHpstate || diffHtstate || diffHtba || diffTt || diffHpstate || diffHtstate || diffHtba ||
diffPstate || diffY || diffCcr || diffTl || diffGl || diffPstate || diffY || diffCcr || diffTl || diffFsr ||
diffAsi || diffPil || diffCwp || diffCansave || diffGl || diffAsi || diffPil || diffCwp || diffCansave ||
diffCanrestore || diffOtherwin || diffCleanwin || diffTlb) diffCanrestore || diffOtherwin || diffCleanwin || diffTlb)
&& !((staticInst->machInst & 0xC1F80000) == 0x81D00000) && !((staticInst->machInst & 0xC1F80000) == 0x81D00000)
&& !(((staticInst->machInst & 0xC0000000) == 0xC0000000) && !(((staticInst->machInst & 0xC0000000) == 0xC0000000)
@ -487,6 +490,8 @@ Trace::InstRecord::dump(ostream &outs)
outs << " [Pstate]"; outs << " [Pstate]";
if (diffY) if (diffY)
outs << " [Y]"; outs << " [Y]";
if (diffFsr)
outs << " [FSR]";
if (diffCcr) if (diffCcr)
outs << " [Ccr]"; outs << " [Ccr]";
if (diffTl) if (diffTl)
@ -556,6 +561,9 @@ Trace::InstRecord::dump(ostream &outs)
//thread->readMiscReg(MISCREG_Y), //thread->readMiscReg(MISCREG_Y),
thread->readIntReg(NumIntArchRegs + 1), thread->readIntReg(NumIntArchRegs + 1),
shared_data->y); shared_data->y);
printRegPair(outs, "FSR",
thread->readMiscReg(MISCREG_FSR),
shared_data->fsr);
printRegPair(outs, "Ccr", printRegPair(outs, "Ccr",
//thread->readMiscReg(MISCREG_CCR), //thread->readMiscReg(MISCREG_CCR),
thread->readIntReg(NumIntArchRegs + 2), thread->readIntReg(NumIntArchRegs + 2),

View file

@ -30,7 +30,7 @@
#include <unistd.h> #include <unistd.h>
#define VERSION 0xA1000008 #define VERSION 0xA1000009
#define OWN_M5 0x000000AA #define OWN_M5 0x000000AA
#define OWN_LEGION 0x00000055 #define OWN_LEGION 0x00000055
@ -61,6 +61,7 @@ typedef struct {
uint16_t pstate; uint16_t pstate;
uint64_t y; uint64_t y;
uint64_t fsr;
uint8_t ccr; uint8_t ccr;
uint8_t tl; uint8_t tl;
uint8_t gl; uint8_t gl;