2005-04-16 15:20:36 -07:00
/*
* Export MIPS - specific functions needed for loadable modules .
*
* 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 .
*
2012-07-06 21:56:01 +02:00
* Copyright ( C ) 1996 , 97 , 98 , 99 , 2000 , 01 , 03 , 04 , 05 , 12 by Ralf Baechle
2005-04-16 15:20:36 -07:00
* Copyright ( C ) 1999 , 2000 , 01 Silicon Graphics , Inc .
*/
# include <linux/interrupt.h>
2011-07-23 16:30:40 -04:00
# include <linux/export.h>
2005-04-16 15:20:36 -07:00
# include <asm/checksum.h>
2012-10-18 13:54:15 +02:00
# include <linux/mm.h>
2005-04-16 15:20:36 -07:00
# include <asm/uaccess.h>
2009-11-20 20:34:29 +08:00
# include <asm/ftrace.h>
2015-02-10 10:02:59 +00:00
# include <asm/fpu.h>
2015-02-10 10:03:00 +00:00
# include <asm/msa.h>
2005-04-16 15:20:36 -07:00
2015-08-05 16:41:39 +01:00
extern void * __bzero_kernel ( void * __s , size_t __count ) ;
2005-04-16 15:20:36 -07:00
extern void * __bzero ( void * __s , size_t __count ) ;
2014-01-02 16:40:20 +00:00
extern long __strncpy_from_kernel_nocheck_asm ( char * __to ,
const char * __from , long __len ) ;
extern long __strncpy_from_kernel_asm ( char * __to , const char * __from ,
long __len ) ;
2005-04-16 15:20:36 -07:00
extern long __strncpy_from_user_nocheck_asm ( char * __to ,
2013-01-22 12:59:30 +01:00
const char * __from , long __len ) ;
2005-04-16 15:20:36 -07:00
extern long __strncpy_from_user_asm ( char * __to , const char * __from ,
2013-01-22 12:59:30 +01:00
long __len ) ;
2014-01-02 16:04:38 +00:00
extern long __strlen_kernel_asm ( const char * s ) ;
2005-04-16 15:20:36 -07:00
extern long __strlen_user_asm ( const char * s ) ;
2013-12-09 15:28:10 +00:00
extern long __strnlen_kernel_nocheck_asm ( const char * s ) ;
extern long __strnlen_kernel_asm ( const char * s ) ;
2005-04-16 15:20:36 -07:00
extern long __strnlen_user_nocheck_asm ( const char * s ) ;
extern long __strnlen_user_asm ( const char * s ) ;
2015-02-10 10:02:59 +00:00
/*
* Core architecture code
*/
EXPORT_SYMBOL_GPL ( _save_fp ) ;
2015-02-10 10:03:00 +00:00
# ifdef CONFIG_CPU_HAS_MSA
EXPORT_SYMBOL_GPL ( _save_msa ) ;
# endif
2015-02-10 10:02:59 +00:00
2005-04-16 15:20:36 -07:00
/*
* String functions
*/
EXPORT_SYMBOL ( memset ) ;
EXPORT_SYMBOL ( memcpy ) ;
EXPORT_SYMBOL ( memmove ) ;
2012-07-06 21:56:01 +02:00
/*
* Functions that operate on entire pages . Mostly used by memory management .
*/
EXPORT_SYMBOL ( clear_page ) ;
EXPORT_SYMBOL ( copy_page ) ;
2005-04-16 15:20:36 -07:00
/*
* Userspace access stuff .
*/
EXPORT_SYMBOL ( __copy_user ) ;
2007-03-05 15:54:20 +00:00
EXPORT_SYMBOL ( __copy_user_inatomic ) ;
2014-01-07 16:20:22 +00:00
# ifdef CONFIG_EVA
EXPORT_SYMBOL ( __copy_from_user_eva ) ;
EXPORT_SYMBOL ( __copy_in_user_eva ) ;
EXPORT_SYMBOL ( __copy_to_user_eva ) ;
EXPORT_SYMBOL ( __copy_user_inatomic_eva ) ;
2015-08-05 16:41:39 +01:00
EXPORT_SYMBOL ( __bzero_kernel ) ;
2014-01-07 16:20:22 +00:00
# endif
2005-04-16 15:20:36 -07:00
EXPORT_SYMBOL ( __bzero ) ;
2014-01-02 16:40:20 +00:00
EXPORT_SYMBOL ( __strncpy_from_kernel_nocheck_asm ) ;
EXPORT_SYMBOL ( __strncpy_from_kernel_asm ) ;
2005-04-16 15:20:36 -07:00
EXPORT_SYMBOL ( __strncpy_from_user_nocheck_asm ) ;
EXPORT_SYMBOL ( __strncpy_from_user_asm ) ;
2014-01-02 16:04:38 +00:00
EXPORT_SYMBOL ( __strlen_kernel_asm ) ;
2005-04-16 15:20:36 -07:00
EXPORT_SYMBOL ( __strlen_user_asm ) ;
2013-12-09 15:28:10 +00:00
EXPORT_SYMBOL ( __strnlen_kernel_nocheck_asm ) ;
EXPORT_SYMBOL ( __strnlen_kernel_asm ) ;
2005-04-16 15:20:36 -07:00
EXPORT_SYMBOL ( __strnlen_user_nocheck_asm ) ;
EXPORT_SYMBOL ( __strnlen_user_asm ) ;
2014-11-13 11:25:27 +00:00
# ifndef CONFIG_CPU_MIPSR6
2005-04-16 15:20:36 -07:00
EXPORT_SYMBOL ( csum_partial ) ;
2006-12-13 01:22:06 +09:00
EXPORT_SYMBOL ( csum_partial_copy_nocheck ) ;
2013-12-12 16:21:00 +00:00
EXPORT_SYMBOL ( __csum_partial_copy_kernel ) ;
EXPORT_SYMBOL ( __csum_partial_copy_to_user ) ;
EXPORT_SYMBOL ( __csum_partial_copy_from_user ) ;
2014-11-13 11:25:27 +00:00
# endif
2005-04-16 15:20:36 -07:00
EXPORT_SYMBOL ( invalid_pte_table ) ;
2009-11-20 20:34:29 +08:00
# ifdef CONFIG_FUNCTION_TRACER
/* _mcount is defined in arch/mips/kernel/mcount.S */
EXPORT_SYMBOL ( _mcount ) ;
# endif