simple_thread.cc (3490:37a313c96683) simple_thread.cc (3548:85e64c82c522)
1/*
2 * Copyright (c) 2001-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;

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

82
83 // let's fill with a dummy node for now so we don't get a segfault
84 // on the first cycle when there's no node available.
85 static ProfileNode dummyNode;
86 profileNode = &dummyNode;
87 profilePC = 3;
88
89 if (use_kernel_stats) {
1/*
2 * Copyright (c) 2001-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;

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

82
83 // let's fill with a dummy node for now so we don't get a segfault
84 // on the first cycle when there's no node available.
85 static ProfileNode dummyNode;
86 profileNode = &dummyNode;
87 profilePC = 3;
88
89 if (use_kernel_stats) {
90 kernelStats = new Kernel::Statistics(system);
90 kernelStats = new TheISA::Kernel::Statistics(system);
91 } else {
92 kernelStats = NULL;
93 }
94 Port *mem_port;
95 physPort = new FunctionalPort(csprintf("%s-%d-funcport",
96 cpu->name(), tid));
97 mem_port = system->physmem->getPort("functional");
98 mem_port->setPeer(physPort);

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

153 // Point the quiesce event's TC at this TC so that it wakes up
154 // the proper CPU.
155 quiesce->tc = tc;
156 }
157 if (quiesceEvent) {
158 quiesceEvent->tc = tc;
159 }
160
91 } else {
92 kernelStats = NULL;
93 }
94 Port *mem_port;
95 physPort = new FunctionalPort(csprintf("%s-%d-funcport",
96 cpu->name(), tid));
97 mem_port = system->physmem->getPort("functional");
98 mem_port->setPeer(physPort);

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

153 // Point the quiesce event's TC at this TC so that it wakes up
154 // the proper CPU.
155 quiesce->tc = tc;
156 }
157 if (quiesceEvent) {
158 quiesceEvent->tc = tc;
159 }
160
161 Kernel::Statistics *stats = oldContext->getKernelStats();
161 TheISA::Kernel::Statistics *stats = oldContext->getKernelStats();
162 if (stats) {
163 kernelStats = stats;
164 }
165#endif
166
167 storeCondFailures = 0;
168
169 oldContext->setStatus(ThreadContext::Unallocated);

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

174{
175 copyState(context);
176
177#if FULL_SYSTEM
178 EndQuiesceEvent *quiesce = context->getQuiesceEvent();
179 if (quiesce) {
180 quiesceEvent = quiesce;
181 }
162 if (stats) {
163 kernelStats = stats;
164 }
165#endif
166
167 storeCondFailures = 0;
168
169 oldContext->setStatus(ThreadContext::Unallocated);

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

174{
175 copyState(context);
176
177#if FULL_SYSTEM
178 EndQuiesceEvent *quiesce = context->getQuiesceEvent();
179 if (quiesce) {
180 quiesceEvent = quiesce;
181 }
182 Kernel::Statistics *stats = context->getKernelStats();
182 TheISA::Kernel::Statistics *stats = context->getKernelStats();
183 if (stats) {
184 kernelStats = stats;
185 }
186#endif
187}
188
189void
190SimpleThread::copyState(ThreadContext *oldContext)

--- 139 unchanged lines hidden ---
183 if (stats) {
184 kernelStats = stats;
185 }
186#endif
187}
188
189void
190SimpleThread::copyState(ThreadContext *oldContext)

--- 139 unchanged lines hidden ---