summaryrefslogtreecommitdiff
path: root/src/cpu/inorder
diff options
context:
space:
mode:
authorKorey Sewell <ksewell@umich.edu>2011-06-09 01:34:06 -0400
committerKorey Sewell <ksewell@umich.edu>2011-06-09 01:34:06 -0400
commit1a451cd2c5ec20c27c39a1cd3e3b5422c2b4f679 (patch)
treebcd4c037bb4f6822d5b1e3112ebca7060e3dbcae /src/cpu/inorder
parent67bb3070032fcb944a63aabb4ecfff692840e7bf (diff)
downloadgem5-1a451cd2c5ec20c27c39a1cd3e3b5422c2b4f679.tar.xz
sparc: compilation fixes for inorder
Add a few constants and functions that the InOrder model wants for SPARC. * * * sparc: add eaComp function InOrder separates the address generation from the actual access so give Sparc that functionality * * * sparc: add control flags for branches branch predictors and other cpu model functions need to know specific information about branches, so add the necessary flags here
Diffstat (limited to 'src/cpu/inorder')
-rw-r--r--src/cpu/inorder/cpu.cc1
-rw-r--r--src/cpu/inorder/inorder_dyn_inst.cc19
2 files changed, 20 insertions, 0 deletions
diff --git a/src/cpu/inorder/cpu.cc b/src/cpu/inorder/cpu.cc
index c27020671..97748deba 100644
--- a/src/cpu/inorder/cpu.cc
+++ b/src/cpu/inorder/cpu.cc
@@ -32,6 +32,7 @@
#include <algorithm>
#include "arch/utility.hh"
+#include "base/bigint.hh"
#include "config/full_system.hh"
#include "config/the_isa.hh"
#include "cpu/inorder/resources/resource_list.hh"
diff --git a/src/cpu/inorder/inorder_dyn_inst.cc b/src/cpu/inorder/inorder_dyn_inst.cc
index 30a69bbb5..25f458379 100644
--- a/src/cpu/inorder/inorder_dyn_inst.cc
+++ b/src/cpu/inorder/inorder_dyn_inst.cc
@@ -35,6 +35,7 @@
#include <string>
#include "arch/faults.hh"
+#include "base/bigint.hh"
#include "base/cprintf.hh"
#include "base/trace.hh"
#include "config/the_isa.hh"
@@ -536,6 +537,14 @@ InOrderDynInst::read(Addr addr, T &data, unsigned flags)
template
Fault
+InOrderDynInst::read(Addr addr, Twin32_t &data, unsigned flags);
+
+template
+Fault
+InOrderDynInst::read(Addr addr, Twin64_t &data, unsigned flags);
+
+template
+Fault
InOrderDynInst::read(Addr addr, uint64_t &data, unsigned flags);
template
@@ -599,6 +608,16 @@ InOrderDynInst::write(T data, Addr addr, unsigned flags, uint64_t *res)
}
#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+template
+Fault
+InOrderDynInst::write(Twin32_t data, Addr addr,
+ unsigned flags, uint64_t *res);
+
+template
+Fault
+InOrderDynInst::write(Twin64_t data, Addr addr,
+ unsigned flags, uint64_t *res);
template
Fault
InOrderDynInst::write(uint64_t data, Addr addr,