arch-arm: Early checking if debug is enabled in TLB
authorGiacomo Travaglini <giacomo.travaglini@arm.com>
Wed, 12 Aug 2020 15:07:00 +0000 (16:07 +0100)
committerGiacomo Travaglini <giacomo.travaglini@arm.com>
Tue, 18 Aug 2020 13:04:58 +0000 (13:04 +0000)
commiteb1ac7a011bfcd6c8e7f27ff49af6fe6b6dc0237
treefd2520959eee123d7fa156cbf00a85b79d65ba5e
parent81ad7e66db57de462ab697ee7faf0974f1c55d91
arch-arm: Early checking if debug is enabled in TLB

The patch is aiming at speeding up gem5 execution.  The TLB::translateFs
is in the critical path of the simulator: every fetch + ld/st will make
use of it.
Checking all the time for a breakpoint during fetch is rather expensive;
it is better to make use of the cached booleans in SelfDebug to do an
early check to see if any of
Watchpoint/Breakpopint/VectorCatch/SoftwareStep is enabled.
Most workloads won't use them so there's no point on calling the
testDebug method

Change-Id: I0189b84e0dc2e081acce04ff44787b9f1014477c
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Richard Cooper <richard.cooper@arm.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/32776
Tested-by: kokoro <noreply+kokoro@google.com>
src/arch/arm/tlb.cc