dyn_inst_impl.hh (5596:cdc8893c649e) dyn_inst_impl.hh (5639:67cc7f0427e7)
1/*
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;

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

120{
121 this->fault = this->staticInst->completeAcc(pkt, this, this->traceData);
122
123 return this->fault;
124}
125
126#if FULL_SYSTEM
127template <class Impl>
1/*
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;

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

120{
121 this->fault = this->staticInst->completeAcc(pkt, this, this->traceData);
122
123 return this->fault;
124}
125
126#if FULL_SYSTEM
127template <class Impl>
128Fault
129BaseO3DynInst<Impl>::hwrei()
130{
131#if THE_ISA == ALPHA_ISA
132 // Can only do a hwrei when in pal mode.
133 if (!(this->readPC() & 0x3))
134 return new AlphaISA::UnimplementedOpcodeFault;
135
136 // Set the next PC based on the value of the EXC_ADDR IPR.
137 this->setNextPC(this->cpu->readMiscRegNoEffect(AlphaISA::IPR_EXC_ADDR,
138 this->threadNumber));
139
140 // Tell CPU to clear any state it needs to if a hwrei is taken.
141 this->cpu->hwrei(this->threadNumber);
142#else
143
144#endif
145 // FIXME: XXX check for interrupts? XXX
146 return NoFault;
147}
148
149template <class Impl>
150void
151BaseO3DynInst<Impl>::trap(Fault fault)
152{
153 this->cpu->trap(fault, this->threadNumber);
154}
155
156template <class Impl>
157bool

--- 24 unchanged lines hidden ---
128void
129BaseO3DynInst<Impl>::trap(Fault fault)
130{
131 this->cpu->trap(fault, this->threadNumber);
132}
133
134template <class Impl>
135bool

--- 24 unchanged lines hidden ---