base: unify page-fault notification for kernels

* Enable page-fault messages for regions not directly managed by core
* Unify output given when a page-fault occurs related to those regions

Fix #2082
This commit is contained in:
Stefan Kalkowski
2016-09-05 11:24:51 +02:00
committed by Christian Helmuth
parent 97201e6778
commit 2147c42ec6
27 changed files with 142 additions and 141 deletions

View File

@@ -107,18 +107,6 @@ namespace Genode {
return trunc_page(addr + get_page_size() - 1);
}
inline void print_page_fault(const char *msg, addr_t pf_addr, addr_t pf_ip,
Region_map::State::Fault_type pf_type,
unsigned long badge)
{
Pistachio::L4_ThreadId_t tid;
tid.raw = badge;
log(msg, " (",
pf_type == Region_map::State::WRITE_FAULT ? "WRITE" : "READ", " "
"pf_addr=", Hex(pf_addr), " pf_ip=", Hex(pf_ip), " "
"from ", Formatted_tid(tid), ")");
}
inline addr_t map_src_addr(addr_t core_local_addr, addr_t phys_addr) {
return core_local_addr; }

View File

@@ -204,7 +204,9 @@ static void _core_pager_loop()
Platform::Sigma0::Sigma0()
:
Pager_object(Cpu_session_capability(), Thread_capability(), 0, Affinity::Location())
Pager_object(Cpu_session_capability(), Thread_capability(),
0, Affinity::Location(),
Session_label(), Cpu_session::Name("sigma0"))
{
cap(Capability_space::import(Pistachio::get_sigma0(), Rpc_obj_key()));
}
@@ -220,7 +222,9 @@ Platform::Sigma0 *Platform::sigma0()
Platform::Core_pager::Core_pager(Platform_pd *core_pd)
:
Platform_thread(0, "core.pager"),
Pager_object(Cpu_session_capability(), Thread_capability(), 0, Affinity::Location())
Pager_object(Cpu_session_capability(), Thread_capability(),
0, Affinity::Location(),
Session_label(), Cpu_session::Name(name()))
{
Platform_thread::pager(sigma0());