#include "arch/alpha/kernel_stats.hh"
#include "arch/alpha/osfpal.hh"
#include "arch/alpha/tlb.hh"
-#include "arch/alpha/kgdb.h"
+#include "base/cp_annotate.hh"
#include "base/debug.hh"
-#include "base/remote_gdb.hh"
-#include "base/stats/events.hh"
#include "config/full_system.hh"
#include "cpu/base.hh"
#include "cpu/simple_thread.hh"
cpu->thread->setFloatReg(ZeroReg, 0.0);
}
-int
-MiscRegFile::getInstAsid()
-{
- return ITB_ASN_ASN(ipr[IPR_ITB_ASN]);
-}
-
-int
-MiscRegFile::getDataAsid()
-{
- return DTB_ASN_ASN(ipr[IPR_DTB_ASN]);
-}
-
#endif
////////////////////////////////////////////////////////////////////////
}
MiscReg
-MiscRegFile::readIpr(int idx, ThreadContext *tc)
+ISA::readIpr(int idx, ThreadContext *tc)
{
uint64_t retval = 0; // return value, default 0
#endif
void
-MiscRegFile::setIpr(int idx, uint64_t val, ThreadContext *tc)
+ISA::setIpr(int idx, uint64_t val, ThreadContext *tc)
{
uint64_t old;
case IPR_IPLR:
#ifdef DEBUG
- if (break_ipl != -1 && break_ipl == (val & 0x1f))
+ if (break_ipl != -1 && break_ipl == (int)(val & 0x1f))
debug_break();
#endif
setNextPC(readMiscRegNoEffect(IPR_EXC_ADDR));
+ CPA::cpa()->swAutoBegin(tc, readNextPC());
+
if (!misspeculating()) {
if (kernelStats)
kernelStats->hwrei();