svn commit: r192637 - in projects/pnet/sys: . amd64/amd64 amd64/conf amd64/include amd64/isa amd64/linux32 amd64/pci arm/arm arm/at91 arm/conf arm/include arm/xscale/ixp425 boot/forth boot/i386/zfs...

Robert Watson rwatson at FreeBSD.org
Sat May 23 13:44:39 UTC 2009


Author: rwatson
Date: Sat May 23 13:44:37 2009
New Revision: 192637
URL: http://svn.freebsd.org/changeset/base/192637

Log:
  Merge head/sys through r191381-r192635 to the pnet development branch.

Added:
  projects/pnet/sys/amd64/amd64/mca.c
     - copied unchanged from r192635, head/sys/amd64/amd64/mca.c
  projects/pnet/sys/amd64/include/mca.h
     - copied unchanged from r192635, head/sys/amd64/include/mca.h
  projects/pnet/sys/arm/at91/at91_cfata.c
     - copied unchanged from r192635, head/sys/arm/at91/at91_cfata.c
  projects/pnet/sys/cddl/contrib/opensolaris/common/atomic/amd64/opensolaris_atomic.S
     - copied unchanged from r192635, head/sys/cddl/contrib/opensolaris/common/atomic/amd64/opensolaris_atomic.S
  projects/pnet/sys/cddl/contrib/opensolaris/common/atomic/i386/opensolaris_atomic.S
     - copied unchanged from r192635, head/sys/cddl/contrib/opensolaris/common/atomic/i386/opensolaris_atomic.S
  projects/pnet/sys/cddl/contrib/opensolaris/common/atomic/ia64/opensolaris_atomic.S
     - copied unchanged from r192635, head/sys/cddl/contrib/opensolaris/common/atomic/ia64/opensolaris_atomic.S
  projects/pnet/sys/cddl/contrib/opensolaris/common/atomic/sparc64/opensolaris_atomic.S
     - copied unchanged from r192635, head/sys/cddl/contrib/opensolaris/common/atomic/sparc64/opensolaris_atomic.S
  projects/pnet/sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr.c
     - copied unchanged from r192635, head/sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr.c
  projects/pnet/sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr_array.c
     - copied unchanged from r192635, head/sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr_array.c
  projects/pnet/sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr_mem.c
     - copied unchanged from r192635, head/sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr_mem.c
  projects/pnet/sys/cddl/contrib/opensolaris/uts/common/zmod/opensolaris_crc32.c
     - copied unchanged from r192635, head/sys/cddl/contrib/opensolaris/uts/common/zmod/opensolaris_crc32.c
  projects/pnet/sys/contrib/dev/iwi/Makefile
     - copied unchanged from r192635, head/sys/contrib/dev/iwi/Makefile
  projects/pnet/sys/dev/bwi/
     - copied from r192635, head/sys/dev/bwi/
  projects/pnet/sys/dev/usb/controller/avr32dci.c
     - copied unchanged from r192635, head/sys/dev/usb/controller/avr32dci.c
  projects/pnet/sys/dev/usb/controller/avr32dci.h
     - copied unchanged from r192635, head/sys/dev/usb/controller/avr32dci.h
  projects/pnet/sys/dev/usb/wlan/if_upgt.c
     - copied unchanged from r192635, head/sys/dev/usb/wlan/if_upgt.c
  projects/pnet/sys/dev/usb/wlan/if_upgtvar.h
     - copied unchanged from r192635, head/sys/dev/usb/wlan/if_upgtvar.h
  projects/pnet/sys/fs/nfs/
     - copied from r192635, head/sys/fs/nfs/
  projects/pnet/sys/fs/nfsclient/
     - copied from r192635, head/sys/fs/nfsclient/
  projects/pnet/sys/fs/nfsserver/
     - copied from r192635, head/sys/fs/nfsserver/
  projects/pnet/sys/i386/i386/mca.c
     - copied unchanged from r192635, head/sys/i386/i386/mca.c
  projects/pnet/sys/i386/include/mca.h
     - copied unchanged from r192635, head/sys/i386/include/mca.h
  projects/pnet/sys/modules/bwi/
     - copied from r192635, head/sys/modules/bwi/
  projects/pnet/sys/modules/usb/upgt/
     - copied from r192635, head/sys/modules/usb/upgt/
  projects/pnet/sys/net/if_dead.c
     - copied unchanged from r192635, head/sys/net/if_dead.c
  projects/pnet/sys/net80211/ieee80211_radiotap.c
     - copied unchanged from r192635, head/sys/net80211/ieee80211_radiotap.c
  projects/pnet/sys/netinet6/in6_mcast.c
     - copied unchanged from r192635, head/sys/netinet6/in6_mcast.c
  projects/pnet/sys/netinet6/mld6.h
     - copied unchanged from r192635, head/sys/netinet6/mld6.h
  projects/pnet/sys/pc98/include/mca.h
     - copied unchanged from r192635, head/sys/pc98/include/mca.h
  projects/pnet/sys/powerpc/aim/platform_chrp.c
     - copied unchanged from r192635, head/sys/powerpc/aim/platform_chrp.c
  projects/pnet/sys/powerpc/booke/mp_cpudep.c
     - copied unchanged from r192635, head/sys/powerpc/booke/mp_cpudep.c
  projects/pnet/sys/powerpc/booke/platform_bare.c
     - copied unchanged from r192635, head/sys/powerpc/booke/platform_bare.c
  projects/pnet/sys/powerpc/include/platform.h
     - copied unchanged from r192635, head/sys/powerpc/include/platform.h
  projects/pnet/sys/powerpc/include/platformvar.h
     - copied unchanged from r192635, head/sys/powerpc/include/platformvar.h
  projects/pnet/sys/powerpc/mpc85xx/atpic.c
     - copied unchanged from r192635, head/sys/powerpc/mpc85xx/atpic.c
  projects/pnet/sys/powerpc/mpc85xx/isa.c
     - copied unchanged from r192635, head/sys/powerpc/mpc85xx/isa.c
  projects/pnet/sys/powerpc/powerpc/platform.c
     - copied unchanged from r192635, head/sys/powerpc/powerpc/platform.c
  projects/pnet/sys/powerpc/powerpc/platform_if.m
     - copied unchanged from r192635, head/sys/powerpc/powerpc/platform_if.m
Deleted:
  projects/pnet/sys/cddl/contrib/opensolaris/common/atomic/amd64/atomic.S
  projects/pnet/sys/cddl/contrib/opensolaris/common/atomic/i386/atomic.S
  projects/pnet/sys/cddl/contrib/opensolaris/common/atomic/ia64/atomic.S
  projects/pnet/sys/cddl/contrib/opensolaris/common/atomic/sparc64/atomic.S
  projects/pnet/sys/cddl/contrib/opensolaris/uts/common/rpc/xdr.c
  projects/pnet/sys/cddl/contrib/opensolaris/uts/common/rpc/xdr_array.c
  projects/pnet/sys/cddl/contrib/opensolaris/uts/common/rpc/xdr_mem.c
  projects/pnet/sys/cddl/contrib/opensolaris/uts/common/zmod/crc32.c
  projects/pnet/sys/cddl/dev/dtnfsclient/
  projects/pnet/sys/compat/svr4/svr4_ttold.c
  projects/pnet/sys/compat/svr4/svr4_ttold.h
  projects/pnet/sys/dev/usb/README.TXT
  projects/pnet/sys/dev/usb/wlan/usb_wlan.h
  projects/pnet/sys/gnu/fs/xfs/FreeBSD/xfsdmapistubs.c
  projects/pnet/sys/gnu/fs/xfs/FreeBSD/xfsquotasstubs.c
  projects/pnet/sys/gnu/fs/xfs/FreeBSD/xfsrtstubs.c
  projects/pnet/sys/legacy/dev/usb/if_upgt.c
  projects/pnet/sys/legacy/dev/usb/if_upgtvar.h
  projects/pnet/sys/legacy/dev/usb/usb_ethersubr.c
  projects/pnet/sys/legacy/dev/usb/usb_ethersubr.h
  projects/pnet/sys/modules/ata/ata/
  projects/pnet/sys/modules/nfs4client/
  projects/pnet/sys/nfs4client/
  projects/pnet/sys/powerpc/include/powerpc.h
  projects/pnet/sys/rpc/rpcclnt.c
  projects/pnet/sys/rpc/rpcclnt.h
Modified:
  projects/pnet/sys/   (props changed)
  projects/pnet/sys/Makefile
  projects/pnet/sys/amd64/amd64/busdma_machdep.c
  projects/pnet/sys/amd64/amd64/identcpu.c
  projects/pnet/sys/amd64/amd64/local_apic.c
  projects/pnet/sys/amd64/amd64/machdep.c
  projects/pnet/sys/amd64/amd64/mp_machdep.c
  projects/pnet/sys/amd64/amd64/pmap.c
  projects/pnet/sys/amd64/amd64/trap.c
  projects/pnet/sys/amd64/conf/DEFAULTS
  projects/pnet/sys/amd64/conf/GENERIC
  projects/pnet/sys/amd64/conf/GENERIC.hints
  projects/pnet/sys/amd64/conf/NOTES
  projects/pnet/sys/amd64/conf/XENHVM
  projects/pnet/sys/amd64/include/apicvar.h
  projects/pnet/sys/amd64/include/clock.h
  projects/pnet/sys/amd64/include/param.h
  projects/pnet/sys/amd64/include/pcpu.h
  projects/pnet/sys/amd64/include/smp.h
  projects/pnet/sys/amd64/include/specialreg.h
  projects/pnet/sys/amd64/include/vmparam.h
  projects/pnet/sys/amd64/isa/clock.c
  projects/pnet/sys/amd64/linux32/linux.h
  projects/pnet/sys/amd64/linux32/linux32_sysvec.c
  projects/pnet/sys/amd64/pci/pci_cfgreg.c
  projects/pnet/sys/arm/arm/busdma_machdep.c
  projects/pnet/sys/arm/arm/cpufunc.c
  projects/pnet/sys/arm/arm/machdep.c
  projects/pnet/sys/arm/arm/pmap.c
  projects/pnet/sys/arm/at91/at91.c
  projects/pnet/sys/arm/at91/at91_machdep.c
  projects/pnet/sys/arm/at91/at91_spi.c
  projects/pnet/sys/arm/at91/at91rm92reg.h
  projects/pnet/sys/arm/at91/files.at91
  projects/pnet/sys/arm/at91/if_ate.c
  projects/pnet/sys/arm/conf/AVILA
  projects/pnet/sys/arm/conf/BWCT
  projects/pnet/sys/arm/conf/CAMBRIA
  projects/pnet/sys/arm/conf/CRB
  projects/pnet/sys/arm/conf/DB-78XXX
  projects/pnet/sys/arm/conf/DB-88F5XXX
  projects/pnet/sys/arm/conf/DB-88F6XXX
  projects/pnet/sys/arm/conf/EP80219
  projects/pnet/sys/arm/conf/GUMSTIX
  projects/pnet/sys/arm/conf/HL200
  projects/pnet/sys/arm/conf/IQ31244
  projects/pnet/sys/arm/conf/KB920X
  projects/pnet/sys/arm/conf/NSLU
  projects/pnet/sys/arm/conf/NSLU.hints
  projects/pnet/sys/arm/conf/SIMICS
  projects/pnet/sys/arm/conf/SKYEYE
  projects/pnet/sys/arm/include/pmap.h
  projects/pnet/sys/arm/xscale/ixp425/std.ixp435   (props changed)
  projects/pnet/sys/boot/forth/loader.conf
  projects/pnet/sys/boot/i386/zfsboot/zfsboot.c
  projects/pnet/sys/boot/uboot/lib/devicename.c
  projects/pnet/sys/boot/uboot/lib/disk.c
  projects/pnet/sys/boot/uboot/lib/libuboot.h
  projects/pnet/sys/boot/zfs/zfsimpl.c
  projects/pnet/sys/cam/cam_periph.c
  projects/pnet/sys/cam/scsi/scsi_pass.c
  projects/pnet/sys/cam/scsi/scsi_sg.c
  projects/pnet/sys/cddl/boot/zfs/README
  projects/pnet/sys/cddl/boot/zfs/zfsimpl.h
  projects/pnet/sys/cddl/boot/zfs/zfssubr.c   (contents, props changed)
  projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris.c
  projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris_lookup.c
  projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris_misc.c
  projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c
  projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris_zone.c
  projects/pnet/sys/cddl/compat/opensolaris/sys/mutex.h
  projects/pnet/sys/cddl/compat/opensolaris/sys/rwlock.h
  projects/pnet/sys/cddl/compat/opensolaris/sys/vnode.h
  projects/pnet/sys/cddl/contrib/opensolaris/common/acl/acl_common.c
  projects/pnet/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c
  projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/vnode.c
  projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
  projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c
  projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c
  projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
  projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
  projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c
  projects/pnet/sys/cddl/contrib/opensolaris/uts/common/sys/vnode.h
  projects/pnet/sys/compat/freebsd32/freebsd32_misc.c
  projects/pnet/sys/compat/freebsd32/freebsd32_proto.h
  projects/pnet/sys/compat/freebsd32/freebsd32_syscall.h
  projects/pnet/sys/compat/freebsd32/freebsd32_syscalls.c
  projects/pnet/sys/compat/freebsd32/freebsd32_sysent.c
  projects/pnet/sys/compat/freebsd32/syscalls.master
  projects/pnet/sys/compat/linux/linux_futex.c
  projects/pnet/sys/compat/linux/linux_futex.h
  projects/pnet/sys/compat/linux/linux_ioctl.c
  projects/pnet/sys/compat/linux/linux_mib.c
  projects/pnet/sys/compat/linux/linux_mib.h
  projects/pnet/sys/compat/linux/linux_misc.c
  projects/pnet/sys/compat/linux/linux_misc.h
  projects/pnet/sys/compat/linux/linux_socket.c
  projects/pnet/sys/compat/linux/linux_socket.h
  projects/pnet/sys/compat/linux/linux_stats.c
  projects/pnet/sys/compat/linux/linux_util.h
  projects/pnet/sys/compat/ndis/kern_windrv.c
  projects/pnet/sys/compat/ndis/subr_ndis.c
  projects/pnet/sys/compat/svr4/svr4_ioctl.c
  projects/pnet/sys/compat/svr4/svr4_ioctl.h
  projects/pnet/sys/compat/svr4/svr4_misc.c
  projects/pnet/sys/compat/svr4/svr4_proto.h
  projects/pnet/sys/compat/svr4/svr4_stat.c
  projects/pnet/sys/compat/svr4/svr4_syscall.h
  projects/pnet/sys/compat/svr4/svr4_syscallnames.c
  projects/pnet/sys/compat/svr4/svr4_sysent.c
  projects/pnet/sys/conf/NOTES
  projects/pnet/sys/conf/files
  projects/pnet/sys/conf/files.amd64
  projects/pnet/sys/conf/files.i386
  projects/pnet/sys/conf/files.pc98
  projects/pnet/sys/conf/files.powerpc
  projects/pnet/sys/conf/kern.post.mk
  projects/pnet/sys/conf/options
  projects/pnet/sys/contrib/altq/altq/altq_subr.c
  projects/pnet/sys/contrib/dev/acpica/   (props changed)
  projects/pnet/sys/contrib/dev/iwi/ipw2200-bss.fw.uu
  projects/pnet/sys/contrib/dev/iwi/ipw2200-ibss.fw.uu
  projects/pnet/sys/contrib/dev/iwi/ipw2200-sniffer.fw.uu
  projects/pnet/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c
  projects/pnet/sys/dev/aac/aac.c
  projects/pnet/sys/dev/acpi_support/acpi_ibm.c
  projects/pnet/sys/dev/acpi_support/acpi_sony.c
  projects/pnet/sys/dev/acpica/acpi.c
  projects/pnet/sys/dev/acpica/acpi_cpu.c
  projects/pnet/sys/dev/age/if_age.c
  projects/pnet/sys/dev/aic/aic.c
  projects/pnet/sys/dev/amr/amr.c
  projects/pnet/sys/dev/amr/amr_linux.c
  projects/pnet/sys/dev/arcmsr/arcmsr.c
  projects/pnet/sys/dev/asr/asr.c
  projects/pnet/sys/dev/ata/ata-all.h
  projects/pnet/sys/dev/ata/ata-disk.c
  projects/pnet/sys/dev/ata/ata-pci.c
  projects/pnet/sys/dev/ata/ata-pci.h
  projects/pnet/sys/dev/ata/ata-queue.c
  projects/pnet/sys/dev/ata/ata-sata.c
  projects/pnet/sys/dev/ata/ata-usb.c
  projects/pnet/sys/dev/ata/atapi-cam.c
  projects/pnet/sys/dev/ata/atapi-tape.c
  projects/pnet/sys/dev/ata/chipsets/ata-acard.c
  projects/pnet/sys/dev/ata/chipsets/ata-ahci.c
  projects/pnet/sys/dev/ata/chipsets/ata-ati.c
  projects/pnet/sys/dev/ata/chipsets/ata-promise.c
  projects/pnet/sys/dev/ata/chipsets/ata-siliconimage.c
  projects/pnet/sys/dev/ath/ah_osdep.c
  projects/pnet/sys/dev/ath/ah_osdep.h
  projects/pnet/sys/dev/ath/ath_hal/ah.c
  projects/pnet/sys/dev/ath/ath_hal/ah.h
  projects/pnet/sys/dev/ath/ath_hal/ah_internal.h
  projects/pnet/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c
  projects/pnet/sys/dev/ath/ath_hal/ar5210/ar5210_interrupts.c
  projects/pnet/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c
  projects/pnet/sys/dev/ath/ath_hal/ar5211/ar5211_interrupts.c
  projects/pnet/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c
  projects/pnet/sys/dev/ath/ath_hal/ar5212/ar5212_interrupts.c
  projects/pnet/sys/dev/ath/ath_hal/ar5212/ar5212reg.h
  projects/pnet/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c
  projects/pnet/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c
  projects/pnet/sys/dev/ath/if_ath.c
  projects/pnet/sys/dev/ath/if_ath_pci.c
  projects/pnet/sys/dev/ath/if_athvar.h
  projects/pnet/sys/dev/bce/if_bce.c
  projects/pnet/sys/dev/bce/if_bcereg.h
  projects/pnet/sys/dev/bge/if_bge.c
  projects/pnet/sys/dev/ciss/ciss.c
  projects/pnet/sys/dev/cxgb/common/cxgb_ael1002.c
  projects/pnet/sys/dev/cxgb/common/cxgb_common.h
  projects/pnet/sys/dev/cxgb/common/cxgb_t3_hw.c
  projects/pnet/sys/dev/cxgb/cxgb_adapter.h
  projects/pnet/sys/dev/cxgb/cxgb_main.c
  projects/pnet/sys/dev/cxgb/cxgb_multiq.c
  projects/pnet/sys/dev/cxgb/cxgb_sge.c
  projects/pnet/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c
  projects/pnet/sys/dev/e1000/if_em.c
  projects/pnet/sys/dev/e1000/if_em.h
  projects/pnet/sys/dev/e1000/if_igb.c
  projects/pnet/sys/dev/ed/if_ed.c
  projects/pnet/sys/dev/ed/if_ed_pccard.c
  projects/pnet/sys/dev/ep/if_ep.c
  projects/pnet/sys/dev/fb/creator.c
  projects/pnet/sys/dev/flash/at45d.c
  projects/pnet/sys/dev/if_ndis/if_ndis.c
  projects/pnet/sys/dev/if_ndis/if_ndis_usb.c
  projects/pnet/sys/dev/if_ndis/if_ndisvar.h
  projects/pnet/sys/dev/iir/iir_ctrl.c
  projects/pnet/sys/dev/iir/iir_pci.c
  projects/pnet/sys/dev/ipw/if_ipw.c
  projects/pnet/sys/dev/ipw/if_ipwvar.h
  projects/pnet/sys/dev/isp/isp_freebsd.c
  projects/pnet/sys/dev/iwi/if_iwi.c
  projects/pnet/sys/dev/iwi/if_iwivar.h
  projects/pnet/sys/dev/iwn/if_iwn.c
  projects/pnet/sys/dev/iwn/if_iwnvar.h
  projects/pnet/sys/dev/ixgb/if_ixgb.c
  projects/pnet/sys/dev/lge/if_lge.c
  projects/pnet/sys/dev/lmc/if_lmc.c
  projects/pnet/sys/dev/malo/if_malo.c
  projects/pnet/sys/dev/malo/if_malo.h
  projects/pnet/sys/dev/malo/if_malo_pci.c
  projects/pnet/sys/dev/md/md.c
  projects/pnet/sys/dev/mfi/mfi.c
  projects/pnet/sys/dev/mfi/mfi_linux.c
  projects/pnet/sys/dev/mpt/mpt_raid.c
  projects/pnet/sys/dev/mpt/mpt_user.c
  projects/pnet/sys/dev/mxge/if_mxge.c
  projects/pnet/sys/dev/mxge/if_mxge_var.h
  projects/pnet/sys/dev/nge/if_nge.c
  projects/pnet/sys/dev/nge/if_ngereg.h
  projects/pnet/sys/dev/nve/if_nve.c
  projects/pnet/sys/dev/pccard/pccarddevs
  projects/pnet/sys/dev/ral/rt2560.c
  projects/pnet/sys/dev/ral/rt2560var.h
  projects/pnet/sys/dev/ral/rt2661.c
  projects/pnet/sys/dev/ral/rt2661var.h
  projects/pnet/sys/dev/rp/rp.c
  projects/pnet/sys/dev/rp/rp_pci.c
  projects/pnet/sys/dev/rp/rpreg.h
  projects/pnet/sys/dev/sk/if_sk.c
  projects/pnet/sys/dev/snp/snp.c
  projects/pnet/sys/dev/sound/midi/midi.c
  projects/pnet/sys/dev/sound/pci/emu10kx-midi.c
  projects/pnet/sys/dev/sound/pci/ich.c
  projects/pnet/sys/dev/sound/pci/via82c686.h
  projects/pnet/sys/dev/sound/sbus/cs4231.h
  projects/pnet/sys/dev/sound/usb/uaudio.c
  projects/pnet/sys/dev/sound/usb/uaudioreg.h
  projects/pnet/sys/dev/spibus/spibus.c
  projects/pnet/sys/dev/syscons/syscons.c
  projects/pnet/sys/dev/twa/tw_osl_freebsd.c
  projects/pnet/sys/dev/twe/twe_freebsd.c
  projects/pnet/sys/dev/ubsec/ubsec.c
  projects/pnet/sys/dev/ubsec/ubsecreg.h
  projects/pnet/sys/dev/usb/bluetooth/ng_ubt.c
  projects/pnet/sys/dev/usb/bluetooth/ubtbcmfw.c
  projects/pnet/sys/dev/usb/controller/at91dci.c
  projects/pnet/sys/dev/usb/controller/at91dci.h
  projects/pnet/sys/dev/usb/controller/atmegadci.c
  projects/pnet/sys/dev/usb/controller/atmegadci.h
  projects/pnet/sys/dev/usb/controller/ehci.c
  projects/pnet/sys/dev/usb/controller/ehci.h
  projects/pnet/sys/dev/usb/controller/musb_otg.c
  projects/pnet/sys/dev/usb/controller/musb_otg.h
  projects/pnet/sys/dev/usb/controller/ohci.c
  projects/pnet/sys/dev/usb/controller/ohci.h
  projects/pnet/sys/dev/usb/controller/uhci.c
  projects/pnet/sys/dev/usb/controller/uhci.h
  projects/pnet/sys/dev/usb/controller/usb_controller.c
  projects/pnet/sys/dev/usb/controller/uss820dci.c
  projects/pnet/sys/dev/usb/controller/uss820dci.h
  projects/pnet/sys/dev/usb/controller/uss820dci_atmelarm.c
  projects/pnet/sys/dev/usb/input/uhid.c
  projects/pnet/sys/dev/usb/input/ukbd.c
  projects/pnet/sys/dev/usb/input/ums.c
  projects/pnet/sys/dev/usb/misc/udbp.c
  projects/pnet/sys/dev/usb/misc/ufm.c
  projects/pnet/sys/dev/usb/net/if_aue.c
  projects/pnet/sys/dev/usb/net/if_axe.c
  projects/pnet/sys/dev/usb/net/if_cdce.c
  projects/pnet/sys/dev/usb/net/if_cue.c
  projects/pnet/sys/dev/usb/net/if_kue.c
  projects/pnet/sys/dev/usb/net/if_rue.c
  projects/pnet/sys/dev/usb/net/if_udav.c
  projects/pnet/sys/dev/usb/net/usb_ethernet.c
  projects/pnet/sys/dev/usb/net/usb_ethernet.h
  projects/pnet/sys/dev/usb/serial/u3g.c
  projects/pnet/sys/dev/usb/serial/uark.c
  projects/pnet/sys/dev/usb/serial/ubsa.c
  projects/pnet/sys/dev/usb/serial/ubser.c
  projects/pnet/sys/dev/usb/serial/uchcom.c
  projects/pnet/sys/dev/usb/serial/ucycom.c
  projects/pnet/sys/dev/usb/serial/ufoma.c
  projects/pnet/sys/dev/usb/serial/uftdi.c
  projects/pnet/sys/dev/usb/serial/ugensa.c
  projects/pnet/sys/dev/usb/serial/uipaq.c
  projects/pnet/sys/dev/usb/serial/ulpt.c
  projects/pnet/sys/dev/usb/serial/umct.c
  projects/pnet/sys/dev/usb/serial/umodem.c
  projects/pnet/sys/dev/usb/serial/umoscom.c
  projects/pnet/sys/dev/usb/serial/uplcom.c
  projects/pnet/sys/dev/usb/serial/usb_serial.c
  projects/pnet/sys/dev/usb/serial/uslcom.c
  projects/pnet/sys/dev/usb/serial/uvisor.c
  projects/pnet/sys/dev/usb/serial/uvscom.c
  projects/pnet/sys/dev/usb/storage/umass.c
  projects/pnet/sys/dev/usb/storage/urio.c
  projects/pnet/sys/dev/usb/storage/ustorage_fs.c
  projects/pnet/sys/dev/usb/template/usb_template.c
  projects/pnet/sys/dev/usb/usb_bus.h
  projects/pnet/sys/dev/usb/usb_busdma.c
  projects/pnet/sys/dev/usb/usb_compat_linux.c
  projects/pnet/sys/dev/usb/usb_compat_linux.h
  projects/pnet/sys/dev/usb/usb_controller.h
  projects/pnet/sys/dev/usb/usb_core.h
  projects/pnet/sys/dev/usb/usb_debug.c
  projects/pnet/sys/dev/usb/usb_debug.h
  projects/pnet/sys/dev/usb/usb_dev.c
  projects/pnet/sys/dev/usb/usb_device.c
  projects/pnet/sys/dev/usb/usb_device.h
  projects/pnet/sys/dev/usb/usb_dynamic.c
  projects/pnet/sys/dev/usb/usb_dynamic.h
  projects/pnet/sys/dev/usb/usb_generic.c
  projects/pnet/sys/dev/usb/usb_handle_request.c
  projects/pnet/sys/dev/usb/usb_hid.c
  projects/pnet/sys/dev/usb/usb_hub.c
  projects/pnet/sys/dev/usb/usb_hub.h
  projects/pnet/sys/dev/usb/usb_process.c
  projects/pnet/sys/dev/usb/usb_request.c
  projects/pnet/sys/dev/usb/usb_request.h
  projects/pnet/sys/dev/usb/usb_revision.h
  projects/pnet/sys/dev/usb/usb_transfer.c
  projects/pnet/sys/dev/usb/usb_transfer.h
  projects/pnet/sys/dev/usb/usbdevs
  projects/pnet/sys/dev/usb/wlan/if_rum.c
  projects/pnet/sys/dev/usb/wlan/if_rumvar.h
  projects/pnet/sys/dev/usb/wlan/if_uath.c
  projects/pnet/sys/dev/usb/wlan/if_uathvar.h
  projects/pnet/sys/dev/usb/wlan/if_ural.c
  projects/pnet/sys/dev/usb/wlan/if_uralvar.h
  projects/pnet/sys/dev/usb/wlan/if_zyd.c
  projects/pnet/sys/dev/usb/wlan/if_zydreg.h
  projects/pnet/sys/dev/vge/if_vge.c
  projects/pnet/sys/dev/wi/if_wi.c
  projects/pnet/sys/dev/wi/if_wireg.h
  projects/pnet/sys/dev/wi/if_wivar.h
  projects/pnet/sys/dev/wpi/if_wpi.c
  projects/pnet/sys/dev/wpi/if_wpivar.h
  projects/pnet/sys/dev/xen/console/console.c
  projects/pnet/sys/dev/xen/console/xencons_ring.c
  projects/pnet/sys/dev/xen/console/xencons_ring.h
  projects/pnet/sys/dev/xen/netfront/   (props changed)
  projects/pnet/sys/dev/xen/netfront/netfront.c
  projects/pnet/sys/dev/xen/xenpci/   (props changed)
  projects/pnet/sys/dev/xl/if_xl.c
  projects/pnet/sys/fs/cd9660/cd9660_vfsops.c
  projects/pnet/sys/fs/coda/coda_vfsops.c
  projects/pnet/sys/fs/devfs/devfs.h
  projects/pnet/sys/fs/devfs/devfs_vfsops.c
  projects/pnet/sys/fs/devfs/devfs_vnops.c
  projects/pnet/sys/fs/fdescfs/fdesc.h
  projects/pnet/sys/fs/fdescfs/fdesc_vfsops.c
  projects/pnet/sys/fs/fdescfs/fdesc_vnops.c
  projects/pnet/sys/fs/hpfs/hpfs_vfsops.c
  projects/pnet/sys/fs/msdosfs/msdosfs_vfsops.c
  projects/pnet/sys/fs/ntfs/ntfs_vfsops.c
  projects/pnet/sys/fs/nullfs/null_vfsops.c
  projects/pnet/sys/fs/nwfs/nwfs_vfsops.c
  projects/pnet/sys/fs/portalfs/portal_vfsops.c
  projects/pnet/sys/fs/pseudofs/pseudofs.c
  projects/pnet/sys/fs/pseudofs/pseudofs.h
  projects/pnet/sys/fs/smbfs/smbfs_io.c
  projects/pnet/sys/fs/smbfs/smbfs_vfsops.c
  projects/pnet/sys/fs/tmpfs/tmpfs.h
  projects/pnet/sys/fs/tmpfs/tmpfs_subr.c
  projects/pnet/sys/fs/tmpfs/tmpfs_vfsops.c
  projects/pnet/sys/fs/tmpfs/tmpfs_vnops.c
  projects/pnet/sys/fs/udf/udf_vfsops.c
  projects/pnet/sys/fs/unionfs/union_vfsops.c
  projects/pnet/sys/geom/concat/g_concat.c
  projects/pnet/sys/geom/journal/g_journal.c
  projects/pnet/sys/geom/vinum/geom_vinum.c
  projects/pnet/sys/geom/vinum/geom_vinum.h
  projects/pnet/sys/geom/vinum/geom_vinum_events.c
  projects/pnet/sys/geom/vinum/geom_vinum_plex.c
  projects/pnet/sys/geom/vinum/geom_vinum_raid5.c
  projects/pnet/sys/geom/vinum/geom_vinum_rm.c
  projects/pnet/sys/geom/vinum/geom_vinum_subr.c
  projects/pnet/sys/geom/vinum/geom_vinum_var.h
  projects/pnet/sys/gnu/fs/ext2fs/ext2_vfsops.c
  projects/pnet/sys/gnu/fs/reiserfs/reiserfs_vfsops.c
  projects/pnet/sys/gnu/fs/xfs/FreeBSD/support/debug.h
  projects/pnet/sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c
  projects/pnet/sys/i386/acpica/acpi_machdep.c
  projects/pnet/sys/i386/bios/apm.c
  projects/pnet/sys/i386/bios/smapi.c
  projects/pnet/sys/i386/conf/DEFAULTS
  projects/pnet/sys/i386/conf/GENERIC
  projects/pnet/sys/i386/conf/GENERIC.hints
  projects/pnet/sys/i386/conf/NOTES
  projects/pnet/sys/i386/conf/PAE
  projects/pnet/sys/i386/conf/XBOX
  projects/pnet/sys/i386/conf/XEN
  projects/pnet/sys/i386/cpufreq/hwpstate.c
  projects/pnet/sys/i386/i386/busdma_machdep.c
  projects/pnet/sys/i386/i386/identcpu.c
  projects/pnet/sys/i386/i386/local_apic.c
  projects/pnet/sys/i386/i386/machdep.c
  projects/pnet/sys/i386/i386/mp_machdep.c
  projects/pnet/sys/i386/i386/pmap.c
  projects/pnet/sys/i386/i386/trap.c
  projects/pnet/sys/i386/ibcs2/ibcs2_ioctl.c
  projects/pnet/sys/i386/ibcs2/ibcs2_isc_syscall.h
  projects/pnet/sys/i386/ibcs2/ibcs2_isc_sysent.c
  projects/pnet/sys/i386/ibcs2/ibcs2_proto.h
  projects/pnet/sys/i386/ibcs2/ibcs2_socksys.c
  projects/pnet/sys/i386/ibcs2/ibcs2_syscall.h
  projects/pnet/sys/i386/ibcs2/ibcs2_sysent.c
  projects/pnet/sys/i386/ibcs2/ibcs2_xenix.h
  projects/pnet/sys/i386/ibcs2/ibcs2_xenix_syscall.h
  projects/pnet/sys/i386/ibcs2/ibcs2_xenix_sysent.c
  projects/pnet/sys/i386/ibcs2/syscalls.master
  projects/pnet/sys/i386/include/apicvar.h
  projects/pnet/sys/i386/include/clock.h
  projects/pnet/sys/i386/include/param.h
  projects/pnet/sys/i386/include/smp.h
  projects/pnet/sys/i386/include/specialreg.h
  projects/pnet/sys/i386/isa/clock.c
  projects/pnet/sys/i386/linux/linux.h
  projects/pnet/sys/i386/linux/linux_sysvec.c
  projects/pnet/sys/i386/pci/pci_cfgreg.c
  projects/pnet/sys/i386/xen/clock.c
  projects/pnet/sys/i386/xen/mp_machdep.c
  projects/pnet/sys/ia64/conf/DEFAULTS
  projects/pnet/sys/ia64/conf/NOTES
  projects/pnet/sys/ia64/ia64/elf_machdep.c
  projects/pnet/sys/ia64/ia64/machdep.c
  projects/pnet/sys/ia64/ia64/pmap.c
  projects/pnet/sys/ia64/include/md_var.h
  projects/pnet/sys/ia64/isa/isa.c
  projects/pnet/sys/isa/atrtc.c
  projects/pnet/sys/isa/rtc.h
  projects/pnet/sys/kern/init_main.c
  projects/pnet/sys/kern/init_sysent.c
  projects/pnet/sys/kern/kern_acct.c
  projects/pnet/sys/kern/kern_clock.c
  projects/pnet/sys/kern/kern_conf.c
  projects/pnet/sys/kern/kern_cpuset.c
  projects/pnet/sys/kern/kern_descrip.c
  projects/pnet/sys/kern/kern_exit.c
  projects/pnet/sys/kern/kern_fork.c
  projects/pnet/sys/kern/kern_jail.c
  projects/pnet/sys/kern/kern_linker.c
  projects/pnet/sys/kern/kern_lock.c
  projects/pnet/sys/kern/kern_malloc.c
  projects/pnet/sys/kern/kern_mib.c
  projects/pnet/sys/kern/kern_mutex.c
  projects/pnet/sys/kern/kern_osd.c
  projects/pnet/sys/kern/kern_poll.c
  projects/pnet/sys/kern/kern_prot.c
  projects/pnet/sys/kern/kern_rmlock.c
  projects/pnet/sys/kern/kern_sysctl.c
  projects/pnet/sys/kern/kern_vimage.c
  projects/pnet/sys/kern/sched_ule.c
  projects/pnet/sys/kern/subr_acl_posix1e.c
  projects/pnet/sys/kern/subr_bus.c
  projects/pnet/sys/kern/subr_kdb.c
  projects/pnet/sys/kern/subr_pcpu.c
  projects/pnet/sys/kern/subr_rman.c
  projects/pnet/sys/kern/subr_smp.c
  projects/pnet/sys/kern/subr_witness.c
  projects/pnet/sys/kern/sys_generic.c
  projects/pnet/sys/kern/sys_socket.c
  projects/pnet/sys/kern/syscalls.c
  projects/pnet/sys/kern/syscalls.master
  projects/pnet/sys/kern/systrace_args.c
  projects/pnet/sys/kern/tty.c
  projects/pnet/sys/kern/tty_info.c
  projects/pnet/sys/kern/tty_inq.c
  projects/pnet/sys/kern/tty_pts.c
  projects/pnet/sys/kern/tty_ttydisc.c
  projects/pnet/sys/kern/uipc_mqueue.c
  projects/pnet/sys/kern/uipc_socket.c
  projects/pnet/sys/kern/uipc_syscalls.c
  projects/pnet/sys/kern/uipc_usrreq.c
  projects/pnet/sys/kern/vfs_acl.c
  projects/pnet/sys/kern/vfs_bio.c
  projects/pnet/sys/kern/vfs_default.c
  projects/pnet/sys/kern/vfs_export.c
  projects/pnet/sys/kern/vfs_extattr.c
  projects/pnet/sys/kern/vfs_lookup.c
  projects/pnet/sys/kern/vfs_mount.c
  projects/pnet/sys/kern/vfs_subr.c
  projects/pnet/sys/kern/vfs_syscalls.c
  projects/pnet/sys/kern/vfs_vnops.c
  projects/pnet/sys/mips/conf/ADM5120
  projects/pnet/sys/mips/conf/IDT
  projects/pnet/sys/mips/conf/MALTA
  projects/pnet/sys/mips/conf/QEMU
  projects/pnet/sys/mips/conf/SENTRY5
  projects/pnet/sys/mips/include/pmap.h
  projects/pnet/sys/mips/mips/machdep.c
  projects/pnet/sys/mips/mips/pm_machdep.c
  projects/pnet/sys/mips/mips/pmap.c
  projects/pnet/sys/modules/Makefile
  projects/pnet/sys/modules/linux/Makefile
  projects/pnet/sys/modules/nfsclient/Makefile
  projects/pnet/sys/modules/opensolaris/Makefile
  projects/pnet/sys/modules/sound/sound/Makefile
  projects/pnet/sys/modules/svr4/Makefile
  projects/pnet/sys/modules/usb/Makefile
  projects/pnet/sys/modules/wlan/Makefile
  projects/pnet/sys/modules/xfs/Makefile
  projects/pnet/sys/modules/zfs/Makefile
  projects/pnet/sys/net/bpf.c
  projects/pnet/sys/net/bridgestp.c
  projects/pnet/sys/net/flowtable.c
  projects/pnet/sys/net/ieee8023ad_lacp.c
  projects/pnet/sys/net/if.c
  projects/pnet/sys/net/if.h
  projects/pnet/sys/net/if_arcsubr.c
  projects/pnet/sys/net/if_bridge.c
  projects/pnet/sys/net/if_clone.c
  projects/pnet/sys/net/if_ef.c
  projects/pnet/sys/net/if_ethersubr.c
  projects/pnet/sys/net/if_gif.c
  projects/pnet/sys/net/if_gif.h
  projects/pnet/sys/net/if_lagg.c
  projects/pnet/sys/net/if_llatbl.c
  projects/pnet/sys/net/if_llatbl.h
  projects/pnet/sys/net/if_loop.c
  projects/pnet/sys/net/if_mib.c
  projects/pnet/sys/net/if_var.h
  projects/pnet/sys/net/netisr.c
  projects/pnet/sys/net/netisr.h
  projects/pnet/sys/net/route.c
  projects/pnet/sys/net/rtsock.c
  projects/pnet/sys/net/vnet.h
  projects/pnet/sys/net80211/ieee80211.c
  projects/pnet/sys/net80211/ieee80211.h
  projects/pnet/sys/net80211/ieee80211_adhoc.c
  projects/pnet/sys/net80211/ieee80211_ddb.c
  projects/pnet/sys/net80211/ieee80211_freebsd.c
  projects/pnet/sys/net80211/ieee80211_freebsd.h
  projects/pnet/sys/net80211/ieee80211_hostap.c
  projects/pnet/sys/net80211/ieee80211_ht.c
  projects/pnet/sys/net80211/ieee80211_ht.h
  projects/pnet/sys/net80211/ieee80211_input.c
  projects/pnet/sys/net80211/ieee80211_ioctl.c
  projects/pnet/sys/net80211/ieee80211_monitor.c
  projects/pnet/sys/net80211/ieee80211_node.c
  projects/pnet/sys/net80211/ieee80211_node.h
  projects/pnet/sys/net80211/ieee80211_output.c
  projects/pnet/sys/net80211/ieee80211_proto.c
  projects/pnet/sys/net80211/ieee80211_proto.h
  projects/pnet/sys/net80211/ieee80211_scan.c
  projects/pnet/sys/net80211/ieee80211_scan.h
  projects/pnet/sys/net80211/ieee80211_scan_sta.c
  projects/pnet/sys/net80211/ieee80211_sta.c
  projects/pnet/sys/net80211/ieee80211_superg.c
  projects/pnet/sys/net80211/ieee80211_superg.h
  projects/pnet/sys/net80211/ieee80211_tdma.c
  projects/pnet/sys/net80211/ieee80211_tdma.h
  projects/pnet/sys/net80211/ieee80211_var.h
  projects/pnet/sys/net80211/ieee80211_wds.c
  projects/pnet/sys/netgraph/netflow/ng_netflow.c
  projects/pnet/sys/netgraph/netgraph.h
  projects/pnet/sys/netgraph/ng_base.c
  projects/pnet/sys/netgraph/ng_eiface.c
  projects/pnet/sys/netgraph/ng_ether.c
  projects/pnet/sys/netgraph/ng_iface.c
  projects/pnet/sys/netinet/icmp6.h
  projects/pnet/sys/netinet/if_ether.c
  projects/pnet/sys/netinet/igmp.c
  projects/pnet/sys/netinet/in.c
  projects/pnet/sys/netinet/in_mcast.c
  projects/pnet/sys/netinet/in_pcb.c
  projects/pnet/sys/netinet/in_pcb.h
  projects/pnet/sys/netinet/in_rmx.c
  projects/pnet/sys/netinet/in_var.h
  projects/pnet/sys/netinet/ip_carp.c
  projects/pnet/sys/netinet/ip_divert.c
  projects/pnet/sys/netinet/ip_fw.h
  projects/pnet/sys/netinet/ip_fw2.c
  projects/pnet/sys/netinet/ip_fw_pfil.c
  projects/pnet/sys/netinet/ip_input.c
  projects/pnet/sys/netinet/ip_ipsec.c
  projects/pnet/sys/netinet/ip_mroute.c
  projects/pnet/sys/netinet/ip_output.c
  projects/pnet/sys/netinet/raw_ip.c
  projects/pnet/sys/netinet/sctp_crc32.c
  projects/pnet/sys/netinet/sctp_os_bsd.h
  projects/pnet/sys/netinet/sctp_uio.h
  projects/pnet/sys/netinet/tcp_hostcache.c
  projects/pnet/sys/netinet/tcp_subr.c
  projects/pnet/sys/netinet/tcp_syncache.c
  projects/pnet/sys/netinet/tcp_syncache.h
  projects/pnet/sys/netinet/tcp_timewait.c
  projects/pnet/sys/netinet/tcp_var.h
  projects/pnet/sys/netinet/udp_usrreq.c
  projects/pnet/sys/netinet/vinet.h
  projects/pnet/sys/netinet6/icmp6.c
  projects/pnet/sys/netinet6/in6.c
  projects/pnet/sys/netinet6/in6.h
  projects/pnet/sys/netinet6/in6_ifattach.c
  projects/pnet/sys/netinet6/in6_pcb.c
  projects/pnet/sys/netinet6/in6_proto.c
  projects/pnet/sys/netinet6/in6_rmx.c
  projects/pnet/sys/netinet6/in6_var.h
  projects/pnet/sys/netinet6/ip6_input.c
  projects/pnet/sys/netinet6/ip6_mroute.c
  projects/pnet/sys/netinet6/ip6_output.c
  projects/pnet/sys/netinet6/ip6_var.h
  projects/pnet/sys/netinet6/mld6.c
  projects/pnet/sys/netinet6/mld6_var.h
  projects/pnet/sys/netinet6/nd6.c
  projects/pnet/sys/netinet6/nd6_nbr.c
  projects/pnet/sys/netinet6/nd6_rtr.c
  projects/pnet/sys/netinet6/raw_ip6.c
  projects/pnet/sys/netinet6/route6.c
  projects/pnet/sys/netinet6/udp6_usrreq.c
  projects/pnet/sys/netinet6/vinet6.h
  projects/pnet/sys/netipsec/ipsec.c
  projects/pnet/sys/netipsec/key.c
  projects/pnet/sys/netipsec/key.h
  projects/pnet/sys/netipsec/vipsec.h
  projects/pnet/sys/netipsec/xform_tcp.c
  projects/pnet/sys/netipx/spx_usrreq.c
  projects/pnet/sys/netnatm/natm.c
  projects/pnet/sys/nfs/nfs_common.c
  projects/pnet/sys/nfsclient/bootp_subr.c
  projects/pnet/sys/nfsclient/krpc_subr.c
  projects/pnet/sys/nfsclient/nfs.h
  projects/pnet/sys/nfsclient/nfs_bio.c
  projects/pnet/sys/nfsclient/nfs_diskless.c
  projects/pnet/sys/nfsclient/nfs_kdtrace.c
  projects/pnet/sys/nfsclient/nfs_krpc.c
  projects/pnet/sys/nfsclient/nfs_lock.c
  projects/pnet/sys/nfsclient/nfs_nfsiod.c
  projects/pnet/sys/nfsclient/nfs_node.c
  projects/pnet/sys/nfsclient/nfs_socket.c
  projects/pnet/sys/nfsclient/nfs_subs.c
  projects/pnet/sys/nfsclient/nfs_vfsops.c
  projects/pnet/sys/nfsclient/nfs_vnops.c
  projects/pnet/sys/nfsclient/nfsm_subs.h
  projects/pnet/sys/nfsclient/nfsmount.h
  projects/pnet/sys/nfsclient/nfsnode.h
  projects/pnet/sys/nfsserver/nfs_serv.c
  projects/pnet/sys/nfsserver/nfs_srvsubs.c
  projects/pnet/sys/nlm/nlm.h
  projects/pnet/sys/nlm/nlm_advlock.c
  projects/pnet/sys/nlm/nlm_prot_impl.c
  projects/pnet/sys/pc98/cbus/clock.c
  projects/pnet/sys/pc98/conf/DEFAULTS
  projects/pnet/sys/pc98/conf/GENERIC
  projects/pnet/sys/pc98/conf/NOTES
  projects/pnet/sys/pc98/pc98/machdep.c
  projects/pnet/sys/powerpc/aim/clock.c
  projects/pnet/sys/powerpc/aim/machdep.c
  projects/pnet/sys/powerpc/aim/mmu_oea.c
  projects/pnet/sys/powerpc/aim/mmu_oea64.c
  projects/pnet/sys/powerpc/aim/mp_cpudep.c
  projects/pnet/sys/powerpc/aim/ofw_machdep.c
  projects/pnet/sys/powerpc/aim/vm_machdep.c
  projects/pnet/sys/powerpc/booke/clock.c
  projects/pnet/sys/powerpc/booke/locore.S
  projects/pnet/sys/powerpc/booke/machdep.c
  projects/pnet/sys/powerpc/booke/pmap.c
  projects/pnet/sys/powerpc/booke/trap_subr.S
  projects/pnet/sys/powerpc/booke/vm_machdep.c
  projects/pnet/sys/powerpc/conf/GENERIC
  projects/pnet/sys/powerpc/conf/MPC85XX
  projects/pnet/sys/powerpc/conf/NOTES
  projects/pnet/sys/powerpc/include/cpufunc.h
  projects/pnet/sys/powerpc/include/intr_machdep.h
  projects/pnet/sys/powerpc/include/md_var.h
  projects/pnet/sys/powerpc/include/mutex.h
  projects/pnet/sys/powerpc/include/ofw_machdep.h
  projects/pnet/sys/powerpc/include/pcpu.h
  projects/pnet/sys/powerpc/include/pmap.h
  projects/pnet/sys/powerpc/include/pte.h
  projects/pnet/sys/powerpc/include/smp.h
  projects/pnet/sys/powerpc/include/spr.h
  projects/pnet/sys/powerpc/mpc85xx/ocpbus.c
  projects/pnet/sys/powerpc/mpc85xx/ocpbus.h
  projects/pnet/sys/powerpc/mpc85xx/pci_ocp.c
  projects/pnet/sys/powerpc/powerpc/autoconf.c
  projects/pnet/sys/powerpc/powerpc/bus_machdep.c
  projects/pnet/sys/powerpc/powerpc/busdma_machdep.c
  projects/pnet/sys/powerpc/powerpc/genassym.c
  projects/pnet/sys/powerpc/powerpc/intr_machdep.c
  projects/pnet/sys/powerpc/powerpc/mp_machdep.c
  projects/pnet/sys/powerpc/powerpc/openpic.c
  projects/pnet/sys/powerpc/powerpc/pmap_dispatch.c
  projects/pnet/sys/security/audit/audit_worker.c
  projects/pnet/sys/security/mac/mac_atalk.c
  projects/pnet/sys/security/mac/mac_audit.c
  projects/pnet/sys/security/mac/mac_cred.c
  projects/pnet/sys/security/mac/mac_inet.c
  projects/pnet/sys/security/mac/mac_inet6.c
  projects/pnet/sys/security/mac/mac_internal.h
  projects/pnet/sys/security/mac/mac_net.c
  projects/pnet/sys/security/mac/mac_pipe.c
  projects/pnet/sys/security/mac/mac_posix_sem.c
  projects/pnet/sys/security/mac/mac_posix_shm.c
  projects/pnet/sys/security/mac/mac_priv.c
  projects/pnet/sys/security/mac/mac_process.c
  projects/pnet/sys/security/mac/mac_socket.c
  projects/pnet/sys/security/mac/mac_system.c
  projects/pnet/sys/security/mac/mac_sysv_msg.c
  projects/pnet/sys/security/mac/mac_sysv_sem.c
  projects/pnet/sys/security/mac/mac_sysv_shm.c
  projects/pnet/sys/security/mac/mac_vfs.c
  projects/pnet/sys/sparc64/conf/GENERIC
  projects/pnet/sys/sparc64/sparc64/machdep.c
  projects/pnet/sys/sparc64/sparc64/vm_machdep.c
  projects/pnet/sys/sun4v/sun4v/machdep.c
  projects/pnet/sys/sys/_null.h
  projects/pnet/sys/sys/acl.h
  projects/pnet/sys/sys/buf.h
  projects/pnet/sys/sys/buf_ring.h
  projects/pnet/sys/sys/eventhandler.h
  projects/pnet/sys/sys/filedesc.h
  projects/pnet/sys/sys/interrupt.h
  projects/pnet/sys/sys/ioctl.h
  projects/pnet/sys/sys/ioctl_compat.h
  projects/pnet/sys/sys/jail.h
  projects/pnet/sys/sys/kernel.h
  projects/pnet/sys/sys/ktr.h
  projects/pnet/sys/sys/mbuf.h
  projects/pnet/sys/sys/mount.h
  projects/pnet/sys/sys/osd.h
  projects/pnet/sys/sys/param.h
  projects/pnet/sys/sys/priv.h
  projects/pnet/sys/sys/proc.h
  projects/pnet/sys/sys/queue.h
  projects/pnet/sys/sys/smp.h
  projects/pnet/sys/sys/socketvar.h
  projects/pnet/sys/sys/syscall.h
  projects/pnet/sys/sys/syscall.mk
  projects/pnet/sys/sys/syscallsubr.h
  projects/pnet/sys/sys/sysctl.h
  projects/pnet/sys/sys/sysproto.h
  projects/pnet/sys/sys/systm.h
  projects/pnet/sys/sys/termios.h
  projects/pnet/sys/sys/ucred.h
  projects/pnet/sys/sys/vimage.h
  projects/pnet/sys/ufs/ffs/ffs_alloc.c
  projects/pnet/sys/ufs/ffs/ffs_vfsops.c
  projects/pnet/sys/ufs/ufs/dinode.h
  projects/pnet/sys/ufs/ufs/extattr.h
  projects/pnet/sys/ufs/ufs/inode.h
  projects/pnet/sys/ufs/ufs/ufs_acl.c
  projects/pnet/sys/ufs/ufs/ufs_extattr.c
  projects/pnet/sys/ufs/ufs/ufs_extern.h
  projects/pnet/sys/ufs/ufs/ufs_vfsops.c
  projects/pnet/sys/ufs/ufs/ufs_vnops.c
  projects/pnet/sys/vm/swap_pager.c
  projects/pnet/sys/vm/vm_fault.c
  projects/pnet/sys/vm/vm_object.c
  projects/pnet/sys/vm/vm_page.c
  projects/pnet/sys/vm/vm_page.h
  projects/pnet/sys/vm/vm_pageout.c
  projects/pnet/sys/vm/vnode_pager.c

Modified: projects/pnet/sys/Makefile
==============================================================================
--- projects/pnet/sys/Makefile	Sat May 23 13:23:46 2009	(r192636)
+++ projects/pnet/sys/Makefile	Sat May 23 13:44:37 2009	(r192637)
@@ -11,7 +11,7 @@ SUBDIR=	boot
 CSCOPEDIRS=	boot bsm cam cddl compat conf contrib crypto ddb dev fs gdb \
 		geom gnu isa kern libkern modules net net80211 netatalk \
 		netgraph netinet netinet6 netipsec netipx netnatm netncp \
-		netsmb nfs nfs4client nfsclient nfsserver nlm opencrypto \
+		netsmb nfs nfsclient nfsserver nlm opencrypto \
 		pci rpc security sys ufs vm xdr ${CSCOPE_ARCHDIR}
 .if defined(ALL_ARCH)
 CSCOPE_ARCHDIR ?= amd64 arm i386 ia64 mips pc98 powerpc sparc64 sun4v

Modified: projects/pnet/sys/amd64/amd64/busdma_machdep.c
==============================================================================
--- projects/pnet/sys/amd64/amd64/busdma_machdep.c	Sat May 23 13:23:46 2009	(r192636)
+++ projects/pnet/sys/amd64/amd64/busdma_machdep.c	Sat May 23 13:44:37 2009	(r192637)
@@ -95,7 +95,6 @@ struct bounce_zone {
 	int		total_deferred;
 	int		map_count;
 	bus_size_t	alignment;
-	bus_size_t	boundary;
 	bus_addr_t	lowaddr;
 	char		zoneid[8];
 	char		lowaddrid[20];
@@ -978,7 +977,6 @@ alloc_bounce_zone(bus_dma_tag_t dmat)
 	/* Check to see if we already have a suitable zone */
 	STAILQ_FOREACH(bz, &bounce_zone_list, links) {
 		if ((dmat->alignment <= bz->alignment)
-		 && (dmat->boundary <= bz->boundary)
 		 && (dmat->lowaddr >= bz->lowaddr)) {
 			dmat->bounce_zone = bz;
 			return (0);
@@ -994,8 +992,7 @@ alloc_bounce_zone(bus_dma_tag_t dmat)
 	bz->reserved_bpages = 0;
 	bz->active_bpages = 0;
 	bz->lowaddr = dmat->lowaddr;
-	bz->alignment = dmat->alignment;
-	bz->boundary = dmat->boundary;
+	bz->alignment = MAX(dmat->alignment, PAGE_SIZE);
 	bz->map_count = 0;
 	snprintf(bz->zoneid, 8, "zone%d", busdma_zonecount);
 	busdma_zonecount++;
@@ -1042,9 +1039,6 @@ alloc_bounce_zone(bus_dma_tag_t dmat)
 	SYSCTL_ADD_INT(busdma_sysctl_tree(bz),
 	    SYSCTL_CHILDREN(busdma_sysctl_tree_top(bz)), OID_AUTO,
 	    "alignment", CTLFLAG_RD, &bz->alignment, 0, "");
-	SYSCTL_ADD_INT(busdma_sysctl_tree(bz),
-	    SYSCTL_CHILDREN(busdma_sysctl_tree_top(bz)), OID_AUTO,
-	    "boundary", CTLFLAG_RD, &bz->boundary, 0, "");
 
 	return (0);
 }
@@ -1069,7 +1063,7 @@ alloc_bounce_pages(bus_dma_tag_t dmat, u
 							 M_NOWAIT, 0ul,
 							 bz->lowaddr,
 							 PAGE_SIZE,
-							 bz->boundary);
+							 0);
 		if (bpage->vaddr == 0) {
 			free(bpage, M_DEVBUF);
 			break;

Modified: projects/pnet/sys/amd64/amd64/identcpu.c
==============================================================================
--- projects/pnet/sys/amd64/amd64/identcpu.c	Sat May 23 13:23:46 2009	(r192636)
+++ projects/pnet/sys/amd64/amd64/identcpu.c	Sat May 23 13:44:37 2009	(r192637)
@@ -106,9 +106,6 @@ static struct {
 	{ CENTAUR_VENDOR_ID,	CPU_VENDOR_CENTAUR },	/* CentaurHauls */
 };
 
-int cpu_cores;
-int cpu_logical;
-
 
 extern int pq_l2size;
 extern int pq_l2nways;
@@ -195,7 +192,6 @@ printcpuinfo(void)
 	    cpu_vendor_id == CPU_VENDOR_CENTAUR) {
 		printf("  Stepping = %u", cpu_id & 0xf);
 		if (cpu_high > 0) {
-			u_int cmp = 1, htt = 1;
 
 			/*
 			 * Here we should probably set up flags indicating
@@ -400,28 +396,6 @@ printcpuinfo(void)
 			if (tsc_is_invariant)
 				printf("\n  TSC: P-state invariant");
 
-			/*
-			 * If this CPU supports HTT or CMP then mention the
-			 * number of physical/logical cores it contains.
-			 */
-			if (cpu_feature & CPUID_HTT)
-				htt = (cpu_procinfo & CPUID_HTT_CORES) >> 16;
-			if (cpu_vendor_id == CPU_VENDOR_AMD &&
-			    (amd_feature2 & AMDID2_CMP))
-				cmp = (cpu_procinfo2 & AMDID_CMP_CORES) + 1;
-			else if (cpu_vendor_id == CPU_VENDOR_INTEL &&
-			    (cpu_high >= 4)) {
-				cpuid_count(4, 0, regs);
-				if ((regs[0] & 0x1f) != 0)
-					cmp = ((regs[0] >> 26) & 0x3f) + 1;
-			}
-			cpu_cores = cmp;
-			cpu_logical = htt / cmp;
-			if (cmp > 1)
-				printf("\n  Cores per package: %d", cmp);
-			if ((htt / cmp) > 1)
-				printf("\n  Logical CPUs per core: %d",
-				    cpu_logical);
 		}
 	}
 	/* Avoid ugly blank lines: only print newline when we have to. */
@@ -498,6 +472,22 @@ identify_cpu(void)
 	cpu_feature = regs[3];
 	cpu_feature2 = regs[2];
 
+	/*
+	 * Clear "Limit CPUID Maxval" bit and get the largest standard CPUID
+	 * function number again if it is set from BIOS.  It is necessary
+	 * for probing correct CPU topology later.
+	 * XXX This is only done on the BSP package.
+	 */
+	if (cpu_vendor_id == CPU_VENDOR_INTEL && cpu_high > 0 && cpu_high < 4) {
+		uint64_t msr;
+		msr = rdmsr(MSR_IA32_MISC_ENABLE);
+		if ((msr & 0x400000ULL) != 0) {
+			wrmsr(MSR_IA32_MISC_ENABLE, msr & ~0x400000ULL);
+			do_cpuid(0, regs);
+			cpu_high = regs[0];
+		}
+	}
+
 	if (cpu_vendor_id == CPU_VENDOR_INTEL ||
 	    cpu_vendor_id == CPU_VENDOR_AMD ||
 	    cpu_vendor_id == CPU_VENDOR_CENTAUR) {

Modified: projects/pnet/sys/amd64/amd64/local_apic.c
==============================================================================
--- projects/pnet/sys/amd64/amd64/local_apic.c	Sat May 23 13:23:46 2009	(r192636)
+++ projects/pnet/sys/amd64/amd64/local_apic.c	Sat May 23 13:44:37 2009	(r192637)
@@ -112,7 +112,7 @@ struct lapic {
 	u_long la_stat_ticks;
 	u_long la_prof_ticks;
 	/* Include IDT_SYSCALL to make indexing easier. */
-	u_int la_ioint_irqs[APIC_NUM_IOINTS + 1];
+	int la_ioint_irqs[APIC_NUM_IOINTS + 1];
 } static lapics[MAX_APIC_ID + 1];
 
 /* XXX: should thermal be an NMI? */
@@ -254,6 +254,8 @@ lapic_create(u_int apic_id, int boot_cpu
 		lapics[apic_id].la_lvts[i] = lvts[i];
 		lapics[apic_id].la_lvts[i].lvt_active = 0;
 	}
+	for (i = 0; i <= APIC_NUM_IOINTS; i++)
+	    lapics[apic_id].la_ioint_irqs[i] = -1;
 	lapics[apic_id].la_ioint_irqs[IDT_SYSCALL - APIC_IO_INTS] = IRQ_SYSCALL;
 	lapics[apic_id].la_ioint_irqs[APIC_TIMER_INT - APIC_IO_INTS] =
 	    IRQ_TIMER;
@@ -317,7 +319,7 @@ lapic_setup(int boot)
 	}
 
 	/* We don't setup the timer during boot on the BSP until later. */
-	if (!(boot && PCPU_GET(cpuid) == 0)) {
+	if (!(boot && PCPU_GET(cpuid) == 0) && lapic_timer_hz != 0) {
 		KASSERT(lapic_timer_period != 0, ("lapic%u: zero divisor",
 		    lapic_id()));
 		lapic_timer_set_divisor(lapic_timer_divisor);
@@ -363,11 +365,15 @@ int
 lapic_setup_clock(void)
 {
 	u_long value;
+	int i;
 
 	/* Can't drive the timer without a local APIC. */
 	if (lapic == NULL)
 		return (0);
 
+	if (resource_int_value("apic", 0, "clock", &i) == 0 && i == 0)
+		return (0);
+
 	/* Start off with a divisor of 2 (power on reset default). */
 	lapic_timer_divisor = 2;
 
@@ -807,7 +813,7 @@ apic_alloc_vector(u_int apic_id, u_int i
 	 */
 	mtx_lock_spin(&icu_lock);
 	for (vector = 0; vector < APIC_NUM_IOINTS; vector++) {
-		if (lapics[apic_id].la_ioint_irqs[vector] != 0)
+		if (lapics[apic_id].la_ioint_irqs[vector] != -1)
 			continue;
 		lapics[apic_id].la_ioint_irqs[vector] = irq;
 		mtx_unlock_spin(&icu_lock);
@@ -847,7 +853,7 @@ apic_alloc_vectors(u_int apic_id, u_int 
 	for (vector = 0; vector < APIC_NUM_IOINTS; vector++) {
 
 		/* Vector is in use, end run. */
-		if (lapics[apic_id].la_ioint_irqs[vector] != 0) {
+		if (lapics[apic_id].la_ioint_irqs[vector] != -1) {
 			run = 0;
 			first = 0;
 			continue;
@@ -932,7 +938,7 @@ apic_free_vector(u_int apic_id, u_int ve
 	sched_bind(td, apic_cpuid(apic_id));
 	thread_unlock(td);
 	mtx_lock_spin(&icu_lock);
-	lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS] = 0;
+	lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS] = -1;
 	mtx_unlock_spin(&icu_lock);
 	thread_lock(td);
 	sched_unbind(td);
@@ -944,11 +950,15 @@ apic_free_vector(u_int apic_id, u_int ve
 u_int
 apic_idt_to_irq(u_int apic_id, u_int vector)
 {
+	int irq;
 
 	KASSERT(vector >= APIC_IO_INTS && vector != IDT_SYSCALL &&
 	    vector <= APIC_IO_INTS + APIC_NUM_IOINTS,
 	    ("Vector %u does not map to an IRQ line", vector));
-	return (lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS]);
+	irq = lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS];
+	if (irq < 0)
+		irq = 0;
+	return (irq);
 }
 
 #ifdef DDB
@@ -974,7 +984,7 @@ DB_SHOW_COMMAND(apic, db_show_apic)
 		db_printf("Interrupts bound to lapic %u\n", apic_id);
 		for (i = 0; i < APIC_NUM_IOINTS + 1 && !db_pager_quit; i++) {
 			irq = lapics[apic_id].la_ioint_irqs[i];
-			if (irq == 0 || irq == IRQ_SYSCALL)
+			if (irq == -1 || irq == IRQ_SYSCALL)
 				continue;
 			db_printf("vec 0x%2x -> ", i + APIC_IO_INTS);
 			if (irq == IRQ_TIMER)

Modified: projects/pnet/sys/amd64/amd64/machdep.c
==============================================================================
--- projects/pnet/sys/amd64/amd64/machdep.c	Sat May 23 13:23:46 2009	(r192636)
+++ projects/pnet/sys/amd64/amd64/machdep.c	Sat May 23 13:44:37 2009	(r192637)
@@ -109,6 +109,7 @@ __FBSDID("$FreeBSD$");
 #include <machine/cpu.h>
 #include <machine/cputypes.h>
 #include <machine/intr_machdep.h>
+#include <machine/mca.h>
 #include <machine/md_var.h>
 #include <machine/metadata.h>
 #include <machine/pc/bios.h>
@@ -274,6 +275,7 @@ cpu_startup(dummy)
 	vm_pager_bufferinit();
 
 	cpu_setregs();
+	mca_init();
 }
 
 /*
@@ -504,6 +506,16 @@ cpu_boot(int howto)
 {
 }
 
+/*
+ * Flush the D-cache for non-DMA I/O so that the I-cache can
+ * be made coherent later.
+ */
+void
+cpu_flush_dcache(void *ptr, size_t len)
+{
+	/* Not applicable */
+}
+
 /* Get current clock frequency for the given cpu id. */
 int
 cpu_est_clockrate(int cpu_id, uint64_t *rate)

Copied: projects/pnet/sys/amd64/amd64/mca.c (from r192635, head/sys/amd64/amd64/mca.c)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/pnet/sys/amd64/amd64/mca.c	Sat May 23 13:44:37 2009	(r192637, copy of r192635, head/sys/amd64/amd64/mca.c)
@@ -0,0 +1,529 @@
+/*-
+ * Copyright (c) 2009 Advanced Computing Technologies LLC
+ * Written by: John H. Baldwin <jhb at FreeBSD.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/*
+ * Support for x86 machine check architecture.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/param.h>
+#include <sys/kernel.h>
+#include <sys/lock.h>
+#include <sys/malloc.h>
+#include <sys/mutex.h>
+#include <sys/proc.h>
+#include <sys/sched.h>
+#include <sys/smp.h>
+#include <sys/sysctl.h>
+#include <sys/systm.h>
+#include <sys/taskqueue.h>
+#include <machine/mca.h>
+#include <machine/md_var.h>
+#include <machine/specialreg.h>
+
+struct mca_internal {
+	struct mca_record rec;
+	int		logged;
+	STAILQ_ENTRY(mca_internal) link;
+};
+
+static MALLOC_DEFINE(M_MCA, "MCA", "Machine Check Architecture");
+
+static int mca_count;		/* Number of records stored. */
+
+SYSCTL_NODE(_hw, OID_AUTO, mca, CTLFLAG_RD, NULL, "Machine Check Architecture");
+
+static int mca_enabled = 0;
+TUNABLE_INT("hw.mca.enabled", &mca_enabled);
+SYSCTL_INT(_hw_mca, OID_AUTO, enabled, CTLFLAG_RDTUN, &mca_enabled, 0,
+    "Administrative toggle for machine check support");
+
+static STAILQ_HEAD(, mca_internal) mca_records;
+static struct callout mca_timer;
+static int mca_ticks = 3600;	/* Check hourly by default. */
+static struct task mca_task;
+static struct mtx mca_lock;
+
+static int
+sysctl_mca_ticks(SYSCTL_HANDLER_ARGS)
+{
+	int error, value;
+
+	value = mca_ticks;
+	error = sysctl_handle_int(oidp, &value, 0, req);
+	if (error || req->newptr == NULL)
+		return (error);
+	if (value <= 0)
+		return (EINVAL);
+	mca_ticks = value;
+	return (0);
+}
+
+static int
+sysctl_mca_records(SYSCTL_HANDLER_ARGS)
+{
+	int *name = (int *)arg1;
+	u_int namelen = arg2;
+	struct mca_record record;
+	struct mca_internal *rec;
+	int i;
+
+	if (namelen != 1)
+		return (EINVAL);
+
+	if (name[0] < 0 || name[0] >= mca_count)
+		return (EINVAL);
+
+	mtx_lock_spin(&mca_lock);
+	if (name[0] >= mca_count) {
+		mtx_unlock_spin(&mca_lock);
+		return (EINVAL);
+	}
+	i = 0;
+	STAILQ_FOREACH(rec, &mca_records, link) {
+		if (i == name[0]) {
+			record = rec->rec;
+			break;
+		}
+		i++;
+	}
+	mtx_unlock_spin(&mca_lock);
+	return (SYSCTL_OUT(req, &record, sizeof(record)));
+}
+
+static struct mca_record *
+mca_record_entry(int bank)
+{
+	struct mca_internal *rec;
+	uint64_t status;
+	u_int p[4];
+
+	status = rdmsr(MSR_MC_STATUS(bank));
+	if (!(status & MC_STATUS_VAL))
+		return (NULL);
+
+	rec = malloc(sizeof(*rec), M_MCA, M_NOWAIT | M_ZERO);
+	if (rec == NULL) {
+		printf("MCA: Unable to allocate space for an event.\n");
+		return (NULL);
+	}
+
+	/* Save exception information. */
+	rec->rec.mr_status = status;
+	if (status & MC_STATUS_ADDRV)
+		rec->rec.mr_addr = rdmsr(MSR_MC_ADDR(bank));
+	if (status & MC_STATUS_MISCV)
+		rec->rec.mr_misc = rdmsr(MSR_MC_MISC(bank));
+	rec->rec.mr_tsc = rdtsc();
+	rec->rec.mr_apic_id = PCPU_GET(apic_id);
+
+	/*
+	 * Clear machine check.  Don't do this for uncorrectable
+	 * errors so that the BIOS can see them.
+	 */
+	if (!(rec->rec.mr_status & (MC_STATUS_PCC | MC_STATUS_UC))) {
+		wrmsr(MSR_MC_STATUS(bank), 0);
+		do_cpuid(0, p);
+	}
+
+	mtx_lock_spin(&mca_lock);
+	STAILQ_INSERT_TAIL(&mca_records, rec, link);
+	mca_count++;
+	mtx_unlock_spin(&mca_lock);
+	return (&rec->rec);
+}
+
+static const char *
+mca_error_ttype(uint16_t mca_error)
+{
+
+	switch ((mca_error & 0x000c) >> 2) {
+	case 0:
+		return ("I");
+	case 1:
+		return ("D");
+	case 2:
+		return ("G");
+	}
+	return ("?");
+}
+
+static const char *
+mca_error_level(uint16_t mca_error)
+{
+
+	switch (mca_error & 0x0003) {
+	case 0:
+		return ("L0");
+	case 1:
+		return ("L1");
+	case 2:
+		return ("L2");
+	case 3:
+		return ("LG");
+	}
+	return ("L?");
+}
+
+static const char *
+mca_error_request(uint16_t mca_error)
+{
+
+	switch ((mca_error & 0x00f0) >> 4) {
+	case 0x0:
+		return ("ERR");
+	case 0x1:
+		return ("RD");
+	case 0x2:
+		return ("WR");
+	case 0x3:
+		return ("DRD");
+	case 0x4:
+		return ("DWR");
+	case 0x5:
+		return ("IRD");
+	case 0x6:
+		return ("PREFETCH");
+	case 0x7:
+		return ("EVICT");
+	case 0x8:
+		return ("SNOOP");
+	}
+	return ("???");
+}
+
+/* Dump details about a single machine check. */
+static void
+mca_log(struct mca_record *rec)
+{
+	uint16_t mca_error;
+
+	printf("MCA: CPU %d ", rec->mr_apic_id);
+	if (rec->mr_status & MC_STATUS_UC)
+		printf("UNCOR ");
+	else
+		printf("COR ");
+	if (rec->mr_status & MC_STATUS_PCC)
+		printf("PCC ");
+	if (rec->mr_status & MC_STATUS_OVER)
+		printf("OVER ");
+	mca_error = rec->mr_status & MC_STATUS_MCA_ERROR;
+	switch (mca_error) {
+		/* Simple error codes. */
+	case 0x0000:
+		printf("no error");
+		break;
+	case 0x0001:
+		printf("unclassified error");
+		break;
+	case 0x0002:
+		printf("ucode ROM parity error");
+		break;
+	case 0x0003:
+		printf("external error");
+		break;
+	case 0x0004:
+		printf("FRC error");
+		break;
+	case 0x0400:
+		printf("internal timer error");
+		break;
+	default:
+		if ((mca_error & 0xfc00) == 0x0400) {
+			printf("internal error %x", mca_error & 0x03ff);
+			break;
+		}
+
+		/* Compound error codes. */
+
+		/* Memory hierarchy error. */
+		if ((mca_error & 0xeffc) == 0x000c) {
+			printf("%s memory error", mca_error_level(mca_error));
+			break;
+		}
+
+		/* TLB error. */
+		if ((mca_error & 0xeff0) == 0x0010) {
+			printf("%sTLB %s error", mca_error_ttype(mca_error),
+			    mca_error_level(mca_error));
+			break;
+		}
+
+		/* Cache error. */
+		if ((mca_error & 0xef00) == 0x0100) {
+			printf("%sCACHE %s %s error",
+			    mca_error_ttype(mca_error),
+			    mca_error_level(mca_error),
+			    mca_error_request(mca_error));
+			break;
+		}
+
+		/* Bus and/or Interconnect error. */
+		if ((mca_error & 0xe800) == 0x0800) {			
+			printf("BUS%s ", mca_error_level(mca_error));
+			switch ((mca_error & 0x0600) >> 9) {
+			case 0:
+				printf("Source");
+				break;
+			case 1:
+				printf("Responder");
+				break;
+			case 2:
+				printf("Observer");
+				break;
+			default:
+				printf("???");
+				break;
+			}
+			printf(" %s ", mca_error_request(mca_error));
+			switch ((mca_error & 0x000c) >> 2) {
+			case 0:
+				printf("Memory");
+				break;
+			case 2:
+				printf("I/O");
+				break;
+			case 3:
+				printf("Other");
+				break;
+			default:
+				printf("???");
+				break;
+			}
+			if (mca_error & 0x0100)
+				printf(" timed out");
+			break;
+		}
+
+		printf("unknown error %x", mca_error);
+		break;
+	}
+	printf("\n");
+	if (rec->mr_status & MC_STATUS_ADDRV)
+		printf("MCA: Address 0x%llx\n", (long long)rec->mr_addr);
+}
+
+/*
+ * This scans all the machine check banks of the current CPU to see if
+ * there are any machine checks.  Any non-recoverable errors are
+ * reported immediately via mca_log().  The current thread must be
+ * pinned when this is called.  The 'mcip' parameter indicates if we
+ * are being called from the MC exception handler.  In that case this
+ * function returns true if the system is restartable.  Otherwise, it
+ * returns a count of the number of valid MC records found.
+ */
+static int
+mca_scan(int mcip)
+{
+	struct mca_record *rec;
+	uint64_t mcg_cap, ucmask;
+	int count, i, recoverable;
+
+	count = 0;
+	recoverable = 1;
+	ucmask = MC_STATUS_UC | MC_STATUS_PCC;
+
+	/* When handling a MCE#, treat the OVER flag as non-restartable. */
+	if (mcip)
+		ucmask |= MC_STATUS_OVER;
+	mcg_cap = rdmsr(MSR_MCG_CAP);
+	for (i = 0; i < (mcg_cap & MCG_CAP_COUNT); i++) {
+		rec = mca_record_entry(i);
+		if (rec != NULL) {
+			count++;
+			if (rec->mr_status & ucmask) {
+				recoverable = 0;
+				mca_log(rec);
+			}
+		}
+	}
+	return (mcip ? recoverable : count);
+}
+
+/*
+ * Scan the machine check banks on all CPUs by binding to each CPU in
+ * turn.  If any of the CPUs contained new machine check records, log
+ * them to the console.
+ */
+static void
+mca_scan_cpus(void *context, int pending)
+{
+	struct mca_internal *mca;
+	struct thread *td;
+	int count, cpu;
+
+	td = curthread;
+	count = 0;
+	thread_lock(td);
+	for (cpu = 0; cpu <= mp_maxid; cpu++) {
+		if (CPU_ABSENT(cpu))
+			continue;
+		sched_bind(td, cpu);
+		thread_unlock(td);
+		count += mca_scan(0);
+		thread_lock(td);
+		sched_unbind(td);
+	}
+	thread_unlock(td);
+	if (count != 0) {
+		mtx_lock_spin(&mca_lock);
+		STAILQ_FOREACH(mca, &mca_records, link) {
+			if (!mca->logged) {
+				mca->logged = 1;
+				mtx_unlock_spin(&mca_lock);
+				mca_log(&mca->rec);
+				mtx_lock_spin(&mca_lock);
+			}
+		}
+		mtx_unlock_spin(&mca_lock);
+	}
+}
+
+static void
+mca_periodic_scan(void *arg)
+{
+
+	taskqueue_enqueue(taskqueue_thread, &mca_task);
+	callout_reset(&mca_timer, mca_ticks * hz, mca_periodic_scan, NULL);
+}
+
+static int
+sysctl_mca_scan(SYSCTL_HANDLER_ARGS)
+{
+	int error, i;
+
+	i = 0;
+	error = sysctl_handle_int(oidp, &i, 0, req);
+	if (error)
+		return (error);
+	if (i)
+		taskqueue_enqueue(taskqueue_thread, &mca_task);
+	return (0);
+}
+
+static void
+mca_startup(void *dummy)
+{
+
+	if (!mca_enabled || !(cpu_feature & CPUID_MCA))
+		return;
+
+	callout_reset(&mca_timer, mca_ticks * hz, mca_periodic_scan,
+		    NULL);
+}
+SYSINIT(mca_startup, SI_SUB_SMP, SI_ORDER_ANY, mca_startup, NULL);
+
+static void
+mca_setup(void)
+{
+
+	mtx_init(&mca_lock, "mca", NULL, MTX_SPIN);
+	STAILQ_INIT(&mca_records);
+	TASK_INIT(&mca_task, 0x8000, mca_scan_cpus, NULL);
+	callout_init(&mca_timer, CALLOUT_MPSAFE);
+	SYSCTL_ADD_INT(NULL, SYSCTL_STATIC_CHILDREN(_hw_mca), OID_AUTO,
+	    "count", CTLFLAG_RD, &mca_count, 0, "Record count");
+	SYSCTL_ADD_PROC(NULL, SYSCTL_STATIC_CHILDREN(_hw_mca), OID_AUTO,
+	    "interval", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, &mca_ticks,
+	    0, sysctl_mca_ticks, "I",
+	    "Periodic interval in seconds to scan for machine checks");
+	SYSCTL_ADD_NODE(NULL, SYSCTL_STATIC_CHILDREN(_hw_mca), OID_AUTO,
+	    "records", CTLFLAG_RD, sysctl_mca_records, "Machine check records");
+	SYSCTL_ADD_PROC(NULL, SYSCTL_STATIC_CHILDREN(_hw_mca), OID_AUTO,
+	    "force_scan", CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, 0,
+	    sysctl_mca_scan, "I", "Force an immediate scan for machine checks");
+}
+
+/* Must be executed on each CPU. */
+void
+mca_init(void)
+{
+	uint64_t mcg_cap;
+	int i;
+
+	/* MCE is required. */
+	if (!mca_enabled || !(cpu_feature & CPUID_MCE))
+		return;
+
+	if (cpu_feature & CPUID_MCA) {
+		if (PCPU_GET(cpuid) == 0)
+			mca_setup();
+
+		sched_pin();
+		mcg_cap = rdmsr(MSR_MCG_CAP);
+		if (mcg_cap & MCG_CAP_CTL_P)
+			/* Enable MCA features. */
+			wrmsr(MSR_MCG_CTL, MCG_CTL_ENABLE);
+
+		for (i = 0; i < (mcg_cap & MCG_CAP_COUNT); i++) {
+			/*
+			 * Enable logging of all errors.  For P6
+			 * processors, MC0_CTL is always enabled.
+			 *
+			 * XXX: Better CPU test needed here?
+			 */
+			if (!(i == 0 && (cpu_id & 0xf00) == 0x600))
+				wrmsr(MSR_MC_CTL(i), 0xffffffffffffffffUL);
+
+			/* Clear all errors. */
+			wrmsr(MSR_MC_STATUS(i), 0);
+		}
+		sched_unpin();
+	}
+
+	load_cr4(rcr4() | CR4_MCE);
+}
+
+/* Called when a machine check exception fires. */
+int
+mca_intr(void)
+{
+	uint64_t mcg_status;
+	int recoverable;
+
+	if (!(cpu_feature & CPUID_MCA)) {
+		/*
+		 * Just print the values of the old Pentium registers
+		 * and panic.
+		 */
+		printf("MC Type: 0x%lx  Address: 0x%lx\n",
+		    rdmsr(MSR_P5_MC_TYPE), rdmsr(MSR_P5_MC_ADDR));
+		return (0);
+	}
+
+	/* Scan the banks and check for any non-recoverable errors. */
+	recoverable = mca_scan(1);
+	mcg_status = rdmsr(MSR_MCG_STATUS);
+	if (!(mcg_status & MCG_STATUS_RIPV))
+		recoverable = 0;
+
+	/* Clear MCIP. */
+	wrmsr(MSR_MCG_STATUS, mcg_status & ~MCG_STATUS_MCIP);
+	return (recoverable);
+}

Modified: projects/pnet/sys/amd64/amd64/mp_machdep.c
==============================================================================
--- projects/pnet/sys/amd64/amd64/mp_machdep.c	Sat May 23 13:23:46 2009	(r192636)
+++ projects/pnet/sys/amd64/amd64/mp_machdep.c	Sat May 23 13:44:37 2009	(r192637)
@@ -57,8 +57,10 @@ __FBSDID("$FreeBSD$");
 #include <vm/vm_extern.h>
 
 #include <machine/apicreg.h>
+#include <machine/clock.h>
 #include <machine/cputypes.h>
 #include <machine/cpufunc.h>
+#include <machine/mca.h>
 #include <machine/md_var.h>
 #include <machine/mp_watchdog.h>
 #include <machine/pcb.h>
@@ -112,9 +114,9 @@ volatile int smp_tlb_wait;
 extern inthand_t IDTVEC(fast_syscall), IDTVEC(fast_syscall32);
 
 #ifdef STOP_NMI
-volatile cpumask_t ipi_nmi_pending;
+static volatile cpumask_t ipi_nmi_pending;
 
-static void	ipi_nmi_selected(u_int32_t cpus);
+static void	ipi_nmi_selected(cpumask_t cpus);
 #endif 
 
 /*
@@ -160,6 +162,8 @@ int apic_cpuids[MAX_APIC_ID + 1];
 static volatile u_int cpu_ipi_pending[MAXCPU];
 
 static u_int boot_address;
+static int cpu_logical;
+static int cpu_cores;
 
 static void	assign_cpu_ids(void);
 static void	set_interrupt_apic_ids(void);
@@ -181,13 +185,148 @@ mem_range_AP_init(void)
 		mem_range_softc.mr_op->initAP(&mem_range_softc);
 }
 
-struct cpu_group *
-cpu_topo(void)
+static void
+topo_probe_0xb(void)
 {
+	int logical;
+	int p[4];
+	int bits;
+	int type;
+	int cnt;
+	int i;
+	int x;
+
+	/* We only support two levels for now. */
+	for (i = 0; i < 3; i++) {
+		cpuid_count(0x0B, i, p);
+		bits = p[0] & 0x1f;
+		logical = p[1] &= 0xffff;
+		type = (p[2] >> 8) & 0xff;
+		if (type == 0 || logical == 0)
+			break;
+		for (cnt = 0, x = 0; x <= MAX_APIC_ID; x++) {
+			if (!cpu_info[x].cpu_present ||
+			    cpu_info[x].cpu_disabled)
+				continue;
+			if (x >> bits == boot_cpu_id >> bits)
+				cnt++;
+		}
+		if (type == CPUID_TYPE_SMT)
+			cpu_logical = cnt;
+		else if (type == CPUID_TYPE_CORE)
+			cpu_cores = cnt;
+	}
+	if (cpu_logical == 0)
+		cpu_logical = 1;
+	cpu_cores /= cpu_logical;
+}
+
+static void
+topo_probe_0x4(void)
+{
+	u_int threads_per_cache, p[4];
+	u_int htt, cmp;
+	int i;
+
+	htt = cmp = 1;
+	/*
+	 * If this CPU supports HTT or CMP then mention the
+	 * number of physical/logical cores it contains.
+	 */
+	if (cpu_feature & CPUID_HTT)
+		htt = (cpu_procinfo & CPUID_HTT_CORES) >> 16;
+	if (cpu_vendor_id == CPU_VENDOR_AMD && (amd_feature2 & AMDID2_CMP))
+		cmp = (cpu_procinfo2 & AMDID_CMP_CORES) + 1;
+	else if (cpu_vendor_id == CPU_VENDOR_INTEL && (cpu_high >= 4)) {
+		cpuid_count(4, 0, p);
+		if ((p[0] & 0x1f) != 0)
+			cmp = ((p[0] >> 26) & 0x3f) + 1;
+	}
+	cpu_cores = cmp;
+	cpu_logical = htt / cmp;
+
+	/* Setup the initial logical CPUs info. */
+	if (cpu_feature & CPUID_HTT)
+		logical_cpus = (cpu_procinfo & CPUID_HTT_CORES) >> 16;
+
+	/*
+	 * Work out if hyperthreading is *really* enabled.  This
+	 * is made really ugly by the fact that processors lie: Dual
+	 * core processors claim to be hyperthreaded even when they're
+	 * not, presumably because they want to be treated the same
+	 * way as HTT with respect to per-cpu software licensing.
+	 * At the time of writing (May 12, 2005) the only hyperthreaded
+	 * cpus are from Intel, and Intel's dual-core processors can be
+	 * identified via the "deterministic cache parameters" cpuid
+	 * calls.
+	 */
+	/*
+	 * First determine if this is an Intel processor which claims
+	 * to have hyperthreading support.
+	 */
+	if ((cpu_feature & CPUID_HTT) && cpu_vendor_id == CPU_VENDOR_INTEL) {
+		/*
+		 * If the "deterministic cache parameters" cpuid calls
+		 * are available, use them.
+		 */
+		if (cpu_high >= 4) {
+			/* Ask the processor about the L1 cache. */
+			for (i = 0; i < 1; i++) {
+				cpuid_count(4, i, p);
+				threads_per_cache = ((p[0] & 0x3ffc000) >> 14) + 1;
+				if (hyperthreading_cpus < threads_per_cache)
+					hyperthreading_cpus = threads_per_cache;
+				if ((p[0] & 0x1f) == 0)
+					break;
+			}
+		}
+
+		/*
+		 * If the deterministic cache parameters are not
+		 * available, or if no caches were reported to exist,
+		 * just accept what the HTT flag indicated.
+		 */
+		if (hyperthreading_cpus == 0)
+			hyperthreading_cpus = logical_cpus;
+	}
+}
+
+static void
+topo_probe(void)
+{
+	static int cpu_topo_probed = 0;
+
+	if (cpu_topo_probed)
+		return;
+
+	logical_cpus = logical_cpus_mask = 0;
+	if (cpu_high >= 0xb)
+		topo_probe_0xb();
+	else if (cpu_high)
+		topo_probe_0x4();
 	if (cpu_cores == 0)
-		cpu_cores = 1;
+		cpu_cores = mp_ncpus > 0 ? mp_ncpus : 1;
 	if (cpu_logical == 0)
 		cpu_logical = 1;
+	cpu_topo_probed = 1;
+}
+
+struct cpu_group *
+cpu_topo(void)
+{
+	int cg_flags;
+
+	/*
+	 * Determine whether any threading flags are
+	 * necessry.
+	 */
+	topo_probe();
+	if (cpu_logical > 1 && hyperthreading_cpus)
+		cg_flags = CG_FLAG_HTT;
+	else if (cpu_logical > 1)
+		cg_flags = CG_FLAG_SMT;
+	else
+		cg_flags = 0;
 	if (mp_ncpus % (cpu_cores * cpu_logical) != 0) {
 		printf("WARNING: Non-uniform processors.\n");
 		printf("WARNING: Using suboptimal topology.\n");
@@ -202,17 +341,17 @@ cpu_topo(void)
 	 * Only HTT no multi-core.
 	 */
 	if (cpu_logical > 1 && cpu_cores == 1)
-		return (smp_topo_1level(CG_SHARE_L1, cpu_logical, CG_FLAG_HTT));
+		return (smp_topo_1level(CG_SHARE_L1, cpu_logical, cg_flags));
 	/*
 	 * Only multi-core no HTT.
 	 */
 	if (cpu_cores > 1 && cpu_logical == 1)
-		return (smp_topo_1level(CG_SHARE_NONE, cpu_cores, 0));
+		return (smp_topo_1level(CG_SHARE_L2, cpu_cores, cg_flags));
 	/*
 	 * Both HTT and multi-core.
 	 */
-	return (smp_topo_2level(CG_SHARE_NONE, cpu_cores,
-	    CG_SHARE_L1, cpu_logical, CG_FLAG_HTT));
+	return (smp_topo_2level(CG_SHARE_L2, cpu_cores,
+	    CG_SHARE_L1, cpu_logical, cg_flags));

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-projects mailing list