| 1003 |
__put_user_error(env->regs[14], &sc->arm_lr, err); |
__put_user_error(env->regs[14], &sc->arm_lr, err); |
| 1004 |
__put_user_error(env->regs[15], &sc->arm_pc, err); |
__put_user_error(env->regs[15], &sc->arm_pc, err); |
| 1005 |
#ifdef TARGET_CONFIG_CPU_32 |
#ifdef TARGET_CONFIG_CPU_32 |
| 1006 |
__put_user_error(env->cpsr, &sc->arm_cpsr, err); |
__put_user_error(cpsr_read(env), &sc->arm_cpsr, err); |
| 1007 |
#endif |
#endif |
| 1008 |
|
|
| 1009 |
__put_user_error(/* current->thread.trap_no */ 0, &sc->trap_no, err); |
__put_user_error(/* current->thread.trap_no */ 0, &sc->trap_no, err); |
| 1040 |
target_ulong retcode; |
target_ulong retcode; |
| 1041 |
int thumb = 0; |
int thumb = 0; |
| 1042 |
#if defined(TARGET_CONFIG_CPU_32) |
#if defined(TARGET_CONFIG_CPU_32) |
| 1043 |
|
#if 0 |
| 1044 |
target_ulong cpsr = env->cpsr; |
target_ulong cpsr = env->cpsr; |
| 1045 |
|
|
|
#if 0 |
|
| 1046 |
/* |
/* |
| 1047 |
* Maybe we need to deliver a 32-bit signal to a 26-bit task. |
* Maybe we need to deliver a 32-bit signal to a 26-bit task. |
| 1048 |
*/ |
*/ |
| 1088 |
env->regs[14] = retcode; |
env->regs[14] = retcode; |
| 1089 |
env->regs[15] = handler & (thumb ? ~1 : ~3); |
env->regs[15] = handler & (thumb ? ~1 : ~3); |
| 1090 |
|
|
| 1091 |
|
#if 0 |
| 1092 |
#ifdef TARGET_CONFIG_CPU_32 |
#ifdef TARGET_CONFIG_CPU_32 |
| 1093 |
env->cpsr = cpsr; |
env->cpsr = cpsr; |
| 1094 |
#endif |
#endif |
| 1095 |
|
#endif |
| 1096 |
|
|
| 1097 |
return 0; |
return 0; |
| 1098 |
} |
} |
| 1159 |
restore_sigcontext(CPUState *env, struct target_sigcontext *sc) |
restore_sigcontext(CPUState *env, struct target_sigcontext *sc) |
| 1160 |
{ |
{ |
| 1161 |
int err = 0; |
int err = 0; |
| 1162 |
|
uint32_t cpsr; |
| 1163 |
|
|
| 1164 |
__get_user_error(env->regs[0], &sc->arm_r0, err); |
__get_user_error(env->regs[0], &sc->arm_r0, err); |
| 1165 |
__get_user_error(env->regs[1], &sc->arm_r1, err); |
__get_user_error(env->regs[1], &sc->arm_r1, err); |
| 1178 |
__get_user_error(env->regs[14], &sc->arm_lr, err); |
__get_user_error(env->regs[14], &sc->arm_lr, err); |
| 1179 |
__get_user_error(env->regs[15], &sc->arm_pc, err); |
__get_user_error(env->regs[15], &sc->arm_pc, err); |
| 1180 |
#ifdef TARGET_CONFIG_CPU_32 |
#ifdef TARGET_CONFIG_CPU_32 |
| 1181 |
__get_user_error(env->cpsr, &sc->arm_cpsr, err); |
__get_user_error(cpsr, &sc->arm_cpsr, err); |
| 1182 |
|
cpsr_write(env, cpsr, 0xffffffff); |
| 1183 |
#endif |
#endif |
| 1184 |
|
|
| 1185 |
err |= !valid_user_regs(env); |
err |= !valid_user_regs(env); |