diff options
author | neal <neal> | 2007-11-19 22:59:04 +0000 |
---|---|---|
committer | neal <neal> | 2007-11-19 22:59:04 +0000 |
commit | 755d9a8988a5ae6e70fe5dbf6a980bad0c54821d (patch) | |
tree | ec578a1f082f218884a48c0b6bb5a0a84da96f01 /libhurd-mm/mm-init.c | |
parent | 5c2c982ba3cfbe34c79cb2096018567ca6cd8fb6 (diff) |
hurd/
2007-11-19 Neal H. Walfield <neal@gnu.org>
* Makefile.am (includehurd_HEADERS): Add exceptions.h.
* headers.m4: Link $(BUILDIR)/include/hurd/exceptions.h to
exceptions.h.
* exceptions.h: New file.
viengoos/
2007-11-19 Neal H. Walfield <neal@gnu.org>
* thread.h (struct thread): Add fields have_exception and
exception.
(UTCB_AREA_SIZE): Provide space for two UTCBs.
* thread.c: Include <hurd/exceptions.h>.
(thread_create_in): For each thread that we allocate, allocate two
consecutive l4 thread ids.
(thread_commission): Initialize the main thread and the exception
thread.
(thread_decommission): Destroy both the main thread and the
exception thread.
* rm.h: Add RM_exception_collect.
(rm_method_id_string): Handle RM_exception_collect.
(exception_collect): New RPC method.
* server.c: Include <hurd/exceptions.h>.
(server_loop): If FROM is the exception thread, look up the thread
object using the main thread id. Propagate any fault to the
exception thread. If not immediately successful, save the message
in THREAD->EXCEPTION and set THREAD->HAVE_EXCEPTION. Implement
the exception_collect method.
(DEBUG): Also print the method number.
libhurd-mm/
2007-11-19 Neal H. Walfield <neal@gnu.org>
* Makefile.am (libhurd_mm_a_SOURCES): Add exceptions.h,
exceptions.c, pager.h, pager.c, anonymous.h and anonymous.c.
* headers.m4: Link $(BUILDDIR)/include/hurd/pager.h to pager.h.
Link $(BUILDDIR)/include/hurd/anonymous.h to anonymous.h.
* mm-init.c: Include "exceptions.h".
(mm_init): Call exception_handler_init.
* pager.h: Completely rewrite.
* pager.c: Likewise.
* anonymous.h: Likewise.
* anonymous.c: Likewise.
* exceptions.h: New file.
* exceptions.c: Likewise.
* mmap.c: Include <hurd/anonymous.h>.
(mmap): Rewrite to use an anonymous pager.
Diffstat (limited to 'libhurd-mm/mm-init.c')
-rw-r--r-- | libhurd-mm/mm-init.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libhurd-mm/mm-init.c b/libhurd-mm/mm-init.c index b23ccb7..c174906 100644 --- a/libhurd-mm/mm-init.c +++ b/libhurd-mm/mm-init.c @@ -27,6 +27,7 @@ #include "storage.h" #include "as.h" +#include "exceptions.h" extern struct hurd_startup_data *__hurd_startup_data; @@ -46,4 +47,5 @@ mm_init (addr_t activity) storage_init (); as_init (); + exception_handler_init (); } |