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/x86/isa/formats | |
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/x86/isa/formats')
-rw-r--r-- | src/arch/x86/isa/formats/basic.isa | 16 | ||||
-rw-r--r-- | src/arch/x86/isa/formats/monitor_mwait.isa | 11 | ||||
-rw-r--r-- | src/arch/x86/isa/formats/unimp.isa | 4 | ||||
-rw-r--r-- | src/arch/x86/isa/formats/unknown.isa | 2 |
4 files changed, 7 insertions, 26 deletions
diff --git a/src/arch/x86/isa/formats/basic.isa b/src/arch/x86/isa/formats/basic.isa index af540962b..2542df8c3 100644 --- a/src/arch/x86/isa/formats/basic.isa +++ b/src/arch/x86/isa/formats/basic.isa @@ -38,20 +38,6 @@ // // Authors: Gabe Black -// Declarations for execute() methods. -def template BasicExecDeclare {{ - Fault execute(ExecContext *, Trace::InstRecord *) const; -}}; - -// 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 {{ /** @@ -62,7 +48,7 @@ def template BasicDeclare {{ public: // Constructor. %(class_name)s(ExtMachInst machInst); - %(BasicExecDeclare)s + Fault execute(ExecContext *, Trace::InstRecord *) const; }; }}; diff --git a/src/arch/x86/isa/formats/monitor_mwait.isa b/src/arch/x86/isa/formats/monitor_mwait.isa index 5e68b8738..9ceb129a6 100644 --- a/src/arch/x86/isa/formats/monitor_mwait.isa +++ b/src/arch/x86/isa/formats/monitor_mwait.isa @@ -45,20 +45,15 @@ def format MonitorInst(code, *opt_flags) {{ // Mwait instruction -// Declarations for execute() methods. -def template MwaitExecDeclare {{ - Fault execute(ExecContext *, Trace::InstRecord *) const; - Fault initiateAcc(ExecContext *, Trace::InstRecord *) const; - Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const; -}}; - def template MwaitDeclare {{ class %(class_name)s : public %(base_class)s { public: // Constructor. %(class_name)s(ExtMachInst machInst); - %(MwaitExecDeclare)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/x86/isa/formats/unimp.isa b/src/arch/x86/isa/formats/unimp.isa index ee0600dfd..963e07c77 100644 --- a/src/arch/x86/isa/formats/unimp.isa +++ b/src/arch/x86/isa/formats/unimp.isa @@ -62,7 +62,7 @@ output header {{ flags[IsNonSpeculative] = true; } - %(BasicExecDeclare)s + Fault execute(ExecContext *, Trace::InstRecord *) const; std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const; @@ -93,7 +93,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/x86/isa/formats/unknown.isa b/src/arch/x86/isa/formats/unknown.isa index 769ffb7b8..a5c48fce1 100644 --- a/src/arch/x86/isa/formats/unknown.isa +++ b/src/arch/x86/isa/formats/unknown.isa @@ -57,7 +57,7 @@ output header {{ { } - %(BasicExecDeclare)s + Fault execute(ExecContext *, Trace::InstRecord *) const; std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const; |