PERFORCE change 159535 for review
Andrew Thompson
thompsa at FreeBSD.org
Fri Mar 20 11:44:21 PDT 2009
http://perforce.freebsd.org/chv.cgi?CH=159535
Change 159535 by thompsa at 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 <sys/cdefs.h>
-__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 <sys/cdefs.h>
-__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 <sys/cdefs.h>
-__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 <stand.h>
#include <btxv86.h>
@@ -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 <bsd.own.mk>
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 <sys/cdefs.h>
-__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 <sys/cdefs.h>
-__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 <sys/cdefs.h>
-__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 <sys/cdefs.h>
-__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 <sys/cdefs.h>
-__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 <sys/cdefs.h>
-__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 <sys/cdefs.h>
-__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) <<<
More information about the p4-projects
mailing list