gdbstub.c (e91b8994115d2f093e7556c9af2d051a26a98cfb) | gdbstub.c (9323e79f10e5f5d8fffc3b307776173ca11faeae) |
---|---|
1/* 2 * ARM gdb server stub 3 * 4 * Copyright (c) 2003-2005 Fabrice Bellard 5 * Copyright (c) 2013 SUSE LINUX Products GmbH 6 * 7 * This library is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU Lesser General Public --- 104 unchanged lines hidden (view full) --- 113 } 114 return 4; 115 case 25: 116 /* CPSR, or XPSR for M-profile */ 117 if (arm_feature(env, ARM_FEATURE_M)) { 118 /* 119 * Don't allow writing to XPSR.Exception as it can cause 120 * a transition into or out of handler mode (it's not | 1/* 2 * ARM gdb server stub 3 * 4 * Copyright (c) 2003-2005 Fabrice Bellard 5 * Copyright (c) 2013 SUSE LINUX Products GmbH 6 * 7 * This library is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU Lesser General Public --- 104 unchanged lines hidden (view full) --- 113 } 114 return 4; 115 case 25: 116 /* CPSR, or XPSR for M-profile */ 117 if (arm_feature(env, ARM_FEATURE_M)) { 118 /* 119 * Don't allow writing to XPSR.Exception as it can cause 120 * a transition into or out of handler mode (it's not |
121 * writeable via the MSR insn so this is a reasonable | 121 * writable via the MSR insn so this is a reasonable |
122 * restriction). Other fields are safe to update. 123 */ 124 xpsr_write(env, tmp, ~XPSR_EXCP); 125 } else { 126 cpsr_write(env, tmp, 0xffffffff, CPSRWriteByGDBStub); 127 } 128 return 4; 129 } --- 377 unchanged lines hidden --- | 122 * restriction). Other fields are safe to update. 123 */ 124 xpsr_write(env, tmp, ~XPSR_EXCP); 125 } else { 126 cpsr_write(env, tmp, 0xffffffff, CPSRWriteByGDBStub); 127 } 128 return 4; 129 } --- 377 unchanged lines hidden --- |