diff options
author | Korey Sewell <ksewell@umich.edu> | 2011-06-19 21:43:38 -0400 |
---|---|---|
committer | Korey Sewell <ksewell@umich.edu> | 2011-06-19 21:43:38 -0400 |
commit | db8b1e4b78b7f51b673f80d4f2a1e5f5c86d4446 (patch) | |
tree | ca55fe420ad974c39432eab352147f52c23e7f48 /src/cpu/inorder/inorder_dyn_inst.hh | |
parent | c95fe261abab85bee247737a3d171378689891e0 (diff) | |
download | gem5-db8b1e4b78b7f51b673f80d4f2a1e5f5c86d4446.tar.xz |
inorder: treat SE mode syscalls as a trapping instruction
define a syscallContext to schedule the syscall and then use syscall() to actually perform the action
Diffstat (limited to 'src/cpu/inorder/inorder_dyn_inst.hh')
-rw-r--r-- | src/cpu/inorder/inorder_dyn_inst.hh | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/cpu/inorder/inorder_dyn_inst.hh b/src/cpu/inorder/inorder_dyn_inst.hh index b374e24a6..d14a7edfd 100644 --- a/src/cpu/inorder/inorder_dyn_inst.hh +++ b/src/cpu/inorder/inorder_dyn_inst.hh @@ -385,6 +385,9 @@ class InOrderDynInst : public FastAlloc, public RefCounted bool isQuiesce() const { return staticInst->isQuiesce(); } bool isIprAccess() const { return staticInst->isIprAccess(); } bool isUnverifiable() const { return staticInst->isUnverifiable(); } + bool isSyscall() const + { return staticInst->isSyscall(); } + ///////////////////////////////////////////// // @@ -509,6 +512,8 @@ class InOrderDynInst : public FastAlloc, public RefCounted void trap(Fault fault); bool simPalCheck(int palFunc); #else + short syscallNum; + /** Calls a syscall. */ void syscall(int64_t callnum); #endif |