Date: Mon, 13 Oct 2008 20:03:05 GMT From: Warner Losh <imp@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 151336 for review Message-ID: <200810132003.m9DK358F066017@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=151336 Change 151336 by imp@imp_paco-paco on 2008/10/13 20:02:34 IFC @151335 Affected files ... .. //depot/projects/mips2/src/UPDATING#23 integrate .. //depot/projects/mips2/src/etc/etc.mips/ttys#4 integrate .. //depot/projects/mips2/src/libexec/rtld-elf/mips/reloc.c#5 integrate .. //depot/projects/mips2/src/release/Makefile#12 integrate .. //depot/projects/mips2/src/release/doc/share/misc/dev.archlist.txt#11 integrate .. //depot/projects/mips2/src/release/scripts/package-trees.sh#2 integrate .. //depot/projects/mips2/src/sbin/fsck_ffs/pass5.c#3 integrate .. //depot/projects/mips2/src/share/man/man4/u3g.4#2 integrate .. //depot/projects/mips2/src/sys/arm/arm/busdma_machdep.c#8 integrate .. //depot/projects/mips2/src/sys/arm/arm/cpufunc.c#7 integrate .. //depot/projects/mips2/src/sys/arm/arm/cpufunc_asm_feroceon.S#1 branch .. //depot/projects/mips2/src/sys/arm/arm/elf_machdep.c#4 integrate .. //depot/projects/mips2/src/sys/arm/arm/genassym.c#6 integrate .. //depot/projects/mips2/src/sys/arm/arm/identcpu.c#6 integrate .. //depot/projects/mips2/src/sys/arm/arm/locore.S#6 integrate .. //depot/projects/mips2/src/sys/arm/arm/pmap.c#14 integrate .. //depot/projects/mips2/src/sys/arm/arm/swtch.S#6 integrate .. //depot/projects/mips2/src/sys/arm/include/armreg.h#5 integrate .. //depot/projects/mips2/src/sys/arm/include/cpufunc.h#5 integrate .. //depot/projects/mips2/src/sys/boot/ofw/libofw/ofw_disk.c#2 integrate .. //depot/projects/mips2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#6 integrate .. //depot/projects/mips2/src/sys/conf/ldscript.mips.cfe#4 integrate .. //depot/projects/mips2/src/sys/dev/bm/if_bm.c#4 integrate .. //depot/projects/mips2/src/sys/dev/drm/ati_pcigart.c#5 integrate .. //depot/projects/mips2/src/sys/dev/drm/drmP.h#6 integrate .. //depot/projects/mips2/src/sys/dev/drm/drm_agpsupport.c#6 integrate .. //depot/projects/mips2/src/sys/dev/drm/drm_auth.c#4 integrate .. //depot/projects/mips2/src/sys/dev/drm/drm_bufs.c#5 integrate .. //depot/projects/mips2/src/sys/dev/drm/drm_context.c#4 integrate .. //depot/projects/mips2/src/sys/dev/drm/drm_dma.c#4 integrate .. //depot/projects/mips2/src/sys/dev/drm/drm_drawable.c#4 integrate .. //depot/projects/mips2/src/sys/dev/drm/drm_drv.c#6 integrate .. //depot/projects/mips2/src/sys/dev/drm/drm_fops.c#4 integrate .. //depot/projects/mips2/src/sys/dev/drm/drm_ioctl.c#4 integrate .. //depot/projects/mips2/src/sys/dev/drm/drm_irq.c#5 integrate .. //depot/projects/mips2/src/sys/dev/drm/drm_linux_list.h#2 integrate .. //depot/projects/mips2/src/sys/dev/drm/drm_memory.c#4 integrate .. //depot/projects/mips2/src/sys/dev/drm/drm_pci.c#5 integrate .. //depot/projects/mips2/src/sys/dev/drm/drm_pciids.h#6 integrate .. //depot/projects/mips2/src/sys/dev/drm/drm_scatter.c#4 integrate .. //depot/projects/mips2/src/sys/dev/drm/drm_sysctl.c#4 integrate .. //depot/projects/mips2/src/sys/dev/drm/i915_drv.c#4 integrate .. //depot/projects/mips2/src/sys/dev/drm/i915_irq.c#5 integrate .. //depot/projects/mips2/src/sys/dev/drm/mach64_drv.c#4 integrate .. //depot/projects/mips2/src/sys/dev/drm/mga_drv.c#4 integrate .. //depot/projects/mips2/src/sys/dev/drm/r128_drv.c#4 integrate .. //depot/projects/mips2/src/sys/dev/drm/radeon_cp.c#5 integrate .. //depot/projects/mips2/src/sys/dev/drm/radeon_drv.c#4 integrate .. //depot/projects/mips2/src/sys/dev/drm/radeon_drv.h#4 integrate .. //depot/projects/mips2/src/sys/dev/drm/savage_drv.c#4 integrate .. //depot/projects/mips2/src/sys/dev/drm/sis_drv.c#4 integrate .. //depot/projects/mips2/src/sys/dev/drm/tdfx_drv.c#4 integrate .. //depot/projects/mips2/src/sys/dev/jme/if_jme.c#5 integrate .. //depot/projects/mips2/src/sys/dev/jme/if_jmereg.h#4 integrate .. //depot/projects/mips2/src/sys/dev/mmc/mmc.c#5 integrate .. //depot/projects/mips2/src/sys/dev/mmc/mmcsd.c#6 integrate .. //depot/projects/mips2/src/sys/dev/mmc/mmcvar.h#5 integrate .. //depot/projects/mips2/src/sys/dev/puc/pucdata.c#7 integrate .. //depot/projects/mips2/src/sys/dev/sound/pci/hda/hdac.c#14 integrate .. //depot/projects/mips2/src/sys/dev/usb/u3g.c#2 integrate .. //depot/projects/mips2/src/sys/dev/usb/ubsa.c#12 integrate .. //depot/projects/mips2/src/sys/dev/usb/umct.c#4 integrate .. //depot/projects/mips2/src/sys/fs/cd9660/cd9660_vfsops.c#4 integrate .. //depot/projects/mips2/src/sys/fs/hpfs/hpfs_vfsops.c#5 integrate .. //depot/projects/mips2/src/sys/fs/msdosfs/msdosfs_vfsops.c#12 integrate .. //depot/projects/mips2/src/sys/fs/ntfs/ntfs_vfsops.c#6 integrate .. //depot/projects/mips2/src/sys/fs/nwfs/nwfs_io.c#5 integrate .. //depot/projects/mips2/src/sys/fs/portalfs/portal_vnops.c#8 integrate .. //depot/projects/mips2/src/sys/fs/smbfs/smbfs_io.c#7 integrate .. //depot/projects/mips2/src/sys/fs/udf/udf_vfsops.c#7 integrate .. //depot/projects/mips2/src/sys/geom/geom_vfs.c#3 integrate .. //depot/projects/mips2/src/sys/geom/geom_vfs.h#2 integrate .. //depot/projects/mips2/src/sys/gnu/fs/ext2fs/ext2_vfsops.c#9 integrate .. //depot/projects/mips2/src/sys/gnu/fs/xfs/FreeBSD/xfs_buf.c#3 integrate .. //depot/projects/mips2/src/sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c#7 integrate .. //depot/projects/mips2/src/sys/gnu/fs/xfs/FreeBSD/xfs_super.c#4 integrate .. //depot/projects/mips2/src/sys/kern/kern_descrip.c#15 integrate .. //depot/projects/mips2/src/sys/kern/subr_bus.c#12 integrate .. //depot/projects/mips2/src/sys/kern/uipc_usrreq.c#13 integrate .. //depot/projects/mips2/src/sys/kern/vfs_bio.c#18 integrate .. //depot/projects/mips2/src/sys/kern/vfs_mount.c#20 integrate .. //depot/projects/mips2/src/sys/kern/vfs_subr.c#21 integrate .. //depot/projects/mips2/src/sys/mips/conf/SENTRY5#13 integrate .. //depot/projects/mips2/src/sys/mips/mips/machdep.c#43 integrate .. //depot/projects/mips2/src/sys/mips/mips/pmap.c#35 integrate .. //depot/projects/mips2/src/sys/netinet/ip_fw.h#12 integrate .. //depot/projects/mips2/src/sys/netinet6/udp6_usrreq.c#16 integrate .. //depot/projects/mips2/src/sys/nfsclient/nfs_bio.c#7 integrate .. //depot/projects/mips2/src/sys/nfsserver/nfs_serv.c#11 integrate .. //depot/projects/mips2/src/sys/sparc64/conf/GENERIC#15 integrate .. //depot/projects/mips2/src/sys/sys/bufobj.h#6 integrate .. //depot/projects/mips2/src/sys/sys/vnode.h#13 integrate .. //depot/projects/mips2/src/sys/ufs/ffs/ffs_inode.c#7 integrate .. //depot/projects/mips2/src/sys/ufs/ffs/ffs_snapshot.c#11 integrate .. //depot/projects/mips2/src/sys/ufs/ffs/ffs_vfsops.c#14 integrate .. //depot/projects/mips2/src/sys/vm/vm_object.c#12 integrate .. //depot/projects/mips2/src/usr.sbin/nscd/agent.c#3 integrate .. //depot/projects/mips2/src/usr.sbin/nscd/cachelib.c#3 integrate .. //depot/projects/mips2/src/usr.sbin/nscd/cacheplcs.c#3 integrate .. //depot/projects/mips2/src/usr.sbin/nscd/config.c#3 integrate .. //depot/projects/mips2/src/usr.sbin/nscd/hashtable.h#3 integrate .. //depot/projects/mips2/src/usr.sbin/nscd/mp_rs_query.c#3 integrate .. //depot/projects/mips2/src/usr.sbin/nscd/mp_ws_query.c#3 integrate .. //depot/projects/mips2/src/usr.sbin/nscd/nscd.c#3 integrate .. //depot/projects/mips2/src/usr.sbin/nscd/nscdcli.c#3 integrate .. //depot/projects/mips2/src/usr.sbin/nscd/query.c#3 integrate Differences ... ==== //depot/projects/mips2/src/UPDATING#23 (text+ko) ==== @@ -23,6 +23,16 @@ ln -s aj /etc/malloc.conf.) 20081009: + The uhci, ohci, ehci and slhci USB Host controller drivers have + been put into separate modules. If you load the usb module + separately through loader.conf you will need to load the + appropriate *hci module as well. E.g. for a UHCI-based USB 2.0 + controller add the following to loader.conf: + + uhci_load="YES" + ehci_load="YES" + +20081009: The ABI used by the PMC toolset has changed. Please keep userland (libpmc(3)) and the kernel module (hwpmc(4)) in sync. @@ -1136,4 +1146,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.544 2008/10/10 04:23:40 jkoshy Exp $ +$FreeBSD: src/UPDATING,v 1.545 2008/10/10 06:37:51 n_hibma Exp $ ==== //depot/projects/mips2/src/etc/etc.mips/ttys#4 (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. @@ -44,11 +44,10 @@ #ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure # Serial terminals # The 'dialup' keyword identifies dialin lines to login, fingerd etc. -ttyu0 "/usr/libexec/getty std.9600" vt100 on secure -ttyd0 "/usr/libexec/getty std.9600" dialup off secure -ttyd1 "/usr/libexec/getty std.9600" dialup off secure -ttyd2 "/usr/libexec/getty std.9600" dialup off secure -ttyd3 "/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 # Dumb console dcons "/usr/libexec/getty std.9600" vt100 off secure # Pseudo terminals ==== //depot/projects/mips2/src/libexec/rtld-elf/mips/reloc.c#5 (text+ko) ==== @@ -1,7 +1,7 @@ /* $NetBSD: mdreloc.c,v 1.23 2003/07/26 15:04:38 mrg Exp $ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/libexec/rtld-elf/arm/reloc.c,v 1.4 2005/12/18 19:43:32 kan Exp $"); +__FBSDID("$FreeBSD: src/libexec/rtld-elf/mips/reloc.c,v 1.2 2008/10/10 05:10:10 imp Exp $"); #include <sys/param.h> #include <sys/mman.h> ==== //depot/projects/mips2/src/release/Makefile#12 (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/mips2/src/release/doc/share/misc/dev.archlist.txt#11 (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/mips2/src/release/scripts/package-trees.sh#2 (text+ko) ==== @@ -5,9 +5,9 @@ # contains the master INDEX, it's assigned list of packages, and the # appropriate tree of category symlinks. # -# Usage: package-tress.sh <copy method> <INDEX> <package tree> <destination> +# Usage: package-trees.sh <copy method> <INDEX> <package tree> <destination> # -# $FreeBSD: src/release/scripts/package-trees.sh,v 1.2 2005/05/03 04:19:07 marcel Exp $ +# $FreeBSD: src/release/scripts/package-trees.sh,v 1.3 2008/10/13 17:42:21 kensmith Exp $ # Verify the command line if [ $# -ne 4 ]; then ==== //depot/projects/mips2/src/sbin/fsck_ffs/pass5.c#3 (text+ko) ==== @@ -33,7 +33,7 @@ #endif /* not lint */ #endif #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sbin/fsck_ffs/pass5.c,v 1.43 2006/10/31 22:06:56 pjd Exp $"); +__FBSDID("$FreeBSD: src/sbin/fsck_ffs/pass5.c,v 1.45 2008/10/13 14:01:05 kib Exp $"); #include <sys/param.h> #include <sys/sysctl.h> @@ -48,7 +48,7 @@ #include "fsck.h" -static void check_maps(u_char *, u_char *, int, int, const char *, int *, int, int); +static void check_maps(u_char *, u_char *, int, ufs2_daddr_t, const char *, int *, int, int); void pass5(void) @@ -291,10 +291,17 @@ sump[run]++; } } - cstotal.cs_nffree += newcg->cg_cs.cs_nffree; - cstotal.cs_nbfree += newcg->cg_cs.cs_nbfree; - cstotal.cs_nifree += newcg->cg_cs.cs_nifree; - cstotal.cs_ndir += newcg->cg_cs.cs_ndir; + if (bkgrdflag != 0) { + cstotal.cs_nffree += cg->cg_cs.cs_nffree; + cstotal.cs_nbfree += cg->cg_cs.cs_nbfree; + cstotal.cs_nifree += cg->cg_cs.cs_nifree; + cstotal.cs_ndir += cg->cg_cs.cs_ndir; + } else { + cstotal.cs_nffree += newcg->cg_cs.cs_nffree; + cstotal.cs_nbfree += newcg->cg_cs.cs_nbfree; + cstotal.cs_nifree += newcg->cg_cs.cs_nifree; + cstotal.cs_ndir += newcg->cg_cs.cs_ndir; + } cs = &fs->fs_cs(fs, c); if (cursnapshot == 0 && memcmp(&newcg->cg_cs, cs, sizeof *cs) != 0 && @@ -321,13 +328,17 @@ } if (excessdirs > 0) check_maps(cg_inosused(newcg), cg_inosused(cg), - inomapsize, cg->cg_cgx * fs->fs_ipg, "DIR", + inomapsize, + cg->cg_cgx * (ufs2_daddr_t) fs->fs_ipg, + "DIR", freedirs, 0, excessdirs); check_maps(cg_inosused(newcg), cg_inosused(cg), - inomapsize, cg->cg_cgx * fs->fs_ipg, "FILE", + inomapsize, + cg->cg_cgx * (ufs2_daddr_t) fs->fs_ipg, "FILE", freefiles, excessdirs, fs->fs_ipg); check_maps(cg_blksfree(cg), cg_blksfree(newcg), - blkmapsize, cg->cg_cgx * fs->fs_fpg, "FRAG", + blkmapsize, + cg->cg_cgx * (ufs2_daddr_t) fs->fs_fpg, "FRAG", freeblks, 0, fs->fs_fpg); } if (cursnapshot == 0 && @@ -407,7 +418,7 @@ u_char *map1, /* map of claimed allocations */ u_char *map2, /* map of determined allocations */ int mapsize, /* size of above two maps */ - int startvalue, /* resource value for first element in map */ + ufs2_daddr_t startvalue, /* resource value for first element in map */ const char *name, /* name of resource found in maps */ int *opcode, /* sysctl opcode to free resource */ int skip, /* number of entries to skip before starting to free */ @@ -415,8 +426,8 @@ { # define BUFSIZE 16 char buf[BUFSIZE]; - long i, j, k, l, m, n, size; - int astart, aend, ustart, uend; + long i, j, k, l, m, size; + ufs2_daddr_t n, astart, aend, ustart, uend; void (*msg)(const char *fmt, ...); if (bkgrdflag) @@ -443,10 +454,12 @@ continue; } if (astart == aend) - (*msg)("ALLOCATED %s %d MARKED FREE\n", + (*msg)("ALLOCATED %s %" PRId64 + " MARKED FREE\n", name, astart); else - (*msg)("%s %sS %d-%d MARKED FREE\n", + (*msg)("%s %sS %" PRId64 "-%" PRId64 + " MARKED FREE\n", "ALLOCATED", name, astart, aend); astart = aend = n; } else { @@ -472,10 +485,12 @@ if (size > limit) size = limit; if (debug && size == 1) - pwarn("%s %s %d MARKED USED\n", + pwarn("%s %s %" PRId64 + " MARKED USED\n", "UNALLOCATED", name, ustart); else if (debug) - pwarn("%s %sS %d-%ld MARKED USED\n", + pwarn("%s %sS %" PRId64 "-%" PRId64 + " MARKED USED\n", "UNALLOCATED", name, ustart, ustart + size - 1); if (bkgrdflag != 0) { @@ -497,9 +512,11 @@ } if (astart != -1) { if (astart == aend) - (*msg)("ALLOCATED %s %d MARKED FREE\n", name, astart); + (*msg)("ALLOCATED %s %" PRId64 + " MARKED FREE\n", name, astart); else - (*msg)("ALLOCATED %sS %d-%d MARKED FREE\n", + (*msg)("ALLOCATED %sS %" PRId64 "-%" PRId64 + " MARKED FREE\n", name, astart, aend); } if (ustart != -1) { @@ -514,10 +531,12 @@ size = limit; if (debug) { if (size == 1) - pwarn("UNALLOCATED %s %d MARKED USED\n", + pwarn("UNALLOCATED %s %" PRId64 + " MARKED USED\n", name, ustart); else - pwarn("UNALLOCATED %sS %d-%ld MARKED USED\n", + pwarn("UNALLOCATED %sS %" PRId64 "-%" PRId64 + " MARKED USED\n", name, ustart, ustart + size - 1); } if (bkgrdflag != 0) { ==== //depot/projects/mips2/src/share/man/man4/u3g.4#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/share/man/man4/u3g.4,v 1.1 2008/10/09 21:25:01 n_hibma Exp $ +.\" $FreeBSD: src/share/man/man4/u3g.4,v 1.2 2008/10/10 06:26:37 n_hibma Exp $ .\" .Dd October 7, 2008 .Dt U3G 4 @@ -84,7 +84,7 @@ .Nm driver appeared in -.Fx 7.0 . +.Fx 8.0 . The .Xr ubsa 4 manual page was modified for ==== //depot/projects/mips2/src/sys/arm/arm/busdma_machdep.c#8 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.38 2008/03/12 15:31:37 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.39 2008/10/13 18:59:59 raj Exp $"); /* * ARM bus dma support routines @@ -629,6 +629,8 @@ newmap->allocbuffer = tmpaddr; cpu_idcache_wbinv_range((vm_offset_t)*vaddr, dmat->maxsize); + cpu_l2cache_wbinv_range((vm_offset_t)*vaddr, + dmat->maxsize); *vaddr = tmpaddr; } else newmap->origbuffer = newmap->allocbuffer = NULL; ==== //depot/projects/mips2/src/sys/arm/arm/cpufunc.c#7 (text+ko) ==== @@ -45,7 +45,7 @@ * Created : 30/01/97 */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.22 2007/11/28 22:55:55 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.23 2008/10/13 18:16:54 raj Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -357,6 +357,66 @@ arm10_setup /* cpu setup */ }; + +struct cpu_functions feroceon_cpufuncs = { + /* CPU functions */ + + cpufunc_id, /* id */ + cpufunc_nullop, /* cpwait */ + + /* MMU functions */ + + cpufunc_control, /* control */ + cpufunc_domains, /* Domain */ + feroceon_setttb, /* Setttb */ + cpufunc_faultstatus, /* Faultstatus */ + cpufunc_faultaddress, /* Faultaddress */ + + /* TLB functions */ + + armv4_tlb_flushID, /* tlb_flushID */ + arm10_tlb_flushID_SE, /* tlb_flushID_SE */ + armv4_tlb_flushI, /* tlb_flushI */ + arm10_tlb_flushI_SE, /* tlb_flushI_SE */ + armv4_tlb_flushD, /* tlb_flushD */ + armv4_tlb_flushD_SE, /* tlb_flushD_SE */ + + /* Cache operations */ + + armv5_ec_icache_sync_all, /* icache_sync_all */ + armv5_ec_icache_sync_range, /* icache_sync_range */ + + armv5_ec_dcache_wbinv_all, /* dcache_wbinv_all */ + feroceon_dcache_wbinv_range, /* dcache_wbinv_range */ + feroceon_dcache_inv_range, /* dcache_inv_range */ + feroceon_dcache_wb_range, /* dcache_wb_range */ + + armv5_ec_idcache_wbinv_all, /* idcache_wbinv_all */ + feroceon_idcache_wbinv_range, /* idcache_wbinv_all */ + + feroceon_l2cache_wbinv_all, /* l2cache_wbinv_all */ + feroceon_l2cache_wbinv_range, /* l2cache_wbinv_range */ + feroceon_l2cache_inv_range, /* l2cache_inv_range */ + feroceon_l2cache_wb_range, /* l2cache_wb_range */ + + /* Other functions */ + + cpufunc_nullop, /* flush_prefetchbuf */ + armv4_drain_writebuf, /* drain_writebuf */ + cpufunc_nullop, /* flush_brnchtgt_C */ + (void *)cpufunc_nullop, /* flush_brnchtgt_E */ + + (void *)cpufunc_nullop, /* sleep */ + + /* Soft functions */ + + cpufunc_null_fixup, /* dataabt_fixup */ + cpufunc_null_fixup, /* prefetchabt_fixup */ + + arm10_context_switch, /* context_switch */ + + arm10_setup /* cpu setup */ +}; #endif /* CPU_ARM9E || CPU_ARM10 */ #ifdef CPU_ARM10 @@ -933,9 +993,36 @@ } #endif /* CPU_ARM9 */ #if defined(CPU_ARM9E) || defined(CPU_ARM10) - if (cputype == CPU_ID_ARM926EJS || - cputype == CPU_ID_ARM1026EJS) { - cpufuncs = armv5_ec_cpufuncs; + if (cputype == CPU_ID_ARM926EJS || cputype == CPU_ID_ARM1026EJS || + cputype == CPU_ID_MV88FR131 || cputype == CPU_ID_MV88FR571_VD || + cputype == CPU_ID_MV88FR571_41) { + if (cputype == CPU_ID_MV88FR131 || + cputype == CPU_ID_MV88FR571_VD || + cputype == CPU_ID_MV88FR571_41) { + + cpufuncs = feroceon_cpufuncs; + /* + * Workaround for Marvell MV78100 CPU: Cache prefetch + * mechanism may affect the cache coherency validity, + * so it needs to be disabled. + * + * Refer to errata document MV-S501058-00C.pdf (p. 3.1 + * L2 Prefetching Mechanism) for details. + */ + if (cputype == CPU_ID_MV88FR571_VD || + cputype == CPU_ID_MV88FR571_41) { + feroceon_control_ext(0xffffffff, + FC_DCACHE_STREAM_EN | FC_WR_ALLOC_EN | + FC_BRANCH_TARG_BUF_DIS | FC_L2CACHE_EN | + FC_L2_PREF_DIS); + } else { + feroceon_control_ext(0xffffffff, + FC_DCACHE_STREAM_EN | FC_WR_ALLOC_EN | + FC_BRANCH_TARG_BUF_DIS | FC_L2CACHE_EN); + } + } else + cpufuncs = armv5_ec_cpufuncs; + cpu_reset_needs_v4_MMU_disable = 1; /* V4 or higher */ get_cachetype_cp15(); pmap_pte_init_generic(); ==== //depot/projects/mips2/src/sys/arm/arm/elf_machdep.c#4 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/elf_machdep.c,v 1.8 2008/09/24 10:14:37 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/elf_machdep.c,v 1.9 2008/10/13 18:59:59 raj Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -215,6 +215,7 @@ { cpu_idcache_wbinv_all(); + cpu_l2cache_wbinv_all(); cpu_tlb_flushID(); return (0); } ==== //depot/projects/mips2/src/sys/arm/arm/genassym.c#6 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/genassym.c,v 1.11 2008/02/05 10:22:33 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/genassym.c,v 1.12 2008/10/13 18:59:59 raj Exp $"); #include <sys/param.h> #include <sys/systm.h> #include <sys/assym.h> @@ -79,7 +79,9 @@ ASSYM(CF_CONTROL, offsetof(struct cpu_functions, cf_control)); ASSYM(CF_CONTEXT_SWITCH, offsetof(struct cpu_functions, cf_context_switch)); ASSYM(CF_DCACHE_WB_RANGE, offsetof(struct cpu_functions, cf_dcache_wb_range)); +ASSYM(CF_L2CACHE_WB_RANGE, offsetof(struct cpu_functions, cf_l2cache_wb_range)); ASSYM(CF_IDCACHE_WBINV_ALL, offsetof(struct cpu_functions, cf_idcache_wbinv_all)); +ASSYM(CF_L2CACHE_WBINV_ALL, offsetof(struct cpu_functions, cf_l2cache_wbinv_all)); ASSYM(CF_TLB_FLUSHID_SE, offsetof(struct cpu_functions, cf_tlb_flushID_SE)); ASSYM(CF_ICACHE_SYNC, offsetof(struct cpu_functions, cf_icache_sync_all)); ==== //depot/projects/mips2/src/sys/arm/arm/identcpu.c#6 (text+ko) ==== @@ -42,7 +42,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/identcpu.c,v 1.13 2008/05/23 04:03:53 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/identcpu.c,v 1.14 2008/10/13 18:16:54 raj Exp $"); #include <sys/systm.h> #include <sys/param.h> #include <sys/malloc.h> @@ -75,7 +75,8 @@ CPU_CLASS_ARM10EJ, CPU_CLASS_SA1, CPU_CLASS_XSCALE, - CPU_CLASS_ARM11J + CPU_CLASS_ARM11J, + CPU_CLASS_MARVELL }; static const char * const generic_steppings[16] = { @@ -304,6 +305,15 @@ { CPU_ID_ARM1136JSR1, CPU_CLASS_ARM11J, "ARM1136J-S R1", generic_steppings }, + { CPU_ID_MV88FR131, CPU_CLASS_MARVELL, "Feroceon 88FR131", + generic_steppings }, + + { CPU_ID_MV88FR571_VD, CPU_CLASS_MARVELL, "Feroceon 88FR571-VD", + generic_steppings }, + + { CPU_ID_MV88FR571_41, CPU_CLASS_MARVELL, "Early Feroceon 88FR571", + generic_steppings }, + { 0, CPU_CLASS_NONE, NULL, NULL } }; ==== //depot/projects/mips2/src/sys/arm/arm/locore.S#6 (text+ko) ==== @@ -37,7 +37,7 @@ #include <machine/asm.h> #include <machine/armreg.h> #include <machine/pte.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/locore.S,v 1.19 2008/04/08 10:24:41 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/locore.S,v 1.20 2008/10/13 19:14:14 raj Exp $"); /* What size should this really be ? It is only used by initarm() */ #define INIT_ARM_STACK_SIZE 2048 @@ -245,6 +245,8 @@ ldr r0, .Lcpufuncs mov lr, pc ldr pc, [r0, #CF_IDCACHE_WBINV_ALL] + mov lr, pc + ldr pc, [r0, #CF_L2CACHE_WBINV_ALL] /* * Load the cpu_reset_needs_v4_MMU_disable flag to determine if it's ==== //depot/projects/mips2/src/sys/arm/arm/pmap.c#14 (text+ko) ==== @@ -147,10 +147,11 @@ #include "opt_vm.h" #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.102 2008/09/28 05:36:25 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.104 2008/10/13 18:59:59 raj Exp $"); #include <sys/param.h> #include <sys/systm.h> #include <sys/kernel.h> +#include <sys/ktr.h> #include <sys/proc.h> #include <sys/malloc.h> #include <sys/msgbuf.h> @@ -1196,27 +1197,104 @@ } static PMAP_INLINE void +pmap_l2cache_wbinv_range(pmap_t pm, vm_offset_t va, vm_size_t len) +{ + vm_size_t rest; + pd_entry_t *pde; + pt_entry_t *ptep; + + rest = MIN(PAGE_SIZE - (va & PAGE_MASK), len); + + while (len > 0) { + CTR4(KTR_PMAP, "pmap_l2cache_wbinv_range: pmap %p is_kernel %d " + "va 0x%08x len 0x%x ", pm, pm == pmap_kernel(), va, rest); + if (pmap_get_pde_pte(pm, va, &pde, &ptep) && l2pte_valid(*ptep)) + cpu_l2cache_wb_range(va, rest); + + len -= rest; + va += rest; + + rest = MIN(PAGE_SIZE, len); + } +} + +static PMAP_INLINE void pmap_idcache_wbinv_range(pmap_t pm, vm_offset_t va, vm_size_t len) { - if (pmap_is_current(pm)) + if (pmap_is_current(pm)) { cpu_idcache_wbinv_range(va, len); + pmap_l2cache_wbinv_range(pm, va, len); + } } static PMAP_INLINE void -pmap_dcache_wb_range(pmap_t pm, vm_offset_t va, vm_size_t len, - boolean_t do_inv, boolean_t rd_only) +pmap_l2cache_wb_range(pmap_t pm, vm_offset_t va, vm_size_t len) +{ + vm_size_t rest; + pd_entry_t *pde; + pt_entry_t *ptep; + + rest = MIN(PAGE_SIZE - (va & PAGE_MASK), len); + + while (len > 0) { + CTR4(KTR_PMAP, "pmap_l2cache_wb_range: pmap %p is_kernel %d " + "va 0x%08x len 0x%x ", pm, pm == pmap_kernel(), va, rest); + if (pmap_get_pde_pte(pm, va, &pde, &ptep) && l2pte_valid(*ptep)) + cpu_l2cache_wb_range(va, rest); + + len -= rest; + va += rest; + + rest = MIN(PAGE_SIZE, len); + } +} + +static PMAP_INLINE void +pmap_l2cache_inv_range(pmap_t pm, vm_offset_t va, vm_size_t len) { + vm_size_t rest; + pd_entry_t *pde; + pt_entry_t *ptep; + + rest = MIN(PAGE_SIZE - (va & PAGE_MASK), len); + + while (len > 0) { + CTR4(KTR_PMAP, "pmap_l2cache_wb_range: pmap %p is_kernel %d " + "va 0x%08x len 0x%x ", pm, pm == pmap_kernel(), va, rest); + if (pmap_get_pde_pte(pm, va, &pde, &ptep) && l2pte_valid(*ptep)) + cpu_l2cache_inv_range(va, rest); + + len -= rest; + va += rest; + rest = MIN(PAGE_SIZE, len); + } +} + +static PMAP_INLINE void +pmap_dcache_wb_range(pmap_t pm, vm_offset_t va, vm_size_t len, boolean_t do_inv, + boolean_t rd_only) +{ + CTR4(KTR_PMAP, "pmap_dcache_wb_range: pmap %p is_kernel %d va 0x%08x " + "len 0x%x ", pm, pm == pmap_kernel(), va, len); + CTR2(KTR_PMAP, " do_inv %d rd_only %d", do_inv, rd_only); + if (pmap_is_current(pm)) { if (do_inv) { - if (rd_only) + if (rd_only) { cpu_dcache_inv_range(va, len); - else + pmap_l2cache_inv_range(pm, va, len); + } + else { cpu_dcache_wbinv_range(va, len); + pmap_l2cache_wbinv_range(pm, va, len); + } } else - if (!rd_only) + if (!rd_only) { cpu_dcache_wb_range(va, len); + pmap_l2cache_wb_range(pm, va, len); + } } } @@ -1224,16 +1302,20 @@ pmap_idcache_wbinv_all(pmap_t pm) { - if (pmap_is_current(pm)) + if (pmap_is_current(pm)) { cpu_idcache_wbinv_all(); + cpu_l2cache_wbinv_all(); + } } static PMAP_INLINE void pmap_dcache_wbinv_all(pmap_t pm) { - if (pmap_is_current(pm)) + if (pmap_is_current(pm)) { cpu_dcache_wbinv_all(); + cpu_l2cache_wbinv_all(); + } } /* @@ -2169,6 +2251,8 @@ PTE_SYNC(pdep); cpu_dcache_wbinv_range((vm_offset_t)pdep, sizeof(*pdep)); + cpu_l2cache_wbinv_range((vm_offset_t)pdep, + sizeof(*pdep)); rv = 1; } } else { @@ -2185,6 +2269,8 @@ PTE_SYNC(ptep); cpu_dcache_wbinv_range((vm_offset_t)ptep, sizeof(*ptep)); + cpu_l2cache_wbinv_range((vm_offset_t)ptep, + sizeof(*ptep)); rv = 1; } } @@ -2337,6 +2423,7 @@ } cpu_dcache_wbinv_all(); + cpu_l2cache_wbinv_all(); cpu_tlb_flushID(); cpu_cpwait(); @@ -2373,6 +2460,7 @@ mtx_init(&l1_lru_lock, "l1 list lock", NULL, MTX_DEF); pmap_init_l1(l1, kernel_l1pt); cpu_dcache_wbinv_all(); + cpu_l2cache_wbinv_all(); virtual_avail = round_page(virtual_avail); virtual_end = lastaddr; @@ -2402,6 +2490,7 @@ struct pcb *pcb; pmap_idcache_wbinv_all(pmap); + cpu_l2cache_wbinv_all(); pmap_tlb_flushID(pmap); cpu_cpwait(); if (vector_page < KERNBASE) { @@ -2589,6 +2678,7 @@ * rarely */ cpu_dcache_wbinv_all(); + cpu_l2cache_wbinv_all(); cpu_tlb_flushD(); cpu_cpwait(); kernel_vm_end = pmap_curmaxkvaddr; @@ -2614,6 +2704,7 @@ vm_page_lock_queues(); PMAP_LOCK(pmap); cpu_idcache_wbinv_all(); + cpu_l2cache_wbinv_all(); for (pv = TAILQ_FIRST(&pmap->pm_pvlist); pv; pv = npv) { if (pv->pv_flags & PVF_WIRED) { /* The page is wired, cannot remove it now. */ @@ -2726,6 +2817,7 @@ (uint32_t) pte, opte, *pte)); if (l2pte_valid(opte)) { cpu_dcache_wbinv_range(va, PAGE_SIZE); + cpu_l2cache_wbinv_range(va, PAGE_SIZE); cpu_tlb_flushD_SE(va); cpu_cpwait(); } else { @@ -2784,6 +2876,7 @@ opte = *pte; if (l2pte_valid(opte)) { cpu_dcache_wbinv_range(va, PAGE_SIZE); + cpu_l2cache_wbinv_range(va, PAGE_SIZE); cpu_tlb_flushD_SE(va); >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200810132003.m9DK358F066017>