diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2006-03-16 14:08:31 -0500 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2006-03-16 14:08:31 -0500 |
commit | 1d741c48af9f08718d359d9e3b7d3c0bf562a467 (patch) | |
tree | 088166d7dbb41b065080a4ace70ce91a9aa24039 /arch/sparc/isa/formats/trap.isa | |
parent | 31a20c88c52f6051575fe760251407d11e5715ba (diff) | |
parent | 558cc7f775dc404e4152212b5c6459ad9f4bb269 (diff) | |
download | gem5-1d741c48af9f08718d359d9e3b7d3c0bf562a467.tar.xz |
Merge m5.eecs.umich.edu:/bk/newmem
into ewok.(none):/home/gblack/m5/newmem
arch/sparc/isa/decoder.isa:
SCCS merged
--HG--
extra : convert_revision : 460843b49bc96b3fbc5897828c23f9cf9b010ae0
Diffstat (limited to 'arch/sparc/isa/formats/trap.isa')
-rw-r--r-- | arch/sparc/isa/formats/trap.isa | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/arch/sparc/isa/formats/trap.isa b/arch/sparc/isa/formats/trap.isa index ff3aadf72..935fbfe6b 100644 --- a/arch/sparc/isa/formats/trap.isa +++ b/arch/sparc/isa/formats/trap.isa @@ -5,14 +5,15 @@ output header {{ /** - * Base class for integer operations. + * Base class for trap instructions, + * or instructions that always fault. */ class Trap : public SparcStaticInst { protected: // Constructor - Trap(const char *mnem, MachInst _machInst, OpClass __opClass) : + Trap(const char *mnem, ExtMachInst _machInst, OpClass __opClass) : SparcStaticInst(mnem, _machInst, __opClass) { } @@ -34,18 +35,18 @@ def template TrapExecute {{ Fault %(class_name)s::execute(%(CPU_exec_context)s *xc, Trace::InstRecord *traceData) const { - //TODO: set up a software fault and return it. - return NoFault; + Fault fault = NoFault; + %(code)s + return fault; } }}; -// Primary format for integer operate instructions: def format Trap(code, *opt_flags) {{ orig_code = code cblk = CodeBlock(code) iop = InstObjParams(name, Name, 'SparcStaticInst', cblk, opt_flags) header_output = BasicDeclare.subst(iop) decoder_output = BasicConstructor.subst(iop) - decode_block = BasicDecodeWithMnemonic.subst(iop) + decode_block = BasicDecode.subst(iop) exec_output = TrapExecute.subst(iop) }}; |