/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _ASM_X86_PAGE_32_H #define _ASM_X86_PAGE_32_H #include <asm/page_32_types.h> #ifndef __ASSEMBLY__ #define __phys_addr_nodebug(x) ((x) - PAGE_OFFSET) #ifdef [31mCONFIG_DEBUG_VIRTUAL[0m extern unsigned long __phys_addr(unsigned long); #else #define __phys_addr(x) __phys_addr_nodebug(x) #endif #define __phys_addr_symbol(x) __phys_addr(x) #define __phys_reloc_hide(x) RELOC_HIDE((x), 0) #ifdef [31mCONFIG_FLATMEM[0m #define pfn_valid(pfn) ((pfn) < max_mapnr) #endif /* CONFIG_FLATMEM */ #ifdef [31mCONFIG_X86_USE_3DNOW[0m #include <asm/mmx.h> static inline void clear_page(void *page) { mmx_clear_page(page); } static inline void copy_page(void *to, void *from) { mmx_copy_page(to, from); } #else /* !CONFIG_X86_USE_3DNOW */ #include <linux/string.h> static inline void clear_page(void *page) { memset(page, 0, PAGE_SIZE); } static inline void copy_page(void *to, void *from) { memcpy(to, from, PAGE_SIZE); } #endif /* CONFIG_X86_3DNOW */ #endif /* !__ASSEMBLY__ */ #endif /* _ASM_X86_PAGE_32_H */ |