1/* 2 * Export MIPS-specific functions needed for loadable modules. 3 * 4 * This file is subject to the terms and conditions of the GNU General Public 5 * License. See the file "COPYING" in the main directory of this archive 6 * for more details. 7 * 8 * Copyright (C) 1996, 97, 98, 99, 2000, 01, 03, 04, 05, 12 by Ralf Baechle 9 * Copyright (C) 1999, 2000, 01 Silicon Graphics, Inc. 10 */ 11#include <linux/interrupt.h> 12#include <linux/export.h> 13#include <asm/checksum.h> 14#include <linux/mm.h> 15#include <asm/uaccess.h> 16#include <asm/ftrace.h> 17#include <asm/fpu.h> 18#include <asm/msa.h> 19 20extern void *__bzero(void *__s, size_t __count); 21extern long __strncpy_from_kernel_nocheck_asm(char *__to, 22 const char *__from, long __len); 23extern long __strncpy_from_kernel_asm(char *__to, const char *__from, 24 long __len); 25extern long __strncpy_from_user_nocheck_asm(char *__to, 26 const char *__from, long __len); 27extern long __strncpy_from_user_asm(char *__to, const char *__from, 28 long __len); 29extern long __strlen_kernel_asm(const char *s); 30extern long __strlen_user_asm(const char *s); 31extern long __strnlen_kernel_nocheck_asm(const char *s); 32extern long __strnlen_kernel_asm(const char *s); 33extern long __strnlen_user_nocheck_asm(const char *s); 34extern long __strnlen_user_asm(const char *s); 35 36/* 37 * Core architecture code 38 */ 39EXPORT_SYMBOL_GPL(_save_fp); 40#ifdef CONFIG_CPU_HAS_MSA 41EXPORT_SYMBOL_GPL(_save_msa); 42#endif 43 44/* 45 * String functions 46 */ 47EXPORT_SYMBOL(memset); 48EXPORT_SYMBOL(memcpy); 49EXPORT_SYMBOL(memmove); 50 51/* 52 * Functions that operate on entire pages. Mostly used by memory management. 53 */ 54EXPORT_SYMBOL(clear_page); 55EXPORT_SYMBOL(copy_page); 56 57/* 58 * Userspace access stuff. 59 */ 60EXPORT_SYMBOL(__copy_user); 61EXPORT_SYMBOL(__copy_user_inatomic); 62#ifdef CONFIG_EVA 63EXPORT_SYMBOL(__copy_from_user_eva); 64EXPORT_SYMBOL(__copy_in_user_eva); 65EXPORT_SYMBOL(__copy_to_user_eva); 66EXPORT_SYMBOL(__copy_user_inatomic_eva); 67#endif 68EXPORT_SYMBOL(__bzero); 69EXPORT_SYMBOL(__strncpy_from_kernel_nocheck_asm); 70EXPORT_SYMBOL(__strncpy_from_kernel_asm); 71EXPORT_SYMBOL(__strncpy_from_user_nocheck_asm); 72EXPORT_SYMBOL(__strncpy_from_user_asm); 73EXPORT_SYMBOL(__strlen_kernel_asm); 74EXPORT_SYMBOL(__strlen_user_asm); 75EXPORT_SYMBOL(__strnlen_kernel_nocheck_asm); 76EXPORT_SYMBOL(__strnlen_kernel_asm); 77EXPORT_SYMBOL(__strnlen_user_nocheck_asm); 78EXPORT_SYMBOL(__strnlen_user_asm); 79 80#ifndef CONFIG_CPU_MIPSR6 81EXPORT_SYMBOL(csum_partial); 82EXPORT_SYMBOL(csum_partial_copy_nocheck); 83EXPORT_SYMBOL(__csum_partial_copy_kernel); 84EXPORT_SYMBOL(__csum_partial_copy_to_user); 85EXPORT_SYMBOL(__csum_partial_copy_from_user); 86#endif 87 88EXPORT_SYMBOL(invalid_pte_table); 89#ifdef CONFIG_FUNCTION_TRACER 90/* _mcount is defined in arch/mips/kernel/mcount.S */ 91EXPORT_SYMBOL(_mcount); 92#endif 93