diff options
Diffstat (limited to 'include/asm-x86/page.h')
-rw-r--r-- | include/asm-x86/page.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/include/asm-x86/page.h b/include/asm-x86/page.h index ef393c3df902..9830eeb57173 100644 --- a/include/asm-x86/page.h +++ b/include/asm-x86/page.h | |||
@@ -80,6 +80,9 @@ | |||
80 | void clear_page(void *page); | 80 | void clear_page(void *page); |
81 | void copy_page(void *to, void *from); | 81 | void copy_page(void *to, void *from); |
82 | 82 | ||
83 | extern unsigned long __phys_addr(unsigned long); | ||
84 | #define __phys_reloc_hide(x) (x) | ||
85 | |||
83 | /* | 86 | /* |
84 | * These are used to make use of C type-checking.. | 87 | * These are used to make use of C type-checking.. |
85 | */ | 88 | */ |
@@ -174,6 +177,13 @@ static inline pte_t native_make_pte(unsigned long val) | |||
174 | #endif | 177 | #endif |
175 | 178 | ||
176 | #ifndef __ASSEMBLY__ | 179 | #ifndef __ASSEMBLY__ |
180 | #define __phys_addr(x) ((x)-PAGE_OFFSET) | ||
181 | #define __phys_reloc_hide(x) RELOC_HIDE((x), 0) | ||
182 | |||
183 | #ifdef CONFIG_FLATMEM | ||
184 | #define pfn_valid(pfn) ((pfn) < max_mapnr) | ||
185 | #endif /* CONFIG_FLATMEM */ | ||
186 | |||
177 | #ifdef CONFIG_X86_USE_3DNOW | 187 | #ifdef CONFIG_X86_USE_3DNOW |
178 | #include <asm/mmx.h> | 188 | #include <asm/mmx.h> |
179 | 189 | ||
@@ -299,6 +309,20 @@ static inline pmdval_t native_pmd_val(pmd_t pmd) | |||
299 | 309 | ||
300 | #endif /* CONFIG_PARAVIRT */ | 310 | #endif /* CONFIG_PARAVIRT */ |
301 | 311 | ||
312 | #define __pa(x) __phys_addr((unsigned long)(x)) | ||
313 | /* __pa_symbol should be used for C visible symbols. | ||
314 | This seems to be the official gcc blessed way to do such arithmetic. */ | ||
315 | #define __pa_symbol(x) __pa(__phys_reloc_hide((unsigned long)(x))) | ||
316 | |||
317 | #define __va(x) ((void *)((unsigned long)(x)+PAGE_OFFSET)) | ||
318 | |||
319 | #define __boot_va(x) __va(x) | ||
320 | #define __boot_pa(x) __pa(x) | ||
321 | |||
322 | #define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT) | ||
323 | #define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT) | ||
324 | #define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT) | ||
325 | |||
302 | #endif /* __ASSEMBLY__ */ | 326 | #endif /* __ASSEMBLY__ */ |
303 | 327 | ||
304 | 328 | ||