Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
14extern 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
28static inline void clear_page(void *page)
29{
30 mmx_clear_page(page);
31}
32
33static 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
40static inline void clear_page(void *page)
41{
42 memset(page, 0, PAGE_SIZE);
43}
44
45static 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 */