Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Apr 2002 10:43:22 -0700 (PDT)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 9519 for review
Message-ID:  <200204101743.g3AHhMO40998@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://people.freebsd.org/~peter/p4db/chv.cgi?CH=9519

Change 9519 by jhb@jhb_laptop on 2002/04/10 10:42:23

	IFC.

Affected files ...

... //depot/projects/smpng/sys/alpha/include/ansi.h#11 integrate
... //depot/projects/smpng/sys/alpha/include/endian.h#7 integrate
... //depot/projects/smpng/sys/boot/common/interp_forth.c#4 integrate
... //depot/projects/smpng/sys/conf/NOTES#5 integrate
... //depot/projects/smpng/sys/dev/ata/ata-all.c#19 integrate
... //depot/projects/smpng/sys/dev/ata/ata-raid.c#11 integrate
... //depot/projects/smpng/sys/dev/digi/CX.c#2 integrate
... //depot/projects/smpng/sys/dev/digi/CX_PCI.c#2 integrate
... //depot/projects/smpng/sys/dev/digi/EPCX.c#2 integrate
... //depot/projects/smpng/sys/dev/digi/EPCX_PCI.c#2 integrate
... //depot/projects/smpng/sys/dev/digi/Xe.c#2 integrate
... //depot/projects/smpng/sys/dev/digi/Xem.c#2 integrate
... //depot/projects/smpng/sys/dev/digi/Xr.c#2 integrate
... //depot/projects/smpng/sys/dev/digi/digi.c#13 integrate
... //depot/projects/smpng/sys/dev/digi/digi.h#5 integrate
... //depot/projects/smpng/sys/dev/digi/digi_isa.c#4 integrate
... //depot/projects/smpng/sys/dev/pci/pci.c#10 integrate
... //depot/projects/smpng/sys/dev/snp/snp.c#8 integrate
... //depot/projects/smpng/sys/dev/usb/umass.c#13 integrate
... //depot/projects/smpng/sys/i386/include/ansi.h#11 integrate
... //depot/projects/smpng/sys/i386/include/endian.h#8 integrate
... //depot/projects/smpng/sys/ia64/ia64/exception.s#18 integrate
... //depot/projects/smpng/sys/ia64/ia64/pmap.c#26 integrate
... //depot/projects/smpng/sys/ia64/include/ansi.h#11 integrate
... //depot/projects/smpng/sys/ia64/include/endian.h#7 integrate
... //depot/projects/smpng/sys/kern/kern_linker.c#19 integrate
... //depot/projects/smpng/sys/kern/kern_time.c#13 integrate
... //depot/projects/smpng/sys/kern/subr_witness.c#42 integrate
... //depot/projects/smpng/sys/net/if.c#22 integrate
... //depot/projects/smpng/sys/netinet/in.c#12 integrate
... //depot/projects/smpng/sys/netinet/in.h#10 integrate
... //depot/projects/smpng/sys/netinet6/in6.h#4 integrate
... //depot/projects/smpng/sys/powerpc/include/ansi.h#11 integrate
... //depot/projects/smpng/sys/powerpc/include/endian.h#6 integrate
... //depot/projects/smpng/sys/sparc64/include/ansi.h#12 integrate
... //depot/projects/smpng/sys/sparc64/include/endian.h#7 integrate
... //depot/projects/smpng/sys/sys/ioccom.h#5 integrate
... //depot/projects/smpng/sys/sys/linker.h#5 integrate
... //depot/projects/smpng/sys/sys/param.h#20 integrate
... //depot/projects/smpng/sys/sys/types.h#12 integrate
... //depot/projects/smpng/sys/vm/uma_core.c#8 integrate

Differences ...

==== //depot/projects/smpng/sys/alpha/include/ansi.h#11 (text+ko) ====

@@ -32,7 +32,7 @@
  *
  *	@(#)ansi.h	8.2 (Berkeley) 1/4/94
  *	From: NetBSD: ansi.h,v 1.9 1997/11/23 20:20:53 kleink Exp
- * $FreeBSD: src/sys/alpha/include/ansi.h,v 1.26 2002/03/24 11:25:44 obrien Exp $
+ * $FreeBSD: src/sys/alpha/include/ansi.h,v 1.27 2002/04/10 15:58:11 mike Exp $
  */
 
 #ifndef	_MACHINE_ANSI_H_
@@ -53,6 +53,7 @@
 #define	_BSD_MBSTATE_T_	__mbstate_t		/* mbstate_t */
 #define	_BSD_PTRDIFF_T_	long			/* ptr1 - ptr2 */
 #define	_BSD_RUNE_T_	_BSD_CT_RUNE_T_		/* rune_t (see below) */
+#define	_BSD_SEGSZ_T_	__int64_t		/* segment size (in pages) */
 #define	_BSD_SIZE_T_	unsigned long		/* sizeof() */
 #define	_BSD_SOCKLEN_T_	__uint32_t		/* socklen_t (duh) */
 #define	_BSD_SSIZE_T_	long			/* byte count or error */

==== //depot/projects/smpng/sys/alpha/include/endian.h#7 (text+ko) ====

@@ -32,7 +32,7 @@
  *
  *	@(#)endian.h	8.1 (Berkeley) 6/10/93
  *	$NetBSD: endian.h,v 1.5 1997/10/09 15:42:19 bouyer Exp $
- * $FreeBSD: src/sys/alpha/include/endian.h,v 1.9 2002/03/09 21:02:11 mike Exp $
+ * $FreeBSD: src/sys/alpha/include/endian.h,v 1.10 2002/04/10 14:39:12 mike Exp $
  */
 
 #ifndef _MACHINE_ENDIAN_H_
@@ -46,17 +46,26 @@
 #define _QUAD_HIGHWORD 1
 #define _QUAD_LOWWORD 0
 
-#ifndef _POSIX_SOURCE
 /*
  * Definitions for byte order, according to byte significance from low
  * address to high.
  */
-#define	LITTLE_ENDIAN	1234	/* LSB first: i386, vax */
-#define	BIG_ENDIAN	4321	/* MSB first: 68000, ibm, net */
-#define	PDP_ENDIAN	3412	/* LSB first in word, MSW first in long */
+#define	_LITTLE_ENDIAN	1234	/* LSB first: i386, vax */
+#define	_BIG_ENDIAN	4321	/* MSB first: 68000, ibm, net */
+#define	_PDP_ENDIAN	3412	/* LSB first in word, MSW first in long */
+
+#define	_BYTE_ORDER	_LITTLE_ENDIAN
 
-#define	BYTE_ORDER	LITTLE_ENDIAN
-#endif /* !_POSIX_SOURCE */
+/*
+ * Deprecated variants that don't have enough underscores to be useful in more
+ * strict namespaces.
+ */
+#if __BSD_VISIBLE
+#define	LITTLE_ENDIAN	_LITTLE_ENDIAN
+#define	BIG_ENDIAN	_BIG_ENDIAN
+#define	PDP_ENDIAN	_PDP_ENDIAN
+#define	BYTE_ORDER	_BYTE_ORDER
+#endif
 
 #ifdef __GNUC__
 

==== //depot/projects/smpng/sys/boot/common/interp_forth.c#4 (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/boot/common/interp_forth.c,v 1.21 2001/12/10 08:09:40 obrien Exp $
+ * $FreeBSD: src/sys/boot/common/interp_forth.c,v 1.22 2002/04/09 20:59:34 dcs Exp $
  */
 
 #include <sys/param.h>		/* to pick up __FreeBSD_version */
@@ -53,6 +53,7 @@
  * BootForth   Interface to Ficl Forth interpreter.
  */
 
+FICL_SYSTEM *bf_sys;
 FICL_VM	*bf_vm;
 FICL_WORD *pInterp;
 
@@ -232,8 +233,8 @@
     char create_buf[41];	/* 31 characters-long builtins */
     int fd;
    
-    ficlInitSystem(10000);	/* Default dictionary ~4000 cells */
-    bf_vm = ficlNewVM();
+    bf_sys = ficlInitSystem(10000);	/* Default dictionary ~4000 cells */
+    bf_vm = ficlNewVM(bf_sys);
 
     /* Put all private definitions in a "builtins" vocabulary */
     ficlExec(bf_vm, "vocabulary builtins also builtins definitions");
@@ -243,7 +244,7 @@
 
     /* make all commands appear as Forth words */
     SET_FOREACH(cmdp, Xcommand_set) {
-	ficlBuild((*cmdp)->c_name, bf_command, FW_DEFAULT);
+	ficlBuild(bf_sys, (char *)(*cmdp)->c_name, bf_command, FW_DEFAULT);
 	ficlExec(bf_vm, "forth definitions builtins");
 	sprintf(create_buf, "builtin: %s", (*cmdp)->c_name);
 	ficlExec(bf_vm, create_buf);
@@ -252,8 +253,8 @@
     ficlExec(bf_vm, "only forth definitions");
 
     /* Export some version numbers so that code can detect the loader/host version */
-    ficlSetEnv("FreeBSD_version", __FreeBSD_version);
-    ficlSetEnv("loader_version", 
+    ficlSetEnv(bf_sys, "FreeBSD_version", __FreeBSD_version);
+    ficlSetEnv(bf_sys, "loader_version", 
 	       (bootprog_rev[0] - '0') * 10 + (bootprog_rev[2] - '0'));
 
     /* try to load and run init file if present */
@@ -263,7 +264,7 @@
     }
 
     /* Do this last, so /boot/boot.4th can change it */
-    pInterp = ficlLookup("interpret");
+    pInterp = ficlLookup(bf_sys, "interpret");
 }
 
 /*

==== //depot/projects/smpng/sys/conf/NOTES#5 (text+ko) ====

@@ -14,7 +14,7 @@
 # This file contains machine independent kernel configuration notes.  For
 # machine dependent notes, look in /sys/<arch>/conf/NOTES.
 #
-# $FreeBSD: src/sys/conf/NOTES,v 1.1019 2002/04/09 18:26:49 jhb Exp $
+# $FreeBSD: src/sys/conf/NOTES,v 1.1020 2002/04/10 17:27:52 brian Exp $
 #
 
 #
@@ -1767,7 +1767,7 @@
 hint.digi.0.at="isa"
 hint.digi.0.port="0x104"
 hint.digi.0.maddr="0xd0000"
-# BIOS & FEP/OS components of device digi.  Normally left as modules
+# BIOS & FEP/OS components of device digi.
 device		digi_CX
 device		digi_CX_PCI
 device		digi_EPCX

==== //depot/projects/smpng/sys/dev/ata/ata-all.c#19 (text+ko) ====

@@ -25,7 +25,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/sys/dev/ata/ata-all.c,v 1.148 2002/04/05 18:37:04 sos Exp $
+ * $FreeBSD: src/sys/dev/ata/ata-all.c,v 1.149 2002/04/10 11:18:07 sos Exp $
  */
 
 #include "opt_ata.h"
@@ -406,7 +406,7 @@
 	    iocmd->u.enclosure.temp = temp;
 	    iocmd->u.enclosure.v05 = ata_drawersensor(atadev, 0, 0x23, 0) * 27;
 	    iocmd->u.enclosure.v12 = ata_drawersensor(atadev, 0, 0x24, 0) * 61;
-	
+
 	    ATA_UNLOCK_CH(ch);
 	    return 0;
 	}

==== //depot/projects/smpng/sys/dev/ata/ata-raid.c#11 (text+ko) ====

@@ -25,7 +25,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/sys/dev/ata/ata-raid.c,v 1.44 2002/04/02 13:47:23 sos Exp $
+ * $FreeBSD: src/sys/dev/ata/ata-raid.c,v 1.45 2002/04/10 11:18:07 sos Exp $
  */
 
 #include "opt_ata.h"
@@ -97,11 +97,12 @@
 		continue;
    
 	    for (disk = 0; disk < rdp->total_disks; disk++) {
-		if (rdp->disks[disk].device == adp->device) {
+		if ((rdp->disks[disk].flags & AR_DF_ASSIGNED) &&
+		    rdp->disks[disk].device == adp->device) {
 		    ata_prtdev(rdp->disks[disk].device,
 			       "inserted into ar%d disk%d as spare\n",
 			       array, disk);
-		    rdp->disks[disk].flags = (AR_DF_PRESENT | AR_DF_SPARE);
+		    rdp->disks[disk].flags |= (AR_DF_PRESENT | AR_DF_SPARE);
 		    AD_SOFTC(rdp->disks[disk])->flags = AD_F_RAID_SUBDISK;
 		    ar_config_changed(rdp, 1);
 		    return 1;
@@ -216,18 +217,19 @@
     }
     printf(" subdisks:\n");
     for (disk = 0; disk < rdp->total_disks; disk++) {
-	if (rdp->disks[disk].flags & AR_DF_ONLINE)
-	    printf(" %d READY ", disk);
+	if (rdp->disks[disk].flags & AR_DF_PRESENT) {
+	    if (rdp->disks[disk].flags & AR_DF_ONLINE)
+		printf(" %d READY ", disk);
+	    else if (rdp->disks[disk].flags & AR_DF_SPARE)
+		printf(" %d SPARE ", disk);
+	    else
+		printf(" %d FREE  ", disk);
+	    ad_print(AD_SOFTC(rdp->disks[disk]));
+	}
 	else if (rdp->disks[disk].flags & AR_DF_ASSIGNED)
-	    printf(" %d DOWN  ", disk);
-	else if (rdp->disks[disk].flags & AR_DF_SPARE)
-	    printf(" %d SPARE ", disk);
-	else if (rdp->disks[disk].flags & AR_DF_PRESENT)
-	    printf(" %d FREE  ", disk);
+	    printf(" %d DOWN\n", disk);
 	else
 	    printf(" %d INVALID no RAID config info on this disk\n", disk);
-	if (rdp->disks[disk].flags & AR_DF_PRESENT)
-	    ad_print(AD_SOFTC(rdp->disks[disk]));
     }
 }
 
@@ -286,7 +288,8 @@
 		break;
 	    }
 	    if (rdp->flags & (AR_F_PROMISE_RAID|AR_F_HIGHPOINT_RAID) &&
-		(rdp->flags & (AR_F_PROMISE_RAID|AR_F_HIGHPOINT_RAID)) != ctlr){
+		(rdp->flags & (AR_F_PROMISE_RAID|AR_F_HIGHPOINT_RAID)) !=
+		 (ctlr & (AR_F_PROMISE_RAID|AR_F_HIGHPOINT_RAID))) {
 		free(rdp, M_AR);
 		return EXDEV;
 	    }
@@ -555,7 +558,8 @@
 	switch (rdp->flags & (AR_F_RAID0 | AR_F_RAID1 | AR_F_SPAN)) {
 	case AR_F_SPAN:
 	case AR_F_RAID0:
-	    if (rdp->disks[buf1->drive].flags & AR_DF_ONLINE &&
+	    if ((rdp->disks[buf1->drive].flags &
+		 (AR_DF_PRESENT|AR_DF_ONLINE))==(AR_DF_PRESENT|AR_DF_ONLINE) &&
 		!AD_SOFTC(rdp->disks[buf1->drive])->dev->si_disk) {
 		rdp->disks[buf1->drive].flags &= ~AR_DF_ONLINE;
 		ar_config_changed(rdp, 1);
@@ -579,12 +583,14 @@
 		    tsleep(rdp, PRIBIO, "arwait", 0);
 		}
 	    }
-	    if (rdp->disks[buf1->drive].flags & AR_DF_ONLINE &&
+	    if ((rdp->disks[buf1->drive].flags &
+		 (AR_DF_PRESENT|AR_DF_ONLINE))==(AR_DF_PRESENT|AR_DF_ONLINE) &&
 		!AD_SOFTC(rdp->disks[buf1->drive])->dev->si_disk) {
 		rdp->disks[buf1->drive].flags &= ~AR_DF_ONLINE;
 		change = 1;
 	    }
-	    if (rdp->disks[buf1->drive + rdp->width].flags & AR_DF_ONLINE &&
+	    if ((rdp->disks[buf1->drive + rdp->width].flags &
+		 (AR_DF_PRESENT|AR_DF_ONLINE))==(AR_DF_PRESENT|AR_DF_ONLINE) &&
 		!AD_SOFTC(rdp->disks[buf1->drive + rdp->width])->dev->si_disk) {
 		rdp->disks[buf1->drive + rdp->width].flags &= ~AR_DF_ONLINE;
 		change = 1;
@@ -727,6 +733,10 @@
     rdp->flags |= AR_F_READY;
     rdp->flags &= ~AR_F_DEGRADED;
 
+    for (disk = 0; disk < rdp->total_disks; disk++)
+	if (!(rdp->disks[disk].flags & AR_DF_PRESENT))
+	    rdp->disks[disk].flags &= ~AR_DF_ONLINE;
+
     for (disk = 0; disk < rdp->total_disks; disk++) {
 	switch (rdp->flags & (AR_F_RAID0 | AR_F_RAID1 | AR_F_SPAN)) {
 	case AR_F_SPAN:
@@ -1228,12 +1238,12 @@
 		    raid->disks[disk].flags |= AR_DF_ONLINE;
 		if (info->raid.disk[disk].flags & PR_F_ASSIGNED)
 		    raid->disks[disk].flags |= AR_DF_ASSIGNED;
-		if (info->raid.disk[disk].flags & PR_F_SPARE)
+		if (info->raid.disk[disk].flags & PR_F_SPARE) {
+		    raid->disks[disk].flags &= ~AR_DF_ONLINE;
 		    raid->disks[disk].flags |= AR_DF_SPARE;
-		if (info->raid.disk[disk].flags & (PR_F_REDIR | PR_F_DOWN)) {
+		}
+		if (info->raid.disk[disk].flags & (PR_F_REDIR | PR_F_DOWN))
 		    raid->disks[disk].flags &= ~AR_DF_ONLINE;
-		    raid->disks[disk].flags |= AR_DF_PRESENT;
-		}
 	    }
 	    if (!disksum) {
 		free(raidp[array], M_AR);
@@ -1285,18 +1295,8 @@
 	config->magic_0 = PR_MAGIC0(rdp->disks[disk]) | timestamp.tv_sec;
 	config->magic_1 = timestamp.tv_sec >> 16;
 	config->magic_2 = timestamp.tv_sec;
-
 	config->raid.integrity = PR_I_VALID;
 
-	config->raid.flags = 0;
-	if (rdp->disks[disk].flags & AR_DF_PRESENT)
-	    config->raid.flags |= PR_F_VALID;
-	if (rdp->disks[disk].flags & AR_DF_ASSIGNED)
-	    config->raid.flags |= PR_F_ASSIGNED;
-	if (rdp->disks[disk].flags & AR_DF_ONLINE)
-	    config->raid.flags |= PR_F_ONLINE;
-	else
-	    config->raid.flags |= PR_F_DOWN;
 	config->raid.disk_number = disk;
 	if (rdp->disks[disk].flags & AR_DF_PRESENT && rdp->disks[disk].device) {
 	    config->raid.channel = rdp->disks[disk].device->channel->unit;
@@ -1310,6 +1310,7 @@
 	config->raid.generation = rdp->generation;
 
 	if (rdp->flags & AR_F_READY) {
+	    config->raid.flags = (PR_F_VALID | PR_F_ASSIGNED | PR_F_ONLINE);
 	    config->raid.status = 
 		(PR_S_VALID | PR_S_ONLINE | PR_S_INITED | PR_S_READY);
 	    if (rdp->flags & AR_F_DEGRADED)
@@ -1317,8 +1318,10 @@
 	    else
 		config->raid.status |= PR_S_FUNCTIONAL;
 	}
-	else
+	else {
+	    config->raid.flags = PR_F_DOWN;
 	    config->raid.status = 0;
+	}
 
 	switch (rdp->flags & (AR_F_RAID0 | AR_F_RAID1 | AR_F_SPAN)) {
 	case AR_F_RAID0:

==== //depot/projects/smpng/sys/dev/digi/CX.c#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/dev/digi/CX.c,v 1.1 2001/05/02 01:08:02 brian Exp $
+ * $FreeBSD: src/sys/dev/digi/CX.c,v 1.2 2002/04/10 01:12:55 brian Exp $
  */
 
 #include <sys/param.h>
@@ -42,4 +42,5 @@
 	{ NULL, 0 }
 };
 
+MODULE_VERSION(digi_CX, 1);
 DEV_MODULE(digi_CX, 0, 0);

==== //depot/projects/smpng/sys/dev/digi/CX_PCI.c#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/dev/digi/CX_PCI.c,v 1.1 2001/05/02 01:08:02 brian Exp $
+ * $FreeBSD: src/sys/dev/digi/CX_PCI.c,v 1.2 2002/04/10 01:12:55 brian Exp $
  */
 
 #include <sys/param.h>
@@ -42,4 +42,5 @@
 	{ NULL, 0 }
 };
 
+MODULE_VERSION(digi_CX_PCI, 1);
 DEV_MODULE(digi_CX_PCI, 0, 0);

==== //depot/projects/smpng/sys/dev/digi/EPCX.c#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/dev/digi/EPCX.c,v 1.1 2001/05/02 01:08:02 brian Exp $
+ * $FreeBSD: src/sys/dev/digi/EPCX.c,v 1.2 2002/04/10 01:12:55 brian Exp $
  */
 
 #include <sys/param.h>
@@ -42,4 +42,5 @@
 	{ NULL, 0 }
 };
 
+MODULE_VERSION(digi_EPCX, 1);
 DEV_MODULE(digi_EPCX, 0, 0);

==== //depot/projects/smpng/sys/dev/digi/EPCX_PCI.c#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/dev/digi/EPCX_PCI.c,v 1.1 2001/05/02 01:08:02 brian Exp $
+ * $FreeBSD: src/sys/dev/digi/EPCX_PCI.c,v 1.2 2002/04/10 01:12:55 brian Exp $
  */
 
 #include <sys/param.h>
@@ -42,4 +42,5 @@
 	{ NULL, 0 }
 };
 
+MODULE_VERSION(digi_EPCX_PCI, 1);
 DEV_MODULE(digi_EPCX_PCI, 0, 0);

==== //depot/projects/smpng/sys/dev/digi/Xe.c#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/dev/digi/Xe.c,v 1.1 2001/05/02 01:08:02 brian Exp $
+ * $FreeBSD: src/sys/dev/digi/Xe.c,v 1.2 2002/04/10 01:12:55 brian Exp $
  */
 
 #include <sys/param.h>
@@ -42,4 +42,5 @@
 	{ NULL, 0 }
 };
 
+MODULE_VERSION(digi_Xe, 1);
 DEV_MODULE(digi_Xe, 0, 0);

==== //depot/projects/smpng/sys/dev/digi/Xem.c#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/dev/digi/Xem.c,v 1.1 2001/05/02 01:08:03 brian Exp $
+ * $FreeBSD: src/sys/dev/digi/Xem.c,v 1.2 2002/04/10 01:12:55 brian Exp $
  */
 
 #include <sys/param.h>
@@ -42,4 +42,5 @@
 	{ NULL, 0 }
 };
 
+MODULE_VERSION(digi_Xem, 1);
 DEV_MODULE(digi_Xem, 0, 0);

==== //depot/projects/smpng/sys/dev/digi/Xr.c#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/dev/digi/Xr.c,v 1.1 2001/05/02 01:08:03 brian Exp $
+ * $FreeBSD: src/sys/dev/digi/Xr.c,v 1.2 2002/04/10 01:12:55 brian Exp $
  */
 
 #include <sys/param.h>
@@ -42,4 +42,5 @@
 	{ NULL, 0 }
 };
 
+MODULE_VERSION(digi_Xr, 1);
 DEV_MODULE(digi_Xr, 0, 0);

==== //depot/projects/smpng/sys/dev/digi/digi.c#13 (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/dev/digi/digi.c,v 1.21 2002/04/01 21:30:32 jhb Exp $
+ * $FreeBSD: src/sys/dev/digi/digi.c,v 1.27 2002/04/10 14:32:55 brian Exp $
  */
 
 /*-
@@ -221,6 +221,15 @@
 	return (1);
 }
 
+void
+digi_delay(struct digi_softc *sc, const char *txt, u_long timo)
+{
+	if (cold)
+		DELAY(timo * 1000000 / hz);
+	else
+		tsleep(sc, PUSER | PCATCH, txt, timo);
+}
+
 static int
 digi_init(struct digi_softc *sc)
 {
@@ -298,19 +307,19 @@
 	case PCXEM:
 	case PCIEPCX:
 	case PCIXR:
-		if (sc->model == PCIXR)
+		if (sc->pcibus)
 			PCIPORT = FEPRST;
 		else
 			outb(sc->port, FEPRST | FEPMEM);
 
-		for (i = 0; ((sc->model == PCIXR ? PCIPORT : inb(sc->port)) &
+		for (i = 0; ((sc->pcibus ? PCIPORT : inb(sc->port)) &
 		    FEPMASK) != FEPRST; i++) {
-			if (i > 1000) {
-				log(LOG_ERR, "digi%d: init reset failed\n",
-				    sc->res.unit);
+			if (i > 100) {
+				log(LOG_ERR, "digi%d: %s init reset failed\n",
+				    sc->res.unit, sc->name);
 				return (EIO);
 			}
-			tsleep(sc, PUSER | PCATCH, "digiinit0", 1);
+			digi_delay(sc, "digiinit0", 5);
 		}
 		DLOG(DIGIDB_INIT, (sc->dev, "Got init reset after %d us\n", i));
 
@@ -348,7 +357,7 @@
 	ptr = sc->setwin(sc, MISCGLOBAL);
 	W(ptr) = 0;
 
-	if (sc->model == PCIXR) {
+	if (sc->pcibus) {
 		PCIPORT = FEPCLR;
 		resp = FEPRST;
 	} else if (sc->model == PCXEVE) {
@@ -359,26 +368,26 @@
 		resp = FEPRST | FEPMEM;
 	}
 
-	for (i = 0; ((sc->model == PCIXR ? PCIPORT : inb(sc->port)) & FEPMASK)
+	for (i = 0; ((sc->pcibus ? PCIPORT : inb(sc->port)) & FEPMASK)
 	    == resp; i++) {
-		if (i > 1000) {
+		if (i > 100) {
 			log(LOG_ERR, "digi%d: BIOS start failed\n",
 			    sc->res.unit);
 			return (EIO);
 		}
-		tsleep(sc, PUSER | PCATCH, "digibios0", 1);
+		digi_delay(sc, "digibios0", 5);
 	}
 
 	DLOG(DIGIDB_INIT, (sc->dev, "BIOS started after %d us\n", i));
 
 	for (i = 0; vW(ptr) != *(u_short *)"GD"; i++) {
-		if (i > 2000) {
+		if (i > 200) {
 			log(LOG_ERR, "digi%d: BIOS boot failed "
 			    "(0x%02x != 0x%02x)\n",
 			    sc->res.unit, vW(ptr), *(u_short *)"GD");
 			return (EIO);
 		}
-		tsleep(sc, PUSER | PCATCH, "digibios1", 1);
+		digi_delay(sc, "digibios1", 5);
 	}
 
 	DLOG(DIGIDB_INIT, (sc->dev, "BIOS booted after %d iterations\n", i));
@@ -412,13 +421,13 @@
 		outb(sc->port, FEPCLR | FEPMEM);
 
 		for (i = 0; W(ptr); i++) {
-			if (i > 10) {
+			if (i > 100) {
 				log(LOG_ERR, "digi%d: FEP/OS move failed\n",
 				    sc->res.unit);
 				sc->hidewin(sc);
 				return (EIO);
 			}
-			tsleep(sc, PUSER | PCATCH, "digifep0", 1);
+			digi_delay(sc, "digifep0", 5);
 		}
 		DLOG(DIGIDB_INIT,
 		    (sc->dev, "FEP/OS moved after %d iterations\n", i));
@@ -497,14 +506,14 @@
 
 	/* Now wait 'till the FEP/OS has booted */
 	for (i = 0; vW(ptr) != *(u_short *)"OS"; i++) {
-		if (i > 2000) {
+		if (i > 200) {
 			log(LOG_ERR, "digi%d: FEP/OS start failed "
 			    "(0x%02x != 0x%02x)\n",
 			    sc->res.unit, vW(ptr), *(u_short *)"OS");
 			sc->hidewin(sc);
 			return (EIO);
 		}
-		tsleep(sc, PUSER | PCATCH, "digifep1", 1);
+		digi_delay(sc, "digifep1", 5);
 	}
 
 	DLOG(DIGIDB_INIT, (sc->dev, "FEP/OS started after %d iterations\n", i));
@@ -1028,8 +1037,14 @@
 	modlen = strlen(sc->module);
 	modfile = malloc(modlen + 6, M_TEMP, M_WAITOK);
 	snprintf(modfile, modlen + 6, "digi_%s", sc->module);
-	if ((res = linker_reference_module(modfile, &lf)) != 0)
-		printf("%s: Failed %d to load module\n", modfile, res);
+	if ((res = linker_reference_module(modfile, NULL, &lf)) != 0) {
+		if (res == ENOENT && rootdev == NODEV)
+			printf("%s: Failed to autoload module: No filesystem\n",
+			    modfile);
+		else
+			printf("%s: Failed %d to autoload module\n", modfile,
+			    res);
+	}
 	free(modfile, M_TEMP);
 	if (res != 0)
 		return (res);
@@ -1944,3 +1959,5 @@
 {
 	return (0);
 }
+
+MODULE_VERSION(digi, 1);

==== //depot/projects/smpng/sys/dev/digi/digi.h#5 (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/dev/digi/digi.h,v 1.10 2002/02/27 23:47:45 peter Exp $
+ * $FreeBSD: src/sys/dev/digi/digi.h,v 1.12 2002/04/10 14:32:55 brian Exp $
  */
 
 #define	W(p)				(*(u_int16_t *)(p))
@@ -215,3 +215,5 @@
 int		 digi_attach(struct digi_softc *);
 int		 digi_detach(device_t _dev);
 int		 digi_shutdown(device_t _dev);
+void		 digi_delay(struct digi_softc *_sc, const char *_txt,
+		     u_long _timo);

==== //depot/projects/smpng/sys/dev/digi/digi_isa.c#4 (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/dev/digi/digi_isa.c,v 1.7 2002/02/27 23:47:45 peter Exp $
+ * $FreeBSD: src/sys/dev/digi/digi_isa.c,v 1.9 2002/04/10 14:32:55 brian Exp $
  */
 
 /*-
@@ -112,12 +112,14 @@
 
 	/* Invasive probe - reset the card */
 	outb(sc->port, FEPRST);
-	for (i = 1000; DELAY(1), i >= 0; i--)
+	for (i = 0; i < 10; i++) {
 		if ((inb(sc->port) & FEPMASK) == FEPRST)
 			break;
-	if (i == -1)
+		digi_delay(sc, "digirst", 1);
+	}
+	if (i == 10)
 		return (NULL);
-	DLOG(DIGIDB_INIT, (sc->dev, "got reset after %d us\n", 1000 - i));
+	DLOG(DIGIDB_INIT, (sc->dev, "got reset after %d delays\n", i));
 
 	ident = inb(sc->port);
 
@@ -373,18 +375,17 @@
 		reset |= FEPMEM;
 
 	outb(sc->port, reset);
-	for (i = 10; DELAY(1), i >= 0; i--) {
+	for (i = 0; i < 10; i++) {
 		if ((inb(sc->port) & FEPMASK) == reset)
 			break;
-		tsleep(sc, PUSER | PCATCH, "digirst0", hz / 5);
+		digi_delay(sc, "digirst1", 1);
 	}
-	if (i == -1) {
+	if (i == 10) {
 		device_printf(dev, "1st reset failed\n");
 		sc->hidewin(sc);
 		goto failed;
 	}
-	DLOG(DIGIDB_INIT, (sc->dev, "got reset after %d us\n",
-	    (10 - i) * (hz / 5)));
+	DLOG(DIGIDB_INIT, (sc->dev, "got reset after %d delays\n", i));
 
 	if (sc->model != PCXI) {
 		t = (sc->pmem >> 8) & 0xffe0;
@@ -396,17 +397,18 @@
 
 	if (sc->model == PCXI || sc->model == PCXE) {
 		outb(sc->port, FEPRST | FEPMEM);
-		for (i = 10000; DELAY(1), i >= 0; i--)
+		for (i = 0; i < 10; i++) {
 			if ((inb(sc->port) & FEPMASK) != FEPRST)
 				break;
-		if (i == -1) {
+			digi_delay(sc, "digirst2", 1);
+		}
+		if (i == 10) {
 			device_printf(dev, "2nd reset failed (0x%02x)\n",
 				inb(sc->port));
 			sc->hidewin(sc);
 			goto failed;
 		}
-		DLOG(DIGIDB_INIT, (sc->dev, "got memory after %d us\n",
-		    10000 - i));
+		DLOG(DIGIDB_INIT, (sc->dev, "got memory after %d delays\n", i));
 	}
 
 	DLOG(DIGIDB_INIT, (sc->dev, "short memory test\n"));

==== //depot/projects/smpng/sys/dev/pci/pci.c#10 (text+ko) ====

@@ -25,7 +25,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/sys/dev/pci/pci.c,v 1.188 2002/03/13 16:32:11 imp Exp $
+ * $FreeBSD: src/sys/dev/pci/pci.c,v 1.189 2002/04/10 07:35:28 n_hibma Exp $
  *
  */
 
@@ -750,7 +750,11 @@
 			pci_add_map(pcib, b, s, f, q->arg1, rl);
 	}
 
-	if (cfg->intpin > 0 && cfg->intline != 255) {
+	if (cfg->intpin > 0 && cfg->intline != 255
+#ifdef __i386__
+	    && cfg->intline != 0
+#endif
+	    ) {
 #ifdef __ia64__
 		/*
 		 * Re-route interrupts on ia64 so that we can get the

==== //depot/projects/smpng/sys/dev/snp/snp.c#8 (text+ko) ====

@@ -12,7 +12,7 @@
  *
  * Snoop stuff.
  *
- * $FreeBSD: src/sys/dev/snp/snp.c,v 1.72 2002/03/20 02:07:42 alfred Exp $
+ * $FreeBSD: src/sys/dev/snp/snp.c,v 1.73 2002/04/10 03:51:49 dd Exp $
  */
 
 #include <sys/param.h>
@@ -202,7 +202,7 @@
 	struct snoop *snp;
 	struct tty *tp;
 	int error, i, len;
-	char c[SNP_INPUT_BUF];
+	unsigned char c[SNP_INPUT_BUF];
 
 	snp = dev->si_drv1;
 	tp = snp->snp_tty;

==== //depot/projects/smpng/sys/dev/usb/umass.c#13 (text+ko) ====

@@ -24,7 +24,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- *	$FreeBSD: src/sys/dev/usb/umass.c,v 1.57 2002/04/01 21:13:21 joe Exp $
+ *	$FreeBSD: src/sys/dev/usb/umass.c,v 1.58 2002/04/10 13:22:12 n_hibma Exp $
  *	$NetBSD: umass.c,v 1.28 2000/04/02 23:46:53 augustss Exp $
  */
 
@@ -394,25 +394,26 @@
 	int			transfer_status;
 
 	int			transfer_state;
-#	define TSTATE_IDLE			0
-#	define TSTATE_BBB_COMMAND		1	/* CBW transfer */
-#	define TSTATE_BBB_DATA			2	/* Data transfer */
-#	define TSTATE_BBB_DCLEAR		3	/* clear endpt stall */
-#	define TSTATE_BBB_STATUS1		4	/* clear endpt stall */
-#	define TSTATE_BBB_SCLEAR		5	/* clear endpt stall */
-#	define TSTATE_BBB_STATUS2		6	/* CSW transfer */
-#	define TSTATE_BBB_RESET1		7	/* reset command */
-#	define TSTATE_BBB_RESET2		8	/* in clear stall */
-#	define TSTATE_BBB_RESET3		9	/* out clear stall */
-#	define TSTATE_CBI_COMMAND		10	/* command transfer */
-#	define TSTATE_CBI_DATA			11	/* data transfer */
-#	define TSTATE_CBI_STATUS		12	/* status transfer */
-#	define TSTATE_CBI_DCLEAR		13	/* clear ep stall */
-#	define TSTATE_CBI_SCLEAR		14	/* clear ep stall */
-#	define TSTATE_CBI_RESET1		15	/* reset command */
-#	define TSTATE_CBI_RESET2		16	/* in clear stall */
-#	define TSTATE_CBI_RESET3		17	/* out clear stall */
-#	define TSTATE_STATES			18	/* # of states above */
+#	define TSTATE_ATTACH			0	/* in attach */
+#	define TSTATE_IDLE			1
+#	define TSTATE_BBB_COMMAND		2	/* CBW transfer */
+#	define TSTATE_BBB_DATA			3	/* Data transfer */
+#	define TSTATE_BBB_DCLEAR		4	/* clear endpt stall */
+#	define TSTATE_BBB_STATUS1		5	/* clear endpt stall */
+#	define TSTATE_BBB_SCLEAR		6	/* clear endpt stall */
+#	define TSTATE_BBB_STATUS2		7	/* CSW transfer */
+#	define TSTATE_BBB_RESET1		8	/* reset command */
+#	define TSTATE_BBB_RESET2		9	/* in clear stall */
+#	define TSTATE_BBB_RESET3		10	/* out clear stall */
+#	define TSTATE_CBI_COMMAND		11	/* command transfer */
+#	define TSTATE_CBI_DATA			12	/* data transfer */
+#	define TSTATE_CBI_STATUS		13	/* status transfer */
+#	define TSTATE_CBI_DCLEAR		14	/* clear ep stall */
+#	define TSTATE_CBI_SCLEAR		15	/* clear ep stall */
+#	define TSTATE_CBI_RESET1		16	/* reset command */
+#	define TSTATE_CBI_RESET2		17	/* in clear stall */
+#	define TSTATE_CBI_RESET3		18	/* out clear stall */
+#	define TSTATE_STATES			19	/* # of states above */
 
 
 	/* SCSI/CAM specific variables */
@@ -428,6 +429,7 @@
 #ifdef UMASS_DEBUG
 char *states[TSTATE_STATES+1] = {
 	/* should be kept in sync with the list at transfer_state */
+	"Attach",
 	"Idle",
 	"BBB CBW",
 	"BBB Data",
@@ -932,7 +934,7 @@
 	}
 
 	/* initialisation of generic part */
-	sc->transfer_state = TSTATE_IDLE;
+	sc->transfer_state = TSTATE_ATTACH;
 
 	/* request a sufficient number of xfer handles */
 	for (i = 0; i < XFER_NR; i++) {
@@ -1015,7 +1017,7 @@
 		      __FILE__, __LINE__, sc->proto);
 	}
 
-	
+	sc->transfer_state = TSTATE_IDLE;
 	DPRINTF(UDMASS_GEN, ("%s: Attach finished\n", USBDEVNAME(sc->sc_dev)));
 
 	USB_ATTACH_SUCCESS_RETURN;

==== //depot/projects/smpng/sys/i386/include/ansi.h#11 (text+ko) ====

@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)ansi.h	8.2 (Berkeley) 1/4/94
- * $FreeBSD: src/sys/i386/include/ansi.h,v 1.36 2002/03/24 11:25:45 obrien Exp $
+ * $FreeBSD: src/sys/i386/include/ansi.h,v 1.37 2002/04/10 15:58:11 mike Exp $
  */
 
 #ifndef	_MACHINE_ANSI_H_
@@ -52,6 +52,7 @@
 #define	_BSD_MBSTATE_T_	__mbstate_t		/* mbstate_t */
 #define	_BSD_PTRDIFF_T_	int			/* ptr1 - ptr2 */
 #define	_BSD_RUNE_T_	_BSD_CT_RUNE_T_		/* rune_t (see below) */
+#define	_BSD_SEGSZ_T_	__int32_t		/* segment size (in pages) */
 #define	_BSD_SIZE_T_	unsigned int		/* sizeof() */
 #define	_BSD_SOCKLEN_T_	__uint32_t		/* socklen_t (duh) */
 #define	_BSD_SSIZE_T_	int			/* byte count or error */

==== //depot/projects/smpng/sys/i386/include/endian.h#8 (text+ko) ====

@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)endian.h	7.8 (Berkeley) 4/3/91
- * $FreeBSD: src/sys/i386/include/endian.h,v 1.32 2002/03/09 21:02:12 mike Exp $
+ * $FreeBSD: src/sys/i386/include/endian.h,v 1.33 2002/04/10 14:39:13 mike Exp $
  */
 
 #ifndef _MACHINE_ENDIAN_H_
@@ -46,17 +46,26 @@
 #define	_QUAD_HIGHWORD 1
 #define	_QUAD_LOWWORD 0
 
-#ifndef _POSIX_SOURCE
 /*
  * Definitions for byte order, according to byte significance from low
  * address to high.
  */
-#define	LITTLE_ENDIAN	1234	/* LSB first: i386, vax */
-#define	BIG_ENDIAN	4321	/* MSB first: 68000, ibm, net */
-#define	PDP_ENDIAN	3412	/* LSB first in word, MSW first in long */
+#define	_LITTLE_ENDIAN	1234	/* LSB first: i386, vax */
+#define	_BIG_ENDIAN	4321	/* MSB first: 68000, ibm, net */
+#define	_PDP_ENDIAN	3412	/* LSB first in word, MSW first in long */
+
+#define	_BYTE_ORDER	_LITTLE_ENDIAN
 
-#define	BYTE_ORDER	LITTLE_ENDIAN
-#endif /* ! _POSIX_SOURCE */
+/*
+ * Deprecated variants that don't have enough underscores to be useful in more
+ * strict namespaces.
+ */
+#if __BSD_VISIBLE
+#define	LITTLE_ENDIAN	_LITTLE_ENDIAN
+#define	BIG_ENDIAN	_BIG_ENDIAN
+#define	PDP_ENDIAN	_PDP_ENDIAN
+#define	BYTE_ORDER	_BYTE_ORDER
+#endif
 
 #ifdef __GNUC__
 

==== //depot/projects/smpng/sys/ia64/ia64/exception.s#18 (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/ia64/ia64/exception.s,v 1.32 2002/03/29 16:35:25 jake Exp $
+ *	$FreeBSD: src/sys/ia64/ia64/exception.s,v 1.33 2002/04/10 16:35:44 dfr Exp $
  */
 
 #include <machine/asm.h>
@@ -1406,8 +1406,49 @@
 	mov	out1=r16		// arguments
 	add	out2=(8*8),r16		// trapframe pointer
 	br.call.sptk.many rp=syscall	// do the work
+} { .mmi
+3:	rsm	psr.i			// we know that psr.i == 1
+	add	r14=PC_CURTHREAD,r13	// &curthread
+	nop.i	0
+	;;
+} { .mmi
+	ld8	r14=[r14]		// curthread
+	;;
+	add	r14=TD_KSE,r14		// &curthread->td_kse
+	nop.i	0
+	;;
+} { .mmi
+	ld8	r14=[r14]		// curkse
+	;;
+	add	r14=KE_FLAGS,r14	// &curkse->ke_flags
+	nop.i	0
+	;;
+} { .mmi
+	ld4	r14=[r14]		// curkse->ke_flags
+	;;
+	nop.m	0
+	tbit.nz	p6,p7=r14,10		// KEF_ASTPENDING
+	;;
+} { .mib
+	nop.m	0
+(p7)	tbit.nz.or.andcm p6,p7=r14,11	// KEF_NEEDRESCHED
+(p7)	br.cond.dptk 2f
+	;;
+} { .mmi
+	ssm	psr.i			// restore interrupts
+	;;
+	srlz.d
+	mov	out0=loc0		// trapframe argument to ast()
+} { .mib
+	nop.m	0
+	nop.i	0
+	br.call.sptk.many rp=ast
+} { .mib
+	nop.m	0
+	nop.i	0
+	br	3b
 } { .mii

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

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe p4-projects" in the body of the message




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