coherent_xbar.hh (10405:7a618c07e663) coherent_xbar.hh (10656:bd376adfb7d4)
1/*
2 * Copyright (c) 2011-2014 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-2014 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 "base/hashmap.hh"
55#include "mem/snoop_filter.hh"
56#include "mem/xbar.hh"
57#include "params/CoherentXBar.hh"
58
59/**
60 * A coherent crossbar connects a number of (potentially) snooping
61 * masters and slaves, and routes the request and response packets
62 * based on the address, and also forwards all requests to the

--- 191 unchanged lines hidden (view full) ---

254
255 };
256
257 std::vector<SnoopRespPort*> snoopRespPorts;
258
259 std::vector<SlavePort*> snoopPorts;
260
261 /**
54#include "mem/snoop_filter.hh"
55#include "mem/xbar.hh"
56#include "params/CoherentXBar.hh"
57
58/**
59 * A coherent crossbar connects a number of (potentially) snooping
60 * masters and slaves, and routes the request and response packets
61 * based on the address, and also forwards all requests to the

--- 191 unchanged lines hidden (view full) ---

253
254 };
255
256 std::vector<SnoopRespPort*> snoopRespPorts;
257
258 std::vector<SlavePort*> snoopPorts;
259
260 /**
262 * Store the outstanding requests so we can determine which ones
263 * we generated and which ones were merely forwarded. This is used
264 * in the coherent crossbar when coherency responses come back.
261 * Store the outstanding requests that we are expecting snoop
262 * responses from so we can determine which snoop responses we
263 * generated and which ones were merely forwarded.
265 */
264 */
266 m5::hash_set<RequestPtr> outstandingReq;
265 m5::hash_set<RequestPtr> outstandingSnoop;
267
268 /**
269 * Keep a pointer to the system to be allow to querying memory system
270 * properties.
271 */
272 System *system;
273
274 /** A snoop filter that tracks cache line residency and can restrict the

--- 123 unchanged lines hidden ---
266
267 /**
268 * Keep a pointer to the system to be allow to querying memory system
269 * properties.
270 */
271 System *system;
272
273 /** A snoop filter that tracks cache line residency and can restrict the

--- 123 unchanged lines hidden ---