2 * Copyright 2010 Tilera Corporation. All Rights Reserved.
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.
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
14 * Exports from assembler code and from libtile-cc.
17 #include <linux/module.h>
19 /* arch/tile/lib/usercopy.S */
20 #include <linux/uaccess.h>
21 EXPORT_SYMBOL(clear_user_asm
);
22 EXPORT_SYMBOL(flush_user_asm
);
23 EXPORT_SYMBOL(finv_user_asm
);
25 /* arch/tile/kernel/entry.S */
26 #include <linux/kernel.h>
27 #include <asm/processor.h>
28 EXPORT_SYMBOL(current_text_addr
);
30 /* arch/tile/kernel/head.S */
31 EXPORT_SYMBOL(empty_zero_page
);
33 #ifdef CONFIG_FUNCTION_TRACER
34 /* arch/tile/kernel/mcount_64.S */
35 #include <asm/ftrace.h>
36 EXPORT_SYMBOL(__mcount
);
37 #endif /* CONFIG_FUNCTION_TRACER */
39 /* arch/tile/lib/, various memcpy files */
40 EXPORT_SYMBOL(memcpy
);
41 EXPORT_SYMBOL(raw_copy_to_user
);
42 EXPORT_SYMBOL(raw_copy_from_user
);
44 EXPORT_SYMBOL(raw_copy_in_user
);
48 #include <hv/hypervisor.h>
49 EXPORT_SYMBOL(hv_dev_open
);
50 EXPORT_SYMBOL(hv_dev_pread
);
51 EXPORT_SYMBOL(hv_dev_pwrite
);
52 EXPORT_SYMBOL(hv_dev_preada
);
53 EXPORT_SYMBOL(hv_dev_pwritea
);
54 EXPORT_SYMBOL(hv_dev_poll
);
55 EXPORT_SYMBOL(hv_dev_poll_cancel
);
56 EXPORT_SYMBOL(hv_dev_close
);
57 EXPORT_SYMBOL(hv_sysconf
);
58 EXPORT_SYMBOL(hv_confstr
);
59 EXPORT_SYMBOL(hv_get_rtc
);
60 EXPORT_SYMBOL(hv_set_rtc
);
63 uint32_t __udivsi3(uint32_t dividend
, uint32_t divisor
);
64 EXPORT_SYMBOL(__udivsi3
);
65 int32_t __divsi3(int32_t dividend
, int32_t divisor
);
66 EXPORT_SYMBOL(__divsi3
);
67 uint64_t __udivdi3(uint64_t dividend
, uint64_t divisor
);
68 EXPORT_SYMBOL(__udivdi3
);
69 int64_t __divdi3(int64_t dividend
, int64_t divisor
);
70 EXPORT_SYMBOL(__divdi3
);
71 uint32_t __umodsi3(uint32_t dividend
, uint32_t divisor
);
72 EXPORT_SYMBOL(__umodsi3
);
73 int32_t __modsi3(int32_t dividend
, int32_t divisor
);
74 EXPORT_SYMBOL(__modsi3
);
75 uint64_t __umoddi3(uint64_t dividend
, uint64_t divisor
);
76 EXPORT_SYMBOL(__umoddi3
);
77 int64_t __moddi3(int64_t dividend
, int64_t divisor
);
78 EXPORT_SYMBOL(__moddi3
);
80 typedef int TItype
__attribute__((mode(TI
)));
81 TItype
__multi3(TItype a
, TItype b
);
82 EXPORT_SYMBOL(__multi3
); /* required for gcc 7 and later */
84 int64_t __muldi3(int64_t, int64_t);
85 EXPORT_SYMBOL(__muldi3
);
86 uint64_t __lshrdi3(uint64_t, unsigned int);
87 EXPORT_SYMBOL(__lshrdi3
);
88 uint64_t __ashrdi3(uint64_t, unsigned int);
89 EXPORT_SYMBOL(__ashrdi3
);
90 uint64_t __ashldi3(uint64_t, unsigned int);
91 EXPORT_SYMBOL(__ashldi3
);
92 int __ffsdi2(uint64_t);
93 EXPORT_SYMBOL(__ffsdi2
);