Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Oct 2008 21:57:23 GMT
From:      Edward Tomasz Napierala <trasz@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 151243 for review
Message-ID:  <200810102157.m9ALvNKJ031372@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=151243

Change 151243 by trasz@trasz_victim7 on 2008/10/10 21:57:20

	IFC.

Affected files ...

.. //depot/projects/soc2008/trasz_nfs4acl/UPDATING#9 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/etc/Makefile#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/etc/mtree/BSD.usr.dist#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/games/fortune/datfiles/fortunes#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/gnu/usr.bin/man/man/man.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libpmc/libpmc.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libpmc/pmc.p6.3#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/libexec/rtld-elf/mips/reloc.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/libexec/rtld-elf/rtld.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/release/doc/en_US.ISO8859-1/hardware/article.sgml#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/release/doc/en_US.ISO8859-1/relnotes/article.sgml#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sbin/geom/class/part/gpart.8#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/share/Makefile#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/Makefile#9 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/bce.4#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/em.4#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/igb.4#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/jme.4#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/mmc.4#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/ng_netflow.4#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/u3g.4#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/wpi.4#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/share/man/man5/Makefile#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/share/man/man5/nullfs.5#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/share/misc/committers-src.dot#9 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/share/mk/bsd.kmod.mk#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/at91/at91_mci.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/at91/at91_spi.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/at91/if_ate.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/at91/uart_dev_at91usart.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/arm/at91/boot2/boot2.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/arm/at91/boot2/centipad_board.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/arm/at91/boot2/kb920x_board.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/arm/ixp425/Makefile.inc#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/arm/ixp425/boot2/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/arm/ixp425/boot2/arm_init.S#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/arm/ixp425/boot2/boot2.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/arm/ixp425/boot2/cf_ata.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/arm/ixp425/boot2/ixp425_board.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/arm/ixp425/boot2/lib.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/i386/libi386/bootinfo64.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/NOTES#14 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/files#15 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/aha/aha_isa.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/aha/aha_mca.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/ata-all.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/ata-all.h#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/ata-chipset.c#8 delete
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/ata-dma.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/ata-pci.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/ata-pci.h#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/ata-sata.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/chipsets/ata-acard.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/chipsets/ata-acerlabs.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/chipsets/ata-adaptec.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/chipsets/ata-ahci.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/chipsets/ata-amd.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/chipsets/ata-ati.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/chipsets/ata-cenatek.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/chipsets/ata-cypress.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/chipsets/ata-cyrix.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/chipsets/ata-highpoint.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/chipsets/ata-intel.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/chipsets/ata-ite.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/chipsets/ata-jmicron.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/chipsets/ata-marvell.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/chipsets/ata-micron.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/chipsets/ata-national.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/chipsets/ata-netcell.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/chipsets/ata-nvidia.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/chipsets/ata-promise.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/chipsets/ata-serverworks.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/chipsets/ata-siliconimage.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/chipsets/ata-sis.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ata/chipsets/ata-via.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/hwpmc/hwpmc_ppro.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/hwpmc/pmc_events.h#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mmc/bridge.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mmc/mmc.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mmc/mmcbrvar.h#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mmc/mmcreg.h#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mmc/mmcsd.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mmc/mmcvar.h#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/sio/sio.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/twa/tw_osl_freebsd.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/ehci_pci.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/ohci_pci.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/slhci_pccard.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/u3g.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/uark.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/ubsa.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/ucom.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/uhci_pci.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/ukbd.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/umass.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/umct.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/usb/usbdevs#9 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/cd9660/cd9660_vfsops.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/hpfs/hpfs_vfsops.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/msdosfs/msdosfs_vfsops.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/ntfs/ntfs_vfsops.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/nwfs/nwfs_io.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/portalfs/portal_vnops.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/smbfs/smbfs_io.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/fs/udf/udf_vfsops.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/geom_vfs.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/geom/geom_vfs.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/gnu/fs/ext2fs/ext2_vfsops.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/gnu/fs/xfs/FreeBSD/xfs_buf.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/gnu/fs/xfs/FreeBSD/xfs_super.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/conf/GENERIC#11 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/imgact_elf.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_bus.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/sys_socket.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/uipc_sockbuf.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/uipc_socket.c#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/uipc_usrreq.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_bio.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_mount.c#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_subr.c#15 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/libkern/qdivrem.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/Makefile#11 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/Makefile#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/ata/Makefile#2 delete
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atacore/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atadevel/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atadevel/ata-devel.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/Makefile#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/Makefile.inc#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/chipsets/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/chipsets/Makefile.inc#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/chipsets/ataacard/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/chipsets/ataacerlabs/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/chipsets/ataadaptec/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/chipsets/ataahci/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/chipsets/ataamd/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/chipsets/ataati/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/chipsets/atacenatek/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/chipsets/atacypress/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/chipsets/atacyrix/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/chipsets/atahighpoint/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/chipsets/ataintel/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/chipsets/ataite/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/chipsets/atajmicron/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/chipsets/atamarvell/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/chipsets/atamicron/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/chipsets/atanational/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/chipsets/atanetcell/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/chipsets/atanvidia/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/chipsets/atapromise/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/chipsets/ataserverworks/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/chipsets/atasiliconimage/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/chipsets/atasis/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ata/atapci/chipsets/atavia/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ehci/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/ohci/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/slhci/Makefile#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/u3g/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/uhci/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/usb/Makefile#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/wpifw/Makefile#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/netflow/netflow.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/netflow/ng_netflow.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netgraph/netflow/ng_netflow.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/ip_fw.h#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/tcp_input.c#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/nfsclient/nfs_bio.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/bufobj.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/pmc.h#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/un.h#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/vnode.h#12 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ffs/ffs_inode.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ffs/ffs_vfsops.c#13 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/vm/vm_object.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/netinet/udpzerobyte/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/netinet/udpzerobyte/udpzerobyte.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/sockets/fstat/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/sockets/fstat/fstat.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/tools/tools/nanobsd/nanobsd.sh#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/gstat/gstat.8#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/gstat/gstat.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/pmcstat/pmcstat.8#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/pmcstat/pmcstat.c#4 integrate

Differences ...

==== //depot/projects/soc2008/trasz_nfs4acl/UPDATING#9 (text+ko) ====

@@ -22,6 +22,21 @@
 	to maximize performance.  (To disable malloc debugging, run
 	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.
+
 20080820:
 	The TTY subsystem of the kernel has been replaced by a new
 	implementation, which provides better scalability and an
@@ -59,6 +74,11 @@
 	option to "ssh-dss,ssh-rsa" in ~/.ssh/config or on the ssh
 	command line.
 
+	Please note that the sequence of keys offered for
+	authentication has been changed as well.  You may want to
+	specify IdentityFile in a different order to revert this
+	behavior.
+
 20080713:
 	The sio(4) driver has been removed from the i386 and amd64
 	kernel configuration files. This means uart(4) is now the
@@ -1018,7 +1038,7 @@
 	<edit ${CURRENT_ROOT}/etc/fstab to mount "/" from the correct partition>
 	<reboot into current>
 	<do a "native" rebuild/install as described in the previous section>
-	<maybe install compatibility libraries from src/lib/compat>
+	<maybe install compatibility libraries from ports/misc/compat*>
  	<reboot>
 
 
@@ -1126,4 +1146,4 @@
 Contact Warner Losh if you have any questions about your use of
 this document.
 
-$FreeBSD: src/UPDATING,v 1.542 2008/09/14 19:25:57 ed Exp $
+$FreeBSD: src/UPDATING,v 1.545 2008/10/10 06:37:51 n_hibma Exp $

==== //depot/projects/soc2008/trasz_nfs4acl/etc/Makefile#4 (text+ko) ====

@@ -1,5 +1,5 @@
 #	from: @(#)Makefile	5.11 (Berkeley) 5/21/91
-# $FreeBSD: src/etc/Makefile,v 1.370 2008/09/22 15:37:47 sam Exp $
+# $FreeBSD: src/etc/Makefile,v 1.371 2008/10/08 13:28:02 des Exp $
 
 .include <bsd.own.mk>
 
@@ -251,6 +251,7 @@
 .endif
 	cd ${DESTDIR}/; rm -f ${DESTDIR}/sys; ln -s usr/src/sys sys
 	cd ${DESTDIR}/usr/share/man/en.ISO8859-1; ln -sf ../man* .
+	cd ${DESTDIR}/usr/share/man/en.UTF-8; ln -sf ../man* .
 	cd ${DESTDIR}/usr/share/man; \
 	set - `grep "^[a-zA-Z]" ${.CURDIR}/man.alias`; \
 	while [ $$# -gt 0 ] ; \

==== //depot/projects/soc2008/trasz_nfs4acl/etc/mtree/BSD.usr.dist#4 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.335 2008/07/28 17:42:37 antoine Exp $
+# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.336 2008/10/08 13:28:02 des Exp $
 #
 # Please see the file src/etc/mtree/README before making changes to this file.
 #
@@ -740,6 +740,46 @@
                 cat9
                 ..
             ..
+            en.UTF-8        uname=root
+                cat1
+                ..
+                cat1aout
+                ..
+                cat2
+                ..
+                cat3
+                ..
+                cat4
+                    amd64
+                    ..
+                    arm
+                    ..
+                    i386
+                    ..
+                    powerpc
+                    ..
+                    sparc64
+                    ..
+                ..
+                cat5
+                ..
+                cat6
+                ..
+                cat7
+                ..
+                cat8
+                    amd64
+                    ..
+                    i386
+                    ..
+                    powerpc
+                    ..
+                    sparc64
+                    ..
+                ..
+                cat9
+                ..
+            ..
             ja              uname=root
                 cat1
                 ..

==== //depot/projects/soc2008/trasz_nfs4acl/games/fortune/datfiles/fortunes#8 (text+ko) ====

@@ -1,5 +1,5 @@
 This fortune brought to you by:
-$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.270 2008/08/02 20:11:56 phk Exp $
+$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.272 2008/10/08 19:39:22 phk Exp $
 %
 =======================================================================
 ||								     ||
@@ -23951,6 +23951,9 @@
 that kidnaped Europa.
 		-- Marcus Tullius Cicero
 %
+I like paying taxes.  With them I buy civilization.
+		-- Oliver Wendell Holmes
+%
 I like to believe that people in the long run are going to do more to
 promote peace than our governments.  Indeed, I think that people want
 peace so much that one of these days governments had better get out of
@@ -26583,6 +26586,9 @@
 %
 If you can lead it to water and force it to drink, it isn't a horse.
 %
+If you can not say it, you can not whistle it, either.
+		-- Wittgenstein
+%
 If you can read this, you're too close.
 %
 If you can survive death, you can probably survive anything.

==== //depot/projects/soc2008/trasz_nfs4acl/gnu/usr.bin/man/man/man.c#2 (text+ko) ====

@@ -16,7 +16,7 @@
 
 #ifndef lint
 static const char rcsid[] =
-  "$FreeBSD: src/gnu/usr.bin/man/man/man.c,v 1.68 2008/05/14 17:18:12 ru Exp $";
+  "$FreeBSD: src/gnu/usr.bin/man/man/man.c,v 1.69 2008/10/08 13:16:20 des Exp $";
 #endif /* not lint */
 
 #define MAN_MAIN
@@ -105,6 +105,7 @@
 	{"KOI8-R", "koi8-r"},
 	{"ISO8859-1", "latin1"},
 	{"ISO8859-15", "latin1"},
+	{"UTF-8", "utf8"},
 	{NULL}
 };
 #endif

==== //depot/projects/soc2008/trasz_nfs4acl/lib/libpmc/libpmc.c#3 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libpmc/libpmc.c,v 1.16 2008/09/17 04:13:14 jkoshy Exp $");
+__FBSDID("$FreeBSD: src/lib/libpmc/libpmc.c,v 1.17 2008/10/09 14:55:45 jkoshy Exp $");
 
 #include <sys/types.h>
 #include <sys/module.h>
@@ -59,6 +59,10 @@
 static int p6_allocate_pmc(enum pmc_event _pe, char *_ctrspec,
     struct pmc_op_pmcallocate *_pmc_config);
 #endif
+#if defined(__amd64__) || defined(__i386__)
+static int tsc_allocate_pmc(enum pmc_event _pe, char *_ctrspec,
+    struct pmc_op_pmcallocate *_pmc_config);
+#endif
 
 #define PMC_CALL(cmd, params)				\
 	syscall(pmc_syscall, PMC_OP_##cmd, (params))
@@ -77,23 +81,96 @@
 static const struct pmc_event_alias *pmc_mdep_event_aliases;
 
 /*
- * The pmc_event_descr table maps symbolic names known to the user
+ * The pmc_event_descr structure maps symbolic names known to the user
  * to integer codes used by the PMC KLD.
  */
 struct pmc_event_descr {
 	const char	*pm_ev_name;
 	enum pmc_event	pm_ev_code;
-	enum pmc_class	pm_ev_class;
+};
+
+/*
+ * The pmc_class_descr structure maps class name prefixes for
+ * event names to event tables and other PMC class data.
+ */
+struct pmc_class_descr {
+	const char	*pm_evc_name;
+	size_t		pm_evc_name_size;
+	enum pmc_class	pm_evc_class;
+	const struct pmc_event_descr *pm_evc_event_table;
+	size_t		pm_evc_event_table_size;
+	int		(*pm_evc_allocate_pmc)(enum pmc_event _pe,
+			    char *_ctrspec, struct pmc_op_pmcallocate *_pa);
+};
+
+#define	PMC_TABLE_SIZE(N)	(sizeof(N)/sizeof(N[0]))
+#define	PMC_EVENT_TABLE_SIZE(N)	PMC_TABLE_SIZE(N##_event_table)
+
+#undef	__PMC_EV
+#define	__PMC_EV(C,N) { #N, PMC_EV_ ## C ## _ ## N },
+
+/*
+ * PMC_MDEP_TABLE(NAME, CLASS, ADDITIONAL_CLASSES...)
+ *
+ * Build an event descriptor table and a list of valid PMC classes.
+ */
+#define	PMC_MDEP_TABLE(N,C,...)				\
+	static const struct pmc_event_descr N##_event_table[] =	\
+	{							\
+		__PMC_EV_##C()					\
+	};							\
+	static const enum pmc_class N##_pmc_classes[] = {	\
+		PMC_CLASS_##C, __VA_ARGS__			\
+	}
+
+PMC_MDEP_TABLE(k7, K7, PMC_CLASS_TSC);
+PMC_MDEP_TABLE(k8, K8, PMC_CLASS_TSC);
+PMC_MDEP_TABLE(p4, P4, PMC_CLASS_TSC);
+PMC_MDEP_TABLE(p5, P5, PMC_CLASS_TSC);
+PMC_MDEP_TABLE(p6, P6, PMC_CLASS_TSC);
+
+static const struct pmc_event_descr tsc_event_table[] =
+{
+	__PMC_EV_TSC()
 };
 
-static const struct pmc_event_descr
-pmc_event_table[] =
+#undef	PMC_CLASS_TABLE_DESC
+#define	PMC_CLASS_TABLE_DESC(N, C)	{			\
+		.pm_evc_name  = #N "-",				\
+		.pm_evc_name_size = sizeof(#N "-") - 1,		\
+		.pm_evc_class = PMC_CLASS_##C ,			\
+		.pm_evc_event_table = N##_event_table ,		\
+		.pm_evc_event_table_size = 			\
+			PMC_EVENT_TABLE_SIZE(N),		\
+		.pm_evc_allocate_pmc = N##_allocate_pmc		\
+	}
+
+static const struct pmc_class_descr pmc_class_table[] =
 {
-#undef  __PMC_EV
-#define	__PMC_EV(C,N,EV) { #EV, PMC_EV_ ## C ## _ ## N, PMC_CLASS_ ## C },
-	__PMC_EVENTS()
+#if	defined(__i386__)
+	PMC_CLASS_TABLE_DESC(k7, K7),
+#endif
+#if	defined(__i386__) || defined(__amd64__)
+	PMC_CLASS_TABLE_DESC(k8, K8),
+	PMC_CLASS_TABLE_DESC(p4, P4),
+#endif
+#if	defined(__i386__)
+	PMC_CLASS_TABLE_DESC(p5, P5),
+	PMC_CLASS_TABLE_DESC(p6, P6),
+#endif
+#if	defined(__i386__) || defined(__amd64__)
+	PMC_CLASS_TABLE_DESC(tsc, TSC)
+#endif
 };
 
+static size_t pmc_event_class_table_size =
+    PMC_TABLE_SIZE(pmc_class_table);
+
+#undef	PMC_CLASS_TABLE_DESC
+
+static const enum pmc_class *pmc_mdep_class_list;
+static size_t pmc_mdep_class_list_size;
+
 /*
  * Mapping tables, mapping enumeration values to human readable
  * strings.
@@ -111,9 +188,14 @@
 	__PMC_CLASSES()
 };
 
-static const char * pmc_cputype_names[] = {
+struct pmc_cputype_map {
+	enum pmc_class	pm_cputype;
+	const char	*pm_name;
+};
+
+static const struct pmc_cputype_map pmc_cputype_names[] = {
 #undef	__PMC_CPU
-#define	__PMC_CPU(S, D) #S ,
+#define	__PMC_CPU(S, V, D) { .pm_cputype = PMC_CPU_##S, .pm_name = #S } ,
 	__PMC_CPUS()
 };
 
@@ -139,11 +221,6 @@
 
 static struct pmc_cpuinfo cpu_info;	/* filled in by pmc_init() */
 
-
-/* Architecture dependent event parsing */
-static int (*pmc_mdep_allocate_pmc)(enum pmc_event _pe, char *_ctrspec,
-    struct pmc_op_pmcallocate *_pmc_config);
-
 /* Event masks for events */
 struct pmc_masks {
 	const char	*pm_name;
@@ -167,7 +244,8 @@
 		return (-1);
 	c = 0;			/* count of mask keywords seen */
 	while ((r = strsep(&q, "+")) != NULL) {
-		for (pm = pmask; pm->pm_name && strcmp(r, pm->pm_name); pm++)
+		for (pm = pmask; pm->pm_name && strcasecmp(r, pm->pm_name);
+		    pm++)
 			;
 		if (pm->pm_name == NULL) /* not found */
 			return (-1);
@@ -215,14 +293,7 @@
 	uint32_t	count, unitmask;
 
 	pmc_config->pm_md.pm_amd.pm_amd_config = 0;
-	pmc_config->pm_caps |= PMC_CAP_READ;
-
-	if (pe == PMC_EV_TSC_TSC) {
-		/* TSC events must be unqualified. */
-		if (ctrspec && *ctrspec != '\0')
-			return (-1);
-		return (0);
-	}
+	pmc_config->pm_caps |= (PMC_CAP_READ | PMC_CAP_WRITE);
 
 	if (pe == PMC_EV_K7_DC_REFILLS_FROM_L2 ||
 	    pe == PMC_EV_K7_DC_REFILLS_FROM_SYSTEM ||
@@ -232,8 +303,6 @@
 	} else
 		unitmask = has_unitmask = 0;
 
-	pmc_config->pm_caps |= PMC_CAP_WRITE;
-
 	while ((p = strsep(&ctrspec, ",")) != NULL) {
 		if (KWPREFIXMATCH(p, K7_KW_COUNT "=")) {
 			q = strchr(p, '=');
@@ -514,16 +583,9 @@
 	uint32_t	count, evmask;
 	const struct pmc_masks	*pm, *pmask;
 
-	pmc_config->pm_caps |= PMC_CAP_READ;
+	pmc_config->pm_caps |= (PMC_CAP_READ | PMC_CAP_WRITE);
 	pmc_config->pm_md.pm_amd.pm_amd_config = 0;
 
-	if (pe == PMC_EV_TSC_TSC) {
-		/* TSC events must be unqualified. */
-		if (ctrspec && *ctrspec != '\0')
-			return (-1);
-		return (0);
-	}
-
 	pmask = NULL;
 	evmask = 0;
 
@@ -597,8 +659,6 @@
 		break;		/* no options defined */
 	}
 
-	pmc_config->pm_caps |= PMC_CAP_WRITE;
-
 	while ((p = strsep(&ctrspec, ",")) != NULL) {
 		if (KWPREFIXMATCH(p, K8_KW_COUNT "=")) {
 			q = strchr(p, '=');
@@ -1005,22 +1065,14 @@
 	uint32_t evmask, cccractivemask;
 	const struct pmc_masks *pm, *pmask;
 
-	pmc_config->pm_caps |= PMC_CAP_READ;
+	pmc_config->pm_caps |= (PMC_CAP_READ | PMC_CAP_WRITE);
 	pmc_config->pm_md.pm_p4.pm_p4_cccrconfig =
 	    pmc_config->pm_md.pm_p4.pm_p4_escrconfig = 0;
 
-	if (pe == PMC_EV_TSC_TSC) {
-		/* TSC must not be further qualified */
-		if (ctrspec && *ctrspec != '\0')
-			return (-1);
-		return (0);
-	}
-
 	pmask   = NULL;
 	evmask  = 0;
 	cccractivemask = 0x3;
 	has_tag = has_busreqtype = 0;
-	pmc_config->pm_caps |= PMC_CAP_WRITE;
 
 #define	__P4SETMASK(M) do {				\
 	pmask = p4_mask_##M;				\
@@ -1166,13 +1218,13 @@
 			if (*++q == '\0') /* skip '=' */
 				return (-1);
 
-			if (strcmp(q, P4_KW_ACTIVE_NONE) == 0)
+			if (strcasecmp(q, P4_KW_ACTIVE_NONE) == 0)
 				cccractivemask = 0x0;
-			else if (strcmp(q, P4_KW_ACTIVE_SINGLE) == 0)
+			else if (strcasecmp(q, P4_KW_ACTIVE_SINGLE) == 0)
 				cccractivemask = 0x1;
-			else if (strcmp(q, P4_KW_ACTIVE_BOTH) == 0)
+			else if (strcasecmp(q, P4_KW_ACTIVE_BOTH) == 0)
 				cccractivemask = 0x2;
-			else if (strcmp(q, P4_KW_ACTIVE_ANY) == 0)
+			else if (strcasecmp(q, P4_KW_ACTIVE_ANY) == 0)
 				cccractivemask = 0x3;
 			else
 				return (-1);
@@ -1442,16 +1494,9 @@
 	int count, n;
 	const struct pmc_masks *pm, *pmask;
 
-	pmc_config->pm_caps |= PMC_CAP_READ;
+	pmc_config->pm_caps |= (PMC_CAP_READ | PMC_CAP_WRITE);
 	pmc_config->pm_md.pm_ppro.pm_ppro_config = 0;
 
-	if (pe == PMC_EV_TSC_TSC) {
-		if (ctrspec && *ctrspec != '\0')
-			return (-1);
-		return (0);
-	}
-
-	pmc_config->pm_caps |= PMC_CAP_WRITE;
 	evmask = 0;
 
 #define	P6MASKSET(M)	pmask = p6_mask_ ## M
@@ -1638,6 +1683,93 @@
 
 #endif
 
+#if	defined(__i386__) || defined(__amd64__)
+static int
+tsc_allocate_pmc(enum pmc_event pe, char *ctrspec,
+    struct pmc_op_pmcallocate *pmc_config)
+{
+	if (pe != PMC_EV_TSC_TSC)
+		return (-1);
+
+	/* TSC events must be unqualified. */
+	if (ctrspec && *ctrspec != '\0')
+		return (-1);
+
+	pmc_config->pm_md.pm_amd.pm_amd_config = 0;
+	pmc_config->pm_caps |= PMC_CAP_READ;
+
+	return (0);
+}
+#endif
+
+/*
+ * Match an event name `name' with its canonical form.
+ * 
+ * Matches are case insensitive and spaces, underscores and hyphen
+ * characters are considered to match each other.
+ *
+ * Returns 1 for a match, 0 otherwise.
+ */
+
+static int
+pmc_match_event_name(const char *name, const char *canonicalname)
+{
+	int cc, nc;
+	const unsigned char *c, *n;
+
+	c = (const unsigned char *) canonicalname;
+	n = (const unsigned char *) name;
+
+	for (; (nc = *n) && (cc = *c); n++, c++) {
+
+		if (toupper(nc) == cc)
+			continue;
+
+		if ((nc == ' ' || nc == '_' || nc == '-') &&
+		    (cc == ' ' || cc == '_' || cc == '-'))
+			continue;
+
+		return (0);
+	}
+
+	if (*n == '\0' && *c == '\0')
+		return (1);
+
+	return (0);
+}
+
+/*
+ * Match an event name against all the event named supported by a
+ * PMC class.
+ *
+ * Returns an event descriptor pointer on match or NULL otherwise.
+ */
+static const struct pmc_event_descr *
+pmc_match_event_class(const char *name,
+    const struct pmc_class_descr *pcd)
+{
+	size_t n;
+	const struct pmc_event_descr *ev;
+	
+	ev = pcd->pm_evc_event_table;
+	for (n = 0; n < pcd->pm_evc_event_table_size; n++, ev++)
+		if (pmc_match_event_name(name, ev->pm_ev_name))
+			return (ev);
+
+	return (NULL);
+}
+
+static int
+pmc_mdep_is_compatible_class(enum pmc_class pc)
+{
+	size_t n;
+
+	for (n = 0; n < pmc_mdep_class_list_size; n++)
+		if (pmc_mdep_class_list[n] == pc)
+			return (1);
+	return (0);
+}
+
 /*
  * API entry points
  */
@@ -1646,12 +1778,14 @@
 pmc_allocate(const char *ctrspec, enum pmc_mode mode,
     uint32_t flags, int cpu, pmc_id_t *pmcid)
 {
+	size_t n;
 	int retval;
-	enum pmc_event pe;
 	char *r, *spec_copy;
 	const char *ctrname;
-	const struct pmc_event_alias *p;
+	const struct pmc_event_descr *ev;
+	const struct pmc_event_alias *alias;
 	struct pmc_op_pmcallocate pmc_config;
+	const struct pmc_class_descr *pcd;
 
 	spec_copy = NULL;
 	retval    = -1;
@@ -1664,9 +1798,9 @@
 
 	/* replace an event alias with the canonical event specifier */
 	if (pmc_mdep_event_aliases)
-		for (p = pmc_mdep_event_aliases; p->pm_alias; p++)
-			if (!strcmp(ctrspec, p->pm_alias)) {
-				spec_copy = strdup(p->pm_spec);
+		for (alias = pmc_mdep_event_aliases; alias->pm_alias; alias++)
+			if (!strcasecmp(ctrspec, alias->pm_alias)) {
+				spec_copy = strdup(alias->pm_spec);
 				break;
 			}
 
@@ -1676,19 +1810,43 @@
 	r = spec_copy;
 	ctrname = strsep(&r, ",");
 
-	/* look for the given counter name */
-	for (pe = PMC_EVENT_FIRST; pe < (PMC_EVENT_LAST+1); pe++)
-		if (!strcmp(ctrname, pmc_event_table[pe].pm_ev_name))
+	/*
+	 * If a explicit class prefix was given by the user, restrict the
+	 * search for the event to the specified PMC class.
+	 */
+	ev = NULL;
+	for (n = 0; n < pmc_event_class_table_size; n++) {
+		pcd = &pmc_class_table[n];
+		if (pmc_mdep_is_compatible_class(pcd->pm_evc_class) &&
+		    strncasecmp(ctrname, pcd->pm_evc_name,
+				pcd->pm_evc_name_size) == 0) {
+			if ((ev = pmc_match_event_class(ctrname +
+			    pcd->pm_evc_name_size, pcd)) == NULL) {
+				errno = EINVAL;
+				goto out;
+			}
 			break;
+		}
+	}
+
+	/*
+	 * Otherwise, search for this event in all compatible PMC
+	 * classes.
+	 */
+	for (n = 0; ev == NULL && n < pmc_event_class_table_size; n++) {
+		pcd = &pmc_class_table[n];
+		if (pmc_mdep_is_compatible_class(pcd->pm_evc_class))
+			ev = pmc_match_event_class(ctrname, pcd);
+	}
 
-	if (pe > PMC_EVENT_LAST) {
+	if (ev == NULL) {
 		errno = EINVAL;
 		goto out;
 	}
 
 	bzero(&pmc_config, sizeof(pmc_config));
-	pmc_config.pm_ev    = pmc_event_table[pe].pm_ev_code;
-	pmc_config.pm_class = pmc_event_table[pe].pm_ev_class;
+	pmc_config.pm_ev    = ev->pm_ev_code;
+	pmc_config.pm_class = pcd->pm_evc_class;
 	pmc_config.pm_cpu   = cpu;
 	pmc_config.pm_mode  = mode;
 	pmc_config.pm_flags = flags;
@@ -1696,7 +1854,7 @@
 	if (PMC_IS_SAMPLING_MODE(mode))
 		pmc_config.pm_caps |= PMC_CAP_INTERRUPT;
 
-	if (pmc_mdep_allocate_pmc(pe, r, &pmc_config) < 0) {
+ 	if (pcd->pm_evc_allocate_pmc(ev->pm_ev_code, r, &pmc_config) < 0) {
 		errno = EINVAL;
 		goto out;
 	}
@@ -1817,28 +1975,28 @@
 	switch (cl)
 	{
 	case PMC_CLASS_TSC:
-		ev = &pmc_event_table[PMC_EV_TSC_TSC];
-		count = 1;
+		ev = tsc_event_table;
+		count = PMC_EVENT_TABLE_SIZE(tsc);
 		break;
 	case PMC_CLASS_K7:
-		ev = &pmc_event_table[PMC_EV_K7_FIRST];
-		count = PMC_EV_K7_LAST - PMC_EV_K7_FIRST + 1;
+		ev = k7_event_table;
+		count = PMC_EVENT_TABLE_SIZE(k7);
 		break;
 	case PMC_CLASS_K8:
-		ev = &pmc_event_table[PMC_EV_K8_FIRST];
-		count = PMC_EV_K8_LAST - PMC_EV_K8_FIRST + 1;
+		ev = k8_event_table;
+		count = PMC_EVENT_TABLE_SIZE(k8);
+		break;
+	case PMC_CLASS_P4:
+		ev = p4_event_table;
+		count = PMC_EVENT_TABLE_SIZE(p4);
 		break;
 	case PMC_CLASS_P5:
-		ev = &pmc_event_table[PMC_EV_P5_FIRST];
-		count = PMC_EV_P5_LAST - PMC_EV_P5_FIRST + 1;
+		ev = p5_event_table;
+		count = PMC_EVENT_TABLE_SIZE(p5);
 		break;
 	case PMC_CLASS_P6:
-		ev = &pmc_event_table[PMC_EV_P6_FIRST];
-		count = PMC_EV_P6_LAST - PMC_EV_P6_FIRST + 1;
-		break;
-	case PMC_CLASS_P4:
-		ev = &pmc_event_table[PMC_EV_P4_FIRST];
-		count = PMC_EV_P4_LAST - PMC_EV_P4_FIRST + 1;
+		ev = p6_event_table;
+		count = PMC_EVENT_TABLE_SIZE(p6);
 		break;
 	default:
 		errno = EINVAL;
@@ -1937,34 +2095,36 @@
 	for (n = 0; n < cpu_info.pm_nclass; n++)
 		cpu_info.pm_classes[n] = op_cpu_info.pm_classes[n];
 
-	/* set parser pointer */
+#define	PMC_MDEP_INIT(C) do {					\
+		pmc_mdep_event_aliases    = C##_aliases;	\
+		pmc_mdep_class_list  = C##_pmc_classes;		\
+		pmc_mdep_class_list_size =			\
+		    PMC_TABLE_SIZE(C##_pmc_classes);		\
+	} while (0)
+
+	/* Configure the event name parser. */
 	switch (cpu_info.pm_cputype) {
 #if defined(__i386__)
 	case PMC_CPU_AMD_K7:
-		pmc_mdep_event_aliases = k7_aliases;
-		pmc_mdep_allocate_pmc = k7_allocate_pmc;
+		PMC_MDEP_INIT(k7);
 		break;
 	case PMC_CPU_INTEL_P5:
-		pmc_mdep_event_aliases = p5_aliases;
-		pmc_mdep_allocate_pmc = p5_allocate_pmc;
+		PMC_MDEP_INIT(p5);
 		break;
 	case PMC_CPU_INTEL_P6:		/* P6 ... Pentium M CPUs have */
 	case PMC_CPU_INTEL_PII:		/* similar PMCs. */
 	case PMC_CPU_INTEL_PIII:
 	case PMC_CPU_INTEL_PM:
-		pmc_mdep_event_aliases = p6_aliases;
-		pmc_mdep_allocate_pmc = p6_allocate_pmc;
+		PMC_MDEP_INIT(p6);
 		break;
 #endif
 #if defined(__amd64__) || defined(__i386__)
+	case PMC_CPU_AMD_K8:
+		PMC_MDEP_INIT(k8);
+		break;
 	case PMC_CPU_INTEL_PIV:
-		pmc_mdep_event_aliases = p4_aliases;
-		pmc_mdep_allocate_pmc = p4_allocate_pmc;
+		PMC_MDEP_INIT(p4);
 		break;
-	case PMC_CPU_AMD_K8:
-		pmc_mdep_event_aliases = k8_aliases;
-		pmc_mdep_allocate_pmc = k8_allocate_pmc;
-		break;
 #endif
 
 	default:
@@ -2013,9 +2173,12 @@
 const char *
 pmc_name_of_cputype(enum pmc_cputype cp)
 {
-	if ((int) cp >= PMC_CPU_FIRST &&
-	    cp <= PMC_CPU_LAST)
-		return (pmc_cputype_names[cp]);
+	size_t n;
+
+	for (n = 0; n < PMC_TABLE_SIZE(pmc_cputype_names); n++)
+		if (cp == pmc_cputype_names[n].pm_cputype)
+			return (pmc_cputype_names[n].pm_name);
+
 	errno = EINVAL;
 	return (NULL);
 }
@@ -2034,9 +2197,32 @@
 const char *
 pmc_name_of_event(enum pmc_event pe)
 {
-	if ((int) pe >= PMC_EVENT_FIRST &&
-	    pe <= PMC_EVENT_LAST)
-		return (pmc_event_table[pe].pm_ev_name);
+	const struct pmc_event_descr *ev, *evfence;
+
+	ev = evfence = NULL;
+	if (pe >= PMC_EV_K7_FIRST && pe <= PMC_EV_K7_LAST) {
+		ev = k7_event_table;
+		evfence = k7_event_table + PMC_EVENT_TABLE_SIZE(k7);
+	} else if (pe >= PMC_EV_K8_FIRST && pe <= PMC_EV_K8_LAST) {
+		ev = k8_event_table;
+		evfence = k8_event_table + PMC_EVENT_TABLE_SIZE(k8);
+	} else if (pe >= PMC_EV_P4_FIRST && pe <= PMC_EV_P4_LAST) {
+		ev = p4_event_table;
+		evfence = p4_event_table + PMC_EVENT_TABLE_SIZE(p4);
+	} else if (pe >= PMC_EV_P5_FIRST && pe <= PMC_EV_P5_LAST) {
+		ev = p5_event_table;
+		evfence = p5_event_table + PMC_EVENT_TABLE_SIZE(p5);
+	} else if (pe >= PMC_EV_P6_FIRST && pe <= PMC_EV_P6_LAST) {
+		ev = p6_event_table;
+		evfence = p6_event_table + PMC_EVENT_TABLE_SIZE(p6);
+	} else if (pe == PMC_EV_TSC_TSC) {
+		ev = tsc_event_table;
+		evfence = tsc_event_table + PMC_EVENT_TABLE_SIZE(tsc);
+	}
+
+	for (; ev != evfence; ev++)
+		if (pe == ev->pm_ev_code)
+			return (ev->pm_ev_name);
 
 	errno = EINVAL;
 	return (NULL);

==== //depot/projects/soc2008/trasz_nfs4acl/lib/libpmc/pmc.p6.3#3 (text+ko) ====

@@ -21,7 +21,7 @@
 .\" out of the use of this software, even if advised of the possibility of
 .\" such damage.
 .\"
-.\" $FreeBSD: src/lib/libpmc/pmc.p6.3,v 1.4 2008/10/04 12:54:25 jkoshy Exp $
+.\" $FreeBSD: src/lib/libpmc/pmc.p6.3,v 1.5 2008/10/06 10:34:44 jkoshy Exp $
 .\"
 .Dd October 4, 2008
 .Os
@@ -422,7 +422,7 @@
 Count the number of cycles during which the divider is busy and cannot
 accept new divides.
 This event is only allocated on counter 0.
-.It Li p6-cycles-in-pending-and-masked
+.It Li p6-cycles-int-pending-and-masked
 .Pq Event C7H
 Count the number of processor cycles for which interrupts were
 disabled and interrupts were pending.

==== //depot/projects/soc2008/trasz_nfs4acl/libexec/rtld-elf/mips/reloc.c#2 (text+ko) ====

@@ -1,7 +1,7 @@

>>> TRUNCATED FOR MAIL (1000 lines) <<<



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200810102157.m9ALvNKJ031372>