PERFORCE change 151336 for review
Warner Losh
imp at FreeBSD.org
Mon Oct 13 20:03:06 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=151336
Change 151336 by imp at 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) <<<
More information about the p4-projects
mailing list