Merge remote-tracking branch 'regmap/fix/core' into regmap-linus
[pandora-kernel.git] / arch / x86 / include / asm / page_32.h
1 #ifndef _ASM_X86_PAGE_32_H
2 #define _ASM_X86_PAGE_32_H
3
4 #include <asm/page_32_types.h>
5
6 #ifndef __ASSEMBLY__
7
8 #ifdef CONFIG_HUGETLB_PAGE
9 #define HAVE_ARCH_HUGETLB_UNMAPPED_AREA
10 #endif
11
12 #define __phys_addr_nodebug(x)  ((x) - PAGE_OFFSET)
13 #ifdef CONFIG_DEBUG_VIRTUAL
14 extern unsigned long __phys_addr(unsigned long);
15 #else
16 #define __phys_addr(x)          __phys_addr_nodebug(x)
17 #endif
18 #define __phys_addr_symbol(x)   __phys_addr(x)
19 #define __phys_reloc_hide(x)    RELOC_HIDE((x), 0)
20
21 #ifdef CONFIG_FLATMEM
22 #define pfn_valid(pfn)          ((pfn) < max_mapnr)
23 #endif /* CONFIG_FLATMEM */
24
25 #ifdef CONFIG_X86_USE_3DNOW
26 #include <asm/mmx.h>
27
28 static inline void clear_page(void *page)
29 {
30         mmx_clear_page(page);
31 }
32
33 static inline void copy_page(void *to, void *from)
34 {
35         mmx_copy_page(to, from);
36 }
37 #else  /* !CONFIG_X86_USE_3DNOW */
38 #include <linux/string.h>
39
40 static inline void clear_page(void *page)
41 {
42         memset(page, 0, PAGE_SIZE);
43 }
44
45 static inline void copy_page(void *to, void *from)
46 {
47         memcpy(to, from, PAGE_SIZE);
48 }
49 #endif  /* CONFIG_X86_3DNOW */
50 #endif  /* !__ASSEMBLY__ */
51
52 #endif /* _ASM_X86_PAGE_32_H */