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