1/* 2 * Copyright (c) 2010 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 319 unchanged lines hidden (view full) --- 328 } else { 329 if (bits(newPC, 0)) { 330 nextThumb(true); 331 newPC = newPC & ~mask(1); 332 } else if (!bits(newPC, 1)) { 333 nextThumb(false); 334 } else { 335 warn("Bad interworking branch address %#x.\n", newPC); |
336 // This state is UNPREDICTABLE in the ARM architecture 337 // The easy thing to do is just mask off the bit and 338 // stay in the current mode, so we'll do that. 339 newPC &= ~mask(2); |
340 } 341 } 342 npc(newPC); 343 } 344 345 // Perform an interworking branch in ARM mode, a regular branch 346 // otherwise. 347 void --- 124 unchanged lines hidden --- |