summaryrefslogtreecommitdiff
path: root/src/cpu/inorder/resource_pool.hh
diff options
context:
space:
mode:
authorKorey Sewell <ksewell@umich.edu>2010-01-31 18:27:49 -0500
committerKorey Sewell <ksewell@umich.edu>2010-01-31 18:27:49 -0500
commitaacc5cb205c17a91545a5d8209f5c4bda85543a9 (patch)
tree4d13dcfbb71ceba02f2559e8a4b366228599df95 /src/cpu/inorder/resource_pool.hh
parent90d3b45a566847fe15095b92238e32973ad9cc0e (diff)
downloadgem5-aacc5cb205c17a91545a5d8209f5c4bda85543a9.tar.xz
inorder: add updatePC event to resPool
this will be used for when a thread comes back from a cache miss, it needs to update the PCs because the inst might of been a branch or delayslot in which the next PC isnt always a straight addition
Diffstat (limited to 'src/cpu/inorder/resource_pool.hh')
-rw-r--r--src/cpu/inorder/resource_pool.hh4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/cpu/inorder/resource_pool.hh b/src/cpu/inorder/resource_pool.hh
index ae63c4c59..3f62d2caa 100644
--- a/src/cpu/inorder/resource_pool.hh
+++ b/src/cpu/inorder/resource_pool.hh
@@ -63,6 +63,7 @@ class ResourcePool {
enum ResPoolEventType {
InstGraduated = InOrderCPU::NumCPUEvents,
SquashAll,
+ UpdateAfterContextSwitch,
Default
};
@@ -175,6 +176,9 @@ class ResourcePool {
/** De-Activate Thread in all resources */
void suspendAll(ThreadID tid);
+ /** Broadcast Context Switch Update to all resources */
+ void updateAfterContextSwitch(DynInstPtr inst, ThreadID tid);
+
/** Broadcast graduation to all resources */
void instGraduated(InstSeqNum seq_num, ThreadID tid);