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:
committed by
Christian Helmuth
parent
97201e6778
commit
2147c42ec6
@@ -98,18 +98,6 @@ namespace Genode {
|
||||
constexpr size_t get_super_page_size() { return L4_SUPERPAGESIZE; }
|
||||
constexpr size_t get_super_page_size_log2() { return L4_LOG2_SUPERPAGESIZE; }
|
||||
|
||||
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)
|
||||
{
|
||||
Fiasco::l4_threadid_t tid;
|
||||
tid.raw = badge;
|
||||
printf("%s (%s pf_addr=%p pf_ip=%p from %x.%02x)\n", msg,
|
||||
pf_type == Region_map::State::WRITE_FAULT ? "WRITE" : "READ",
|
||||
(void *)pf_addr, (void *)pf_ip,
|
||||
(int)tid.id.task, (int)tid.id.lthread);
|
||||
}
|
||||
|
||||
inline addr_t map_src_addr(addr_t core_local_addr, addr_t phys_addr) {
|
||||
return core_local_addr; }
|
||||
|
||||
|
||||
@@ -133,7 +133,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(Fiasco::sigma0_threadid, Rpc_obj_key()));
|
||||
}
|
||||
@@ -149,7 +151,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());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user