noncoherent_cache.hh (13948:f8666d4d5855) | noncoherent_cache.hh (14035:60068a2d56e0) |
---|---|
1/* 2 * Copyright (c) 2012-2018 ARM Limited 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 57 unchanged lines hidden (view full) --- 66struct NoncoherentCacheParams; 67 68/** 69 * A non-coherent cache 70 */ 71class NoncoherentCache : public BaseCache 72{ 73 protected: | 1/* 2 * Copyright (c) 2012-2018 ARM Limited 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 57 unchanged lines hidden (view full) --- 66struct NoncoherentCacheParams; 67 68/** 69 * A non-coherent cache 70 */ 71class NoncoherentCache : public BaseCache 72{ 73 protected: |
74 bool access(PacketPtr pkt, CacheBlk *&blk, Cycles &lat) override; | 74 bool access(PacketPtr pkt, CacheBlk *&blk, Cycles &lat, 75 PacketList &writebacks) override; |
75 76 void handleTimingReqMiss(PacketPtr pkt, CacheBlk *blk, 77 Tick forward_time, 78 Tick request_time) override; 79 80 void recvTimingReq(PacketPtr pkt) override; 81 | 76 77 void handleTimingReqMiss(PacketPtr pkt, CacheBlk *blk, 78 Tick forward_time, 79 Tick request_time) override; 80 81 void recvTimingReq(PacketPtr pkt) override; 82 |
82 void doWritebacks(PacketPtr pkt, | 83 void doWritebacks(PacketList& writebacks, |
83 Tick forward_time) override; 84 | 84 Tick forward_time) override; 85 |
85 void doWritebacksAtomic(PacketPtr pkt) override; | 86 void doWritebacksAtomic(PacketList& writebacks) override; |
86 87 void serviceMSHRTargets(MSHR *mshr, const PacketPtr pkt, 88 CacheBlk *blk) override; 89 90 void recvTimingResp(PacketPtr pkt) override; 91 92 void recvTimingSnoopReq(PacketPtr pkt) override { 93 panic("Unexpected timing snoop request %s", pkt->print()); 94 } 95 96 void recvTimingSnoopResp(PacketPtr pkt) override { 97 panic("Unexpected timing snoop response %s", pkt->print()); 98 } 99 | 87 88 void serviceMSHRTargets(MSHR *mshr, const PacketPtr pkt, 89 CacheBlk *blk) override; 90 91 void recvTimingResp(PacketPtr pkt) override; 92 93 void recvTimingSnoopReq(PacketPtr pkt) override { 94 panic("Unexpected timing snoop request %s", pkt->print()); 95 } 96 97 void recvTimingSnoopResp(PacketPtr pkt) override { 98 panic("Unexpected timing snoop response %s", pkt->print()); 99 } 100 |
100 Cycles handleAtomicReqMiss(PacketPtr pkt, CacheBlk *&blk) override; | 101 Cycles handleAtomicReqMiss(PacketPtr pkt, CacheBlk *&blk, 102 PacketList &writebacks) override; |
101 102 Tick recvAtomic(PacketPtr pkt) override; 103 104 Tick recvAtomicSnoop(PacketPtr pkt) override { 105 panic("Unexpected atomic snoop request %s", pkt->print()); 106 } 107 108 void functionalAccess(PacketPtr pkt, bool from_cpu_side) override; --- 22 unchanged lines hidden --- | 103 104 Tick recvAtomic(PacketPtr pkt) override; 105 106 Tick recvAtomicSnoop(PacketPtr pkt) override { 107 panic("Unexpected atomic snoop request %s", pkt->print()); 108 } 109 110 void functionalAccess(PacketPtr pkt, bool from_cpu_side) override; --- 22 unchanged lines hidden --- |