sparc: Implement translateFunctional in the TLB class.
authorGabe Black <gabeblack@google.com>
Sat, 7 Mar 2020 00:09:15 +0000 (16:09 -0800)
committerGabe Black <gabeblack@google.com>
Mon, 9 Mar 2020 21:31:50 +0000 (21:31 +0000)
commitac275f96ec8384ff83a5476d23cd58441bb32f9f
tree6e8bc6d7d3d6f11d07418462aa07b4b428559fbc
parent63c05c071785b09435de85b025efd59bb8a3ea56
sparc: Implement translateFunctional in the TLB class.

This is a slightly munged version of vtophys, but which returns faults
like the normal translate functions if the address is malformed. It
attempts to return an approximately correct fault if the translation
isn't found, but since SPARC doesn't have hardware managed TLBs that
has to be an approximation.

translateFunctional also ignores permissions type checks (unless
they're built into the "lookup" method?) in line with vtophys type
semantics. The idea is that translateFunctional is used in conjunction
with functional accesses, and those are intended to reach beyond
normal barriers/boundaries to give unfettered access to the system for
debugging or setup purposes.

Change-Id: I000d9c31877b82043489792de037e7d664914fa9
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/26404
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/arch/sparc/tlb.cc
src/arch/sparc/tlb.hh