PERFORCE change 31303 for review
Marcel Moolenaar
marcel at FreeBSD.org
Fri May 16 00:13:14 PDT 2003
http://perforce.freebsd.org/chv.cgi?CH=31303
Change 31303 by marcel at marcel_nfs on 2003/05/16 00:12:48
IFC @31302
Affected files ...
.. //depot/projects/ia64/Makefile.inc1#60 integrate
.. //depot/projects/ia64/lib/libc/gen/opendir.c#4 integrate
.. //depot/projects/ia64/lib/libthr/thread/thr_cancel.c#2 integrate
.. //depot/projects/ia64/lib/libthr/thread/thr_cond.c#2 integrate
.. //depot/projects/ia64/share/man/man4/kame.4#3 integrate
.. //depot/projects/ia64/share/syscons/keymaps/INDEX.keymaps#5 integrate
.. //depot/projects/ia64/share/syscons/keymaps/Makefile#8 integrate
.. //depot/projects/ia64/share/syscons/keymaps/be.iso.kbd#2 integrate
.. //depot/projects/ia64/share/syscons/keymaps/fr.dvorak.kbd#1 branch
.. //depot/projects/ia64/share/syscons/keymaps/norwegian.dvorak.kbd#2 integrate
.. //depot/projects/ia64/sys/boot/forth/loader.conf#16 integrate
.. //depot/projects/ia64/sys/cam/scsi/scsi_da.c#44 integrate
.. //depot/projects/ia64/sys/conf/files.amd64#5 integrate
.. //depot/projects/ia64/sys/conf/ldscript.ia64#8 integrate
.. //depot/projects/ia64/sys/dev/fxp/if_fxp.c#31 integrate
.. //depot/projects/ia64/sys/dev/gem/if_gem.c#14 integrate
.. //depot/projects/ia64/sys/dev/gem/if_gemvar.h#8 integrate
.. //depot/projects/ia64/sys/dev/sio/sio_isa.c#15 integrate
.. //depot/projects/ia64/sys/dev/usb/umass.c#26 integrate
.. //depot/projects/ia64/sys/i386/i386/vm_machdep.c#24 integrate
.. //depot/projects/ia64/sys/ia64/ia64/pmap.c#60 integrate
.. //depot/projects/ia64/sys/kern/kern_descrip.c#53 integrate
.. //depot/projects/ia64/sys/kern/kern_sig.c#51 integrate
.. //depot/projects/ia64/sys/kern/subr_mbuf.c#26 integrate
.. //depot/projects/ia64/sys/netgraph/ng_bridge.c#9 integrate
.. //depot/projects/ia64/sys/nfsclient/nfs_bio.c#13 integrate
.. //depot/projects/ia64/sys/nfsclient/nfs_vnops.c#21 integrate
.. //depot/projects/ia64/sys/pci/if_dc.c#35 integrate
.. //depot/projects/ia64/sys/ufs/ufs/ufs_extattr.c#16 integrate
.. //depot/projects/ia64/tools/tools/tinderbox/Makefile#3 integrate
.. //depot/projects/ia64/tools/tools/tinderbox/tbmaster.pl#8 integrate
.. //depot/projects/ia64/tools/tools/tinderbox/tinderbox.pl#7 integrate
.. //depot/projects/ia64/tools/tools/tinderbox/www/Makefile#1 branch
.. //depot/projects/ia64/tools/tools/tinderbox/www/index.cgi#2 integrate
.. //depot/projects/ia64/tools/tools/tinderbox/www/tb.css#2 integrate
.. //depot/projects/ia64/usr.bin/netstat/mbuf.c#4 integrate
Differences ...
==== //depot/projects/ia64/Makefile.inc1#60 (text+ko) ====
@@ -1,5 +1,5 @@
#
-# $FreeBSD: src/Makefile.inc1,v 1.356 2003/05/05 12:54:26 bde Exp $
+# $FreeBSD: src/Makefile.inc1,v 1.357 2003/05/15 17:59:32 ru Exp $
#
# Make command line options:
# -DNO_KERBEROS Do not build Heimdal (Kerberos 5)
@@ -120,7 +120,8 @@
MAKEOBJDIRPREFIX?= /usr/obj
.if !defined(OSRELDATE)
-OSRELDATE!= sysctl -n kern.osreldate
+OSRELDATE!= awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \
+ /usr/include/osreldate.h
.endif
TARGET_ARCH?= ${MACHINE_ARCH}
.if ${TARGET_ARCH} == ${MACHINE_ARCH}
==== //depot/projects/ia64/lib/libc/gen/opendir.c#4 (text+ko) ====
@@ -35,7 +35,7 @@
static char sccsid[] = "@(#)opendir.c 8.8 (Berkeley) 5/1/95";
#endif /* LIBC_SCCS and not lint */
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gen/opendir.c,v 1.19 2003/01/04 00:18:50 tjr Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/opendir.c,v 1.20 2003/05/16 02:15:07 tjr Exp $");
#include "namespace.h"
#include <sys/param.h>
@@ -118,7 +118,7 @@
if (_fstatfs(fd, &sfb) < 0)
goto fail;
- unionstack = !strcmp(sfb.f_fstypename, "union")
+ unionstack = !strcmp(sfb.f_fstypename, "unionfs")
|| (sfb.f_flags & MNT_UNION);
} else {
unionstack = 0;
==== //depot/projects/ia64/lib/libthr/thread/thr_cancel.c#2 (text+ko) ====
@@ -1,11 +1,16 @@
/*
* David Leonard <d at openbsd.org>, 1999. Public domain.
- * $FreeBSD: src/lib/libthr/thread/thr_cancel.c,v 1.2 2003/04/02 03:05:39 jeff Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_cancel.c,v 1.3 2003/05/15 17:56:18 mtm Exp $
*/
#include <sys/errno.h>
#include <pthread.h>
#include "thr_private.h"
+/*
+ * Static prototypes
+ */
+static void testcancel(void);
+
__weak_reference(_pthread_cancel, pthread_cancel);
__weak_reference(_pthread_setcancelstate, pthread_setcancelstate);
__weak_reference(_pthread_setcanceltype, pthread_setcanceltype);
@@ -16,85 +21,102 @@
{
int ret;
- if ((ret = _find_thread(pthread)) != 0) {
- /* NOTHING */
- } else if (pthread->state == PS_DEAD || pthread->state == PS_DEADLOCK
+ if ((ret = _find_thread(pthread)) != 0)
+ /* The thread is not on the list of active threads */
+ goto out;
+
+ _thread_critical_enter(pthread);
+
+ if (pthread->state == PS_DEAD || pthread->state == PS_DEADLOCK
|| (pthread->flags & PTHREAD_EXITING) != 0) {
+ /*
+ * The thread is in the process of (or has already) exited
+ * or is deadlocked.
+ */
+ _thread_critical_exit(pthread);
ret = 0;
- } else {
- GIANT_LOCK(curthread);
+ goto out;
+ }
+
+ /*
+ * The thread is on the active thread list and is not in the process
+ * of exiting.
+ */
+
+ if (((pthread->cancelflags & PTHREAD_CANCEL_DISABLE) != 0) ||
+ (((pthread->cancelflags & PTHREAD_CANCEL_ASYNCHRONOUS) == 0) &&
+ ((pthread->cancelflags & PTHREAD_AT_CANCEL_POINT) == 0)))
+ /* Just mark it for cancellation: */
+ pthread->cancelflags |= PTHREAD_CANCELLING;
+ else {
+ /*
+ * Check if we need to kick it back into the
+ * run queue:
+ */
+ switch (pthread->state) {
+ case PS_RUNNING:
+ /* No need to resume: */
+ pthread->cancelflags |= PTHREAD_CANCELLING;
+ break;
- if (((pthread->cancelflags & PTHREAD_CANCEL_DISABLE) != 0) ||
- (((pthread->cancelflags & PTHREAD_CANCEL_ASYNCHRONOUS) == 0) &&
- ((pthread->cancelflags & PTHREAD_AT_CANCEL_POINT) == 0)))
- /* Just mark it for cancellation: */
+ case PS_SLEEP_WAIT:
+ case PS_WAIT_WAIT:
pthread->cancelflags |= PTHREAD_CANCELLING;
- else {
+ PTHREAD_NEW_STATE(pthread, PS_RUNNING);
+ break;
+
+ case PS_JOIN:
/*
- * Check if we need to kick it back into the
- * run queue:
+ * Disconnect the thread from the joinee:
*/
- switch (pthread->state) {
- case PS_RUNNING:
- /* No need to resume: */
- pthread->cancelflags |= PTHREAD_CANCELLING;
- break;
+ if (pthread->join_status.thread != NULL) {
+ pthread->join_status.thread->joiner
+ = NULL;
+ pthread->join_status.thread = NULL;
+ }
+ pthread->cancelflags |= PTHREAD_CANCELLING;
+ PTHREAD_NEW_STATE(pthread, PS_RUNNING);
+ break;
- case PS_SLEEP_WAIT:
- case PS_WAIT_WAIT:
- pthread->cancelflags |= PTHREAD_CANCELLING;
- PTHREAD_NEW_STATE(pthread, PS_RUNNING);
- break;
+ case PS_MUTEX_WAIT:
+ case PS_COND_WAIT:
+ /*
+ * Threads in these states may be in queues.
+ * In order to preserve queue integrity, the
+ * cancelled thread must remove itself from the
+ * queue. When the thread resumes, it will
+ * remove itself from the queue and call the
+ * cancellation routine.
+ */
+ pthread->cancelflags |= PTHREAD_CANCELLING;
+ PTHREAD_NEW_STATE(pthread, PS_RUNNING);
+ break;
- case PS_JOIN:
- /*
- * Disconnect the thread from the joinee:
- */
- if (pthread->join_status.thread != NULL) {
- pthread->join_status.thread->joiner
- = NULL;
- pthread->join_status.thread = NULL;
- }
- pthread->cancelflags |= PTHREAD_CANCELLING;
- PTHREAD_NEW_STATE(pthread, PS_RUNNING);
- break;
-
- case PS_MUTEX_WAIT:
- case PS_COND_WAIT:
- /*
- * Threads in these states may be in queues.
- * In order to preserve queue integrity, the
- * cancelled thread must remove itself from the
- * queue. When the thread resumes, it will
- * remove itself from the queue and call the
- * cancellation routine.
- */
- pthread->cancelflags |= PTHREAD_CANCELLING;
- PTHREAD_NEW_STATE(pthread, PS_RUNNING);
- break;
-
- case PS_DEAD:
- case PS_DEADLOCK:
- case PS_STATE_MAX:
- /* Ignore - only here to silence -Wall: */
- break;
- }
+ case PS_DEAD:
+ case PS_DEADLOCK:
+ case PS_STATE_MAX:
+ /* Ignore - only here to silence -Wall: */
+ break;
}
+ }
- /* Unprotect the scheduling queues: */
- GIANT_UNLOCK(curthread);
+ /* Unprotect the scheduling queues: */
+ _thread_critical_exit(pthread);
- ret = 0;
- }
+ ret = 0;
+out:
return (ret);
}
int
_pthread_setcancelstate(int state, int *oldstate)
{
- int ostate;
+ int ostate, ret;
+
+ ret = 0;
+
+ _thread_critical_enter(curthread);
- GIANT_LOCK(curthread);
ostate = curthread->cancelflags & PTHREAD_CANCEL_DISABLE;
switch (state) {
@@ -102,23 +124,21 @@
if (oldstate != NULL)
*oldstate = ostate;
curthread->cancelflags &= ~PTHREAD_CANCEL_DISABLE;
- if ((curthread->cancelflags & PTHREAD_CANCEL_ASYNCHRONOUS) == 0)
+ if ((curthread->cancelflags & PTHREAD_CANCEL_ASYNCHRONOUS) == 0)
break;
- GIANT_UNLOCK(curthread);
- pthread_testcancel();
+ testcancel();
break;
case PTHREAD_CANCEL_DISABLE:
if (oldstate != NULL)
*oldstate = ostate;
curthread->cancelflags |= PTHREAD_CANCEL_DISABLE;
- GIANT_UNLOCK(curthread);
break;
default:
- GIANT_UNLOCK(curthread);
- return (EINVAL);
+ ret = EINVAL;
}
- return (0);
+ _thread_critical_exit(curthread);
+ return (ret);
}
int
@@ -126,37 +146,43 @@
{
int otype;
- GIANT_LOCK(curthread);
+ _thread_critical_enter(curthread);
otype = curthread->cancelflags & PTHREAD_CANCEL_ASYNCHRONOUS;
switch (type) {
case PTHREAD_CANCEL_ASYNCHRONOUS:
if (oldtype != NULL)
*oldtype = otype;
curthread->cancelflags |= PTHREAD_CANCEL_ASYNCHRONOUS;
- GIANT_UNLOCK(curthread);
- pthread_testcancel();
+ testcancel();
break;
case PTHREAD_CANCEL_DEFERRED:
if (oldtype != NULL)
*oldtype = otype;
curthread->cancelflags &= ~PTHREAD_CANCEL_ASYNCHRONOUS;
- GIANT_UNLOCK(curthread);
break;
default:
- GIANT_UNLOCK(curthread);
return (EINVAL);
}
+ _thread_critical_exit(curthread);
return (0);
}
-/*
- * XXXTHR Make an internal locked version.
- */
void
_pthread_testcancel(void)
{
- GIANT_LOCK(curthread);
+ _thread_critical_enter(curthread);
+ testcancel();
+ _thread_critical_exit(curthread);
+}
+
+static void
+testcancel()
+{
+ /*
+ * This pthread should already be locked by the caller.
+ */
+
if (((curthread->cancelflags & PTHREAD_CANCEL_DISABLE) == 0) &&
((curthread->cancelflags & PTHREAD_CANCELLING) != 0) &&
((curthread->flags & PTHREAD_EXITING) == 0)) {
@@ -166,30 +192,28 @@
* to be cancelled again.
*/
curthread->cancelflags &= ~PTHREAD_CANCELLING;
- GIANT_UNLOCK(curthread);
+ _thread_critical_exit(curthread);
_thread_exit_cleanup();
pthread_exit(PTHREAD_CANCELED);
PANIC("cancel");
}
- GIANT_UNLOCK(curthread);
}
void
_thread_enter_cancellation_point(void)
{
- pthread_testcancel();
-
- GIANT_LOCK(curthread);
+ _thread_critical_enter(curthread);
+ testcancel();
curthread->cancelflags |= PTHREAD_AT_CANCEL_POINT;
- GIANT_UNLOCK(curthread);
+ _thread_critical_exit(curthread);
}
void
_thread_leave_cancellation_point(void)
{
- GIANT_LOCK(curthread);
+ _thread_critical_enter(curthread);
curthread->cancelflags &= ~PTHREAD_AT_CANCEL_POINT;
- GIANT_UNLOCK(curthread);
+ testcancel();
+ _thread_critical_exit(curthread);
- pthread_testcancel();
}
==== //depot/projects/ia64/lib/libthr/thread/thr_cond.c#2 (text+ko) ====
@@ -29,7 +29,7 @@
* 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.3 2003/04/02 03:05:39 jeff Exp $
+ * $FreeBSD: src/lib/libthr/thread/thr_cond.c,v 1.4 2003/05/15 18:17:13 mtm Exp $
*/
#include <stdlib.h>
#include <errno.h>
@@ -43,6 +43,8 @@
static pthread_t cond_queue_deq(pthread_cond_t);
static void cond_queue_remove(pthread_cond_t, pthread_t);
static void cond_queue_enq(pthread_cond_t, pthread_t);
+static int cond_wait_common(pthread_cond_t *,
+ pthread_mutex_t *, const struct timespec *);
__weak_reference(_pthread_cond_init, pthread_cond_init);
__weak_reference(_pthread_cond_destroy, pthread_cond_destroy);
@@ -161,13 +163,8 @@
_pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)
{
int rval;
- struct timespec abstime = { 0, 0 };
- /*
- * XXXTHR This is a hack. Make a pthread_cond_common function that
- * accepts NULL so we don't change posix semantics for timedwait.
- */
- rval = pthread_cond_timedwait(cond, mutex, &abstime);
+ rval = cond_wait_common(cond, mutex, NULL);
/* This should never happen. */
if (rval == ETIMEDOUT)
@@ -180,7 +177,16 @@
_pthread_cond_timedwait(pthread_cond_t * cond, pthread_mutex_t * mutex,
const struct timespec * abstime)
{
- struct timespec *time;
+ if (abstime == NULL || abstime->tv_nsec >= 1000000000)
+ return (EINVAL);
+
+ return (cond_wait_common(cond, mutex, abstime));
+}
+
+static int
+cond_wait_common(pthread_cond_t * cond, pthread_mutex_t * mutex,
+ const struct timespec * abstime)
+{
int rval = 0;
int done = 0;
int seqno;
@@ -189,13 +195,6 @@
_thread_enter_cancellation_point();
- if (abstime == NULL || abstime->tv_nsec >= 1000000000)
- return (EINVAL);
-
- if (abstime->tv_sec == 0 && abstime->tv_nsec == 0)
- time = NULL;
- else
- time = abstime;
/*
* If the condition variable is statically initialized, perform dynamic
* initialization.
@@ -273,7 +272,7 @@
PTHREAD_SET_STATE(curthread, PS_COND_WAIT);
GIANT_UNLOCK(curthread);
- rval = _thread_suspend(curthread, time);
+ rval = _thread_suspend(curthread, (struct timespec *)abstime);
if (rval == -1) {
printf("foo");
fflush(stdout);
==== //depot/projects/ia64/share/man/man4/kame.4#3 (text+ko) ====
@@ -26,7 +26,7 @@
.\" SUCH DAMAGE.
.\"
.\" $Id: kame.4,v 1.4 1999/10/07 04:01:15 itojun Exp $
-.\" $FreeBSD: src/share/man/man4/kame.4,v 1.11 2002/07/09 20:37:18 blackend Exp $
+.\" $FreeBSD: src/share/man/man4/kame.4,v 1.12 2003/05/16 00:31:12 hmp Exp $
.\"
.Dd April 13, 1999
.Dt KAME 4
@@ -67,7 +67,6 @@
.\"
.Ss Plug and Play and protocol stack/interface configuration
.Xr ndp 8 ,
-.Xr prefix 8 ,
.Xr rrenumd 8 ,
.Xr rtadvd 8 ,
.Xr rtsol 8 ,
@@ -81,8 +80,8 @@
.Xr mchat 1
.Pq - ,
.Xr ifmcstat 8 ,
-.Xr pim6dd 8 ,
-.Xr pim6sd 8 ,
+.Xr pim6dd 8 [ /usr/ports/net/pim6dd ] ,
+.Xr pim6sd 8 [ /usr/ports/net/pim6sd ] ,
.Xr pim6stat 8 .
.\"
.Ss Transition Tools
@@ -96,12 +95,8 @@
.Fx .
.\"
.Ss IPsec and tunnelling
-.Xr gifconfig 8 ,
.Xr ipsec 4 ,
-.\" (dtcp and racoon doesn't exist yet.)
-.\" .Xr dtcpc 8 ,
-.\" .Xr dtcps 8 ,
-.\" .Xr racoon 8 ,
+.Xr racoon 8 [ /usr/ports/security/racoon ] ,
.Xr setkey 8 .
.Pp
Dozen of existing tools are modified for IPsec support, like
@@ -123,6 +118,7 @@
modified for IPv4/v6 support, or
IPv6-only
.Xr inet6d 8
+.Pq -
is supplied.
.Pp
Dozen of existing daemons are modified for IPv6/IPsec support, like
==== //depot/projects/ia64/share/syscons/keymaps/INDEX.keymaps#5 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/share/syscons/keymaps/INDEX.keymaps,v 1.46 2003/05/05 06:06:55 murray Exp $
+# $FreeBSD: src/share/syscons/keymaps/INDEX.keymaps,v 1.47 2003/05/16 03:46:53 murray Exp $
#
# database for kbdmap(8)
#
@@ -128,6 +128,11 @@
fr.iso.acc.kbd:es:Francés ISO-8859-1 (con acentos)
fr.iso.acc.kbd:uk:æÒÁÎÃÕÚØËÁ ISO-8859-1 (accent keys)
+fr.dvorak.kbd:en:French Dvorak-like
+fr.dvorak.kbd:de:Französisch Dvorak
+fr.dvorak.kbd:es:Francés Dvorak
+fr.dvorak.kbd:uk:French Dvorak-like
+
fr_CA.iso.acc.kbd:en:French Canadian ISO-8859-1 (accent keys)
fr_CA.iso.acc.kbd:de:Französisch Kanada ISO-8859-1 (mit Akzenten)
fr_CA.iso.acc.kbd:es:Francocanadiense ISO-8859-1 (con acentos)
==== //depot/projects/ia64/share/syscons/keymaps/Makefile#8 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/share/syscons/keymaps/Makefile,v 1.59 2003/05/05 06:06:55 murray Exp $
+# $FreeBSD: src/share/syscons/keymaps/Makefile,v 1.60 2003/05/16 03:46:53 murray Exp $
KEYMAPS= INDEX.keymaps
KEYMAPS+= be.iso.kbd be.iso.acc.kbd
@@ -11,7 +11,7 @@
KEYMAPS+= el.iso07.kbd
KEYMAPS+= estonian.iso.kbd estonian.iso15.kbd estonian.cp850.kbd
KEYMAPS+= finnish.iso.kbd finnish.cp850.kbd
-KEYMAPS+= fr.iso.kbd fr.iso.acc.kbd
+KEYMAPS+= fr.iso.kbd fr.iso.acc.kbd fr.dvorak.kbd
KEYMAPS+= fr_CA.iso.acc.kbd
KEYMAPS+= german.iso.kbd german.cp850.kbd
KEYMAPS+= gr.elot.acc.kbd gr.us101.acc.kbd
==== //depot/projects/ia64/share/syscons/keymaps/be.iso.kbd#2 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/share/syscons/keymaps/be.iso.kbd,v 1.11 2001/03/11 23:41:18 ache Exp $
+# $FreeBSD: src/share/syscons/keymaps/be.iso.kbd,v 1.12 2003/05/16 03:37:52 murray Exp $
# alt
# scan cntrl alt alt cntrl lock
# code base shift cntrl shift alt shift cntrl shift state
@@ -42,7 +42,7 @@
036 'j' 'J' nl nl 'j' 'J' nl nl C
037 'k' 'K' vt vt 'k' 'K' vt vt C
038 'l' 'L' ff ff 'l' 'L' ff ff C
- 039 'm' 'M' cr cr 'm' 'M' cr cr O
+ 039 'm' 'M' cr cr 'm' 'M' cr cr C
040 249 '%' nop nop ''' ''' nop nop O
041 178 179 nop nop 178 179 nop nop O
042 lshift lshift lshift lshift lshift lshift lshift lshift O
@@ -53,7 +53,7 @@
047 'v' 'V' syn syn 'v' 'V' syn syn C
048 'b' 'B' stx stx 'b' 'B' stx stx C
049 'n' 'N' so so 'n' 'N' so so C
- 050 ',' '?' nop nop ',' '?' nop nop C
+ 050 ',' '?' nop nop ',' '?' nop nop O
051 ';' '.' nop nop ';' '.' nop nop O
052 ':' '/' nop nop ':' '/' nop nop O
053 '=' '+' nop nop '~' '~' nop nop O
==== //depot/projects/ia64/share/syscons/keymaps/norwegian.dvorak.kbd#2 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/share/syscons/keymaps/norwegian.dvorak.kbd,v 1.1 2003/05/05 06:06:55 murray Exp $
+# $FreeBSD: src/share/syscons/keymaps/norwegian.dvorak.kbd,v 1.2 2003/05/16 03:34:23 murray Exp $
# alt
# scan cntrl alt alt cntrl lock
# code base shift cntrl shift alt shift cntrl shift state
@@ -11,10 +11,10 @@
005 '4' 164 nop nop '$' 164 nop nop O
006 '5' '%' nop nop '5' '%' nop nop O
007 '6' '&' rs rs '6' '&' nop nop O
- 008 '7' '/' nop nop '7' '/' nop nop O
- 009 '8' '(' nop nop '8' '(' esc esc O
- 010 '9' ')' nop nop '9' ')' gs gs O
- 011 '0' '=' nop nop '0' '=' nop nop O
+ 008 '7' '/' nop nop '{' '/' nop nop O
+ 009 '8' '(' nop nop '[' '(' esc esc O
+ 010 '9' ')' nop nop ']' ')' gs gs O
+ 011 '0' '=' nop nop '}' '=' nop nop O
012 '+' '?' esc esc '[' '?' nop nop O
013 '\' '`' nop nop ''' nop nop nop O
014 bs bs del del bs bs del del O
@@ -46,7 +46,7 @@
040 '-' '_' us us '-' '_' us us O
041 '|' 167 nop nop 166 182 nop nop O
042 lshift lshift lshift lshift lshift lshift lshift lshift O
- 043 248 216 nop nop '|' '\' nop nop C
+ 043 '<' '>' nop nop '|' '\' nop nop C
044 230 198 nop nop '{' '[' nop nop C
045 'q' 'Q' dc1 dc1 'q' 'Q' dc1 dc1 C
046 'j' 'J' nl nl 'j' 'J' nl nl C
==== //depot/projects/ia64/sys/boot/forth/loader.conf#16 (text+ko) ====
@@ -6,7 +6,7 @@
#
# All arguments must be in double quotes.
#
-# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.70 2003/03/11 12:09:25 ru Exp $
+# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.71 2003/05/16 04:31:00 murray Exp $
##############################################################
### Basic configuration options ############################
@@ -179,6 +179,7 @@
miibus_load="NO" # miibus support, needed for some drivers
if_an_load="NO" # Aironet 4500/4800 802.11 wireless NICs
if_ar_load="NO" # Digi SYNC/570i
+if_awi_load="NO" # AMD PCnetMobile IEEE 802.11 wireless NICs
if_bge_load="NO" # Broadcom BCM570x PCI gigabit ethernet
if_cm_load="NO" # SMC (90c26, 90c56, 90c66)
if_dc_load="NO" # DEC/Intel 21143 and various workalikes
@@ -186,12 +187,16 @@
if_ed_load="NO" # National Semiconductor DS8390/WD83C690 ethernet
if_el_load="NO" # 3Com Etherlink 3C501
if_em_load="NO" # Intel(R) PRO/1000 gigabit ethernet
+if_en_load="NO" # Midway-based ATM interfaces
if_ep_load="NO" # 3Com Etherlink III (3c5x9)
+if_ex_load="NO" # Intel EtherExpress Pro/10 ethernet
if_fe_load="NO" # Fujitsu MB86960A/MB86965A based Ethernet adapters
if_fxp_load="NO" # Intel EtherExpress PRO/100B (82557, 82558)
if_gx_load="NO" # Intel Pro/1000 gigabit ethernet
+if_ie_load="NO" # Intel 82586
if_lge_load="NO" # Level 1 LXT1001 NetCellerator PCI gigabit ethernet
if_lnc_load="NO" # AMD Lance/PCnet Ethernet
+if_my_load="NO" # Myson PCI fast ethernet
if_nge_load="NO" # National Semiconductor PCI gigabit ethernet
if_oltr_load="NO" # Olicom
if_pcn_load="NO" # AMD PCnet PCI
@@ -287,6 +292,7 @@
umodem_load="NO" # Modems
uscanner_load="NO" # Scanners
if_aue_load="NO" # ADMtek USB ethernet
+if_axe_load="NO" # ASIX Electronics AX88172 USB ethernet
if_cue_load="NO" # CATC USB ethernet
if_kue_load="NO" # Kawasaki LSI USB ethernet
==== //depot/projects/ia64/sys/cam/scsi/scsi_da.c#44 (text+ko) ====
@@ -25,7 +25,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.142 2003/05/03 00:21:40 ken Exp $
+ * $FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.143 2003/05/15 17:35:35 njl Exp $
*/
#ifdef _KERNEL
@@ -499,6 +499,14 @@
*/
{T_DIRECT, SIP_MEDIA_REMOVABLE, "MITSUMI", "USB FDD", "*"},
/*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE
+ },
+ {
+ /*
+ * OTi USB Flash Key
+ * PR: kern/51825
+ */
+ {T_DIRECT, SIP_MEDIA_REMOVABLE, "OTi", "Flash Disk", "*"},
+ /*quirks*/ DA_Q_NO_6_BYTE
}
};
==== //depot/projects/ia64/sys/conf/files.amd64#5 (text+ko) ====
@@ -1,7 +1,7 @@
# This file tells config what files go into building a kernel,
# files marked standard are always included.
#
-# $FreeBSD: src/sys/conf/files.amd64,v 1.14 2003/05/14 04:10:49 peter Exp $
+# $FreeBSD: src/sys/conf/files.amd64,v 1.15 2003/05/16 02:27:17 obrien Exp $
#
# The long compile-with and dependency lines are required because of
# limitations in config: backslash-newline doesn't work in strings, and
@@ -16,7 +16,7 @@
#
ia32_assym.h optional ia32 \
dependency "$S/kern/genassym.sh ia32_genassym.o" \
- compile-with "sh $S/kern/genassym.sh ia32_genassym.o > ${.TARGET}" \
+ compile-with "env NM=${NM} sh $S/kern/genassym.sh ia32_genassym.o > ${.TARGET}" \
no-obj no-implicit-rule before-depend \
clean "ia32_assym.h"
#
==== //depot/projects/ia64/sys/conf/ldscript.ia64#8 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/conf/ldscript.ia64,v 1.8 2002/12/05 18:35:44 obrien Exp $ */
+/* $FreeBSD: src/sys/conf/ldscript.ia64,v 1.9 2003/05/16 06:03:45 marcel Exp $ */
OUTPUT_FORMAT("elf64-ia64-little", "elf64-ia64-little", "elf64-ia64-little")
OUTPUT_ARCH(ia64)
ENTRY(__start)
@@ -8,107 +8,115 @@
{
/* Read-only sections, merged into text segment: */
. = kernel_text + SIZEOF_HEADERS;
-
- .text :
+ .interp : { *(.interp) }
+ .hash : { *(.hash) }
+ .dynsym : { *(.dynsym) }
+ .dynstr : { *(.dynstr) }
+ .gnu.version : { *(.gnu.version) }
+ .gnu.version_d : { *(.gnu.version_d) }
+ .gnu.version_r : { *(.gnu.version_r) }
+ .rela.init : { *(.rela.init) }
+ .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) }
+ .rela.fini : { *(.rela.fini) }
+ .rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) }
+ .rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) }
+ .rela.ctors : { *(.rela.ctors) }
+ .rela.dtors : { *(.rela.dtors) }
+ .rela.got : { *(.rela.got) }
+ .rela.sdata : { *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*) }
+ .rela.sbss : { *(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*) }
+ .rela.sdata2 : { *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*) }
+ .rela.sbss2 : { *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*) }
+ .rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) }
+ .rela.plt : { *(.rela.plt) }
+ .rela.IA_64.pltoff : { *(.rela.IA_64.pltoff) }
+ .init :
+ {
+ *(.init)
+ } =0x00300000010070000002000001000400
+ .plt : { *(.plt) }
+ .text :
{
- *(.text.ivt)
- . += 8192;
- *(.text)
- *(.stub)
+ *(.text .stub .text.* .gnu.linkonce.t.*)
/* .gnu.warning sections are handled specially by elf32.em. */
*(.gnu.warning)
- *(.gnu.linkonce.t*)
- } =0x47ff041f
- .interp : { *(.interp) }
- .hash : { *(.hash) }
- .dynsym : { *(.dynsym) }
- .dynstr : { *(.dynstr) }
- .gnu.version : { *(.gnu.version) }
- .gnu.version_d : { *(.gnu.version_d) }
- .gnu.version_r : { *(.gnu.version_r) }
- .rel.text :
- { *(.rel.text) *(.rel.gnu.linkonce.t*) }
- .rela.text :
- { *(.rela.text) *(.rela.gnu.linkonce.t*) }
- .rel.data :
- { *(.rel.data) *(.rel.gnu.linkonce.d*) }
- .rela.data :
- { *(.rela.data) *(.rela.gnu.linkonce.d*) }
- .rel.rodata :
- { *(.rel.rodata) *(.rel.gnu.linkonce.r*) }
- .rela.rodata :
- { *(.rela.rodata) *(.rela.gnu.linkonce.r*) }
- .rel.got : { *(.rel.got) }
- .rela.got : { *(.rela.got) }
- .rel.ctors : { *(.rel.ctors) }
- .rela.ctors : { *(.rela.ctors) }
- .rel.dtors : { *(.rel.dtors) }
- .rela.dtors : { *(.rela.dtors) }
- .rel.init : { *(.rel.init) }
- .rela.init : { *(.rela.init) }
- .rel.fini : { *(.rel.fini) }
- .rela.fini : { *(.rela.fini) }
- .rel.bss : { *(.rel.bss) }
- .rela.bss : { *(.rela.bss) }
- .rel.plt : { *(.rel.plt) }
- .rela.plt : { *(.rela.plt) }
- .init : { *(.init) } =0x47ff041f
+ } =0x00300000010070000002000001000400
+ .fini :
+ {
+ *(.fini)
+ } =0x00300000010070000002000001000400
_etext = .;
PROVIDE (etext = .);
- .fini : { *(.fini) } =0x47ff041f
- .rodata : { *(.rodata) *(.gnu.linkonce.r*) }
- .rodata1 : { *(.rodata1) }
- .reginfo : { *(.reginfo) }
- .IA_64.unwind_info : { *(.IA_64.unwind_info*) }
- .IA_64.unwind : { *(.IA_64.unwind*) }
+ .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
+ .rodata1 : { *(.rodata1) }
+ .sdata2 : { *(.sdata2 .sdata2.* .gnu.linkonce.s2.*) }
+ .sbss2 : { *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*) }
+ .opd : { *(.opd) }
+ .IA_64.unwind_info : { *(.IA_64.unwind_info* .gnu.linkonce.ia64unwi.*) }
+ .IA_64.unwind : { *(.IA_64.unwind* .gnu.linkonce.ia64unw.*) }
/* Adjust the address for the data segment. We want to adjust up to
the same address within the page on the next page up. */
- . = .;
- .data :
+ . = . + 8192;
+ .data :
{
- *(.data)
- *(.gnu.linkonce.d*)
- CONSTRUCTORS
+ *(.data.proc0 .data .data.* .gnu.linkonce.d.*)
+ SORT(CONSTRUCTORS)
}
- .data1 : { *(.data1) }
- .ctors :
+ .data1 : { *(.data1) }
+ .dynamic : { *(.dynamic) }
+ .ctors :
{
*(.ctors)
+ *(SORT(.ctors.*))
}
- .dtors :
+ .dtors :
{
*(.dtors)
+ *(SORT(.dtors.*))
}
- .plt : { *(.plt) }
- /* gp points at .got+(1<<21) */
- __gp = ALIGN(8) + 0x200000;
- .got : { *(.got.plt) *(.got) }
- .dynamic : { *(.dynamic) }
+ .got : { *(.got.plt) *(.got) }
+ .IA_64.pltoff : { *(.IA_64.pltoff) }
/* We want the small data sections together, so single-instruction offsets
can access them all, and initialized data all before uninitialized, so
we can shorten the on-disk segment size. */
- .sdata : { *(.sdata) }
- _edata = .;
+ .sdata :
+ {
+ *(.sdata .sdata.* .gnu.linkonce.s.*)
+ }
+ _edata = .;
PROVIDE (edata = .);
__bss_start = .;
- .sbss : { *(.sbss) *(.scommon) }
- .bss :
+ .sbss :
+ {
+ PROVIDE (__sbss_start = .);
+ PROVIDE (___sbss_start = .);
+ *(.dynsbss)
+ *(.sbss .sbss.* .gnu.linkonce.sb.*)
+ *(.scommon)
+ PROVIDE (__sbss_end = .);
+ PROVIDE (___sbss_end = .);
+ }
+ .bss :
{
*(.dynbss)
- *(.bss)
+ *(.bss .bss.* .gnu.linkonce.b.*)
*(COMMON)
+ /* Align here to ensure that the .bss section occupies space up to
+ _end. Align after .bss to ensure correct alignment even if the
+ .bss section disappears because there are no input sections. */
+ . = ALIGN(64 / 8);
}
. = ALIGN(64 / 8);
- _end = . ;
+ _end = .;
PROVIDE (end = .);
/* Stabs debugging sections. */
- .stab 0 : { *(.stab) }
- .stabstr 0 : { *(.stabstr) }
- .stab.excl 0 : { *(.stab.excl) }
- .stab.exclstr 0 : { *(.stab.exclstr) }
- .stab.index 0 : { *(.stab.index) }
+ .stab 0 : { *(.stab) }
+ .stabstr 0 : { *(.stabstr) }
+ .stab.excl 0 : { *(.stab.excl) }
+ .stab.exclstr 0 : { *(.stab.exclstr) }
+ .stab.index 0 : { *(.stab.index) }
.stab.indexstr 0 : { *(.stab.indexstr) }
- .comment 0 : { *(.comment) }
+ .comment 0 : { *(.comment) }
/* DWARF debug sections.
Symbols in the DWARF debugging sections are relative to the beginning
of the section so we begin them at 0. */
@@ -122,7 +130,7 @@
.debug_aranges 0 : { *(.debug_aranges) }
.debug_pubnames 0 : { *(.debug_pubnames) }
/* DWARF 2 */
- .debug_info 0 : { *(.debug_info) }
+ .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
.debug_abbrev 0 : { *(.debug_abbrev) }
.debug_line 0 : { *(.debug_line) }
.debug_frame 0 : { *(.debug_frame) }
@@ -134,6 +142,4 @@
.debug_funcnames 0 : { *(.debug_funcnames) }
.debug_typenames 0 : { *(.debug_typenames) }
.debug_varnames 0 : { *(.debug_varnames) }
- /* These must appear regardless of . */
}
-
==== //depot/projects/ia64/sys/dev/fxp/if_fxp.c#31 (text+ko) ====
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/fxp/if_fxp.c,v 1.178 2003/04/30 04:14:56 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/fxp/if_fxp.c,v 1.179 2003/05/16 01:13:16 rwatson Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -264,6 +264,10 @@
static int fxp_rnr;
SYSCTL_INT(_hw, OID_AUTO, fxp_rnr, CTLFLAG_RW, &fxp_rnr, 0, "fxp rnr events");
+static int fxp_noflow;
+SYSCTL_INT(_hw, OID_AUTO, fxp_noflow, CTLFLAG_RW, &fxp_noflow, 0, "fxp flow control disabled");
+TUNABLE_INT("hw.fxp_noflow", &fxp_noflow);
+
/*
* Wait for the previous command to be accepted (but not necessarily
* completed).
@@ -2051,7 +2055,7 @@
cbp->mc_all = sc->flags & FXP_FLAG_ALL_MCAST ? 1 : 0;
cbp->gamla_rx = sc->flags & FXP_FLAG_EXT_RFA ? 1 : 0;
- if (sc->revision == FXP_REV_82557) {
+ if (fxp_noflow || sc->revision == FXP_REV_82557) {
/*
* The 82557 has no hardware flow control, the values
* below are the defaults for the chip.
==== //depot/projects/ia64/sys/dev/gem/if_gem.c#14 (text+ko) ====
@@ -26,14 +26,16 @@
*
* from: NetBSD: gem.c,v 1.21 2002/06/01 23:50:58 lukem Exp
*
- * $FreeBSD: src/sys/dev/gem/if_gem.c,v 1.15 2003/02/19 05:47:05 imp Exp $
+ * $FreeBSD: src/sys/dev/gem/if_gem.c,v 1.16 2003/05/15 16:57:55 tmm Exp $
*/
/*
* Driver for Sun GEM ethernet controllers.
*/
+#if 0
#define GEM_DEBUG
+#endif
#include <sys/param.h>
#include <sys/systm.h>
@@ -109,7 +111,7 @@
#define KTR_GEM KTR_CT2
#endif
-#define GEM_NSEGS GEM_NTXSEGS
+#define GEM_NSEGS GEM_NTXDESC
/*
* gem_attach:
@@ -144,7 +146,7 @@
error = bus_dma_tag_create(sc->sc_pdmatag, 1, 0,
BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL,
- GEM_TD_BUFSIZE, GEM_NTXSEGS, BUS_SPACE_MAXSIZE_32BIT,
+ GEM_TD_BUFSIZE, GEM_NTXDESC, BUS_SPACE_MAXSIZE_32BIT,
BUS_DMA_ALLOCNOW, &sc->sc_tdmatag);
if (error)
goto fail_rtag;
@@ -470,10 +472,12 @@
*/
for (seg = 0; seg < nsegs;
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list