From 129b885abd30e72c0b3e19787da385af4af6e53e Mon Sep 17 00:00:00 2001 From: Taeho Kgil Date: Wed, 3 Nov 2004 17:56:26 -0500 Subject: Add Inorder CPU model SConscript: arch/isa_parser.py: cpu/static_inst.hh: Add inorderCPU --HG-- extra : convert_revision : 141372808fac5f6d125f9051ee0be982d21683aa --- SConscript | 4 ++++ arch/isa_parser.py | 3 +++ cpu/static_inst.hh | 7 +++++++ 3 files changed, 14 insertions(+) diff --git a/SConscript b/SConscript index a41680ed4..a2b1c44fa 100644 --- a/SConscript +++ b/SConscript @@ -46,6 +46,7 @@ base_sources = Split(''' arch/alpha/decoder.cc arch/alpha/fast_cpu_exec.cc arch/alpha/simple_cpu_exec.cc + arch/alpha/inorder_cpu_exec.cc arch/alpha/full_cpu_exec.cc arch/alpha/faults.cc arch/alpha/isa_traits.cc @@ -127,6 +128,7 @@ base_sources = Split(''' cpu/full_cpu/iq/standard/iq_standard.cc cpu/sampling_cpu/sampling_cpu.cc cpu/simple_cpu/simple_cpu.cc + cpu/inorder_cpu/inorder_cpu.cc cpu/trace/reader/mem_trace_reader.cc cpu/trace/reader/ibm_reader.cc cpu/trace/reader/itx_reader.cc @@ -210,6 +212,7 @@ base_obj_desc_files = Split(''' cpu/full_cpu/PipeTrace.od cpu/sampling_cpu/SamplingCPU.od cpu/simple_cpu/SimpleCPU.od + cpu/inorder_cpu/InorderCPU.od cpu/BaseCPU.od cpu/IntrControl.od mem/bus/Bus.od @@ -437,6 +440,7 @@ env.Command(Split('''arch/alpha/decoder.cc arch/alpha/decoder.hh arch/alpha/fast_cpu_exec.cc arch/alpha/simple_cpu_exec.cc + arch/alpha/inorder_cpu_exec.cc arch/alpha/full_cpu_exec.cc'''), Split('''arch/alpha/isa_desc arch/isa_parser.py'''), diff --git a/arch/isa_parser.py b/arch/isa_parser.py index 011ce7623..c0b5131de 100755 --- a/arch/isa_parser.py +++ b/arch/isa_parser.py @@ -627,6 +627,9 @@ class CpuModel: # Define CPU models. The following lines should contain the only # CPU-model-specific information in this file. Note that the ISA # description itself should have *no* CPU-model-specific content. +CpuModel('InorderCPU', 'inorder_cpu_exec.cc', + '#include "cpu/inorder_cpu/inorder_cpu.hh"', + { 'CPU_exec_context': 'InorderCPU' }) CpuModel('SimpleCPU', 'simple_cpu_exec.cc', '#include "cpu/simple_cpu/simple_cpu.hh"', { 'CPU_exec_context': 'SimpleCPU' }) diff --git a/cpu/static_inst.hh b/cpu/static_inst.hh index 0315ab7a9..46b2e4b19 100644 --- a/cpu/static_inst.hh +++ b/cpu/static_inst.hh @@ -44,6 +44,7 @@ class ExecContext; class DynInst; class FastCPU; class SimpleCPU; +class InorderCPU; class SymbolTable; namespace Trace { @@ -312,6 +313,12 @@ class StaticInst : public StaticInstBase */ virtual Fault execute(SimpleCPU *xc, Trace::InstRecord *traceData) = 0; + /** + * Execute this instruction under InorderCPU model. + */ + virtual Fault execute(InorderCPU *xc, Trace::InstRecord *traceData) = 0; + + /** * Execute this instruction under FastCPU model. */ -- cgit v1.2.3