From owner-p4-projects@FreeBSD.ORG Fri Mar 20 18:44:20 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F1AAE10656C7; Fri, 20 Mar 2009 18:44:19 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B277510656C2 for ; Fri, 20 Mar 2009 18:44:19 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9EBAC8FC08 for ; Fri, 20 Mar 2009 18:44:19 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n2KIiJwN026716 for ; Fri, 20 Mar 2009 18:44:19 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n2KIiJ89026714 for perforce@freebsd.org; Fri, 20 Mar 2009 18:44:19 GMT (envelope-from thompsa@freebsd.org) Date: Fri, 20 Mar 2009 18:44:19 GMT Message-Id: <200903201844.n2KIiJ89026714@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 159535 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2009 18:44:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=159535 Change 159535 by thompsa@thompsa_burger on 2009/03/20 18:43:23 IFC @159534 Affected files ... .. //depot/projects/usb/src/sys/amd64/conf/GENERIC#22 integrate .. //depot/projects/usb/src/sys/arm/conf/HL200#8 integrate .. //depot/projects/usb/src/sys/arm/conf/KB920X#18 integrate .. //depot/projects/usb/src/sys/boot/forth/loader.conf#16 integrate .. //depot/projects/usb/src/sys/boot/pc98/libpc98/Makefile#3 integrate .. //depot/projects/usb/src/sys/boot/pc98/libpc98/bioscd.c#4 integrate .. //depot/projects/usb/src/sys/boot/pc98/libpc98/biosdisk.c#5 integrate .. //depot/projects/usb/src/sys/boot/pc98/libpc98/time.c#2 integrate .. //depot/projects/usb/src/sys/boot/pc98/loader/Makefile#5 integrate .. //depot/projects/usb/src/sys/boot/pc98/loader/main.c#6 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c#3 integrate .. //depot/projects/usb/src/sys/conf/NOTES#31 integrate .. //depot/projects/usb/src/sys/conf/files#56 integrate .. //depot/projects/usb/src/sys/dev/agp/agp.c#7 integrate .. //depot/projects/usb/src/sys/dev/agp/agp_amd64.c#4 integrate .. //depot/projects/usb/src/sys/dev/agp/agp_i810.c#8 integrate .. //depot/projects/usb/src/sys/dev/agp/agp_intel.c#3 integrate .. //depot/projects/usb/src/sys/dev/agp/agp_via.c#4 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ah.h#4 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c#4 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c#4 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c#4 integrate .. //depot/projects/usb/src/sys/dev/ath/if_ath.c#20 integrate .. //depot/projects/usb/src/sys/dev/ath/if_athvar.h#16 integrate .. //depot/projects/usb/src/sys/dev/dc/dcphy.c#5 integrate .. //depot/projects/usb/src/sys/dev/dc/pnphy.c#4 integrate .. //depot/projects/usb/src/sys/dev/drm/ati_pcigart.c#4 integrate .. //depot/projects/usb/src/sys/dev/drm/drm_irq.c#7 integrate .. //depot/projects/usb/src/sys/dev/drm/drm_lock.c#6 integrate .. //depot/projects/usb/src/sys/dev/drm/drm_pciids.h#7 integrate .. //depot/projects/usb/src/sys/dev/drm/drm_vm.c#5 integrate .. //depot/projects/usb/src/sys/dev/drm/i915_dma.c#10 integrate .. //depot/projects/usb/src/sys/dev/drm/i915_drv.c#6 integrate .. //depot/projects/usb/src/sys/dev/drm/i915_drv.h#7 integrate .. //depot/projects/usb/src/sys/dev/drm/i915_irq.c#7 integrate .. //depot/projects/usb/src/sys/dev/drm/i915_reg.h#2 integrate .. //depot/projects/usb/src/sys/dev/drm/i915_suspend.c#3 integrate .. //depot/projects/usb/src/sys/dev/drm/mga_irq.c#4 integrate .. //depot/projects/usb/src/sys/dev/drm/radeon_irq.c#8 integrate .. //depot/projects/usb/src/sys/dev/ichwd/ichwd.c#8 integrate .. //depot/projects/usb/src/sys/dev/syscons/teken/teken.c#6 integrate .. //depot/projects/usb/src/sys/dev/syscons/teken/teken_subr.h#4 integrate .. //depot/projects/usb/src/sys/dev/usb/usbdevs#51 integrate .. //depot/projects/usb/src/sys/fs/nullfs/null_vnops.c#13 integrate .. //depot/projects/usb/src/sys/geom/part/g_part.c#15 integrate .. //depot/projects/usb/src/sys/geom/part/g_part_ebr.c#3 integrate .. //depot/projects/usb/src/sys/i386/conf/GENERIC#22 integrate .. //depot/projects/usb/src/sys/i386/conf/XBOX#7 integrate .. //depot/projects/usb/src/sys/kern/vfs_cache.c#19 integrate .. //depot/projects/usb/src/sys/modules/ip6_mroute_mod/Makefile#1 branch .. //depot/projects/usb/src/sys/modules/ip_mroute_mod/Makefile#5 integrate .. //depot/projects/usb/src/sys/modules/usb/Makefile#15 integrate .. //depot/projects/usb/src/sys/modules/usb/uscanner/Makefile#2 delete .. //depot/projects/usb/src/sys/net/if.c#20 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211.h#12 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_input.c#13 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_node.h#12 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_output.c#17 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_scan_sta.c#11 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_tdma.c#5 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_tdma.h#2 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_var.h#17 integrate .. //depot/projects/usb/src/sys/netinet/igmp.h#4 integrate .. //depot/projects/usb/src/sys/netinet/ip_mroute.c#10 integrate .. //depot/projects/usb/src/sys/netinet/ip_mroute.h#5 integrate .. //depot/projects/usb/src/sys/netinet6/ip6_mroute.c#12 integrate .. //depot/projects/usb/src/sys/netinet6/ip6_mroute.h#6 integrate .. //depot/projects/usb/src/sys/netipsec/key.c#12 integrate .. //depot/projects/usb/src/sys/nfsserver/nfs_srvkrpc.c#4 integrate .. //depot/projects/usb/src/sys/pc98/conf/GENERIC#17 integrate .. //depot/projects/usb/src/sys/powerpc/conf/GENERIC#17 integrate .. //depot/projects/usb/src/sys/sparc64/central/central.c#4 integrate .. //depot/projects/usb/src/sys/sparc64/conf/GENERIC#16 integrate .. //depot/projects/usb/src/sys/sparc64/ebus/ebus.c#4 integrate .. //depot/projects/usb/src/sys/sparc64/fhc/fhc.c#7 integrate .. //depot/projects/usb/src/sys/sparc64/include/trap.h#3 integrate .. //depot/projects/usb/src/sys/sparc64/isa/isa.c#7 integrate .. //depot/projects/usb/src/sys/sparc64/isa/ofw_isa.c#3 integrate .. //depot/projects/usb/src/sys/sparc64/pci/apb.c#5 integrate .. //depot/projects/usb/src/sys/sparc64/pci/ofw_pcib.c#6 integrate .. //depot/projects/usb/src/sys/sparc64/pci/ofw_pcibus.c#9 integrate .. //depot/projects/usb/src/sys/sparc64/pci/psycho.c#11 integrate .. //depot/projects/usb/src/sys/sparc64/pci/psychovar.h#6 integrate .. //depot/projects/usb/src/sys/sparc64/pci/schizo.c#4 integrate .. //depot/projects/usb/src/sys/sparc64/sbus/dma_sbus.c#4 integrate .. //depot/projects/usb/src/sys/sparc64/sbus/sbus.c#10 integrate .. //depot/projects/usb/src/sys/sparc64/sbus/sbusvar.h#2 integrate .. //depot/projects/usb/src/sys/sparc64/sparc64/db_disasm.c#3 integrate .. //depot/projects/usb/src/sys/sparc64/sparc64/eeprom.c#4 integrate .. //depot/projects/usb/src/sys/sparc64/sparc64/jbusppm.c#2 integrate .. //depot/projects/usb/src/sys/sparc64/sparc64/machdep.c#13 integrate .. //depot/projects/usb/src/sys/sparc64/sparc64/mp_machdep.c#9 integrate .. //depot/projects/usb/src/sys/sparc64/sparc64/nexus.c#5 integrate .. //depot/projects/usb/src/sys/sparc64/sparc64/rtc.c#4 integrate .. //depot/projects/usb/src/sys/sparc64/sparc64/sc_machdep.c#3 integrate .. //depot/projects/usb/src/sys/sparc64/sparc64/schppm.c#2 integrate .. //depot/projects/usb/src/sys/sparc64/sparc64/trap.c#9 integrate .. //depot/projects/usb/src/sys/sparc64/sparc64/upa.c#6 integrate .. //depot/projects/usb/src/sys/sun4v/conf/GENERIC#12 integrate .. //depot/projects/usb/src/sys/sun4v/include/trap.h#3 integrate .. //depot/projects/usb/src/sys/sun4v/sun4v/trap.c#6 integrate Differences ... ==== //depot/projects/usb/src/sys/amd64/conf/GENERIC#22 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.521 2009/02/23 18:34:56 thompsa Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.522 2009/03/19 20:33:26 thompsa Exp $ cpu HAMMER ident GENERIC @@ -295,7 +295,6 @@ device ural # Ralink Technology RT2500USB wireless NICs device rum # Ralink Technology RT2501USB wireless NICs device urio # Diamond Rio 500 MP3 player -device uscanner # Scanners # USB Serial devices device uark # Technologies ARK3116 based serial adapters device ubsa # Belkin F5U103 and compatible serial adapters ==== //depot/projects/usb/src/sys/arm/conf/HL200#8 (text+ko) ==== @@ -15,7 +15,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/HL200,v 1.9 2009/02/23 18:34:56 thompsa Exp $ +# $FreeBSD: src/sys/arm/conf/HL200,v 1.10 2009/03/19 20:33:26 thompsa Exp $ ident HL200 @@ -103,7 +103,6 @@ device ural # Ralink Technology RT2500USB wireless NICs device rum # Ralink Technology RT2501USB wireless NICs device urio # Diamond Rio 500 MP3 player -device uscanner # Scanners # USB Ethernet, requires miibus device miibus device aue # ADMtek USB Ethernet ==== //depot/projects/usb/src/sys/arm/conf/KB920X#18 (text) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/KB920X,v 1.22 2009/02/23 18:34:56 thompsa Exp $ +# $FreeBSD: src/sys/arm/conf/KB920X,v 1.23 2009/03/19 20:33:26 thompsa Exp $ ident KB920X @@ -105,7 +105,6 @@ device ural # Ralink Technology RT2500USB wireless NICs device rum # Ralink Technology RT2501USB wireless NICs device urio # Diamond Rio 500 MP3 player -device uscanner # Scanners device miibus device aue # ADMtek USB Ethernet ==== //depot/projects/usb/src/sys/boot/forth/loader.conf#16 (text+ko) ==== @@ -6,7 +6,7 @@ # # All arguments must be in double quotes. # -# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.137 2009/03/16 10:36:24 dchagin Exp $ +# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.138 2009/03/19 20:33:26 thompsa Exp $ ############################################################## ### Basic configuration options ############################ @@ -379,7 +379,6 @@ ums_load="NO" # Mouse umass_load="NO" # Mass Storage Devices umodem_load="NO" # Modems -uscanner_load="NO" # Scanners if_aue_load="NO" # ADMtek USB ethernet if_axe_load="NO" # ASIX Electronics AX88172 USB ethernet if_cue_load="NO" # CATC USB ethernet ==== //depot/projects/usb/src/sys/boot/pc98/libpc98/Makefile#3 (text+ko) ==== @@ -1,12 +1,13 @@ -# $FreeBSD: src/sys/boot/pc98/libpc98/Makefile,v 1.25 2008/02/29 05:06:06 nyan Exp $ +# $FreeBSD: src/sys/boot/pc98/libpc98/Makefile,v 1.26 2009/03/19 13:53:42 nyan Exp $ # LIB= pc98 INTERNALLIB= .PATH: ${.CURDIR}/../../i386/libi386 -SRCS= bioscd.c biosdisk.c biosmem.c biospnp.c biospci.c biossmap.c \ - bootinfo.c bootinfo32.c comconsole.c devicename.c elf32_freebsd.c \ +SRCS= bioscd.c biosdisk.c biosmem.c biospnp.c \ + biospci.c biossmap.c bootinfo.c bootinfo32.c \ + comconsole.c devicename.c elf32_freebsd.c \ i386_copy.c i386_module.c nullconsole.c pxe.c pxetramp.s \ time.c vidconsole.c ==== //depot/projects/usb/src/sys/boot/pc98/libpc98/bioscd.c#4 (text) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/pc98/libpc98/bioscd.c,v 1.3 2007/10/24 04:03:25 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/pc98/libpc98/bioscd.c,v 1.5 2009/03/20 13:03:33 nyan Exp $"); /* * BIOS CD device handling for CD's that have been booted off of via no @@ -170,9 +170,9 @@ static void bc_print(int verbose) { + char line[80]; int i; - char line[80]; - + for (i = 0; i < nbcinfo; i++) { sprintf(line, " cd%d: Device 0x%x\n", i, bcinfo[i].bc_sp.sp_devicespec); @@ -232,7 +232,7 @@ if (dblk % (BIOSCD_SECSIZE / DEV_BSIZE) != 0) return (EINVAL); dblk /= (BIOSCD_SECSIZE / DEV_BSIZE); - DEBUG("read %d from %d to %p", blks, dblk, buf); + DEBUG("read %d from %lld to %p", blks, dblk, buf); if (rsize) *rsize = 0; @@ -241,9 +241,9 @@ return (EIO); } #ifdef BD_SUPPORT_FRAGS - DEBUG("bc_strategy: frag read %d from %d+%d to %p", + DEBUG("frag read %d from %lld+%d to %p", fragsize, dblk, blks, buf + (blks * BIOSCD_SECSIZE)); - if (fragsize && bc_read(unit, dblk + blks, 1, fragsize)) { + if (fragsize && bc_read(unit, dblk + blks, 1, fragbuf)) { DEBUG("frag read error"); return(EIO); } @@ -254,11 +254,14 @@ return (0); } +/* Max number of sectors to bounce-buffer at a time. */ +#define CD_BOUNCEBUF 8 + static int bc_read(int unit, daddr_t dblk, int blks, caddr_t dest) { - u_int result, retry; - static unsigned short packet[8]; + u_int maxfer, resid, result, retry, x; + caddr_t bbuf, p, xp; int biosdev; #ifdef DISK_DEBUG int error; @@ -272,40 +275,73 @@ if (blks == 0) return (0); + /* Decide whether we have to bounce */ + if (VTOP(dest) >> 20 != 0) { + /* + * The destination buffer is above first 1MB of + * physical memory so we have to arrange a suitable + * bounce buffer. + */ + x = min(CD_BOUNCEBUF, (unsigned)blks); + bbuf = alloca(x * BIOSCD_SECSIZE); + maxfer = x; + } else { + bbuf = NULL; + maxfer = 0; + } + biosdev = bc_unit2bios(unit); - /* - * Loop retrying the operation a couple of times. The BIOS - * may also retry. - */ - for (retry = 0; retry < 3; retry++) { - /* If retrying, reset the drive */ - if (retry > 0) { + resid = blks; + p = dest; + + while (resid > 0) { + if (bbuf) + xp = bbuf; + else + xp = p; + x = resid; + if (maxfer > 0) + x = min(x, maxfer); + + /* + * Loop retrying the operation a couple of times. The BIOS + * may also retry. + */ + for (retry = 0; retry < 3; retry++) { + /* If retrying, reset the drive */ + if (retry > 0) { + v86.ctl = V86_FLAGS; + v86.addr = 0x1b; + v86.eax = 0x0300 | biosdev; + v86int(); + } + v86.ctl = V86_FLAGS; v86.addr = 0x1b; - v86.eax = 0x0300 | biosdev; + v86.eax = 0x0600 | (biosdev & 0x7f); + v86.ebx = x * BIOSCD_SECSIZE; + v86.ecx = dblk & 0xffff; + v86.edx = (dblk >> 16) & 0xffff; + v86.ebp = VTOPOFF(xp); + v86.es = VTOPSEG(xp); v86int(); + result = (v86.efl & PSL_C); + if (result == 0) + break; } - - v86.ctl = V86_FLAGS; - v86.addr = 0x1b; - v86.eax = 0x0600 | (biosdev & 0x7f); - v86.ebx = blks * BIOSCD_SECSIZE; - v86.ecx = dblk & 0xffff; - v86.edx = (dblk >> 16) & 0xffff; - v86.ebp = VTOPOFF(dest); - v86.es = VTOPSEG(dest); - v86int(); - result = (v86.efl & PSL_C); - if (result == 0) - break; - } #ifdef DISK_DEBUG - error = (v86.eax >> 8) & 0xff; + error = (v86.eax >> 8) & 0xff; #endif - DEBUG("%d sectors from %ld to %p (0x%x) %s", blks, dblk, dest, - VTOP(dest), result ? "failed" : "ok"); - DEBUG("unit %d status 0x%x", unit, error); + DEBUG("%d sectors from %lld to %p (0x%x) %s", x, dblk, p, + VTOP(p), result ? "failed" : "ok"); + DEBUG("unit %d status 0x%x", unit, error); + if (bbuf != NULL) + bcopy(bbuf, p, x * BIOSCD_SECSIZE); + p += (x * BIOSCD_SECSIZE); + dblk += x; + resid -= x; + } /* hexdump(dest, (blks * BIOSCD_SECSIZE)); */ return(0); ==== //depot/projects/usb/src/sys/boot/pc98/libpc98/biosdisk.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/pc98/libpc98/biosdisk.c,v 1.39 2008/02/29 04:56:51 nyan Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/pc98/libpc98/biosdisk.c,v 1.41 2009/03/20 05:33:58 nyan Exp $"); /* * BIOS disk device handling. @@ -269,17 +269,8 @@ /* Check for a "dedicated" disk */ for (j = 0; j < od->od_nslices; j++) { - switch(dptr[j].dp_mid) { - case DOSMID_386BSD: - sprintf(line, " disk%ds%d", i, j + 1); - bd_printbsdslice(od, - dptr[j].dp_scyl * od->od_hds * od->od_sec + - dptr[j].dp_shd * od->od_sec + dptr[j].dp_ssect, - line, verbose); - break; - default: - break; - } + sprintf(line, " disk%ds%d", i, j + 1); + bd_printslice(od, &dptr[j], line, verbose); } } bd_closedisk(od); @@ -311,6 +302,52 @@ } /* + * Print information about slices on a disk. For the size calculations we + * assume a 512 byte sector. + */ +static void +bd_printslice(struct open_disk *od, struct pc98_partition *dp, char *prefix, + int verbose) +{ + int cylsecs, start, size; + char stats[80]; + char line[80]; + + cylsecs = od->od_hds * od->od_sec; + start = dp->dp_scyl * cylsecs + dp->dp_shd * od->od_sec + dp->dp_ssect; + size = (dp->dp_ecyl - dp->dp_scyl + 1) * cylsecs; + + if (verbose) + sprintf(stats, " %s (%d - %d)", display_size(size), + start, start + size); + else + stats[0] = '\0'; + + switch(dp->dp_mid & PC98_MID_MASK) { + case PC98_MID_386BSD: + bd_printbsdslice(od, start, prefix, verbose); + return; + case 0x00: /* unused partition */ + return; + case 0x01: + sprintf(line, "%s: FAT-12%s\n", prefix, stats); + break; + case 0x11: + case 0x20: + case 0x21: + case 0x22: + case 0x23: + case 0x24: + sprintf(line, "%s: FAT-16%s\n", prefix, stats); + break; + default: + sprintf(line, "%s: Unknown fs: 0x%x %s\n", prefix, dp->dp_mid, + stats); + } + pager_output(line); +} + +/* * Print out each valid partition in the disklabel of a FreeBSD slice. * For size calculations, we assume a 512 byte sector size. */ @@ -349,7 +386,7 @@ /* Only print out statistics in verbose mode */ if (verbose) - sprintf(line, " %s%c: %s %s (%d - %d)\n", prefix, 'a' + i, + sprintf(line, " %s%c: %s %s (%d - %d)\n", prefix, 'a' + i, (lp->d_partitions[i].p_fstype == FS_SWAP) ? "swap " : (lp->d_partitions[i].p_fstype == FS_VINUM) ? "vinum" : "FFS ", @@ -625,9 +662,9 @@ dp = &od->od_slicetab[0]; for (i = 0; i < od->od_nslices; i++, dp++) { - switch(dp->dp_mid & 0x7f) { - case DOSMID_386BSD & 0x7f: /* FreeBSD */ - if ((dp->dp_mid & 0x80) && + switch(dp->dp_mid & PC98_MID_MASK) { + case PC98_MID_386BSD: /* FreeBSD */ + if ((dp->dp_mid & PC98_MID_BOOTABLE) && (preflevel > PREF_FBSD_ACT)) { pref = i; preflevel = PREF_FBSD_ACT; @@ -643,7 +680,7 @@ case 0x22: case 0x23: case 0x63: - if ((dp->dp_mid & 0x80) && + if ((dp->dp_mid & PC98_MID_BOOTABLE) && (preflevel > PREF_DOS_ACT)) { pref = i; preflevel = PREF_DOS_ACT; ==== //depot/projects/usb/src/sys/boot/pc98/libpc98/time.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/pc98/libpc98/time.c,v 1.6 2005/05/08 14:17:28 nyan Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/pc98/libpc98/time.c,v 1.7 2009/03/20 05:21:29 nyan Exp $"); #include #include @@ -33,23 +33,21 @@ #include "bootstrap.h" #include "libi386.h" +static int bios_seconds(void); + /* - * Return the time in seconds since the beginning of the day. - * - * If we pass midnight, don't wrap back to 0. + * Return the BIOS time-of-day value. * * XXX uses undocumented BCD support from libstand. */ - -time_t -time(time_t *t) +static int +bios_seconds(void) { - static time_t lasttime, now; int hr, minute, sec; unsigned char bios_time[6]; - + v86.ctl = 0; - v86.addr = 0x1c; /* int 0x1c, function 0 */ + v86.addr = 0x1c; /* int 0x1c, function 0 */ v86.eax = 0x0000; v86.es = VTOPSEG(bios_time); v86.ebx = VTOPOFF(bios_time); @@ -59,7 +57,20 @@ minute = bcd2bin(bios_time[4]); sec = bcd2bin(bios_time[5]); - now = hr * 3600 + minute * 60 + sec; + return (hr * 3600 + minute * 60 + sec); +} + +/* + * Return the time in seconds since the beginning of the day. + */ +time_t +time(time_t *t) +{ + static time_t lasttime; + time_t now; + + now = bios_seconds(); + if (now < lasttime) now += 24 * 3600; lasttime = now; ==== //depot/projects/usb/src/sys/boot/pc98/loader/Makefile#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/boot/pc98/loader/Makefile,v 1.43 2009/02/21 15:04:31 ru Exp $ +# $FreeBSD: src/sys/boot/pc98/loader/Makefile,v 1.44 2009/03/19 13:53:42 nyan Exp $ .include MK_SSP= no @@ -18,6 +18,7 @@ CFLAGS+= -DLOADER_NFS_SUPPORT .endif +# Include bcache code. HAVE_BCACHE= yes # Enable PnP and ISA-PnP code. ==== //depot/projects/usb/src/sys/boot/pc98/loader/main.c#6 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/pc98/loader/main.c,v 1.26 2008/08/08 19:41:20 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/pc98/loader/main.c,v 1.27 2009/03/19 13:53:42 nyan Exp $"); /* * MD bootstrap main() and assorted miscellaneous @@ -145,6 +145,14 @@ bc_add(initial_bootdev); } + archsw.arch_autoload = i386_autoload; + archsw.arch_getdev = i386_getdev; + archsw.arch_copyin = i386_copyin; + archsw.arch_copyout = i386_copyout; + archsw.arch_readin = i386_readin; + archsw.arch_isainb = isa_inb; + archsw.arch_isaoutb = isa_outb; + /* * March through the device switch probing for things. */ @@ -163,14 +171,6 @@ extract_currdev(); /* set $currdev and $loaddev */ setenv("LINES", "24", 1); /* optional */ - - archsw.arch_autoload = i386_autoload; - archsw.arch_getdev = i386_getdev; - archsw.arch_copyin = i386_copyin; - archsw.arch_copyout = i386_copyout; - archsw.arch_readin = i386_readin; - archsw.arch_isainb = isa_inb; - archsw.arch_isaoutb = isa_outb; interact(); /* doesn't return */ @@ -188,7 +188,8 @@ extract_currdev(void) { struct i386_devdesc new_currdev; - int major, biosdev = -1; + int major; + int biosdev = -1; /* Assume we are booting from a BIOS disk by default */ new_currdev.d_dev = &biosdisk; ==== //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c#3 (text+ko) ==== @@ -940,6 +940,8 @@ /* NB: we already did dmu_tx_wait() if necessary */ goto top; } + if (error == 0) + VOP_UNLOCK(*xvpp, 0); return (error); } ==== //depot/projects/usb/src/sys/conf/NOTES#31 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1531 2009/03/15 14:21:05 rwatson Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1532 2009/03/19 20:33:26 thompsa Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -2413,8 +2413,6 @@ device ums # Diamond Rio 500 MP3 player device urio -# USB scanners -device uscanner # # USB serial support device ucom ==== //depot/projects/usb/src/sys/conf/files#56 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1382 2009/03/15 14:21:05 rwatson Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1383 2009/03/19 20:33:26 thompsa Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -1656,10 +1656,6 @@ dev/usb/template/usb_template_msc.c optional usb_template dev/usb/template/usb_template_mtp.c optional usb_template # -# USB image drivers -# -dev/usb/image/uscanner.c optional uscanner -# # USB END # dev/utopia/idtphy.c optional utopia ==== //depot/projects/usb/src/sys/dev/agp/agp.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/agp/agp.c,v 1.63 2009/03/09 13:27:33 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/agp/agp.c,v 1.64 2009/03/20 18:30:20 rnoland Exp $"); #include "opt_agp.h" #include "opt_bus.h" @@ -532,7 +532,7 @@ int error; /* Do some sanity checks first. */ - if (offset < 0 || (offset & (AGP_PAGE_SIZE - 1)) != 0 || + if ((offset & (AGP_PAGE_SIZE - 1)) != 0 || offset + mem->am_size > AGP_GET_APERTURE(dev)) { device_printf(dev, "binding memory at bad offset %#x\n", (int)offset); ==== //depot/projects/usb/src/sys/dev/agp/agp_amd64.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/agp/agp_amd64.c,v 1.18 2009/03/09 13:27:33 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/agp/agp_amd64.c,v 1.19 2009/03/20 18:30:20 rnoland Exp $"); #include "opt_bus.h" @@ -337,7 +337,7 @@ { struct agp_amd64_softc *sc = device_get_softc(dev); - if (offset < 0 || offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) + if (offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) return (EINVAL); sc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = @@ -351,7 +351,7 @@ { struct agp_amd64_softc *sc = device_get_softc(dev); - if (offset < 0 || offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) + if (offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) return (EINVAL); sc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = 0; ==== //depot/projects/usb/src/sys/dev/agp/agp_i810.c#8 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/agp/agp_i810.c,v 1.50 2009/03/09 13:27:33 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/agp/agp_i810.c,v 1.51 2009/03/20 18:30:20 rnoland Exp $"); #include "opt_bus.h" @@ -840,7 +840,7 @@ { struct agp_i810_softc *sc = device_get_softc(dev); - if (offset < 0 || offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) { + if (offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) { device_printf(dev, "failed: offset is 0x%08jx, shift is %d, entries is %d\n", (intmax_t)offset, AGP_PAGE_SHIFT, sc->gatt->ag_entries); return EINVAL; } @@ -862,7 +862,7 @@ { struct agp_i810_softc *sc = device_get_softc(dev); - if (offset < 0 || offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) + if (offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) return EINVAL; if ( sc->chiptype != CHIP_I810 ) { @@ -1016,7 +1016,7 @@ vm_offset_t i; /* Do some sanity checks first. */ - if (offset < 0 || (offset & (AGP_PAGE_SIZE - 1)) != 0 || + if ((offset & (AGP_PAGE_SIZE - 1)) != 0 || offset + mem->am_size > AGP_GET_APERTURE(dev)) { device_printf(dev, "binding memory at bad offset %#x\n", (int)offset); ==== //depot/projects/usb/src/sys/dev/agp/agp_intel.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/agp/agp_intel.c,v 1.37 2009/03/09 13:27:33 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/agp/agp_intel.c,v 1.38 2009/03/20 18:30:20 rnoland Exp $"); #include "opt_bus.h" @@ -371,7 +371,7 @@ sc = device_get_softc(dev); - if (offset < 0 || offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) + if (offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) return (EINVAL); sc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = physical | 0x17; @@ -385,7 +385,7 @@ sc = device_get_softc(dev); - if (offset < 0 || offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) + if (offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) return (EINVAL); sc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = 0; ==== //depot/projects/usb/src/sys/dev/agp/agp_via.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/agp/agp_via.c,v 1.28 2009/03/09 13:27:33 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/agp/agp_via.c,v 1.29 2009/03/20 18:30:20 rnoland Exp $"); #include "opt_bus.h" @@ -362,7 +362,7 @@ { struct agp_via_softc *sc = device_get_softc(dev); - if (offset < 0 || offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) + if (offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) return EINVAL; sc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = physical; @@ -374,7 +374,7 @@ { struct agp_via_softc *sc = device_get_softc(dev); - if (offset < 0 || offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) + if (offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) return EINVAL; sc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = 0; ==== //depot/projects/usb/src/sys/dev/ath/ath_hal/ah.h#4 (text+ko) ==== @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $FreeBSD: src/sys/dev/ath/ath_hal/ah.h,v 1.6 2009/02/24 01:07:06 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ath_hal/ah.h,v 1.7 2009/03/19 19:29:10 sam Exp $ */ #ifndef _ATH_AH_H_ @@ -598,8 +598,6 @@ */ struct ath_hal { uint32_t ah_magic; /* consistency check magic number */ - uint32_t ah_abi; /* HAL ABI version */ -#define HAL_ABI_VERSION 0x08112800 /* YYMMDDnn */ uint16_t ah_devid; /* PCI device ID */ uint16_t ah_subvendorid; /* PCI subvendor ID */ HAL_SOFTC ah_sc; /* back pointer to driver/os state */ ==== //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c#4 (text+ko) ==== @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $FreeBSD: src/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c,v 1.4 2009/02/24 01:07:06 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c,v 1.5 2009/03/19 19:29:10 sam Exp $ */ #include "opt_ah.h" @@ -38,7 +38,6 @@ static const struct ath_hal_private ar5210hal = {{ .ah_magic = AR5210_MAGIC, - .ah_abi = HAL_ABI_VERSION, .ah_getRateTable = ar5210GetRateTable, .ah_detach = ar5210Detach, ==== //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c#4 (text+ko) ==== @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $FreeBSD: src/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c,v 1.5 2009/02/24 01:07:06 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c,v 1.6 2009/03/19 19:29:10 sam Exp $ */ #include "opt_ah.h" @@ -38,7 +38,6 @@ static const struct ath_hal_private ar5211hal = {{ .ah_magic = AR5211_MAGIC, - .ah_abi = HAL_ABI_VERSION, .ah_getRateTable = ar5211GetRateTable, .ah_detach = ar5211Detach, ==== //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c#4 (text+ko) ==== @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $FreeBSD: src/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c,v 1.4 2009/02/24 01:07:06 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c,v 1.5 2009/03/19 19:29:10 sam Exp $ */ #include "opt_ah.h" @@ -34,7 +34,6 @@ static const struct ath_hal_private ar5212hal = {{ .ah_magic = AR5212_MAGIC, - .ah_abi = HAL_ABI_VERSION, .ah_getRateTable = ar5212GetRateTable, .ah_detach = ar5212Detach, ==== //depot/projects/usb/src/sys/dev/ath/if_ath.c#20 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.240 2009/03/09 23:10:22 svn Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.242 2009/03/19 19:29:10 sam Exp $"); /* * Driver for the Atheros Wireless LAN controller. @@ -89,11 +89,6 @@ #endif /* - * We require a HAL w/ the changes for split tx/rx MIC. - */ -CTASSERT(HAL_ABI_VERSION > 0x06052200); - -/* * ATH_BCBUF determines the number of vap's that can transmit * beacons and also (currently) the number of vap's that can * have unique mac addresses/bssid. When staggering beacons @@ -225,7 +220,7 @@ const struct ieee80211_tdma_state *tdma); static void ath_tdma_config(struct ath_softc *sc, struct ieee80211vap *vap); static void ath_tdma_update(struct ieee80211_node *ni, - const struct ieee80211_tdma_param *tdma); + const struct ieee80211_tdma_param *tdma, int); static void ath_tdma_beacon_send(struct ath_softc *sc, struct ieee80211vap *vap); @@ -380,13 +375,6 @@ error = ENXIO; goto bad; } - if (ah->ah_abi != HAL_ABI_VERSION) { - if_printf(ifp, "HAL ABI mismatch detected " - "(HAL:0x%x != driver:0x%x)\n", - ah->ah_abi, HAL_ABI_VERSION); - error = ENXIO; - goto bad; - } sc->sc_ah = ah; sc->sc_invalid = 0; /* ready to go, enable interrupt handling */ #ifdef ATH_DEBUG @@ -2689,17 +2677,8 @@ u_int32_t rfilt; rfilt = HAL_RX_FILTER_UCAST | HAL_RX_FILTER_BCAST | HAL_RX_FILTER_MCAST; -#if HAL_ABI_VERSION < 0x08011600 - rfilt |= (ath_hal_getrxfilter(sc->sc_ah) & - (HAL_RX_FILTER_PHYRADAR | HAL_RX_FILTER_PHYERR)); -#elif HAL_ABI_VERSION < 0x08060100 - if (ic->ic_opmode == IEEE80211_M_STA && - !sc->sc_needmib && !sc->sc_scanning) - rfilt |= HAL_RX_FILTER_PHYERR; -#else if (!sc->sc_needmib && !sc->sc_scanning) rfilt |= HAL_RX_FILTER_PHYERR; -#endif if (ic->ic_opmode != IEEE80211_M_STA) rfilt |= HAL_RX_FILTER_PROBEREQ; if (ic->ic_opmode == IEEE80211_M_MONITOR || (ifp->if_flags & IFF_PROMISC)) @@ -6273,10 +6252,6 @@ break; case IEEE80211_MODE_TURBO_A: rt = ath_hal_getratetable(ah, HAL_MODE_108A); -#if HAL_ABI_VERSION < 0x07013100 - if (rt == NULL) /* XXX bandaid for old hal's */ - rt = ath_hal_getratetable(ah, HAL_MODE_TURBO); -#endif break; case IEEE80211_MODE_TURBO_G: rt = ath_hal_getratetable(ah, HAL_MODE_108G); @@ -7477,7 +7452,7 @@ */ static void ath_tdma_update(struct ieee80211_node *ni, - const struct ieee80211_tdma_param *tdma) + const struct ieee80211_tdma_param *tdma, int changed) { #define TSF_TO_TU(_h,_l) \ ((((u_int32_t)(_h)) << 22) | (((u_int32_t)(_l)) >> 10)) @@ -7498,7 +7473,7 @@ /* * Check for and adopt configuration changes. */ - if (isset(ATH_VAP(vap)->av_boff.bo_flags, IEEE80211_BEACON_TDMA)) { + if (changed != 0) { const struct ieee80211_tdma_state *ts = vap->iv_tdma; ath_tdma_bintvalsetup(sc, ts); ==== //depot/projects/usb/src/sys/dev/ath/if_athvar.h#16 (text+ko) ==== @@ -26,7 +26,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<<