changeset 9e11081542e4 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=9e11081542e4
description:
        ARM: Do something predictable for an UNPREDICTABLE branch.

diffstat:

 src/arch/arm/types.hh |  4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diffs (14 lines):

diff -r f440cdaf1c2d -r 9e11081542e4 src/arch/arm/types.hh
--- a/src/arch/arm/types.hh     Thu Nov 11 11:58:09 2010 -0800
+++ b/src/arch/arm/types.hh     Mon Nov 15 14:04:03 2010 -0600
@@ -333,6 +333,10 @@
                     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);
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to