summaryrefslogtreecommitdiffstats
path: root/include/asm-ia64/mmu_context.h
diff options
context:
space:
mode:
authorTony Luck <tony.luck@intel.com>2005-08-29 15:50:32 -0700
committerTony Luck <tony.luck@intel.com>2005-08-29 15:50:32 -0700
commit329058028523a5b36de449f130111b7671a4f269 (patch)
tree7a0860f7b349d26118eac385af4c50b6d038297a /include/asm-ia64/mmu_context.h
parentbcdd3a911499abd65bf1f123b2a6ad9c1d5611ea (diff)
parent1b66776da71e33dff5edcc0b096ec3b7c40c75ad (diff)
Pull rationalise-regions into release branch
Diffstat (limited to 'include/asm-ia64/mmu_context.h')
-rw-r--r--include/asm-ia64/mmu_context.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/asm-ia64/mmu_context.h b/include/asm-ia64/mmu_context.h
index 0680d163be9..8d6e72f7b08 100644
--- a/include/asm-ia64/mmu_context.h
+++ b/include/asm-ia64/mmu_context.h
@@ -19,6 +19,7 @@
#define ia64_rid(ctx,addr) (((ctx) << 3) | (addr >> 61))
+# include <asm/page.h>
# ifndef __ASSEMBLY__
#include <linux/compiler.h>
@@ -122,7 +123,7 @@ reload_context (nv_mm_context_t context)
unsigned long rid_incr = 0;
unsigned long rr0, rr1, rr2, rr3, rr4, old_rr4;
- old_rr4 = ia64_get_rr(0x8000000000000000UL);
+ old_rr4 = ia64_get_rr(RGN_BASE(RGN_HPAGE));
rid = context << 3; /* make space for encoding the region number */
rid_incr = 1 << 8;
@@ -134,6 +135,10 @@ reload_context (nv_mm_context_t context)
rr4 = rr0 + 4*rid_incr;
#ifdef CONFIG_HUGETLB_PAGE
rr4 = (rr4 & (~(0xfcUL))) | (old_rr4 & 0xfc);
+
+# if RGN_HPAGE != 4
+# error "reload_context assumes RGN_HPAGE is 4"
+# endif
#endif
ia64_set_rr(0x0000000000000000UL, rr0);