commit-hurd
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]