diff options
author | Korey Sewell <ksewell@umich.edu> | 2011-06-09 01:34:06 -0400 |
---|---|---|
committer | Korey Sewell <ksewell@umich.edu> | 2011-06-09 01:34:06 -0400 |
commit | 1a451cd2c5ec20c27c39a1cd3e3b5422c2b4f679 (patch) | |
tree | bcd4c037bb4f6822d5b1e3112ebca7060e3dbcae /src/cpu/inorder | |
parent | 67bb3070032fcb944a63aabb4ecfff692840e7bf (diff) | |
download | gem5-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.cc | 1 | ||||
-rw-r--r-- | src/cpu/inorder/inorder_dyn_inst.cc | 19 |
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, |