[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
hurd-l4 viengoos/viengoos.c viengoos/thread.h v...
From: |
Neal H. Walfield |
Subject: |
hurd-l4 viengoos/viengoos.c viengoos/thread.h v... |
Date: |
Tue, 04 Dec 2007 18:12:23 +0000 |
CVSROOT: /sources/hurd
Module name: hurd-l4
Changes by: Neal H. Walfield <neal> 07/12/04 18:12:23
Modified files:
viengoos : viengoos.c thread.h thread.c server.c rm.h
object.h ChangeLog
ruth : ruth.c ChangeLog
libpthread/sysdeps/l4/hurd/ia32: pt-setup.c
libpthread/sysdeps/l4/hurd: pt-thread-start.c pt-thread-halt.c
pt-thread-alloc.c pt-sysdep.h
libpthread : ChangeLog
libhurd-mm : exceptions.c Makefile.am ChangeLog
hurd : thread.h exceptions.h ChangeLog
Added files:
libhurd-mm : ia32-exception-entry.S
Log message:
viengoos/
2007-12-04 Neal H. Walfield <address@hidden>
Remove exception threads. Replace with support for activations.
* thread.h (THREAD_SLOTS): Bump to 3.
(struct thread): Add field exception_page. Remove fields
have_exception and exception.
(thread_exregs): Take additional arguments exception_page and
exception_page_out. Update users.
(thread_raise_exception): New declaration.
* thread.c (THREAD_VERSION): Define.
(thread_init): Remove code related to the exception thread.
(thread_commission): Likewise.
(thread_decommission): Likewise.
(thread_exregs): Likewise. Take additional arguments
EXCEPTION_PAGE and EXCEPTION_PAGE_OUT. If CONTROL contains
HURD_EXREGS_GET_REGS and EXCEPTION_PAGE_OUT is not NULL, return
a
capability to THREAD's exception page in *EXCEPTION_PAGE_OUT.
If
CONTROL contains HURD_EXREGS_SET_EXCEPTION_PAGE, then set
THREAD's
exception page to EXCEPTION_PAGE.
(thread_raise_exception): New function.
* server.c (server_loop): Remove code related to handling the
exception thread. Call thread_raise_exception to propagate
exception. Reimplement the exception_collect method. Update
implementation of the thread_exregs method to support the new
argument passing scheme. Add support for setting and retrieving
the exception page.
(REPLYW): Only clear MSG here.
* rm.h (exception_collect): Take an additional argument, the
principal.
* object.h (object_type): New function.
hurd/
2007-12-04 Neal H. Walfield <address@hidden>
Remove exception threads. Replace with support for activations.
* thread.h: Include <l4/ipc.h>.
(struct exception_page): New structure.
(THREAD_EXCEPTION_PAGE_SLOT): Define.
(HURD_EXREGS_EXCEPTION_THREAD): Don't define.
(HURD_EXREGS_SET_EXCEPTION_PAGE): Define.
(HURD_EXREGS_SET_REGS): Update.
(hurd_exception_handler_t): New definition.
(struct hurd_thread_exregs_in): New structure.
(struct hurd_thread_exregs_out): New structure.
(thread_exregs): Replace the bulk of the arguments with struct
hurd_thread_exregs_in and struct hurd_thread_exregs_out. Update
users.
* exceptions.h (HURD_THREAD_MAIN_VERSION): Remove macro.
(HURD_THREAD_EXCEPTION_VERSION): Likewise.
(hurd_thread_is_exception_thread): Remove function.
(hurd_thread_is_main_thread): Likewise.
(hurd_exception_thread): Likewise.
(hurd_main_thread): Likewise.
(exception_handler_loop): Remove declaration.
(exception_handler): New declaration.
(exception_handler_entry): Likewise.
(exception_handler_end): Likewise.
libhurd-mm/
2007-12-04 Neal H. Walfield <address@hidden>
Remove exception threads. Replace with support for activations.
* Makefile.am (ARCH_SOURCES): New variable.
[ARCH_IA32]: Add ia32-exception-entry.S.
(libhurd_mm_a_SOURCES): Add $(ARCH_SOURCES).
* ia32-exception-entry.S: New file.
* exceptions.c: Include <hurd/storage.h> and <hurd/thread.h>.
(ARG): Don't define.
(ARG64): Likewise.
(ARG_ADDR): Likewise.
(CHECK): Likewise.
(exception_handler_loop): Remove function.
(exception_fetch_exception): New function.
(exception_handler): New function.
(STACK_SIZE): Don't define.
(stack): Don't declare.
(exception_handler_init): Set up the thread's exception page.
libpthread/
2007-12-04 Neal H. Walfield <address@hidden>
Remove exception threads. Replace with support for activations.
* sysdeps/l4/hurd/pt-sysdep.h (PTHREAD_SYSDEP_MEMBERS): Remove
fields exception_handler_stack and exception_handler_sp. Add
field exception_page.
* sysdeps/l4/hurd/pt-thread-alloc.c (__pthread_thread_alloc):
Allocate a page for THREAD->EXCEPTION_PAGE, not
THREAD->EXCEPTION_HANDLER_STACK.
* sysdeps/l4/hurd/ia32/pt-setup.c: Include <hurd/thread.h> and
<hurd/exceptions.h>.
(__pthread_setup): Remove code dealing with the exception
thread.
Set up the exception page.
* sysdeps/l4/hurd/pt-thread-start.c (__pthread_thread_start):
Remove code dealing with the exception thread. Update to use
new
rm_thread_exregs interface. Also set the thread's exception
page.
* sysdeps/l4/hurd/pt-thread-halt.c (__pthread_thread_halt):
Remove
code to dealing with the exception thread. Free the
THREAD->EXCEPTION_PAGE.
ruth/
2007-12-04 Neal H. Walfield <address@hidden>
* ruth.c (main): Update to use new rm_thread_exregs interface.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/viengoos/viengoos.c?cvsroot=hurd&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/viengoos/thread.h?cvsroot=hurd&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/viengoos/thread.c?cvsroot=hurd&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/viengoos/server.c?cvsroot=hurd&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/viengoos/rm.h?cvsroot=hurd&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/viengoos/object.h?cvsroot=hurd&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/viengoos/ChangeLog?cvsroot=hurd&r1=1.17&r2=1.18
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/ruth/ruth.c?cvsroot=hurd&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/ruth/ChangeLog?cvsroot=hurd&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/libpthread/sysdeps/l4/hurd/ia32/pt-setup.c?cvsroot=hurd&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/libpthread/sysdeps/l4/hurd/pt-thread-start.c?cvsroot=hurd&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/libpthread/sysdeps/l4/hurd/pt-thread-halt.c?cvsroot=hurd&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/libpthread/sysdeps/l4/hurd/pt-thread-alloc.c?cvsroot=hurd&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/libpthread/sysdeps/l4/hurd/pt-sysdep.h?cvsroot=hurd&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/libpthread/ChangeLog?cvsroot=hurd&r1=1.17&r2=1.18
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/libhurd-mm/exceptions.c?cvsroot=hurd&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/libhurd-mm/Makefile.am?cvsroot=hurd&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/libhurd-mm/ChangeLog?cvsroot=hurd&r1=1.18&r2=1.19
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/libhurd-mm/ia32-exception-entry.S?cvsroot=hurd&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/hurd/thread.h?cvsroot=hurd&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/hurd/exceptions.h?cvsroot=hurd&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/hurd-l4/hurd/ChangeLog?cvsroot=hurd&r1=1.29&r2=1.30
- hurd-l4 viengoos/viengoos.c viengoos/thread.h v...,
Neal H. Walfield <=