PERFORCE change 151303 for review
Rafal Jaworowski
raj at FreeBSD.org
Mon Oct 13 07:53:20 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=151303
Change 151303 by raj at raj_mimi on 2008/10/13 07:52:33
IFC @151302
Affected files ...
.. //depot/projects/arm/src/etc/etc.mips/ttys#3 integrate
.. //depot/projects/arm/src/release/Makefile#16 integrate
.. //depot/projects/arm/src/release/doc/share/misc/dev.archlist.txt#14 integrate
.. //depot/projects/arm/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#6 integrate
.. //depot/projects/arm/src/sys/conf/ldscript.mips.cfe#3 integrate
.. //depot/projects/arm/src/sys/dev/jme/if_jme.c#4 integrate
.. //depot/projects/arm/src/sys/dev/jme/if_jmereg.h#4 integrate
.. //depot/projects/arm/src/sys/dev/mmc/mmc.c#28 integrate
.. //depot/projects/arm/src/sys/dev/mmc/mmcsd.c#17 integrate
.. //depot/projects/arm/src/sys/dev/mmc/mmcvar.h#7 integrate
.. //depot/projects/arm/src/sys/dev/sound/pci/hda/hdac.c#25 integrate
.. //depot/projects/arm/src/sys/dev/usb/u3g.c#2 integrate
.. //depot/projects/arm/src/sys/dev/usb/ubsa.c#17 integrate
.. //depot/projects/arm/src/sys/dev/usb/umct.c#5 integrate
.. //depot/projects/arm/src/sys/fs/cd9660/cd9660_vfsops.c#5 integrate
.. //depot/projects/arm/src/sys/fs/hpfs/hpfs_vfsops.c#10 integrate
.. //depot/projects/arm/src/sys/fs/msdosfs/msdosfs_vfsops.c#26 integrate
.. //depot/projects/arm/src/sys/fs/ntfs/ntfs_vfsops.c#10 integrate
.. //depot/projects/arm/src/sys/fs/nwfs/nwfs_io.c#8 integrate
.. //depot/projects/arm/src/sys/fs/portalfs/portal_vnops.c#10 integrate
.. //depot/projects/arm/src/sys/fs/smbfs/smbfs_io.c#10 integrate
.. //depot/projects/arm/src/sys/fs/udf/udf_vfsops.c#16 integrate
.. //depot/projects/arm/src/sys/geom/geom_vfs.c#5 integrate
.. //depot/projects/arm/src/sys/geom/geom_vfs.h#2 integrate
.. //depot/projects/arm/src/sys/gnu/fs/ext2fs/ext2_vfsops.c#15 integrate
.. //depot/projects/arm/src/sys/gnu/fs/xfs/FreeBSD/xfs_buf.c#4 integrate
.. //depot/projects/arm/src/sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c#13 integrate
.. //depot/projects/arm/src/sys/gnu/fs/xfs/FreeBSD/xfs_super.c#7 integrate
.. //depot/projects/arm/src/sys/kern/kern_descrip.c#32 integrate
.. //depot/projects/arm/src/sys/kern/subr_bus.c#27 integrate
.. //depot/projects/arm/src/sys/kern/uipc_usrreq.c#34 integrate
.. //depot/projects/arm/src/sys/kern/vfs_bio.c#31 integrate
.. //depot/projects/arm/src/sys/kern/vfs_mount.c#44 integrate
.. //depot/projects/arm/src/sys/kern/vfs_subr.c#49 integrate
.. //depot/projects/arm/src/sys/mips/conf/SENTRY5#4 integrate
.. //depot/projects/arm/src/sys/mips/mips/machdep.c#5 integrate
.. //depot/projects/arm/src/sys/mips/mips/pmap.c#5 integrate
.. //depot/projects/arm/src/sys/netinet6/udp6_usrreq.c#26 integrate
.. //depot/projects/arm/src/sys/nfsclient/nfs_bio.c#15 integrate
.. //depot/projects/arm/src/sys/nfsserver/nfs_serv.c#24 integrate
.. //depot/projects/arm/src/sys/sparc64/conf/GENERIC#31 integrate
.. //depot/projects/arm/src/sys/sys/bufobj.h#9 integrate
.. //depot/projects/arm/src/sys/sys/vnode.h#31 integrate
.. //depot/projects/arm/src/sys/ufs/ffs/ffs_inode.c#10 integrate
.. //depot/projects/arm/src/sys/ufs/ffs/ffs_vfsops.c#36 integrate
.. //depot/projects/arm/src/sys/vm/vm_object.c#30 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/agent.c#3 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/cachelib.c#3 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/cacheplcs.c#3 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/config.c#3 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/hashtable.h#3 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/mp_rs_query.c#4 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/mp_ws_query.c#4 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/nscd.c#4 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/nscdcli.c#4 integrate
.. //depot/projects/arm/src/usr.sbin/nscd/query.c#4 integrate
Differences ...
==== //depot/projects/arm/src/etc/etc.mips/ttys#3 (text+ko) ====
@@ -1,5 +1,5 @@
#
-# $FreeBSD: src/etc/etc.mips/ttys,v 1.3 2008/08/24 08:41:29 ed Exp $
+# $FreeBSD: src/etc/etc.mips/ttys,v 1.4 2008/10/12 06:58:03 imp Exp $
# @(#)ttys 5.1 (Berkeley) 4/17/89
#
# This file specifies various information about terminals on the system.
@@ -33,10 +33,10 @@
console none unknown off secure
# Serial terminals
# The 'dialup' keyword identifies dialin lines to login, fingerd etc.
-ttyU0 "/usr/libexec/getty std.9600" dialup off secure
-ttyU1 "/usr/libexec/getty std.9600" dialup off secure
-ttyU2 "/usr/libexec/getty std.9600" dialup off secure
-ttyU3 "/usr/libexec/getty std.9600" dialup off secure
+ttyu0 "/usr/libexec/getty std.115200" dialup on secure
+ttyu1 "/usr/libexec/getty std.115200" dialup off secure
+ttyu2 "/usr/libexec/getty std.115200" dialup off secure
+ttyu3 "/usr/libexec/getty std.115200" dialup off secure
# Pseudo terminals
ttyp0 none network
ttyp1 none network
==== //depot/projects/arm/src/release/Makefile#16 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/release/Makefile,v 1.933 2008/07/07 16:23:04 marcel Exp $
+# $FreeBSD: src/release/Makefile,v 1.934 2008/10/12 02:52:56 kensmith Exp $
#
# make release [BUILDNAME=somename] CHROOTDIR=/some/dir CVSROOT=/cvs/dir \
# [RELEASETAG=tag]
@@ -192,6 +192,7 @@
.undef MAKE_FLOPPIES
.if ${TARGET_ARCH} == "i386"
MAKE_FLOPPIES= true
+MAKE_DVD=
SEPARATE_LIVEFS=
SPLIT_MFSROOT=
.if ${TARGET} == "pc98"
@@ -222,6 +223,7 @@
SEPARATE_LIVEFS=
.elif ${TARGET_ARCH} == "amd64"
MAKE_FLOPPIES= true
+MAKE_DVD=
FLOPPYSIZE= 1440
FLOPPYSPLITSIZE= 1392
FLOPPYINODE= 40000
@@ -262,6 +264,9 @@
CD_BOOT= ${CD}/bootonly
CD_DISC1= ${CD}/disc1
CD_DISC2= ${CD}/disc2
+.if defined(MAKE_DVD)
+CD_DVD= ${CD}/dvd
+.endif
.if !defined(NODOC)
CD_DOCS= ${CD}/docs
.endif
@@ -480,6 +485,7 @@
KERNELS \
KERNELS_BASE \
KERNEL_FLAGS \
+ MAKE_DVD \
MAKE_FLOPPIES \
MAKE_ISOS \
NOCDROM \
@@ -922,6 +928,18 @@
find . -depth -print | cpio -dumpl ${CD_LIVEFS} ) ; \
fi \
done
+.if defined(MAKE_DVD)
+ @echo "Building DVD filesystem image as well as CDROM"
+ @mkdir -p ${CD_DVD}/${BUILDNAME}
+ @for i in ${DISTRIBUTIONS} ; \
+ do \
+ if [ -d ${RD}/trees/$${i} ] ; then \
+ chflags -R noschg ${RD}/trees/$${i} || true ; \
+ ( cd ${RD}/trees/$${i} && \
+ find . -depth -print | cpio -dumpl ${CD_DVD} ) ; \
+ fi \
+ done
+.endif
@echo "Copy GENERIC kernel to boot area"
@cp -Rp ${RD}/kernels/GENERIC/ ${CD_LIVEFS}/boot/kernel
@rm -f ${CD_LIVEFS}/boot/kernel/*.symbols
@@ -939,7 +957,24 @@
@rm -f ${CD_LIVEFS}/boot/device.hints
@cp ${RD}/trees/base/boot/device.hints ${CD_LIVEFS}/boot/device.hints
.endif
+.if defined(MAKE_DVD)
+ @cp -Rp ${RD}/kernels/GENERIC/ ${CD_DVD}/boot/kernel
+ @rm -f ${CD_DVD}/boot/kernel/*.symbols
+ @rm -f ${CD_DVD}/.profile
+ @cp ${.CURDIR}/fixit.profile ${CD_DVD}/.profile
+ @ln -sf /rescue ${CD_DVD}/stand
@echo "CD_VERSION = ${BUILDNAME}" > ${CD_LIVEFS}/cdrom.inf
+ @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DVD}/cdrom.inf
+ @rm -f ${CD_DVD}/boot/loader.conf
+ @cp ${RD}/mfsroot/mfsroot.gz ${CD_DVD}/boot/mfsroot.gz
+ @echo 'mfsroot_load="YES"' > ${CD_DVD}/boot/loader.conf
+ @echo 'mfsroot_type="mfs_root"' >> ${CD_DVD}/boot/loader.conf
+ @echo 'mfsroot_name="/boot/mfsroot"' >> ${CD_DVD}/boot/loader.conf
+.if exists(${RD}/trees/base/boot/device.hints)
+ @rm -f ${CD_DVD}/boot/device.hints
+ @cp ${RD}/trees/base/boot/device.hints ${CD_DVD}/boot/device.hints
+.endif
+.endif
touch ${.TARGET}
# Build disc1 and disc2 cdrom images
@@ -974,11 +1009,37 @@
@mkdir -p ${CD_DISC2}
@echo "CD_VERSION = ${BUILDNAME}" > ${CD_DISC2}/cdrom.inf
@echo "CD_VOLUME = 2" >> ${CD_DISC2}/cdrom.inf
+.if defined(MAKE_DVD)
+.if defined(MAKE_FLOPPIES)
+ @cd ${RD} && find floppies -print | cpio -dumpl ${CD_DVD}
+.endif
+ @cd ${RD}/dists && find . -print | cpio -dumpl ${CD_DVD}/${BUILDNAME}
+.if !defined(NODOC)
+ @for i in ${DIST_DOCS_ARCH_INDEP}; do \
+ cp ${RND}/${RELNOTES_LANG}/$$i/article.txt \
+ ${CD_DVD}/`echo $${i} | tr 'a-z' 'A-Z'`.TXT; \
+ cp ${RND}/${RELNOTES_LANG}/$$i/article.html \
+ ${CD_DVD}/`echo $${i} | tr 'a-z' 'A-Z'`.HTM; \
+ done
+ @for i in ${DIST_DOCS_ARCH_DEP}; do \
+ cp ${RND}/${RELNOTES_LANG}/$$i/${TARGET}/article.txt \
+ ${CD_DVD}/`echo $${i} | tr 'a-z' 'A-Z'`.TXT; \
+ cp ${RND}/${RELNOTES_LANG}/$$i/${TARGET}/article.html \
+ ${CD_DVD}/`echo $${i} | tr 'a-z' 'A-Z'`.HTM; \
+ done
+ @cp ${RND}/${RELNOTES_LANG}/readme/docbook.css ${CD_DVD}
+.endif
+ @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DVD}/cdrom.inf
+ @echo "CD_VOLUME = 1" >> ${CD_DVD}/cdrom.inf
+.endif
.if !defined(NODOC)
echo "Building CDROM docs filesystem image"
@mkdir -p ${CD_DOCS}
@echo "CD_VERSION = ${BUILDNAME}" > ${CD_DOCS}/cdrom.inf
@mkdir -p ${CD_DOCS}/usr/share/doc
+.if defined(MAKE_DVD)
+ @mkdir -p ${CD_DVD}/usr/share/doc
+.endif
@for i in `ls ${CD_LIVEFS}/usr/share/doc`; do \
if [ -L ${CD_LIVEFS}/usr/share/doc/$$i -o \
-d /usr/doc/$$i ]; then \
@@ -986,6 +1047,10 @@
${CD_DOCS}/usr/share/doc; \
fi \
done
+.if defined(MAKE_DVD)
+ @cd ${CD_DOCS}/usr/share/doc && find . -print | \
+ cpio -dumpl ${CD_DVD}/usr/share/doc
+.endif
.endif
touch ${.TARGET}
@@ -1016,6 +1081,9 @@
.if exists(${CD_PACKAGE_TREE}/disc2)
CD_DISC2_PKGS= ${CD_PACKAGE_TREE}/disc2
.endif
+.if exists(${CD_PACKAGE_TREE}/dvd)
+CD_DVD_PKGS= ${CD_PACKAGE_TREE}/dvd
+.endif
.endif
.endif
@@ -1035,6 +1103,12 @@
FreeBSD_Packages \
${CD}/${BUILDNAME}-${TARGET}-disc2.iso ${CD_DISC2} \
${CD_DISC2_PKGS}
+.if defined(MAKE_DVD)
+ @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh ${BOOTABLE} \
+ FreeBSD_Install \
+ ${CD}/${BUILDNAME}-${TARGET}-dvd.iso ${CD_DVD} \
+ ${CD_DVD_PKGS}
+.endif
.if !defined(NODOC)
@sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh \
FreeBSD_Documentation \
==== //depot/projects/arm/src/release/doc/share/misc/dev.archlist.txt#14 (text+ko) ====
@@ -23,7 +23,7 @@
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
-# $FreeBSD: src/release/doc/share/misc/dev.archlist.txt,v 1.105 2008/04/21 05:43:08 brueffer Exp $
+# $FreeBSD: src/release/doc/share/misc/dev.archlist.txt,v 1.106 2008/10/12 08:22:53 simon Exp $
#
#
@@ -88,7 +88,7 @@
msk i386,amd64
mxge i386,amd64
my i386,pc98
-ncr i386,pc98,sparc64,amd64
+ncr i386,pc98,amd64
ncv i386,pc98
nfe i386,amd64
ng_bt3c i386,pc98,amd64
==== //depot/projects/arm/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#6 (text+ko) ====
@@ -916,7 +916,7 @@
#if 0
error = vtruncbuf(vp, curthread->td_ucred, curthread, end, PAGE_SIZE);
#else
- error = vinvalbuf(vp, V_SAVE, curthread, 0, 0);
+ error = vinvalbuf(vp, V_SAVE, 0, 0);
vnode_pager_setsize(vp, end);
#endif
}
==== //depot/projects/arm/src/sys/conf/ldscript.mips.cfe#3 (text+ko) ====
@@ -1,9 +1,46 @@
+/*-
+ * Copyright (c) 2001, 2004, 2008, Juniper Networks, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the Juniper Networks, Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY JUNIPER NETWORKS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL JUNIPER NETWORKS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * JNPR: ldscript.mips,v 1.3 2006/10/11 06:12:04
+ * $FreeBSD: src/sys/conf/ldscript.mips.cfe,v 1.3 2008/10/13 06:07:58 bms Exp $
+ */
+
/*
- * This linker script is needed to build a kernel for use by Broadcom CFE.
+ * This linker script is needed to build a kernel for use by Broadcom CFE
+ * when loaded over TFTP; its ELF loader does not support backwards seek
+ * on network I/O streams.
+ * Furthermore, CFE will only load PT_LOAD segments, therefore the dynamic
+ * sections must be placed in their own segment.
*/
-/* $FreeBSD: src/sys/conf/ldscript.mips.cfe,v 1.2 2008/04/30 12:44:58 gonzo Exp $ */
-OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips")
+OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips",
+ "elf32-tradlittlemips")
+
OUTPUT_ARCH(mips)
ENTRY(_start)
SEARCH_DIR(/usr/lib);
@@ -11,23 +48,22 @@
__DYNAMIC = 0;
PROVIDE (_DYNAMIC = 0);
*/
-DYNAMIC_LINK = 0; /* XXX */
+
+PHDRS
+{
+ headers PT_PHDR FILEHDR PHDRS ;
+ interp PT_INTERP ;
+ text PT_LOAD ;
+ dynamic PT_LOAD ;
+ data PT_LOAD ;
+}
+
SECTIONS
{
/* Read-only sections, merged into text segment: */
- . = 0x80001000;
- .text :
- {
- *(.trap)
- *(.text)
- *(.text.*)
- *(.stub)
- /* .gnu.warning sections are handled specially by elf32.em. */
- *(.gnu.warning)
- *(.gnu.linkonce.t.*)
- }
- .interp : { *(.interp) }
- .hash : { *(.hash) }
+ . = 0x80100000 ;
+ .interp : { *(.interp) } :interp
+ .hash : { *(.hash) } :text
.dynsym : { *(.dynsym) }
.dynstr : { *(.dynstr) }
.gnu.version : { *(.gnu.version) }
@@ -141,12 +177,20 @@
}
.rel.plt : { *(.rel.plt) }
.rela.plt : { *(.rela.plt) }
-
.init :
{
KEEP (*(.init))
- }
-
+ } :text =0x1000000
+ .text :
+ {
+ *(.trap)
+ *(.text)
+ *(.text.*)
+ *(.stub)
+ /* .gnu.warning sections are handled specially by elf32.em. */
+ *(.gnu.warning)
+ *(.gnu.linkonce.t.*)
+ } =0x1000000
.fini :
{
KEEP (*(.fini))
@@ -166,7 +210,7 @@
*(.data.*)
*(.gnu.linkonce.d.*)
SORT(CONSTRUCTORS)
- }
+ } :data
.data1 : { *(.data1) }
.eh_frame : { KEEP (*(.eh_frame)) }
.gcc_except_table : { *(.gcc_except_table) }
@@ -200,7 +244,7 @@
.plt : { *(.plt) }
_gp = ALIGN(16) + 0x7ff0;
.got : { *(.got.plt) *(.got) }
- .dynamic : { *(.dynamic) }
+ .dynamic : { *(.dynamic) } :dynamic
/* We want the small data sections together, so single-instruction offsets
can access them all, and initialized data all before uninitialized, so
we can shorten the on-disk segment size. */
==== //depot/projects/arm/src/sys/dev/jme/if_jme.c#4 (text+ko) ====
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/jme/if_jme.c,v 1.6 2008/09/22 06:17:21 yongari Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/jme/if_jme.c,v 1.7 2008/10/13 01:11:28 yongari Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -624,8 +624,8 @@
goto fail;
}
- sc->jme_rev = pci_get_revid(dev);
- if (sc->jme_rev == DEVICEID_JMC260) {
+ sc->jme_rev = pci_get_device(dev);
+ if ((sc->jme_rev & DEVICEID_JMC2XX_MASK) == DEVICEID_JMC260) {
sc->jme_flags |= JME_FLAG_FASTETH;
sc->jme_flags |= JME_FLAG_NOJUMBO;
}
==== //depot/projects/arm/src/sys/dev/jme/if_jmereg.h#4 (text+ko) ====
@@ -24,7 +24,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/jme/if_jmereg.h,v 1.3 2008/09/22 06:17:21 yongari Exp $
+ * $FreeBSD: src/sys/dev/jme/if_jmereg.h,v 1.4 2008/10/13 01:11:28 yongari Exp $
*/
#ifndef _IF_JMEREG_H
@@ -48,6 +48,8 @@
#define DEVICEID_JMC260 0x0260
#define DEVICEREVID_JMC260_A0 0x00
+#define DEVICEID_JMC2XX_MASK 0x0FF0
+
/* JMC250 PCI configuration register. */
#define JME_PCI_BAR0 0x10 /* 16KB memory window. */
==== //depot/projects/arm/src/sys/dev/mmc/mmc.c#28 (text+ko) ====
@@ -51,7 +51,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/mmc/mmc.c,v 1.22 2008/10/09 20:09:56 mav Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/mmc/mmc.c,v 1.25 2008/10/12 07:30:05 imp Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -115,6 +115,7 @@
#define MMC_ASSERT_LOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_OWNED);
#define MMC_ASSERT_UNLOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_NOTOWNED);
+static int mmc_calculate_clock(struct mmc_softc *sc);
static void mmc_delayed_attach(void *);
static void mmc_power_down(struct mmc_softc *sc);
static int mmc_wait_for_cmd(struct mmc_softc *sc, struct mmc_command *cmd,
@@ -122,7 +123,7 @@
static int mmc_wait_for_command(struct mmc_softc *sc, uint32_t opcode,
uint32_t arg, uint32_t flags, uint32_t *resp, int retries);
static int mmc_select_card(struct mmc_softc *sc, uint16_t rca);
-static int mmc_set_bus_width(struct mmc_softc *sc, uint16_t rca, int width);
+static int mmc_set_card_bus_width(struct mmc_softc *sc, uint16_t rca, int width);
static int mmc_app_send_scr(struct mmc_softc *sc, uint16_t rca, uint32_t *rawscr);
static void mmc_app_decode_scr(uint32_t *raw_scr, struct mmc_scr *scr);
static int mmc_send_ext_csd(struct mmc_softc *sc, uint8_t *rawextcsd);
@@ -215,11 +216,13 @@
sc->last_rca = rca;
/* Prepare bus width for the new card. */
ivar = device_get_ivars(dev);
- device_printf(busdev,
- "setting bus width to %d bits\n",
- (ivar->bus_width == bus_width_4)?4:
- (ivar->bus_width == bus_width_8)?8:1);
- mmc_set_bus_width(sc, rca, ivar->bus_width);
+ if (bootverbose) {
+ device_printf(busdev,
+ "setting bus width to %d bits\n",
+ (ivar->bus_width == bus_width_4) ? 4 :
+ (ivar->bus_width == bus_width_8) ? 8 : 1);
+ }
+ mmc_set_card_bus_width(sc, rca, ivar->bus_width);
mmcbr_set_bus_width(busdev, ivar->bus_width);
mmcbr_update_ios(busdev);
}
@@ -522,8 +525,11 @@
static int
mmc_select_card(struct mmc_softc *sc, uint16_t rca)
{
- return (mmc_wait_for_command(sc, MMC_SELECT_CARD, ((uint32_t)rca) << 16,
- MMC_RSP_R1B | MMC_CMD_AC, NULL, CMD_RETRIES));
+ int flags;
+
+ flags = (rca ? MMC_RSP_R1B : MMC_RSP_NONE) | MMC_CMD_AC;
+ return (mmc_wait_for_command(sc, MMC_SELECT_CARD, (uint32_t)rca << 16,
+ flags, NULL, CMD_RETRIES));
}
static int
@@ -571,7 +577,7 @@
}
static int
-mmc_set_bus_width(struct mmc_softc *sc, uint16_t rca, int width)
+mmc_set_card_bus_width(struct mmc_softc *sc, uint16_t rca, int width)
{
int err;
@@ -1130,7 +1136,7 @@
mmcbr_set_bus_mode(dev, pushpull);
mmc_idle_cards(sc);
err = mmc_send_if_cond(sc, 1);
- if (mmc_send_app_op_cond(sc, err?0:MMC_OCR_CCS, &ocr) !=
+ if (mmc_send_app_op_cond(sc, err ? 0 : MMC_OCR_CCS, &ocr) !=
MMC_ERR_NONE) {
/*
* Failed, try MMC
@@ -1160,13 +1166,14 @@
if (mmcbr_get_mode(dev) == mode_sd) {
err = mmc_send_if_cond(sc, 1);
mmc_send_app_op_cond(sc,
- (err?0:MMC_OCR_CCS)|mmcbr_get_ocr(dev), NULL);
+ (err ? 0 : MMC_OCR_CCS) | mmcbr_get_ocr(dev), NULL);
} else
mmc_send_op_cond(sc, mmcbr_get_ocr(dev), NULL);
mmc_discover_cards(sc);
mmcbr_set_bus_mode(dev, pushpull);
mmcbr_update_ios(dev);
+ mmc_calculate_clock(sc);
bus_generic_attach(dev);
/* mmc_update_children_sysctl(dev);*/
}
@@ -1208,9 +1215,12 @@
free(kids, M_TEMP);
if (max_timing == bus_timing_hs)
max_dtr = max_hs_dtr;
- device_printf(sc->dev, "setting transfer rate to %d.%03dMHz%s\n",
- max_dtr / 1000000, (max_dtr / 1000) % 1000,
- (max_timing == bus_timing_hs)?" with high speed timing":"");
+ if (bootverbose) {
+ device_printf(sc->dev,
+ "setting transfer rate to %d.%03dMHz%s\n",
+ max_dtr / 1000000, (max_dtr / 1000) % 1000,
+ max_timing == bus_timing_hs ? " (high speed timing)" : "");
+ }
mmcbr_set_timing(sc->dev, max_timing);
mmcbr_set_clock(sc->dev, max_dtr);
mmcbr_update_ios(sc->dev);
@@ -1228,7 +1238,6 @@
if (mmcbr_get_power_mode(dev) == power_on)
mmc_rescan_cards(sc);
mmc_go_discovery(sc);
- mmc_calculate_clock(sc);
mmc_release_bus(dev, dev);
/* XXX probe/attach/detach children? */
@@ -1255,7 +1264,7 @@
*(int *)result = MMC_SECTOR_SIZE;
break;
case MMC_IVAR_TRAN_SPEED:
- *(int *)result = ivar->csd.tran_speed;
+ *(int *)result = mmcbr_get_clock(bus);
break;
case MMC_IVAR_READ_ONLY:
*(int *)result = ivar->read_only;
@@ -1263,6 +1272,12 @@
case MMC_IVAR_HIGH_CAP:
*(int *)result = ivar->high_cap;
break;
+ case MMC_IVAR_CARD_TYPE:
+ *(int *)result = ivar->mode;
+ break;
+ case MMC_IVAR_BUS_WIDTH:
+ *(int *)result = ivar->bus_width;
+ break;
}
return (0);
}
==== //depot/projects/arm/src/sys/dev/mmc/mmcsd.c#17 (text+ko) ====
@@ -51,7 +51,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/mmc/mmcsd.c,v 1.10 2008/10/08 17:35:41 mav Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/mmc/mmcsd.c,v 1.13 2008/10/12 19:19:26 mav Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -93,6 +93,9 @@
static void mmcsd_strategy(struct bio *bp);
static void mmcsd_task(void *arg);
+static const char *mmcsd_card_name(device_t dev);
+static int mmcsd_bus_bit_width(device_t dev);
+
#define MMCSD_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx)
#define MMCSD_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx)
#define MMCSD_LOCK_INIT(_sc) \
@@ -115,29 +118,46 @@
mmcsd_attach(device_t dev)
{
struct mmcsd_softc *sc;
+ struct disk *d;
+ intmax_t mb;
+ char unit;
sc = device_get_softc(dev);
sc->dev = dev;
MMCSD_LOCK_INIT(sc);
- sc->disk = disk_alloc();
- sc->disk->d_open = mmcsd_open;
- sc->disk->d_close = mmcsd_close;
- sc->disk->d_strategy = mmcsd_strategy;
- // sc->disk->d_dump = mmcsd_dump; Need polling mmc layer
- sc->disk->d_name = "mmcsd";
- sc->disk->d_drv1 = sc;
- sc->disk->d_maxsize = MAXPHYS; /* Maybe ask bridge? */
- sc->disk->d_sectorsize = mmc_get_sector_size(dev);
- sc->disk->d_mediasize = mmc_get_media_size(dev) *
- mmc_get_sector_size(dev);
- sc->disk->d_unit = device_get_unit(dev);
-
- device_printf(dev, "%juMB <MMC/SD Memory Card>%s at %s\n",
- sc->disk->d_mediasize / 1048576,
- mmc_get_read_only(dev)?" (read-only)":"",
- device_get_nameunit(device_get_parent(sc->dev)));
- disk_create(sc->disk, DISK_VERSION);
+ d = sc->disk = disk_alloc();
+ d->d_open = mmcsd_open;
+ d->d_close = mmcsd_close;
+ d->d_strategy = mmcsd_strategy;
+ // d->d_dump = mmcsd_dump; Need polling mmc layer
+ d->d_name = "mmcsd";
+ d->d_drv1 = sc;
+ d->d_maxsize = MAXPHYS; /* Maybe ask bridge? */
+ d->d_sectorsize = mmc_get_sector_size(dev);
+ d->d_mediasize = mmc_get_media_size(dev) * d->d_sectorsize;
+ d->d_unit = device_get_unit(dev);
+ /*
+ * Display in most natural units. There's no cards < 1MB.
+ * The SD standard goes to 2GiB, but the data format supports
+ * up to 4GiB and some card makers push it up to this limit.
+ * The SDHC standard only goes to 32GiB (the data format in
+ * SDHC is good to 2TiB however, which isn't too ugly at
+ * 2048GiBm, so we note it in passing here and don't add the
+ * code to print TiB).
+ */
+ mb = d->d_mediasize >> 20; /* 1MiB == 1 << 20 */
+ unit = 'M';
+ if (mb >= 10240) { /* 1GiB = 1024 MiB */
+ unit = 'G';
+ mb /= 1024;
+ }
+ device_printf(dev, "%ju%cB <%s Memory Card>%s at %s %dMHz/%dbit\n",
+ mb, unit, mmcsd_card_name(dev),
+ mmc_get_read_only(dev) ? " (read-only)" : "",
+ device_get_nameunit(device_get_parent(dev)),
+ mmc_get_tran_speed(dev) / 1000000, mmcsd_bus_bit_width(dev));
+ disk_create(d, DISK_VERSION);
bioq_init(&sc->bio_queue);
sc->running = 1;
@@ -301,6 +321,26 @@
kproc_exit(0);
}
+static const char *
+mmcsd_card_name(device_t dev)
+{
+ if (mmc_get_card_type(dev) == mode_mmc)
+ return ("MMC");
+ if (mmc_get_high_cap(dev))
+ return ("SDHC");
+ return ("SD");
+}
+
+static int
+mmcsd_bus_bit_width(device_t dev)
+{
+ if (mmc_get_bus_width(dev) == bus_width_1)
+ return (1);
+ if (mmc_get_bus_width(dev) == bus_width_4)
+ return (4);
+ return (8);
+}
+
static device_method_t mmcsd_methods[] = {
DEVMETHOD(device_probe, mmcsd_probe),
DEVMETHOD(device_attach, mmcsd_attach),
@@ -315,5 +355,4 @@
};
static devclass_t mmcsd_devclass;
-
DRIVER_MODULE(mmcsd, mmc, mmcsd_driver, mmcsd_devclass, 0, 0);
==== //depot/projects/arm/src/sys/dev/mmc/mmcvar.h#7 (text+ko) ====
@@ -49,12 +49,14 @@
* or the SD Card Association to disclose or distribute any technical
* information, know-how or other confidential information to any third party.
*
- * "$FreeBSD: src/sys/dev/mmc/mmcvar.h,v 1.6 2008/10/08 17:35:41 mav Exp $"
+ * "$FreeBSD: src/sys/dev/mmc/mmcvar.h,v 1.7 2008/10/11 13:05:13 mav Exp $"
*/
#ifndef DEV_MMC_MMCVAR_H
#define DEV_MMC_MMCVAR_H
+#include <dev/mmc/bridge.h>
+
enum mmc_device_ivars {
MMC_IVAR_DSR_IMP,
MMC_IVAR_MEDIA_SIZE,
@@ -63,6 +65,8 @@
MMC_IVAR_TRAN_SPEED,
MMC_IVAR_READ_ONLY,
MMC_IVAR_HIGH_CAP,
+ MMC_IVAR_CARD_TYPE,
+ MMC_IVAR_BUS_WIDTH,
// MMC_IVAR_,
};
@@ -79,5 +83,7 @@
MMC_ACCESSOR(tran_speed, TRAN_SPEED, int)
MMC_ACCESSOR(read_only, READ_ONLY, int)
MMC_ACCESSOR(high_cap, HIGH_CAP, int)
+MMC_ACCESSOR(card_type, CARD_TYPE, int)
+MMC_ACCESSOR(bus_width, BUS_WIDTH, int)
#endif /* DEV_MMC_MMCVAR_H */
==== //depot/projects/arm/src/sys/dev/sound/pci/hda/hdac.c#25 (text+ko) ====
@@ -83,9 +83,9 @@
#include "mixer_if.h"
-#define HDA_DRV_TEST_REV "20080916_0112"
+#define HDA_DRV_TEST_REV "20081013_0113"
-SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/hda/hdac.c,v 1.61 2008/09/16 20:03:34 mav Exp $");
+SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/hda/hdac.c,v 1.63 2008/10/12 21:46:11 mav Exp $");
#define HDA_BOOTVERBOSE(stmt) do { \
if (bootverbose != 0 || snd_verbose > 3) { \
@@ -4945,7 +4945,7 @@
}
} else {
sc->chans = (struct hdac_chan *)realloc(sc->chans,
- sizeof(struct hdac_chan) * cnt,
+ sizeof(struct hdac_chan) * (sc->num_chans + cnt),
M_HDAC, M_ZERO | M_NOWAIT);
if (sc->chans == NULL) {
sc->num_chans = 0;
@@ -4963,7 +4963,6 @@
}
/* Assign associations in order of their numbers, */
- free = 0;
for (j = 0; j < devinfo->function.audio.ascnt; j++) {
if (as[j].enable == 0)
continue;
==== //depot/projects/arm/src/sys/dev/usb/u3g.c#2 (text+ko) ====
@@ -16,7 +16,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/usb/u3g.c,v 1.2 2008/10/10 07:16:44 n_hibma Exp $
+ * $FreeBSD: src/sys/dev/usb/u3g.c,v 1.3 2008/10/11 10:47:18 rpaulo Exp $
*/
#include <sys/param.h>
@@ -89,6 +89,8 @@
/* OEM: Huawei */
{ USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_MOBILE },
{ USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E220 },
+ /* OEM: Qualcomm */
+ { USB_VENDOR_QUALCOMMINC, USB_PRODUCT_QUALCOMMINC_CDMA_MSM },
{ 0, 0 }
};
==== //depot/projects/arm/src/sys/dev/usb/ubsa.c#17 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/ubsa.c,v 1.42 2008/10/09 21:25:01 n_hibma Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/ubsa.c,v 1.43 2008/10/11 10:47:18 rpaulo Exp $");
/*-
* Copyright (c) 2001 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -228,8 +228,6 @@
{ USB_VENDOR_PERACOM, USB_PRODUCT_PERACOM_SERIAL1 },
/* Merlin */
{ USB_VENDOR_MERLIN, USB_PRODUCT_MERLIN_V620 },
- /* Qualcomm, Inc. ZTE CDMA */
- { USB_VENDOR_QUALCOMMINC, USB_PRODUCT_QUALCOMMINC_CDMA_MSM },
/* Novatel */
{ USB_VENDOR_NOVATEL, USB_PRODUCT_NOVATEL_CDMA_MODEM },
/* Novatel Wireless Merlin ES620 */
==== //depot/projects/arm/src/sys/dev/usb/umct.c#5 (text+ko) ====
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/umct.c,v 1.18 2007/06/18 22:27:57 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/umct.c,v 1.19 2008/10/10 20:05:15 n_hibma Exp $");
/*
* Driver for the MCT (Magic Control Technology) USB-RS232 Converter.
@@ -314,7 +314,7 @@
err = usbd_do_request(sc->sc_ucom.sc_udev, &req, oval);
if (err)
- printf("%s: ubsa_request: %s\n",
+ printf("%s: umct_request: %s\n",
device_get_nameunit(sc->sc_ucom.sc_dev), usbd_errstr(err));
return (err);
}
==== //depot/projects/arm/src/sys/fs/cd9660/cd9660_vfsops.c#5 (text+ko) ====
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/fs/cd9660/cd9660_vfsops.c,v 1.154 2008/01/24 12:34:26 attilio Exp $");
+__FBSDID("$FreeBSD: src/sys/fs/cd9660/cd9660_vfsops.c,v 1.155 2008/10/10 21:23:50 attilio Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -88,8 +88,7 @@
VFS_SET(cd9660_vfsops, cd9660, VFCF_READONLY);
MODULE_VERSION(cd9660, 1);
-static int iso_mountfs(struct vnode *devvp, struct mount *mp,
- struct thread *td);
+static int iso_mountfs(struct vnode *devvp, struct mount *mp);
/*
* VFS Operations.
@@ -181,7 +180,7 @@
VOP_UNLOCK(devvp, 0);
if ((mp->mnt_flag & MNT_UPDATE) == 0) {
- error = iso_mountfs(devvp, mp, td);
+ error = iso_mountfs(devvp, mp);
} else {
if (devvp != imp->im_devvp)
error = EINVAL; /* needs translation */
@@ -200,10 +199,9 @@
* Common code for mount and mountroot
*/
static int
-iso_mountfs(devvp, mp, td)
+iso_mountfs(devvp, mp)
struct vnode *devvp;
struct mount *mp;
- struct thread *td;
{
struct iso_mnt *isomp = (struct iso_mnt *)0;
struct buf *bp = NULL;
@@ -249,7 +247,7 @@
if ((ISO_DEFAULT_BLOCK_SIZE % cp->provider->sectorsize) != 0) {
DROP_GIANT();
g_topology_lock();
- g_vfs_close(cp, td);
+ g_vfs_close(cp);
g_topology_unlock();
PICKUP_GIANT();
return (EINVAL);
@@ -482,7 +480,7 @@
if (cp != NULL) {
DROP_GIANT();
g_topology_lock();
- g_vfs_close(cp, td);
+ g_vfs_close(cp);
g_topology_unlock();
PICKUP_GIANT();
}
@@ -525,7 +523,7 @@
}
DROP_GIANT();
g_topology_lock();
- g_vfs_close(isomp->im_cp, td);
+ g_vfs_close(isomp->im_cp);
g_topology_unlock();
PICKUP_GIANT();
vrele(isomp->im_devvp);
==== //depot/projects/arm/src/sys/fs/hpfs/hpfs_vfsops.c#10 (text+ko) ====
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/fs/hpfs/hpfs_vfsops.c,v 1.64 2008/01/24 12:34:26 attilio Exp $
+ * $FreeBSD: src/sys/fs/hpfs/hpfs_vfsops.c,v 1.65 2008/10/10 21:23:50 attilio Exp $
*/
@@ -325,7 +325,7 @@
mp->mnt_data = NULL;
DROP_GIANT();
g_topology_lock();
- g_vfs_close(cp, td);
+ g_vfs_close(cp);
g_topology_unlock();
PICKUP_GIANT();
return (error);
@@ -356,10 +356,10 @@
return (error);
}
- vinvalbuf(hpmp->hpm_devvp, V_SAVE, td, 0, 0);
+ vinvalbuf(hpmp->hpm_devvp, V_SAVE, 0, 0);
DROP_GIANT();
g_topology_lock();
- g_vfs_close(hpmp->hpm_cp, td);
+ g_vfs_close(hpmp->hpm_cp);
g_topology_unlock();
PICKUP_GIANT();
vrele(hpmp->hpm_devvp);
==== //depot/projects/arm/src/sys/fs/msdosfs/msdosfs_vfsops.c#26 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/fs/msdosfs/msdosfs_vfsops.c,v 1.188 2008/03/31 12:01:19 kib Exp $ */
+/* $FreeBSD: src/sys/fs/msdosfs/msdosfs_vfsops.c,v 1.189 2008/10/10 21:23:50 attilio Exp $ */
/* $NetBSD: msdosfs_vfsops.c,v 1.51 1997/11/17 15:36:58 ws Exp $ */
/*-
@@ -103,8 +103,7 @@
struct iconv_functions *msdosfs_iconv;
static int update_mp(struct mount *mp, struct thread *td);
-static int mountmsdosfs(struct vnode *devvp, struct mount *mp,
- struct thread *td);
+static int mountmsdosfs(struct vnode *devvp, struct mount *mp);
static vfs_fhtovp_t msdosfs_fhtovp;
static vfs_mount_t msdosfs_mount;
static vfs_root_t msdosfs_root;
@@ -375,7 +374,7 @@
return (error);
}
if ((mp->mnt_flag & MNT_UPDATE) == 0) {
- error = mountmsdosfs(devvp, mp, td);
+ error = mountmsdosfs(devvp, mp);
#ifdef MSDOSFS_DEBUG /* only needed for the printf below */
pmp = VFSTOMSDOSFS(mp);
#endif
@@ -405,7 +404,7 @@
}
static int
-mountmsdosfs(struct vnode *devvp, struct mount *mp, struct thread *td)
+mountmsdosfs(struct vnode *devvp, struct mount *mp)
{
struct msdosfsmount *pmp;
struct buf *bp;
@@ -754,7 +753,7 @@
if (cp != NULL) {
DROP_GIANT();
g_topology_lock();
- g_vfs_close(cp, td);
+ g_vfs_close(cp);
g_topology_unlock();
PICKUP_GIANT();
}
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list