diff options
Diffstat (limited to 'src/cpu/inorder/resource.cc')
-rw-r--r-- | src/cpu/inorder/resource.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/cpu/inorder/resource.cc b/src/cpu/inorder/resource.cc index 8cc8f9fe1..4eab89687 100644 --- a/src/cpu/inorder/resource.cc +++ b/src/cpu/inorder/resource.cc @@ -498,3 +498,15 @@ ResourceEvent::description() return desc.c_str(); } + +void +ResourceEvent::scheduleEvent(int delay) +{ + InOrderCPU *cpu = resource->cpu; + Tick when = curTick + resource->ticks(delay); + + if (squashed()) + cpu->reschedule(this, when); + else if (!scheduled()) + cpu->schedule(this, when); +} |