Preserve VFP state across signal delivery.
authormmel <mmel@FreeBSD.org>
Sun, 26 Mar 2017 08:36:56 +0000 (08:36 +0000)
committermmel <mmel@FreeBSD.org>
Sun, 26 Mar 2017 08:36:56 +0000 (08:36 +0000)
commita4e8bdb60662a569d75fe523462bc3dbbfaa71d0
tree06641c1b618e2df32eb91a4dfd068573728c416f
parent45f6b40f838790daebcbb7b1502bcd9c2a8f69fa
Preserve VFP state across signal delivery.

We don't have enouch space to store full VFP context within mcontext
stucture. Due to this:
 - follow i386/amd64 way and store VFP state outside of the mcontext_t
   but point to it. Use the size of VFP state structure as an 'magic'
   indicator of the saved VFP state presence.
 - teach set_mcontext() about this external storage.
 - for signal delivery, store VFP state to expanded 'struct sigframe'.

Submited by: Andrew Gierth (initial version)
PR: 217611
MFC after: 2 weeks
lib/libthread_db/arch/arm/libpthread_md.c
sys/arm/arm/machdep.c
sys/arm/include/frame.h
sys/arm/include/ucontext.h