From owner-p4-projects Thu Jun 20 21:18:31 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4C4C137B40E; Thu, 20 Jun 2002 21:16:00 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 5AFDD37B404 for ; Thu, 20 Jun 2002 21:15:58 -0700 (PDT) Received: (from perforce@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g5L4Fvu57122 for perforce@freebsd.org; Thu, 20 Jun 2002 21:15:57 -0700 (PDT) (envelope-from bmilekic@freebsd.org) Date: Thu, 20 Jun 2002 21:15:57 -0700 (PDT) Message-Id: <200206210415.g5L4Fvu57122@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: perforce set sender to bmilekic@freebsd.org using -f From: Bosko Milekic Subject: PERFORCE change 13228 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://people.freebsd.org/~peter/p4db/chv.cgi?CH=13228 Change 13228 by bmilekic@bmilekic_angela on 2002/06/20 21:15:00 Catch up to -CURRENT... sigh; need to get textbox back up. Affected files ... ... //depot/projects/interrupt/sys/alpha/alpha/support.s#3 integrate ... //depot/projects/interrupt/sys/alpha/include/runq.h#2 integrate ... //depot/projects/interrupt/sys/alpha/osf1/osf1_misc.c#5 integrate ... //depot/projects/interrupt/sys/boot/efi/libefi/bootinfo.c#2 integrate ... //depot/projects/interrupt/sys/boot/i386/libi386/bootinfo.c#2 integrate ... //depot/projects/interrupt/sys/boot/ia64/libski/bootinfo.c#2 integrate ... //depot/projects/interrupt/sys/boot/sparc64/loader/metadata.c#4 integrate ... //depot/projects/interrupt/sys/cam/scsi/scsi_sa.c#2 integrate ... //depot/projects/interrupt/sys/conf/files#8 integrate ... //depot/projects/interrupt/sys/conf/options#6 integrate ... //depot/projects/interrupt/sys/conf/options.i386#5 integrate ... //depot/projects/interrupt/sys/conf/options.ia64#3 integrate ... //depot/projects/interrupt/sys/conf/options.pc98#5 integrate ... //depot/projects/interrupt/sys/dev/ata/ata-dma.c#6 integrate ... //depot/projects/interrupt/sys/dev/ata/ata-pci.c#6 integrate ... //depot/projects/interrupt/sys/dev/ata/atapi-fd.c#5 integrate ... //depot/projects/interrupt/sys/dev/ata/atapi-fd.h#3 integrate ... //depot/projects/interrupt/sys/dev/em/if_em_fxhw.c#4 delete ... //depot/projects/interrupt/sys/dev/em/if_em_fxhw.h#4 delete ... //depot/projects/interrupt/sys/dev/em/if_em_phy.c#4 delete ... //depot/projects/interrupt/sys/dev/em/if_em_phy.h#4 delete ... //depot/projects/interrupt/sys/dev/sio/sio.c#4 integrate ... //depot/projects/interrupt/sys/dev/sio/sioreg.h#3 integrate ... //depot/projects/interrupt/sys/dev/wi/if_wi.c#8 integrate ... //depot/projects/interrupt/sys/dev/wi/if_wireg.h#5 integrate ... //depot/projects/interrupt/sys/dev/wi/if_wivar.h#2 integrate ... //depot/projects/interrupt/sys/gnu/i386/fpemul/load_store.c#2 integrate ... //depot/projects/interrupt/sys/gnu/i386/fpemul/reg_ld_str.c#2 integrate ... //depot/projects/interrupt/sys/i386/i386/math_emulate.c#3 integrate ... //depot/projects/interrupt/sys/i386/i386/support.s#5 integrate ... //depot/projects/interrupt/sys/i386/i386/vm86.c#3 integrate ... //depot/projects/interrupt/sys/i386/include/runq.h#2 integrate ... //depot/projects/interrupt/sys/ia64/ia32/imgact_ia32.c#2 integrate ... //depot/projects/interrupt/sys/ia64/ia64/pmap.c#6 integrate ... //depot/projects/interrupt/sys/ia64/ia64/support.s#3 integrate ... //depot/projects/interrupt/sys/ia64/ia64/trap.c#6 integrate ... //depot/projects/interrupt/sys/ia64/include/runq.h#2 integrate ... //depot/projects/interrupt/sys/kern/kern_exec.c#5 integrate ... //depot/projects/interrupt/sys/kern/kern_linker.c#6 integrate ... //depot/projects/interrupt/sys/kern/kern_prot.c#6 integrate ... //depot/projects/interrupt/sys/kern/kern_subr.c#4 integrate ... //depot/projects/interrupt/sys/kern/kern_switch.c#5 integrate ... //depot/projects/interrupt/sys/kern/sys_generic.c#5 integrate ... //depot/projects/interrupt/sys/kern/tty.c#6 integrate ... //depot/projects/interrupt/sys/kern/uipc_socket.c#5 integrate ... //depot/projects/interrupt/sys/kern/uipc_syscalls.c#5 integrate ... //depot/projects/interrupt/sys/kern/vfs_subr.c#7 integrate ... //depot/projects/interrupt/sys/kern/vfs_syscalls.c#7 integrate ... //depot/projects/interrupt/sys/modules/netgraph/device/Makefile#1 branch ... //depot/projects/interrupt/sys/netgraph/ng_device.c#1 branch ... //depot/projects/interrupt/sys/netgraph/ng_device.h#1 branch ... //depot/projects/interrupt/sys/netinet/if_ether.c#3 integrate ... //depot/projects/interrupt/sys/pc98/conf/GENERIC#4 integrate ... //depot/projects/interrupt/sys/pc98/pc98/fd.c#4 integrate ... //depot/projects/interrupt/sys/pc98/pc98/sio.c#6 integrate ... //depot/projects/interrupt/sys/powerpc/include/runq.h#2 integrate ... //depot/projects/interrupt/sys/powerpc/powerpc/copyinout.c#2 integrate ... //depot/projects/interrupt/sys/sparc64/include/runq.h#2 integrate ... //depot/projects/interrupt/sys/sparc64/sparc64/support.s#4 integrate ... //depot/projects/interrupt/sys/sys/_sigset.h#2 integrate ... //depot/projects/interrupt/sys/sys/disklabel.h#5 integrate ... //depot/projects/interrupt/sys/sys/malloc.h#5 integrate ... //depot/projects/interrupt/sys/sys/mbuf.h#4 integrate ... //depot/projects/interrupt/sys/sys/mount.h#5 integrate ... //depot/projects/interrupt/sys/sys/socket.h#5 integrate ... //depot/projects/interrupt/sys/sys/systm.h#7 integrate ... //depot/projects/interrupt/sys/sys/ucred.h#5 integrate ... //depot/projects/interrupt/sys/sys/uio.h#3 integrate ... //depot/projects/interrupt/sys/sys/un.h#3 integrate ... //depot/projects/interrupt/sys/ufs/ufs/ufs_readwrite.c#5 integrate ... //depot/projects/interrupt/sys/vm/uma.h#3 integrate ... //depot/projects/interrupt/sys/vm/uma_core.c#3 integrate ... //depot/projects/interrupt/sys/vm/vm_kern.c#5 integrate ... //depot/projects/interrupt/sys/vm/vm_map.c#7 integrate ... //depot/projects/interrupt/sys/vm/vm_object.c#5 integrate ... //depot/projects/interrupt/sys/vm/vm_unix.c#3 integrate Differences ... ==== //depot/projects/interrupt/sys/alpha/alpha/support.s#3 (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/alpha/alpha/support.s,v 1.10 2002/05/26 16:03:12 dfr Exp $ + * $FreeBSD: src/sys/alpha/alpha/support.s,v 1.12 2002/06/20 07:40:53 peter Exp $ */ /* @@ -150,11 +150,6 @@ RET END(fubyte) - LEAF(suibyte, 2) - ldiq v0, -1 - RET - END(suibyte) - LEAF(fusufault, 0) ldq t0, PC_CURTHREAD(pcpup) ldq t0, TD_PCB(t0) @@ -164,8 +159,8 @@ END(fusufault) LEAF(fswintrberr, 0) -XLEAF(fuswintr, 2) /* XXX what is a 'word'? */ -XLEAF(suswintr, 2) /* XXX what is a 'word'? */ +XLEAF(fuswintr, 2) /* XXX 16 bit short for profiling */ +XLEAF(suswintr, 2) /* XXX 16 bit short for profiling */ LDGP(pv) ldiq v0, -1 RET ==== //depot/projects/interrupt/sys/alpha/include/runq.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/alpha/include/runq.h,v 1.1 2002/05/25 01:12:15 jake Exp $ + * $FreeBSD: src/sys/alpha/include/runq.h,v 1.2 2002/06/20 06:21:19 peter Exp $ */ #ifndef _MACHINE_RUNQ_H_ @@ -36,7 +36,7 @@ #define RQB_BIT(pri) (1UL << ((pri) & (RQB_BPW - 1))) #define RQB_WORD(pri) ((pri) >> RQB_L2BPW) -#define RQB_FFS(word) (ffs64(word)) +#define RQB_FFS(word) (ffs64(word) - 1) /* * Type of run queue status word. ==== //depot/projects/interrupt/sys/alpha/osf1/osf1_misc.c#5 (text+ko) ==== @@ -29,7 +29,7 @@ /* * Additional Copyright (c) 1999 by Andrew Gallatin - * $FreeBSD: src/sys/alpha/osf1/osf1_misc.c,v 1.30 2002/04/13 23:11:22 jhb Exp $ + * $FreeBSD: src/sys/alpha/osf1/osf1_misc.c,v 1.31 2002/06/19 06:39:25 alfred Exp $ */ @@ -1056,17 +1056,20 @@ struct proc *p; int error; uid_t uid; + struct uidinfo *uip; struct ucred *newcred, *oldcred; p = td->td_proc; uid = SCARG(uap, uid); newcred = crget(); + uip = uifind(uid); PROC_LOCK(p); oldcred = p->p_ucred; if ((error = suser_cred(p->p_ucred, PRISON_ROOT)) != 0 && uid != oldcred->cr_ruid && uid != oldcred->cr_svuid) { PROC_UNLOCK(p); + uifree(uip); crfree(newcred); return (error); } @@ -1074,7 +1077,7 @@ crcopy(newcred, oldcred); if (error == 0) { if (uid != oldcred->cr_ruid) { - change_ruid(newcred, uid); + change_ruid(newcred, uip); setsugid(p); } if (oldcred->cr_svuid != uid) { @@ -1083,11 +1086,12 @@ } } if (newcred->cr_uid != uid) { - change_euid(newcred, uid); + change_euid(newcred, uip); setsugid(p); } p->p_ucred = newcred; PROC_UNLOCK(p); + uifree(uip); crfree(oldcred); return (0); } ==== //depot/projects/interrupt/sys/boot/efi/libefi/bootinfo.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/boot/efi/libefi/bootinfo.c,v 1.5 2001/11/19 07:09:47 peter Exp $ + * $FreeBSD: src/sys/boot/efi/libefi/bootinfo.c,v 1.6 2002/06/20 06:29:42 peter Exp $ */ #include @@ -55,6 +55,8 @@ {"boot_gdb", RB_GDB}, {"boot_single", RB_SINGLE}, {"boot_verbose", RB_VERBOSE}, + {"boot_multicons", RB_MULTIPLE}, + {"boot_serial", RB_SERIAL}, {NULL, 0} }; ==== //depot/projects/interrupt/sys/boot/i386/libi386/bootinfo.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/boot/i386/libi386/bootinfo.c,v 1.32 2002/01/04 07:59:27 jhb Exp $ + * $FreeBSD: src/sys/boot/i386/libi386/bootinfo.c,v 1.33 2002/06/20 06:29:42 peter Exp $ */ #include @@ -53,6 +53,8 @@ {"boot_gdb", RB_GDB}, {"boot_single", RB_SINGLE}, {"boot_verbose", RB_VERBOSE}, + {"boot_multicons", RB_MULTIPLE}, + {"boot_serial", RB_SERIAL}, {NULL, 0} }; ==== //depot/projects/interrupt/sys/boot/ia64/libski/bootinfo.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/boot/ia64/libski/bootinfo.c,v 1.5 2001/11/19 07:05:09 peter Exp $ + * $FreeBSD: src/sys/boot/ia64/libski/bootinfo.c,v 1.6 2002/06/20 06:29:42 peter Exp $ */ #include @@ -54,6 +54,8 @@ {"boot_gdb", RB_GDB}, {"boot_single", RB_SINGLE}, {"boot_verbose", RB_VERBOSE}, + {"boot_multicons", RB_MULTIPLE}, + {"boot_serial", RB_SERIAL}, {NULL, 0} }; ==== //depot/projects/interrupt/sys/boot/sparc64/loader/metadata.c#4 (text+ko) ==== @@ -24,7 +24,7 @@ * SUCH DAMAGE. * * from: FreeBSD: src/sys/boot/i386/libi386/bootinfo.c,v 1.29 - * $FreeBSD: src/sys/boot/sparc64/loader/metadata.c,v 1.5 2002/05/29 05:49:58 jake Exp $ + * $FreeBSD: src/sys/boot/sparc64/loader/metadata.c,v 1.6 2002/06/20 06:29:42 peter Exp $ */ #include @@ -61,6 +61,8 @@ {"boot_gdb", RB_GDB}, {"boot_single", RB_SINGLE}, {"boot_verbose", RB_VERBOSE}, + {"boot_multicons", RB_MULTIPLE}, + {"boot_serial", RB_SERIAL}, {NULL, 0} }; ==== //depot/projects/interrupt/sys/cam/scsi/scsi_sa.c#2 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/sys/cam/scsi/scsi_sa.c,v 1.81 2001/09/14 19:00:51 mjacob Exp $ + * $FreeBSD: src/sys/cam/scsi/scsi_sa.c,v 1.82 2002/06/19 20:44:48 robert Exp $ * * Implementation of SCSI Sequential Access Peripheral driver for CAM. * @@ -2298,7 +2298,7 @@ saerror(union ccb *ccb, u_int32_t cflgs, u_int32_t sflgs) { static const char *toobig = - "%d-byte tape record bigger than suplied buffer\n"; + "%d-byte tape record bigger than supplied buffer\n"; struct cam_periph *periph; struct sa_softc *softc; struct ccb_scsiio *csio; ==== //depot/projects/interrupt/sys/conf/files#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.649 2002/06/17 05:40:40 jhay Exp $ +# $FreeBSD: src/sys/conf/files,v 1.650 2002/06/18 21:32:33 julian Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -1112,6 +1112,7 @@ net/bpf_filter.c optional netgraph_bpf netgraph/ng_bridge.c optional netgraph_bridge netgraph/ng_cisco.c optional netgraph_cisco +netgraph/ng_device.c optional netgraph_device netgraph/ng_echo.c optional netgraph_echo netgraph/ng_ether.c optional netgraph_ether netgraph/ng_frame_relay.c optional netgraph_frame_relay ==== //depot/projects/interrupt/sys/conf/options#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.325 2002/06/13 22:41:23 rwatson Exp $ +# $FreeBSD: src/sys/conf/options,v 1.326 2002/06/18 21:30:36 n_hibma Exp $ # # On the handling of kernel options # @@ -69,10 +69,12 @@ COMPAT_SUNOS opt_compat.h COMPILING_LINT opt_global.h CY_PCI_FASTINTR +CONSPEED opt_comconsole.h DDB DDB_NOKLDSYM opt_ddb.h DDB_UNATTENDED opt_ddb.h GDB_REMOTE_CHAT opt_ddb.h +GDBSPEED opt_ddb.h NODEVFS opt_devfs.h HW_WDOG KTRACE ==== //depot/projects/interrupt/sys/conf/options.i386#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.i386,v 1.170 2002/05/16 21:23:40 trhodes Exp $ +# $FreeBSD: src/sys/conf/options.i386,v 1.171 2002/06/18 21:30:36 n_hibma Exp $ # Options specific to the i386 platform kernels DISABLE_PSE @@ -14,7 +14,6 @@ POWERFAIL_NMI opt_trap.h AUTO_EOI_1 opt_auto_eoi.h AUTO_EOI_2 opt_auto_eoi.h -CONSPEED opt_comconsole.h I586_PMC_GUPROF opt_i586_guprof.h WLCACHE opt_wavelan.h WLDEBUG opt_wavelan.h ==== //depot/projects/interrupt/sys/conf/options.ia64#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.ia64,v 1.10 2002/04/14 04:33:41 peter Exp $ +# $FreeBSD: src/sys/conf/options.ia64,v 1.11 2002/06/18 21:30:37 n_hibma Exp $ # Options specific to the ia64 platform kernels ITANIUM opt_global.h @@ -15,8 +15,6 @@ SHOW_BUSYBUFS PANIC_REBOOT_WAIT_TIME opt_panic.h -CONSPEED opt_comconsole.h - MAXCONS opt_syscons.h SC_ALT_MOUSE_IMAGE opt_syscons.h SC_DEBUG_LEVEL opt_syscons.h ==== //depot/projects/interrupt/sys/conf/options.pc98#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.pc98,v 1.145 2002/05/19 13:18:10 nyan Exp $ +# $FreeBSD: src/sys/conf/options.pc98,v 1.146 2002/06/18 21:30:37 n_hibma Exp $ # Options specific to the pc98 platform kernels DISABLE_PSE @@ -14,7 +14,6 @@ POWERFAIL_NMI opt_trap.h AUTO_EOI_1 opt_auto_eoi.h AUTO_EOI_2 opt_auto_eoi.h -CONSPEED opt_comconsole.h I586_PMC_GUPROF opt_i586_guprof.h WLCACHE opt_wavelan.h WLDEBUG opt_wavelan.h ==== //depot/projects/interrupt/sys/dev/ata/ata-dma.c#6 (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-dma.c,v 1.98 2002/04/26 22:48:20 mike Exp $ + * $FreeBSD: src/sys/dev/ata/ata-dma.c,v 1.99 2002/06/19 12:26:20 sos Exp $ */ #include @@ -1027,8 +1027,8 @@ } break; + case 0x0d30105a: /* Promise OEM ATA100 controllers */ case 0x4d30105a: /* Promise Ultra/FastTrak 100 controllers */ - case 0x0d30105a: /* Promise OEM ATA100 controllers */ if (!ATAPI_DEVICE(atadev) && udmamode >= 5 && !(pci_read_config(parent, 0x50, 2) & (channel ? 1<<11 : 1<<10))) { error = ata_command(atadev, ATA_C_SETFEATURES, 0, @@ -1044,6 +1044,7 @@ } /* FALLTHROUGH */ + case 0x0d38105a: /* Promise FastTrak 66 controllers */ case 0x4d38105a: /* Promise Ultra/FastTrak 66 controllers */ if (!ATAPI_DEVICE(atadev) && udmamode >= 4 && !(pci_read_config(parent, 0x50, 2) & (channel ? 1<<11 : 1<<10))) { @@ -1398,9 +1399,10 @@ } break; + case 0x0d38105a: /* Promise Fasttrak 66 */ case 0x4d38105a: /* Promise Ultra/Fasttrak 66 */ + case 0x0d30105a: /* Promise OEM ATA 100 */ case 0x4d30105a: /* Promise Ultra/Fasttrak 100 */ - case 0x0d30105a: /* Promise OEM ATA 100 */ switch (mode) { default: case ATA_PIO0: t->pa = 15; t->pb = 31; t->mb = 7; t->mc = 15; break; ==== //depot/projects/interrupt/sys/dev/ata/ata-pci.c#6 (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-pci.c,v 1.41 2002/04/16 08:30:51 sos Exp $ + * $FreeBSD: src/sys/dev/ata/ata-pci.c,v 1.42 2002/06/19 12:26:20 sos Exp $ */ #include "opt_ata.h" @@ -243,6 +243,7 @@ case 0x4d33105a: return "Promise ATA33 controller"; + case 0x0d38105a: case 0x4d38105a: return "Promise ATA66 controller"; @@ -404,9 +405,10 @@ (pci_read_config(dev, 0x53, 1) & ~0x01) | 0x02, 1); break; - case 0x4d38105a: /* Promise 66 & 100 (before TX2) need the clock changed */ + case 0x0d30105a: /* Promise 66 & 100 (before TX2) need the clock changed */ case 0x4d30105a: - case 0x0d30105a: + case 0x0d38105a: + case 0x4d38105a: ATA_OUTB(controller->bmio, 0x11, ATA_INB(controller->bmio, 0x11)|0x0a); /* FALLTHROUGH */ @@ -565,9 +567,10 @@ break; case 0x4d33105a: /* Promise Ultra/Fasttrak 33 */ + case 0x0d38105a: /* Promise Fasttrak 66 */ case 0x4d38105a: /* Promise Ultra/Fasttrak 66 */ + case 0x0d30105a: /* Promise OEM ATA100 */ case 0x4d30105a: /* Promise Ultra/Fasttrak 100 */ - case 0x0d30105a: /* Promise OEM ATA100 */ if (!(ATA_INL(ch->r_bmio, (ch->unit ? 0x14 : 0x1c)) & (ch->unit ? 0x00004000 : 0x00000400))) return 1; ==== //depot/projects/interrupt/sys/dev/ata/atapi-fd.c#5 (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/atapi-fd.c,v 1.72 2002/05/25 11:18:02 bde Exp $ + * $FreeBSD: src/sys/dev/ata/atapi-fd.c,v 1.73 2002/06/19 12:41:05 sos Exp $ */ #include @@ -69,7 +69,6 @@ /* prototypes */ static int afd_sense(struct afd_softc *); static void afd_describe(struct afd_softc *); -static int afd_partial_done(struct atapi_request *); static int afd_done(struct atapi_request *); static int afd_eject(struct afd_softc *, int); static int afd_start_stop(struct afd_softc *, int); @@ -101,17 +100,20 @@ return 0; } - if (!strncmp(atadev->param->model, "IOMEGA ZIP", 10)) - fdp->transfersize = 64; - devstat_add_entry(&fdp->stats, "afd", fdp->lun, DEV_BSIZE, DEVSTAT_NO_ORDERED_TAGS, DEVSTAT_TYPE_DIRECT | DEVSTAT_TYPE_IF_IDE, DEVSTAT_PRIORITY_WFD); dev = disk_create(fdp->lun, &fdp->disk, 0, &afd_cdevsw, &afddisk_cdevsw); dev->si_drv1 = fdp; - dev->si_iosize_max = 252 * DEV_BSIZE; fdp->dev = dev; + + if (!strncmp(atadev->param->model, "IOMEGA ZIP", 10) || + !strncmp(atadev->param->model, "IOMEGA Clik!", 12)) + fdp->dev->si_iosize_max = 64 * DEV_BSIZE; + else + fdp->dev->si_iosize_max = 252 * DEV_BSIZE; + afd_describe(fdp); atadev->flags |= ATA_D_MEDIA_CHANGED; atadev->driver = fdp; @@ -147,7 +149,6 @@ /* The IOMEGA Clik! doesn't support reading the cap page, fake it */ if (!strncmp(fdp->device->param->model, "IOMEGA Clik!", 12)) { - fdp->transfersize = 64; fdp->cap.transfer_rate = 500; fdp->cap.heads = 1; fdp->cap.sectors = 2; @@ -189,8 +190,6 @@ fdp->cap.cylinders, fdp->cap.heads, fdp->cap.sectors, fdp->cap.sector_size); ata_prtdev(fdp->device, "%dKB/s,", fdp->cap.transfer_rate / 8); - if (fdp->transfersize) - printf(" transfer limit %d blks,", fdp->transfersize); printf(" %s\n", ata_mode2str(fdp->device->mode)); if (fdp->cap.medium_type) { ata_prtdev(fdp->device, "Medium: "); @@ -294,6 +293,13 @@ return; } + /* if it's a null transfer, return immediatly. */ + if (bp->bio_bcount == 0) { + bp->bio_resid = 0; + biodone(bp); + return; + } + s = splbio(); bioqdisksort(&fdp->queue, bp); splx(s); @@ -324,7 +330,7 @@ lba = bp->bio_pblkno; count = bp->bio_bcount / fdp->cap.sector_size; data_ptr = bp->bio_data; - bp->bio_resid = 0; + bp->bio_resid = bp->bio_bcount; bzero(ccb, sizeof(ccb)); @@ -333,26 +339,6 @@ else ccb[0] = ATAPI_WRITE_BIG; - devstat_start_transaction(&fdp->stats); - - while (fdp->transfersize && (count > fdp->transfersize)) { - ccb[2] = lba>>24; - ccb[3] = lba>>16; - ccb[4] = lba>>8; - ccb[5] = lba; - ccb[7] = fdp->transfersize>>8; - ccb[8] = fdp->transfersize; - - atapi_queue_cmd(fdp->device, ccb, data_ptr, - fdp->transfersize * fdp->cap.sector_size, - (bp->bio_cmd == BIO_READ) ? ATPR_F_READ : 0, 30, - afd_partial_done, bp); - - count -= fdp->transfersize; - lba += fdp->transfersize; - data_ptr += fdp->transfersize * fdp->cap.sector_size; - } - ccb[2] = lba>>24; ccb[3] = lba>>16; ccb[4] = lba>>8; @@ -360,25 +346,14 @@ ccb[7] = count>>8; ccb[8] = count; + devstat_start_transaction(&fdp->stats); + atapi_queue_cmd(fdp->device, ccb, data_ptr, count * fdp->cap.sector_size, (bp->bio_cmd == BIO_READ) ? ATPR_F_READ : 0, 30, afd_done, bp); } static int -afd_partial_done(struct atapi_request *request) -{ - struct bio *bp = request->driver; - - if (request->error) { - bp->bio_error = request->error; - bp->bio_flags |= BIO_ERROR; - } - bp->bio_resid += request->bytecount; - return 0; -} - -static int afd_done(struct atapi_request *request) { struct bio *bp = request->driver; @@ -389,7 +364,7 @@ bp->bio_flags |= BIO_ERROR; } else - bp->bio_resid += (bp->bio_bcount - request->donecount); + bp->bio_resid = bp->bio_bcount - request->donecount; biofinish(bp, &fdp->stats, 0); return 0; } ==== //depot/projects/interrupt/sys/dev/ata/atapi-fd.h#3 (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/atapi-fd.h,v 1.16 2002/02/04 19:23:40 sos Exp $ + * $FreeBSD: src/sys/dev/ata/atapi-fd.h,v 1.17 2002/06/19 12:41:05 sos Exp $ */ /* ATAPI Rewriteable drive Capabilities and Mechanical Status Page */ @@ -71,7 +71,6 @@ struct afd_softc { struct ata_device *device; /* device softc */ int lun; /* logical device unit */ - int transfersize; /* max size of each transfer */ struct bio_queue_head queue; /* queue of i/o requests */ struct afd_cappage cap; /* capabilities page info */ struct disk disk; /* virtual drives */ ==== //depot/projects/interrupt/sys/dev/sio/sio.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/sio/sio.c,v 1.374 2002/04/26 20:24:10 phk Exp $ + * $FreeBSD: src/sys/dev/sio/sio.c,v 1.375 2002/06/18 21:30:37 n_hibma Exp $ * from: @(#)com.c 7.5 (Berkeley) 5/16/91 * from: i386/isa sio.c,v 1.234 */ @@ -332,14 +332,12 @@ static volatile speed_t comdefaultrate = CONSPEED; static u_long comdefaultrclk = DEFAULT_RCLK; SYSCTL_ULONG(_machdep, OID_AUTO, conrclk, CTLFLAG_RW, &comdefaultrclk, 0, ""); -#ifdef __alpha__ -static volatile speed_t gdbdefaultrate = CONSPEED; -#endif +static speed_t gdbdefaultrate = GDBSPEED; +SYSCTL_UINT(_machdep, OID_AUTO, gdbspeed, CTLFLAG_RW, + &gdbdefaultrate, GDBSPEED, ""); static u_int com_events; /* input chars + weighted output completions */ static Port_t siocniobase; -#ifndef __alpha__ -static int siocnunit; -#endif +static int siocnunit = -1; static Port_t siogdbiobase; static int siogdbunit = -1; static void *sio_slow_ih; @@ -3126,13 +3124,17 @@ Port_t iobase; int s; struct siocnstate sp; + speed_t speed; - if (minor(dev) == siogdbunit) + if (minor(dev) == siocnunit) { + iobase = siocniobase; + speed = comdefaultrate; + } else { iobase = siogdbiobase; - else - iobase = siocniobase; + speed = gdbdefaultrate; + } s = spltty(); - siocnopen(&sp, iobase, comdefaultrate); + siocnopen(&sp, iobase, speed); if (inb(iobase + com_lsr) & LSR_RXRDY) c = inb(iobase + com_data); else @@ -3151,13 +3153,17 @@ Port_t iobase; int s; struct siocnstate sp; + speed_t speed; - if (minor(dev) == siogdbunit) + if (minor(dev) == siocnunit) { + iobase = siocniobase; + speed = comdefaultrate; + } else { iobase = siogdbiobase; - else - iobase = siocniobase; + speed = gdbdefaultrate; + } s = spltty(); - siocnopen(&sp, iobase, comdefaultrate); + siocnopen(&sp, iobase, speed); while (!(inb(iobase + com_lsr) & LSR_RXRDY)) ; c = inb(iobase + com_data); @@ -3175,18 +3181,22 @@ int s; struct siocnstate sp; Port_t iobase; + speed_t speed; - if (minor(dev) == siogdbunit) + if (minor(dev) == siocnunit) { + iobase = siocniobase; + speed = comdefaultrate; + } else { iobase = siogdbiobase; - else - iobase = siocniobase; + speed = gdbdefaultrate; + } s = spltty(); need_unlock = 0; if (sio_inited == 2 && !mtx_owned(&sio_lock)) { mtx_lock_spin(&sio_lock); need_unlock = 1; } - siocnopen(&sp, iobase, comdefaultrate); + siocnopen(&sp, iobase, speed); siocntxwait(iobase); outb(iobase + com_data, c); siocnclose(&sp, iobase); @@ -3201,12 +3211,20 @@ { int c; Port_t iobase; + speed_t speed; int s; struct siocnstate sp; - iobase = siogdbiobase; + if (minor(dev) == siocnunit) { + iobase = siocniobase; + speed = comdefaultrate; + } else { + iobase = siogdbiobase; + speed = gdbdefaultrate; + } + s = spltty(); - siocnopen(&sp, iobase, gdbdefaultrate); + siocnopen(&sp, iobase, speed); while (!(inb(iobase + com_lsr) & LSR_RXRDY)) ; c = inb(iobase + com_data); @@ -3219,11 +3237,21 @@ siogdbputc(c) int c; { + Port_t iobase; + speed_t speed; int s; struct siocnstate sp; + if (minor(dev) == siocnunit) { + iobase = siocniobase; + speed = comdefaultrate; + } else { + iobase = siogdbiobase; + speed = gdbdefaultrate; + } + s = spltty(); - siocnopen(&sp, siogdbiobase, gdbdefaultrate); + siocnopen(&sp, iobase, speed); siocntxwait(siogdbiobase); outb(siogdbiobase + com_data, c); siocnclose(&sp, siogdbiobase); ==== //depot/projects/interrupt/sys/dev/sio/sioreg.h#3 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#)comreg.h 7.2 (Berkeley) 5/9/91 - * $FreeBSD: src/sys/dev/sio/sioreg.h,v 1.19 2002/01/31 08:23:30 nyan Exp $ + * $FreeBSD: src/sys/dev/sio/sioreg.h,v 1.20 2002/06/18 21:30:37 n_hibma Exp $ */ /* Receiver clock frequency for "standard" pc serial ports. */ @@ -123,4 +123,9 @@ #define CONSPEED 9600 #endif +/* default serial gdb speed if not set with sysctl or probed from boot */ +#ifndef GDBSPEED +#define GDBSPEED CONSPEED +#endif + #define IO_COMSIZE 8 /* 8250, 16x50 com controllers */ ==== //depot/projects/interrupt/sys/dev/wi/if_wi.c#8 (text+ko) ==== @@ -103,7 +103,7 @@ #if !defined(lint) static const char rcsid[] = - "$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.105 2002/05/29 20:24:09 phk Exp $"; + "$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.106 2002/06/19 17:37:34 imp Exp $"; #endif static void wi_intr(void *); @@ -313,6 +313,39 @@ sc->wi_channel = gen.wi_val; /* + * Set flags based on firmware version. + */ + switch (sc->sc_firmware_type) { + case WI_LUCENT: + sc->wi_flags |= WI_FLAGS_HAS_ROAMING; + if (sc->sc_sta_firmware_ver >= 60000) + sc->wi_flags |= WI_FLAGS_HAS_MOR; + if (sc->sc_sta_firmware_ver >= 60006) { + sc->wi_flags |= WI_FLAGS_HAS_IBSS; + sc->wi_flags |= WI_FLAGS_HAS_CREATE_IBSS; + } + sc->wi_ibss_port = htole16(1); + break; + case WI_INTERSIL: + sc->wi_flags |= WI_FLAGS_HAS_ROAMING; + if (sc->sc_sta_firmware_ver >= 800) { + sc->wi_flags |= WI_FLAGS_HAS_IBSS; + sc->wi_flags |= WI_FLAGS_HAS_CREATE_IBSS; + } + sc->wi_ibss_port = htole16(0); + break; + case WI_SYMBOL: + sc->wi_flags |= WI_FLAGS_HAS_DIVERSITY; + if (sc->sc_sta_firmware_ver >= 20000) + sc->wi_flags |= WI_FLAGS_HAS_IBSS; + /* Older Symbol firmware does not support IBSS creation. */ + if (sc->sc_sta_firmware_ver >= 25000) + sc->wi_flags |= WI_FLAGS_HAS_CREATE_IBSS; + sc->wi_ibss_port = htole16(4); + break; + } + + /* * Find out if we support WEP on this card. */ gen.wi_type = WI_RID_WEP_AVAIL; @@ -326,10 +359,13 @@ /* * Find supported rates. */ - gen.wi_type = WI_RID_TX_RATE; + gen.wi_type = WI_RID_DATA_RATES; gen.wi_len = 2; - wi_read_record(sc, &gen); - sc->wi_supprates = gen.wi_val; + if (wi_read_record(sc, &gen)) + sc->wi_supprates = WI_SUPPRATES_1M | WI_SUPPRATES_2M | + WI_SUPPRATES_5M | WI_SUPPRATES_11M; + else + sc->wi_supprates = gen.wi_val; bzero((char *)&sc->wi_stats, sizeof(sc->wi_stats)); @@ -337,36 +373,76 @@ wi_stop(sc); ifmedia_init(&sc->ifmedia, 0, wi_media_change, wi_media_status); - /* XXX: Should read from card capabilities */ #define ADD(m, c) ifmedia_add(&sc->ifmedia, (m), (c), NULL) - ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS1, - IFM_IEEE80211_ADHOC, 0), 0); - ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS1, 0, 0), 0); - ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS2, - IFM_IEEE80211_ADHOC, 0), 0); - ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS2, 0, 0), 0); - ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS5, - IFM_IEEE80211_ADHOC, 0), 0); - ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS5, 0, 0), 0); - ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS11, - IFM_IEEE80211_ADHOC, 0), 0); - ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS11, 0, 0), 0); - ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_AUTO, - IFM_IEEE80211_ADHOC, 0), 0); - ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_AUTO, 0, 0), 0); - if (sc->sc_firmware_type == WI_INTERSIL) { + if (sc->wi_supprates & WI_SUPPRATES_1M) { + ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS1, 0, 0), 0); ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS1, - IFM_IEEE80211_HOSTAP, 0), 0); + IFM_IEEE80211_ADHOC, 0), 0); + if (sc->wi_flags & WI_FLAGS_HAS_IBSS) + ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS1, + IFM_IEEE80211_IBSS, 0), 0); + if (sc->wi_flags & WI_FLAGS_HAS_CREATE_IBSS) + ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS1, + IFM_IEEE80211_IBSSMASTER, 0), 0); + if (sc->sc_firmware_type == WI_INTERSIL) + ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS1, + IFM_IEEE80211_HOSTAP, 0), 0); + } + if (sc->wi_supprates & WI_SUPPRATES_2M) { + ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS2, 0, 0), 0); ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS2, - IFM_IEEE80211_HOSTAP, 0), 0); + IFM_IEEE80211_ADHOC, 0), 0); + if (sc->wi_flags & WI_FLAGS_HAS_IBSS) + ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS2, + IFM_IEEE80211_IBSS, 0), 0); + if (sc->wi_flags & WI_FLAGS_HAS_CREATE_IBSS) + ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS2, + IFM_IEEE80211_IBSSMASTER, 0), 0); + if (sc->sc_firmware_type == WI_INTERSIL) + ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS2, + IFM_IEEE80211_HOSTAP, 0), 0); + } + if (sc->wi_supprates & WI_SUPPRATES_5M) { + ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS5, 0, 0), 0); ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS5, - IFM_IEEE80211_HOSTAP, 0), 0); + IFM_IEEE80211_ADHOC, 0), 0); + if (sc->wi_flags & WI_FLAGS_HAS_IBSS) + ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS5, + IFM_IEEE80211_IBSS, 0), 0); + if (sc->wi_flags & WI_FLAGS_HAS_CREATE_IBSS) + ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS5, + IFM_IEEE80211_IBSSMASTER, 0), 0); + if (sc->sc_firmware_type == WI_INTERSIL) + ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS5, + IFM_IEEE80211_HOSTAP, 0), 0); + } + if (sc->wi_supprates & WI_SUPPRATES_11M) { + ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS11, 0, 0), 0); ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS11, + IFM_IEEE80211_ADHOC, 0), 0); + if (sc->wi_flags & WI_FLAGS_HAS_IBSS) + ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS11, + IFM_IEEE80211_IBSS, 0), 0); + if (sc->wi_flags & WI_FLAGS_HAS_CREATE_IBSS) + ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS11, + IFM_IEEE80211_IBSSMASTER, 0), 0); + if (sc->sc_firmware_type == WI_INTERSIL) + ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS11, + IFM_IEEE80211_HOSTAP, 0), 0); + ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_MANUAL, 0, 0), 0); + } + ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_AUTO, IFM_IEEE80211_ADHOC, 0), 0); + if (sc->wi_flags & WI_FLAGS_HAS_IBSS) + ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_AUTO, IFM_IEEE80211_IBSS, + 0), 0); + if (sc->wi_flags & WI_FLAGS_HAS_CREATE_IBSS) + ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_AUTO, + IFM_IEEE80211_IBSSMASTER, 0), 0); + if (sc->sc_firmware_type == WI_INTERSIL) + ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_AUTO, IFM_IEEE80211_HOSTAP, 0), 0); - ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_AUTO, - IFM_IEEE80211_HOSTAP, 0), 0); - } -#undef ADD + ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_AUTO, 0, 0), 0); +#undef ADD ifmedia_set(&sc->ifmedia, IFM_MAKEWORD(IFM_IEEE80211, IFM_AUTO, 0, 0)); @@ -1065,7 +1141,15 @@ for (i = 0; i < ltv->wi_len - 1; i++) ptr[i] = CSR_READ_2(sc, WI_DATA1); - if (sc->sc_firmware_type != WI_LUCENT) { + if (ltv->wi_type == WI_RID_PORTTYPE && sc->wi_ptype == WI_PORTTYPE_IBSS + && ltv->wi_val == sc->wi_ibss_port) { + /* + * Convert vendor IBSS port type to WI_PORTTYPE_IBSS. + * Since Lucent uses port type 1 for BSS *and* IBSS we + * have to rely on wi_ptype to distinguish this for us. + */ + ltv->wi_val = htole16(WI_PORTTYPE_IBSS); + } else if (sc->sc_firmware_type != WI_LUCENT) { >>> TRUNCATED FOR MAIL (1000 lines) <<< To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message