blob: 5a39f52f9db4e5c95b90888145ac140d079cee4d [file] [log] [blame]
David Brazdil0f672f62019-12-10 10:32:29 +00001// SPDX-License-Identifier: GPL-2.0-only
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00002/*
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)
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00007 */
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 */
15extern int __c6xabi_divi(int dividend, int divisor);
16EXPORT_SYMBOL(__c6xabi_divi);
17
18extern unsigned __c6xabi_divu(unsigned dividend, unsigned divisor);
19EXPORT_SYMBOL(__c6xabi_divu);
20
21extern int __c6xabi_remi(int dividend, int divisor);
22EXPORT_SYMBOL(__c6xabi_remi);
23
24extern unsigned __c6xabi_remu(unsigned dividend, unsigned divisor);
25EXPORT_SYMBOL(__c6xabi_remu);
26
27extern int __c6xabi_divremi(int dividend, int divisor);
28EXPORT_SYMBOL(__c6xabi_divremi);
29
30extern unsigned __c6xabi_divremu(unsigned dividend, unsigned divisor);
31EXPORT_SYMBOL(__c6xabi_divremu);
32
33extern unsigned long long __c6xabi_mpyll(unsigned long long src1,
34 unsigned long long src2);
35EXPORT_SYMBOL(__c6xabi_mpyll);
36
37extern long long __c6xabi_negll(long long src);
38EXPORT_SYMBOL(__c6xabi_negll);
39
40extern unsigned long long __c6xabi_llshl(unsigned long long src1, uint src2);
41EXPORT_SYMBOL(__c6xabi_llshl);
42
43extern long long __c6xabi_llshr(long long src1, uint src2);
44EXPORT_SYMBOL(__c6xabi_llshr);
45
46extern unsigned long long __c6xabi_llshru(unsigned long long src1, uint src2);
47EXPORT_SYMBOL(__c6xabi_llshru);
48
49extern void __c6xabi_strasgi(int *dst, const int *src, unsigned cnt);
50EXPORT_SYMBOL(__c6xabi_strasgi);
51
52extern void __c6xabi_push_rts(void);
53EXPORT_SYMBOL(__c6xabi_push_rts);
54
55extern void __c6xabi_pop_rts(void);
56EXPORT_SYMBOL(__c6xabi_pop_rts);
57
58extern void __c6xabi_strasgi_64plus(int *dst, const int *src, unsigned cnt);
59EXPORT_SYMBOL(__c6xabi_strasgi_64plus);
60
61/* lib functions */
62EXPORT_SYMBOL(memcpy);