Blame view

kernel/linux-rt-4.4.41/arch/x86/include/asm/page_64.h 1.05 KB
5113f6f70   김현기   kernel add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
  #ifndef _ASM_X86_PAGE_64_H
  #define _ASM_X86_PAGE_64_H
  
  #include <asm/page_64_types.h>
  
  #ifndef __ASSEMBLY__
  
  /* duplicated to the one in bootmem.h */
  extern unsigned long max_pfn;
  extern unsigned long phys_base;
  
  static inline unsigned long __phys_addr_nodebug(unsigned long x)
  {
  	unsigned long y = x - __START_KERNEL_map;
  
  	/* use the carry flag to determine if x was < __START_KERNEL_map */
  	x = y + ((x > y) ? phys_base : (__START_KERNEL_map - PAGE_OFFSET));
  
  	return x;
  }
  
  #ifdef CONFIG_DEBUG_VIRTUAL
  extern unsigned long __phys_addr(unsigned long);
  extern unsigned long __phys_addr_symbol(unsigned long);
  #else
  #define __phys_addr(x)		__phys_addr_nodebug(x)
  #define __phys_addr_symbol(x) \
  	((unsigned long)(x) - __START_KERNEL_map + phys_base)
  #endif
  
  #define __phys_reloc_hide(x)	(x)
  
  #ifdef CONFIG_FLATMEM
  #define pfn_valid(pfn)          ((pfn) < max_pfn)
  #endif
  
  void clear_page(void *page);
  void copy_page(void *to, void *from);
  
  #endif	/* !__ASSEMBLY__ */
  
  #ifdef CONFIG_X86_VSYSCALL_EMULATION
  # define __HAVE_ARCH_GATE_AREA 1
  #endif
  
  #endif /* _ASM_X86_PAGE_64_H */