snoop_filter.hh (11544:2383451ff6a5) | snoop_filter.hh (11605:65ae342b627b) |
---|---|
1/* | 1/* |
2 * Copyright (c) 2013-2015 ARM Limited | 2 * Copyright (c) 2013-2016 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 9 * licensed hereunder. You may use the software subject to the license 10 * terms below provided that you ensure that this notice is replicated --- 127 unchanged lines hidden (view full) --- 138 * For an un-successful request, revert the change to the snoop 139 * filter. Also take care of erasing any null entries. This method 140 * relies on the result from lookupRequest being stored in 141 * reqLookupResult. 142 * 143 * @param will_retry This request will retry on this bus / snoop filter 144 * @param addr Packet address, merely for sanity checking 145 */ | 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 9 * licensed hereunder. You may use the software subject to the license 10 * terms below provided that you ensure that this notice is replicated --- 127 unchanged lines hidden (view full) --- 138 * For an un-successful request, revert the change to the snoop 139 * filter. Also take care of erasing any null entries. This method 140 * relies on the result from lookupRequest being stored in 141 * reqLookupResult. 142 * 143 * @param will_retry This request will retry on this bus / snoop filter 144 * @param addr Packet address, merely for sanity checking 145 */ |
146 void finishRequest(bool will_retry, const Addr addr); | 146 void finishRequest(bool will_retry, Addr addr, bool is_secure); |
147 148 /** 149 * Handle an incoming snoop from below (the master port). These 150 * can upgrade the tracking logic and may also benefit from 151 * additional steering thanks to the snoop filter. 152 * 153 * @param cpkt Pointer to const Packet containing the snoop. 154 * @return Pair with a vector of SlavePorts that need snooping and a lookup --- 122 unchanged lines hidden (view full) --- 277 std::vector<PortID> localSlavePortIds; 278 /** Cache line size. */ 279 const unsigned linesize; 280 /** Latency for doing a lookup in the filter */ 281 const Cycles lookupLatency; 282 /** Max capacity in terms of cache blocks tracked, for sanity checking */ 283 const unsigned maxEntryCount; 284 | 147 148 /** 149 * Handle an incoming snoop from below (the master port). These 150 * can upgrade the tracking logic and may also benefit from 151 * additional steering thanks to the snoop filter. 152 * 153 * @param cpkt Pointer to const Packet containing the snoop. 154 * @return Pair with a vector of SlavePorts that need snooping and a lookup --- 122 unchanged lines hidden (view full) --- 277 std::vector<PortID> localSlavePortIds; 278 /** Cache line size. */ 279 const unsigned linesize; 280 /** Latency for doing a lookup in the filter */ 281 const Cycles lookupLatency; 282 /** Max capacity in terms of cache blocks tracked, for sanity checking */ 283 const unsigned maxEntryCount; 284 |
285 /** 286 * Use the lower bits of the address to keep track of the line status 287 */ 288 enum LineStatus { 289 /** block holds data from the secure memory space */ 290 LineSecure = 0x01, 291 }; 292 |
|
285 /** Statistics */ 286 Stats::Scalar totRequests; 287 Stats::Scalar hitSingleRequests; 288 Stats::Scalar hitMultiRequests; 289 290 Stats::Scalar totSnoops; 291 Stats::Scalar hitSingleSnoops; 292 Stats::Scalar hitMultiSnoops; --- 22 unchanged lines hidden --- | 293 /** Statistics */ 294 Stats::Scalar totRequests; 295 Stats::Scalar hitSingleRequests; 296 Stats::Scalar hitMultiRequests; 297 298 Stats::Scalar totSnoops; 299 Stats::Scalar hitSingleSnoops; 300 Stats::Scalar hitMultiSnoops; --- 22 unchanged lines hidden --- |