From owner-cvs-src@FreeBSD.ORG Mon Jun 23 16:15:07 2003 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9EC5F37B401; Mon, 23 Jun 2003 16:15:07 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 32C6B43FAF; Mon, 23 Jun 2003 16:15:07 -0700 (PDT) (envelope-from marcel@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h5NNF70U090282; Mon, 23 Jun 2003 16:15:07 -0700 (PDT) (envelope-from marcel@repoman.freebsd.org) Received: (from marcel@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h5NNF6GD090281; Mon, 23 Jun 2003 16:15:06 -0700 (PDT) Message-Id: <200306232315.h5NNF6GD090281@repoman.freebsd.org> From: Marcel Moolenaar Date: Mon, 23 Jun 2003 16:15:06 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/lib/libpthread/arch/i386/i386 ksd.c src/lib/libpthread/arch/i386/include ksd.h pthread_md.h src/lib/libpthread/arch/ia64 Makefile.inc src/lib/libpthread/arch/ia64/include ksd.h pthread_md.h src/lib/libpthread/thread thr_kern.c thr_private.h X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jun 2003 23:15:08 -0000 marcel 2003/06/23 16:15:06 PDT FreeBSD src repository Modified files: lib/libpthread/arch/i386/i386 ksd.c lib/libpthread/arch/i386/include ksd.h pthread_md.h lib/libpthread/arch/ia64 Makefile.inc lib/libpthread/arch/ia64/include pthread_md.h lib/libpthread/thread thr_kern.c thr_private.h Added files: lib/libpthread/arch/ia64/include ksd.h Log: Untangle the inter-dependency of kse types and ksd types/functions by moving the definition of struct ksd to pthread_md.h and removing the inclusion of ksd.h from thr_private.h (which has the definition of struct kse and kse_critical_t). This allows ksd.h to have inline functions that use struct kse and kse_critical_t and generally yields a cleaner implementation at the cost of not having all ksd related types/definitions in one header. Implement the ksd functionality on ia64 by using inline functions and permanently remove ksd.c from the ia64 specific makefile. This change does not clean up the i386 specific version of ksd.h. NOTE: The ksd code on ia64 abuses the tp register in the same way as it is abused in libthr in that it is incompatible with the runtime specification. This will be address when support for TLS hits the tree. Revision Changes Path 1.4 +1 -0 src/lib/libpthread/arch/i386/i386/ksd.c 1.5 +0 -13 src/lib/libpthread/arch/i386/include/ksd.h 1.4 +12 -0 src/lib/libpthread/arch/i386/include/pthread_md.h 1.2 +1 -1 src/lib/libpthread/arch/ia64/Makefile.inc 1.1 +91 -0 src/lib/libpthread/arch/ia64/include/ksd.h (new) 1.2 +6 -0 src/lib/libpthread/arch/ia64/include/pthread_md.h 1.71 +1 -1 src/lib/libpthread/thread/thr_kern.c 1.90 +0 -1 src/lib/libpthread/thread/thr_private.h