patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / arch / ia64 / mm / init.c
index c0dfe9c..c03b398 100644 (file)
@@ -123,15 +123,12 @@ ia64_init_addr_space (void)
         */
        vma = kmem_cache_alloc(vm_area_cachep, SLAB_KERNEL);
        if (vma) {
+               memset(vma, 0, sizeof(*vma));
                vma->vm_mm = current->mm;
                vma->vm_start = current->thread.rbs_bot & PAGE_MASK;
                vma->vm_end = vma->vm_start + PAGE_SIZE;
                vma->vm_page_prot = protection_map[VM_DATA_DEFAULT_FLAGS & 0x7];
                vma->vm_flags = VM_READ|VM_WRITE|VM_MAYREAD|VM_MAYWRITE|VM_GROWSUP;
-               vma->vm_ops = NULL;
-               vma->vm_pgoff = 0;
-               vma->vm_file = NULL;
-               vma->vm_private_data = NULL;
                insert_vm_struct(current->mm, vma);
        }
 
@@ -220,7 +217,7 @@ free_initrd_mem (unsigned long start, unsigned long end)
 }
 
 /*
- * This is like put_dirty_page() but installs a clean page in the kernel's page table.
+ * This installs a clean page in the kernel's page table.
  */
 struct page *
 put_kernel_page (struct page *page, unsigned long address, pgprot_t pgprot)
@@ -275,11 +272,11 @@ setup_gate (void)
        ia64_patch_gate();
 }
 
-void __init
+void __devinit
 ia64_mmu_init (void *my_cpu_data)
 {
        unsigned long psr, pta, impl_va_bits;
-       extern void __init tlb_init (void);
+       extern void __devinit tlb_init (void);
        int cpu;
 
 #ifdef CONFIG_DISABLE_VHPT
@@ -343,6 +340,7 @@ ia64_mmu_init (void *my_cpu_data)
 
 #ifdef CONFIG_HUGETLB_PAGE
        ia64_set_rr(HPAGE_REGION_BASE, HPAGE_SHIFT << 2);
+       ia64_srlz_d();
 #endif
 
        cpu = smp_processor_id();