PERFORCE change 111583 for review
Marcel Moolenaar
marcel at FreeBSD.org
Tue Dec 12 17:59:25 PST 2006
http://perforce.freebsd.org/chv.cgi?CH=111583
Change 111583 by marcel at 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) <<<
More information about the p4-projects
mailing list