• Paul Burton's avatar
    MIPS: Indicate FP mode in sigcontext sc_used_math · 0d071fa3
    Paul Burton authored
    The sc_used_math field of struct sigcontext & its variants has
    traditionally been used as a boolean value indicating only whether or
    not floating point context is saved within the sigcontext. With various
    supported FP modes & the ability to switch between them this information
    will no longer be enough to decode the meaning of the data stored in the
    sc_fpregs fields of struct sigcontext.
    
    To make that possible 3 bits are defined within sc_used_math:
    
      - Bit 0 (USED_FP) represents whether FP was used, essentially
        providing the boolean flag which sc_used_math as a whole provided
        previously.
    
      - Bit 1 (USED_FR1) provides the value of the Status.FR bit at the time
        the FP context was saved.
    
      - Bit 2 (USED_HYBRID_FPRS) indicates whether the FP context was saved
        under the hybrid FPR scheme. Essentially, when set the odd singles
        are located in bits 63:32 of the preceding even indexed sc_fpregs
        element.
    
    Any userland that tests whether the sc_used_math field is zero or
    non-zero will continue to function as expected. Having said that, I
    could not find any userland which uses the sc_used_math field at all.
    
    [ralf@linux-mips.org: Fixed rejects.]
    Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Cc: Guenter Roeck <linux@roeck-us.net>
    Cc: Matthew Fortune <matthew.fortune@imgtec.com>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: linux-kernel@vger.kernel.org
    Cc: Richard Weinberger <richard@nod.at>
    Cc: Andy Lutomirski <luto@amacapital.net>
    Cc: Maciej W. Rozycki <macro@codesourcery.com>
    Patchwork: https://patchwork.linux-mips.org/patch/10794/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    0d071fa3
signal.c 17.1 KB