1/* 2 * Port on Texas Instruments TMS320C6x architecture 3 * 4 * Copyright (C) 2004, 2009, 2010, 2011 Texas Instruments Incorporated 5 * Author: Aurelien Jacquiot (aurelien.jacquiot@jaluna.com) 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 */ 19extern int __c6xabi_divi(int dividend, int divisor); 20EXPORT_SYMBOL(__c6xabi_divi); 21 22extern unsigned __c6xabi_divu(unsigned dividend, unsigned divisor); 23EXPORT_SYMBOL(__c6xabi_divu); 24 25extern int __c6xabi_remi(int dividend, int divisor); 26EXPORT_SYMBOL(__c6xabi_remi); 27 28extern unsigned __c6xabi_remu(unsigned dividend, unsigned divisor); 29EXPORT_SYMBOL(__c6xabi_remu); 30 31extern int __c6xabi_divremi(int dividend, int divisor); 32EXPORT_SYMBOL(__c6xabi_divremi); 33 34extern unsigned __c6xabi_divremu(unsigned dividend, unsigned divisor); 35EXPORT_SYMBOL(__c6xabi_divremu); 36 37extern unsigned long long __c6xabi_mpyll(unsigned long long src1, 38 unsigned long long src2); 39EXPORT_SYMBOL(__c6xabi_mpyll); 40 41extern long long __c6xabi_negll(long long src); 42EXPORT_SYMBOL(__c6xabi_negll); 43 44extern unsigned long long __c6xabi_llshl(unsigned long long src1, uint src2); 45EXPORT_SYMBOL(__c6xabi_llshl); 46 47extern long long __c6xabi_llshr(long long src1, uint src2); 48EXPORT_SYMBOL(__c6xabi_llshr); 49 50extern unsigned long long __c6xabi_llshru(unsigned long long src1, uint src2); 51EXPORT_SYMBOL(__c6xabi_llshru); 52 53extern void __c6xabi_strasgi(int *dst, const int *src, unsigned cnt); 54EXPORT_SYMBOL(__c6xabi_strasgi); 55 56extern void __c6xabi_push_rts(void); 57EXPORT_SYMBOL(__c6xabi_push_rts); 58 59extern void __c6xabi_pop_rts(void); 60EXPORT_SYMBOL(__c6xabi_pop_rts); 61 62extern void __c6xabi_strasgi_64plus(int *dst, const int *src, unsigned cnt); 63EXPORT_SYMBOL(__c6xabi_strasgi_64plus); 64 65/* lib functions */ 66EXPORT_SYMBOL(memcpy); 67