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 ---