summaryrefslogtreecommitdiff
path: root/util/statetrace/arch/tracechild_amd64.hh
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2007-09-04 23:39:57 -0700
committerGabe Black <gblack@eecs.umich.edu>2007-09-04 23:39:57 -0700
commit26044dca33cb86928778a314186773b921826cdb (patch)
tree714206819490382af46e5cf169952b5de362ba6a /util/statetrace/arch/tracechild_amd64.hh
parent760240176a8ef3198daa728f0080e41de4d9430a (diff)
downloadgem5-26044dca33cb86928778a314186773b921826cdb.tar.xz
X86/StateTrace: Make m5 and statetrace track mmx and xmm registers, and actually compare xmm.
--HG-- extra : convert_revision : 02c6641200edb133c9bc11f1fdf3c1a0b1c87e77
Diffstat (limited to 'util/statetrace/arch/tracechild_amd64.hh')
-rw-r--r--util/statetrace/arch/tracechild_amd64.hh31
1 files changed, 30 insertions, 1 deletions
diff --git a/util/statetrace/arch/tracechild_amd64.hh b/util/statetrace/arch/tracechild_amd64.hh
index e7457f677..1ab11d767 100644
--- a/util/statetrace/arch/tracechild_amd64.hh
+++ b/util/statetrace/arch/tracechild_amd64.hh
@@ -58,14 +58,43 @@ class AMD64TraceChild : public TraceChild
RIP,
//Flags
EFLAGS,
+ //MMX
+ MMX0_0, MMX0_1,
+ MMX1_0, MMX1_1,
+ MMX2_0, MMX2_1,
+ MMX3_0, MMX3_1,
+ MMX4_0, MMX4_1,
+ MMX5_0, MMX5_1,
+ MMX6_0, MMX6_1,
+ MMX7_0, MMX7_1,
+ //XMM
+ XMM0_0, XMM0_1, XMM0_2, XMM0_3,
+ XMM1_0, XMM1_1, XMM1_2, XMM1_3,
+ XMM2_0, XMM2_1, XMM2_2, XMM2_3,
+ XMM3_0, XMM3_1, XMM3_2, XMM3_3,
+ XMM4_0, XMM4_1, XMM4_2, XMM4_3,
+ XMM5_0, XMM5_1, XMM5_2, XMM5_3,
+ XMM6_0, XMM6_1, XMM6_2, XMM6_3,
+ XMM7_0, XMM7_1, XMM7_2, XMM7_3,
+ XMM8_0, XMM8_1, XMM8_2, XMM8_3,
+ XMM9_0, XMM9_1, XMM9_2, XMM9_3,
+ XMM10_0, XMM10_1, XMM10_2, XMM10_3,
+ XMM11_0, XMM11_1, XMM11_2, XMM11_3,
+ XMM12_0, XMM12_1, XMM12_2, XMM12_3,
+ XMM13_0, XMM13_1, XMM13_2, XMM13_3,
+ XMM14_0, XMM14_1, XMM14_2, XMM14_3,
+ XMM15_0, XMM15_1, XMM15_2, XMM15_3,
numregs
};
private:
char printBuffer [256];
static char * regNames[numregs];
- int64_t getRegs(user_regs_struct & myregs, int num);
+ int64_t getRegs(user_regs_struct & myregs,
+ user_fpregs_struct &myfpregs,int num);
user_regs_struct regs;
user_regs_struct oldregs;
+ user_fpregs_struct fpregs;
+ user_fpregs_struct oldfpregs;
bool regDiffSinceUpdate[numregs];
uint64_t findSyscall();