Skip to content
Snippets Groups Projects
Select Git revision
  • 2db9ca0a355100c40d1bef2aae3b9d9cf199cd04
  • master default
  • android-container
  • nanopc-t4
  • for-kernelci
  • WIP-syscall
  • v4.16-rc5
  • v4.16-rc4
  • v4.16-rc3
  • v4.16-rc2
  • v4.16-rc1
  • v4.15
  • v4.15-rc9
  • v4.15-rc8
  • v4.15-rc7
  • v4.15-rc6
  • v4.15-rc5
  • v4.15-rc4
  • v4.15-rc3
  • v4.15-rc2
  • v4.15-rc1
  • v4.14
  • v4.14-rc8
  • v4.14-rc7
  • v4.14-rc6
  • v4.14-rc5
26 results

signal-common.h

Blame
    • Paul Burton's avatar
      2db9ca0a
      MIPS: Use struct mips_abi offsets to save FP context · 2db9ca0a
      Paul Burton authored
      
      When saving FP state to struct sigcontext, make use of the offsets
      provided by struct mips_abi to obtain appropriate addresses for the
      sc_fpregs & sc_fpc_csr fields of the sigcontext. This is done only for
      the native struct sigcontext in this patch (ie. for O32 in CONFIG_32BIT
      kernels or for N64 in CONFIG_64BIT kernels) but is done in preparation
      for sharing this code with compat ABIs in further patches.
      
      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: Leonid Yegoshin <Leonid.Yegoshin@imgtec.com>
      Cc: linux-kernel@vger.kernel.org
      Cc: Richard Weinberger <richard@nod.at>
      Cc: James Hogan <james.hogan@imgtec.com>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Markos Chandras <markos.chandras@imgtec.com>
      Cc: Manuel Lauss <manuel.lauss@gmail.com>
      Cc: Maciej W. Rozycki <macro@codesourcery.com>
      Patchwork: https://patchwork.linux-mips.org/patch/10789/
      
      
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      2db9ca0a
      History
      MIPS: Use struct mips_abi offsets to save FP context
      Paul Burton authored
      
      When saving FP state to struct sigcontext, make use of the offsets
      provided by struct mips_abi to obtain appropriate addresses for the
      sc_fpregs & sc_fpc_csr fields of the sigcontext. This is done only for
      the native struct sigcontext in this patch (ie. for O32 in CONFIG_32BIT
      kernels or for N64 in CONFIG_64BIT kernels) but is done in preparation
      for sharing this code with compat ABIs in further patches.
      
      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: Leonid Yegoshin <Leonid.Yegoshin@imgtec.com>
      Cc: linux-kernel@vger.kernel.org
      Cc: Richard Weinberger <richard@nod.at>
      Cc: James Hogan <james.hogan@imgtec.com>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Markos Chandras <markos.chandras@imgtec.com>
      Cc: Manuel Lauss <manuel.lauss@gmail.com>
      Cc: Maciej W. Rozycki <macro@codesourcery.com>
      Patchwork: https://patchwork.linux-mips.org/patch/10789/
      
      
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    signal-common.h 1.20 KiB
    /*
     * This file is subject to the terms and conditions of the GNU General Public
     * License.  See the file "COPYING" in the main directory of this archive
     * for more details.
     *
     * Copyright (C) 1991, 1992  Linus Torvalds
     * Copyright (C) 1994 - 2000  Ralf Baechle
     * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
     */
    
    #ifndef __SIGNAL_COMMON_H
    #define __SIGNAL_COMMON_H
    
    /* #define DEBUG_SIG */
    
    #ifdef DEBUG_SIG
    #  define DEBUGP(fmt, args...) printk("%s: " fmt, __func__, ##args)
    #else
    #  define DEBUGP(fmt, args...)
    #endif
    
    /*
     * Determine which stack to use..
     */
    extern void __user *get_sigframe(struct ksignal *ksig, struct pt_regs *regs,
    				 size_t frame_size);
    /* Check and clear pending FPU exceptions in saved CSR */
    extern int fpcsr_pending(unsigned int __user *fpcsr);
    
    /* Make sure we will not lose FPU ownership */
    #define lock_fpu_owner()	({ preempt_disable(); pagefault_disable(); })
    #define unlock_fpu_owner()	({ pagefault_enable(); preempt_enable(); })
    
    /* Assembly functions to move context to/from the FPU */
    extern asmlinkage int
    _save_fp_context(void __user *fpregs, void __user *csr);
    extern asmlinkage int
    _restore_fp_context(void __user *fpregs, void __user *csr);
    
    #endif	/* __SIGNAL_COMMON_H */