summaryrefslogtreecommitdiff
path: root/arch/alpha/isa_desc
diff options
context:
space:
mode:
Diffstat (limited to 'arch/alpha/isa_desc')
-rw-r--r--arch/alpha/isa_desc37
1 files changed, 37 insertions, 0 deletions
diff --git a/arch/alpha/isa_desc b/arch/alpha/isa_desc
index 0d1e7138f..016040b79 100644
--- a/arch/alpha/isa_desc
+++ b/arch/alpha/isa_desc
@@ -22,6 +22,7 @@ let {{
#include "base/misc.hh"
#include "cpu/exec_context.hh"
#include "cpu/exetrace.hh"
+#include "cpu/fast_cpu/fast_cpu.hh"
#include "cpu/full_cpu/dyn_inst.hh"
#include "cpu/simple_cpu/simple_cpu.hh"
#include "cpu/static_inst.hh"
@@ -312,6 +313,9 @@ declare {{
Fault execute(SimpleCPUExecContext *, Trace::InstRecord *)
{ return No_Fault; }
+ Fault execute(FastCPUExecContext *, Trace::InstRecord *)
+ { return No_Fault; }
+
Fault execute(FullCPUExecContext *, Trace::InstRecord *)
{ return No_Fault; }
};
@@ -719,6 +723,9 @@ declare {{
Fault execute(SimpleCPUExecContext *, Trace::InstRecord *)
{ panic("attempt to execute eacomp"); }
+ Fault execute(FastCPUExecContext *, Trace::InstRecord *)
+ { panic("attempt to execute eacomp"); }
+
Fault execute(FullCPUExecContext *, Trace::InstRecord *)
{ panic("attempt to execute eacomp"); }
};
@@ -739,6 +746,9 @@ declare {{
Fault execute(SimpleCPUExecContext *, Trace::InstRecord *)
{ panic("attempt to execute memacc"); }
+ Fault execute(FastCPUExecContext *, Trace::InstRecord *)
+ { panic("attempt to execute memacc"); }
+
Fault execute(FullCPUExecContext *, Trace::InstRecord *)
{ panic("attempt to execute memacc"); }
};
@@ -1452,6 +1462,14 @@ declare {{
return Unimplemented_Opcode_Fault;
}
+ Fault execute(FastCPUExecContext *xc,
+ Trace::InstRecord *traceData)
+ {
+ panic("attempt to execute unimplemented instruction '%s' "
+ "(inst 0x%08x, opcode 0x%x)", mnemonic, machInst, OPCODE);
+ return Unimplemented_Opcode_Fault;
+ }
+
Fault execute(FullCPUExecContext *xc,
Trace::InstRecord *traceData)
{
@@ -1502,6 +1520,17 @@ declare {{
return No_Fault;
}
+ Fault execute(FastCPUExecContext *xc,
+ Trace::InstRecord *traceData)
+ {
+ if (!warned) {
+ warn("instruction '%s' unimplemented\n", mnemonic);
+ warned = true;
+ }
+
+ return No_Fault;
+ }
+
Fault execute(FullCPUExecContext *xc,
Trace::InstRecord *traceData)
{
@@ -1573,6 +1602,14 @@ declare {{
return Unimplemented_Opcode_Fault;
}
+ Fault execute(FastCPUExecContext *xc,
+ Trace::InstRecord *traceData)
+ {
+ panic("attempt to execute unknown instruction "
+ "(inst 0x%08x, opcode 0x%x)", machInst, OPCODE);
+ return Unimplemented_Opcode_Fault;
+ }
+
Fault execute(FullCPUExecContext *xc,
Trace::InstRecord *traceData)
{