1 // SPDX-License-Identifier: GPL-2.0-only 2 /* 3 * Port on Texas Instruments TMS320C6x architecture 4 * 5 * Copyright (C) 2004, 2009, 2010, 2011 Texas Instruments Incorporated 6 * Author: Aurelien Jacquiot (aurelien.jacquiot@jaluna.com) 7 */ 8 #include <linux/module.h> 9 #include <asm/checksum.h> 10 #include <linux/io.h> 11 12 /* 13 * libgcc functions - used internally by the compiler... 14 */ 15 extern int __c6xabi_divi(int dividend, int divisor); 16 EXPORT_SYMBOL(__c6xabi_divi); 17 18 extern unsigned __c6xabi_divu(unsigned dividend, unsigned divisor); 19 EXPORT_SYMBOL(__c6xabi_divu); 20 21 extern int __c6xabi_remi(int dividend, int divisor); 22 EXPORT_SYMBOL(__c6xabi_remi); 23 24 extern unsigned __c6xabi_remu(unsigned dividend, unsigned divisor); 25 EXPORT_SYMBOL(__c6xabi_remu); 26 27 extern int __c6xabi_divremi(int dividend, int divisor); 28 EXPORT_SYMBOL(__c6xabi_divremi); 29 30 extern unsigned __c6xabi_divremu(unsigned dividend, unsigned divisor); 31 EXPORT_SYMBOL(__c6xabi_divremu); 32 33 extern unsigned long long __c6xabi_mpyll(unsigned long long src1, 34 unsigned long long src2); 35 EXPORT_SYMBOL(__c6xabi_mpyll); 36 37 extern long long __c6xabi_negll(long long src); 38 EXPORT_SYMBOL(__c6xabi_negll); 39 40 extern unsigned long long __c6xabi_llshl(unsigned long long src1, uint src2); 41 EXPORT_SYMBOL(__c6xabi_llshl); 42 43 extern long long __c6xabi_llshr(long long src1, uint src2); 44 EXPORT_SYMBOL(__c6xabi_llshr); 45 46 extern unsigned long long __c6xabi_llshru(unsigned long long src1, uint src2); 47 EXPORT_SYMBOL(__c6xabi_llshru); 48 49 extern void __c6xabi_strasgi(int *dst, const int *src, unsigned cnt); 50 EXPORT_SYMBOL(__c6xabi_strasgi); 51 52 extern void __c6xabi_push_rts(void); 53 EXPORT_SYMBOL(__c6xabi_push_rts); 54 55 extern void __c6xabi_pop_rts(void); 56 EXPORT_SYMBOL(__c6xabi_pop_rts); 57 58 extern void __c6xabi_strasgi_64plus(int *dst, const int *src, unsigned cnt); 59 EXPORT_SYMBOL(__c6xabi_strasgi_64plus); 60 61 /* lib functions */ 62 EXPORT_SYMBOL(memcpy); 63