summaryrefslogtreecommitdiff
path: root/cpu/pc_event.cc
diff options
context:
space:
mode:
authorNathan Binkert <binkertn@umich.edu>2003-10-14 12:19:59 -0400
committerNathan Binkert <binkertn@umich.edu>2003-10-14 12:19:59 -0400
commit4759c203c774ef42a2a35832e220a95cffb5fa7b (patch)
tree82d650870f8dcc58727f309df2b807fed895cee2 /cpu/pc_event.cc
parent481aaf03cf933c13c3d9bf294629c6740726025e (diff)
downloadgem5-4759c203c774ef42a2a35832e220a95cffb5fa7b.tar.xz
Remove all of the Tru64 specific stuff from the base System object
into its own Tru64System object. Also remove the System builder stuff and create a Tru64System builder. This makes it much simpler to support more operating systems. arch/alpha/ev5.cc: Each system provides its own mechanism for doing a breakpoint. base/remote_gdb.hh: #include <map> cpu/pc_event.cc: cpu/pc_event.hh: Separate out System specific PCEvents cpu/simple_cpu/simple_cpu.cc: each system provides its own init script kern/tru64/dump_mbuf.cc: kern/tru64/printf.cc: Stick this in a namespace --HG-- extra : convert_revision : 9f74527ed2ff8010431d9aff34357aaecc1fb3f6
Diffstat (limited to 'cpu/pc_event.cc')
-rw-r--r--cpu/pc_event.cc83
1 files changed, 0 insertions, 83 deletions
diff --git a/cpu/pc_event.cc b/cpu/pc_event.cc
index 8c584a492..4ee93e864 100644
--- a/cpu/pc_event.cc
+++ b/cpu/pc_event.cc
@@ -37,15 +37,6 @@
#include "base/trace.hh"
#include "sim/universe.hh"
-#ifdef FULL_SYSTEM
-#include "targetarch/arguments.hh"
-#include "targetarch/pmap.h"
-#include "mem/functional_mem/memory_control.hh"
-#include "cpu/full_cpu/cpu.hh"
-#include "sim/system.hh"
-#include "cpu/full_cpu/bpred.hh"
-#endif
-
using namespace std;
PCEventQueue::PCEventQueue()
@@ -124,80 +115,6 @@ PCEventQueue::equal_range(Addr pc)
return std::equal_range(pc_map.begin(), pc_map.end(), pc, MapCompare());
}
-#ifdef FULL_SYSTEM
-void
-SkipFuncEvent::process(ExecContext *xc)
-{
- Addr newpc = xc->regs.intRegFile[ReturnAddressReg];
-
- DPRINTF(PCEvent, "skipping %s: pc=%x, newpc=%x\n", description,
- xc->regs.pc, newpc);
-
- xc->regs.pc = newpc;
- xc->regs.npc = xc->regs.pc + sizeof(MachInst);
-
- BranchPred *bp = xc->cpu->getBranchPred();
- if (bp != NULL) {
- bp->popRAS(xc->thread_num);
- }
-}
-
-void
-BadAddrEvent::process(ExecContext *xc)
-{
- // The following gross hack is the equivalent function to the
- // annotation for vmunix::badaddr in:
- // simos/simulation/apps/tcl/osf/tlaser.tcl
-
- uint64_t a0 = xc->regs.intRegFile[ArgumentReg0];
-
- if (a0 < ALPHA_K0SEG_BASE || a0 >= ALPHA_K1SEG_BASE ||
- xc->memCtrl->badaddr(ALPHA_K0SEG_TO_PHYS(a0) & PA_IMPL_MASK)) {
-
- DPRINTF(BADADDR, "badaddr arg=%#x bad\n", a0);
- xc->regs.intRegFile[ReturnValueReg] = 0x1;
- SkipFuncEvent::process(xc);
- }
- else
- DPRINTF(BADADDR, "badaddr arg=%#x good\n", a0);
-}
-
-void Printf(AlphaArguments args);
-void DumpMbuf(AlphaArguments args);
-
-void
-PrintfEvent::process(ExecContext *xc)
-{
- if (DTRACE(Printf)) {
- DebugOut() << curTick << ": " << xc->cpu->name() << ": ";
-
- AlphaArguments args(xc);
- Printf(args);
- }
-}
-
-void
-DebugPrintfEvent::process(ExecContext *xc)
-{
- if (DTRACE(DebugPrintf)) {
- if (!raw)
- DebugOut() << curTick << ": " << xc->cpu->name() << ": ";
-
- AlphaArguments args(xc);
- Printf(args);
- }
-}
-
-void
-DumpMbufEvent::process(ExecContext *xc)
-{
- if (DTRACE(DebugPrintf)) {
- AlphaArguments args(xc);
- DumpMbuf(args);
- }
-}
-#endif
-
BreakPCEvent::BreakPCEvent(PCEventQueue *q, const std::string &desc, bool del)
: PCEvent(q, desc), remove(del)
{