types.hh (7732:a2c660de7787) types.hh (7744:9e11081542e4)
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);
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);
336 }
337 }
338 npc(newPC);
339 }
340
341 // Perform an interworking branch in ARM mode, a regular branch
342 // otherwise.
343 void

--- 124 unchanged lines hidden ---
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 ---