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 --- 40 unchanged lines hidden (view full) --- 49 */ 50 51#ifndef __MEM_XBAR_HH__ 52#define __MEM_XBAR_HH__ 53 54#include <deque> 55 56#include "base/addr_range_map.hh" |
57#include "base/hashmap.hh" |
58#include "base/types.hh" 59#include "mem/mem_object.hh" 60#include "params/BaseXBar.hh" 61#include "sim/stats.hh" 62 63/** 64 * The base crossbar contains the common elements of the non-coherent 65 * and coherent crossbar. It is an abstract class that does not have --- 177 unchanged lines hidden (view full) --- 243 244 /** cycles of overhead per transaction */ 245 const Cycles headerCycles; 246 /** the width of the xbar in bytes */ 247 const uint32_t width; 248 249 AddrRangeMap<PortID> portMap; 250 |
251 /** 252 * Remember where request packets came from so that we can route 253 * responses to the appropriate port. This relies on the fact that 254 * the underlying Request pointer inside the Packet stays 255 * constant. 256 */ 257 m5::unordered_map<RequestPtr, PortID> routeTo; 258 |
259 /** all contigous ranges seen by this crossbar */ 260 AddrRangeList xbarRanges; 261 262 AddrRange defaultRange; 263 264 /** 265 * Function called by the port when the crossbar is recieving a 266 * range change. --- 131 unchanged lines hidden --- |