signal.c (41feb5b955f0d7c9d071b2c5adbc404ae2895c7a) | signal.c (7fbc6a403a0aab834e764fa61d81ed8586cfe352) |
---|---|
1/* 2 * Emulation of Linux signals 3 * 4 * Copyright (c) 2003 Fabrice Bellard 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or --- 332 unchanged lines hidden (view full) --- 341 342 memset(&stack, 0, sizeof(stack)); 343 target_save_altstack(&stack, env); 344 memcpy(&uc->tuc_stack, &stack, sizeof(stack)); 345 346 setup_sigcontext(&uc->tuc_mcontext, env, set->sig[0]); 347 /* Save coprocessor signal frame. */ 348 regspace = uc->tuc_regspace; | 1/* 2 * Emulation of Linux signals 3 * 4 * Copyright (c) 2003 Fabrice Bellard 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or --- 332 unchanged lines hidden (view full) --- 341 342 memset(&stack, 0, sizeof(stack)); 343 target_save_altstack(&stack, env); 344 memcpy(&uc->tuc_stack, &stack, sizeof(stack)); 345 346 setup_sigcontext(&uc->tuc_mcontext, env, set->sig[0]); 347 /* Save coprocessor signal frame. */ 348 regspace = uc->tuc_regspace; |
349 if (arm_feature(env, ARM_FEATURE_VFP)) { | 349 if (cpu_isar_feature(aa32_vfp_simd, env_archcpu(env))) { |
350 regspace = setup_sigframe_v2_vfp(regspace, env); 351 } 352 if (arm_feature(env, ARM_FEATURE_IWMMXT)) { 353 regspace = setup_sigframe_v2_iwmmxt(regspace, env); 354 } 355 356 /* Write terminating magic word */ 357 __put_user(0, regspace); --- 308 unchanged lines hidden (view full) --- 666 target_to_host_sigset(&host_set, &uc->tuc_sigmask); 667 set_sigmask(&host_set); 668 669 if (restore_sigcontext(env, &uc->tuc_mcontext)) 670 return 1; 671 672 /* Restore coprocessor signal frame */ 673 regspace = uc->tuc_regspace; | 350 regspace = setup_sigframe_v2_vfp(regspace, env); 351 } 352 if (arm_feature(env, ARM_FEATURE_IWMMXT)) { 353 regspace = setup_sigframe_v2_iwmmxt(regspace, env); 354 } 355 356 /* Write terminating magic word */ 357 __put_user(0, regspace); --- 308 unchanged lines hidden (view full) --- 666 target_to_host_sigset(&host_set, &uc->tuc_sigmask); 667 set_sigmask(&host_set); 668 669 if (restore_sigcontext(env, &uc->tuc_mcontext)) 670 return 1; 671 672 /* Restore coprocessor signal frame */ 673 regspace = uc->tuc_regspace; |
674 if (arm_feature(env, ARM_FEATURE_VFP)) { | 674 if (cpu_isar_feature(aa32_vfp_simd, env_archcpu(env))) { |
675 regspace = restore_sigframe_v2_vfp(env, regspace); 676 if (!regspace) { 677 return 1; 678 } 679 } 680 if (arm_feature(env, ARM_FEATURE_IWMMXT)) { 681 regspace = restore_sigframe_v2_iwmmxt(env, regspace); 682 if (!regspace) { --- 153 unchanged lines hidden --- | 675 regspace = restore_sigframe_v2_vfp(env, regspace); 676 if (!regspace) { 677 return 1; 678 } 679 } 680 if (arm_feature(env, ARM_FEATURE_IWMMXT)) { 681 regspace = restore_sigframe_v2_iwmmxt(env, regspace); 682 if (!regspace) { --- 153 unchanged lines hidden --- |