diff options
Diffstat (limited to 'arch/x86/include/asm/fixmap.h')
| -rw-r--r-- | arch/x86/include/asm/fixmap.h | 15 | 
1 files changed, 15 insertions, 0 deletions
| diff --git a/arch/x86/include/asm/fixmap.h b/arch/x86/include/asm/fixmap.h index d07b44f7d1dc..4d293dced62f 100644 --- a/arch/x86/include/asm/fixmap.h +++ b/arch/x86/include/asm/fixmap.h | |||
| @@ -214,5 +214,20 @@ static inline unsigned long virt_to_fix(const unsigned long vaddr) | |||
| 214 | BUG_ON(vaddr >= FIXADDR_TOP || vaddr < FIXADDR_START); | 214 | BUG_ON(vaddr >= FIXADDR_TOP || vaddr < FIXADDR_START); | 
| 215 | return __virt_to_fix(vaddr); | 215 | return __virt_to_fix(vaddr); | 
| 216 | } | 216 | } | 
| 217 | |||
| 218 | /* Return an pointer with offset calculated */ | ||
| 219 | static inline unsigned long __set_fixmap_offset(enum fixed_addresses idx, | ||
| 220 | phys_addr_t phys, pgprot_t flags) | ||
| 221 | { | ||
| 222 | __set_fixmap(idx, phys, flags); | ||
| 223 | return fix_to_virt(idx) + (phys & (PAGE_SIZE - 1)); | ||
| 224 | } | ||
| 225 | |||
| 226 | #define set_fixmap_offset(idx, phys) \ | ||
| 227 | __set_fixmap_offset(idx, phys, PAGE_KERNEL) | ||
| 228 | |||
| 229 | #define set_fixmap_offset_nocache(idx, phys) \ | ||
| 230 | __set_fixmap_offset(idx, phys, PAGE_KERNEL_NOCACHE) | ||
| 231 | |||
| 217 | #endif /* !__ASSEMBLY__ */ | 232 | #endif /* !__ASSEMBLY__ */ | 
| 218 | #endif /* _ASM_X86_FIXMAP_H */ | 233 | #endif /* _ASM_X86_FIXMAP_H */ | 
