extern unsigned long *ia32_gdt;
 extern struct page *ia32_gate_page;
 
-struct page *
-ia32_install_shared_page (struct vm_area_struct *vma, unsigned long address, int *type)
+int
+ia32_install_shared_page (struct vm_area_struct *vma, struct vm_fault *vmf)
 {
-       struct page *pg = ia32_shared_page[smp_processor_id()];
-       get_page(pg);
-       if (type)
-               *type = VM_FAULT_MINOR;
-       return pg;
+       vmf->page = ia32_shared_page[smp_processor_id()];
+       get_page(vmf->page);
+       return 0;
 }
 
-struct page *
-ia32_install_gate_page (struct vm_area_struct *vma, unsigned long address, int *type)
+int
+ia32_install_gate_page (struct vm_area_struct *vma, struct vm_fault *vmf)
 {
-       struct page *pg = ia32_gate_page;
-       get_page(pg);
-       if (type)
-               *type = VM_FAULT_MINOR;
-       return pg;
+       vmf->page = ia32_gate_page;
+       get_page(vmf->page);
+       return 0;
 }
 
 
 static struct vm_operations_struct ia32_shared_page_vm_ops = {
-       .nopage = ia32_install_shared_page
+       .fault = ia32_install_shared_page
 };
 
 static struct vm_operations_struct ia32_gate_page_vm_ops = {
-       .nopage = ia32_install_gate_page
+       .fault = ia32_install_gate_page
 };
 
 void