Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight
[sfrench/cifs-2.6.git] / arch / blackfin / include / asm / sections.h
1 #ifndef _BLACKFIN_SECTIONS_H
2 #define _BLACKFIN_SECTIONS_H
3
4 /* only used when MTD_UCLINUX */
5 extern unsigned long memory_mtd_start, memory_mtd_end, mtd_size;
6
7 extern unsigned long _ramstart, _ramend, _rambase;
8 extern unsigned long memory_start, memory_end, physical_mem_end;
9
10 extern char _stext_l1[], _etext_l1[], _sdata_l1[], _edata_l1[], _sbss_l1[],
11         _ebss_l1[], _l1_lma_start[], _sdata_b_l1[], _sbss_b_l1[], _ebss_b_l1[],
12         _stext_l2[], _etext_l2[], _sdata_l2[], _edata_l2[], _sbss_l2[],
13         _ebss_l2[], _l2_lma_start[];
14
15 #include <asm/mem_map.h>
16
17 /* Blackfin systems have discontinuous memory map and no virtualized memory */
18 static inline int arch_is_kernel_text(unsigned long addr)
19 {
20         return
21                 (L1_CODE_LENGTH &&
22                  addr >= (unsigned long)_stext_l1 &&
23                  addr <  (unsigned long)_etext_l1)
24                 ||
25                 (L2_LENGTH &&
26                  addr >= (unsigned long)_stext_l2 &&
27                  addr <  (unsigned long)_etext_l2);
28 }
29 #define arch_is_kernel_text(addr) arch_is_kernel_text(addr)
30
31 static inline int arch_is_kernel_data(unsigned long addr)
32 {
33         return
34                 (L1_DATA_A_LENGTH &&
35                  addr >= (unsigned long)_sdata_l1 &&
36                  addr <  (unsigned long)_ebss_l1)
37                 ||
38                 (L1_DATA_B_LENGTH &&
39                  addr >= (unsigned long)_sdata_b_l1 &&
40                  addr <  (unsigned long)_ebss_b_l1)
41                 ||
42                 (L2_LENGTH &&
43                  addr >= (unsigned long)_sdata_l2 &&
44                  addr <  (unsigned long)_ebss_l2);
45 }
46 #define arch_is_kernel_data(addr) arch_is_kernel_data(addr)
47
48 #include <asm-generic/sections.h>
49
50 #endif