diff --git a/base-nova/src/base/pager/pager.cc b/base-nova/src/base/pager/pager.cc index 8fe760d40..a642e9779 100644 --- a/base-nova/src/base/pager/pager.cc +++ b/base-nova/src/base/pager/pager.cc @@ -67,8 +67,9 @@ void Pager_object::_page_fault_handler() char client_name[Context::NAME_LEN]; myself->name(client_name, sizeof(client_name)); - PWRN("unresolvable page fault since recall failed, '%s'", - client_name); + PWRN("unresolvable page fault since recall failed, '%s' " + "address=0x%lx ip=0x%lx", client_name, ipc_pager.fault_addr(), + ipc_pager.fault_ip()); Native_capability pager_obj = obj->Object_pool::Entry::cap(); revoke(pager_obj.dst(), true); @@ -77,6 +78,11 @@ void Pager_object::_page_fault_handler() obj->_state.dead = true; } + + if (ret == 1) + PDBG("unhandled page fault, address=0x%lx ip=0x%lx", + ipc_pager.fault_addr(), ipc_pager.fault_ip()); + utcb->set_msg_word(0); utcb->mtd = 0; }