summaryrefslogtreecommitdiff
path: root/hurd
diff options
context:
space:
mode:
authorNeal H. Walfield <neal@gnu.org>2008-11-14 16:10:32 +0100
committerNeal H. Walfield <neal@gnu.org>2008-11-14 16:10:32 +0100
commit4cb0b81ebd2cf2353bfcee32fcbd5bf40cf7aa8a (patch)
treef6ab4f7c8e500114e73239bf6c5a635092760fb0 /hurd
parent0aa96b12bc6086c9ac922316ba877cce9b8b8898 (diff)
Map pages preemptively.
hurd/ 2008-11-14 Neal H. Walfield <neal@gnu.org> * rpc.h: Include <l4/space.h>. (RPC_): When receiving a message, accept any mapping. viengoos/ 2008-11-14 Neal H. Walfield <neal@gnu.org> * server.c (struct fault_info): New structure. (page_fault): New function. (server_loop): Implement page fault handling in terms of the new function. When copying a capability that makes a page available in the caller's hardware address space, map it preemptively. When clearing a discarded bit for a page that appears in the caller's hardware address space, allocate the object and map it preemptively.
Diffstat (limited to 'hurd')
-rw-r--r--hurd/ChangeLog5
-rw-r--r--hurd/rpc.h3
2 files changed, 7 insertions, 1 deletions
diff --git a/hurd/ChangeLog b/hurd/ChangeLog
index d75c512..72ac590 100644
--- a/hurd/ChangeLog
+++ b/hurd/ChangeLog
@@ -1,3 +1,8 @@
+2008-11-14 Neal H. Walfield <neal@gnu.org>
+
+ * rpc.h: Include <l4/space.h>.
+ (RPC_): When receiving a message, accept any mapping.
+
2008-11-12 Neal H. Walfield <neal@gnu.org>
* trace.h (trace_buffer_dump): Take additional arguments func and
diff --git a/hurd/rpc.h b/hurd/rpc.h
index 137e537..e363509 100644
--- a/hurd/rpc.h
+++ b/hurd/rpc.h
@@ -103,6 +103,7 @@
#include <hurd/stddef.h>
#include <l4/ipc.h>
+#include <l4/space.h>
#include <errno.h>
/* First we define some cpp help macros. */
@@ -644,7 +645,7 @@
(&msg)); \
\
l4_msg_load (msg); \
- l4_accept (L4_UNTYPED_WORDS_ACCEPTOR); \
+ l4_accept (l4_map_grant_items (L4_COMPLETE_ADDRESS_SPACE)); \
\
bool call = true; \
for (;;) \