From owner-p4-projects Tue Apr 16 10:42:36 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 47BD437B400; Tue, 16 Apr 2002 10:41:17 -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 443C737B438 for ; Tue, 16 Apr 2002 10:41:06 -0700 (PDT) Received: (from perforce@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g3GHf4w93651 for perforce@freebsd.org; Tue, 16 Apr 2002 10:41:04 -0700 (PDT) (envelope-from jhb@freebsd.org) Date: Tue, 16 Apr 2002 10:41:04 -0700 (PDT) Message-Id: <200204161741.g3GHf4w93651@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin Subject: PERFORCE change 9836 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=9836 Change 9836 by jhb@jhb_laptop on 2002/04/16 10:41:01 IFC. Affected files ... ... //depot/projects/smpng/sys/alpha/alpha/pal.s#2 integrate ... //depot/projects/smpng/sys/alpha/alpha/pmap.c#29 integrate ... //depot/projects/smpng/sys/alpha/alpha/prom_disp.s#2 integrate ... //depot/projects/smpng/sys/alpha/alpha/trap.c#30 integrate ... //depot/projects/smpng/sys/boot/pc98/kgzldr/Makefile#2 integrate ... //depot/projects/smpng/sys/coda/coda_venus.c#4 integrate ... //depot/projects/smpng/sys/compat/svr4/svr4_misc.c#15 integrate ... //depot/projects/smpng/sys/conf/NOTES#6 integrate ... //depot/projects/smpng/sys/conf/files#35 integrate ... //depot/projects/smpng/sys/conf/files.alpha#13 integrate ... //depot/projects/smpng/sys/conf/files.powerpc#6 integrate ... //depot/projects/smpng/sys/conf/majors#9 integrate ... //depot/projects/smpng/sys/conf/options#20 integrate ... //depot/projects/smpng/sys/conf/options.ia64#7 integrate ... //depot/projects/smpng/sys/dev/ata/ata-dma.c#20 integrate ... //depot/projects/smpng/sys/dev/ata/ata-pci.c#20 integrate ... //depot/projects/smpng/sys/dev/hfa/fore_load.c#3 integrate ... //depot/projects/smpng/sys/dev/hfa/fore_slave.h#2 integrate ... //depot/projects/smpng/sys/dev/ofw/ofw_disk.c#1 branch ... //depot/projects/smpng/sys/dev/sound/pci/ich.c#13 integrate ... //depot/projects/smpng/sys/dev/sound/pci/maestro.c#5 integrate ... //depot/projects/smpng/sys/dev/wi/if_wi.c#33 integrate ... //depot/projects/smpng/sys/dev/wi/if_wi_pci.c#5 integrate ... //depot/projects/smpng/sys/dev/wi/if_wivar.h#6 integrate ... //depot/projects/smpng/sys/dev/wi/wi_hostap.c#3 integrate ... //depot/projects/smpng/sys/dev/wi/wi_hostap.h#2 integrate ... //depot/projects/smpng/sys/fs/specfs/spec_vnops.c#13 integrate ... //depot/projects/smpng/sys/fs/udf/ecma167-udf.h#1 branch ... //depot/projects/smpng/sys/fs/udf/osta.c#1 branch ... //depot/projects/smpng/sys/fs/udf/osta.h#1 branch ... //depot/projects/smpng/sys/fs/udf/udf.h#1 branch ... //depot/projects/smpng/sys/fs/udf/udf_mount.h#1 branch ... //depot/projects/smpng/sys/fs/udf/udf_vfsops.c#1 branch ... //depot/projects/smpng/sys/fs/udf/udf_vnops.c#1 branch ... //depot/projects/smpng/sys/i386/i386/i686_mem.c#2 integrate ... //depot/projects/smpng/sys/i386/i386/pmap.c#20 integrate ... //depot/projects/smpng/sys/ia64/ia64/ia64dump.c#4 integrate ... //depot/projects/smpng/sys/ia64/ia64/machdep.c#36 integrate ... //depot/projects/smpng/sys/ia64/ia64/pmap.c#27 integrate ... //depot/projects/smpng/sys/ia64/ia64/trap.c#29 integrate ... //depot/projects/smpng/sys/kern/init_sysent.c#12 integrate ... //depot/projects/smpng/sys/kern/kern_clock.c#16 integrate ... //depot/projects/smpng/sys/kern/kern_descrip.c#24 integrate ... //depot/projects/smpng/sys/kern/kern_exit.c#33 integrate ... //depot/projects/smpng/sys/kern/kern_fork.c#38 integrate ... //depot/projects/smpng/sys/kern/kern_ktrace.c#22 integrate ... //depot/projects/smpng/sys/kern/kern_malloc.c#9 integrate ... //depot/projects/smpng/sys/kern/kern_ntptime.c#8 integrate ... //depot/projects/smpng/sys/kern/kern_proc.c#27 integrate ... //depot/projects/smpng/sys/kern/kern_prot.c#60 integrate ... //depot/projects/smpng/sys/kern/kern_resource.c#23 integrate ... //depot/projects/smpng/sys/kern/kern_sig.c#33 integrate ... //depot/projects/smpng/sys/kern/kern_tc.c#8 integrate ... //depot/projects/smpng/sys/kern/kern_time.c#14 integrate ... //depot/projects/smpng/sys/kern/subr_param.c#9 integrate ... //depot/projects/smpng/sys/kern/subr_witness.c#44 integrate ... //depot/projects/smpng/sys/kern/sys_process.c#15 integrate ... //depot/projects/smpng/sys/kern/syscalls.c#12 integrate ... //depot/projects/smpng/sys/kern/syscalls.master#11 integrate ... //depot/projects/smpng/sys/kern/tty.c#19 integrate ... //depot/projects/smpng/sys/kern/tty_pty.c#16 integrate ... //depot/projects/smpng/sys/kern/vfs_aio.c#21 integrate ... //depot/projects/smpng/sys/kern/vfs_vnops.c#24 integrate ... //depot/projects/smpng/sys/modules/Makefile#25 integrate ... //depot/projects/smpng/sys/modules/udf/Makefile#1 branch ... //depot/projects/smpng/sys/net/if_arcsubr.c#4 integrate ... //depot/projects/smpng/sys/netgraph/ng_pptpgre.c#3 integrate ... //depot/projects/smpng/sys/pci/agp_amd.c#4 integrate ... //depot/projects/smpng/sys/powerpc/conf/GENERIC#5 integrate ... //depot/projects/smpng/sys/powerpc/include/cpu.h#9 integrate ... //depot/projects/smpng/sys/powerpc/include/cpufunc.h#12 integrate ... //depot/projects/smpng/sys/powerpc/include/nexusvar.h#1 branch ... //depot/projects/smpng/sys/powerpc/powerpc/nexus.c#1 branch ... //depot/projects/smpng/sys/powerpc/powerpc/pmap.c#15 integrate ... //depot/projects/smpng/sys/sparc64/conf/GENERIC#11 integrate ... //depot/projects/smpng/sys/sparc64/sparc64/pmap.c#21 integrate ... //depot/projects/smpng/sys/sys/kernel.h#13 integrate ... //depot/projects/smpng/sys/sys/malloc.h#7 integrate ... //depot/projects/smpng/sys/sys/memrange.h#2 integrate ... //depot/projects/smpng/sys/sys/proc.h#45 integrate ... //depot/projects/smpng/sys/sys/syscall.h#12 integrate ... //depot/projects/smpng/sys/sys/syscall.mk#12 integrate ... //depot/projects/smpng/sys/sys/sysproto.h#14 integrate ... //depot/projects/smpng/sys/sys/time.h#5 integrate ... //depot/projects/smpng/sys/sys/vnode.h#15 integrate ... //depot/projects/smpng/sys/ufs/ffs/ffs_softdep.c#11 integrate ... //depot/projects/smpng/sys/vm/pmap.h#6 integrate ... //depot/projects/smpng/sys/vm/uma_core.c#10 integrate ... //depot/projects/smpng/sys/vm/vm_map.c#10 integrate ... //depot/projects/smpng/sys/vm/vm_page.c#14 integrate ... //depot/projects/smpng/sys/vm/vm_zeroidle.c#6 integrate Differences ... ==== //depot/projects/smpng/sys/alpha/alpha/pal.s#2 (text+ko) ==== @@ -23,8 +23,6 @@ * * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. - * - * $FreeBSD: src/sys/alpha/alpha/pal.s,v 1.5 2001/05/28 09:52:20 obrien Exp $ */ /* @@ -42,8 +40,8 @@ #include __KERNEL_RCSID(1, "$NetBSD: pal.s,v 1.12 1998/02/27 03:44:53 thorpej Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/pal.s,v 1.8 2002/04/15 23:28:10 obrien Exp $"); -inc2: .stabs __FILE__,132,0,0,inc2 .text .loc 1 __LINE__ @@ -370,5 +368,3 @@ call_pal PAL_OSF1_wrperfmon RET END(alpha_pal_wrperfmon) - - ==== //depot/projects/smpng/sys/alpha/alpha/pmap.c#29 (text+ko) ==== @@ -43,7 +43,7 @@ * from: @(#)pmap.c 7.7 (Berkeley) 5/12/91 * from: i386 Id: pmap.c,v 1.193 1998/04/19 15:22:48 bde Exp * with some ideas from NetBSD's alpha pmap - * $FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.89 2002/04/04 21:03:13 jhb Exp $ + * $FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.91 2002/04/15 16:07:52 peter Exp $ */ /* @@ -1731,9 +1731,9 @@ nklev2++; vm_page_wire(nkpg); + pmap_zero_page(nkpg); + pa = VM_PAGE_TO_PHYS(nkpg); - pmap_zero_page(pa); - newlev1 = pmap_phys_to_pte(pa) | PG_V | PG_ASM | PG_KRE | PG_KWE; @@ -1765,8 +1765,8 @@ nklev3++; vm_page_wire(nkpg); + pmap_zero_page(nkpg); pa = VM_PAGE_TO_PHYS(nkpg); - pmap_zero_page(pa); newlev2 = pmap_phys_to_pte(pa) | PG_V | PG_ASM | PG_KRE | PG_KWE; *pte = newlev2; @@ -2709,9 +2709,9 @@ */ void -pmap_zero_page(vm_offset_t pa) +pmap_zero_page(vm_page_t m) { - vm_offset_t va = ALPHA_PHYS_TO_K0SEG(pa); + vm_offset_t va = ALPHA_PHYS_TO_K0SEG(VM_PAGE_TO_PHYS(m)); bzero((caddr_t) va, PAGE_SIZE); } @@ -2725,9 +2725,9 @@ */ void -pmap_zero_page_area(vm_offset_t pa, int off, int size) +pmap_zero_page_area(vm_page_t m, int off, int size) { - vm_offset_t va = ALPHA_PHYS_TO_K0SEG(pa); + vm_offset_t va = ALPHA_PHYS_TO_K0SEG(VM_PAGE_TO_PHYS(m)); bzero((char *)(caddr_t)va + off, size); } @@ -2738,10 +2738,10 @@ * time. */ void -pmap_copy_page(vm_offset_t src, vm_offset_t dst) +pmap_copy_page(vm_page_t msrc, vm_page_t mdst) { - src = ALPHA_PHYS_TO_K0SEG(src); - dst = ALPHA_PHYS_TO_K0SEG(dst); + vm_offset_t src = ALPHA_PHYS_TO_K0SEG(VM_PAGE_TO_PHYS(msrc)); + vm_offset_t dst = ALPHA_PHYS_TO_K0SEG(VM_PAGE_TO_PHYS(mdst)); bcopy((caddr_t) src, (caddr_t) dst, PAGE_SIZE); } ==== //depot/projects/smpng/sys/alpha/alpha/prom_disp.s#2 (text+ko) ==== @@ -23,14 +23,13 @@ * * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. - * - * $FreeBSD: src/sys/alpha/alpha/prom_disp.s,v 1.4 2001/05/28 09:52:20 obrien Exp $ */ #ifndef _LOCORE #include #else __KERNEL_RCSID(2, "$NetBSD: prom_disp.s,v 1.8 1997/11/03 04:22:03 ross Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/prom_disp.s,v 1.5 2002/04/15 21:44:19 obrien Exp $"); #endif .globl prom_dispatch_v @@ -39,7 +38,6 @@ .text .align 4 -inc3: .stabs __FILE__,132,0,0,inc3 .text .loc 1 __LINE__ /* ==== //depot/projects/smpng/sys/alpha/alpha/trap.c#30 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/alpha/alpha/trap.c,v 1.90 2002/03/29 18:55:07 alc Exp $ */ +/* $FreeBSD: src/sys/alpha/alpha/trap.c,v 1.91 2002/04/16 05:56:01 alc Exp $ */ /* $NetBSD: trap.c,v 1.31 1998/03/26 02:21:46 thorpej Exp $ */ /* @@ -559,26 +559,6 @@ */ rv = vm_fault(map, va, ftype, VM_FAULT_NORMAL); } - - /* - * If this was a stack access we keep track of the - * maximum accessed stack size. Also, if vm_fault - * gets a protection failure it is due to accessing - * the stack region outside the current limit and - * we need to reflect that as an access error. - */ - if (map != kernel_map && - (caddr_t)va >= vm->vm_maxsaddr && - (caddr_t)va < (caddr_t)USRSTACK) { - if (rv == KERN_SUCCESS) { - unsigned long nss, rp; - rp = round_page(USRSTACK - va); - nss = alpha_btop(rp); - if (nss > vm->vm_ssize) - vm->vm_ssize = nss; - } else if (rv == KERN_PROTECTION_FAILURE) - rv = KERN_INVALID_ADDRESS; - } mtx_unlock(&Giant); if (rv == KERN_SUCCESS) goto out; ==== //depot/projects/smpng/sys/boot/pc98/kgzldr/Makefile#2 (text+ko) ==== @@ -1,7 +1,7 @@ -# $FreeBSD: src/sys/boot/pc98/kgzldr/Makefile,v 1.1 2002/01/18 09:00:38 nyan Exp $ +# $FreeBSD: src/sys/boot/pc98/kgzldr/Makefile,v 1.2 2002/04/15 13:44:00 nyan Exp $ -PROG= kgzldr.o SRCS= start.s boot.c inflate.c lib.c crt.s sio.s +OBJS= ${SRCS:N*.h:R:S/$/.o/g} CFLAGS= -fno-builtin .if ${OBJFORMAT} == aout CFLAGS+=-O2 ==== //depot/projects/smpng/sys/coda/coda_venus.c#4 (text+ko) ==== @@ -27,7 +27,7 @@ * Mellon the rights to redistribute these changes without encumbrance. * * @(#) src/sys/cfs/coda_venus.c,v 1.1.1.1 1998/08/29 21:14:52 rvb Exp $ - * $FreeBSD: src/sys/coda/coda_venus.c,v 1.14 2002/02/23 22:55:47 tmm Exp $ + * $FreeBSD: src/sys/coda/coda_venus.c,v 1.15 2002/04/16 17:11:30 jhb Exp $ * */ ==== //depot/projects/smpng/sys/compat/svr4/svr4_misc.c#15 (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/compat/svr4/svr4_misc.c,v 1.44 2002/04/01 21:30:30 jhb Exp $ + * $FreeBSD: src/sys/compat/svr4/svr4_misc.c,v 1.45 2002/04/16 17:04:21 jhb Exp $ */ /* ==== //depot/projects/smpng/sys/conf/NOTES#6 (text+ko) ==== @@ -14,7 +14,7 @@ # This file contains machine independent kernel configuration notes. For # machine dependent notes, look in /sys//conf/NOTES. # -# $FreeBSD: src/sys/conf/NOTES,v 1.1020 2002/04/10 17:27:52 brian Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1022 2002/04/15 19:42:15 des Exp $ # # @@ -134,6 +134,28 @@ options WITNESS_DDB options WITNESS_SKIPSPIN +# +# MUTEX_PROFILING - Profiling mutual exclusion locks (mutexes). This +# records four numbers for each acquisition point (identified by +# source file name and line number): longest time held, total time held, +# number of non-recursive acquisitions, and average time held. Measurements +# are made and stored in nanoseconds (using nanotime(9)), but are presented +# in microseconds, which should be sufficient for the locks which actually +# want this (those that are held long and / or often). The MUTEX_PROFILING +# option has the following sysctl namespace for controlling and viewing its +# operation: +# +# debug.mutex.prof.enable - enable / disable profiling +# debug.mutex.prof.acquisitions - number of mutex acquisitions held +# debug.mutex.prof.records - number of acquisition points recorded +# debug.mutex.prof.maxrecords - max number of acquisition points +# debug.mutex.prof.rejected - number of rejections (due to full table) +# debug.mutex.prof.hashsize - hash size +# debug.mutex.prof.collisions - number of hash collisions +# debug.mutex.prof.stats - profiling statistics +# +options MUTEX_PROFILING + ##################################################################### # COMPATIBILITY OPTIONS @@ -555,6 +577,7 @@ options PROCFS #Process filesystem (requires PSEUDOFS) options PSEUDOFS #Pseudo-filesystem framework options SMBFS #SMB/CIFS filesystem +options UDF #Universal Disk Format options UMAPFS #UID map filesystem options UNIONFS #Union filesystem # options NODEVFS #disable devices filesystem ==== //depot/projects/smpng/sys/conf/files#35 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.622 2002/04/12 06:19:18 imp Exp $ +# $FreeBSD: src/sys/conf/files,v 1.623 2002/04/14 16:36:38 scottl Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -686,6 +686,9 @@ fs/pseudofs/pseudofs_vncache.c optional pseudofs fs/pseudofs/pseudofs_vnops.c optional pseudofs fs/specfs/spec_vnops.c standard +fs/udf/udf_vfsops.c optional udf +fs/udf/udf_vnops.c optional udf +fs/udf/osta.c optional udf fs/umapfs/umap_subr.c optional umapfs fs/umapfs/umap_vfsops.c optional umapfs fs/umapfs/umap_vnops.c optional umapfs ==== //depot/projects/smpng/sys/conf/files.alpha#13 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.alpha,v 1.83 2002/04/13 22:34:15 obrien Exp $ +# $FreeBSD: src/sys/conf/files.alpha,v 1.84 2002/04/15 23:28:09 obrien Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -69,7 +69,6 @@ alpha/alpha/machdep.c standard alpha/alpha/mem.c standard alpha/alpha/mountroot.c optional slice -alpha/alpha/pal.s standard alpha/alpha/perfmon.c optional perfmon profiling-routine alpha/alpha/perfmon.c optional perfmon alpha/alpha/pmap.c standard ==== //depot/projects/smpng/sys/conf/files.powerpc#6 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.powerpc,v 1.7 2002/03/27 05:39:18 dillon Exp $ +# $FreeBSD: src/sys/conf/files.powerpc,v 1.8 2002/04/15 12:30:14 benno Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -42,6 +42,7 @@ dev/ofw/openfirm.c standard dev/ofw/ofw_console.c standard +dev/ofw/ofw_disk.c optional ofwd libkern/ashldi3.c standard libkern/ashrdi3.c standard ==== //depot/projects/smpng/sys/conf/majors#9 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/sys/conf/majors,v 1.134 2002/04/09 00:34:18 jake Exp $ +$FreeBSD: src/sys/conf/majors,v 1.135 2002/04/15 10:41:47 benno Exp $ Hopefully, this list will one day be obsoleted by DEVFS, but for now this is the current allocation of device major numbers. @@ -184,6 +184,7 @@ 166 ciss Compaq SmartArray 5* adapter 167 ufm USB Fm Radio 168 se Siemens SAB82532 serial chip +169 ofwd OpenFirmware disk 200 ?? entries from 200-252 are reserved for local use 252 ?? entries from 200-252 are reserved for local use 254 internal Used internally by the kernel ==== //depot/projects/smpng/sys/conf/options#20 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.311 2002/04/09 05:14:16 jeff Exp $ +# $FreeBSD: src/sys/conf/options,v 1.312 2002/04/14 16:36:38 scottl Exp $ # # On the handling of kernel options # @@ -129,6 +129,7 @@ NTFS opt_dontuse.h HPFS opt_dontuse.h UNIONFS opt_dontuse.h +UDF opt_dontuse.h # Broken - ffs_snapshot() dependency from ufs_lookup() :-( FFS opt_ffs_broken_fixme.h ==== //depot/projects/smpng/sys/conf/options.ia64#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.ia64,v 1.9 2002/04/10 19:35:50 dfr Exp $ +# $FreeBSD: src/sys/conf/options.ia64,v 1.10 2002/04/14 04:33:41 peter Exp $ # Options specific to the ia64 platform kernels ITANIUM opt_global.h @@ -70,3 +70,4 @@ # Device options DEV_SPLASH opt_splash.h +DEV_ACPICA opt_acpica.h ==== //depot/projects/smpng/sys/dev/ata/ata-dma.c#20 (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.95 2002/04/11 11:04:23 sos Exp $ + * $FreeBSD: src/sys/dev/ata/ata-dma.c,v 1.96 2002/04/16 08:30:51 sos Exp $ */ #include @@ -502,45 +502,20 @@ } break; + case 0x01bc10de: /* nVIDIA nForce */ case 0x74411022: /* AMD 768 */ case 0x74111022: /* AMD 766 */ - if (udmamode >= 5) { - error = ata_command(atadev, ATA_C_SETFEATURES, 0, - ATA_UDMA5, ATA_C_F_SETXFER, ATA_WAIT_READY); - if (bootverbose) - ata_prtdev(atadev, "%s setting UDMA5 on AMD chip\n", - (error) ? "failed" : "success"); - if (!error) { - pci_write_config(parent, 0x53 - devno, 0xc6, 1); - ata_dmacreate(atadev, apiomode, ATA_UDMA5); - return; - } - } - /* FALLTHROUGH */ - case 0x74091022: /* AMD 756 */ - if (udmamode >= 4) { - error = ata_command(atadev, ATA_C_SETFEATURES, 0, - ATA_UDMA4, ATA_C_F_SETXFER, ATA_WAIT_READY); - if (bootverbose) - ata_prtdev(atadev, "%s setting UDMA4 on AMD chip\n", - (error) ? "failed" : "success"); - if (!error) { - pci_write_config(parent, 0x53 - devno, 0xc5, 1); - ata_dmacreate(atadev, apiomode, ATA_UDMA4); - return; - } - } - goto via_82c586; - case 0x05711106: /* VIA 82C571, 82C586, 82C596, 82C686 , 8231, 8233 */ { - int via_modes[4][7] = { - { 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00 }, /* ATA33 */ - { 0x00, 0x00, 0xea, 0x00, 0xe8, 0x00, 0x00 }, /* ATA66 */ - { 0x00, 0x00, 0xf4, 0x00, 0xf1, 0xf0, 0x00 }, /* ATA100 */ - { 0x00, 0x00, 0xf6, 0x00, 0xf2, 0xf1, 0xf0 }}; /* ATA133 */ + int via_modes[5][7] = { + { 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00 }, /* VIA ATA33 */ + { 0x00, 0x00, 0xea, 0x00, 0xe8, 0x00, 0x00 }, /* VIA ATA66 */ + { 0x00, 0x00, 0xf4, 0x00, 0xf1, 0xf0, 0x00 }, /* VIA ATA100 */ + { 0x00, 0x00, 0xf6, 0x00, 0xf2, 0xf1, 0xf0 }, /* VIA ATA133 */ + { 0x00, 0x00, 0xc0, 0x00, 0xc5, 0xc6, 0x00 }}; /* AMD/nVIDIA */ int *reg_val = NULL; + char *chip = "VIA"; if (ata_find_dev(parent, 0x31471106, 0)) { /* 8233a */ udmamode = imin(udmamode, 6); @@ -564,19 +539,34 @@ } else if (ata_find_dev(parent, 0x05961106, 0) || /* 82C596a */ ata_find_dev(parent, 0x05861106, 0x03)) { /* 82C586b */ -via_82c586: udmamode = imin(udmamode, 2); reg_val = via_modes[0]; } - else + else if (chiptype == 0x74411022 || /* AMD 768 */ + chiptype == 0x74111022) { /* AMD 766 */ + udmamode = imin(udmamode, 5); + reg_val = via_modes[4]; + chip = "AMD"; + } + else if (chiptype == 0x74091022) { /* AMD 756 */ + udmamode = imin(udmamode, 4); + reg_val = via_modes[4]; + chip = "AMD"; + } + else if (chiptype == 0x01bc10de) { /* nVIDIA */ + udmamode = imin(udmamode, 5); + reg_val = via_modes[4]; + chip = "nVIDIA"; + } + else udmamode = 0; - + if (udmamode >= 6) { error = ata_command(atadev, ATA_C_SETFEATURES, 0, ATA_UDMA6, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) - ata_prtdev(atadev, "%s setting UDMA6 on VIA chip\n", - (error) ? "failed" : "success"); + ata_prtdev(atadev, "%s setting UDMA6 on %s chip\n", + (error) ? "failed" : "success", chip); if (!error) { pci_write_config(parent, 0x53 - devno, reg_val[6], 1); ata_dmacreate(atadev, apiomode, ATA_UDMA6); @@ -587,8 +577,8 @@ error = ata_command(atadev, ATA_C_SETFEATURES, 0, ATA_UDMA5, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) - ata_prtdev(atadev, "%s setting UDMA5 on VIA chip\n", - (error) ? "failed" : "success"); + ata_prtdev(atadev, "%s setting UDMA5 on %s chip\n", + (error) ? "failed" : "success", chip); if (!error) { pci_write_config(parent, 0x53 - devno, reg_val[5], 1); ata_dmacreate(atadev, apiomode, ATA_UDMA5); @@ -599,8 +589,8 @@ error = ata_command(atadev, ATA_C_SETFEATURES, 0, ATA_UDMA4, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) - ata_prtdev(atadev, "%s setting UDMA4 on VIA chip\n", - (error) ? "failed" : "success"); + ata_prtdev(atadev, "%s setting UDMA4 on %s chip\n", + (error) ? "failed" : "success", chip); if (!error) { pci_write_config(parent, 0x53 - devno, reg_val[4], 1); ata_dmacreate(atadev, apiomode, ATA_UDMA4); @@ -611,28 +601,26 @@ error = ata_command(atadev, ATA_C_SETFEATURES, 0, ATA_UDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) - ata_prtdev(atadev, "%s setting UDMA2 on VIA chip\n", - (error) ? "failed" : "success"); + ata_prtdev(atadev, "%s setting UDMA2 on %s chip\n", + (error) ? "failed" : "success", chip); if (!error) { pci_write_config(parent, 0x53 - devno, reg_val[2], 1); ata_dmacreate(atadev, apiomode, ATA_UDMA2); return; } } - - } - if (wdmamode >= 2 && apiomode >= 4) { - error = ata_command(atadev, ATA_C_SETFEATURES, 0, - ATA_WDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); - if (bootverbose) - ata_prtdev(atadev, "%s setting WDMA2 on %s chip\n", - (error) ? "failed" : "success", - (chiptype == 0x74091022) ? "AMD" : "VIA"); - if (!error) { - pci_write_config(parent, 0x53 - devno, 0x0b, 1); - pci_write_config(parent, 0x4b - devno, 0x31, 1); - ata_dmacreate(atadev, apiomode, ATA_WDMA2); - return; + if (wdmamode >= 2 && apiomode >= 4) { + error = ata_command(atadev, ATA_C_SETFEATURES, 0, + ATA_WDMA2, ATA_C_F_SETXFER, ATA_WAIT_READY); + if (bootverbose) + ata_prtdev(atadev, "%s setting WDMA2 on %s chip\n", + (error) ? "failed" : "success", chip); + if (!error) { + pci_write_config(parent, 0x53 - devno, 0x0b, 1); + pci_write_config(parent, 0x4b - devno, 0x31, 1); + ata_dmacreate(atadev, apiomode, ATA_WDMA2); + return; + } } } /* we could set PIO mode timings, but we assume the BIOS did that */ ==== //depot/projects/smpng/sys/dev/ata/ata-pci.c#20 (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.40 2002/04/11 11:04:23 sos Exp $ + * $FreeBSD: src/sys/dev/ata/ata-pci.c,v 1.41 2002/04/16 08:30:51 sos Exp $ */ #include "opt_ata.h" @@ -228,6 +228,9 @@ case 0x74411022: return "AMD 768 ATA100 controller"; + case 0x01bc10de: + return "nVIDIA nForce ATA100 controller"; + case 0x02111166: return "ServerWorks ROSB4 ATA33 controller"; @@ -465,6 +468,7 @@ case 0x74091022: /* AMD 756 default setup */ case 0x74111022: /* AMD 766 default setup */ case 0x74411022: /* AMD 768 default setup */ + case 0x01bc10de: /* nVIDIA nForce default setup */ /* set prefetch, postwrite */ pci_write_config(dev, 0x41, pci_read_config(dev, 0x41, 1) | 0xf0, 1); ==== //depot/projects/smpng/sys/dev/hfa/fore_load.c#3 (text+ko) ==== @@ -23,7 +23,7 @@ * Copies of this Software may be made, however, the above copyright * notice must be reproduced on all copies. * - * @(#) $FreeBSD: src/sys/dev/hfa/fore_load.c,v 1.24 2002/03/20 02:07:23 alfred Exp $ + * @(#) $FreeBSD: src/sys/dev/hfa/fore_load.c,v 1.25 2002/04/16 01:38:31 arr Exp $ * */ @@ -67,44 +67,39 @@ #include #ifndef lint -__RCSID("@(#) $FreeBSD: src/sys/dev/hfa/fore_load.c,v 1.24 2002/03/20 02:07:23 alfred Exp $"); +__RCSID("@(#) $FreeBSD: src/sys/dev/hfa/fore_load.c,v 1.25 2002/04/16 01:38:31 arr Exp $"); #endif +static int fore_probe(device_t); +static int fore_attach(device_t); +static int fore_detach(device_t); +static int fore_shutdown(device_t); -/* - * Local functions - */ -static int fore_start(void); -static const char * fore_pci_probe(pcici_t, pcidi_t); -static void fore_pci_attach(pcici_t, int); -static void fore_pci_shutdown(void *, int); -static void fore_unattach(Fore_unit *); -static void fore_reset(Fore_unit *); - -#ifndef COMPAT_OLDPCI -#error "The fore device requires the old pci compatibility shims" +#ifndef COMPAT_OLDPCI +#error "The fore device requires the old pci compatibility shims" #endif -/* - * Local variables - */ static int fore_inited = 0; -/* - * Driver entry points - */ - static u_long fore_pci_count = 0; -static struct pci_device fore_pci_device = { - FORE_DEV_NAME, - fore_pci_probe, - fore_pci_attach, - &fore_pci_count, - NULL +static device_method_t fore_methods[] = { + DEVMETHOD(device_probe, fore_probe), + DEVMETHOD(device_attach, fore_attach), + DEVMETHOD(device_detach, fore_detach), + DEVMETHOD(device_shutdown, fore_shutdown), + { 0, 0 } }; -COMPAT_PCI_DRIVER(fore_pci, fore_pci_device); +static struct fore_ident fore_ident_table[] = { + { 0x0200, "FORE Systems PCA-200 ATM ForeRunner" }, + { 0x0210, "FORE Systems PCA-200PC" }, + { 0x0250, "FORE Systems ATM" }, + { 0x0300, "FORE Systems PCA-200E" }, + { 0x0310, "FORE Systems ATM" }, + { 0x0400, "FORE Systems PCA-200HE ATM ForeRunner" }, + { 0, NULL }, +}; /* @@ -135,7 +130,6 @@ ATM_VERS_MAJ(atm_version), ATM_VERS_MIN(atm_version)); return (EINVAL); } - /* * Initialize DMA mapping */ @@ -145,9 +139,7 @@ * Start up watchdog timer */ atm_timeout(&fore_timer, ATM_HZ * FORE_TIME_TICK, fore_timeout); - fore_inited = 1; - return (0); } @@ -160,40 +152,24 @@ * Determine if this driver will support the identified device. If we claim * to support the device, our attach routine will (later) be called for the * device. - * - * Arguments: - * config_id device's PCI configuration ID - * device_id device's PCI Vendor/Device ID - * - * Returns: - * name device identification string - * NULL device not claimed by this driver - * */ -static const char * -fore_pci_probe(config_id, device_id) - pcici_t config_id; - pcidi_t device_id; +static int +fore_probe(device_t dev) { + struct fore_ident *ident; + u_int16_t devid; - /* - * Initialize driver stuff - */ - if (fore_inited == 0) { - if (fore_start()) - return (NULL); + if (pci_get_vendor(dev) == FORE_VENDOR_ID) { + devid = pci_get_device(dev); + for (ident = fore_ident_table; ident->name != NULL; ident++) + if (ident->devid == devid) { + device_set_desc(dev, ident->name); + return (0); + } } - - if ((device_id & 0xffff) != FORE_VENDOR_ID) - return (NULL); - - if (((device_id >> 16) & 0xffff) == FORE_PCA200E_ID) - return ("FORE Systems PCA-200E ATM"); - - return (NULL); + return (ENXIO); } - /* * Device attach routine * @@ -213,8 +189,8 @@ */ static void fore_pci_attach(config_id, unit) - pcici_t config_id; - int unit; + pcici_t config_id; + int unit; { Fore_unit *fup; vm_offset_t va; @@ -223,14 +199,11 @@ long val; int err_count = BOOT_LOOPS; + /* - * Just checking... - */ - if (unit >= FORE_MAX_UNITS) { - log(LOG_ERR, "%s%d: too many devices\n", - FORE_DEV_NAME, unit); - return; - } + * Check that unit is not >= FORE_MAX_UNITS + */ + /* * Make sure this isn't a duplicate unit @@ -238,6 +211,7 @@ if (fore_units[unit] != NULL) return; + /* * Allocate a new unit structure */ ==== //depot/projects/smpng/sys/dev/hfa/fore_slave.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * Copies of this Software may be made, however, the above copyright * notice must be reproduced on all copies. * - * @(#) $FreeBSD: src/sys/dev/hfa/fore_slave.h,v 1.2 1999/08/28 00:41:52 peter Exp $ + * @(#) $FreeBSD: src/sys/dev/hfa/fore_slave.h,v 1.3 2002/04/16 01:34:00 arr Exp $ * */ @@ -135,7 +135,6 @@ * PCI Identifiers */ #define FORE_VENDOR_ID 0x1127 -#define FORE_PCA200E_ID 0x0300 /* * PCA-200E PCI Configuration Space ==== //depot/projects/smpng/sys/dev/sound/pci/ich.c#13 (text+ko) ==== @@ -32,7 +32,7 @@ #include #include -SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/ich.c,v 1.18 2002/02/19 00:59:23 alfred Exp $"); +SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/ich.c,v 1.20 2002/04/15 20:42:40 jhb Exp $"); /* -------------------------------------------------------------------- */ @@ -298,7 +298,12 @@ if (sc->ac97rate <= 32000 || sc->ac97rate >= 64000) sc->ac97rate = 48000; r = (speed * 48000) / sc->ac97rate; - ch->spd = (ac97_setrate(sc->codec, ch->spdreg, r) * sc->ac97rate) / 48000; + /* + * Cast the return value of ac97_setrate() to u_int so that + * the math don't overflow into the negative range. + */ + ch->spd = ((u_int)ac97_setrate(sc->codec, ch->spdreg, r) * + sc->ac97rate) / 48000; } else { ch->spd = 48000; } @@ -601,6 +606,10 @@ device_set_desc(dev, "SiS 7012"); return 0; + case 0x01b110de: + device_set_desc(dev, "Nvidia nForce AC97 controller"); + return 0; + default: return ENXIO; } @@ -682,8 +691,8 @@ extcaps = ac97_getextcaps(sc->codec); sc->hasvra = extcaps & AC97_EXTCAP_VRA; sc->hasvrm = extcaps & AC97_EXTCAP_VRM; - sc->hasmic = extcaps & AC97_CAP_MICCHANNEL; - ac97_setextmode(sc->codec, sc->hasvra | sc->hasvrm | sc->hasmic); + sc->hasmic = ac97_getcaps(sc->codec) & AC97_CAP_MICCHANNEL; + ac97_setextmode(sc->codec, sc->hasvra | sc->hasvrm); if (pcm_register(dev, sc, 1, sc->hasmic? 2 : 1)) goto bad; ==== //depot/projects/smpng/sys/dev/sound/pci/maestro.c#5 (text+ko) ==== @@ -51,7 +51,7 @@ #include -SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/maestro.c,v 1.14 2002/01/27 23:09:41 scottl Exp $"); +SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/maestro.c,v 1.16 2002/04/16 01:58:13 jhb Exp $"); #define inline __inline @@ -520,10 +520,10 @@ static void aggch_start_dac(struct agg_chinfo *ch) { - u_int wpwa = APU_USE_SYSMEM | (ch->offset >> 9); + bus_addr_t wpwa = APU_USE_SYSMEM | (ch->offset >> 9); u_int size = ch->parent->bufsz >> 1; u_int speed = ch->speed; - u_int offset = ch->offset >> 1; + bus_addr_t offset = ch->offset >> 1; u_int cp = 0; u_int16_t apuch = ch->num << 1; u_int dv; @@ -663,7 +663,7 @@ ch->offset = physaddr - ess->baseaddr; if (physaddr < ess->baseaddr || ch->offset > WPWA_MAXADDR) { device_printf(ess->dev, - "offset %#x exceeds limit. ", ch->offset); + "offset %#llx exceeds limit. ", (long long)ch->offset); dma_free(ess, sndbuf_getbuf(b)); return NULL; } @@ -673,9 +673,9 @@ if (dir == PCMDIR_PLAY) { ess->playchns++; if (bootverbose) - device_printf(ess->dev, "pch[%d].offset = %#x\n", ch->num, ch->offset); + device_printf(ess->dev, "pch[%d].offset = %#llx\n", ch->num, (long long)ch->offset); } else if (bootverbose) - device_printf(ess->dev, "rch.offset = %#x\n", ch->offset); + device_printf(ess->dev, "rch.offset = %#llx\n", (long long)ch->offset); return ch; } @@ -983,7 +983,8 @@ goto bad; } if (bootverbose) - device_printf(dev, "Maestro DMA base: %#x\n", ess->baseaddr); + device_printf(dev, "Maestro DMA base: %#llx\n", + (long long)ess->baseaddr); agg_power(ess, PPMI_D0); DELAY(100000); ==== //depot/projects/smpng/sys/dev/wi/if_wi.c#33 (text+ko) ==== @@ -102,7 +102,7 @@ #if !defined(lint) static const char rcsid[] = - "$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.99 2002/04/12 06:12:21 imp Exp $"; + "$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.100 2002/04/14 23:18:40 brooks Exp $"; #endif static void wi_intr(void *); @@ -1163,6 +1163,21 @@ ltv = &p2ltv; break; } + } else { + /* LUCENT */ + switch (ltv->wi_type) { + case WI_RID_TX_RATE: + switch (ltv->wi_val) { + case 1: ltv->wi_val = 1; break; /* 1Mb/s fixed */ + case 2: ltv->wi_val = 2; break; /* 2Mb/s fixed */ + case 3: ltv->wi_val = 3; break; /* 11Mb/s auto */ + case 5: ltv->wi_val = 4; break; /* 5.5Mb/s fixed */ + case 6: ltv->wi_val = 6; break; /* 2Mb/s auto */ + case 7: ltv->wi_val = 7; break; /* 5.5Mb/s auto */ + case 11: ltv->wi_val = 5; break; /* 11Mb/s fixed */ + default: return EINVAL; + } + } } >>> TRUNCATED FOR MAIL (1000 lines) <<< To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message