cvs commit: src/sys/kern init_sysent.c syscalls.c syscalls.maste

看板DFBSD_commit作者時間21年前 (2005/02/22 06:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
dillon 2005/02/21 13:51:48 PST DragonFly src repository Modified files: sys/kern init_sysent.c syscalls.c syscalls.master Log: Implement TLS support, tls manual pages, and link the umtx and tls manual pages together. TLS stands for 'thread local storage' and is used to support efficient userland threading and threaded data access models. Three TLS segments are supported in order to (eventually) support GCC3's __thread qualifier. David Xu's thread library only uses one descriptor for now. The system calls implement a mostly machine-independant API which return architecture-specific results. Rather then pass the actual descriptor structure, which unnecessarily pollutes the userland implementation, we pass a more generic (base,size) and the system call returns the %gs load value for IA32. For AMD64 and other architectures, the returned value will be something for those architectures. The current low level assembly support is not as efficient as it could be, but it is good enough for now. The heavy weight switch code for processes does the work. The light weight switch code for pure kernel threads has not been changed (since the kernel doesn't use TLS descriptors we can just ignore them). Based on work by David Xu <davidxu@freebsd.org> and Matthew Dillon <dillon@backplane.com> Revision Changes Path 1.26 +2 -0 src/sys/kern/init_sysent.c 1.25 +2 -0 src/sys/kern/syscalls.c 1.20 +3 -0 src/sys/kern/syscalls.master http://www.dragonflybsd.org/cvsweb/src/sys/kern/init_sysent.c.diff?r1=1.25&r2=1.26&f=u http://www.dragonflybsd.org/cvsweb/src/sys/kern/syscalls.c.diff?r1=1.24&r2=1.25&f=u http://www.dragonflybsd.org/cvsweb/src/sys/kern/syscalls.master.diff?r1=1.19&r2=1.20&f=u
文章代碼(AID): #126beh00 (DFBSD_commit)