Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Dec 2006 01:59:22 GMT
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 111583 for review
Message-ID:  <200612130159.kBD1xM6e063610@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=111583

Change 111583 by marcel@marcel_nfs on 2006/12/13 01:58:56

	IFC @111581

Affected files ...

.. //depot/projects/powerpc/contrib/cvs/src/log.c#2 integrate
.. //depot/projects/powerpc/lib/libc/sys/kse.2#2 integrate
.. //depot/projects/powerpc/lib/libc/sys/mkdir.2#2 integrate
.. //depot/projects/powerpc/lib/libc/sys/symlink.2#2 integrate
.. //depot/projects/powerpc/lib/libelf/elf.3#2 integrate
.. //depot/projects/powerpc/lib/libthr/thread/thr_cond.c#2 integrate
.. //depot/projects/powerpc/lib/libthr/thread/thr_umtx.c#2 integrate
.. //depot/projects/powerpc/sbin/fdisk/fdisk.8#2 integrate
.. //depot/projects/powerpc/sbin/ifconfig/ifbridge.c#2 integrate
.. //depot/projects/powerpc/sbin/ifconfig/ifconfig.8#2 integrate
.. //depot/projects/powerpc/sys/amd64/amd64/intr_machdep.c#2 integrate
.. //depot/projects/powerpc/sys/amd64/amd64/mptable_pci.c#2 integrate
.. //depot/projects/powerpc/sys/amd64/include/intr_machdep.h#2 integrate
.. //depot/projects/powerpc/sys/amd64/pci/pci_bus.c#2 integrate
.. //depot/projects/powerpc/sys/dev/aac/aac_pci.c#5 integrate
.. //depot/projects/powerpc/sys/dev/acpica/acpi_pcib_acpi.c#2 integrate
.. //depot/projects/powerpc/sys/dev/advansys/adv_eisa.c#4 integrate
.. //depot/projects/powerpc/sys/dev/advansys/adv_isa.c#4 integrate
.. //depot/projects/powerpc/sys/dev/advansys/adv_pci.c#4 integrate
.. //depot/projects/powerpc/sys/dev/advansys/advansys.c#4 integrate
.. //depot/projects/powerpc/sys/dev/advansys/adw_pci.c#4 integrate
.. //depot/projects/powerpc/sys/dev/advansys/adwcam.c#4 integrate
.. //depot/projects/powerpc/sys/dev/aha/aha.c#4 integrate
.. //depot/projects/powerpc/sys/dev/aha/aha_isa.c#4 integrate
.. //depot/projects/powerpc/sys/dev/aha/aha_mca.c#4 integrate
.. //depot/projects/powerpc/sys/dev/ahb/ahb.c#4 integrate
.. //depot/projects/powerpc/sys/dev/amd/amd.c#2 integrate
.. //depot/projects/powerpc/sys/dev/amr/amr_pci.c#4 integrate
.. //depot/projects/powerpc/sys/dev/arcmsr/arcmsr.c#2 integrate
.. //depot/projects/powerpc/sys/dev/asr/asr.c#5 integrate
.. //depot/projects/powerpc/sys/dev/awi/awivar.h#4 integrate
.. //depot/projects/powerpc/sys/dev/bge/if_bge.c#4 integrate
.. //depot/projects/powerpc/sys/dev/bge/if_bgereg.h#4 integrate
.. //depot/projects/powerpc/sys/dev/buslogic/bt.c#4 integrate
.. //depot/projects/powerpc/sys/dev/buslogic/bt_eisa.c#4 integrate
.. //depot/projects/powerpc/sys/dev/buslogic/bt_isa.c#4 integrate
.. //depot/projects/powerpc/sys/dev/buslogic/bt_mca.c#4 integrate
.. //depot/projects/powerpc/sys/dev/buslogic/bt_pci.c#4 integrate
.. //depot/projects/powerpc/sys/dev/dpt/dpt_eisa.c#4 integrate
.. //depot/projects/powerpc/sys/dev/dpt/dpt_isa.c#4 integrate
.. //depot/projects/powerpc/sys/dev/dpt/dpt_pci.c#4 integrate
.. //depot/projects/powerpc/sys/dev/esp/esp_sbus.c#2 integrate
.. //depot/projects/powerpc/sys/dev/iir/iir_pci.c#3 integrate
.. //depot/projects/powerpc/sys/dev/mii/brgphy.c#5 integrate
.. //depot/projects/powerpc/sys/dev/mii/e1000phy.c#5 integrate
.. //depot/projects/powerpc/sys/dev/mii/e1000phyreg.h#4 integrate
.. //depot/projects/powerpc/sys/dev/mii/miidevs#5 integrate
.. //depot/projects/powerpc/sys/dev/mly/mly.c#5 integrate
.. //depot/projects/powerpc/sys/dev/pci/pci.c#5 integrate
.. //depot/projects/powerpc/sys/dev/pci/pcireg.h#4 integrate
.. //depot/projects/powerpc/sys/dev/ppbus/vpo.c#4 integrate
.. //depot/projects/powerpc/sys/dev/sound/pci/hda/hdac.c#3 integrate
.. //depot/projects/powerpc/sys/dev/trm/trm.c#2 integrate
.. //depot/projects/powerpc/sys/dev/twa/tw_osl_freebsd.c#2 integrate
.. //depot/projects/powerpc/sys/dev/usb/if_aue.c#5 integrate
.. //depot/projects/powerpc/sys/dev/usb/if_auereg.h#4 integrate
.. //depot/projects/powerpc/sys/dev/usb/usb_ethersubr.c#4 integrate
.. //depot/projects/powerpc/sys/dev/usb/usb_ethersubr.h#4 integrate
.. //depot/projects/powerpc/sys/dev/wds/wd7000.c#4 integrate
.. //depot/projects/powerpc/sys/dev/wi/if_wi.c#5 integrate
.. //depot/projects/powerpc/sys/dev/wi/if_wivar.h#3 integrate
.. //depot/projects/powerpc/sys/i386/i386/intr_machdep.c#2 integrate
.. //depot/projects/powerpc/sys/i386/i386/mptable_pci.c#2 integrate
.. //depot/projects/powerpc/sys/i386/include/intr_machdep.h#2 integrate
.. //depot/projects/powerpc/sys/i386/pci/pci_bus.c#4 integrate
.. //depot/projects/powerpc/sys/i386/pci/pci_cfgreg.c#5 integrate
.. //depot/projects/powerpc/sys/kern/kern_intr.c#5 integrate
.. //depot/projects/powerpc/sys/kern/kern_kse.c#2 integrate
.. //depot/projects/powerpc/sys/net/bridgestp.c#2 integrate
.. //depot/projects/powerpc/sys/net/bridgestp.h#2 integrate
.. //depot/projects/powerpc/sys/net/if_bridge.c#2 integrate
.. //depot/projects/powerpc/sys/net/if_bridgevar.h#2 integrate
.. //depot/projects/powerpc/sys/net/if_spppsubr.c#5 integrate
.. //depot/projects/powerpc/sys/netgraph/ng_nat.c#2 integrate
.. //depot/projects/powerpc/sys/netinet/ip_fw2.c#3 integrate
.. //depot/projects/powerpc/sys/netinet/sctputil.c#2 integrate
.. //depot/projects/powerpc/sys/netinet/tcp_hostcache.c#2 integrate
.. //depot/projects/powerpc/sys/netinet/tcp_input.c#5 integrate
.. //depot/projects/powerpc/sys/netinet6/frag6.c#4 integrate
.. //depot/projects/powerpc/sys/netinet6/icmp6.c#5 integrate
.. //depot/projects/powerpc/sys/netinet6/in6.c#5 integrate
.. //depot/projects/powerpc/sys/netinet6/in6_gif.c#4 integrate
.. //depot/projects/powerpc/sys/netinet6/in6_src.c#5 integrate
.. //depot/projects/powerpc/sys/netinet6/in6_var.h#5 integrate
.. //depot/projects/powerpc/sys/netinet6/ip6_forward.c#4 integrate
.. //depot/projects/powerpc/sys/netinet6/ip6_input.c#5 integrate
.. //depot/projects/powerpc/sys/netinet6/ip6_mroute.c#5 integrate
.. //depot/projects/powerpc/sys/netinet6/ipsec.c#4 integrate
.. //depot/projects/powerpc/sys/netinet6/mld6.c#4 integrate
.. //depot/projects/powerpc/sys/netinet6/nd6.c#5 integrate
.. //depot/projects/powerpc/sys/netinet6/nd6_nbr.c#4 integrate
.. //depot/projects/powerpc/sys/netinet6/nd6_rtr.c#5 integrate
.. //depot/projects/powerpc/sys/netinet6/scope6.c#4 integrate
.. //depot/projects/powerpc/sys/netinet6/udp6_usrreq.c#5 integrate
.. //depot/projects/powerpc/sys/netipsec/ipsec.c#2 integrate
.. //depot/projects/powerpc/sys/netipsec/ipsec_input.c#2 integrate
.. //depot/projects/powerpc/sys/nfsclient/nfs_socket.c#5 integrate
.. //depot/projects/powerpc/sys/nfsserver/nfs_syscalls.c#5 integrate
.. //depot/projects/powerpc/sys/sun4v/include/pcpu.h#2 integrate
.. //depot/projects/powerpc/sys/sun4v/mdesc/mdesc_init.c#2 integrate
.. //depot/projects/powerpc/sys/sun4v/sun4v/pmap.c#3 integrate
.. //depot/projects/powerpc/sys/sys/interrupt.h#5 integrate
.. //depot/projects/powerpc/usr.bin/truss/truss.1#2 integrate
.. //depot/projects/powerpc/usr.sbin/sysinstall/index.c#2 integrate

Differences ...

==== //depot/projects/powerpc/contrib/cvs/src/log.c#2 (text+ko) ====

@@ -11,7 +11,7 @@
  * argument, prints the log information for all the files in the directory
  * (recursive by default).
  *
- * $FreeBSD: src/contrib/cvs/src/log.c,v 1.2 2004/07/06 08:10:38 des Exp $
+ * $FreeBSD: src/contrib/cvs/src/log.c,v 1.3 2006/12/12 03:20:36 obrien Exp $
  */
 
 #include "cvs.h"
@@ -236,7 +236,7 @@
     prl = &log_data.revlist;
 
     optind = 0;
-    while ((c = getopt (argc, argv, "+bd:hlNSRr::s:tw::")) != -1)
+    while ((c = getopt (argc, argv, "+bd:hlNnSRr::s:tw::")) != -1)
     {
 	switch (c)
 	{
@@ -255,6 +255,9 @@
 	    case 'N':
 		log_data.notags = 1;
 		break;
+	    case 'n':
+		log_data.notags = 0;
+		break;
 	    case 'S':
 		log_data.sup_header = 1;
 		break;

==== //depot/projects/powerpc/lib/libc/sys/kse.2#2 (text+ko) ====

@@ -33,7 +33,7 @@
 .\" THE USE OF THIS SOFTWARE, EVEN IF PACKET DESIGN IS ADVISED OF
 .\" THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/lib/libc/sys/kse.2,v 1.18 2006/08/04 07:56:31 yar Exp $
+.\" $FreeBSD: src/lib/libc/sys/kse.2,v 1.19 2006/12/12 08:13:02 julian Exp $
 .\"
 .Dd July 12, 2004
 .Dt KSE 2
@@ -264,13 +264,10 @@
 If this KSE is the last one in the KSE group, there must be no remaining
 threads associated with the KSE group blocked in the kernel.
 This system call does not return unless there is an error.
-.Pp
-As a special case, if the last remaining KSE in the last remaining KSE group
-invokes this system call, then the KSE is not destroyed;
-instead, the KSE just loses the association with its mailbox and
+Calling
 .Fn kse_exit
-returns normally.
-This returns the process to its original, unthreaded state.
+from the last thread is the same as calling
+.Fn exit .
 .Pp
 The
 .Fn kse_release

==== //depot/projects/powerpc/lib/libc/sys/mkdir.2#2 (text+ko) ====

@@ -30,7 +30,7 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     @(#)mkdir.2	8.2 (Berkeley) 12/11/93
-.\" $FreeBSD: src/lib/libc/sys/mkdir.2,v 1.21 2006/12/09 22:39:28 pjd Exp $
+.\" $FreeBSD: src/lib/libc/sys/mkdir.2,v 1.22 2006/12/12 15:00:08 pjd Exp $
 .\"
 .Dd December 9, 2006
 .Dt MKDIR 2
@@ -79,7 +79,8 @@
 .It Bq Er ELOOP
 Too many symbolic links were encountered in translating the pathname.
 .It Bq Er EPERM
-The parent directory of the named file has its immutable flag set, see the
+The parent directory of the directory to be created has its immutable flag set,
+see the
 .Xr chflags 2
 manual page for more information.
 .It Bq Er EROFS

==== //depot/projects/powerpc/lib/libc/sys/symlink.2#2 (text+ko) ====

@@ -30,7 +30,7 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     @(#)symlink.2	8.1 (Berkeley) 6/4/93
-.\" $FreeBSD: src/lib/libc/sys/symlink.2,v 1.16 2006/12/09 23:01:38 pjd Exp $
+.\" $FreeBSD: src/lib/libc/sys/symlink.2,v 1.20 2006/12/12 20:06:52 pjd Exp $
 .\"
 .Dd December 9, 2006
 .Dt SYMLINK 2
@@ -65,18 +65,28 @@
 .It Bq Er ENOTDIR
 A component of the
 .Fa name2
-prefix is not a directory.
+path prefix is not a directory.
 .It Bq Er ENAMETOOLONG
-A component of either pathname exceeded 255 characters,
+A component of the
+.Fa name2
+pathname exceeded 255 characters,
 or the entire length of either path name exceeded 1023 characters.
 .It Bq Er ENOENT
-The named file does not exist.
+A component of the
+.Fa name2
+path prefix does not exist.
 .It Bq Er EACCES
 A component of the
 .Fa name2
 path prefix denies search permission.
+.It Bq Er EACCES
+A component of the
+.Fa name2
+path prefix denies write permission.
 .It Bq Er ELOOP
-Too many symbolic links were encountered in translating the pathname.
+Too many symbolic links were encountered in translating the
+.Fa name2
+path name.
 .It Bq Er EEXIST
 The path name pointed at by the
 .Fa name2

==== //depot/projects/powerpc/lib/libelf/elf.3#2 (text+ko) ====

@@ -21,9 +21,9 @@
 .\" out of the use of this software, even if advised of the possibility of
 .\" such damage.
 .\"
-.\" $FreeBSD: src/lib/libelf/elf.3,v 1.2 2006/11/13 09:46:15 ru Exp $
+.\" $FreeBSD: src/lib/libelf/elf.3,v 1.3 2006/12/11 09:03:27 jkoshy Exp $
 .\"
-.Dd September 1, 2006
+.Dd December 11, 2006
 .Os
 .Dt ELF 3
 .Sh NAME
@@ -287,6 +287,98 @@
 .Vt Elf_Scn
 descriptor is opaque and contains no application modifiable fields.
 .El
+.Ss Supported Elf Types
+The following ELF datatypes are supported by the library.
+.Pp
+.Bl -tag -width ".Dv ELF_T_SYMINFO" -compact
+.It Dv ELF_T_ADDR
+Machine addresses.
+.It Dv ELF_T_BYTE
+Byte data.
+The library will not attempt to translate byte data.
+.It Dv ELF_T_CAP
+Software and hardware capability records.
+.It Dv ELF_T_DYN
+Records used in a section of type
+.Dv SHT_DYNAMIC .
+.It Dv ELF_T_EHDR
+ELF executable header.
+.It Dv ELF_T_HALF
+16-bit unsigned words.
+.It Dv ELF_T_LWORD
+64 bit unsigned words.
+.It Dv ELF_T_MOVE
+ELF Move records.
+.\".It Dv ELF_T_MOVEP
+.\" As yet unsupported.
+.It Dv ELF_T_NOTE
+ELF Note structures.
+.It Dv ELF_T_OFF
+File offsets.
+.It Dv ELF_T_PHDR
+ELF program header table entries.
+.It Dv ELF_T_REL
+ELF relocation entries.
+.It Dv ELF_T_RELA
+ELF relocation entries with addends.
+.It Dv ELF_T_SHDR
+ELF section header entries.
+.It Dv ELF_T_SWORD
+Signed 32-bit words.
+.It Dv ELF_T_SXWORD
+Signed 64-bit words.
+.It Dv ELF_T_SYMINFO
+ELF symbol information.
+.It Dv ELF_T_SYM
+ELF symbol table entries.
+.It Dv ELF_T_VDEF
+Symbol version definition records.
+.It Dv ELF_T_VNEED
+Symbol version requirement records.
+.It Dv ELF_T_WORD
+Unsigned 32-bit words.
+.It Dv ELF_T_XWORD
+Unsigned 64-bit words.
+.El
+.Pp
+The symbol
+.Dv ELF_T_NUM
+denotes the number of Elf types known to the library.
+.Pp
+The following table shows the mapping between ELF section types
+defined in
+.Xr elf 5
+and the types supported by the library.
+.Bl -column ".Dv SHT_PREINIT_ARRAY" ".Dv ELF_T_SYMINFO"
+.It Em Section Type Ta Em "Library Type" Ta Em Description
+.It Dv SHT_DYNAMIC Ta Dv ELF_T_DYN Ta Xo
+.Sq .dynamic
+section entries.
+.Xc
+.It Dv SHT_DYNSYM Ta Dv ELF_T_SYM Ta Symbols for dynamic linking.
+.It Dv SHT_FINI_ARRAY Ta Dv ELF_T_ADDR Ta Termination function pointers.
+.It Dv SHT_GROUP Ta Dv ELF_T_WORD Ta Section group marker.
+.It Dv SHT_HASH Ta Dv ELF_T_HASH Ta Symbol hashes.
+.It Dv SHT_INIT_ARRAY Ta Dv ELF_T_ADDR Ta Initialization function pointers.
+.It Dv SHT_NOBITS Ta Dv ELF_T_BYTE Ta Xo
+Empty sections.
+See
+.Xr elf 5 .
+.Xc
+.It Dv SHT_NOTE Ta Dv ELF_T_NOTE Ta ELF note records.
+.It Dv SHT_PREINIT_ARRAY Ta Dv ELF_T_ADDR Ta Pre-initialization function pointers.
+.It Dv SHT_PROGBITS Ta Dv ELF_T_BYTE Ta Machine code.
+.It Dv SHT_REL Ta Dv ELF_T_REL Ta ELF relocation records.
+.It Dv SHT_RELA Ta Dv ELF_T_RELA Ta Relocation records with addends.
+.It Dv SHT_STRTAB Ta Dv ELF_T_BYTE Ta String tables.
+.It Dv SHT_SYMTAB Ta Dv ELF_T_SYM Ta Symbol tables.
+.It Dv SHT_SYMTAB_SHNDX Ta Dv ELF_T_WORD Ta Used with extended section numbering.
+.It Dv SHT_GNU_verdef Ta Dv ELF_T_VDEF Ta Symbol version definitions.
+.It Dv SHT_GNU_verneed Ta Dv ELF_T_VNEED Ta Symbol versioning requirements.
+.It Dv SHT_SUNW_move Ta Dv ELF_T_MOVE Ta ELF move records.
+.It Dv SHT_SUNW_syminfo Ta Dv ELF_T_SYMINFO Ta Additional symbol flags.
+.El
+.TE
 .Ss Functional Grouping
 This section contains a brief overview of the available functionality
 in the ELF library.

==== //depot/projects/powerpc/lib/libthr/thread/thr_cond.c#2 (text+ko) ====

@@ -23,7 +23,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libthr/thread/thr_cond.c,v 1.22 2006/12/05 07:23:58 davidxu Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_cond.c,v 1.23 2006/12/12 03:08:49 davidxu Exp $
  */
 
 #include "namespace.h"
@@ -124,13 +124,6 @@
 	else {
 		cv = *cond;
 		THR_UMUTEX_LOCK(curthread, &cv->c_lock);
-#if 0
-		/* Lock the condition variable structure: */
-		if (cv->c_kerncv.c_has_waiters) {
-			THR_UMUTEX_UNLOCK(curthread, &cv->c_lock);
-			return (EBUSY);
-		}
-#endif
 		/*
 		 * NULL the caller's pointer now that the condition
 		 * variable has been destroyed:
@@ -143,7 +136,6 @@
 		 * variable structure:
 		 */
 		free(cv);
-
 	}
 	/* Return the completion status: */
 	return (rval);
@@ -163,9 +155,10 @@
 	struct cond_cancel_info *info = (struct cond_cancel_info *)arg;
 	pthread_cond_t  cv;
 
-	cv = *(info->cond);
-	if ((cv->c_lock.m_owner & ~UMUTEX_CONTESTED) == TID(curthread))
+	if (info->cond != NULL) {
+		cv = *(info->cond);
 		THR_UMUTEX_UNLOCK(curthread, &cv->c_lock);
+	}
 	_mutex_cv_lock(info->mutex, info->count);
 }
 
@@ -209,6 +202,7 @@
 		THR_CLEANUP_PUSH(curthread, cond_cancel_handler, &info);
 		_thr_cancel_enter_defer(curthread);
 		ret = _thr_ucond_wait(&cv->c_kerncv, &cv->c_lock, tsp, 1);
+		info.cond = NULL;
 		_thr_cancel_leave_defer(curthread, ret);
 		THR_CLEANUP_POP(curthread, 0);
 	} else {
@@ -275,12 +269,10 @@
 
 	cv = *cond;
 	THR_UMUTEX_LOCK(curthread, &cv->c_lock);
-	if (cv->c_kerncv.c_has_waiters) {
-		if (!broadcast)
-			ret = _thr_ucond_signal(&cv->c_kerncv);
-		else
-			ret = _thr_ucond_broadcast(&cv->c_kerncv);
-	}
+	if (!broadcast)
+		ret = _thr_ucond_signal(&cv->c_kerncv);
+	else
+		ret = _thr_ucond_broadcast(&cv->c_kerncv);
 	THR_UMUTEX_UNLOCK(curthread, &cv->c_lock);
 	return (ret);
 }

==== //depot/projects/powerpc/lib/libthr/thread/thr_umtx.c#2 (text+ko) ====

@@ -23,7 +23,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libthr/thread/thr_umtx.c,v 1.8 2006/12/05 06:53:44 davidxu Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_umtx.c,v 1.10 2006/12/12 05:26:39 davidxu Exp $
  *
  */
 
@@ -41,7 +41,7 @@
 int
 __thr_umutex_lock(struct umutex *mtx)
 {
-	if (_umtx_op(mtx, UMTX_OP_MUTEX_LOCK, 0, 0, 0) == 0)
+	if (_umtx_op(mtx, UMTX_OP_MUTEX_LOCK, 0, 0, 0) != -1)
 		return 0;
 	return (errno);
 }
@@ -54,7 +54,7 @@
 		timeout->tv_nsec <= 0)))
 		return (ETIMEDOUT);
 	if (_umtx_op(mtx, UMTX_OP_MUTEX_LOCK, 0, 0,
-		__DECONST(void *, timeout)) == 0)
+		__DECONST(void *, timeout)) != -1)
 		return (0);
 	return (errno);
 }
@@ -62,7 +62,7 @@
 int
 __thr_umutex_unlock(struct umutex *mtx)
 {
-	if (_umtx_op(mtx, UMTX_OP_MUTEX_UNLOCK, 0, 0, 0) == 0)
+	if (_umtx_op(mtx, UMTX_OP_MUTEX_UNLOCK, 0, 0, 0) != -1)
 		return (0);
 	return (errno);
 }
@@ -70,7 +70,7 @@
 int
 __thr_umutex_trylock(struct umutex *mtx)
 {
-	if (_umtx_op(mtx, UMTX_OP_MUTEX_TRYLOCK, 0, 0, 0) == 0)
+	if (_umtx_op(mtx, UMTX_OP_MUTEX_TRYLOCK, 0, 0, 0) != -1)
 		return (0);
 	return (errno);
 }
@@ -79,7 +79,7 @@
 __thr_umutex_set_ceiling(struct umutex *mtx, uint32_t ceiling,
 	uint32_t *oldceiling)
 {
-	if (_umtx_op(mtx, UMTX_OP_SET_CEILING, ceiling, oldceiling, 0) == 0)
+	if (_umtx_op(mtx, UMTX_OP_SET_CEILING, ceiling, oldceiling, 0) != -1)
 		return (0);
 	return (errno);
 }
@@ -91,7 +91,7 @@
 		timeout->tv_nsec <= 0)))
 		return (ETIMEDOUT);
 	if (_umtx_op(__DEVOLATILE(void *, mtx), UMTX_OP_WAIT, id, 0,
-		__DECONST(void*, timeout)) == 0)
+		__DECONST(void*, timeout)) != -1)
 		return (0);
 	return (errno);
 }
@@ -100,7 +100,7 @@
 _thr_umtx_wake(volatile umtx_t *mtx, int nr_wakeup)
 {
 	if (_umtx_op(__DEVOLATILE(void *, mtx), UMTX_OP_WAKE,
-		nr_wakeup, 0, 0) == 0)
+		nr_wakeup, 0, 0) != -1)
 		return (0);
 	return (errno);
 }
@@ -122,7 +122,7 @@
 	}
 	if (_umtx_op(cv, UMTX_OP_CV_WAIT,
 		     check_unparking ? UMTX_CHECK_UNPARKING : 0, 
-		     m, __DECONST(void*, timeout)) == 0) {
+		     m, __DECONST(void*, timeout)) != -1) {
 		return (0);
 	}
 	return (errno);
@@ -131,7 +131,9 @@
 int
 _thr_ucond_signal(struct ucond *cv)
 {
-	if (_umtx_op(cv, UMTX_OP_CV_SIGNAL, 0, NULL, NULL) == 0)
+	if (!cv->c_has_waiters)
+		return (0);
+	if (_umtx_op(cv, UMTX_OP_CV_SIGNAL, 0, NULL, NULL) != -1)
 		return (0);
 	return (errno);
 }
@@ -139,7 +141,9 @@
 int
 _thr_ucond_broadcast(struct ucond *cv)
 {
-	if (_umtx_op(cv, UMTX_OP_CV_BROADCAST, 0, NULL, NULL) == 0)
+	if (!cv->c_has_waiters)
+		return (0);
+	if (_umtx_op(cv, UMTX_OP_CV_BROADCAST, 0, NULL, NULL) != -1)
 		return (0);
 	return (errno);
 }

==== //depot/projects/powerpc/sbin/fdisk/fdisk.8#2 (text+ko) ====

@@ -1,6 +1,6 @@
-.\" $FreeBSD: src/sbin/fdisk/fdisk.8,v 1.37 2006/12/08 21:50:48 ru Exp $
+.\" $FreeBSD: src/sbin/fdisk/fdisk.8,v 1.38 2006/12/12 15:26:25 ru Exp $
 .\"
-.Dd December 9, 2006
+.Dd December 12, 2006
 .Dt FDISK 8
 .Os
 .Sh NAME
@@ -75,7 +75,7 @@
 .Ar configfile .
 The
 .Ar configfile
-always modifies existing slices, unless
+only modifies explicitly specified slices, unless
 .Fl i
 is also given, in which case all existing slices are deleted (marked
 as
@@ -100,13 +100,12 @@
 Use with caution!
 .It Fl i
 Initialize sector 0 of the disk.
-This implies
-.Fl u ,
-unless
-.Fl f
-is given.
+Existing slice entries will be cleared
+(marked as unused) before editing.
+(Compare with
+.Fl u . )
 .It Fl I
-Initialize the contents of sector 0
+Initialize sector 0 slice table
 for one
 .Fx
 slice covering the entire disk.
@@ -120,7 +119,7 @@
 Implies
 .Fl v .
 .It Fl u
-Is used for updating (editing) sector 0 of the disk.
+Update (edit) the disk's sector 0 slice table.
 Ignored if
 .Fl f
 is given.
@@ -257,13 +256,15 @@
 flags is that
 the
 .Fl u
-flag just edits (updates) the fields as they appear on the disk,
+flag edits (updates) the existing slice parameters
 while the
 .Fl i
 flag is used to
 .Dq initialize
-sector 0;
-it will set up the first BIOS slice to use the whole disk for
+them (old values will be ignored);
+if you edit the first slice,
+.Fl i
+will also set it up to use the whole disk for
 .Fx
 and make it active.
 .Sh NOTES
@@ -281,8 +282,6 @@
 please make sure that the
 .Fx
 slice starts on a cylinder boundary.
-A number of decisions made later may assume this.
-(This might not be necessary later.)
 .Pp
 Editing an existing slice will most likely result in the loss of
 all data in that slice.
@@ -413,7 +412,6 @@
 downwards to correspond to head and cylinder boundaries):
 .Pp
 .Dl "p       1       165     1       2503871"
-.Pp
 .It Ic a Ar slice
 Make
 .Ar slice

==== //depot/projects/powerpc/sbin/ifconfig/ifbridge.c#2 (text+ko) ====

@@ -35,7 +35,7 @@
 
 #ifndef lint
 static const char rcsid[] =
-  "$FreeBSD: src/sbin/ifconfig/ifbridge.c,v 1.8 2006/11/27 20:52:57 thompsa Exp $";
+  "$FreeBSD: src/sbin/ifconfig/ifbridge.c,v 1.9 2006/12/11 23:46:40 thompsa Exp $";
 #endif /* not lint */
 
 #include <sys/param.h>
@@ -413,27 +413,27 @@
 }
 
 static void
-setbridge_p2p(const char *val, int d, int s, const struct afswtch *afp)
+setbridge_ptp(const char *val, int d, int s, const struct afswtch *afp)
 {
-	do_bridgeflag(s, val, IFBIF_BSTP_P2P, 1);
+	do_bridgeflag(s, val, IFBIF_BSTP_PTP, 1);
 }
 
 static void
-unsetbridge_p2p(const char *val, int d, int s, const struct afswtch *afp)
+unsetbridge_ptp(const char *val, int d, int s, const struct afswtch *afp)
 {
-	do_bridgeflag(s, val, IFBIF_BSTP_P2P, 0);
+	do_bridgeflag(s, val, IFBIF_BSTP_PTP, 0);
 }
 
 static void
-setbridge_autop2p(const char *val, int d, int s, const struct afswtch *afp)
+setbridge_autoptp(const char *val, int d, int s, const struct afswtch *afp)
 {
-	do_bridgeflag(s, val, IFBIF_BSTP_AUTOP2P, 1);
+	do_bridgeflag(s, val, IFBIF_BSTP_AUTOPTP, 1);
 }
 
 static void
-unsetbridge_autop2p(const char *val, int d, int s, const struct afswtch *afp)
+unsetbridge_autoptp(const char *val, int d, int s, const struct afswtch *afp)
 {
-	do_bridgeflag(s, val, IFBIF_BSTP_AUTOP2P, 0);
+	do_bridgeflag(s, val, IFBIF_BSTP_AUTOPTP, 0);
 }
 
 static void
@@ -681,10 +681,10 @@
 	DEF_CMD_ARG("-edge",		unsetbridge_edge),
 	DEF_CMD_ARG("autoedge",		setbridge_autoedge),
 	DEF_CMD_ARG("-autoedge",	unsetbridge_autoedge),
-	DEF_CMD_ARG("p2p",		setbridge_p2p),
-	DEF_CMD_ARG("-p2p",		unsetbridge_p2p),
-	DEF_CMD_ARG("autop2p",		setbridge_autop2p),
-	DEF_CMD_ARG("-autop2p",		unsetbridge_autop2p),
+	DEF_CMD_ARG("ptp",		setbridge_ptp),
+	DEF_CMD_ARG("-ptp",		unsetbridge_ptp),
+	DEF_CMD_ARG("autoptp",		setbridge_autoptp),
+	DEF_CMD_ARG("-autoptp",		unsetbridge_autoptp),
 	DEF_CMD("flush", 0,		setbridge_flush),
 	DEF_CMD("flushall", 0,		setbridge_flushall),
 	DEF_CMD_ARG2("static",		setbridge_static),

==== //depot/projects/powerpc/sbin/ifconfig/ifconfig.8#2 (text+ko) ====

@@ -26,7 +26,7 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     From: @(#)ifconfig.8	8.3 (Berkeley) 1/5/94
-.\" $FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.129 2006/11/27 21:59:04 thompsa Exp $
+.\" $FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.130 2006/12/11 23:46:40 thompsa Exp $
 .\"
 .Dd November 27, 2006
 .Dt IFCONFIG 8
@@ -1296,24 +1296,24 @@
 .It Cm -autoedge Ar interface
 Disable automatic edge status on 
 .Ar interface .
-.It Cm p2p Ar interface
+.It Cm ptp Ar interface
 Set the
 .Ar interface
 as a point to point link.
 This is required for straight transitions to forwarding and
 should be enabled on a direct link to another RSTP capable switch.
-.It Cm -p2p Ar interface
+.It Cm -ptp Ar interface
 Disable point to point link status on
 .Ar interface .
 This should be disabled for a half duplex link and for an interface
 connected to a shared network segment,
 like a hub or a wireless network.
-.It Cm autop2p Ar interface
+.It Cm autoptp Ar interface
 Automatically detect the point to point status on
 .Ar interface
 by checking the full duplex link status.
 This is the default for interfaces added to the bridge.
-.It Cm -autop2p Ar interface
+.It Cm -autoptp Ar interface
 Disable automatic point to point link detection on
 .Ar interface .
 .It Cm maxage Ar seconds

==== //depot/projects/powerpc/sys/amd64/amd64/intr_machdep.c#2 (text+ko) ====

@@ -26,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.26 2006/11/17 16:41:03 jhb Exp $
+ * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.27 2006/12/12 19:20:18 jhb Exp $
  */
 
 /*
@@ -190,13 +190,13 @@
 int
 intr_remove_handler(void *cookie)
 {
+	struct intsrc *isrc;
 	int error;
 
+	isrc = intr_handler_source(cookie);
 	error = intr_event_remove_handler(cookie);
-#ifdef XXX
 	if (error == 0)
-		intrcnt_updatename(/* XXX */);
-#endif
+		intrcnt_updatename(isrc);
 	return (error);
 }
 

==== //depot/projects/powerpc/sys/amd64/amd64/mptable_pci.c#2 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable_pci.c,v 1.5 2006/11/13 22:23:32 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable_pci.c,v 1.6 2006/12/12 19:27:00 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -72,6 +72,27 @@
 	return (bus_generic_attach(dev));
 }
 
+/* Pass MSI alloc requests up to the nexus. */
+static int
+mptable_hostb_alloc_msi(device_t pcib, device_t dev, int count, int maxcount,
+    int *irqs)
+{
+	device_t bus;
+
+	bus = device_get_parent(pcib);
+	return (PCIB_ALLOC_MSI(device_get_parent(bus), dev, count, maxcount,
+	    irqs));
+}
+
+static int
+mptable_hostb_alloc_msix(device_t pcib, device_t dev, int index, int *irq)
+{
+	device_t bus;
+
+	bus = device_get_parent(pcib);
+	return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, index, irq));
+}
+
 static device_method_t mptable_hostb_methods[] = {
 	/* Device interface */
 	DEVMETHOD(device_probe,		mptable_hostb_probe),
@@ -96,9 +117,9 @@
 	DEVMETHOD(pcib_read_config,	legacy_pcib_read_config),
 	DEVMETHOD(pcib_write_config,	legacy_pcib_write_config),
 	DEVMETHOD(pcib_route_interrupt,	mptable_pci_route_interrupt),
-	DEVMETHOD(pcib_alloc_msi,	pcib_alloc_msi),
+	DEVMETHOD(pcib_alloc_msi,	mptable_hostb_alloc_msi),
 	DEVMETHOD(pcib_release_msi,	pcib_release_msi),
-	DEVMETHOD(pcib_alloc_msix,	pcib_alloc_msix),
+	DEVMETHOD(pcib_alloc_msix,	mptable_hostb_alloc_msix),
 	DEVMETHOD(pcib_release_msix,	pcib_release_msix),
 
 	{ 0, 0 }
@@ -165,4 +186,3 @@
 DEFINE_CLASS_0(pcib, mptable_pcib_driver, mptable_pcib_pci_methods,
     sizeof(struct pcib_softc));
 DRIVER_MODULE(mptable_pcib, pci, mptable_pcib_driver, pcib_devclass, 0, 0);
-

==== //depot/projects/powerpc/sys/amd64/include/intr_machdep.h#2 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.12 2006/11/13 22:23:33 jhb Exp $
+ * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.13 2006/12/12 19:24:45 jhb Exp $
  */
 
 #ifndef __MACHINE_INTR_MACHDEP_H__
@@ -147,9 +147,9 @@
 void	intr_resume(void);
 void	intr_suspend(void);
 void	intrcnt_add(const char *name, u_long **countp);
-void	msi_init(void);
 int	msi_alloc(device_t dev, int count, int maxcount, int *irqs, int *newirq,
     int *newcount);
+void	msi_init(void);
 int	msi_release(int *irqs, int count);
 int	msix_alloc(device_t dev, int index, int *irq, int *new);
 int	msix_release(int irq);

==== //depot/projects/powerpc/sys/amd64/pci/pci_bus.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_bus.c,v 1.118 2006/11/13 22:23:33 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_bus.c,v 1.119 2006/12/12 19:27:00 jhb Exp $");
 
 #include "opt_cpu.h"
 
@@ -81,6 +81,28 @@
 	return (PCI_INVALID_IRQ);
 }
 
+/* Pass MSI alloc requests up to the nexus. */
+
+static int
+legacy_pcib_alloc_msi(device_t pcib, device_t dev, int count, int maxcount,
+    int *irqs)
+{
+	device_t bus;
+
+	bus = device_get_parent(pcib);
+	return (PCIB_ALLOC_MSI(device_get_parent(bus), dev, count, maxcount,
+	    irqs));
+}
+
+static int
+legacy_pcib_alloc_msix(device_t pcib, device_t dev, int index, int *irq)
+{
+	device_t bus;
+
+	bus = device_get_parent(pcib);
+	return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, index, irq));
+}
+
 static const char *
 legacy_pcib_is_host_bridge(int bus, int slot, int func,
 			  uint32_t id, uint8_t class, uint8_t subclass,
@@ -322,9 +344,9 @@
 	DEVMETHOD(pcib_read_config,	legacy_pcib_read_config),
 	DEVMETHOD(pcib_write_config,	legacy_pcib_write_config),
 	DEVMETHOD(pcib_route_interrupt,	legacy_pcib_route_interrupt),
-	DEVMETHOD(pcib_alloc_msi,	pcib_alloc_msi),
+	DEVMETHOD(pcib_alloc_msi,	legacy_pcib_alloc_msi),
 	DEVMETHOD(pcib_release_msi,	pcib_release_msi),
-	DEVMETHOD(pcib_alloc_msix,	pcib_alloc_msix),
+	DEVMETHOD(pcib_alloc_msix,	legacy_pcib_alloc_msix),
 	DEVMETHOD(pcib_release_msix,	pcib_release_msix),
 
 	{ 0, 0 }

==== //depot/projects/powerpc/sys/dev/aac/aac_pci.c#5 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/aac/aac_pci.c,v 1.60 2006/11/03 04:57:23 scottl Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/aac/aac_pci.c,v 1.61 2006/12/11 18:28:28 mjacob Exp $");
 
 /*
  * PCI bus interface and resource allocation.
@@ -82,6 +82,8 @@
 static devclass_t	aac_devclass;
 
 DRIVER_MODULE(aac, pci, aac_pci_driver, aac_devclass, 0, 0);
+MODULE_DEPEND(aac, pci, 1, 1, 1);
+
 
 struct aac_ident
 {

==== //depot/projects/powerpc/sys/dev/acpica/acpi_pcib_acpi.c#2 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pcib_acpi.c,v 1.51 2006/11/13 21:47:30 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pcib_acpi.c,v 1.52 2006/12/12 19:27:00 jhb Exp $");
 
 #include "opt_acpi.h"
 #include <sys/param.h>
@@ -74,6 +74,10 @@
 			    int func, int reg, uint32_t data, int bytes);
 static int		acpi_pcib_acpi_route_interrupt(device_t pcib,
 			    device_t dev, int pin);
+static int		acpi_pcib_alloc_msi(device_t pcib, device_t dev,
+			    int count, int maxcount, int *irqs);
+static int		acpi_pcib_alloc_msix(device_t pcib, device_t dev,
+			    int index, int *irq);
 static struct resource *acpi_pcib_acpi_alloc_resource(device_t dev,
 			    device_t child, int type, int *rid,
 			    u_long start, u_long end, u_long count,
@@ -103,9 +107,9 @@
     DEVMETHOD(pcib_read_config,		acpi_pcib_read_config),
     DEVMETHOD(pcib_write_config,	acpi_pcib_write_config),
     DEVMETHOD(pcib_route_interrupt,	acpi_pcib_acpi_route_interrupt),
-    DEVMETHOD(pcib_alloc_msi,		pcib_alloc_msi),
+    DEVMETHOD(pcib_alloc_msi,		acpi_pcib_alloc_msi),
     DEVMETHOD(pcib_release_msi,		pcib_release_msi),
-    DEVMETHOD(pcib_alloc_msix,		pcib_alloc_msix),
+    DEVMETHOD(pcib_alloc_msix,		acpi_pcib_alloc_msix),
     DEVMETHOD(pcib_release_msix,	pcib_release_msix),
 
     {0, 0}
@@ -306,6 +310,26 @@
     return (acpi_pcib_route_interrupt(pcib, dev, pin, &sc->ap_prt));
 }
 
+static int
+acpi_pcib_alloc_msi(device_t pcib, device_t dev, int count, int maxcount,
+    int *irqs)
+{
+	device_t bus;
+
+	bus = device_get_parent(pcib);
+	return (PCIB_ALLOC_MSI(device_get_parent(bus), dev, count, maxcount,
+	    irqs));
+}
+
+static int
+acpi_pcib_alloc_msix(device_t pcib, device_t dev, int index, int *irq)
+{
+	device_t bus;
+
+	bus = device_get_parent(pcib);
+	return (PCIB_ALLOC_MSIX(device_get_parent(bus), dev, index, irq));
+}
+
 static u_long acpi_host_mem_start = 0x80000000;
 TUNABLE_ULONG("hw.acpi.host_mem_start", &acpi_host_mem_start);
 

==== //depot/projects/powerpc/sys/dev/advansys/adv_eisa.c#4 (text+ko) ====

@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/advansys/adv_eisa.c,v 1.19 2006/02/04 22:33:08 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/advansys/adv_eisa.c,v 1.20 2006/12/11 18:28:28 mjacob Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -351,3 +351,4 @@
 
 static devclass_t adv_eisa_devclass;
 DRIVER_MODULE(adv, eisa, adv_eisa_driver, adv_eisa_devclass, 0, 0);
+MODULE_DEPEND(adv, eisa, 1, 1, 1);

==== //depot/projects/powerpc/sys/dev/advansys/adv_isa.c#4 (text+ko) ====

@@ -46,7 +46,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/advansys/adv_isa.c,v 1.29 2005/07/13 15:44:53 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/advansys/adv_isa.c,v 1.30 2006/12/11 18:28:28 mjacob Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h> 
@@ -430,3 +430,4 @@
 
 static devclass_t adv_isa_devclass;
 DRIVER_MODULE(adv, isa, adv_isa_driver, adv_isa_devclass, 0, 0);
+MODULE_DEPEND(adv, isa, 1, 1, 1);


>>> TRUNCATED FOR MAIL (1000 lines) <<<



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200612130159.kBD1xM6e063610>