thread_state.cc (5494:85c8d296c1cb) thread_state.cc (5497:89a6483d7047)
1/*
2 * Copyright (c) 2006 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;

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

108 quiesceEvent->schedule(quiesceEndTick);
109 if (kernelStats)
110 kernelStats->unserialize(cp, section);
111#endif
112}
113
114#if FULL_SYSTEM
115void
1/*
2 * Copyright (c) 2006 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;

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

108 quiesceEvent->schedule(quiesceEndTick);
109 if (kernelStats)
110 kernelStats->unserialize(cp, section);
111#endif
112}
113
114#if FULL_SYSTEM
115void
116ThreadState::connectMemPorts()
116ThreadState::connectMemPorts(ThreadContext *tc)
117{
118 connectPhysPort();
117{
118 connectPhysPort();
119 connectVirtPort();
119 connectVirtPort(tc);
120}
121
122void
123ThreadState::connectPhysPort()
124{
125 // @todo: For now this disregards any older port that may have
126 // already existed. Fix this memory leak once the bus port IDs
127 // for functional ports is resolved.
128 if (physPort)
129 physPort->removeConn();
130 else
131 physPort = new FunctionalPort(csprintf("%s-%d-funcport",
132 baseCpu->name(), tid));
133 connectToMemFunc(physPort);
134}
135
136void
120}
121
122void
123ThreadState::connectPhysPort()
124{
125 // @todo: For now this disregards any older port that may have
126 // already existed. Fix this memory leak once the bus port IDs
127 // for functional ports is resolved.
128 if (physPort)
129 physPort->removeConn();
130 else
131 physPort = new FunctionalPort(csprintf("%s-%d-funcport",
132 baseCpu->name(), tid));
133 connectToMemFunc(physPort);
134}
135
136void
137ThreadState::connectVirtPort()
137ThreadState::connectVirtPort(ThreadContext *tc)
138{
139 // @todo: For now this disregards any older port that may have
140 // already existed. Fix this memory leak once the bus port IDs
141 // for functional ports is resolved.
142 if (virtPort)
143 virtPort->removeConn();
144 else
145 virtPort = new VirtualPort(csprintf("%s-%d-vport",
138{
139 // @todo: For now this disregards any older port that may have
140 // already existed. Fix this memory leak once the bus port IDs
141 // for functional ports is resolved.
142 if (virtPort)
143 virtPort->removeConn();
144 else
145 virtPort = new VirtualPort(csprintf("%s-%d-vport",
146 baseCpu->name(), tid));
146 baseCpu->name(), tid), tc);
147 connectToMemFunc(virtPort);
148}
149
150void
151ThreadState::profileClear()
152{
153 if (profile)
154 profile->clear();

--- 43 unchanged lines hidden ---
147 connectToMemFunc(virtPort);
148}
149
150void
151ThreadState::profileClear()
152{
153 if (profile)
154 profile->clear();

--- 43 unchanged lines hidden ---