Date: Sun, 12 Oct 2008 12:29:32 GMT From: Ed Schouten <ed@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 151282 for review Message-ID: <200810121229.m9CCTWXh042624@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=151282 Change 151282 by ed@ed_dull on 2008/10/12 12:29:03 IFC. Affected files ... .. //depot/projects/mpsafetty/UPDATING#11 integrate .. //depot/projects/mpsafetty/etc/Makefile#3 integrate .. //depot/projects/mpsafetty/etc/etc.mips/ttys#3 integrate .. //depot/projects/mpsafetty/etc/mtree/BSD.usr.dist#3 integrate .. //depot/projects/mpsafetty/games/fortune/datfiles/fortunes#5 integrate .. //depot/projects/mpsafetty/gnu/usr.bin/man/man/man.c#2 integrate .. //depot/projects/mpsafetty/lib/libpmc/Makefile#3 integrate .. //depot/projects/mpsafetty/lib/libpmc/libpmc.c#3 integrate .. //depot/projects/mpsafetty/lib/libpmc/pmc.3#5 integrate .. //depot/projects/mpsafetty/lib/libpmc/pmc.atom.3#1 branch .. //depot/projects/mpsafetty/lib/libpmc/pmc.core.3#1 branch .. //depot/projects/mpsafetty/lib/libpmc/pmc.core2.3#1 branch .. //depot/projects/mpsafetty/lib/libpmc/pmc.iaf.3#1 branch .. //depot/projects/mpsafetty/lib/libpmc/pmc.k7.3#3 integrate .. //depot/projects/mpsafetty/lib/libpmc/pmc.k8.3#3 integrate .. //depot/projects/mpsafetty/lib/libpmc/pmc.p4.3#2 integrate .. //depot/projects/mpsafetty/lib/libpmc/pmc.p5.3#3 integrate .. //depot/projects/mpsafetty/lib/libpmc/pmc.p6.3#3 integrate .. //depot/projects/mpsafetty/lib/libpmc/pmc.tsc.3#2 integrate .. //depot/projects/mpsafetty/lib/libutil/pty.c#3 integrate .. //depot/projects/mpsafetty/libexec/rtld-elf/mips/reloc.c#2 integrate .. //depot/projects/mpsafetty/libexec/rtld-elf/rtld.c#3 integrate .. //depot/projects/mpsafetty/release/Makefile#2 integrate .. //depot/projects/mpsafetty/release/doc/en_US.ISO8859-1/hardware/article.sgml#2 integrate .. //depot/projects/mpsafetty/release/doc/en_US.ISO8859-1/relnotes/article.sgml#5 integrate .. //depot/projects/mpsafetty/release/doc/ja_JP.eucJP/hardware/common/dev.sgml#2 integrate .. //depot/projects/mpsafetty/release/doc/ru_RU.KOI8-R/hardware/common/dev.sgml#2 integrate .. //depot/projects/mpsafetty/release/doc/share/misc/dev.archlist.txt#2 integrate .. //depot/projects/mpsafetty/release/doc/share/misc/man2hwnotes.pl#2 integrate .. //depot/projects/mpsafetty/sbin/geom/class/part/gpart.8#2 integrate .. //depot/projects/mpsafetty/sbin/ifconfig/ifconfig.8#8 integrate .. //depot/projects/mpsafetty/share/Makefile#3 integrate .. //depot/projects/mpsafetty/share/man/man4/Makefile#12 integrate .. //depot/projects/mpsafetty/share/man/man4/ae.4#1 branch .. //depot/projects/mpsafetty/share/man/man4/ata.4#3 integrate .. //depot/projects/mpsafetty/share/man/man4/bce.4#2 integrate .. //depot/projects/mpsafetty/share/man/man4/ddb.4#8 integrate .. //depot/projects/mpsafetty/share/man/man4/em.4#2 integrate .. //depot/projects/mpsafetty/share/man/man4/igb.4#1 branch .. //depot/projects/mpsafetty/share/man/man4/jme.4#2 integrate .. //depot/projects/mpsafetty/share/man/man4/mmc.4#2 integrate .. //depot/projects/mpsafetty/share/man/man4/ng_netflow.4#2 integrate .. //depot/projects/mpsafetty/share/man/man4/snd_hda.4#5 integrate .. //depot/projects/mpsafetty/share/man/man4/u3g.4#1 branch .. //depot/projects/mpsafetty/share/man/man4/vlan.4#2 integrate .. //depot/projects/mpsafetty/share/man/man4/vr.4#2 integrate .. //depot/projects/mpsafetty/share/man/man4/wpi.4#3 integrate .. //depot/projects/mpsafetty/share/man/man5/Makefile#2 integrate .. //depot/projects/mpsafetty/share/man/man5/nullfs.5#1 branch .. //depot/projects/mpsafetty/share/misc/committers-src.dot#7 integrate .. //depot/projects/mpsafetty/share/mk/bsd.kmod.mk#2 integrate .. //depot/projects/mpsafetty/sys/amd64/amd64/vm_machdep.c#3 integrate .. //depot/projects/mpsafetty/sys/amd64/conf/GENERIC#9 integrate .. //depot/projects/mpsafetty/sys/arm/at91/at91_mci.c#5 integrate .. //depot/projects/mpsafetty/sys/arm/at91/at91_spi.c#2 integrate .. //depot/projects/mpsafetty/sys/arm/at91/if_ate.c#3 integrate .. //depot/projects/mpsafetty/sys/arm/at91/uart_dev_at91usart.c#3 integrate .. //depot/projects/mpsafetty/sys/boot/arm/at91/boot2/boot2.c#2 integrate .. //depot/projects/mpsafetty/sys/boot/arm/at91/boot2/centipad_board.c#2 integrate .. //depot/projects/mpsafetty/sys/boot/arm/at91/boot2/kb920x_board.c#2 integrate .. //depot/projects/mpsafetty/sys/boot/arm/ixp425/Makefile.inc#1 branch .. //depot/projects/mpsafetty/sys/boot/arm/ixp425/boot2/Makefile#1 branch .. //depot/projects/mpsafetty/sys/boot/arm/ixp425/boot2/arm_init.S#1 branch .. //depot/projects/mpsafetty/sys/boot/arm/ixp425/boot2/boot2.c#1 branch .. //depot/projects/mpsafetty/sys/boot/arm/ixp425/boot2/cf_ata.h#1 branch .. //depot/projects/mpsafetty/sys/boot/arm/ixp425/boot2/ixp425_board.c#1 branch .. //depot/projects/mpsafetty/sys/boot/arm/ixp425/boot2/lib.h#1 branch .. //depot/projects/mpsafetty/sys/boot/forth/loader.conf#7 integrate .. //depot/projects/mpsafetty/sys/boot/i386/libi386/bootinfo64.c#2 integrate .. //depot/projects/mpsafetty/sys/boot/sparc64/loader/main.c#8 integrate .. //depot/projects/mpsafetty/sys/boot/uboot/lib/api_public.h#2 integrate .. //depot/projects/mpsafetty/sys/boot/uboot/lib/glue.c#3 integrate .. //depot/projects/mpsafetty/sys/boot/uboot/lib/glue.h#3 integrate .. //depot/projects/mpsafetty/sys/boot/uboot/lib/net.c#3 integrate .. //depot/projects/mpsafetty/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#4 integrate .. //depot/projects/mpsafetty/sys/compat/linprocfs/linprocfs.c#7 integrate .. //depot/projects/mpsafetty/sys/compat/linux/linux_misc.c#8 integrate .. //depot/projects/mpsafetty/sys/conf/NOTES#11 integrate .. //depot/projects/mpsafetty/sys/conf/files#17 integrate .. //depot/projects/mpsafetty/sys/conf/newvers.sh#4 integrate .. //depot/projects/mpsafetty/sys/contrib/pf/net/pf.c#5 integrate .. //depot/projects/mpsafetty/sys/dev/ae/if_ae.c#1 branch .. //depot/projects/mpsafetty/sys/dev/ae/if_aereg.h#1 branch .. //depot/projects/mpsafetty/sys/dev/ae/if_aevar.h#1 branch .. //depot/projects/mpsafetty/sys/dev/aha/aha_isa.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/aha/aha_mca.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/ata/ata-all.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/ata/ata-all.h#3 integrate .. //depot/projects/mpsafetty/sys/dev/ata/ata-chipset.c#9 delete .. //depot/projects/mpsafetty/sys/dev/ata/ata-dma.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/ata/ata-pci.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/ata/ata-pci.h#8 integrate .. //depot/projects/mpsafetty/sys/dev/ata/ata-sata.c#1 branch .. //depot/projects/mpsafetty/sys/dev/ata/chipsets/ata-acard.c#1 branch .. //depot/projects/mpsafetty/sys/dev/ata/chipsets/ata-acerlabs.c#1 branch .. //depot/projects/mpsafetty/sys/dev/ata/chipsets/ata-adaptec.c#1 branch .. //depot/projects/mpsafetty/sys/dev/ata/chipsets/ata-ahci.c#1 branch .. //depot/projects/mpsafetty/sys/dev/ata/chipsets/ata-amd.c#1 branch .. //depot/projects/mpsafetty/sys/dev/ata/chipsets/ata-ati.c#1 branch .. //depot/projects/mpsafetty/sys/dev/ata/chipsets/ata-cenatek.c#1 branch .. //depot/projects/mpsafetty/sys/dev/ata/chipsets/ata-cypress.c#1 branch .. //depot/projects/mpsafetty/sys/dev/ata/chipsets/ata-cyrix.c#1 branch .. //depot/projects/mpsafetty/sys/dev/ata/chipsets/ata-highpoint.c#1 branch .. //depot/projects/mpsafetty/sys/dev/ata/chipsets/ata-intel.c#1 branch .. //depot/projects/mpsafetty/sys/dev/ata/chipsets/ata-ite.c#1 branch .. //depot/projects/mpsafetty/sys/dev/ata/chipsets/ata-jmicron.c#1 branch .. //depot/projects/mpsafetty/sys/dev/ata/chipsets/ata-marvell.c#1 branch .. //depot/projects/mpsafetty/sys/dev/ata/chipsets/ata-micron.c#1 branch .. //depot/projects/mpsafetty/sys/dev/ata/chipsets/ata-national.c#1 branch .. //depot/projects/mpsafetty/sys/dev/ata/chipsets/ata-netcell.c#1 branch .. //depot/projects/mpsafetty/sys/dev/ata/chipsets/ata-nvidia.c#1 branch .. //depot/projects/mpsafetty/sys/dev/ata/chipsets/ata-promise.c#1 branch .. //depot/projects/mpsafetty/sys/dev/ata/chipsets/ata-serverworks.c#1 branch .. //depot/projects/mpsafetty/sys/dev/ata/chipsets/ata-siliconimage.c#1 branch .. //depot/projects/mpsafetty/sys/dev/ata/chipsets/ata-sis.c#1 branch .. //depot/projects/mpsafetty/sys/dev/ata/chipsets/ata-via.c#1 branch .. //depot/projects/mpsafetty/sys/dev/drm/drm.h#3 integrate .. //depot/projects/mpsafetty/sys/dev/drm/drmP.h#3 integrate .. //depot/projects/mpsafetty/sys/dev/drm/drm_agpsupport.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/drm/drm_atomic.h#2 integrate .. //depot/projects/mpsafetty/sys/dev/drm/drm_auth.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/drm/drm_bufs.c#4 integrate .. //depot/projects/mpsafetty/sys/dev/drm/drm_context.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/drm/drm_dma.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/drm/drm_drawable.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/drm/drm_drv.c#5 integrate .. //depot/projects/mpsafetty/sys/dev/drm/drm_fops.c#4 integrate .. //depot/projects/mpsafetty/sys/dev/drm/drm_ioctl.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/drm/drm_irq.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/drm/drm_lock.c#4 integrate .. //depot/projects/mpsafetty/sys/dev/drm/drm_memory.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/drm/drm_pci.c#4 integrate .. //depot/projects/mpsafetty/sys/dev/drm/drm_scatter.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/drm/drm_sysctl.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/drm/drm_vm.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/drm/i915_dma.c#4 integrate .. //depot/projects/mpsafetty/sys/dev/drm/i915_drm.h#3 integrate .. //depot/projects/mpsafetty/sys/dev/drm/i915_drv.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/drm/i915_drv.h#3 integrate .. //depot/projects/mpsafetty/sys/dev/drm/i915_irq.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/drm/i915_suspend.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/drm/mach64_drv.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/drm/mga_drv.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/drm/r128_drv.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/drm/radeon_cp.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/drm/radeon_drv.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/drm/savage_drv.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/drm/sis_drv.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/drm/tdfx_drv.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/hptiop/hptiop.h#2 integrate .. //depot/projects/mpsafetty/sys/dev/hwpmc/hwpmc_ppro.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/hwpmc/pmc_events.h#3 integrate .. //depot/projects/mpsafetty/sys/dev/if_ndis/if_ndis.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/if_ndis/if_ndisvar.h#2 integrate .. //depot/projects/mpsafetty/sys/dev/mii/atphy.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/mii/miidevs#4 integrate .. //depot/projects/mpsafetty/sys/dev/mmc/bridge.h#2 integrate .. //depot/projects/mpsafetty/sys/dev/mmc/mmc.c#4 integrate .. //depot/projects/mpsafetty/sys/dev/mmc/mmcbrvar.h#3 integrate .. //depot/projects/mpsafetty/sys/dev/mmc/mmcreg.h#4 integrate .. //depot/projects/mpsafetty/sys/dev/mmc/mmcsd.c#4 integrate .. //depot/projects/mpsafetty/sys/dev/mmc/mmcvar.h#4 integrate .. //depot/projects/mpsafetty/sys/dev/sio/sio.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/twa/tw_osl_freebsd.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/usb/ehci_pci.c#5 integrate .. //depot/projects/mpsafetty/sys/dev/usb/ohci_pci.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/usb/slhci_pccard.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/usb/u3g.c#1 branch .. //depot/projects/mpsafetty/sys/dev/usb/uark.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/usb/ubsa.c#5 integrate .. //depot/projects/mpsafetty/sys/dev/usb/ucom.c#7 integrate .. //depot/projects/mpsafetty/sys/dev/usb/uhci_pci.c#3 integrate .. //depot/projects/mpsafetty/sys/dev/usb/ukbd.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/usb/umass.c#5 integrate .. //depot/projects/mpsafetty/sys/dev/usb/umct.c#2 integrate .. //depot/projects/mpsafetty/sys/dev/usb/usbdevs#12 integrate .. //depot/projects/mpsafetty/sys/fs/cd9660/cd9660_node.c#2 integrate .. //depot/projects/mpsafetty/sys/fs/cd9660/cd9660_vfsops.c#2 integrate .. //depot/projects/mpsafetty/sys/fs/fdescfs/fdesc_vnops.c#4 integrate .. //depot/projects/mpsafetty/sys/fs/hpfs/hpfs_vfsops.c#2 integrate .. //depot/projects/mpsafetty/sys/fs/msdosfs/msdosfs_vfsops.c#2 integrate .. //depot/projects/mpsafetty/sys/fs/ntfs/ntfs_vfsops.c#2 integrate .. //depot/projects/mpsafetty/sys/fs/nwfs/nwfs_io.c#3 integrate .. //depot/projects/mpsafetty/sys/fs/portalfs/portal_vnops.c#4 integrate .. //depot/projects/mpsafetty/sys/fs/procfs/procfs_map.c#2 integrate .. //depot/projects/mpsafetty/sys/fs/smbfs/smbfs_io.c#3 integrate .. //depot/projects/mpsafetty/sys/fs/udf/udf_vfsops.c#2 integrate .. //depot/projects/mpsafetty/sys/geom/geom_vfs.c#2 integrate .. //depot/projects/mpsafetty/sys/geom/geom_vfs.h#2 integrate .. //depot/projects/mpsafetty/sys/gnu/fs/ext2fs/ext2_vfsops.c#3 integrate .. //depot/projects/mpsafetty/sys/gnu/fs/xfs/FreeBSD/xfs_buf.c#2 integrate .. //depot/projects/mpsafetty/sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c#3 integrate .. //depot/projects/mpsafetty/sys/gnu/fs/xfs/FreeBSD/xfs_super.c#2 integrate .. //depot/projects/mpsafetty/sys/i386/conf/GENERIC#10 integrate .. //depot/projects/mpsafetty/sys/i386/i386/vm_machdep.c#6 integrate .. //depot/projects/mpsafetty/sys/kern/imgact_elf.c#2 integrate .. //depot/projects/mpsafetty/sys/kern/subr_bus.c#2 integrate .. //depot/projects/mpsafetty/sys/kern/subr_firmware.c#2 integrate .. //depot/projects/mpsafetty/sys/kern/subr_witness.c#9 integrate .. //depot/projects/mpsafetty/sys/kern/sys_socket.c#2 integrate .. //depot/projects/mpsafetty/sys/kern/uipc_sockbuf.c#3 integrate .. //depot/projects/mpsafetty/sys/kern/uipc_socket.c#5 integrate .. //depot/projects/mpsafetty/sys/kern/uipc_usrreq.c#3 integrate .. //depot/projects/mpsafetty/sys/kern/vfs_bio.c#5 integrate .. //depot/projects/mpsafetty/sys/kern/vfs_mount.c#10 integrate .. //depot/projects/mpsafetty/sys/kern/vfs_subr.c#8 integrate .. //depot/projects/mpsafetty/sys/libkern/qdivrem.c#2 integrate .. //depot/projects/mpsafetty/sys/mips/mips/machdep.c#3 integrate .. //depot/projects/mpsafetty/sys/mips/mips/pmap.c#4 integrate .. //depot/projects/mpsafetty/sys/modules/Makefile#13 integrate .. //depot/projects/mpsafetty/sys/modules/ae/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/Makefile#2 integrate .. //depot/projects/mpsafetty/sys/modules/ata/ata/Makefile#2 delete .. //depot/projects/mpsafetty/sys/modules/ata/atacore/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atadevel/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atadevel/ata-devel.c#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atapci/Makefile#2 integrate .. //depot/projects/mpsafetty/sys/modules/ata/atapci/Makefile.inc#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atapci/chipsets/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atapci/chipsets/Makefile.inc#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atapci/chipsets/ataacard/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atapci/chipsets/ataacerlabs/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atapci/chipsets/ataadaptec/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atapci/chipsets/ataahci/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atapci/chipsets/ataamd/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atapci/chipsets/ataati/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atapci/chipsets/atacenatek/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atapci/chipsets/atacypress/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atapci/chipsets/atacyrix/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atapci/chipsets/atahighpoint/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atapci/chipsets/ataintel/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atapci/chipsets/ataite/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atapci/chipsets/atajmicron/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atapci/chipsets/atamarvell/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atapci/chipsets/atamicron/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atapci/chipsets/atanational/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atapci/chipsets/atanetcell/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atapci/chipsets/atanvidia/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atapci/chipsets/atapromise/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atapci/chipsets/ataserverworks/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atapci/chipsets/atasiliconimage/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atapci/chipsets/atasis/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ata/atapci/chipsets/atavia/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ehci/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/ohci/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/slhci/Makefile#2 integrate .. //depot/projects/mpsafetty/sys/modules/u3g/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/uhci/Makefile#1 branch .. //depot/projects/mpsafetty/sys/modules/usb/Makefile#3 integrate .. //depot/projects/mpsafetty/sys/modules/wpifw/Makefile#2 integrate .. //depot/projects/mpsafetty/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#4 integrate .. //depot/projects/mpsafetty/sys/netgraph/netflow/netflow.c#2 integrate .. //depot/projects/mpsafetty/sys/netgraph/netflow/ng_netflow.c#2 integrate .. //depot/projects/mpsafetty/sys/netgraph/netflow/ng_netflow.h#2 integrate .. //depot/projects/mpsafetty/sys/netinet/in_pcb.c#9 integrate .. //depot/projects/mpsafetty/sys/netinet/in_pcb.h#8 integrate .. //depot/projects/mpsafetty/sys/netinet/ip_fw.h#6 integrate .. //depot/projects/mpsafetty/sys/netinet/ip_fw2.c#11 integrate .. //depot/projects/mpsafetty/sys/netinet/raw_ip.c#8 integrate .. //depot/projects/mpsafetty/sys/netinet/tcp_input.c#9 integrate .. //depot/projects/mpsafetty/sys/netinet/tcp_subr.c#7 integrate .. //depot/projects/mpsafetty/sys/netinet/udp_usrreq.c#12 integrate .. //depot/projects/mpsafetty/sys/netinet6/in6_pcb.c#7 integrate .. //depot/projects/mpsafetty/sys/netinet6/udp6_usrreq.c#7 integrate .. //depot/projects/mpsafetty/sys/nfsclient/nfs_bio.c#3 integrate .. //depot/projects/mpsafetty/sys/sparc64/conf/GENERIC#9 integrate .. //depot/projects/mpsafetty/sys/sys/bufobj.h#2 integrate .. //depot/projects/mpsafetty/sys/sys/pmc.h#3 integrate .. //depot/projects/mpsafetty/sys/sys/un.h#2 integrate .. //depot/projects/mpsafetty/sys/sys/vnode.h#6 integrate .. //depot/projects/mpsafetty/sys/ufs/ffs/ffs_inode.c#3 integrate .. //depot/projects/mpsafetty/sys/ufs/ffs/ffs_vfsops.c#8 integrate .. //depot/projects/mpsafetty/sys/vm/vm_object.c#4 integrate .. //depot/projects/mpsafetty/tools/regression/netinet/udpzerobyte/Makefile#1 branch .. //depot/projects/mpsafetty/tools/regression/netinet/udpzerobyte/udpzerobyte.c#1 branch .. //depot/projects/mpsafetty/tools/regression/sockets/fstat/Makefile#1 branch .. //depot/projects/mpsafetty/tools/regression/sockets/fstat/fstat.c#1 branch .. //depot/projects/mpsafetty/tools/tools/nanobsd/nanobsd.sh#11 integrate .. //depot/projects/mpsafetty/usr.sbin/Makefile#10 integrate .. //depot/projects/mpsafetty/usr.sbin/gstat/gstat.8#2 integrate .. //depot/projects/mpsafetty/usr.sbin/gstat/gstat.c#2 integrate .. //depot/projects/mpsafetty/usr.sbin/nscd/agent.c#2 integrate .. //depot/projects/mpsafetty/usr.sbin/nscd/cachelib.c#2 integrate .. //depot/projects/mpsafetty/usr.sbin/nscd/cacheplcs.c#2 integrate .. //depot/projects/mpsafetty/usr.sbin/nscd/config.c#2 integrate .. //depot/projects/mpsafetty/usr.sbin/nscd/hashtable.h#2 integrate .. //depot/projects/mpsafetty/usr.sbin/nscd/mp_rs_query.c#2 integrate .. //depot/projects/mpsafetty/usr.sbin/nscd/mp_ws_query.c#2 integrate .. //depot/projects/mpsafetty/usr.sbin/nscd/nscd.c#2 integrate .. //depot/projects/mpsafetty/usr.sbin/nscd/nscdcli.c#2 integrate .. //depot/projects/mpsafetty/usr.sbin/nscd/query.c#2 integrate .. //depot/projects/mpsafetty/usr.sbin/pmcstat/pmcstat.8#3 integrate .. //depot/projects/mpsafetty/usr.sbin/pmcstat/pmcstat.c#3 integrate .. //depot/projects/mpsafetty/usr.sbin/sysinstall/devices.c#3 integrate Differences ... ==== //depot/projects/mpsafetty/UPDATING#11 (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/mpsafetty/etc/Makefile#3 (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/mpsafetty/etc/etc.mips/ttys#3 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/etc/etc.mips/ttys,v 1.3 2008/08/24 08:41:29 ed Exp $ +# $FreeBSD: src/etc/etc.mips/ttys,v 1.4 2008/10/12 06:58:03 imp Exp $ # @(#)ttys 5.1 (Berkeley) 4/17/89 # # This file specifies various information about terminals on the system. @@ -33,10 +33,10 @@ console none unknown off secure # Serial terminals # The 'dialup' keyword identifies dialin lines to login, fingerd etc. -ttyU0 "/usr/libexec/getty std.9600" dialup off secure -ttyU1 "/usr/libexec/getty std.9600" dialup off secure -ttyU2 "/usr/libexec/getty std.9600" dialup off secure -ttyU3 "/usr/libexec/getty std.9600" dialup off secure +ttyu0 "/usr/libexec/getty std.115200" dialup on secure +ttyu1 "/usr/libexec/getty std.115200" dialup off secure +ttyu2 "/usr/libexec/getty std.115200" dialup off secure +ttyu3 "/usr/libexec/getty std.115200" dialup off secure # Pseudo terminals ttyp0 none network ttyp1 none network ==== //depot/projects/mpsafetty/etc/mtree/BSD.usr.dist#3 (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/mpsafetty/games/fortune/datfiles/fortunes#5 (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/mpsafetty/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/mpsafetty/lib/libpmc/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libpmc/Makefile,v 1.11 2008/09/16 16:57:14 jkoshy Exp $ +# $FreeBSD: src/lib/libpmc/Makefile,v 1.12 2008/10/04 12:27:49 jkoshy Exp $ LIB= pmc @@ -24,6 +24,10 @@ MAN+= pmclog.3 # PMC-dependent manual pages +MAN+= pmc.atom.3 +MAN+= pmc.core.3 +MAN+= pmc.core2.3 +MAN+= pmc.iaf.3 MAN+= pmc.k7.3 MAN+= pmc.k8.3 MAN+= pmc.p4.3 ==== //depot/projects/mpsafetty/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: >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200810121229.m9CCTWXh042624>