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