summaryrefslogtreecommitdiff
path: root/src/arch/power
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/power')
-rw-r--r--src/arch/power/SConscript8
-rw-r--r--src/arch/power/tlb.cc17
2 files changed, 12 insertions, 13 deletions
diff --git a/src/arch/power/SConscript b/src/arch/power/SConscript
index 366fc1e65..e8d385f4d 100644
--- a/src/arch/power/SConscript
+++ b/src/arch/power/SConscript
@@ -41,7 +41,10 @@ if env['TARGET_ISA'] == 'power':
Source('insts/condition.cc')
Source('insts/static_inst.cc')
Source('interrupts.cc')
+ Source('linux/linux.cc')
+ Source('linux/process.cc')
Source('pagetable.cc')
+ Source('process.cc')
Source('tlb.cc')
Source('utility.cc')
Source('vtophys.cc')
@@ -51,11 +54,6 @@ if env['TARGET_ISA'] == 'power':
DebugFlag('Power')
- if not env['FULL_SYSTEM']:
- Source('process.cc')
- Source('linux/linux.cc')
- Source('linux/process.cc')
-
# Add in files generated by the ISA description.
isa_desc_files = env.ISADesc('isa/main.isa')
diff --git a/src/arch/power/tlb.cc b/src/arch/power/tlb.cc
index 8a088032c..d9be7fa69 100644
--- a/src/arch/power/tlb.cc
+++ b/src/arch/power/tlb.cc
@@ -50,6 +50,7 @@
#include "debug/TLB.hh"
#include "mem/page_table.hh"
#include "params/PowerTLB.hh"
+#include "sim/full_system.hh"
#include "sim/process.hh"
using namespace std;
@@ -310,14 +311,14 @@ TLB::translateData(RequestPtr req, ThreadContext *tc, bool write)
Fault
TLB::translateAtomic(RequestPtr req, ThreadContext *tc, Mode mode)
{
-#if !FULL_SYSTEM
- if (mode == Execute)
- return translateInst(req, tc);
- else
- return translateData(req, tc, mode == Write);
-#else
- fatal("translate atomic not yet implemented\n");
-#endif
+ if (FullSystem) {
+ fatal("translate atomic not yet implemented in full system mode.\n");
+ } else {
+ if (mode == Execute)
+ return translateInst(req, tc);
+ else
+ return translateData(req, tc, mode == Write);
+ }
}
void