AbstractController.hh (13784:1941dc118243) | AbstractController.hh (13892:0182a0601f66) |
---|---|
1/* 2 * Copyright (c) 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 --- 33 unchanged lines hidden (view full) --- 42#define __MEM_RUBY_SLICC_INTERFACE_ABSTRACTCONTROLLER_HH__ 43 44#include <exception> 45#include <iostream> 46#include <string> 47 48#include "base/addr_range.hh" 49#include "base/callback.hh" | 1/* 2 * Copyright (c) 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 --- 33 unchanged lines hidden (view full) --- 42#define __MEM_RUBY_SLICC_INTERFACE_ABSTRACTCONTROLLER_HH__ 43 44#include <exception> 45#include <iostream> 46#include <string> 47 48#include "base/addr_range.hh" 49#include "base/callback.hh" |
50#include "mem/mem_object.hh" | |
51#include "mem/packet.hh" 52#include "mem/protocol/AccessPermission.hh" 53#include "mem/qport.hh" 54#include "mem/ruby/common/Address.hh" 55#include "mem/ruby/common/Consumer.hh" 56#include "mem/ruby/common/DataBlock.hh" 57#include "mem/ruby/common/Histogram.hh" 58#include "mem/ruby/common/MachineID.hh" 59#include "mem/ruby/network/MessageBuffer.hh" 60#include "mem/ruby/system/CacheRecorder.hh" 61#include "params/RubyController.hh" | 50#include "mem/packet.hh" 51#include "mem/protocol/AccessPermission.hh" 52#include "mem/qport.hh" 53#include "mem/ruby/common/Address.hh" 54#include "mem/ruby/common/Consumer.hh" 55#include "mem/ruby/common/DataBlock.hh" 56#include "mem/ruby/common/Histogram.hh" 57#include "mem/ruby/common/MachineID.hh" 58#include "mem/ruby/network/MessageBuffer.hh" 59#include "mem/ruby/system/CacheRecorder.hh" 60#include "params/RubyController.hh" |
61#include "sim/clocked_object.hh" |
|
62 63class Network; 64class GPUCoalescer; 65 66// used to communicate that an in_port peeked the wrong message type 67class RejectException: public std::exception 68{ 69 virtual const char* what() const throw() 70 { return "Port rejected message based on type"; } 71}; 72 | 62 63class Network; 64class GPUCoalescer; 65 66// used to communicate that an in_port peeked the wrong message type 67class RejectException: public std::exception 68{ 69 virtual const char* what() const throw() 70 { return "Port rejected message based on type"; } 71}; 72 |
73class AbstractController : public MemObject, public Consumer | 73class AbstractController : public ClockedObject, public Consumer |
74{ 75 public: 76 typedef RubyControllerParams Params; 77 AbstractController(const Params *p); 78 void init(); 79 const Params *params() const { return (const Params *)_params; } 80 81 NodeID getVersion() const { return m_machineID.getNum(); } --- 182 unchanged lines hidden --- | 74{ 75 public: 76 typedef RubyControllerParams Params; 77 AbstractController(const Params *p); 78 void init(); 79 const Params *params() const { return (const Params *)_params; } 80 81 NodeID getVersion() const { return m_machineID.getNum(); } --- 182 unchanged lines hidden --- |