coherent_xbar.hh (12346:9b1144d046ca) | coherent_xbar.hh (12351:17eaa27bef22) |
---|---|
1/* 2 * Copyright (c) 2011-2015, 2017 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 --- 37 unchanged lines hidden (view full) --- 46/** 47 * @file 48 * Declaration of a coherent crossbar. 49 */ 50 51#ifndef __MEM_COHERENT_XBAR_HH__ 52#define __MEM_COHERENT_XBAR_HH__ 53 | 1/* 2 * Copyright (c) 2011-2015, 2017 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 --- 37 unchanged lines hidden (view full) --- 46/** 47 * @file 48 * Declaration of a coherent crossbar. 49 */ 50 51#ifndef __MEM_COHERENT_XBAR_HH__ 52#define __MEM_COHERENT_XBAR_HH__ 53 |
54#include <unordered_map> |
|
54#include <unordered_set> 55 56#include "mem/snoop_filter.hh" 57#include "mem/xbar.hh" 58#include "params/CoherentXBar.hh" 59 60/** 61 * A coherent crossbar connects a number of (potentially) snooping --- 196 unchanged lines hidden (view full) --- 258 /** 259 * Store the outstanding requests that we are expecting snoop 260 * responses from so we can determine which snoop responses we 261 * generated and which ones were merely forwarded. 262 */ 263 std::unordered_set<RequestPtr> outstandingSnoop; 264 265 /** | 55#include <unordered_set> 56 57#include "mem/snoop_filter.hh" 58#include "mem/xbar.hh" 59#include "params/CoherentXBar.hh" 60 61/** 62 * A coherent crossbar connects a number of (potentially) snooping --- 196 unchanged lines hidden (view full) --- 259 /** 260 * Store the outstanding requests that we are expecting snoop 261 * responses from so we can determine which snoop responses we 262 * generated and which ones were merely forwarded. 263 */ 264 std::unordered_set<RequestPtr> outstandingSnoop; 265 266 /** |
267 * Store the outstanding cache maintenance that we are expecting 268 * snoop responses from so we can determine when we received all 269 * snoop responses and if any of the agents satisfied the request. 270 */ 271 std::unordered_map<PacketId, PacketPtr> outstandingCMO; 272 273 /** |
|
266 * Keep a pointer to the system to be allow to querying memory system 267 * properties. 268 */ 269 System *system; 270 271 /** A snoop filter that tracks cache line residency and can restrict the 272 * broadcast needed for probes. NULL denotes an absent filter. */ 273 SnoopFilter *snoopFilter; --- 166 unchanged lines hidden --- | 274 * Keep a pointer to the system to be allow to querying memory system 275 * properties. 276 */ 277 System *system; 278 279 /** A snoop filter that tracks cache line residency and can restrict the 280 * broadcast needed for probes. NULL denotes an absent filter. */ 281 SnoopFilter *snoopFilter; --- 166 unchanged lines hidden --- |