aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2005-05-10 05:40:19 -0400
committerRussell King <rmk@dyn-67.arm.linux.org.uk>2005-05-10 05:40:19 -0400
commitc4e1f6f6bf82af89994a0ee760fc5e036c4d3c1f (patch)
tree64d5168e48eb879cb7452e80b06b7d7eaa6a709c
parent155bb14482cc567761c13b4efc064de400c55e18 (diff)
[PATCH] ARM: Add top_pmd, which points at the top-most page table
Signed-off-by: Russell King <rmk@arm.linux.org.uk>
-rw-r--r--arch/arm/mm/mm-armv.c4
-rw-r--r--include/asm-arm/page.h3
2 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm/mm/mm-armv.c b/arch/arm/mm/mm-armv.c
index 2a514b05cd5c..fa60fd65fcf8 100644
--- a/arch/arm/mm/mm-armv.c
+++ b/arch/arm/mm/mm-armv.c
@@ -37,6 +37,8 @@ pgprot_t pgprot_kernel;
37 37
38EXPORT_SYMBOL(pgprot_kernel); 38EXPORT_SYMBOL(pgprot_kernel);
39 39
40pmd_t *top_pmd;
41
40struct cachepolicy { 42struct cachepolicy {
41 const char policy[16]; 43 const char policy[16];
42 unsigned int cr_mask; 44 unsigned int cr_mask;
@@ -682,6 +684,8 @@ void __init memtable_init(struct meminfo *mi)
682 684
683 flush_cache_all(); 685 flush_cache_all();
684 flush_tlb_all(); 686 flush_tlb_all();
687
688 top_pmd = pmd_off_k(VECTORS_HIGH);
685} 689}
686 690
687/* 691/*
diff --git a/include/asm-arm/page.h b/include/asm-arm/page.h
index 4ca3a8e9348f..d26d1574d972 100644
--- a/include/asm-arm/page.h
+++ b/include/asm-arm/page.h
@@ -171,6 +171,9 @@ typedef unsigned long pgprot_t;
171 171
172#endif /* STRICT_MM_TYPECHECKS */ 172#endif /* STRICT_MM_TYPECHECKS */
173 173
174/* the upper-most page table pointer */
175extern pmd_t *top_pmd;
176
174/* Pure 2^n version of get_order */ 177/* Pure 2^n version of get_order */
175static inline int get_order(unsigned long size) 178static inline int get_order(unsigned long size)
176{ 179{