thread_state.hh (8764:e4660687c49f) thread_state.hh (8766:b0773af78423)
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;

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

31#ifndef __CPU_THREAD_STATE_HH__
32#define __CPU_THREAD_STATE_HH__
33
34#include "arch/types.hh"
35#include "config/the_isa.hh"
36#include "cpu/base.hh"
37#include "cpu/profile.hh"
38#include "cpu/thread_context.hh"
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;

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

31#ifndef __CPU_THREAD_STATE_HH__
32#define __CPU_THREAD_STATE_HH__
33
34#include "arch/types.hh"
35#include "config/the_isa.hh"
36#include "cpu/base.hh"
37#include "cpu/profile.hh"
38#include "cpu/thread_context.hh"
39
40#if !FULL_SYSTEM
41#include "mem/mem_object.hh"
42#include "sim/process.hh"
39#include "mem/mem_object.hh"
40#include "sim/process.hh"
43#endif
44
45#if FULL_SYSTEM
46class EndQuiesceEvent;
47class FunctionProfile;
48class ProfileNode;
49namespace TheISA {
50 namespace Kernel {
51 class Statistics;

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

61 * Struct for holding general thread state that is needed across CPU
62 * models. This includes things such as pointers to the process,
63 * memory, quiesce events, and certain stats. This can be expanded
64 * to hold more thread-specific stats within it.
65 */
66struct ThreadState {
67 typedef ThreadContext::Status Status;
68
41
42#if FULL_SYSTEM
43class EndQuiesceEvent;
44class FunctionProfile;
45class ProfileNode;
46namespace TheISA {
47 namespace Kernel {
48 class Statistics;

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

58 * Struct for holding general thread state that is needed across CPU
59 * models. This includes things such as pointers to the process,
60 * memory, quiesce events, and certain stats. This can be expanded
61 * to hold more thread-specific stats within it.
62 */
63struct ThreadState {
64 typedef ThreadContext::Status Status;
65
69#if FULL_SYSTEM
70 ThreadState(BaseCPU *cpu, ThreadID _tid);
71#else
72 ThreadState(BaseCPU *cpu, ThreadID _tid, Process *_process);
66 ThreadState(BaseCPU *cpu, ThreadID _tid, Process *_process);
73#endif
74
75 ~ThreadState();
76
77 void serialize(std::ostream &os);
78
79 void unserialize(Checkpoint *cp, const std::string &section);
80
81 int cpuId() { return baseCpu->cpuId(); }

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

180#if FULL_SYSTEM
181 public:
182 FunctionProfile *profile;
183 ProfileNode *profileNode;
184 Addr profilePC;
185 EndQuiesceEvent *quiesceEvent;
186
187 TheISA::Kernel::Statistics *kernelStats;
67
68 ~ThreadState();
69
70 void serialize(std::ostream &os);
71
72 void unserialize(Checkpoint *cp, const std::string &section);
73
74 int cpuId() { return baseCpu->cpuId(); }

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

173#if FULL_SYSTEM
174 public:
175 FunctionProfile *profile;
176 ProfileNode *profileNode;
177 Addr profilePC;
178 EndQuiesceEvent *quiesceEvent;
179
180 TheISA::Kernel::Statistics *kernelStats;
181#endif
188 protected:
182 protected:
189#else
190 Process *process;
183 Process *process;
191#endif
192
193 TranslatingPort *port;
194
195 /** A functional port, outgoing only, for functional accesse to virtual
196 * addresses. */
197 VirtualPort *virtPort;
198
199 /** A functional port outgoing only for functional accesses to physical

--- 17 unchanged lines hidden ---
184
185 TranslatingPort *port;
186
187 /** A functional port, outgoing only, for functional accesse to virtual
188 * addresses. */
189 VirtualPort *virtPort;
190
191 /** A functional port outgoing only for functional accesses to physical

--- 17 unchanged lines hidden ---