From: Ali Saidi Date: Mon, 15 Nov 2010 20:04:03 +0000 (-0600) Subject: ARM: Do something predictable for an UNPREDICTABLE branch. X-Git-Tag: stable_2012_02_02~751 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=265e145db2d3675d2ac25fac975a21701f92fe50;p=gem5.git ARM: Do something predictable for an UNPREDICTABLE branch. --- 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);