Date: Mon, 13 Oct 2008 07:53:19 GMT From: Rafal Jaworowski <raj@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 151303 for review Message-ID: <200810130753.m9D7rJtH044032@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=151303 Change 151303 by raj@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) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200810130753.m9D7rJtH044032>