summaryrefslogtreecommitdiff
path: root/arch/sparc/isa/formats/trap.isa
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2006-03-07 04:42:06 -0500
committerGabe Black <gblack@eecs.umich.edu>2006-03-07 04:42:06 -0500
commitab67095b2a43b5f2d44d1e1a517d1079ddf9f104 (patch)
tree6e0cf0ec7d23cd9516d5b6486d47a10849375dc1 /arch/sparc/isa/formats/trap.isa
parentfd69f40e209d1b77ce167bf59c189e513a6815f3 (diff)
parent5aa0669b52cb1a1e5fdb6a372d6b481ebb46b02a (diff)
downloadgem5-ab67095b2a43b5f2d44d1e1a517d1079ddf9f104.tar.xz
Merge gblack@m5.eecs.umich.edu:/bk/multiarch
into ewok.(none):/home/gblack/m5/multiarch --HG-- extra : convert_revision : ead388289742233b5e4f0b37d979e54852cc99b2
Diffstat (limited to 'arch/sparc/isa/formats/trap.isa')
-rw-r--r--arch/sparc/isa/formats/trap.isa32
1 files changed, 15 insertions, 17 deletions
diff --git a/arch/sparc/isa/formats/trap.isa b/arch/sparc/isa/formats/trap.isa
index bee77fe69..ff3aadf72 100644
--- a/arch/sparc/isa/formats/trap.isa
+++ b/arch/sparc/isa/formats/trap.isa
@@ -9,35 +9,33 @@ output header {{
*/
class Trap : public SparcStaticInst
{
- protected:
+ protected:
- /// Constructor
- Trap(const char *mnem, MachInst _machInst, OpClass __opClass) : SparcStaticInst(mnem, _machInst, __opClass)
- {
- }
+ // Constructor
+ Trap(const char *mnem, MachInst _machInst, OpClass __opClass) :
+ SparcStaticInst(mnem, _machInst, __opClass)
+ {
+ }
- std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
+ std::string generateDisassembly(Addr pc,
+ const SymbolTable *symtab) const;
};
}};
output decoder {{
- std::string Trap::generateDisassembly(Addr pc, const SymbolTable *symtab) const
+ std::string Trap::generateDisassembly(Addr pc,
+ const SymbolTable *symtab) const
{
- return "Disassembly of integer instruction\n";
+ return "Trap instruction\n";
}
}};
def template TrapExecute {{
- Fault %(class_name)s::execute(%(CPU_exec_context)s *xc, Trace::InstRecord *traceData) const
+ Fault %(class_name)s::execute(%(CPU_exec_context)s *xc,
+ Trace::InstRecord *traceData) const
{
- //Call into the trap handler with the appropriate fault
- return No_Fault;
- }
-
- //Write the resulting state to the execution context
- %(op_wb)s;
-
- return No_Fault;
+ //TODO: set up a software fault and return it.
+ return NoFault;
}
}};