Sam Ravnborg | c00db32 | 2012-07-26 11:02:18 +0000 | [diff] [blame^] | 1 | /* Highmem related constants */ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 2 | |
| 3 | #ifndef _ASM_FIXMAP_H |
| 4 | #define _ASM_FIXMAP_H |
| 5 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 6 | #include <asm/kmap_types.h> |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 7 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 8 | enum fixed_addresses { |
| 9 | FIX_HOLE, |
| 10 | #ifdef CONFIG_HIGHMEM |
| 11 | FIX_KMAP_BEGIN, |
Sam Ravnborg | c00db32 | 2012-07-26 11:02:18 +0000 | [diff] [blame^] | 12 | FIX_KMAP_END = (KM_TYPE_NR * NR_CPUS), |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 13 | #endif |
| 14 | __end_of_fixed_addresses |
| 15 | }; |
| 16 | |
Sam Ravnborg | c00db32 | 2012-07-26 11:02:18 +0000 | [diff] [blame^] | 17 | /* Leave one empty page between IO pages at 0xfd000000 and |
| 18 | * the top of the fixmap. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 19 | */ |
| 20 | #define FIXADDR_TOP (0xfcfff000UL) |
Sam Ravnborg | c00db32 | 2012-07-26 11:02:18 +0000 | [diff] [blame^] | 21 | #define FIXADDR_SIZE ((FIX_KMAP_END + 1) << PAGE_SHIFT) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 22 | #define FIXADDR_START (FIXADDR_TOP - FIXADDR_SIZE) |
| 23 | |
| 24 | #define __fix_to_virt(x) (FIXADDR_TOP - ((x) << PAGE_SHIFT)) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 25 | |
| 26 | #endif |