This patchset fixes the ARM-specific parts of the linux-user signal
handling code to save the VFP and iWMMXT registers to the signal
context struct when invoking a signal handler, and restore them
afterwards. (This omission was previously marked with a 'FIXME'
comment, and meant that signal handlers which used floating point
might have corrupted the FPU regs of the code they interrupted,
and that signal handlers which tried to examine or change the
FPU regs of the interrupted code would crash.)


Peter Maydell (6):
  ARM: linux-user: Correct size of padding in target_ucontext_v2
  ARM: Expose vfp_get_fpscr() and vfp_set_fpscr() to C code
  ARM: linux-user: Expose VFP registers to signal handlers
  ARM: linux-user: Restore VFP state from ucontext on sigreturn
  ARM: linux-user: Expose iWMMXT registers to signal handlers
  ARM: linux-user: Restore iWMMXT state from ucontext on sigreturn

 linux-user/signal.c |  156 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 target-arm/cpu.h    |    4 +
 target-arm/helper.c |   10 +++
 3 files changed, 168 insertions(+), 2 deletions(-)


Reply via email to