diff -urN src.orig/user_status.c src/user_status.c --- src.orig/user_status.c 2008-09-12 11:22:12.000000000 -0700 +++ src/user_status.c 2008-09-12 11:25:22.000000000 -0700 @@ -186,26 +186,25 @@ // It should never be called. If it is, let's make sure // we solve the problem quickly... // -struct page * +int error_nopage(struct vm_area_struct *area, - unsigned long address, - NOPAGE_TYPE type) + struct vm_fault *vmf) { - VDK_PRINT_WARNING("remap: nopage(v:%p, s:%p, e:%p, a:%p, t:%p, p:%p\n", + VDK_PRINT_WARNING("remap: nopage(v:%p, s:%p, e:%p, a:%p, f:%p, p:%p\n", area, (void *) area->vm_start, (void *) area->vm_end, - (void *) address, - (void *) type, + (void *) vmf->virtual_address, + (void *) (long)vmf->flags, (void *) area->vm_private_data); - return (NOPAGE_SIGBUS); + return (VM_FAULT_SIGBUS); } struct vm_operations_struct sample_status_ops = { open: sample_status_vmopen, close: sample_status_vmclose, - nopage: error_nopage, + fault: error_nopage, }; /* ------------------------------------------------------------------------- */ diff -urN src.orig/vtune.c src/vtune.c --- src.orig/vtune.c 2008-09-12 11:22:14.000000000 -0700 +++ src/vtune.c 2008-09-12 11:25:22.000000000 -0700 @@ -4526,26 +4526,25 @@ // so use a macro to hide the differences... Not that we're really // using any of the arguments... // -struct page * +int dsa_error_nopage(struct vm_area_struct *area, - unsigned long address, - NOPAGE_TYPE type) + struct vm_fault *vmf) { - VDK_PRINT_ERROR("dsa_error_nopage(v:%p, s:%p, e:%p, a:%p, t:%p, p:%p\n", + VDK_PRINT_ERROR("dsa_error_nopage(v:%p, s:%p, e:%p, a:%p, f:%p, p:%p\n", area, (void *) area->vm_start, (void *) area->vm_end, - (void *) address, - (void *) type, + (void *) vmf->virtual_address, + (void *) (long)vmf->flags, (void *) area->vm_private_data); - return (NOPAGE_SIGBUS); + return (VM_FAULT_SIGBUS); } struct vm_operations_struct dsa_mmap_ops = { open: dsa_mmap_vmopen, close: dsa_mmap_vmclose, - nopage: dsa_error_nopage, + fault: dsa_error_nopage, }; atomic_t num_dsa_open = ATOMIC_INIT(0);