Commit | Line | Data |
---|---|---|
867e359b CM |
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> | |
867e359b | 21 | EXPORT_SYMBOL(clear_user_asm); |
00dce031 | 22 | EXPORT_SYMBOL(flush_user_asm); |
00dce031 | 23 | EXPORT_SYMBOL(finv_user_asm); |
867e359b CM |
24 | |
25 | /* arch/tile/kernel/entry.S */ | |
26 | #include <linux/kernel.h> | |
27 | #include <asm/processor.h> | |
28 | EXPORT_SYMBOL(current_text_addr); | |
867e359b | 29 | |
3989efb7 CM |
30 | /* arch/tile/kernel/head.S */ |
31 | EXPORT_SYMBOL(empty_zero_page); | |
32 | ||
a61fd5e3 TL |
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 */ | |
38 | ||
c745a8a1 | 39 | /* arch/tile/lib/, various memcpy files */ |
867e359b CM |
40 | EXPORT_SYMBOL(memcpy); |
41 | EXPORT_SYMBOL(__copy_to_user_inatomic); | |
42 | EXPORT_SYMBOL(__copy_from_user_inatomic); | |
43 | EXPORT_SYMBOL(__copy_from_user_zeroing); | |
c745a8a1 CM |
44 | #ifdef __tilegx__ |
45 | EXPORT_SYMBOL(__copy_in_user_inatomic); | |
46 | #endif | |
867e359b CM |
47 | |
48 | /* hypervisor glue */ | |
49 | #include <hv/hypervisor.h> | |
50 | EXPORT_SYMBOL(hv_dev_open); | |
51 | EXPORT_SYMBOL(hv_dev_pread); | |
52 | EXPORT_SYMBOL(hv_dev_pwrite); | |
c745a8a1 CM |
53 | EXPORT_SYMBOL(hv_dev_preada); |
54 | EXPORT_SYMBOL(hv_dev_pwritea); | |
55 | EXPORT_SYMBOL(hv_dev_poll); | |
56 | EXPORT_SYMBOL(hv_dev_poll_cancel); | |
867e359b | 57 | EXPORT_SYMBOL(hv_dev_close); |
c745a8a1 CM |
58 | EXPORT_SYMBOL(hv_sysconf); |
59 | EXPORT_SYMBOL(hv_confstr); | |
7c63e1ee CM |
60 | EXPORT_SYMBOL(hv_get_rtc); |
61 | EXPORT_SYMBOL(hv_set_rtc); | |
867e359b | 62 | |
c745a8a1 | 63 | /* libgcc.a */ |
867e359b CM |
64 | uint32_t __udivsi3(uint32_t dividend, uint32_t divisor); |
65 | EXPORT_SYMBOL(__udivsi3); | |
66 | int32_t __divsi3(int32_t dividend, int32_t divisor); | |
67 | EXPORT_SYMBOL(__divsi3); | |
68 | uint64_t __udivdi3(uint64_t dividend, uint64_t divisor); | |
69 | EXPORT_SYMBOL(__udivdi3); | |
70 | int64_t __divdi3(int64_t dividend, int64_t divisor); | |
71 | EXPORT_SYMBOL(__divdi3); | |
72 | uint32_t __umodsi3(uint32_t dividend, uint32_t divisor); | |
73 | EXPORT_SYMBOL(__umodsi3); | |
74 | int32_t __modsi3(int32_t dividend, int32_t divisor); | |
75 | EXPORT_SYMBOL(__modsi3); | |
76 | uint64_t __umoddi3(uint64_t dividend, uint64_t divisor); | |
77 | EXPORT_SYMBOL(__umoddi3); | |
78 | int64_t __moddi3(int64_t dividend, int64_t divisor); | |
79 | EXPORT_SYMBOL(__moddi3); | |
893d6619 CM |
80 | #ifdef __tilegx__ |
81 | typedef int TItype __attribute__((mode(TI))); | |
82 | TItype __multi3(TItype a, TItype b); | |
83 | EXPORT_SYMBOL(__multi3); /* required for gcc 7 and later */ | |
84 | #else | |
867e359b CM |
85 | int64_t __muldi3(int64_t, int64_t); |
86 | EXPORT_SYMBOL(__muldi3); | |
87 | uint64_t __lshrdi3(uint64_t, unsigned int); | |
88 | EXPORT_SYMBOL(__lshrdi3); | |
00dce031 CM |
89 | uint64_t __ashrdi3(uint64_t, unsigned int); |
90 | EXPORT_SYMBOL(__ashrdi3); | |
91 | uint64_t __ashldi3(uint64_t, unsigned int); | |
92 | EXPORT_SYMBOL(__ashldi3); | |
3cb3f839 CM |
93 | int __ffsdi2(uint64_t); |
94 | EXPORT_SYMBOL(__ffsdi2); | |
867e359b | 95 | #endif |