Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Sep 2003 15:45:51 -0700 (PDT)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 38807 for review
Message-ID:  <200309292245.h8TMjpxx010718@repoman.freebsd.org>

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

Change 38807 by marcel@marcel_nfs on 2003/09/29 15:45:18

	IFC @38801

Affected files ...

.. //depot/projects/ia64/UPDATING#55 integrate
.. //depot/projects/ia64/lib/libc_r/uthread/uthread_write.c#4 integrate
.. //depot/projects/ia64/lib/libpthread/thread/thr_kern.c#38 integrate
.. //depot/projects/ia64/libexec/talkd/talkd.c#4 integrate
.. //depot/projects/ia64/share/man/man9/VOP_GETPAGES.9#3 integrate
.. //depot/projects/ia64/share/skel/dot.mail_aliases#2 integrate
.. //depot/projects/ia64/sys/conf/majors#26 integrate
.. //depot/projects/ia64/sys/ddb/db_elf.c#5 integrate
.. //depot/projects/ia64/sys/dev/aac/aac.c#32 integrate
.. //depot/projects/ia64/sys/dev/acpica/Osd/OsdSchedule.c#10 integrate
.. //depot/projects/ia64/sys/dev/mii/brgphy.c#18 integrate
.. //depot/projects/ia64/sys/dev/nmdm/nmdm.c#9 integrate
.. //depot/projects/ia64/sys/dev/ofw/ofw_console.c#12 integrate
.. //depot/projects/ia64/sys/dev/raidframe/rf_decluster.c#3 integrate
.. //depot/projects/ia64/sys/dev/raidframe/rf_freebsdkintf.c#15 integrate
.. //depot/projects/ia64/sys/dev/sio/sio.c#55 integrate
.. //depot/projects/ia64/sys/dev/uart/uart_cpu_sparc64.c#6 integrate
.. //depot/projects/ia64/sys/dev/uart/uart_tty.c#4 integrate
.. //depot/projects/ia64/sys/dev/usb/ugen.c#18 integrate
.. //depot/projects/ia64/sys/dev/usb/uhid.c#16 integrate
.. //depot/projects/ia64/sys/dev/usb/ulpt.c#15 integrate
.. //depot/projects/ia64/sys/dev/usb/ums.c#13 integrate
.. //depot/projects/ia64/sys/dev/usb/uscanner.c#15 integrate
.. //depot/projects/ia64/sys/dev/vinum/vinumconfig.c#15 integrate
.. //depot/projects/ia64/sys/dev/vinum/vinumrevive.c#10 integrate
.. //depot/projects/ia64/sys/dev/vinum/vinumvar.h#4 integrate
.. //depot/projects/ia64/sys/fs/procfs/procfs_map.c#6 integrate
.. //depot/projects/ia64/sys/geom/geom_disk.c#39 integrate
.. //depot/projects/ia64/sys/ia64/include/varargs.h#5 integrate
.. //depot/projects/ia64/sys/kern/kern_conf.c#24 integrate
.. //depot/projects/ia64/sys/kern/kern_mac.c#32 integrate
.. //depot/projects/ia64/sys/net/if.c#25 integrate
.. //depot/projects/ia64/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#8 integrate
.. //depot/projects/ia64/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#2 integrate
.. //depot/projects/ia64/sys/pci/if_xl.c#41 integrate
.. //depot/projects/ia64/sys/sparc64/sparc64/pmap.c#47 integrate
.. //depot/projects/ia64/sys/sys/conf.h#24 integrate
.. //depot/projects/ia64/sys/sys/cons.h#6 integrate
.. //depot/projects/ia64/sys/sys/param.h#45 integrate
.. //depot/projects/ia64/sys/vm/vm_page.c#55 integrate
.. //depot/projects/ia64/usr.bin/calendar/calendars/calendar.holiday#8 integrate
.. //depot/projects/ia64/usr.bin/rlogin/rlogin.1#5 integrate
.. //depot/projects/ia64/usr.bin/rlogin/rlogin.c#9 integrate
.. //depot/projects/ia64/usr.bin/su/su.1#7 integrate
.. //depot/projects/ia64/usr.bin/talk/ctl.c#3 integrate
.. //depot/projects/ia64/usr.bin/talk/io.c#3 integrate
.. //depot/projects/ia64/usr.bin/talk/look_up.c#3 integrate
.. //depot/projects/ia64/usr.sbin/sysinstall/config.c#17 integrate
.. //depot/projects/ia64/usr.sbin/sysinstall/menus.c#35 integrate
.. //depot/projects/ia64/usr.sbin/wicontrol/wicontrol.8#15 integrate
.. //depot/projects/ia64/usr.sbin/wicontrol/wicontrol.c#14 integrate

Differences ...

==== //depot/projects/ia64/UPDATING#55 (text+ko) ====

@@ -17,6 +17,11 @@
 	developers choose to disable these features on build machines
 	to maximize performance.
 
+20030928:
+	Changes to the cdevsw default functions have been made to remove
+	the need to specify nullopen() and nullclose() explicitly.
+	__FreeBSD_version bumpted to 501110.
+
 20030926:
 	kiconv(3) has been added. mount_msdosfs(8), mount_ntfs(8) and
 	mount_cd9660(8) need to be in sync with kernel.
@@ -1379,4 +1384,4 @@
 Contact Warner Losh if you have any questions about your use of
 this document.
 
-$FreeBSD: src/UPDATING,v 1.269 2003/09/27 14:12:39 fjoe Exp $
+$FreeBSD: src/UPDATING,v 1.270 2003/09/28 16:25:35 phk Exp $

==== //depot/projects/ia64/lib/libc_r/uthread/uthread_write.c#4 (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/libc_r/uthread/uthread_write.c,v 1.21 2002/11/05 00:59:18 archie Exp $
+ * $FreeBSD: src/lib/libc_r/uthread/uthread_write.c,v 1.22 2003/09/29 13:41:26 deischen Exp $
  *
  */
 #include <sys/types.h>
@@ -95,7 +95,7 @@
 			 * write:
 			 */
 			if (blocking && ((n < 0 && (errno == EWOULDBLOCK ||
-			    errno == EAGAIN)) || (n >= 0 && num < nbytes))) {
+			    errno == EAGAIN)) || (n > 0 && num < nbytes))) {
 				curthread->data.fd.fd = fd;
 				_thread_kern_set_timeout(NULL);
 
@@ -133,7 +133,7 @@
 			 * If there was an error, return partial success
 			 * (if any bytes were written) or else the error:
 			 */
-			} else if (n < 0) {
+			} else if (n <= 0) {
 				if (num > 0)
 					ret = num;
 				else

==== //depot/projects/ia64/lib/libpthread/thread/thr_kern.c#38 (text+ko) ====

@@ -33,7 +33,7 @@
  *
  */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libpthread/thread/thr_kern.c,v 1.97 2003/09/23 04:02:23 davidxu Exp $");
+__FBSDID("$FreeBSD: src/lib/libpthread/thread/thr_kern.c,v 1.99 2003/09/29 06:25:04 davidxu Exp $");
 
 #include <sys/types.h>
 #include <sys/kse.h>
@@ -1805,6 +1805,7 @@
 {
 	/* struct kse_group *free_kseg = NULL; */
 	struct timespec ts;
+	struct pthread *td;
 
 	/*
 	 * Check to see if this is one of the main kses.
@@ -1844,10 +1845,22 @@
 			KSE_SCHED_LOCK(kse, kse->k_kseg);
 			TAILQ_REMOVE(&kse->k_kseg->kg_kseq, kse, k_kgqe);
 			kse->k_kseg->kg_ksecount--;
+			/*
+			 * Migrate thread to  _kse_initial if its lastest
+			 * kse it ran on is the kse.
+			 */
+			td = TAILQ_FIRST(&kse->k_kseg->kg_threadq);
+			while (td != NULL) {
+				if (td->kse == kse)
+					td->kse = _kse_initial;
+				td = TAILQ_NEXT(td, kle);
+			}
 			KSE_SCHED_UNLOCK(kse, kse->k_kseg);
 			KSE_LOCK_ACQUIRE(kse, &kse_lock);
 			kse_free_unlocked(kse);
 			KSE_LOCK_RELEASE(kse, &kse_lock);
+			/* Make sure there is always at least one is awake */
+			KSE_WAKEUP(_kse_initial);
 			kse_exit();
                         /* Never returns. */
                         PANIC("kse_exit() failed for initial kseg");
@@ -2394,11 +2407,9 @@
 {
 	kse_critical_t crit;
 	struct kse *curkse;
-	struct pthread *curthread;
 
 	crit = _kse_critical_enter();
 	curkse = _get_curkse();
-	curthread = _get_curthread();
 	KSE_LOCK_ACQUIRE(curkse, &_thread_list_lock);
 	/*
 	 * Initialize the unique id (which GDB uses to track

==== //depot/projects/ia64/libexec/talkd/talkd.c#4 (text+ko) ====

@@ -42,7 +42,7 @@
 static char sccsid[] = "@(#)talkd.c	8.1 (Berkeley) 6/4/93";
 #endif
 static const char rcsid[] =
-  "$FreeBSD: src/libexec/talkd/talkd.c,v 1.14 2003/04/03 05:13:27 jmallett Exp $";
+  "$FreeBSD: src/libexec/talkd/talkd.c,v 1.15 2003/09/28 09:16:09 tjr Exp $";
 #endif /* not lint */
 
 /*
@@ -86,6 +86,7 @@
 {
 	register CTL_MSG *mp = &request;
 	int cc;
+	struct sockaddr ctl_addr;
 
 #ifdef NOTDEF
 	/*
@@ -116,12 +117,13 @@
 			continue;
 		}
 		lastmsgtime = time(0);
+		(void)memcpy(&ctl_addr, &mp->ctl_addr, sizeof(ctl_addr));
+		ctl_addr.sa_family = ntohs(mp->ctl_addr.sa_family);
+		ctl_addr.sa_len = sizeof(ctl_addr);
 		process_request(mp, &response);
 		/* can block here, is this what I want? */
-		mp->ctl_addr.sa_family = htons(mp->ctl_addr.sa_family);
-		cc = sendto(sockt, (char *)&response,
-		    sizeof (response), 0, (struct sockaddr *)&mp->ctl_addr,
-		    sizeof (mp->ctl_addr));
+		cc = sendto(sockt, (char *)&response, sizeof (response), 0,
+		    &ctl_addr, sizeof (ctl_addr));
 		if (cc != sizeof (response))
 			syslog(LOG_WARNING, "sendto: %m");
 	}

==== //depot/projects/ia64/share/man/man9/VOP_GETPAGES.9#3 (text+ko) ====

@@ -1,6 +1,7 @@
 .\" -*- nroff -*-
 .\"
 .\" Copyright (c) 1996 Doug Rabson
+.\" Copyright 2003, Garrett A. Wollman
 .\"
 .\" All rights reserved.
 .\"
@@ -26,9 +27,9 @@
 .\" (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/share/man/man9/VOP_GETPAGES.9,v 1.7 2003/05/31 14:07:25 hmp Exp $
+.\" $FreeBSD: src/share/man/man9/VOP_GETPAGES.9,v 1.8 2003/09/28 03:15:21 wollman Exp $
 .\"
-.Dd July 24, 1996
+.Dd September 27, 2003
 .Os
 .Dt VOP_GETPAGES 9
 .Sh NAME
@@ -44,29 +45,118 @@
 .Ft int
 .Fn VOP_PUTPAGES "struct vnode *vp" "vm_page_t *m" "int count" "int sync" "int *rtvals" "vm_ooffset_t offset"
 .Sh DESCRIPTION
+The
+.Fn VOP_GETPAGES
+method is called to read in pages of virtual memory which are backed by
+ordinary files.
+If other adjacent pages are backed by adjacent regions of the same file,
+.Fn VOP_GETPAGES
+is requested to read those pages as well, although it is not required to
+do so.
+The
+.Fn VOP_PUTPAGES
+method does the converse; that is to say, it writes out adjacent dirty
+pages of virtual memory.
+.Pp
+On entry, the vnode lock is held but neither the page queue nor VM object
+locks are held.  Both methods return in the same state on both success and
+error returns.
+.Pp
 The arguments are:
 .Bl -tag -width reqpage
 .It Fa vp
 The file to access.
 .It Fa m
-A page ???
+Pointer to the first element of an array of contiguous pages representing a
+contiguous region of the file to be read or written.
 .It Fa count
-How many pages to access.
+The number of pages in the array.
 .It Fa sync
-Nonzero if the write should be synchronous.
+.Dv VM_PAGER_PUT_SYNC
+if the write should be synchronous.
 .It Fa rtvals
-???
+An array of VM system result codes indicating the status of each
+page written by
+.Fn VOP_PUTPAGES .
 .It Fa reqpage
-???
+The index in the page array of the requested page; i.e., the one page which
+the implementation of this method must handle.
 .It Fa offset
-Offset in the file to start accessing.
+Offset in the file at which the mapped pages begin.
+.El
+.Pp
+The status of the
+.Fn VOP_PUTPAGES
+method is returned on a page-by-page basis in the array 
+.Fa rtvals[] .
+The possible status values are as follows:
+.Bl -tag -width VM_PAGER_ERROR
+.It Dv VM_PAGER_OK
+The page was successfully written.
+The implementation must call
+.Xr vm_pager_undirty 9
+to mark the page as clean.
+.It Dv VM_PAGER_PEND
+The page was scheduled to be written asynchronously.
+When the write completes, the completion callback should
+call
+.Xr vm_object_pip_wakeup 9
+and
+.Xr vm_page_io_finish 9
+to clear the busy flag and awaken any other threads waiting for this page,
+in addition to calling
+.Xr vm_page_undirty 9 .
+.It Dv VM_PAGER_BAD
+The page was entirely beyond the end of the backing file.
+This condition should not be possible if the vnode's filesystem
+is correctly implemented.
+.It Dv VM_PAGER_ERROR
+The page could not be written because of an error on the underlying storage
+medium or protocol.
+.It Dv VM_PAGER_FAIL
+Treated identically to
+.Dv VM_PAGER_ERROR
+.It Dv VM_PAGER_AGAIN
+The page was not handled by this request.
 .El
 .Pp
-Not quite sure about this one.
+The
+.Fn VOP_GETPAGES
+method is expected to release any pages in
+.Fa m
+that it does not successfully handle, by calling
+.Xr vm_page_free 9 .
+When it succeeds,
+.Fn VOP_GETPAGES
+must set the valid bits appropriately, clear the dirty bit
+(using
+.Xr vm_page_undirty 9 ) ,
+either activate the page (if its wanted bit is set)
+or deactivate it (otherwise), and finally call
+.Xr vm_page_wakeup 9
+to arouse any threads currently waiting for the page to be faulted in,
+for each page read.
 .Sh RETURN VALUES
-Zero is returned on success, otherwise an error is returned.
+If it successfully reads 
+.Fa m[reqpage] ,
+.Fn VOP_GETPAGES
+returns
+.Dv VM_PAGER_OK ;
+otherwise,
+.Dv VM_PAGER_ERROR .
+By convention, the return value of
+.Fn VOP_PUTPAGES
+is
+.Fa rtvals[0] .
 .Sh SEE ALSO
+.Xr vm_object_pip_wakeup 9 ,
+.Xr vm_page_free 9 ,
+.Xr vm_page_io_finish 9 ,
+.Xr vm_page_undirty 9 ,
+.Xr vm_page_wakeup 9 ,
 .Xr vnode 9
 .Sh AUTHORS
-This man page was written by
-.An Doug Rabson .
+This manual page was written by
+.An Doug Rabson
+and then substantially rewritten by
+.An Garrett Wollman .

==== //depot/projects/ia64/share/skel/dot.mail_aliases#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/share/skel/dot.mail_aliases,v 1.2 1999/08/28 00:21:53 peter Exp $
+# $FreeBSD: src/share/skel/dot.mail_aliases,v 1.3 2003/09/28 16:17:30 rwatson Exp $
 #
 # .mail_aliases - private mail aliases
 #
@@ -6,8 +6,8 @@
 #
 
 # FreeBSD Mailing lists aliases
-# alias freebsd-bugs freebsd-bugs@freebsd.org
-# alias freebsd-questions freebsd-questions@freebsd.org
+# alias freebsd-bugs freebsd-bugs@FreeBSD.org
+# alias freebsd-questions freebsd-questions@FreeBSD.org
 
 # an alias for your good friends
 # alias bicycle  christoph gerhardt velophil zentralrad

==== //depot/projects/ia64/sys/conf/majors#26 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/majors,v 1.177 2003/08/27 07:35:12 simokawa Exp $
+# $FreeBSD: src/sys/conf/majors,v 1.179 2003/09/29 14:15:57 scottl Exp $
 #
 # This list is semi-obsoleted by DEVFS, but for now it still contains
 # the current allocation of device major numbers.
@@ -148,7 +148,6 @@
 146	*twe		3ware Escalade ATA RAID (controller)
 148	*agp		AGP <dfr>
 149	*tap		Ethernet tunneling device <myevmenkin@att.com>
-150	*aac		Adaptec FSA RAID (controller)
 152	*acpi		ACPI bios support (Takanori Watanabe takawata@shidahara1.planet.sci.kobe-u.ac.jp)
 153	*ti		Tigon Gigabit Ethernet driver (ken@FreeBSD.ORG)
 154	*asr		Adaptec SCSI RAID <msmith@freebsd.org>
@@ -169,8 +168,6 @@
 173	*devctl		Devd control device <imp>
 174	pciwd		Berkshire Watchdog PCI <marcel@progressix.com>
 175	ips		IBM/Adaptec ServeRAID (control device)
-178	raidctl		RAIDframe (control device)
-179	raid		RAIDframe (disk device)
 180	nvidia		NVIDIA (nvidiaN/nvidiactl) <mdodd>
 181	casm		HP/Compaq ProLiant Advanced Server Management <peter>
 183	*smapi		SMAPI BIOS interface <mdodd>

==== //depot/projects/ia64/sys/ddb/db_elf.c#5 (text+ko) ====

@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/ddb/db_elf.c,v 1.16 2003/06/10 22:09:23 obrien Exp $");
+__FBSDID("$FreeBSD: src/sys/ddb/db_elf.c,v 1.17 2003/09/28 06:02:33 bde Exp $");
 
 #include "opt_ddb.h"
 
@@ -266,6 +266,11 @@
 	for (symp = symtab_start; symp < symtab_end; symp++) {
 		if (symp->st_name == 0)
 			continue;
+		if (ELF_ST_TYPE(symp->st_info) != STT_OBJECT &&
+		    ELF_ST_TYPE(symp->st_info) != STT_FUNC &&
+		    ELF_ST_TYPE(symp->st_info) != STT_NOTYPE)
+			continue;
+
 		if (off >= symp->st_value) {
 			if ((off - symp->st_value) < diff) {
 				diff = off - symp->st_value;

==== //depot/projects/ia64/sys/dev/aac/aac.c#32 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/aac/aac.c,v 1.78 2003/09/16 16:07:15 scottl Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/aac/aac.c,v 1.79 2003/09/29 14:10:04 scottl Exp $");
 
 /*
  * Driver for the Adaptec 'FSA' family of PCI/SCSI RAID adapters.
@@ -180,15 +180,12 @@
 static int		aac_return_aif(struct aac_softc *sc, caddr_t uptr);
 static int		aac_query_disk(struct aac_softc *sc, caddr_t uptr);
 
-#define AAC_CDEV_MAJOR	150
-
 static struct cdevsw aac_cdevsw = {
 	.d_open =	aac_open,
 	.d_close =	aac_close,
 	.d_ioctl =	aac_ioctl,
 	.d_poll =	aac_poll,
 	.d_name =	"aac",
-	.d_maj =	AAC_CDEV_MAJOR,
 };
 
 MALLOC_DEFINE(M_AACBUF, "aacbuf", "Buffers for the AAC driver");

==== //depot/projects/ia64/sys/dev/acpica/Osd/OsdSchedule.c#10 (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/acpica/Osd/OsdSchedule.c,v 1.23 2002/10/31 17:58:39 iwasaki Exp $
+ *	$FreeBSD: src/sys/dev/acpica/Osd/OsdSchedule.c,v 1.24 2003/09/29 07:29:26 njl Exp $
  */
 
 /*
@@ -262,7 +262,15 @@
 {
     ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
 
-    DELAY(Microseconds);
+    /* 
+     * Maximum length for stall is 100 us.  If longer, assume caller
+     * really meant "sleep".
+     */
+    if (Microseconds <= 100)
+	DELAY(Microseconds);
+    else
+	AcpiOsSleep(Microseconds / 1000, Microseconds % 1000);
+
     return_VOID;
 }
 

==== //depot/projects/ia64/sys/dev/mii/brgphy.c#18 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/mii/brgphy.c,v 1.26 2003/08/24 17:54:10 obrien Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/mii/brgphy.c,v 1.27 2003/09/28 04:16:16 ps Exp $");
 
 /*
  * Driver for the Broadcom BCR5400 1000baseTX PHY. Speed is always
@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/mii/brgphy.c,v 1.26 2003/08/24 17:54:10 obrien Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/mii/brgphy.c,v 1.27 2003/09/28 04:16:16 ps Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -622,7 +622,7 @@
 	/* Enable Ethernet@WireSpeed. */
 	PHY_WRITE(sc, BRGPHY_MII_AUXCTL, 0x7007);
 	val = PHY_READ(sc, BRGPHY_MII_AUXCTL);
-	PHY_WRITE(sc, BRGPHY_MII_AUXCTL, val | (1 << 15) || (1 << 4));
+	PHY_WRITE(sc, BRGPHY_MII_AUXCTL, val | (1 << 15) | (1 << 4));
 
 	/* Enable Link LED on Dell boxes */
 	if (bge_sc->bge_no_3_led) {

==== //depot/projects/ia64/sys/dev/nmdm/nmdm.c#9 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/nmdm/nmdm.c,v 1.15 2003/08/24 17:54:13 obrien Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/nmdm/nmdm.c,v 1.16 2003/09/28 20:48:12 phk Exp $");
 
 /*
  * Pseudo-nulmodem driver
@@ -604,8 +604,8 @@
 		nextdev2 = makedev(CDEV_MAJOR, (i+i) + 1);
 		ptr1 = nextdev1->si_drv1;
 		if (ptr1) {
-			revoke_and_destroy_dev(nextdev1);
-			revoke_and_destroy_dev(nextdev2);
+			destroy_dev(nextdev1);
+			destroy_dev(nextdev2);
 			free(ptr1, M_NLMDM);
 		} else {
 			freedev(nextdev1);

==== //depot/projects/ia64/sys/dev/ofw/ofw_console.c#12 (text+ko) ====

@@ -24,10 +24,10 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ofw/ofw_console.c,v 1.15 2003/09/26 19:35:49 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ofw/ofw_console.c,v 1.17 2003/09/28 06:51:47 jake Exp $");
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ofw/ofw_console.c,v 1.15 2003/09/26 19:35:49 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ofw/ofw_console.c,v 1.17 2003/09/28 06:51:47 jake Exp $");
 
 #include "opt_ddb.h"
 #include "opt_comconsole.h"
@@ -94,7 +94,8 @@
 	char output[32];
 	dev_t dev;
 
-	if (ofw_consdev.cn_pri != CN_DEAD) {
+	if (ofw_consdev.cn_pri != CN_DEAD &&
+	    ofw_consdev.cn_name[0] != '\0') {
 		if ((options = OF_finddevice("/options")) == -1 ||
 		    OF_getprop(options, "output-device", output,
 		    sizeof(output)) == -1)
@@ -276,7 +277,7 @@
 		return;
 	}
 
-	cp->cn_pri = CN_INTERNAL;
+	cp->cn_pri = CN_LOW;
 }
 
 static void

==== //depot/projects/ia64/sys/dev/raidframe/rf_decluster.c#3 (text+ko) ====

@@ -1,7 +1,7 @@
 /*	$NetBSD: rf_decluster.c,v 1.6 2001/01/26 04:40:03 oster Exp $	*/
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/raidframe/rf_decluster.c,v 1.2 2003/08/24 17:54:18 obrien Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/raidframe/rf_decluster.c,v 1.4 2003/09/29 14:23:59 scottl Exp $");
 /*
  * Copyright (c) 1995 Carnegie-Mellon University.
  * All rights reserved.
@@ -66,7 +66,7 @@
 extern int rf_copyback_in_progress;	/* debug only */
 
 /* found in rf_kintf.c */
-int     rf_GetSpareTableFromDaemon(RF_SparetWait_t * req);
+extern int     rf_GetSpareTableFromDaemon(RF_SparetWait_t * req);
 
 #if (RF_INCLUDE_PARITY_DECLUSTERING > 0) || (RF_INCLUDE_PARITY_DECLUSTERING_PQ > 0)
 

==== //depot/projects/ia64/sys/dev/raidframe/rf_freebsdkintf.c#15 (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/raidframe/rf_freebsdkintf.c,v 1.20 2003/07/27 17:04:54 phk Exp $
+ * $FreeBSD: src/sys/dev/raidframe/rf_freebsdkintf.c,v 1.21 2003/09/29 14:14:35 scottl Exp $
  */
 
 /*	$NetBSD: rf_netbsdkintf.c,v 1.105 2001/04/05 02:48:51 oster Exp $	*/
@@ -219,7 +219,6 @@
 	.d_close =	raidctlclose,
 	.d_ioctl =	raidctlioctl,
 	.d_name =	"raidctl",
-	.d_maj =	201,
 };
 
 /*

==== //depot/projects/ia64/sys/dev/sio/sio.c#55 (text+ko) ====

@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/sio/sio.c,v 1.413 2003/09/27 11:13:59 bde Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/sio/sio.c,v 1.414 2003/09/28 13:12:26 bde Exp $");
 
 #include "opt_comconsole.h"
 #include "opt_compat.h"
@@ -2302,8 +2302,6 @@
 	if (sio_getreg(com, com_dlbh) != dlbh)
 		sio_setreg(com, com_dlbh, dlbh);
 
-	if (!(tp->t_state & TS_TTSTOP))
-		com->state |= CS_TTGO;
 	efr_flowbits = 0;
 
 	if (cflag & CRTS_IFLOW) {
@@ -2348,13 +2346,6 @@
 
 	/* XXX shouldn't call functions while intrs are disabled. */
 	disc_optim(tp, t, com);
-	/*
-	 * Recover from fiddling with CS_TTGO.  We used to call siointr1()
-	 * unconditionally, but that defeated the careful discarding of
-	 * stale input in sioopen().
-	 */
-	if (com->state >= (CS_BUSY | CS_TTGO))
-		siointr1(com);
 
 	mtx_unlock_spin(&sio_lock);
 	splx(s);

==== //depot/projects/ia64/sys/dev/uart/uart_cpu_sparc64.c#6 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_sparc64.c,v 1.5 2003/09/26 05:14:56 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_sparc64.c,v 1.6 2003/09/28 07:06:34 jake Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -142,7 +142,10 @@
 	di->bas.bsh = sparc64_fake_bustag(space, addr, di->bas.bst);
 
 	/* Get the line settings. */
-	di->baudrate = 9600;
+	if (devtype == UART_DEV_KEYBOARD)
+		di->baudrate = 1200;
+	else
+		di->baudrate = 9600;
 	di->databits = 8;
 	di->stopbits = 1;
 	di->parity = UART_PARITY_NONE;

==== //depot/projects/ia64/sys/dev/uart/uart_tty.c#4 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/uart/uart_tty.c,v 1.3 2003/09/26 18:10:30 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/uart/uart_tty.c,v 1.4 2003/09/28 18:20:42 marcel Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -74,7 +74,6 @@
 	.d_ioctl = uart_tty_ioctl,
 	.d_poll = ttypoll,
 	.d_name = uart_driver_name,
-	.d_maj = MAJOR_AUTO,
 	.d_flags = D_TTY,
 	.d_kqfilter = ttykqfilter,
 };

==== //depot/projects/ia64/sys/dev/usb/ugen.c#18 (text+ko) ====

@@ -7,7 +7,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/ugen.c,v 1.76 2003/08/25 22:01:05 joe Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/ugen.c,v 1.77 2003/09/28 20:48:12 phk Exp $");
 
 /*
  * Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -273,7 +273,6 @@
 {
 	int endptno;
 	dev_t dev;
-	struct vnode *vp;
 
 	/* destroy all devices for the other (existing) endpoints as well */
 	for (endptno = 1; endptno < USB_MAX_ENDPOINTS; endptno++) {
@@ -289,9 +288,6 @@
 			 */
 			dev = makedev(UGEN_CDEV_MAJOR,
 				UGENMINOR(USBDEVUNIT(sc->sc_dev), endptno));
-			vp = SLIST_FIRST(&dev->si_hlist);
-			if (vp)
-				VOP_REVOKE(vp, REVOKEALL);
 
 			destroy_dev(dev);
 		}
@@ -860,7 +856,6 @@
 	int maj, mn;
 #elif defined(__FreeBSD__)
 	dev_t dev;
-	struct vnode *vp;
 #endif
 
 #if defined(__NetBSD__) || defined(__OpenBSD__)
@@ -901,9 +896,6 @@
 #elif defined(__FreeBSD__)
 	/* destroy the device for the control endpoint */
 	dev = makedev(UGEN_CDEV_MAJOR, UGENMINOR(USBDEVUNIT(sc->sc_dev), 0));
-	vp = SLIST_FIRST(&dev->si_hlist);
-	if (vp)
-		VOP_REVOKE(vp, REVOKEALL);
 	destroy_dev(dev);
 	ugen_destroy_devnodes(sc);
 #endif

==== //depot/projects/ia64/sys/dev/usb/uhid.c#16 (text+ko) ====

@@ -5,7 +5,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/uhid.c,v 1.62 2003/08/25 22:01:06 joe Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/uhid.c,v 1.63 2003/09/28 20:48:13 phk Exp $");
 
 /*
  * Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -304,8 +304,6 @@
 	int s;
 #if defined(__NetBSD__) || defined(__OpenBSD__)
 	int maj, mn;
-#elif defined(__FreeBSD__)
-	struct vnode *vp;
 #endif
 
 #if defined(__NetBSD__) || defined(__OpenBSD__)
@@ -339,10 +337,6 @@
 	mn = self->dv_unit;
 	vdevgone(maj, mn, mn, VCHR);
 #elif defined(__FreeBSD__)
-	vp = SLIST_FIRST(&sc->dev->si_hlist);
-	if (vp)
-		VOP_REVOKE(vp, REVOKEALL);
-
 	destroy_dev(sc->dev);
 #endif
 

==== //depot/projects/ia64/sys/dev/usb/ulpt.c#15 (text+ko) ====

@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/ulpt.c,v 1.58 2003/08/25 22:01:06 joe Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/ulpt.c,v 1.59 2003/09/28 20:48:13 phk Exp $");
 
 /*
  * Printer Class spec: http://www.usb.org/developers/data/devclass/usbprint109.PDF
@@ -58,7 +58,6 @@
 #endif
 #include <sys/uio.h>
 #include <sys/conf.h>
-#include <sys/vnode.h>
 #include <sys/syslog.h>
 #include <sys/sysctl.h>
 
@@ -376,8 +375,6 @@
 	int s;
 #if defined(__NetBSD__) || defined(__OpenBSD__)
 	int maj, mn;
-#elif defined(__FreeBSD__)
-	struct vnode *vp;
 #endif
 
 #if defined(__NetBSD__) || defined(__OpenBSD__)
@@ -414,13 +411,6 @@
 	mn = self->dv_unit;
 	vdevgone(maj, mn, mn, VCHR);
 #elif defined(__FreeBSD__)
-	vp = SLIST_FIRST(&sc->dev->si_hlist);
-	if (vp)
-		VOP_REVOKE(vp, REVOKEALL);
-	vp = SLIST_FIRST(&sc->dev_noprime->si_hlist);
-	if (vp)
-		VOP_REVOKE(vp, REVOKEALL);
-
 	destroy_dev(sc->dev);
 	destroy_dev(sc->dev_noprime);
 #endif

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

@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/ums.c,v 1.61 2003/08/25 22:10:52 joe Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/ums.c,v 1.62 2003/09/28 20:48:13 phk Exp $");
 
 /*
  * HID spec: http://www.usb.org/developers/data/devclass/hid1_1.pdf
@@ -367,7 +367,6 @@
 ums_detach(device_t self)
 {
 	struct ums_softc *sc = device_get_softc(self);
-	struct vnode *vp;
 
 	if (sc->sc_enabled)
 		ums_disable(sc);
@@ -377,10 +376,6 @@
 	free(sc->sc_loc_btn, M_USB);
 	free(sc->sc_ibuf, M_USB);
 
-	vp = SLIST_FIRST(&sc->dev->si_hlist);
-	if (vp)
-		VOP_REVOKE(vp, REVOKEALL);
-
 	/* someone waiting for data */
 	/*
 	 * XXX If we wakeup the process here, the device will be gone by

==== //depot/projects/ia64/sys/dev/usb/uscanner.c#15 (text+ko) ====

@@ -5,7 +5,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/uscanner.c,v 1.44 2003/08/25 22:01:06 joe Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/uscanner.c,v 1.45 2003/09/28 20:48:13 phk Exp $");
 
 /*
  * Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -620,7 +620,6 @@
 	int maj, mn;
 #elif defined(__FreeBSD__)
 	dev_t dev;
-	struct vnode *vp;
 #endif
 
 #if defined(__NetBSD__) || defined(__OpenBSD__)
@@ -657,9 +656,6 @@
 #elif defined(__FreeBSD__)
 	/* destroy the device for the control endpoint */
 	dev = makedev(USCANNER_CDEV_MAJOR, USBDEVUNIT(sc->sc_dev));
-	vp = SLIST_FIRST(&dev->si_hlist);
-	if (vp)
-		VOP_REVOKE(vp, REVOKEALL);
 	destroy_dev(dev);
 #endif
 

==== //depot/projects/ia64/sys/dev/vinum/vinumconfig.c#15 (text+ko) ====

@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/vinum/vinumconfig.c,v 1.61 2003/08/24 17:55:56 obrien Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/vinum/vinumconfig.c,v 1.62 2003/09/29 08:50:03 grog Exp $");
 
 #define STATIC static
 
@@ -254,12 +254,14 @@
 	} else						    /* first subdisk */
 	    sd->plexoffset = 0;				    /* start at the beginning */
     }
-    if (plex->subdisks == MAXSD)			    /* we already have our maximum */
+    if (plex->subdisks == MAXSD) {			    /* we already have our maximum */
+	if (sd->state == sd_unallocated)		    /* haven't finished allocating the sd, */
+	    free_sd(sdno);				    /* free it to return drive space */
 	throw_rude_remark(ENOSPC,			    /* crap out */
 	    "Can't add %s to %s: plex full",
 	    sd->name,
 	    plex->name);
-
+    }
     plex->subdisks++;					    /* another entry */
     if (plex->subdisks >= plex->subdisks_allocated)	    /* need more space */
 	EXPAND(plex->sdnos, int, plex->subdisks_allocated, INITIAL_SUBDISKS_IN_PLEX);
@@ -737,7 +739,13 @@
 	    sd->sectors);
     if (sd->plexno >= 0)
 	PLEX[sd->plexno].subdisks--;			    /* one less subdisk */
-    destroy_dev(sd->dev);
+    /*
+     * If we come here as the result of a
+     * configuration error, we may not yet have
+     * created a device entry for the subdisk.
+     */
+    if (sd->dev)
+	destroy_dev(sd->dev);
     bzero(sd, sizeof(struct sd));			    /* and clear it out */
     sd->state = sd_unallocated;
     vinum_conf.subdisks_used--;				    /* one less sd */
@@ -1199,11 +1207,6 @@
     if (DRIVE[sd->driveno].state != drive_up)
 	sd->state = sd_crashed;
 
-    /*
-     * This is tacky.  If something goes wrong
-     * with the checks, we may end up losing drive
-     * space.  FIXME.
-     */
     if (autosize != 0)					    /* need to find a size, */
 	give_sd_to_drive(sdno);				    /* do it before the plex */
 
@@ -1226,8 +1229,11 @@
 	    strlcpy(sd->name,				    /* take it from there */
 		PLEX[sd->plexno].name,
 		sizeof(sd->name));
-	else						    /* no way */
+	else {						    /* no way */
+	    if (sd->state == sd_unallocated)		    /* haven't finished allocating the sd, */
+		free_sd(sdno);				    /* free it to return drive space */
 	    throw_rude_remark(EINVAL, "Unnamed sd is not associated with a plex");
+	}
 	sprintf(sdsuffix, ".s%d", sdindex);		    /* form the suffix */
 	strlcat(sd->name, sdsuffix, sizeof(sd->name));	    /* and add it to the name */
     }

==== //depot/projects/ia64/sys/dev/vinum/vinumrevive.c#10 (text+ko) ====

@@ -37,12 +37,12 @@
  * otherwise) arising in any way out of the use of this software, even if
  * advised of the possibility of such damage.
  *
- * $Id: vinumrevive.c,v 1.18 2003/04/28 02:54:43 grog Exp $
+ * $Id: vinumrevive.c,v 1.19 2003/05/08 04:34:47 grog Exp grog $
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/vinum/vinumrevive.c,v 1.43 2003/08/24 17:55:57 obrien Exp $");
 
+__FBSDID("$FreeBSD: src/sys/dev/vinum/vinumrevive.c,v 1.44 2003/09/29 03:16:20 grog Exp $");
 #include <dev/vinum/vinumhdr.h>
 #include <dev/vinum/request.h>
 
@@ -161,9 +161,9 @@
 	       * First, read the data from the volume.  We
 	       * don't care which plex, that's bre's job.
 	     */
-	    bp->b_dev = VINUM_VOL(plex->volno);		    /* create the device number */
+	    bp->b_dev = VOL[plex->volno].dev;		    /* create the device number */
 	else						    /* it's an unattached plex */
-	    bp->b_dev = VINUM_PLEX(sd->plexno);		    /* create the device number */
+	    bp->b_dev = PLEX[sd->plexno].dev;		    /* create the device number */
 
 	bp->b_iocmd = BIO_READ;				    /* either way, read it */
 	bp->b_flags = 0;
@@ -178,7 +178,7 @@
     } else
 	/* Now write to the subdisk */
     {
-	bp->b_dev = VINUM_SD(sdno);			    /* create the device number */
+	bp->b_dev = SD[sdno].dev;			    /* create the device number */
 	bp->b_flags &= ~B_DONE;				    /* no longer done */
 	bp->b_ioflags = 0;
 	bp->b_iocmd = BIO_WRITE;
@@ -212,7 +212,7 @@
 		    rq->bp->b_iocmd == BIO_READ ? "Read" : "Write",
 		    major(rq->bp->b_dev),
 		    minor(rq->bp->b_dev),
-		    (intmax_t)rq->bp->b_blkno,
+		    (intmax_t) rq->bp->b_blkno,
 		    rq->bp->b_bcount);
 #endif
 	    launch_requests(sd->waitlist, 1);		    /* do them now */
@@ -309,7 +309,7 @@
 		reply->error = EIO;
 	    sprintf(reply->msg,
 		"Parity incorrect at offset 0x%jx\n",
-		(intmax_t)errorloc);
+		(intmax_t) errorloc);
 	}
 	if (reply->error == EAGAIN) {			    /* still OK, */
 	    plex->checkblock = pstripe + (pbp->b_bcount >> DEV_BSHIFT);	/* moved this much further down */

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



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