diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/arch/sparc/interrupts.hh | 6 | ||||
-rw-r--r-- | src/mem/cache/cache_impl.hh | 4 |
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), |