diff options
Diffstat (limited to 'include/asm-x86/page.h')
-rw-r--r-- | include/asm-x86/page.h | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/include/asm-x86/page.h b/include/asm-x86/page.h index 49982110e4d9..d4f1d5791fc1 100644 --- a/include/asm-x86/page.h +++ b/include/asm-x86/page.h | |||
@@ -1,5 +1,5 @@ | |||
1 | #ifndef _ASM_X86_PAGE_H | 1 | #ifndef ASM_X86__PAGE_H |
2 | #define _ASM_X86_PAGE_H | 2 | #define ASM_X86__PAGE_H |
3 | 3 | ||
4 | #include <linux/const.h> | 4 | #include <linux/const.h> |
5 | 5 | ||
@@ -57,6 +57,7 @@ typedef struct { pgdval_t pgd; } pgd_t; | |||
57 | typedef struct { pgprotval_t pgprot; } pgprot_t; | 57 | typedef struct { pgprotval_t pgprot; } pgprot_t; |
58 | 58 | ||
59 | extern int page_is_ram(unsigned long pagenr); | 59 | extern int page_is_ram(unsigned long pagenr); |
60 | extern int pagerange_is_ram(unsigned long start, unsigned long end); | ||
60 | extern int devmem_is_allowed(unsigned long pagenr); | 61 | extern int devmem_is_allowed(unsigned long pagenr); |
61 | extern void map_devmem(unsigned long pfn, unsigned long size, | 62 | extern void map_devmem(unsigned long pfn, unsigned long size, |
62 | pgprot_t vma_prot); | 63 | pgprot_t vma_prot); |
@@ -178,6 +179,7 @@ static inline pteval_t native_pte_flags(pte_t pte) | |||
178 | #endif /* CONFIG_PARAVIRT */ | 179 | #endif /* CONFIG_PARAVIRT */ |
179 | 180 | ||
180 | #define __pa(x) __phys_addr((unsigned long)(x)) | 181 | #define __pa(x) __phys_addr((unsigned long)(x)) |
182 | #define __pa_nodebug(x) __phys_addr_nodebug((unsigned long)(x)) | ||
181 | /* __pa_symbol should be used for C visible symbols. | 183 | /* __pa_symbol should be used for C visible symbols. |
182 | This seems to be the official gcc blessed way to do such arithmetic. */ | 184 | This seems to be the official gcc blessed way to do such arithmetic. */ |
183 | #define __pa_symbol(x) __pa(__phys_reloc_hide((unsigned long)(x))) | 185 | #define __pa_symbol(x) __pa(__phys_reloc_hide((unsigned long)(x))) |
@@ -187,9 +189,14 @@ static inline pteval_t native_pte_flags(pte_t pte) | |||
187 | #define __boot_va(x) __va(x) | 189 | #define __boot_va(x) __va(x) |
188 | #define __boot_pa(x) __pa(x) | 190 | #define __boot_pa(x) __pa(x) |
189 | 191 | ||
192 | /* | ||
193 | * virt_to_page(kaddr) returns a valid pointer if and only if | ||
194 | * virt_addr_valid(kaddr) returns true. | ||
195 | */ | ||
190 | #define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT) | 196 | #define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT) |
191 | #define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT) | 197 | #define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT) |
192 | #define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT) | 198 | extern bool __virt_addr_valid(unsigned long kaddr); |
199 | #define virt_addr_valid(kaddr) __virt_addr_valid((unsigned long) (kaddr)) | ||
193 | 200 | ||
194 | #endif /* __ASSEMBLY__ */ | 201 | #endif /* __ASSEMBLY__ */ |
195 | 202 | ||
@@ -199,4 +206,4 @@ static inline pteval_t native_pte_flags(pte_t pte) | |||
199 | #define __HAVE_ARCH_GATE_AREA 1 | 206 | #define __HAVE_ARCH_GATE_AREA 1 |
200 | 207 | ||
201 | #endif /* __KERNEL__ */ | 208 | #endif /* __KERNEL__ */ |
202 | #endif /* _ASM_X86_PAGE_H */ | 209 | #endif /* ASM_X86__PAGE_H */ |