mirror of
https://github.com/genodelabs/genode.git
synced 2025-04-20 17:11:45 +00:00
parent
d24ed9783b
commit
20e91d0b60
@ -8,7 +8,7 @@ LIBS += cxx l4 startup
|
||||
|
||||
SRC_CC += cap_copy.cc main_bootstrap.cc
|
||||
SRC_CC += ipc/ipc.cc ipc/pager.cc ipc/ipc_marshal_cap.cc
|
||||
SRC_CC += pager/pager.cc
|
||||
SRC_CC += pager/pager.cc pager/common.cc
|
||||
SRC_CC += avl_tree/avl_tree.cc
|
||||
SRC_CC += allocator/slab.cc
|
||||
SRC_CC += allocator/allocator_avl.cc
|
||||
|
@ -8,7 +8,7 @@ LIBS += cxx startup
|
||||
|
||||
SRC_CC += cap_copy.cc main_bootstrap.cc
|
||||
SRC_CC += ipc/ipc.cc ipc/pager.cc ipc/ipc_marshal_cap.cc
|
||||
SRC_CC += pager/pager.cc
|
||||
SRC_CC += pager/pager.cc pager/common.cc
|
||||
SRC_CC += avl_tree/avl_tree.cc
|
||||
SRC_CC += allocator/slab.cc
|
||||
SRC_CC += allocator/allocator_avl.cc
|
||||
|
@ -8,7 +8,7 @@ LIBS += cxx syscall startup
|
||||
|
||||
SRC_CC += main_bootstrap.cc
|
||||
SRC_CC += ipc/ipc.cc ipc/pager.cc
|
||||
SRC_CC += pager/pager.cc
|
||||
SRC_CC += pager/pager.cc pager/common.cc
|
||||
SRC_CC += avl_tree/avl_tree.cc
|
||||
SRC_CC += allocator/slab.cc
|
||||
SRC_CC += allocator/allocator_avl.cc
|
||||
|
@ -8,7 +8,7 @@ LIBS += cxx
|
||||
|
||||
SRC_CC += cap_copy.cc
|
||||
SRC_CC += ipc/ipc.cc ipc/ipc_marshal_cap.cc
|
||||
SRC_CC += pager/pager.cc
|
||||
SRC_CC += pager/pager.cc pager/common.cc
|
||||
SRC_CC += avl_tree/avl_tree.cc
|
||||
SRC_CC += allocator/slab.cc
|
||||
SRC_CC += allocator/allocator_avl.cc
|
||||
|
@ -20,6 +20,7 @@ SRC_CC += lock/lock.cc
|
||||
SRC_CC += signal/signal.cc signal/common.cc
|
||||
SRC_CC += server/server.cc server/common.cc
|
||||
SRC_CC += thread/thread_bootstrap.cc thread/trace.cc
|
||||
SRC_CC += pager/common.cc
|
||||
|
||||
INC_DIR += $(REP_DIR)/src/base/lock
|
||||
INC_DIR += $(BASE_DIR)/src/base/lock
|
||||
|
@ -8,7 +8,7 @@ LIBS += cxx startup
|
||||
|
||||
SRC_CC += cap_copy.cc main_bootstrap.cc
|
||||
SRC_CC += ipc/ipc.cc ipc/pager.cc ipc/ipc_marshal_cap.cc
|
||||
SRC_CC += pager/pager.cc
|
||||
SRC_CC += pager/pager.cc pager/common.cc
|
||||
SRC_CC += avl_tree/avl_tree.cc
|
||||
SRC_CC += allocator/slab.cc
|
||||
SRC_CC += allocator/allocator_avl.cc
|
||||
|
@ -8,7 +8,7 @@ LIBS += cxx startup
|
||||
|
||||
SRC_CC += cap_copy.cc main_bootstrap.cc
|
||||
SRC_CC += ipc/ipc.cc ipc/pager.cc ipc/ipc_marshal_cap.cc
|
||||
SRC_CC += pager/pager.cc
|
||||
SRC_CC += pager/pager.cc pager/common.cc
|
||||
SRC_CC += avl_tree/avl_tree.cc
|
||||
SRC_CC += allocator/slab.cc
|
||||
SRC_CC += allocator/allocator_avl.cc
|
||||
|
@ -79,14 +79,10 @@ namespace Genode {
|
||||
*/
|
||||
virtual int pager(Ipc_pager &ps) = 0;
|
||||
|
||||
void wake_up()
|
||||
{
|
||||
/* notify pager to wake up faulter */
|
||||
Msgbuf<16> snd, rcv;
|
||||
Native_capability pager = cap();
|
||||
Ipc_client ipc_client(pager, &snd, &rcv);
|
||||
ipc_client << this << IPC_CALL;
|
||||
}
|
||||
/**
|
||||
* Wake up the faulter
|
||||
*/
|
||||
void wake_up();
|
||||
|
||||
/**
|
||||
* Assign user-level exception handler for the pager object
|
||||
|
27
base/src/base/pager/common.cc
Normal file
27
base/src/base/pager/common.cc
Normal file
@ -0,0 +1,27 @@
|
||||
/*
|
||||
* \brief Standard implementation of pager object
|
||||
* \author Martin Stein
|
||||
* \date 2013-11-04
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (C) 2013 Genode Labs GmbH
|
||||
*
|
||||
* This file is part of the Genode OS framework, which is distributed
|
||||
* under the terms of the GNU General Public License version 2.
|
||||
*/
|
||||
|
||||
/* Genode includes */
|
||||
#include <base/pager.h>
|
||||
|
||||
using namespace Genode;
|
||||
|
||||
|
||||
void Pager_object::wake_up()
|
||||
{
|
||||
/* notify pager to wake up faulter */
|
||||
Msgbuf<16> snd, rcv;
|
||||
Native_capability pager = cap();
|
||||
Ipc_client ipc_client(pager, &snd, &rcv);
|
||||
ipc_client << this << IPC_CALL;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user