thread_context.hh (8808:8af87554ad7e) thread_context.hh (8809:bb10807da889)
1/*
1/*
2 * Copyright (c) 2011 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software
9 * licensed hereunder. You may use the software subject to the license
10 * terms below provided that you ensure that this notice is replicated
11 * unmodified and in its entirety in all distributions of the software,
12 * modified or unmodified, in source code or in binary form.
13 *
2 * Copyright (c) 2004-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;
9 * redistributions in binary form must reproduce the above copyright

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

27 *
28 * Authors: Kevin Lim
29 */
30
31#ifndef __CPU_O3_THREAD_CONTEXT_HH__
32#define __CPU_O3_THREAD_CONTEXT_HH__
33
34#include "config/the_isa.hh"
14 * Copyright (c) 2004-2006 The Regents of The University of Michigan
15 * All rights reserved.
16 *
17 * Redistribution and use in source and binary forms, with or without
18 * modification, are permitted provided that the following conditions are
19 * met: redistributions of source code must retain the above copyright
20 * notice, this list of conditions and the following disclaimer;
21 * redistributions in binary form must reproduce the above copyright

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

39 *
40 * Authors: Kevin Lim
41 */
42
43#ifndef __CPU_O3_THREAD_CONTEXT_HH__
44#define __CPU_O3_THREAD_CONTEXT_HH__
45
46#include "config/the_isa.hh"
47#include "config/use_checker.hh"
35#include "cpu/o3/isa_specific.hh"
36#include "cpu/thread_context.hh"
37
38class EndQuiesceEvent;
39namespace Kernel {
40 class Statistics;
41};
42

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

66 O3ThreadState<Impl> *thread;
67
68 /** Returns a pointer to the ITB. */
69 TheISA::TLB *getITBPtr() { return cpu->itb; }
70
71 /** Returns a pointer to the DTB. */
72 TheISA::TLB *getDTBPtr() { return cpu->dtb; }
73
48#include "cpu/o3/isa_specific.hh"
49#include "cpu/thread_context.hh"
50
51class EndQuiesceEvent;
52namespace Kernel {
53 class Statistics;
54};
55

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

79 O3ThreadState<Impl> *thread;
80
81 /** Returns a pointer to the ITB. */
82 TheISA::TLB *getITBPtr() { return cpu->itb; }
83
84 /** Returns a pointer to the DTB. */
85 TheISA::TLB *getDTBPtr() { return cpu->dtb; }
86
87#if USE_CHECKER
88 BaseCPU *getCheckerCpuPtr() { return NULL; }
89#endif
90
74 Decoder *getDecoderPtr() { return &cpu->fetch.decoder; }
75
76 /** Returns a pointer to this CPU. */
77 virtual BaseCPU *getCpuPtr() { return cpu; }
78
79 /** Reads this CPU's ID. */
80 virtual int cpuId() { return cpu->cpuId(); }
81

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

172
173 /** Reads this thread's PC state. */
174 virtual TheISA::PCState pcState()
175 { return cpu->pcState(thread->threadId()); }
176
177 /** Sets this thread's PC state. */
178 virtual void pcState(const TheISA::PCState &val);
179
91 Decoder *getDecoderPtr() { return &cpu->fetch.decoder; }
92
93 /** Returns a pointer to this CPU. */
94 virtual BaseCPU *getCpuPtr() { return cpu; }
95
96 /** Reads this CPU's ID. */
97 virtual int cpuId() { return cpu->cpuId(); }
98

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

189
190 /** Reads this thread's PC state. */
191 virtual TheISA::PCState pcState()
192 { return cpu->pcState(thread->threadId()); }
193
194 /** Sets this thread's PC state. */
195 virtual void pcState(const TheISA::PCState &val);
196
197#if USE_CHECKER
198 virtual void pcStateNoRecord(const TheISA::PCState &val);
199#endif
200
180 /** Reads this thread's PC. */
181 virtual Addr instAddr()
182 { return cpu->instAddr(thread->threadId()); }
183
184 /** Reads this thread's next PC. */
185 virtual Addr nextInstAddr()
186 { return cpu->nextInstAddr(thread->threadId()); }
187

--- 56 unchanged lines hidden ---
201 /** Reads this thread's PC. */
202 virtual Addr instAddr()
203 { return cpu->instAddr(thread->threadId()); }
204
205 /** Reads this thread's next PC. */
206 virtual Addr nextInstAddr()
207 { return cpu->nextInstAddr(thread->threadId()); }
208

--- 56 unchanged lines hidden ---