summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/arch/sparc/interrupts.hh6
-rw-r--r--src/mem/cache/cache_impl.hh4
2 files changed, 6 insertions, 4 deletions
diff --git a/src/arch/sparc/interrupts.hh b/src/arch/sparc/interrupts.hh
index 42bbfc5cf..dc3b235fe 100644
--- a/src/arch/sparc/interrupts.hh
+++ b/src/arch/sparc/interrupts.hh
@@ -67,8 +67,10 @@ class Interrupts
{
if (int_type < 0 || int_type >= num_interrupt_types)
panic("posting unknown interrupt!\n");
- interrupts[int_type] = true;
- ++numPosted;
+ if (interrupts[int_type] == false) {
+ interrupts[int_type] = true;
+ ++numPosted;
+ }
}
void post(int int_num, int index)
diff --git a/src/mem/cache/cache_impl.hh b/src/mem/cache/cache_impl.hh
index b8c896498..10c244b8e 100644
--- a/src/mem/cache/cache_impl.hh
+++ b/src/mem/cache/cache_impl.hh
@@ -342,8 +342,8 @@ Cache<TagStore,Coherence>::handleFill(BlkType *blk, MSHR * mshr,
target->getPtr<uint8_t>(), target->getSize());
}
} else {
- if (pkt->req->isLocked()) {
- blk->trackLoadLocked(pkt->req);
+ if (target->req->isLocked()) {
+ blk->trackLoadLocked(target->req);
}
std::memcpy(target->getPtr<uint8_t>(),
blk->data + target->getOffset(blkSize),