Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
c6x_ksyms.c
Go to the documentation of this file.
1 /*
2  * Port on Texas Instruments TMS320C6x architecture
3  *
4  * Copyright (C) 2004, 2009, 2010, 2011 Texas Instruments Incorporated
5  * Author: Aurelien Jacquiot ([email protected])
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License version 2 as
9  * published by the Free Software Foundation.
10  *
11  */
12 #include <linux/module.h>
13 #include <asm/checksum.h>
14 #include <linux/io.h>
15 
16 /*
17  * libgcc functions - used internally by the compiler...
18  */
19 extern int __c6xabi_divi(int dividend, int divisor);
21 
22 extern unsigned __c6xabi_divu(unsigned dividend, unsigned divisor);
24 
25 extern int __c6xabi_remi(int dividend, int divisor);
27 
28 extern unsigned __c6xabi_remu(unsigned dividend, unsigned divisor);
30 
31 extern int __c6xabi_divremi(int dividend, int divisor);
33 
34 extern unsigned __c6xabi_divremu(unsigned dividend, unsigned divisor);
36 
37 extern unsigned long long __c6xabi_mpyll(unsigned long long src1,
38  unsigned long long src2);
40 
41 extern long long __c6xabi_negll(long long src);
43 
44 extern unsigned long long __c6xabi_llshl(unsigned long long src1, uint src2);
46 
47 extern long long __c6xabi_llshr(long long src1, uint src2);
49 
50 extern unsigned long long __c6xabi_llshru(unsigned long long src1, uint src2);
52 
53 extern void __c6xabi_strasgi(int *dst, const int *src, unsigned cnt);
55 
56 extern void __c6xabi_push_rts(void);
58 
59 extern void __c6xabi_pop_rts(void);
61 
62 extern void __c6xabi_strasgi_64plus(int *dst, const int *src, unsigned cnt);
64 
65 /* lib functions */