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;

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

42#include "cpu/base_dyn_inst.hh"
43#include "cpu/simple_thread.hh"
44#include "cpu/pc_event.hh"
45#include "cpu/static_inst.hh"
46#include "sim/eventq.hh"
47
48// forward declarations
49#if FULL_SYSTEM
50namespace TheISA
51{
52 class ITB;
53 class DTB;
54}
55class Processor;
51class AlphaITB;
52class AlphaDTB;
56class PhysicalMemory;
57
58class RemoteGDB;
59class GDBListener;
60
61#else
62
63class Process;

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

94 typedef TheISA::FloatRegBits FloatRegBits;
95 typedef TheISA::MiscReg MiscReg;
96 public:
97 virtual void init();
98
99 struct Params : public BaseCPU::Params
100 {
101#if FULL_SYSTEM
99 AlphaITB *itb;
100 AlphaDTB *dtb;
102 TheISA::ITB *itb;
103 TheISA::DTB *dtb;
104#else
105 Process *process;
106#endif
107 bool exitOnError;
108 bool updateOnError;
109 bool warnOnlyOnLoadError;
110 };
111

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

138 }
139
140 public:
141 // Primary thread being run.
142 SimpleThread *thread;
143
144 ThreadContext *tc;
145
143 AlphaITB *itb;
144 AlphaDTB *dtb;
146 TheISA::ITB *itb;
147 TheISA::DTB *dtb;
148
149#if FULL_SYSTEM
150 Addr dbg_vtophys(Addr addr);
151#endif
152
153 union Result {
154 uint64_t integer;
155// float fp;

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

299 thread->setNextPC(val);
300 }
301
302 MiscReg readMiscReg(int misc_reg)
303 {
304 return thread->readMiscReg(misc_reg);
305 }
306
304 MiscReg readMiscRegWithEffect(int misc_reg, Fault &fault)
307 MiscReg readMiscRegWithEffect(int misc_reg)
308 {
306 return thread->readMiscRegWithEffect(misc_reg, fault);
309 return thread->readMiscRegWithEffect(misc_reg);
310 }
311
309 Fault setMiscReg(int misc_reg, const MiscReg &val)
312 void setMiscReg(int misc_reg, const MiscReg &val)
313 {
314 result.integer = val;
315 miscRegIdxs.push(misc_reg);
316 return thread->setMiscReg(misc_reg, val);
317 }
318
316 Fault setMiscRegWithEffect(int misc_reg, const MiscReg &val)
319 void setMiscRegWithEffect(int misc_reg, const MiscReg &val)
320 {
321 miscRegIdxs.push(misc_reg);
322 return thread->setMiscRegWithEffect(misc_reg, val);
323 }
324
325 void recordPCChange(uint64_t val) { changedPC = true; newPC = val; }
326 void recordNextPCChange(uint64_t val) { changedNextPC = true; }
327

--- 90 unchanged lines hidden ---