Network.cc (7548:764a7401e217) Network.cc (7805:f249937228b5)
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;

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

21 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
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;

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

21 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29#include "base/misc.hh"
29#include "mem/protocol/MachineType.hh"
30#include "mem/ruby/network/Network.hh"
31#include "mem/ruby/network/simple/Topology.hh"
32
33Network::Network(const Params *p)
34 : SimObject(p)
35{
36 m_virtual_networks = p->number_of_virtual_networks;

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

59 m_data_msg_size = RubySystem::getBlockSizeBytes() + m_control_msg_size;
60}
61
62int
63Network::MessageSizeType_to_int(MessageSizeType size_type)
64{
65 switch(size_type) {
66 case MessageSizeType_Undefined:
30#include "mem/protocol/MachineType.hh"
31#include "mem/ruby/network/Network.hh"
32#include "mem/ruby/network/simple/Topology.hh"
33
34Network::Network(const Params *p)
35 : SimObject(p)
36{
37 m_virtual_networks = p->number_of_virtual_networks;

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

60 m_data_msg_size = RubySystem::getBlockSizeBytes() + m_control_msg_size;
61}
62
63int
64Network::MessageSizeType_to_int(MessageSizeType size_type)
65{
66 switch(size_type) {
67 case MessageSizeType_Undefined:
67 ERROR_MSG("Can't convert Undefined MessageSizeType to integer");
68 panic("Can't convert Undefined MessageSizeType to integer");
68 break;
69 case MessageSizeType_Control:
70 case MessageSizeType_Request_Control:
71 case MessageSizeType_Reissue_Control:
72 case MessageSizeType_Response_Control:
73 case MessageSizeType_Writeback_Control:
74 case MessageSizeType_Broadcast_Control:
75 case MessageSizeType_Forwarded_Control:

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

80 return m_control_msg_size;
81 case MessageSizeType_Data:
82 case MessageSizeType_Response_Data:
83 case MessageSizeType_ResponseLocal_Data:
84 case MessageSizeType_ResponseL2hit_Data:
85 case MessageSizeType_Writeback_Data:
86 return m_data_msg_size;
87 default:
69 break;
70 case MessageSizeType_Control:
71 case MessageSizeType_Request_Control:
72 case MessageSizeType_Reissue_Control:
73 case MessageSizeType_Response_Control:
74 case MessageSizeType_Writeback_Control:
75 case MessageSizeType_Broadcast_Control:
76 case MessageSizeType_Forwarded_Control:

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

81 return m_control_msg_size;
82 case MessageSizeType_Data:
83 case MessageSizeType_Response_Data:
84 case MessageSizeType_ResponseLocal_Data:
85 case MessageSizeType_ResponseL2hit_Data:
86 case MessageSizeType_Writeback_Data:
87 return m_data_msg_size;
88 default:
88 ERROR_MSG("Invalid range for type MessageSizeType");
89 panic("Invalid range for type MessageSizeType");
89 break;
90 }
90 break;
91 }
91 return 0;
92}
93
94const std::vector<Throttle*>*
95Network::getThrottles(NodeID id) const
96{
97 return NULL;
98}
92}
93
94const std::vector<Throttle*>*
95Network::getThrottles(NodeID id) const
96{
97 return NULL;
98}