1/*
2 * Copyright (c) 2002-2005 The Regents of The University of Michigan
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;

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

69 * Send accessor functions are being called from the device the port is
70 * associated with, and it will call the peer recv. accessor function.
71 */
72class Port
73{
74 private:
75
76 /** Descriptive name (for DPRINTF output) */
77 const std::string portName;
77 mutable std::string portName;
78
79 /** A pointer to the peer port. Ports always come in pairs, that way they
80 can use a standardized interface to communicate between different
81 memory objects. */
82 Port *peer;
83
84 public:
85
86 Port()
87 : peer(NULL)
88 { }
89
90 /**
91 * Constructor.
92 *
93 * @param _name Port name for DPRINTF output. Should include name
94 * of memory system object to which the port belongs.
95 */
96 Port(const std::string &_name)
97 : portName(_name), peer(NULL)

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

104
105 // mey be better to use subclasses & RTTI?
106 /** Holds the ports status. Currently just that a range recomputation needs
107 * to be done. */
108 enum Status {
109 RangeChange
110 };
111
112 void setName(const std::string &name)
113 { portName = name; }
114
115 /** Function to set the pointer for the peer port.
116 @todo should be called by the configuration stuff (python).
117 */
118 void setPeer(Port *port);
119
120 /** Function to set the pointer for the peer port.
121 @todo should be called by the configuration stuff (python).
122 */

--- 160 unchanged lines hidden ---