11965aae3SH. Peter Anvin #ifndef _ASM_X86_PAGE_32_H 21965aae3SH. Peter Anvin #define _ASM_X86_PAGE_32_H 3bb898558SAl Viro 451c78eb3SJeremy Fitzhardinge #include <asm/page_32_types.h> 5bb898558SAl Viro 6bb898558SAl Viro #ifdef CONFIG_HUGETLB_PAGE 7bb898558SAl Viro #define HAVE_ARCH_HUGETLB_UNMAPPED_AREA 8bb898558SAl Viro #endif 9bb898558SAl Viro 10bb898558SAl Viro #define __phys_addr_nodebug(x) ((x) - PAGE_OFFSET) 11bb898558SAl Viro #ifdef CONFIG_DEBUG_VIRTUAL 12bb898558SAl Viro extern unsigned long __phys_addr(unsigned long); 13bb898558SAl Viro #else 14bb898558SAl Viro #define __phys_addr(x) __phys_addr_nodebug(x) 15bb898558SAl Viro #endif 16bb898558SAl Viro #define __phys_reloc_hide(x) RELOC_HIDE((x), 0) 17bb898558SAl Viro 18bb898558SAl Viro #ifdef CONFIG_FLATMEM 19bb898558SAl Viro #define pfn_valid(pfn) ((pfn) < max_mapnr) 20bb898558SAl Viro #endif /* CONFIG_FLATMEM */ 21bb898558SAl Viro 2251c78eb3SJeremy Fitzhardinge #ifndef __ASSEMBLY__ 23bb898558SAl Viro 24bb898558SAl Viro #ifdef CONFIG_X86_USE_3DNOW 25bb898558SAl Viro #include <asm/mmx.h> 26bb898558SAl Viro 27bb898558SAl Viro static inline void clear_page(void *page) 28bb898558SAl Viro { 29bb898558SAl Viro mmx_clear_page(page); 30bb898558SAl Viro } 31bb898558SAl Viro 32bb898558SAl Viro static inline void copy_page(void *to, void *from) 33bb898558SAl Viro { 34bb898558SAl Viro mmx_copy_page(to, from); 35bb898558SAl Viro } 36bb898558SAl Viro #else /* !CONFIG_X86_USE_3DNOW */ 37bb898558SAl Viro #include <linux/string.h> 38bb898558SAl Viro 39bb898558SAl Viro static inline void clear_page(void *page) 40bb898558SAl Viro { 41bb898558SAl Viro memset(page, 0, PAGE_SIZE); 42bb898558SAl Viro } 43bb898558SAl Viro 44bb898558SAl Viro static inline void copy_page(void *to, void *from) 45bb898558SAl Viro { 46bb898558SAl Viro memcpy(to, from, PAGE_SIZE); 47bb898558SAl Viro } 48bb898558SAl Viro #endif /* CONFIG_X86_3DNOW */ 49bb898558SAl Viro #endif /* !__ASSEMBLY__ */ 50bb898558SAl Viro 511965aae3SH. Peter Anvin #endif /* _ASM_X86_PAGE_32_H */ 52