diff options
Diffstat (limited to 'arch/x86/include/asm/fixmap.h')
| -rw-r--r-- | arch/x86/include/asm/fixmap.h | 16 | 
1 files changed, 11 insertions, 5 deletions
diff --git a/arch/x86/include/asm/fixmap.h b/arch/x86/include/asm/fixmap.h index 14f9890eb49..635f03bb499 100644 --- a/arch/x86/include/asm/fixmap.h +++ b/arch/x86/include/asm/fixmap.h @@ -118,14 +118,20 @@ enum fixed_addresses {  	 * 256 temporary boot-time mappings, used by early_ioremap(),  	 * before ioremap() is functional.  	 * -	 * We round it up to the next 256 pages boundary so that we -	 * can have a single pgd entry and a single pte table: +	 * If necessary we round it up to the next 256 pages boundary so +	 * that we can have a single pgd entry and a single pte table:  	 */  #define NR_FIX_BTMAPS		64  #define FIX_BTMAPS_SLOTS	4 -	FIX_BTMAP_END = __end_of_permanent_fixed_addresses + 256 - -			(__end_of_permanent_fixed_addresses & 255), -	FIX_BTMAP_BEGIN = FIX_BTMAP_END + NR_FIX_BTMAPS*FIX_BTMAPS_SLOTS - 1, +#define TOTAL_FIX_BTMAPS	(NR_FIX_BTMAPS * FIX_BTMAPS_SLOTS) +	FIX_BTMAP_END = +	 (__end_of_permanent_fixed_addresses ^ +	  (__end_of_permanent_fixed_addresses + TOTAL_FIX_BTMAPS - 1)) & +	 -PTRS_PER_PTE +	 ? __end_of_permanent_fixed_addresses + TOTAL_FIX_BTMAPS - +	   (__end_of_permanent_fixed_addresses & (TOTAL_FIX_BTMAPS - 1)) +	 : __end_of_permanent_fixed_addresses, +	FIX_BTMAP_BEGIN = FIX_BTMAP_END + TOTAL_FIX_BTMAPS - 1,  #ifdef CONFIG_PROVIDE_OHCI1394_DMA_INIT  	FIX_OHCI1394_BASE,  #endif  |