xbar.hh (10913:38dbdeea7f1f) | xbar.hh (11168:f98eb2da15a4) |
---|---|
1/* 2 * Copyright (c) 2011-2015 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 --- 38 unchanged lines hidden (view full) --- 47 * @file 48 * Declaration of an abstract crossbar base class. 49 */ 50 51#ifndef __MEM_XBAR_HH__ 52#define __MEM_XBAR_HH__ 53 54#include <deque> | 1/* 2 * Copyright (c) 2011-2015 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 --- 38 unchanged lines hidden (view full) --- 47 * @file 48 * Declaration of an abstract crossbar base class. 49 */ 50 51#ifndef __MEM_XBAR_HH__ 52#define __MEM_XBAR_HH__ 53 54#include <deque> |
55#include <unordered_map> |
|
55 56#include "base/addr_range_map.hh" | 56 57#include "base/addr_range_map.hh" |
57#include "base/hashmap.hh" | |
58#include "base/types.hh" 59#include "mem/mem_object.hh" 60#include "mem/qport.hh" 61#include "params/BaseXBar.hh" 62#include "sim/stats.hh" 63 64/** 65 * The base crossbar contains the common elements of the non-coherent --- 43 unchanged lines hidden (view full) --- 109 * Drain according to the normal semantics, so that the crossbar 110 * can tell the layer to drain, and pass an event to signal 111 * back when drained. 112 * 113 * @param de drain event to call once drained 114 * 115 * @return 1 if busy or waiting to retry, or 0 if idle 116 */ | 58#include "base/types.hh" 59#include "mem/mem_object.hh" 60#include "mem/qport.hh" 61#include "params/BaseXBar.hh" 62#include "sim/stats.hh" 63 64/** 65 * The base crossbar contains the common elements of the non-coherent --- 43 unchanged lines hidden (view full) --- 109 * Drain according to the normal semantics, so that the crossbar 110 * can tell the layer to drain, and pass an event to signal 111 * back when drained. 112 * 113 * @param de drain event to call once drained 114 * 115 * @return 1 if busy or waiting to retry, or 0 if idle 116 */ |
117 DrainState drain() M5_ATTR_OVERRIDE; | 117 DrainState drain() override; |
118 119 /** 120 * Get the crossbar layer's name 121 */ 122 const std::string name() const { return xbar.name() + _name; } 123 124 125 /** --- 196 unchanged lines hidden (view full) --- 322 AddrRangeMap<PortID> portMap; 323 324 /** 325 * Remember where request packets came from so that we can route 326 * responses to the appropriate port. This relies on the fact that 327 * the underlying Request pointer inside the Packet stays 328 * constant. 329 */ | 118 119 /** 120 * Get the crossbar layer's name 121 */ 122 const std::string name() const { return xbar.name() + _name; } 123 124 125 /** --- 196 unchanged lines hidden (view full) --- 322 AddrRangeMap<PortID> portMap; 323 324 /** 325 * Remember where request packets came from so that we can route 326 * responses to the appropriate port. This relies on the fact that 327 * the underlying Request pointer inside the Packet stays 328 * constant. 329 */ |
330 m5::unordered_map<RequestPtr, PortID> routeTo; | 330 std::unordered_map<RequestPtr, PortID> routeTo; |
331 332 /** all contigous ranges seen by this crossbar */ 333 AddrRangeList xbarRanges; 334 335 AddrRange defaultRange; 336 337 /** 338 * Function called by the port when the crossbar is recieving a --- 133 unchanged lines hidden --- | 331 332 /** all contigous ranges seen by this crossbar */ 333 AddrRangeList xbarRanges; 334 335 AddrRange defaultRange; 336 337 /** 338 * Function called by the port when the crossbar is recieving a --- 133 unchanged lines hidden --- |