vserver 2.0 rc7
[linux-2.6.git] / include / asm-ppc / highmem.h
index 7cda32e..1d2c4ef 100644 (file)
@@ -35,8 +35,6 @@ extern pte_t *kmap_pte;
 extern pgprot_t kmap_prot;
 extern pte_t *pkmap_page_table;
 
-extern void kmap_init(void) __init;
-
 /*
  * Right now we initialize only a single pte table. It can be extended
  * easily, subsequent pte tables have to be allocated in one physical
@@ -90,7 +88,7 @@ static inline void *kmap_atomic(struct page *page, enum km_type type)
 #ifdef HIGHMEM_DEBUG
        BUG_ON(!pte_none(*(kmap_pte+idx)));
 #endif
-       set_pte(kmap_pte+idx, mk_pte(page, kmap_prot));
+       set_pte_at(&init_mm, vaddr, kmap_pte+idx, mk_pte(page, kmap_prot));
        flush_tlb_page(NULL, vaddr);
 
        return (void*) vaddr;
@@ -114,7 +112,7 @@ static inline void kunmap_atomic(void *kvaddr, enum km_type type)
         * force other mappings to Oops if they'll try to access
         * this pte without first remap it
         */
-       pte_clear(kmap_pte+idx);
+       pte_clear(&init_mm, vaddr, kmap_pte+idx);
        flush_tlb_page(NULL, vaddr);
 #endif
        dec_preempt_count();