diff options
Diffstat (limited to 'src/arch/sparc/isa')
-rw-r--r-- | src/arch/sparc/isa/formats/basic.isa | 29 | ||||
-rw-r--r-- | src/arch/sparc/isa/formats/mem/basicmem.isa | 12 | ||||
-rw-r--r-- | src/arch/sparc/isa/formats/mem/blockmem.isa | 56 | ||||
-rw-r--r-- | src/arch/sparc/isa/formats/mem/util.isa | 9 | ||||
-rw-r--r-- | src/arch/sparc/isa/formats/micro.isa | 49 | ||||
-rw-r--r-- | src/arch/sparc/isa/formats/nop.isa | 17 | ||||
-rw-r--r-- | src/arch/sparc/isa/formats/unimp.isa | 4 | ||||
-rw-r--r-- | src/arch/sparc/isa/formats/unknown.isa | 2 |
8 files changed, 67 insertions, 111 deletions
diff --git a/src/arch/sparc/isa/formats/basic.isa b/src/arch/sparc/isa/formats/basic.isa index a81de05ad..63f3e4a6c 100644 --- a/src/arch/sparc/isa/formats/basic.isa +++ b/src/arch/sparc/isa/formats/basic.isa @@ -28,26 +28,6 @@ // Gabe Black // Steve Reinhardt -// Declarations for execute() methods. -def template BasicExecDeclare {{ - Fault execute(ExecContext *, Trace::InstRecord *) const; -}}; - -def template DoFpOpDeclare {{ - Fault doFpOp(ExecContext *, Trace::InstRecord *) - const M5_NO_INLINE; -}}; - -// Definitions of execute methods that panic. -def template BasicExecPanic {{ - Fault - execute(ExecContext *, Trace::InstRecord *) const - { - panic("Execute method called when it shouldn't!"); - M5_DUMMY_RETURN - } -}}; - // Basic instruction class declaration template. def template BasicDeclare {{ /** @@ -58,7 +38,7 @@ def template BasicDeclare {{ public: // Constructor. %(class_name)s(ExtMachInst machInst); - %(BasicExecDeclare)s + Fault execute(ExecContext *, Trace::InstRecord *) const; }; }}; @@ -72,8 +52,9 @@ def template FpBasicDeclare {{ public: // Constructor. %(class_name)s(ExtMachInst machInst); - %(BasicExecDeclare)s - %(DoFpOpDeclare)s + Fault execute(ExecContext *, Trace::InstRecord *) const; + Fault doFpOp(ExecContext *, + Trace::InstRecord *) const M5_NO_INLINE; }; }}; @@ -87,7 +68,7 @@ def template BasicDeclareWithMnemonic {{ public: // Constructor. %(class_name)s(const char * mnemonic, ExtMachInst machInst); - %(BasicExecDeclare)s + Fault execute(ExecContext *, Trace::InstRecord *) const; }; }}; diff --git a/src/arch/sparc/isa/formats/mem/basicmem.isa b/src/arch/sparc/isa/formats/mem/basicmem.isa index 5dcb955e3..391063cf8 100644 --- a/src/arch/sparc/isa/formats/mem/basicmem.isa +++ b/src/arch/sparc/isa/formats/mem/basicmem.isa @@ -45,13 +45,11 @@ def template MemDeclare {{ /// Constructor. %(class_name)s(ExtMachInst machInst); - %(BasicExecDeclare)s - - %(EACompDeclare)s - - %(InitiateAccDeclare)s - - %(CompleteAccDeclare)s + Fault execute(ExecContext *, Trace::InstRecord *) const; + Fault eaComp(ExecContext *, Trace::InstRecord *) const; + Fault initiateAcc(ExecContext *, Trace::InstRecord *) const; + Fault completeAcc(PacketPtr, ExecContext *, + Trace::InstRecord *) const; }; }}; diff --git a/src/arch/sparc/isa/formats/mem/blockmem.isa b/src/arch/sparc/isa/formats/mem/blockmem.isa index 03b395b12..3e3aabfcb 100644 --- a/src/arch/sparc/isa/formats/mem/blockmem.isa +++ b/src/arch/sparc/isa/formats/mem/blockmem.isa @@ -161,9 +161,10 @@ def template BlockMemDeclare {{ public: // Constructor %(class_name)s_0(ExtMachInst machInst); - %(BasicExecDeclare)s - %(InitiateAccDeclare)s - %(CompleteAccDeclare)s + Fault execute(ExecContext *, Trace::InstRecord *) const; + Fault initiateAcc(ExecContext *, Trace::InstRecord *) const; + Fault completeAcc(PacketPtr, ExecContext *, + Trace::InstRecord *) const; }; class %(class_name)s_1 : public %(base_class)sMicro @@ -171,9 +172,10 @@ def template BlockMemDeclare {{ public: // Constructor %(class_name)s_1(ExtMachInst machInst); - %(BasicExecDeclare)s - %(InitiateAccDeclare)s - %(CompleteAccDeclare)s + Fault execute(ExecContext *, Trace::InstRecord *) const; + Fault initiateAcc(ExecContext *, Trace::InstRecord *) const; + Fault completeAcc(PacketPtr, ExecContext *, + Trace::InstRecord *) const; }; class %(class_name)s_2 : public %(base_class)sMicro @@ -181,9 +183,10 @@ def template BlockMemDeclare {{ public: // Constructor %(class_name)s_2(ExtMachInst machInst); - %(BasicExecDeclare)s - %(InitiateAccDeclare)s - %(CompleteAccDeclare)s + Fault execute(ExecContext *, Trace::InstRecord *) const; + Fault initiateAcc(ExecContext *, Trace::InstRecord *) const; + Fault completeAcc(PacketPtr, ExecContext *, + Trace::InstRecord *) const; }; class %(class_name)s_3 : public %(base_class)sMicro @@ -191,9 +194,10 @@ def template BlockMemDeclare {{ public: // Constructor %(class_name)s_3(ExtMachInst machInst); - %(BasicExecDeclare)s - %(InitiateAccDeclare)s - %(CompleteAccDeclare)s + Fault execute(ExecContext *, Trace::InstRecord *) const; + Fault initiateAcc(ExecContext *, Trace::InstRecord *) const; + Fault completeAcc(PacketPtr, ExecContext *, + Trace::InstRecord *) const; }; class %(class_name)s_4 : public %(base_class)sMicro @@ -201,9 +205,10 @@ def template BlockMemDeclare {{ public: // Constructor %(class_name)s_4(ExtMachInst machInst); - %(BasicExecDeclare)s - %(InitiateAccDeclare)s - %(CompleteAccDeclare)s + Fault execute(ExecContext *, Trace::InstRecord *) const; + Fault initiateAcc(ExecContext *, Trace::InstRecord *) const; + Fault completeAcc(PacketPtr, ExecContext *, + Trace::InstRecord *) const; }; class %(class_name)s_5 : public %(base_class)sMicro @@ -211,9 +216,10 @@ def template BlockMemDeclare {{ public: // Constructor %(class_name)s_5(ExtMachInst machInst); - %(BasicExecDeclare)s - %(InitiateAccDeclare)s - %(CompleteAccDeclare)s + Fault execute(ExecContext *, Trace::InstRecord *) const; + Fault initiateAcc(ExecContext *, Trace::InstRecord *) const; + Fault completeAcc(PacketPtr, ExecContext *, + Trace::InstRecord *) const; }; class %(class_name)s_6 : public %(base_class)sMicro @@ -221,9 +227,10 @@ def template BlockMemDeclare {{ public: // Constructor %(class_name)s_6(ExtMachInst machInst); - %(BasicExecDeclare)s - %(InitiateAccDeclare)s - %(CompleteAccDeclare)s + Fault execute(ExecContext *, Trace::InstRecord *) const; + Fault initiateAcc(ExecContext *, Trace::InstRecord *) const; + Fault completeAcc(PacketPtr, ExecContext *, + Trace::InstRecord *) const; }; class %(class_name)s_7 : public %(base_class)sMicro @@ -231,9 +238,10 @@ def template BlockMemDeclare {{ public: // Constructor %(class_name)s_7(ExtMachInst machInst); - %(BasicExecDeclare)s - %(InitiateAccDeclare)s - %(CompleteAccDeclare)s + Fault execute(ExecContext *, Trace::InstRecord *) const; + Fault initiateAcc(ExecContext *, Trace::InstRecord *) const; + Fault completeAcc(PacketPtr, ExecContext *, + Trace::InstRecord *) const; }; }; }}; diff --git a/src/arch/sparc/isa/formats/mem/util.isa b/src/arch/sparc/isa/formats/mem/util.isa index ff14f060f..4d7fc0608 100644 --- a/src/arch/sparc/isa/formats/mem/util.isa +++ b/src/arch/sparc/isa/formats/mem/util.isa @@ -280,15 +280,6 @@ def template EACompExecute {{ } }}; -def template EACompDeclare {{ - Fault eaComp(ExecContext *, Trace::InstRecord *) const; -}}; - -// This delcares the initiateAcc function in memory operations -def template InitiateAccDeclare {{ - Fault initiateAcc(ExecContext *, Trace::InstRecord *) const; -}}; - // This declares the completeAcc function in memory operations def template CompleteAccDeclare {{ Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const; 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 diff --git a/src/arch/sparc/isa/formats/nop.isa b/src/arch/sparc/isa/formats/nop.isa index e725f49b0..d1257907f 100644 --- a/src/arch/sparc/isa/formats/nop.isa +++ b/src/arch/sparc/isa/formats/nop.isa @@ -34,12 +34,6 @@ // Per-cpu-model nop execute method. def template NopExec {{ - - Fault execute(ExecContext *xc, Trace::InstRecord *traceData) const - { - // Nothing to see here, move along - return NoFault; - } }}; output header {{ @@ -56,12 +50,11 @@ output header {{ flags[IsNop] = true; } - // All Nop instructions do the same thing, so this can be - // defined here. Nops can be defined directly, so there - // needs to be a default implementation. Interpolate via - // template so i gets expanded to a set of - // cpu-model-specific functions. - %(NopExec)s + Fault + execute(ExecContext *xc, Trace::InstRecord *traceData) const + { + return NoFault; + } std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const; diff --git a/src/arch/sparc/isa/formats/unimp.isa b/src/arch/sparc/isa/formats/unimp.isa index f612b8bc6..aa03c926e 100644 --- a/src/arch/sparc/isa/formats/unimp.isa +++ b/src/arch/sparc/isa/formats/unimp.isa @@ -53,7 +53,7 @@ output header {{ flags[IsNonSpeculative] = true; } - %(BasicExecDeclare)s + Fault execute(ExecContext *, Trace::InstRecord *) const; std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const; @@ -84,7 +84,7 @@ output header {{ flags[IsNonSpeculative] = true; } - %(BasicExecDeclare)s + Fault execute(ExecContext *, Trace::InstRecord *) const; std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const; diff --git a/src/arch/sparc/isa/formats/unknown.isa b/src/arch/sparc/isa/formats/unknown.isa index 226f0191e..f6f9e878b 100644 --- a/src/arch/sparc/isa/formats/unknown.isa +++ b/src/arch/sparc/isa/formats/unknown.isa @@ -46,7 +46,7 @@ output header {{ { } - %(BasicExecDeclare)s + Fault execute(ExecContext *, Trace::InstRecord *) const; std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const; |