Blackfin arch: add an option to allow people to stick exception stack into L1 scratch
[linux-2.6-block.git] / arch / blackfin / kernel / bfin_ksyms.c
CommitLineData
1394f032
BW
1/*
2 * File: arch/blackfin/kernel/bfin_ksyms.c
3 * Based on: none - original work
4 * Author:
5 *
6 * Created:
7 * Description:
8 *
9 * Modified:
10 * Copyright 2004-2006 Analog Devices Inc.
11 *
12 * Bugs: Enter bugs at http://blackfin.uclinux.org/
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, see the file COPYING, or write
26 * to the Free Software Foundation, Inc.,
27 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28 */
29
30#include <linux/module.h>
1f83b8f1
MF
31#include <linux/irq.h>
32#include <linux/uaccess.h>
33
1394f032
BW
34#include <asm/checksum.h>
35#include <asm/cacheflush.h>
1394f032
BW
36
37/* platform dependent support */
38
39EXPORT_SYMBOL(__ioremap);
1394f032 40
1394f032 41EXPORT_SYMBOL(is_in_rom);
8d6c2420 42EXPORT_SYMBOL(bfin_return_from_exception);
1394f032 43
1394f032
BW
44/* The following are special because they're not called
45 * explicitly (the C compiler generates them). Fortunately,
46 * their interface isn't gonna change any time soon now, so
47 * it's OK to leave it out of version control.
48 */
49EXPORT_SYMBOL(memcpy);
50EXPORT_SYMBOL(memset);
51EXPORT_SYMBOL(memcmp);
52EXPORT_SYMBOL(memmove);
53EXPORT_SYMBOL(memchr);
1394f032
BW
54
55/*
56 * libgcc functions - functions that are used internally by the
57 * compiler... (prototypes are not correct though, but that
58 * doesn't really matter since they're not versioned).
59 */
60extern void __ashldi3(void);
61extern void __ashrdi3(void);
62extern void __smulsi3_highpart(void);
63extern void __umulsi3_highpart(void);
64extern void __divsi3(void);
65extern void __lshrdi3(void);
66extern void __modsi3(void);
67extern void __muldi3(void);
68extern void __udivsi3(void);
69extern void __umodsi3(void);
70
71/* gcc lib functions */
72EXPORT_SYMBOL(__ashldi3);
73EXPORT_SYMBOL(__ashrdi3);
74EXPORT_SYMBOL(__umulsi3_highpart);
75EXPORT_SYMBOL(__smulsi3_highpart);
76EXPORT_SYMBOL(__divsi3);
77EXPORT_SYMBOL(__lshrdi3);
78EXPORT_SYMBOL(__modsi3);
79EXPORT_SYMBOL(__muldi3);
80EXPORT_SYMBOL(__udivsi3);
81EXPORT_SYMBOL(__umodsi3);
82
83EXPORT_SYMBOL(outsb);
84EXPORT_SYMBOL(insb);
85EXPORT_SYMBOL(outsw);
59069676 86EXPORT_SYMBOL(outsw_8);
1394f032 87EXPORT_SYMBOL(insw);
59069676 88EXPORT_SYMBOL(insw_8);
1394f032
BW
89EXPORT_SYMBOL(outsl);
90EXPORT_SYMBOL(insl);
5c91fb90 91EXPORT_SYMBOL(insl_16);
1394f032
BW
92EXPORT_SYMBOL(iounmap);
93EXPORT_SYMBOL(blackfin_dcache_invalidate_range);
94EXPORT_SYMBOL(blackfin_icache_dcache_flush_range);
95EXPORT_SYMBOL(blackfin_icache_flush_range);
96EXPORT_SYMBOL(blackfin_dcache_flush_range);
97EXPORT_SYMBOL(blackfin_dflush_page);
98
1394f032
BW
99EXPORT_SYMBOL(__init_begin);
100EXPORT_SYMBOL(__init_end);
101EXPORT_SYMBOL(_ebss_l1);
102EXPORT_SYMBOL(_stext_l1);
103EXPORT_SYMBOL(_etext_l1);
104EXPORT_SYMBOL(_sdata_l1);
105EXPORT_SYMBOL(_ebss_b_l1);
106EXPORT_SYMBOL(_sdata_b_l1);