summaryrefslogtreecommitdiff
path: root/arch/alpha/isa_desc
diff options
context:
space:
mode:
authorAli Saidi <saidi@eecs.umich.edu>2004-08-02 17:10:02 -0400
committerAli Saidi <saidi@eecs.umich.edu>2004-08-02 17:10:02 -0400
commit6c954de33ea598dfd356f315b3cea620acc3b8b7 (patch)
tree51d93a385222bf47300384bba0fb8b175f86a51f /arch/alpha/isa_desc
parent3a8e5599b5082ac909256f50c310d4623184f3ac (diff)
downloadgem5-6c954de33ea598dfd356f315b3cea620acc3b8b7.tar.xz
added m5 debug and m5 switch cpu instruction (doesn't work yet) and
a p4 memory/cpu config arch/alpha/alpha_memory.cc: Added code to fault on an unaligned access arch/alpha/isa_desc: arch/alpha/pseudo_inst.cc: arch/alpha/pseudo_inst.hh: Added m5debug break and m5switchcpu (the latter doesn't work) --HG-- extra : convert_revision : 409e73adb151600a4fea49f35bf6f503f66fa916
Diffstat (limited to 'arch/alpha/isa_desc')
-rw-r--r--arch/alpha/isa_desc13
1 files changed, 12 insertions, 1 deletions
diff --git a/arch/alpha/isa_desc b/arch/alpha/isa_desc
index fa24e5215..d6b99a8ae 100644
--- a/arch/alpha/isa_desc
+++ b/arch/alpha/isa_desc
@@ -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);
+
}
}