PERFORCE change 148220 for review
John Birrell
jb at FreeBSD.org
Sat Aug 23 22:41:14 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=148220
Change 148220 by jb at freebsd3 on 2008/08/23 22:40:46
IF7
Affected files ...
.. //depot/projects/dtrace7/src/release/picobsd/build/picobsd#3 integrate
.. //depot/projects/dtrace7/src/share/colldef/Makefile#2 integrate
.. //depot/projects/dtrace7/src/share/colldef/no_NO.ISO8859-1.src#1 branch
.. //depot/projects/dtrace7/src/share/colldef/no_NO.ISO8859-15.src#1 branch
.. //depot/projects/dtrace7/src/share/timedef/Makefile#2 integrate
.. //depot/projects/dtrace7/src/share/timedef/nb_NO.ISO8859-1.src#1 branch
.. //depot/projects/dtrace7/src/share/timedef/nb_NO.UTF-8.src#1 branch
.. //depot/projects/dtrace7/src/share/timedef/no_NO.ISO8859-1.src#2 delete
.. //depot/projects/dtrace7/src/share/timedef/no_NO.UTF-8.src#2 delete
.. //depot/projects/dtrace7/src/sys/dev/ata/ata-all.c#4 integrate
.. //depot/projects/dtrace7/src/sys/dev/ata/ata-all.h#5 integrate
.. //depot/projects/dtrace7/src/sys/dev/ata/ata-chipset.c#7 integrate
.. //depot/projects/dtrace7/src/sys/dev/pci/pci.c#5 integrate
.. //depot/projects/dtrace7/src/sys/dev/pci/pci_pci.c#2 integrate
.. //depot/projects/dtrace7/src/sys/dev/pci/pcivar.h#2 integrate
.. //depot/projects/dtrace7/src/sys/dev/usb/hid.c#2 integrate
.. //depot/projects/dtrace7/src/sys/dev/usb/ums.c#5 integrate
.. //depot/projects/dtrace7/src/sys/kern/vfs_bio.c#3 integrate
.. //depot/projects/dtrace7/src/sys/sys/copyright.h#3 integrate
.. //depot/projects/dtrace7/src/sys/ufs/ffs/ffs_balloc.c#4 integrate
Differences ...
==== //depot/projects/dtrace7/src/release/picobsd/build/picobsd#3 (text+ko) ====
@@ -1,6 +1,6 @@
#!/bin/sh -
#
-# $FreeBSD: src/release/picobsd/build/picobsd,v 1.39.2.1 2007/11/21 07:20:10 luigi Exp $
+# $FreeBSD: src/release/picobsd/build/picobsd,v 1.39.2.2 2008/08/22 10:18:18 luigi Exp $
# This file requires sysutils/makefs to run
#
# The new PicoBSD build script. Invoked as
@@ -75,19 +75,17 @@
# log something on stdout if verbose.
o_verbose=0 # this needs to be here!
log() {
- if [ ${o_verbose} -gt 0 ] ; then
- printf "\n*** %s\n" "$*"
- if [ ${o_verbose} -gt 1 ] ; then
- read -p "=== Press enter to continue" foo
- fi
- fi
+ local foo
+ [ ${o_verbose} -gt 0 ] && printf "\n*** %s\n" "$*"
+ [ ${o_verbose} -gt 1 ] && read -p "=== Press enter to continue" foo
+ return 0
}
logverbose() {
local foo
-
printf "\n*** %s\n" "$*"
read -p "=== Press enter to continue" foo
+ return 0
}
set_defaults() {
@@ -164,6 +162,7 @@
)
}
+# entry for 4.x and earlier trees
create_includes_and_libraries() {
local e i
@@ -208,21 +207,22 @@
# set_type <type> looks in user or system directories for the floppy type
# specified as first argument, and sets variables according to the config.
-# file. Also sets MY_TREE and BUILDDIR and SITE
+# file. Sets THETYPE, SITE, name, MY_TREE and BUILDDIR
set_type() {
local a i
- log "set_type()"
+ log "set_type() : Type '$1' site '$2'"
THETYPE=$1
SITE=$2
a=$1
+ name="" # clear in case of errors
for i in ${c_startdir}/${a} ${PICO_TREE}/${a} ; do
log "set_type: checking $i"
- if [ -d $i -a -f $i/PICOBSD -a -f $i/crunch.conf ] ; then
+ [ -d $i -a -f $i/PICOBSD -a -f $i/crunch.conf ] || continue
set -- `cat $i/PICOBSD | \
awk '/^#PicoBSD/ {print $2, $3, $4, $5, $6}'`
- if [ "$1" != "" ]; then
+ [ x"$1" != "x" ] || continue
MFS_SIZE=$1 ; init_name=$2
mfs_inodes=$3 ; fd_inodes=$4
name=`(cd $i ; pwd) `
@@ -231,10 +231,8 @@
BUILDDIR=${c_startdir}/build_dir-${name}
log "Matching file $name in $i"
return ;
- fi
- fi
done
- echo "Type $a NOT FOUND"
+ logverbose "Type $a NOT FOUND"
}
clean_tree() {
@@ -280,10 +278,8 @@
log "PICO_OBJ is ${PICO_OBJ}"
if [ ${OSVERSION} -ge 500035 ] ; then
- MAKEOBJDIRPREFIX=${l_objtree}
- export MAKEOBJDIRPREFIX
+ export MAKEOBJDIRPREFIX=${l_objtree}
eval "export BINMAKE=\"`cd ${SRC}; make -f Makefile -V BINMAKE`\""
- log `cd ${SRC}; make -f Makefile.inc1 -V WMAKEENV`
eval export `cd ${SRC}; ${BINMAKE} -f Makefile.inc1 -V WMAKEENV`
fi
# create build directory and subtree
@@ -305,12 +301,16 @@
local z msg
log "build_package()"
- touch build.status
+ rm -rf build.status
echo "##############################################" >>build.status
echo "## `date` ">>build.status
echo "##############################################" >>build.status
for z in bridge dial router net isp ; do
set_type ${z}
+ if [ "${name}" = "" ] ; then
+ echo "*** TYPE=${z} not found" >>build.status
+ continue
+ fi
echo "---------------------------------------------">>build.status
echo "Building TYPE=${z}, SIZE=${MFS_SIZE}" >>build.status
msg="(ok)" # error message
@@ -455,15 +455,13 @@
#-------------------------------------------------------------------
-# invoke the Makefile to compile the kernel.
+# invoke the picobsd Makefile to compile the kernel.
+# if MODULES is set (value is irrelevant) the makefile will build modules.
do_kernel() { # OK
log "do_kernel() Preparing kernel \"$name\" in $MY_TREE"
(cd $MY_TREE; export name SRC BUILDDIR # used in this makefile ;
# export CONFIG
- if [ "${o_do_modules}" = "yes" ] ; then
- MODULES=""
- export MODULES
- fi
+ [ "${o_do_modules}" = "yes" ] && export MODULES=""
${BINMAKE} -v -f ${PICO_TREE}/build/Makefile.conf ) || \
fail $? missing_kernel
}
@@ -497,14 +495,15 @@
else
excl=""
fi
- (cd ${PICO_TREE}/floppy.tree ; tar -cf - --exclude CVS ${excl} . ) | \
+ (cd ${PICO_TREE}/floppy.tree ; tar -cf - --exclude CVS --exclude .svn \
+ ${excl} . ) | \
(cd ${dst} ; tar x${o_tarv}f - )
log "Copied from generic floppy-tree `echo; ls -laR ${dst}`"
srcdir=${MY_TREE}/floppy.tree
if [ -d ${srcdir} ] ; then
log "update with type-specific files:"
- (cd ${srcdir} ; tar -cf - --exclude CVS . ) | \
+ (cd ${srcdir} ; tar -cf - --exclude CVS --exclude .svn . ) | \
(cd ${dst} ; tar x${o_tarv}f - )
log "Copied from type floppy-tree `echo; ls -laR ${dst}`"
else
@@ -512,7 +511,7 @@
fi
if [ -d ${srcdir}.${SITE} ] ; then
log "Update with site-specific (${SITE}) files:"
- (cd ${srcdir}.${SITE} ; tar -cf - --exclude CVS . ) | \
+ (cd ${srcdir}.${SITE} ; tar -cf - --exclude CVS --exclude .svn . ) | \
(cd ${dst} ; tar x${o_tarv}f - )
log "Copied from site floppy-tree `echo; ls -laR ${dst}`"
else
@@ -595,7 +594,7 @@
for MFS_TREE in ${PICO_TREE}/mfs_tree ${MY_TREE}/mfs_tree ; do
if [ -d ${MFS_TREE} ] ; then
log "Copy ${MFS_TREE} ..."
- (cd ${MFS_TREE} ; tar -cf - --exclude CVS . ) | \
+ (cd ${MFS_TREE} ; tar -cf - --exclude CVS --exclude .svn . ) | \
(cd ${dst} ; tar x${o_tarv}f - )
fi
done
@@ -825,7 +824,8 @@
# arguments.
set_defaults
-while [ true ]; do
+args=""
+while [ x"$1" != x ]; do
case $1 in
--src) # set the source path instead of /usr/src
SRC=`(cd $2; pwd)`
@@ -866,23 +866,22 @@
o_makeopts="-d l" # be verbose
;;
*)
- break ;
+ args="$args $1" # accumulate args
;;
esac
shift
done
set_build_parameters # things that depend on ${SRC}
-set_type $1 $2 # type and site, respectively
# If $1="package", it creates a neat set of floppies
+set -- ${args}
+[ "$1" = "package" ] && build_package
+
+set_type $args # type and site, respectively
+
+[ "${o_interactive}" != "NO" ] && main_dialog
-if [ "$1" = "package" ] ; then
- build_package
-fi
-if [ "${o_interactive}" != "NO" ] ; then
- main_dialog
-fi
if [ "${o_clean}" = "YES" ] ; then
clean_tree
else
==== //depot/projects/dtrace7/src/share/colldef/Makefile#2 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/share/colldef/Makefile,v 1.71 2006/11/09 18:10:33 des Exp $
+# $FreeBSD: src/share/colldef/Makefile,v 1.71.2.1 2008/08/23 13:25:56 des Exp $
LOCALES= bg_BG.CP1251 \
be_BY.CP1131 \
@@ -23,6 +23,8 @@
la_LN.ISO8859-2 \
la_LN.ISO8859-4 \
la_LN.US-ASCII \
+ no_NO.ISO8859-1 \
+ no_NO.ISO8859-15 \
lt_LT.ISO8859-4 \
lt_LT.ISO8859-13 \
pl_PL.ISO8859-2 \
@@ -64,9 +66,11 @@
ISO8859-1_ISO8859-1= ${ISO8859-15_ISO8859-15} pt_PT:pt_BR
LATIN1LINKS= af_ZA da_DK en_AU en_CA en_GB en_NZ en_US eu_ES fi_FI \
- fr_BE fr_CA fr_CH fr_FR it_CH it_IT nb_NO nl_BE nl_NL \
- nn_NO no_NO pt_PT
-ISO8859-15_ISO8859-15= de_DE:de_AT de_DE:de_CH ${LATIN1LINKS:C/^/la_LN:/}
+ fr_BE fr_CA fr_CH fr_FR it_CH it_IT nl_BE nl_NL pt_PT
+ISO8859-15_ISO8859-15= \
+ de_DE:de_AT de_DE:de_CH \
+ no_NO:nb_NO no_NO:nn_NO \
+ ${LATIN1LINKS:C/^/la_LN:/}
LATIN2LINKS= hr_HR hu_HU ro_RO sr_YU
ISO8859-2_ISO8859-2= ${LATIN2LINKS:C/^/la_LN:/} cs_CZ:sk_SK
==== //depot/projects/dtrace7/src/share/timedef/Makefile#2 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/share/timedef/Makefile,v 1.50 2006/11/09 18:10:34 des Exp $
+# $FreeBSD: src/share/timedef/Makefile,v 1.50.2.1 2008/08/23 13:25:56 des Exp $
LOCALES= am_ET.UTF-8 \
be_BY.CP1131 \
@@ -54,11 +54,11 @@
lt_LT.ISO8859-13 \
lt_LT.UTF-8 \
mn_MN.UTF-8 \
+ nb_NO.ISO8859-1 \
+ nb_NO.UTF-8 \
nl_NL.ISO8859-1 \
nn_NO.ISO8859-1 \
nn_NO.UTF-8 \
- no_NO.ISO8859-1 \
- no_NO.UTF-8 \
pl_PL.ISO8859-2 \
pl_PL.UTF-8 \
pt_BR.ISO8859-1 \
@@ -118,7 +118,7 @@
FR_LINKS= fr_FR:fr_BE fr_FR:fr_CA fr_FR:fr_CH
IT_LINKS= it_IT:it_CH
NL_LINKS= nl_NL:nl_BE
-NO_LINKS= no_NO:nb_NO
+NO_LINKS= nb_NO:no_NO
GB_LINKS= en_GB:en_AU en_GB:en_CA en_GB:en_NZ
eucKR_CP949= ko_KR
==== //depot/projects/dtrace7/src/sys/dev/ata/ata-all.c#4 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.280.2.2 2008/05/24 10:15:20 bz Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.280.2.3 2008/08/22 08:09:13 philip Exp $");
#include "opt_ata.h"
#include <sys/param.h>
@@ -75,6 +75,7 @@
uma_zone_t ata_request_zone;
uma_zone_t ata_composite_zone;
int ata_wc = 1;
+int ata_dma_check_80pin = 1;
/* local vars */
static int ata_dma = 1;
@@ -85,6 +86,10 @@
TUNABLE_INT("hw.ata.ata_dma", &ata_dma);
SYSCTL_INT(_hw_ata, OID_AUTO, ata_dma, CTLFLAG_RDTUN, &ata_dma, 0,
"ATA disk DMA mode control");
+TUNABLE_INT("hw.ata.ata_dma_check_80pin", &ata_dma_check_80pin);
+SYSCTL_INT(_hw_ata, OID_AUTO, ata_dma_check_80pin,
+ CTLFLAG_RDTUN, &ata_dma_check_80pin, 1,
+ "Check for 80pin cable before setting ATA DMA mode");
TUNABLE_INT("hw.ata.atapi_dma", &atapi_dma);
SYSCTL_INT(_hw_ata, OID_AUTO, atapi_dma, CTLFLAG_RDTUN, &atapi_dma, 0,
"ATAPI device DMA mode control");
==== //depot/projects/dtrace7/src/sys/dev/ata/ata-all.h#5 (text+ko) ====
@@ -23,7 +23,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-all.h,v 1.124.2.4 2008/04/08 10:48:21 phk Exp $
+ * $FreeBSD: src/sys/dev/ata/ata-all.h,v 1.124.2.5 2008/08/22 08:09:13 philip Exp $
*/
/* ATA register defines */
@@ -524,7 +524,8 @@
extern struct intr_config_hook *ata_delayed_attach;
extern devclass_t ata_devclass;
extern int ata_wc;
-
+extern int ata_dma_check_80pin;
+
/* public prototypes */
/* ata-all.c: */
int ata_probe(device_t dev);
==== //depot/projects/dtrace7/src/sys/dev/ata/ata-chipset.c#7 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.202.2.11 2008/08/02 12:34:49 remko Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.202.2.12 2008/08/22 08:09:13 philip Exp $");
#include "opt_ata.h"
#include <sys/param.h>
@@ -5829,6 +5829,12 @@
{
struct ata_device *atadev = device_get_softc(dev);
+ if (!ata_dma_check_80pin) {
+ if (bootverbose)
+ device_printf(dev, "Skipping 80pin cable check\n");
+ return mode;
+ }
+
if (mode > ATA_UDMA2 && !(atadev->param.hwres & ATA_CABLE_ID)) {
ata_print_cable(dev, "device");
mode = ATA_UDMA2;
==== //depot/projects/dtrace7/src/sys/dev/pci/pci.c#5 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/pci/pci.c,v 1.355.2.3 2008/08/15 20:16:21 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/pci/pci.c,v 1.355.2.4 2008/08/23 03:40:49 mlaier Exp $");
#include "opt_bus.h"
@@ -562,11 +562,12 @@
cfg->domain, cfg->bus,
cfg->slot, cfg->func,
(long long)addr);
- }
+ } else
+ addr = MSI_INTEL_ADDR_BASE;
- /* Enable MSI -> HT mapping. */
- val |= PCIM_HTCMD_MSI_ENABLE;
- WREG(ptr + PCIR_HT_COMMAND, val, 2);
+ cfg->ht.ht_msimap = ptr;
+ cfg->ht.ht_msictrl = val;
+ cfg->ht.ht_msiaddr = addr;
break;
}
break;
@@ -1095,6 +1096,9 @@
bus_write_4(msix->msix_table_res, offset, address & 0xffffffff);
bus_write_4(msix->msix_table_res, offset + 4, address >> 32);
bus_write_4(msix->msix_table_res, offset + 8, data);
+
+ /* Enable MSI -> HT mapping. */
+ pci_ht_map_msi(dev, address);
}
void
@@ -1534,6 +1538,34 @@
}
/*
+ * HyperTransport MSI mapping control
+ */
+void
+pci_ht_map_msi(device_t dev, uint64_t addr)
+{
+ struct pci_devinfo *dinfo = device_get_ivars(dev);
+ struct pcicfg_ht *ht = &dinfo->cfg.ht;
+
+ if (!ht->ht_msimap)
+ return;
+
+ if (addr && !(ht->ht_msictrl & PCIM_HTCMD_MSI_ENABLE) &&
+ ht->ht_msiaddr >> 20 == addr >> 20) {
+ /* Enable MSI -> HT mapping. */
+ ht->ht_msictrl |= PCIM_HTCMD_MSI_ENABLE;
+ pci_write_config(dev, ht->ht_msimap + PCIR_HT_COMMAND,
+ ht->ht_msictrl, 2);
+ }
+
+ if (!addr && ht->ht_msictrl & PCIM_HTCMD_MSI_ENABLE) {
+ /* Disable MSI -> HT mapping. */
+ ht->ht_msictrl &= ~PCIM_HTCMD_MSI_ENABLE;
+ pci_write_config(dev, ht->ht_msimap + PCIR_HT_COMMAND,
+ ht->ht_msictrl, 2);
+ }
+}
+
+/*
* Support for MSI message signalled interrupts.
*/
void
@@ -1558,6 +1590,9 @@
msi->msi_ctrl |= PCIM_MSICTRL_MSI_ENABLE;
pci_write_config(dev, msi->msi_location + PCIR_MSI_CTRL, msi->msi_ctrl,
2);
+
+ /* Enable MSI -> HT mapping. */
+ pci_ht_map_msi(dev, address);
}
void
@@ -1566,6 +1601,9 @@
struct pci_devinfo *dinfo = device_get_ivars(dev);
struct pcicfg_msi *msi = &dinfo->cfg.msi;
+ /* Disable MSI -> HT mapping. */
+ pci_ht_map_msi(dev, 0);
+
/* Disable MSI in the control register. */
msi->msi_ctrl &= ~PCIM_MSICTRL_MSI_ENABLE;
pci_write_config(dev, msi->msi_location + PCIR_MSI_CTRL, msi->msi_ctrl,
==== //depot/projects/dtrace7/src/sys/dev/pci/pci_pci.c#2 (text+ko) ====
@@ -29,7 +29,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/pci/pci_pci.c,v 1.50 2007/09/30 11:05:15 marius Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/pci/pci_pci.c,v 1.50.2.1 2008/08/23 03:40:49 mlaier Exp $");
/*
* PCI:PCI bridge support.
@@ -607,9 +607,15 @@
uint32_t *data)
{
device_t bus;
+ int error;
bus = device_get_parent(pcib);
- return (PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data));
+ error = PCIB_MAP_MSI(device_get_parent(bus), dev, irq, addr, data);
+ if (error)
+ return (error);
+
+ pci_ht_map_msi(pcib, *addr);
+ return (0);
}
/*
==== //depot/projects/dtrace7/src/sys/dev/pci/pcivar.h#2 (text+ko) ====
@@ -23,7 +23,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/pci/pcivar.h,v 1.80 2007/09/30 11:05:15 marius Exp $
+ * $FreeBSD: src/sys/dev/pci/pcivar.h,v 1.80.2.1 2008/08/23 03:40:49 mlaier Exp $
*
*/
@@ -115,6 +115,13 @@
struct resource *msix_pba_res; /* Resource containing PBA. */
};
+/* Interesting values for HyperTransport */
+struct pcicfg_ht {
+ uint8_t ht_msimap; /* Offset of MSI mapping cap registers. */
+ uint16_t ht_msictrl; /* MSI mapping control */
+ uint64_t ht_msiaddr; /* MSI mapping base address */
+};
+
/* config header information common to all header types */
typedef struct pcicfg {
struct device *dev; /* device which owns this */
@@ -156,6 +163,7 @@
struct pcicfg_vpd vpd; /* pci vital product data */
struct pcicfg_msi msi; /* pci msi */
struct pcicfg_msix msix; /* pci msi-x */
+ struct pcicfg_ht ht; /* HyperTransport */
} pcicfgregs;
/* additional type 1 device config header information (PCI to PCI bridge) */
@@ -462,6 +470,8 @@
int pci_msi_device_blacklisted(device_t dev);
+void pci_ht_map_msi(device_t dev, uint64_t addr);
+
#endif /* _SYS_BUS_H_ */
/*
==== //depot/projects/dtrace7/src/sys/dev/usb/hid.c#2 (text+ko) ====
@@ -2,7 +2,7 @@
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/hid.c,v 1.29 2007/06/20 05:10:52 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/hid.c,v 1.29.2.2 2008/08/23 17:40:35 kaiw Exp $");
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -193,8 +193,11 @@
case 0: /* Main */
switch (bTag) {
case 8: /* Input */
- if (!(s->kindset & (1 << hid_input)))
+ if (!(s->kindset & (1 << hid_input))) {
+ if (s->nu > 0)
+ s->nu--;
continue;
+ }
c->kind = hid_input;
c->flags = dval;
ret:
@@ -223,8 +226,11 @@
return (1);
}
case 9: /* Output */
- if (!(s->kindset & (1 << hid_output)))
+ if (!(s->kindset & (1 << hid_output))) {
+ if (s->nu > 0)
+ s->nu--;
continue;
+ }
c->kind = hid_output;
c->flags = dval;
goto ret;
@@ -237,8 +243,11 @@
s->nu = 0;
return (1);
case 11: /* Feature */
- if (!(s->kindset & (1 << hid_feature)))
+ if (!(s->kindset & (1 << hid_feature))) {
+ if (s->nu > 0)
+ s->nu--;
continue;
+ }
c->kind = hid_feature;
c->flags = dval;
goto ret;
@@ -266,7 +275,7 @@
c->logical_maximum = dval;
break;
case 3:
- c->physical_maximum = dval;
+ c->physical_minimum = dval;
break;
case 4:
c->physical_maximum = dval;
==== //depot/projects/dtrace7/src/sys/dev/usb/ums.c#5 (text+ko) ====
@@ -36,7 +36,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/ums.c,v 1.96.2.3 2008/06/12 16:45:46 kaiw Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/ums.c,v 1.96.2.5 2008/08/23 17:35:15 kaiw Exp $");
/*
* HID spec: http://www.usb.org/developers/devclass_docs/HID1_11.pdf
@@ -283,6 +283,9 @@
/* Try the wheel first as the Z activator since it's tradition. */
wheel = hid_locate(desc, size, HID_USAGE2(HUP_GENERIC_DESKTOP,
HUG_WHEEL),
+ hid_input, &sc->sc_loc_z, &flags) ||
+ hid_locate(desc, size, HID_USAGE2(HUP_GENERIC_DESKTOP,
+ HUG_TWHEEL),
hid_input, &sc->sc_loc_z, &flags);
if (wheel) {
@@ -359,12 +362,6 @@
hid_input, &sc->sc_loc_btn[i-1], 0);
sc->sc_isize = hid_report_size(desc, size, hid_input, &sc->sc_iid);
- sc->sc_ibuf = malloc(sc->sc_isize, M_USB, M_NOWAIT);
- if (!sc->sc_ibuf) {
- printf("%s: no memory\n", device_get_nameunit(sc->sc_dev));
- free(sc->sc_loc_btn, M_USB);
- return ENXIO;
- }
/*
* The Microsoft Wireless Notebook Optical Mouse seems to be in worse
@@ -407,6 +404,13 @@
sc->sc_loc_btn[2].pos = 2;
}
+ sc->sc_ibuf = malloc(sc->sc_isize, M_USB, M_NOWAIT);
+ if (!sc->sc_ibuf) {
+ printf("%s: no memory\n", device_get_nameunit(sc->sc_dev));
+ free(sc->sc_loc_btn, M_USB);
+ return ENXIO;
+ }
+
sc->sc_ep_addr = ed->bEndpointAddress;
sc->sc_disconnected = 0;
free(desc, M_TEMP);
==== //depot/projects/dtrace7/src/sys/kern/vfs_bio.c#3 (text+ko) ====
@@ -39,7 +39,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/vfs_bio.c,v 1.528.2.1 2008/07/22 14:27:47 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/vfs_bio.c,v 1.528.2.2 2008/08/22 09:47:01 kib Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -1383,7 +1383,7 @@
if ((bp->b_flags & (B_DELWRI|B_NEEDSGIANT)) ==
(B_DELWRI|B_NEEDSGIANT))
bp->b_qindex = QUEUE_DIRTY_GIANT;
- if (bp->b_flags & B_DELWRI)
+ else if (bp->b_flags & B_DELWRI)
bp->b_qindex = QUEUE_DIRTY;
else
bp->b_qindex = QUEUE_CLEAN;
==== //depot/projects/dtrace7/src/sys/sys/copyright.h#3 (text+ko) ====
@@ -22,7 +22,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/sys/copyright.h,v 1.25.2.1 2007/12/26 16:46:47 imp Exp $
+ * $FreeBSD: src/sys/sys/copyright.h,v 1.25.2.2 2008/08/22 12:40:59 nyan Exp $
*/
@@ -42,7 +42,7 @@
/* a port of FreeBSD to the NEC PC98, Japan */
#define COPYRIGHT_PC98 \
- "Copyright (c) 1994-2008 FreeBSD(98) porting team.\nCopyright (c) 1992 A.Kojima F.Ukai M.Ishii (KMC).\n"
+ "Copyright (c) 1994-2003 FreeBSD(98) porting team.\nCopyright (c) 1992 A.Kojima F.Ukai M.Ishii (KMC).\n"
#if defined(PC98)
char copyright[] = COPYRIGHT_FreeBSD COPYRIGHT_PC98 COPYRIGHT_UCB;
==== //depot/projects/dtrace7/src/sys/ufs/ffs/ffs_balloc.c#4 (text+ko) ====
@@ -60,7 +60,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/ufs/ffs/ffs_balloc.c,v 1.50.10.3 2008/02/15 16:43:02 obrien Exp $");
+__FBSDID("$FreeBSD: src/sys/ufs/ffs/ffs_balloc.c,v 1.50.10.4 2008/08/22 09:54:56 kib Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -104,6 +104,7 @@
ufs1_daddr_t *allocib, *blkp, *allocblk, allociblk[NIADDR + 1];
ufs2_daddr_t *lbns_remfree, lbns[NIADDR + 1];
int unwindidx = -1;
+ int saved_inbdflush;
ip = VTOI(vp);
dp = ip->i_din1;
@@ -225,6 +226,9 @@
if (num < 1)
panic ("ffs_balloc_ufs1: ufs_getlbns returned indirect block");
#endif
+ saved_inbdflush = ~TDP_INBDFLUSH | (curthread->td_pflags &
+ TDP_INBDFLUSH);
+ curthread->td_pflags |= TDP_INBDFLUSH;
/*
* Fetch the first indirect block allocating if necessary.
*/
@@ -237,8 +241,10 @@
UFS_LOCK(ump);
pref = ffs_blkpref_ufs1(ip, lbn, 0, (ufs1_daddr_t *)0);
if ((error = ffs_alloc(ip, lbn, pref, (int)fs->fs_bsize,
- cred, &newb)) != 0)
+ cred, &newb)) != 0) {
+ curthread->td_pflags &= saved_inbdflush;
return (error);
+ }
nb = newb;
*allocblk++ = nb;
*lbns_remfree++ = indirs[1].in_lbn;
@@ -329,6 +335,7 @@
* If asked only for the indirect block, then return it.
*/
if (flags & BA_METAONLY) {
+ curthread->td_pflags &= saved_inbdflush;
*bpp = bp;
return (0);
}
@@ -366,6 +373,7 @@
bp->b_flags |= B_CLUSTEROK;
bdwrite(bp);
}
+ curthread->td_pflags &= saved_inbdflush;
*bpp = nbp;
return (0);
}
@@ -387,9 +395,11 @@
nbp = getblk(vp, lbn, fs->fs_bsize, 0, 0, 0);
nbp->b_blkno = fsbtodb(fs, nb);
}
+ curthread->td_pflags &= saved_inbdflush;
*bpp = nbp;
return (0);
fail:
+ curthread->td_pflags &= saved_inbdflush;
/*
* If we have failed to allocate any blocks, simply return the error.
* This is the usual case and avoids the need to fsync the file.
@@ -489,6 +499,7 @@
ufs2_daddr_t *lbns_remfree, lbns[NIADDR + 1];
int deallocated, osize, nsize, num, i, error;
int unwindidx = -1;
+ int saved_inbdflush;
ip = VTOI(vp);
dp = ip->i_din2;
@@ -719,6 +730,9 @@
if (num < 1)
panic ("ffs_balloc_ufs2: ufs_getlbns returned indirect block");
#endif
+ saved_inbdflush = ~TDP_INBDFLUSH | (curthread->td_pflags &
+ TDP_INBDFLUSH);
+ curthread->td_pflags |= TDP_INBDFLUSH;
/*
* Fetch the first indirect block allocating if necessary.
*/
@@ -731,8 +745,10 @@
UFS_LOCK(ump);
pref = ffs_blkpref_ufs2(ip, lbn, 0, (ufs2_daddr_t *)0);
if ((error = ffs_alloc(ip, lbn, pref, (int)fs->fs_bsize,
- cred, &newb)) != 0)
+ cred, &newb)) != 0) {
+ curthread->td_pflags &= saved_inbdflush;
return (error);
+ }
nb = newb;
*allocblk++ = nb;
*lbns_remfree++ = indirs[1].in_lbn;
@@ -823,6 +839,7 @@
* If asked only for the indirect block, then return it.
*/
if (flags & BA_METAONLY) {
+ curthread->td_pflags &= saved_inbdflush;
*bpp = bp;
return (0);
}
@@ -860,6 +877,7 @@
bp->b_flags |= B_CLUSTEROK;
bdwrite(bp);
}
+ curthread->td_pflags &= saved_inbdflush;
*bpp = nbp;
return (0);
}
@@ -887,9 +905,11 @@
nbp = getblk(vp, lbn, fs->fs_bsize, 0, 0, 0);
nbp->b_blkno = fsbtodb(fs, nb);
}
+ curthread->td_pflags &= saved_inbdflush;
*bpp = nbp;
return (0);
fail:
+ curthread->td_pflags &= saved_inbdflush;
/*
* If we have failed to allocate any blocks, simply return the error.
* This is the usual case and avoids the need to fsync the file.
More information about the p4-projects
mailing list