Network.hh (9497:2759161b9d7f) Network.hh (9594:219ad5fe8c04)
1/*
2 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

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

39
40#ifndef __MEM_RUBY_NETWORK_NETWORK_HH__
41#define __MEM_RUBY_NETWORK_NETWORK_HH__
42
43#include <iostream>
44#include <string>
45#include <vector>
46
1/*
2 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

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

39
40#ifndef __MEM_RUBY_NETWORK_NETWORK_HH__
41#define __MEM_RUBY_NETWORK_NETWORK_HH__
42
43#include <iostream>
44#include <string>
45#include <vector>
46
47#include "mem/packet.hh"
48#include "mem/protocol/LinkDirection.hh"
49#include "mem/protocol/MessageSizeType.hh"
50#include "mem/ruby/common/TypeDefines.hh"
47#include "mem/protocol/LinkDirection.hh"
48#include "mem/protocol/MessageSizeType.hh"
49#include "mem/ruby/common/TypeDefines.hh"
50#include "mem/ruby/network/Topology.hh"
51#include "mem/packet.hh"
51#include "params/RubyNetwork.hh"
52#include "sim/clocked_object.hh"
53
54class NetDest;
55class MessageBuffer;
56class Throttle;
52#include "params/RubyNetwork.hh"
53#include "sim/clocked_object.hh"
54
55class NetDest;
56class MessageBuffer;
57class Throttle;
57class Topology;
58
59class Network : public ClockedObject
60{
61 public:
62 typedef RubyNetworkParams Params;
63 Network(const Params *p);
64 virtual ~Network() {}
58
59class Network : public ClockedObject
60{
61 public:
62 typedef RubyNetworkParams Params;
63 Network(const Params *p);
64 virtual ~Network() {}
65 const Params * params() const
66 { return dynamic_cast<const Params *>(_params);}
65
66 virtual void init();
67
68 static uint32_t getNumberOfVirtualNetworks() { return m_virtual_networks; }
69 static uint32_t MessageSizeType_to_int(MessageSizeType size_type);
70
71 // returns the queue requested for the given component
72 virtual MessageBuffer* getToNetQueue(NodeID id, bool ordered,

--- 58 unchanged lines hidden ---
67
68 virtual void init();
69
70 static uint32_t getNumberOfVirtualNetworks() { return m_virtual_networks; }
71 static uint32_t MessageSizeType_to_int(MessageSizeType size_type);
72
73 // returns the queue requested for the given component
74 virtual MessageBuffer* getToNetQueue(NodeID id, bool ordered,

--- 58 unchanged lines hidden ---