rus_vm_fault(): add handling of page absence

This commit is contained in:
NAKAMURA Gou
2013-07-10 18:23:20 +09:00
parent 3749696d3e
commit 390eb6bca5

View File

@ -97,6 +97,11 @@ static int rus_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
rpa = translate_rva_to_rpa(usrdata->os, usrdata->rpgtable,
(unsigned long)vmf->virtual_address);
if ((long)rpa < 0) {
printk("mcctrl:page fault:flags %#x pgoff %#lx va %p page %p\n",
vmf->flags, vmf->pgoff, vmf->virtual_address, vmf->page);
return VM_FAULT_SIGBUS;
}
phys = ihk_device_map_memory(dev, rpa, PAGE_SIZE);
error = vm_insert_pfn(vma, (unsigned long)vmf->virtual_address, phys>>PAGE_SHIFT);