1/* 2 * Copyright 2010 Tilera Corporation. All Rights Reserved. 3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU General Public License 6 * as published by the Free Software Foundation, version 2. 7 * 8 * This program is distributed in the hope that it will be useful, but 9 * WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or 11 * NON INFRINGEMENT. See the GNU General Public License for 12 * more details. 13 * 14 * Exports from assembler code and from libtile-cc. 15 */ 16 17#include <linux/module.h> 18 19/* arch/tile/lib/usercopy.S */ 20#include <linux/uaccess.h> 21EXPORT_SYMBOL(__get_user_1); 22EXPORT_SYMBOL(__get_user_2); 23EXPORT_SYMBOL(__get_user_4); 24EXPORT_SYMBOL(__get_user_8); 25EXPORT_SYMBOL(__put_user_1); 26EXPORT_SYMBOL(__put_user_2); 27EXPORT_SYMBOL(__put_user_4); 28EXPORT_SYMBOL(__put_user_8); 29EXPORT_SYMBOL(strnlen_user_asm); 30EXPORT_SYMBOL(strncpy_from_user_asm); 31EXPORT_SYMBOL(clear_user_asm); 32 33/* arch/tile/kernel/entry.S */ 34#include <linux/kernel.h> 35#include <asm/processor.h> 36EXPORT_SYMBOL(current_text_addr); 37EXPORT_SYMBOL(dump_stack); 38 39/* arch/tile/lib/, various memcpy files */ 40EXPORT_SYMBOL(memcpy); 41EXPORT_SYMBOL(__copy_to_user_inatomic); 42EXPORT_SYMBOL(__copy_from_user_inatomic); 43EXPORT_SYMBOL(__copy_from_user_zeroing); 44#ifdef __tilegx__ 45EXPORT_SYMBOL(__copy_in_user_inatomic); 46#endif 47 48/* hypervisor glue */ 49#include <hv/hypervisor.h> 50EXPORT_SYMBOL(hv_dev_open); 51EXPORT_SYMBOL(hv_dev_pread); 52EXPORT_SYMBOL(hv_dev_pwrite); 53EXPORT_SYMBOL(hv_dev_preada); 54EXPORT_SYMBOL(hv_dev_pwritea); 55EXPORT_SYMBOL(hv_dev_poll); 56EXPORT_SYMBOL(hv_dev_poll_cancel); 57EXPORT_SYMBOL(hv_dev_close); 58EXPORT_SYMBOL(hv_sysconf); 59EXPORT_SYMBOL(hv_confstr); 60 61/* libgcc.a */ 62uint32_t __udivsi3(uint32_t dividend, uint32_t divisor); 63EXPORT_SYMBOL(__udivsi3); 64int32_t __divsi3(int32_t dividend, int32_t divisor); 65EXPORT_SYMBOL(__divsi3); 66uint64_t __udivdi3(uint64_t dividend, uint64_t divisor); 67EXPORT_SYMBOL(__udivdi3); 68int64_t __divdi3(int64_t dividend, int64_t divisor); 69EXPORT_SYMBOL(__divdi3); 70uint32_t __umodsi3(uint32_t dividend, uint32_t divisor); 71EXPORT_SYMBOL(__umodsi3); 72int32_t __modsi3(int32_t dividend, int32_t divisor); 73EXPORT_SYMBOL(__modsi3); 74uint64_t __umoddi3(uint64_t dividend, uint64_t divisor); 75EXPORT_SYMBOL(__umoddi3); 76int64_t __moddi3(int64_t dividend, int64_t divisor); 77EXPORT_SYMBOL(__moddi3); 78#ifndef __tilegx__ 79uint64_t __ll_mul(uint64_t n0, uint64_t n1); 80EXPORT_SYMBOL(__ll_mul); 81int64_t __muldi3(int64_t, int64_t); 82EXPORT_SYMBOL(__muldi3); 83uint64_t __lshrdi3(uint64_t, unsigned int); 84EXPORT_SYMBOL(__lshrdi3); 85#endif 86