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 ---