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