merged full_cpu.ini, system.ini and devtime.c

util/ccdrv/devtime.c:
    coding style

--HG--
extra : convert_revision : 972941e100ba13a2ece0986454c4a3485841d9cb
This commit is contained in:
Ali Saidi
2004-08-02 17:16:54 -04:00
4 changed files with 38 additions and 1 deletions

View File

@@ -491,6 +491,14 @@ AlphaDTB::translate(MemReqPtr &req, bool write) const
AlphaISA::mode_type mode =
(AlphaISA::mode_type)DTB_CM_CM(ipr[AlphaISA::IPR_DTB_CM]);
/* @todo this should actually be in there but for whatever reason
* Its not working at present.
*/
if (req->vaddr & (req->size - 1)) {
return Alignment_Fault;
}
if (PC_PAL(pc)) {
mode = (req->flags & ALTMODE) ?
(AlphaISA::mode_type)ALT_MODE_AM(ipr[AlphaISA::IPR_ALT_MODE])

View File

@@ -2400,7 +2400,11 @@ decode OPCODE default Unknown::unknown() {
format BasicOperate {
0xc000: rpcc({{
#ifdef FULL_SYSTEM
Ra = xc->readIpr(AlphaISA::IPR_CC, fault);
/* Rb is a fake dependency so here is a fun way to get
* the parser to understand that.
*/
Ra = xc->readIpr(AlphaISA::IPR_CC, fault) + (Rb & 0);
#else
Ra = curTick;
#endif
@@ -2543,6 +2547,13 @@ decode OPCODE default Unknown::unknown() {
0x50: m5readfile({{
AlphaPseudo::readfile(xc->xcBase());
}}, IsNonSpeculative);
0x51: m5break({{
AlphaPseudo::debugbreak(xc->xcBase());
}}, IsNonSpeculative);
0x52: m5switchcpu({{
AlphaPseudo::switchcpu(xc->xcBase());
}}, IsNonSpeculative);
}
}

View File

@@ -35,6 +35,7 @@
#include "arch/alpha/pseudo_inst.hh"
#include "arch/alpha/vtophys.hh"
#include "cpu/base_cpu.hh"
#include "cpu/sampling_cpu/sampling_cpu.hh"
#include "cpu/exec_context.hh"
#include "sim/param.hh"
#include "sim/serialize.hh"
@@ -42,8 +43,12 @@
#include "sim/stat_control.hh"
#include "sim/stats.hh"
#include "sim/system.hh"
#include "sim/debug.hh"
using namespace std;
extern SamplingCPU *SampCPU;
using namespace Stats;
namespace AlphaPseudo
@@ -219,4 +224,15 @@ namespace AlphaPseudo
doStatisticsInsts = __statistics;
doCheckpointInsts = __checkpoint;
}
void debugbreak(ExecContext *xc)
{
debug_break();
}
void switchcpu(ExecContext *xc)
{
if (SampCPU)
SampCPU->switchCPUs();
}
}

View File

@@ -48,4 +48,6 @@ namespace AlphaPseudo
void dumpresetstats(ExecContext *xc);
void m5checkpoint(ExecContext *xc);
void readfile(ExecContext *xc);
void debugbreak(ExecContext *xc);
void switchcpu(ExecContext *xc);
}