diff options
author | Andreas Sandberg <andreas@sandberg.pp.se> | 2013-06-03 13:55:41 +0200 |
---|---|---|
committer | Andreas Sandberg <andreas@sandberg.pp.se> | 2013-06-03 13:55:41 +0200 |
commit | 7846f59d0dcb36c13e06a3ba8a4c461e646582b6 (patch) | |
tree | 32b0ebd81cabb265409ad09e42285d2615354bdb /src/arch/power | |
parent | 63dae287035c9670c0622eefc9a19e0dc05c299f (diff) | |
download | gem5-7846f59d0dcb36c13e06a3ba8a4c461e646582b6.tar.xz |
arch: Create a method to finalize physical addresses
in the TLB
Some architectures (currently only x86) require some fixing-up of
physical addresses after a normal address translation. This is usually
to remap devices such as the APIC, but could be used for other memory
mapped devices as well. When running the CPU in a using hardware
virtualization, we still need to do these address fix-ups before
inserting the request into the memory system. This patch moves this
patch allows that code to be used by such CPUs without doing full
address translations.
Diffstat (limited to 'src/arch/power')
-rw-r--r-- | src/arch/power/tlb.cc | 6 | ||||
-rw-r--r-- | src/arch/power/tlb.hh | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/arch/power/tlb.cc b/src/arch/power/tlb.cc index de828a625..9c1745cc8 100644 --- a/src/arch/power/tlb.cc +++ b/src/arch/power/tlb.cc @@ -333,6 +333,12 @@ TLB::translateFunctional(RequestPtr req, ThreadContext *tc, Mode mode) return NoFault; } +Fault +TLB::finalizePhysical(RequestPtr req, ThreadContext *tc, Mode mode) const +{ + return NoFault; +} + PowerISA::PTE & TLB::index(bool advance) { diff --git a/src/arch/power/tlb.hh b/src/arch/power/tlb.hh index 3cf2a3706..753231a89 100644 --- a/src/arch/power/tlb.hh +++ b/src/arch/power/tlb.hh @@ -164,6 +164,7 @@ class TLB : public BaseTLB * supported by Checker at the moment */ Fault translateFunctional(RequestPtr req, ThreadContext *tc, Mode mode); + Fault finalizePhysical(RequestPtr req, ThreadContext *tc, Mode mode) const; // Checkpointing void serialize(std::ostream &os); |