ev5.cc (2680:246e7104f744) ev5.cc (2683:d6b72bb2ed97)
1/*
2 * Copyright (c) 2002-2005 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;

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

32#include "arch/alpha/tlb.hh"
33#include "arch/alpha/isa_traits.hh"
34#include "arch/alpha/osfpal.hh"
35#include "base/kgdb.h"
36#include "base/remote_gdb.hh"
37#include "base/stats/events.hh"
38#include "config/full_system.hh"
39#include "cpu/base.hh"
1/*
2 * Copyright (c) 2002-2005 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;

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

32#include "arch/alpha/tlb.hh"
33#include "arch/alpha/isa_traits.hh"
34#include "arch/alpha/osfpal.hh"
35#include "base/kgdb.h"
36#include "base/remote_gdb.hh"
37#include "base/stats/events.hh"
38#include "config/full_system.hh"
39#include "cpu/base.hh"
40#include "cpu/cpu_exec_context.hh"
40#include "cpu/simple_thread.hh"
41#include "cpu/thread_context.hh"
42#include "kern/kernel_stats.hh"
43#include "sim/debug.hh"
44#include "sim/sim_events.hh"
45
46#if FULL_SYSTEM
47
48using namespace EV5;

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

130
131template <class CPU>
132void
133AlphaISA::zeroRegisters(CPU *cpu)
134{
135 // Insure ISA semantics
136 // (no longer very clean due to the change in setIntReg() in the
137 // cpu model. Consider changing later.)
41#include "cpu/thread_context.hh"
42#include "kern/kernel_stats.hh"
43#include "sim/debug.hh"
44#include "sim/sim_events.hh"
45
46#if FULL_SYSTEM
47
48using namespace EV5;

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

130
131template <class CPU>
132void
133AlphaISA::zeroRegisters(CPU *cpu)
134{
135 // Insure ISA semantics
136 // (no longer very clean due to the change in setIntReg() in the
137 // cpu model. Consider changing later.)
138 cpu->cpuXC->setIntReg(ZeroReg, 0);
139 cpu->cpuXC->setFloatReg(ZeroReg, 0.0);
138 cpu->thread->setIntReg(ZeroReg, 0);
139 cpu->thread->setFloatReg(ZeroReg, 0.0);
140}
141
142Fault
140}
141
142Fault
143CPUExecContext::hwrei()
143SimpleThread::hwrei()
144{
145 if (!inPalMode())
146 return new UnimplementedOpcodeFault;
147
148 setNextPC(readMiscReg(AlphaISA::IPR_EXC_ADDR));
149
150 if (!misspeculating()) {
151 if (kernelStats)

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

557 }
558}
559
560/**
561 * Check for special simulator handling of specific PAL calls.
562 * If return value is false, actual PAL call will be suppressed.
563 */
564bool
144{
145 if (!inPalMode())
146 return new UnimplementedOpcodeFault;
147
148 setNextPC(readMiscReg(AlphaISA::IPR_EXC_ADDR));
149
150 if (!misspeculating()) {
151 if (kernelStats)

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

557 }
558}
559
560/**
561 * Check for special simulator handling of specific PAL calls.
562 * If return value is false, actual PAL call will be suppressed.
563 */
564bool
565CPUExecContext::simPalCheck(int palFunc)
565SimpleThread::simPalCheck(int palFunc)
566{
567 if (kernelStats)
568 kernelStats->callpal(palFunc, tc);
569
570 switch (palFunc) {
571 case PAL::halt:
572 halt();
573 if (--System::numSystemsRunning == 0)

--- 14 unchanged lines hidden ---
566{
567 if (kernelStats)
568 kernelStats->callpal(palFunc, tc);
569
570 switch (palFunc) {
571 case PAL::halt:
572 halt();
573 if (--System::numSystemsRunning == 0)

--- 14 unchanged lines hidden ---