diff options
author | Gabe Black <gabeblack@google.com> | 2017-11-04 03:45:23 -0700 |
---|---|---|
committer | Gabe Black <gabeblack@google.com> | 2017-11-07 01:31:24 +0000 |
commit | 344911b885114b8401482679202aaee89fa8b29b (patch) | |
tree | 395424b6f248c24977462489c8c1e3c1e97e7c34 /src/arch/sparc/isa/formats/micro.isa | |
parent | 7e02ab1dc622081a30e5b8bec3a944bd1fc7fca6 (diff) | |
download | gem5-344911b885114b8401482679202aaee89fa8b29b.tar.xz |
alpha,arm,mips,power,riscv,sparc,x86: Merge exec decl templates.
In the ISA instruction definitions, some classes were declared with
execute, etc., functions outside of the main template because they
had CPU specific signatures and would need to be duplicated with
each CPU plugged into them. Now that the instructions always just
use an ExecContext, there's no reason for those templates to be
separate. This change folds those templates together.
Change-Id: I13bda247d3d1cc07c0ea06968e48aa5b4aace7fa
Reviewed-on: https://gem5-review.googlesource.com/5401
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Alec Roelke <ar4jc@virginia.edu>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Diffstat (limited to 'src/arch/sparc/isa/formats/micro.isa')
-rw-r--r-- | src/arch/sparc/isa/formats/micro.isa | 49 |
1 files changed, 17 insertions, 32 deletions
diff --git a/src/arch/sparc/isa/formats/micro.isa b/src/arch/sparc/isa/formats/micro.isa index c57d9346d..f9c4ebd6c 100644 --- a/src/arch/sparc/isa/formats/micro.isa +++ b/src/arch/sparc/isa/formats/micro.isa @@ -26,35 +26,6 @@ // // Authors: Gabe Black -// This delcares the initiateAcc function in memory operations -def template MacroInitiateAcc {{ - Fault - initiateAcc(ExecContext *, Trace::InstRecord *) const - { - panic("Tried to execute a macroop directly!\n"); - return NoFault; - } -}}; - -def template MacroCompleteAcc {{ - Fault - completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const - { - panic("Tried to execute a macroop directly!\n"); - return NoFault; - } -}}; - -// This template provides the execute functions for a store -def template MacroExecute {{ - Fault - execute(ExecContext *, Trace::InstRecord *) const - { - panic("Tried to execute a macroop directly!\n"); - return NoFault; - } -}}; - output header {{ class SparcMacroInst : public SparcStaticInst @@ -90,9 +61,23 @@ output header {{ return microops[upc]; } - %(MacroExecute)s - %(MacroInitiateAcc)s - %(MacroCompleteAcc)s + Fault + execute(ExecContext *, Trace::InstRecord *) const + { + panic("Tried to execute a macroop directly!\n"); + } + + Fault + initiateAcc(ExecContext *, Trace::InstRecord *) const + { + panic("Tried to execute a macroop directly!\n"); + } + + Fault + completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const + { + panic("Tried to execute a macroop directly!\n"); + } }; class SparcMicroInst : public SparcStaticInst |