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(__copy_to_user_inatomic
);
42 EXPORT_SYMBOL(__copy_from_user_inatomic
);
43 EXPORT_SYMBOL(__copy_from_user_zeroing
);
45 EXPORT_SYMBOL(__copy_in_user_inatomic
);
49 #include <hv/hypervisor.h>
50 EXPORT_SYMBOL(hv_dev_open
);
51 EXPORT_SYMBOL(hv_dev_pread
);
52 EXPORT_SYMBOL(hv_dev_pwrite
);
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
);
57 EXPORT_SYMBOL(hv_dev_close
);
58 EXPORT_SYMBOL(hv_sysconf
);
59 EXPORT_SYMBOL(hv_confstr
);
60 EXPORT_SYMBOL(hv_get_rtc
);
61 EXPORT_SYMBOL(hv_set_rtc
);
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
);
81 typedef int TItype
__attribute__((mode(TI
)));
82 TItype
__multi3(TItype a
, TItype b
);
83 EXPORT_SYMBOL(__multi3
); /* required for gcc 7 and later */
85 int64_t __muldi3(int64_t, int64_t);
86 EXPORT_SYMBOL(__muldi3
);
87 uint64_t __lshrdi3(uint64_t, unsigned int);
88 EXPORT_SYMBOL(__lshrdi3
);
89 uint64_t __ashrdi3(uint64_t, unsigned int);
90 EXPORT_SYMBOL(__ashrdi3
);
91 uint64_t __ashldi3(uint64_t, unsigned int);
92 EXPORT_SYMBOL(__ashldi3
);
93 int __ffsdi2(uint64_t);
94 EXPORT_SYMBOL(__ffsdi2
);