From 265e145db2d3675d2ac25fac975a21701f92fe50 Mon Sep 17 00:00:00 2001 From: Ali Saidi Date: Mon, 15 Nov 2010 14:04:03 -0600 Subject: ARM: Do something predictable for an UNPREDICTABLE branch. --- src/arch/arm/types.hh | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/arch/arm/types.hh b/src/arch/arm/types.hh index a679686c7..e270813ef 100644 --- a/src/arch/arm/types.hh +++ b/src/arch/arm/types.hh @@ -333,6 +333,10 @@ namespace ArmISA nextThumb(false); } else { warn("Bad interworking branch address %#x.\n", newPC); + // This state is UNPREDICTABLE in the ARM architecture + // The easy thing to do is just mask off the bit and + // stay in the current mode, so we'll do that. + newPC &= ~mask(2); } } npc(newPC); -- cgit v1.2.3