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/mips/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/mips/isa')
-rw-r--r-- | src/arch/mips/isa/formats/basic.isa | 7 | ||||
-rw-r--r-- | src/arch/mips/isa/formats/mem.isa | 23 | ||||
-rw-r--r-- | src/arch/mips/isa/formats/noop.isa | 2 | ||||
-rw-r--r-- | src/arch/mips/isa/formats/unimp.isa | 10 | ||||
-rw-r--r-- | src/arch/mips/isa/formats/unknown.isa | 2 |
5 files changed, 12 insertions, 32 deletions
diff --git a/src/arch/mips/isa/formats/basic.isa b/src/arch/mips/isa/formats/basic.isa index 7431b94f5..b824fda18 100644 --- a/src/arch/mips/isa/formats/basic.isa +++ b/src/arch/mips/isa/formats/basic.isa @@ -31,11 +31,6 @@ // Authors: Steve Reinhardt // Korey Sewell -// Declarations for execute() methods. -def template BasicExecDeclare {{ - Fault execute(ExecContext *, Trace::InstRecord *) const; -}}; - // Basic instruction class declaration template. def template BasicDeclare {{ /** @@ -46,7 +41,7 @@ def template BasicDeclare {{ public: /// Constructor. %(class_name)s(MachInst machInst); - %(BasicExecDeclare)s + Fault execute(ExecContext *, Trace::InstRecord *) const; }; }}; diff --git a/src/arch/mips/isa/formats/mem.isa b/src/arch/mips/isa/formats/mem.isa index 9e5f538e6..671c7643d 100644 --- a/src/arch/mips/isa/formats/mem.isa +++ b/src/arch/mips/isa/formats/mem.isa @@ -142,28 +142,13 @@ def template LoadStoreDeclare {{ /// 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(Packet *, ExecContext *, Trace::InstRecord *) const; }; }}; -def template EACompDeclare {{ - Fault eaComp(ExecContext *, Trace::InstRecord *) const; -}}; - -def template InitiateAccDeclare {{ - Fault initiateAcc(ExecContext *, Trace::InstRecord *) const; -}}; - - -def template CompleteAccDeclare {{ - Fault completeAcc(Packet *, ExecContext *, Trace::InstRecord *) const; -}}; def template LoadStoreConstructor {{ %(class_name)s::%(class_name)s(ExtMachInst machInst) diff --git a/src/arch/mips/isa/formats/noop.isa b/src/arch/mips/isa/formats/noop.isa index 17c653f14..f33c1130c 100644 --- a/src/arch/mips/isa/formats/noop.isa +++ b/src/arch/mips/isa/formats/noop.isa @@ -56,7 +56,7 @@ output header {{ std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const; - %(BasicExecDeclare)s + Fault execute(ExecContext *, Trace::InstRecord *) const; }; }}; diff --git a/src/arch/mips/isa/formats/unimp.isa b/src/arch/mips/isa/formats/unimp.isa index 6f573b667..fb0051b4f 100644 --- a/src/arch/mips/isa/formats/unimp.isa +++ b/src/arch/mips/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; @@ -70,7 +70,7 @@ output header {{ flags[IsNonSpeculative] = true; } - %(BasicExecDeclare)s + Fault execute(ExecContext *, Trace::InstRecord *) const; std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const; @@ -87,7 +87,7 @@ output header {{ flags[IsNonSpeculative] = true; } - %(BasicExecDeclare)s + Fault execute(ExecContext *, Trace::InstRecord *) const; std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const; @@ -104,7 +104,7 @@ output header {{ flags[IsNonSpeculative] = true; } - %(BasicExecDeclare)s + Fault execute(ExecContext *, Trace::InstRecord *) const; std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const; @@ -135,7 +135,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/mips/isa/formats/unknown.isa b/src/arch/mips/isa/formats/unknown.isa index fb29eea4b..65fd18f7a 100644 --- a/src/arch/mips/isa/formats/unknown.isa +++ b/src/arch/mips/isa/formats/unknown.isa @@ -51,7 +51,7 @@ output header {{ flags[IsNonSpeculative] = true; } - %(BasicExecDeclare)s + Fault execute(ExecContext *, Trace::InstRecord *) const; std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const; |