Date: Fri, 4 Sep 2009 11:19:09 GMT From: Ana Kukec <anchie@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 168152 for review Message-ID: <200909041119.n84BJ9va044705@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=168152 Change 168152 by anchie@anchie_malimis on 2009/09/04 11:19:01 Update. Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/amd64/amd64/elf_machdep.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/amd64/local_apic.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/amd64/machdep.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/amd64/mp_machdep.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/amd64/pmap.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/amd64/trap.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/conf/GENERIC#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/conf/NOTES#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/conf/XENHVM#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/include/apicvar.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/include/pmc_mdep.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/include/smp.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/linux32/linux32_sysvec.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/arm/undefined.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/arm/vm_machdep.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/at91/uart_dev_at91usart.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/conf/CAMBRIA#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/conf/SHEEVAPLUG#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/arm/mv/common.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/mv/discovery/db78xxx.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/mv/kirkwood/db88f6xxx.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/mv/kirkwood/files.db88f6xxx#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/mv/kirkwood/files.kirkwood#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/arm/mv/kirkwood/files.sheevaplug#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/arm/mv/kirkwood/sheevaplug.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/arm/mv/kirkwood/std.db88f6xxx#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/mv/kirkwood/std.kirkwood#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/arm/mv/kirkwood/std.sheevaplug#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/arm/mv/mv_machdep.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/mv/mvreg.h#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/mv/mvvar.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/mv/orion/db88f5xxx.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/xscale/ixp425/ixdp425_pci.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/boot/i386/gptboot/gptboot.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cam/ata/ata_all.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cam/ata/ata_all.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cam/ata/ata_da.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cam/ata/ata_xpt.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cam/cam_ccb.h#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cam/cam_xpt.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cam/scsi/scsi_da.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/compat/opensolaris/kern/opensolaris_taskq.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/cddl/compat/opensolaris/rpc/xdr.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/compat/opensolaris/sys/mutex.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/compat/opensolaris/sys/proc.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/compat/opensolaris/sys/taskq.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/cddl/compat/opensolaris/sys/taskq_impl.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/cddl/compat/opensolaris/sys/vnode.h#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/common/nvpair/nvpair.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/vnode.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/os/taskq.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr_array.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr_mem.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/rpc/xdr.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/sys/callb.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/sys/taskq.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/sys/vnode.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/ia32/ia32_sysvec.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/linprocfs/linprocfs.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/linux/linux_ioctl.c#5 integrate .. //depot/projects/soc2009/anchie_send/src/sys/conf/NOTES#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/conf/files#5 integrate .. //depot/projects/soc2009/anchie_send/src/sys/conf/files.amd64#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/conf/files.i386#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/conf/files.ia64#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/conf/files.powerpc#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/conf/files.sparc64#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/conf/newvers.sh#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/conf/options#5 integrate .. //depot/projects/soc2009/anchie_send/src/sys/conf/options.amd64#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/conf/options.arm#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/conf/options.i386#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/conf/options.pc98#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/altq/altq/altq_subr.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/pf/net/pf.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/pf/net/pf_if.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/pf/net/pfvar.h#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/aac/aac.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_battery.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_cpu.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_dock.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_thermal.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/adb/adb_bus.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ahci/ahci.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ahci/ahci.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/alc/if_alc.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/amdtemp/amdtemp.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/amr/amr.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/asmc/asmc.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ata/ata-all.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ata/ata-disk.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ath/ath_hal/ah_regdomain.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ath/if_ath.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/atkbdc/psm.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/bge/if_bge.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/bktr/bktr_os.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/drm/drmP.h#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/drm/drm_bufs.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/drm/drm_drv.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/drm/drm_fops.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/drm/drm_sysctl.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/drm/r600_blit.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/drm/r600_cp.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/drm/radeon_cp.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/drm/radeon_cs.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/drm/radeon_drm.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/drm/radeon_drv.h#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/drm/radeon_state.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/e1000/if_em.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/e1000/if_igb.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/hptrr/hptrr_osm_bsd.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/hwpmc/hwpmc_core.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/hwpmc/hwpmc_piv.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/hwpmc/hwpmc_ppro.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/hwpmc/hwpmc_x86.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/hwpmc/pmc_events.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ips/ips_pci.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/iscsi/initiator/isc_cam.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ixgbe/ixgbe.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/mfi/mfi.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/mfi/mfi_ioctl.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/mfi/mfireg.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/mge/if_mge.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/mii/e1000phy.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/mlx/mlx.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/mmc/mmc.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/pccbb/pccbb.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ppbus/vpo.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/pst/pst-iop.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/pty/pty.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/re/if_re.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/rp/rp.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/siis/siis.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/snp/snp.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/hda/hdac.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/hda/hdac_private.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/hda/hdac_reg.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/usb/uaudio.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/syscons/scterm-teken.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/syscons/scvgarndr.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/syscons/scvidctl.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/syscons/teken/Makefile#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/dev/syscons/teken/gensequences#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/dev/syscons/teken/sequences#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/dev/syscons/teken/teken.c#3 delete .. //depot/projects/soc2009/anchie_send/src/sys/dev/syscons/teken/teken.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/dev/syscons/teken/teken_demo.c#3 delete .. //depot/projects/soc2009/anchie_send/src/sys/dev/syscons/teken/teken_scs.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/dev/syscons/teken/teken_stress.c#3 delete .. //depot/projects/soc2009/anchie_send/src/sys/dev/syscons/teken/teken_subr.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/dev/syscons/teken/teken_subr_compat.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/dev/syscons/teken/teken_wcwidth.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/dev/twe/twe.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/txp/if_txp.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/controller/usb_controller.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/input/ukbd.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/misc/ufm.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/net/if_aue.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/net/if_cdce.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/net/usb_ethernet.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/serial/uipaq.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/serial/uvisor.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/storage/umass.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/storage/urio.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb.h#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_busdma.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_compat_linux.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_dev.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_device.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_device.h#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_handle_request.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_hub.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_process.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_process.h#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_transfer.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usbdevs#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/wlan/if_upgt.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/wlan/if_zyd.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/xen/blkback/blkback.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/xen/blkfront/blkfront.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/xen/console/console.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/xen/netback/netback.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/fifofs/fifo_vnops.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/nfsclient/nfs_clsubs.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/nfsclient/nfs_clvnops.c#5 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/pseudofs/pseudofs_vnops.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/geom/geom_disk.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/geom/multipath/g_multipath.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/geom/part/g_part_gpt.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/acpica/acpi_machdep.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/bios/smapi.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/bios/smbios.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/bios/vpd.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/conf/GENERIC#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/conf/NOTES#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/i386/elf_machdep.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/i386/local_apic.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/i386/machdep.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/i386/mp_machdep.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/i386/pmap.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/i386/trap.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/include/apicvar.h#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/include/pcpu.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/include/pmap.h#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/include/pmc_mdep.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/include/smp.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/isa/vesa.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/linux/linux_sysvec.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/xen/locore.s#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/xen/mp_machdep.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/xen/pmap.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/ia64/ia64/genassym.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/ia64/ia64/interrupt.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/ia64/ia64/machdep.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/ia64/ia64/mp_machdep.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/ia64/include/smp.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/isa/isahint.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/imgact_elf.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_conf.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_cons.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_exit.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_fork.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_jail.c#5 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_kthread.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_lock.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_mutex.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_poll.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_proc.c#5 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_rwlock.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_shutdown.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_subr.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_sx.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_thr.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_thread.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_uuid.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/subr_bus.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/subr_kdb.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/subr_sglist.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/subr_smp.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/subr_taskqueue.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/sys_generic.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/tty_pts.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/tty_pty.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/kern/tty_ttydisc.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/uipc_domain.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/uipc_socket.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/vfs_cache.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/vfs_syscalls.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/vfs_vnops.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/mips/include/smp.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/mips/mips/mp_machdep.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/modules/Makefile#8 integrate .. //depot/projects/soc2009/anchie_send/src/sys/modules/drm/radeon/Makefile#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/modules/pty/Makefile#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/modules/zfs/Makefile#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/net/bridgestp.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/net/flowtable.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/net/flowtable.h#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/net/if.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/net/if_arp.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/net/if_bridge.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/net/if_ef.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/net/if_llatbl.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/net/if_llatbl.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/net/if_var.h#5 integrate .. //depot/projects/soc2009/anchie_send/src/sys/net/if_vlan.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/net/rtsock.c#21 integrate .. //depot/projects/soc2009/anchie_send/src/sys/net/vnet.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/net/vnet.h#5 integrate .. //depot/projects/soc2009/anchie_send/src/sys/net80211/ieee80211_dfs.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/net80211/ieee80211_input.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/net80211/ieee80211_sta.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netgraph/ng_gif.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/if_ether.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/in.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/ip_carp.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/ip_divert.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/ip_divert.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/ip_fw.h#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/ip_output.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/ipfw/ip_fw2.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/ipfw/ip_fw_pfil.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/sctp_bsd_addr.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/sctp_indata.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/sctp_input.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/sctp_os_bsd.h#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/sctp_output.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/sctp_pcb.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/sctp_timer.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/sctputil.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/sctputil.h#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet/tcp_timewait.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#24 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/in6.c#5 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/in6_ifattach.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/ip6_input.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#20 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6_rtr.c#7 integrate .. //depot/projects/soc2009/anchie_send/src/sys/netipsec/xform_ipip.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/nfsclient/bootp_subr.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/nfsclient/nfs_subs.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/nfsclient/nfs_vnops.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/opencrypto/cryptodev.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/pc98/cbus/fdc.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/pc98/conf/NOTES#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/pci/if_rlreg.h#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/powerpc/include/smp.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/powerpc/powerpc/mp_machdep.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/rpc/clnt_dg.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/rpc/clnt_rc.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/rpc/clnt_vc.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/rpc/rpc_generic.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/rpc/svc_dg.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/rpc/svc_generic.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/rpc/svc_vc.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/sparc64/include/smp.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/sun4v/include/smp.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/sys/bus.h#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/sys/conf.h#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/sys/cons.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/sys/imgact_elf.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/sys/lock.h#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/sys/param.h#5 integrate .. //depot/projects/soc2009/anchie_send/src/sys/sys/proc.h#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/sys/sglist.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/sys/smp.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/sys/systm.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/sys/taskqueue.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/sys/ttydisc.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/sys/types.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/teken/Makefile#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/teken/gensequences#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/teken/sequences#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/teken/teken.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/teken/teken.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/teken/teken_demo.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/teken/teken_scs.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/teken/teken_stress.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/teken/teken_subr.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/teken/teken_subr_compat.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/teken/teken_wcwidth.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/ufs/ffs/ffs_softdep.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/vm/device_pager.c#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/vm/sg_pager.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/vm/vm.h#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/vm/vm_extern.h#4 integrate .. //depot/projects/soc2009/anchie_send/src/sys/vm/vm_glue.c#3 integrate .. //depot/projects/soc2009/anchie_send/src/sys/xen/xenbus/xenbus_probe.c#3 integrate Differences ... ==== //depot/projects/soc2009/anchie_send/src/sys/amd64/amd64/elf_machdep.c#2 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/elf_machdep.c,v 1.30 2009/04/05 09:27:19 dchagin Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/elf_machdep.c,v 1.32 2009/08/30 14:38:17 bz Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -35,6 +35,7 @@ #include <sys/sysent.h> #include <sys/imgact_elf.h> #include <sys/syscall.h> +#include <sys/sysent.h> #include <sys/signalvar.h> #include <sys/vnode.h> @@ -108,6 +109,22 @@ (sysinit_cfunc_t) elf64_insert_brand_entry, &freebsd_brand_oinfo); +static Elf64_Brandinfo kfreebsd_brand_info = { + .brand = ELFOSABI_FREEBSD, + .machine = EM_X86_64, + .compat_3_brand = "FreeBSD", + .emul_path = NULL, + .interp_path = "/lib/ld-kfreebsd-x86-64.so.1", + .sysvec = &elf64_freebsd_sysvec, + .interp_newpath = NULL, + .brand_note = &elf64_kfreebsd_brandnote, + .flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE_MANDATORY +}; + +SYSINIT(kelf64, SI_SUB_EXEC, SI_ORDER_ANY, + (sysinit_cfunc_t) elf64_insert_brand_entry, + &kfreebsd_brand_info); + void elf64_dump_thread(struct thread *td __unused, void *dst __unused, ==== //depot/projects/soc2009/anchie_send/src/sys/amd64/amd64/local_apic.c#4 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.58 2009/07/01 17:20:07 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.61 2009/09/02 00:39:59 jhb Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_kdtrace.h" @@ -123,7 +123,7 @@ { 1, 1, 0, 1, APIC_LVT_DM_NMI, 0 }, /* LINT1: NMI */ { 1, 1, 1, 1, APIC_LVT_DM_FIXED, APIC_TIMER_INT }, /* Timer */ { 1, 1, 1, 1, APIC_LVT_DM_FIXED, APIC_ERROR_INT }, /* Error */ - { 1, 1, 0, 1, APIC_LVT_DM_NMI, 0 }, /* PMC */ + { 1, 1, 1, 1, APIC_LVT_DM_NMI, 0 }, /* PMC */ { 1, 1, 1, 1, APIC_LVT_DM_FIXED, APIC_THERMAL_INT }, /* Thermal */ }; @@ -305,11 +305,9 @@ lapic->lvt_lint0 = lvt_mode(la, LVT_LINT0, lapic->lvt_lint0); lapic->lvt_lint1 = lvt_mode(la, LVT_LINT1, lapic->lvt_lint1); -#ifdef HWPMC_HOOKS /* Program the PMC LVT entry if present. */ if (maxlvt >= LVT_PMC) lapic->lvt_pcint = lvt_mode(la, LVT_PMC, lapic->lvt_pcint); -#endif /* Program timer LVT and setup handler. */ lapic->lvt_timer = lvt_mode(la, LVT_TIMER, lapic->lvt_timer); @@ -332,6 +330,88 @@ intr_restore(eflags); } +void +lapic_reenable_pmc(void) +{ +#ifdef HWPMC_HOOKS + uint32_t value; + + value = lapic->lvt_pcint; + value &= ~APIC_LVT_M; + lapic->lvt_pcint = value; +#endif +} + +#ifdef HWPMC_HOOKS +static void +lapic_update_pmc(void *dummy) +{ + struct lapic *la; + + la = &lapics[lapic_id()]; + lapic->lvt_pcint = lvt_mode(la, LVT_PMC, lapic->lvt_pcint); +} +#endif + +int +lapic_enable_pmc(void) +{ +#ifdef HWPMC_HOOKS + u_int32_t maxlvt; + + /* Fail if the local APIC is not present. */ + if (lapic == NULL) + return (0); + + /* Fail if the PMC LVT is not present. */ + maxlvt = (lapic->version & APIC_VER_MAXLVT) >> MAXLVTSHIFT; + if (maxlvt < LVT_PMC) + return (0); + + lvts[LVT_PMC].lvt_masked = 0; + +#ifdef SMP + /* + * If hwpmc was loaded at boot time then the APs may not be + * started yet. In that case, don't forward the request to + * them as they will program the lvt when they start. + */ + if (smp_started) + smp_rendezvous(NULL, lapic_update_pmc, NULL, NULL); + else +#endif + lapic_update_pmc(NULL); + return (1); +#else + return (0); +#endif +} + +void +lapic_disable_pmc(void) +{ +#ifdef HWPMC_HOOKS + u_int32_t maxlvt; + + /* Fail if the local APIC is not present. */ + if (lapic == NULL) + return; + + /* Fail if the PMC LVT is not present. */ + maxlvt = (lapic->version & APIC_VER_MAXLVT) >> MAXLVTSHIFT; + if (maxlvt < LVT_PMC) + return; + + lvts[LVT_PMC].lvt_masked = 1; + +#ifdef SMP + /* The APs should always be started when hwpmc is unloaded. */ + KASSERT(mp_ncpus == 1 || smp_started, ("hwpmc unloaded too early")); +#endif + smp_rendezvous(NULL, lapic_update_pmc, NULL, NULL); +#endif +} + /* * Called by cpu_initclocks() on the BSP to setup the local APIC timer so * that it can drive hardclock, statclock, and profclock. This function @@ -910,18 +990,21 @@ * we don't lose an interrupt delivery race. */ td = curthread; - thread_lock(td); - if (sched_is_bound(td)) - panic("apic_free_vector: Thread already bound.\n"); - sched_bind(td, apic_cpuid(apic_id)); - thread_unlock(td); + if (!rebooting) { + thread_lock(td); + if (sched_is_bound(td)) + panic("apic_free_vector: Thread already bound.\n"); + 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] = -1; mtx_unlock_spin(&icu_lock); - thread_lock(td); - sched_unbind(td); - thread_unlock(td); - + if (!rebooting) { + thread_lock(td); + sched_unbind(td); + thread_unlock(td); + } } /* Map an IDT vector (APIC) to an IRQ (interrupt source). */ @@ -1238,8 +1321,17 @@ KASSERT((vector & ~APIC_VECTOR_MASK) == 0, ("%s: invalid vector %d", __func__, vector)); - icrlo = vector | APIC_DELMODE_FIXED | APIC_DESTMODE_PHY | - APIC_LEVEL_DEASSERT | APIC_TRIGMOD_EDGE; + icrlo = APIC_DESTMODE_PHY | APIC_TRIGMOD_EDGE; + + /* + * IPI_STOP_HARD is just a "fake" vector used to send a NMI. + * Use special rules regard NMI if passed, otherwise specify + * the vector. + */ + if (vector == IPI_STOP_HARD) + icrlo |= APIC_DELMODE_NMI | APIC_LEVEL_ASSERT; + else + icrlo |= vector | APIC_DELMODE_FIXED | APIC_LEVEL_DEASSERT; destfield = 0; switch (dest) { case APIC_IPI_DEST_SELF: ==== //depot/projects/soc2009/anchie_send/src/sys/amd64/amd64/machdep.c#4 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.707 2009/08/02 11:26:23 ed Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.709 2009/08/20 22:58:05 jkim Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -217,6 +217,7 @@ strncmp(sysenv, "MacBook3,1", 10) == 0 || strncmp(sysenv, "MacBookPro1,1", 13) == 0 || strncmp(sysenv, "MacBookPro1,2", 13) == 0 || + strncmp(sysenv, "MacBookPro3,1", 13) == 0 || strncmp(sysenv, "Macmini1,1", 10) == 0) { if (bootverbose) printf("Disabling LEGACY_USB_EN bit on " @@ -235,19 +236,21 @@ #ifdef PERFMON perfmon_init(); #endif + realmem = Maxmem; + + /* + * Display physical memory if SMBIOS reports reasonable amount. + */ + memsize = 0; sysenv = getenv("smbios.memory.enabled"); if (sysenv != NULL) { - memsize = (uintmax_t)strtoul(sysenv, (char **)NULL, 10); + memsize = (uintmax_t)strtoul(sysenv, (char **)NULL, 10) << 10; freeenv(sysenv); - } else - memsize = 0; - if (memsize > 0) - printf("real memory = %ju (%ju MB)\n", memsize << 10, - memsize >> 10); - else - printf("real memory = %ju (%ju MB)\n", ptoa((uintmax_t)Maxmem), - ptoa((uintmax_t)Maxmem) / 1048576); - realmem = Maxmem; + } + if (memsize < ptoa((uintmax_t)cnt.v_free_count)) + memsize = ptoa((uintmax_t)Maxmem); + printf("real memory = %ju (%ju MB)\n", memsize, memsize >> 20); + /* * Display any holes after the first chunk of extended memory. */ ==== //depot/projects/soc2009/anchie_send/src/sys/amd64/amd64/mp_machdep.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.309 2009/06/23 22:42:39 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.310 2009/08/13 17:09:45 attilio Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -114,31 +114,12 @@ extern inthand_t IDTVEC(fast_syscall), IDTVEC(fast_syscall32); -#ifdef STOP_NMI -static volatile cpumask_t ipi_nmi_pending; - -static void ipi_nmi_selected(cpumask_t cpus); -#endif - /* * Local data and functions. */ -#ifdef STOP_NMI -/* - * Provide an alternate method of stopping other CPUs. If another CPU has - * disabled interrupts the conventional STOP IPI will be blocked. This - * NMI-based stop should get through in that case. - */ -static int stop_cpus_with_nmi = 1; -SYSCTL_INT(_debug, OID_AUTO, stop_cpus_with_nmi, CTLTYPE_INT | CTLFLAG_RW, - &stop_cpus_with_nmi, 0, ""); -TUNABLE_INT("debug.stop_cpus_with_nmi", &stop_cpus_with_nmi); -#else -#define stop_cpus_with_nmi 0 -#endif - static u_int logical_cpus; +static volatile cpumask_t ipi_nmi_pending; /* used to hold the AP's until we are ready to release them */ static struct mtx ap_boot_mtx; @@ -1158,12 +1139,14 @@ ipi = IPI_BITMAP_VECTOR; } -#ifdef STOP_NMI - if (ipi == IPI_STOP && stop_cpus_with_nmi) { - ipi_nmi_selected(cpus); - return; - } -#endif + /* + * IPI_STOP_HARD maps to a NMI and the trap handler needs a bit + * of help in order to understand what is the source. + * Set the mask of receiving CPUs for this purpose. + */ + if (ipi == IPI_STOP_HARD) + atomic_set_int(&ipi_nmi_pending, cpus); + CTR3(KTR_SMP, "%s: cpus: %x ipi: %x", __func__, cpus, ipi); while ((cpu = ffs(cpus)) != 0) { cpu--; @@ -1194,64 +1177,43 @@ ipi_all_but_self(u_int ipi) { - if (IPI_IS_BITMAPED(ipi) || (ipi == IPI_STOP && stop_cpus_with_nmi)) { + if (IPI_IS_BITMAPED(ipi)) { ipi_selected(PCPU_GET(other_cpus), ipi); return; } + + /* + * IPI_STOP_HARD maps to a NMI and the trap handler needs a bit + * of help in order to understand what is the source. + * Set the mask of receiving CPUs for this purpose. + */ + if (ipi == IPI_STOP_HARD) + atomic_set_int(&ipi_nmi_pending, PCPU_GET(other_cpus)); + CTR2(KTR_SMP, "%s: ipi: %x", __func__, ipi); lapic_ipi_vectored(ipi, APIC_IPI_DEST_OTHERS); } -#ifdef STOP_NMI -/* - * send NMI IPI to selected CPUs - */ - -#define BEFORE_SPIN 1000000 - -static void -ipi_nmi_selected(cpumask_t cpus) -{ - int cpu; - register_t icrlo; - - icrlo = APIC_DELMODE_NMI | APIC_DESTMODE_PHY | APIC_LEVEL_ASSERT - | APIC_TRIGMOD_EDGE; - - CTR2(KTR_SMP, "%s: cpus: %x nmi", __func__, cpus); - - atomic_set_int(&ipi_nmi_pending, cpus); - - while ((cpu = ffs(cpus)) != 0) { - cpu--; - cpus &= ~(1 << cpu); - - KASSERT(cpu_apic_ids[cpu] != -1, - ("IPI NMI to non-existent CPU %d", cpu)); - - /* Wait for an earlier IPI to finish. */ - if (!lapic_ipi_wait(BEFORE_SPIN)) - panic("ipi_nmi_selected: previous IPI has not cleared"); - - lapic_ipi_raw(icrlo, cpu_apic_ids[cpu]); - } -} - int -ipi_nmi_handler(void) +ipi_nmi_handler() { - int cpumask = PCPU_GET(cpumask); + cpumask_t cpumask; - if (!(ipi_nmi_pending & cpumask)) - return 1; + /* + * As long as there is not a simple way to know about a NMI's + * source, if the bitmask for the current CPU is present in + * the global pending bitword an IPI_STOP_HARD has been issued + * and should be handled. + */ + cpumask = PCPU_GET(cpumask); + if ((ipi_nmi_pending & cpumask) == 0) + return (1); atomic_clear_int(&ipi_nmi_pending, cpumask); cpustop_handler(); - return 0; + return (0); } -#endif /* STOP_NMI */ - /* * Handle an IPI_STOP by saving our current context and spinning until we * are resumed. ==== //depot/projects/soc2009/anchie_send/src/sys/amd64/amd64/pmap.c#4 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.667 2009/07/24 13:50:29 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.672 2009/09/02 16:47:10 jkim Exp $"); /* * Manages physical address maps. @@ -178,6 +178,8 @@ vm_offset_t kernel_vm_end = VM_MIN_KERNEL_ADDRESS; pt_entry_t pg_nx; +static int pat_works = 0; /* Is page attribute table sane? */ + SYSCTL_NODE(_vm, OID_AUTO, pmap, CTLFLAG_RD, 0, "VM/pmap parameters"); static int pg_ps_enabled = 1; @@ -590,20 +592,56 @@ pmap_init_pat(void) { uint64_t pat_msr; + char *sysenv; + static int pat_tested = 0; /* Bail if this CPU doesn't implement PAT. */ if (!(cpu_feature & CPUID_PAT)) panic("no PAT??"); /* - * Leave the indices 0-3 at the default of WB, WT, UC, and UC-. - * Program 4 and 5 as WP and WC. - * Leave 6 and 7 as UC and UC-. + * Some Apple Macs based on nVidia chipsets cannot enter ACPI mode + * via SMI# when we use upper 4 PAT entries for unknown reason. */ - pat_msr = rdmsr(MSR_PAT); - pat_msr &= ~(PAT_MASK(4) | PAT_MASK(5)); - pat_msr |= PAT_VALUE(4, PAT_WRITE_PROTECTED) | - PAT_VALUE(5, PAT_WRITE_COMBINING); + if (!pat_tested) { + pat_works = 1; + sysenv = getenv("smbios.system.product"); + if (sysenv != NULL) { + if (strncmp(sysenv, "MacBook5,1", 10) == 0 || + strncmp(sysenv, "MacBookPro5,5", 13) == 0 || + strncmp(sysenv, "Macmini3,1", 10) == 0) + pat_works = 0; + freeenv(sysenv); + } + pat_tested = 1; + } + + /* Initialize default PAT entries. */ + pat_msr = PAT_VALUE(0, PAT_WRITE_BACK) | + PAT_VALUE(1, PAT_WRITE_THROUGH) | + PAT_VALUE(2, PAT_UNCACHED) | + PAT_VALUE(3, PAT_UNCACHEABLE) | + PAT_VALUE(4, PAT_WRITE_BACK) | + PAT_VALUE(5, PAT_WRITE_THROUGH) | + PAT_VALUE(6, PAT_UNCACHED) | + PAT_VALUE(7, PAT_UNCACHEABLE); + + if (pat_works) { + /* + * Leave the indices 0-3 at the default of WB, WT, UC-, and UC. + * Program 4 and 5 as WP and WC. + * Leave 6 and 7 as UC- and UC. + */ + pat_msr &= ~(PAT_MASK(4) | PAT_MASK(5)); + pat_msr |= PAT_VALUE(4, PAT_WRITE_PROTECTED) | + PAT_VALUE(5, PAT_WRITE_COMBINING); + } else { + /* + * Just replace PAT Index 2 with WC instead of UC-. + */ + pat_msr &= ~PAT_MASK(2); + pat_msr |= PAT_VALUE(2, PAT_WRITE_COMBINING); + } wrmsr(MSR_PAT, pat_msr); } @@ -754,27 +792,48 @@ pat_flag = is_pde ? PG_PDE_PAT : PG_PTE_PAT; /* Map the caching mode to a PAT index. */ - switch (mode) { - case PAT_UNCACHEABLE: - pat_index = 3; - break; - case PAT_WRITE_THROUGH: - pat_index = 1; - break; - case PAT_WRITE_BACK: - pat_index = 0; - break; - case PAT_UNCACHED: - pat_index = 2; - break; - case PAT_WRITE_COMBINING: - pat_index = 5; - break; - case PAT_WRITE_PROTECTED: - pat_index = 4; - break; - default: - panic("Unknown caching mode %d\n", mode); + if (pat_works) { + switch (mode) { + case PAT_UNCACHEABLE: + pat_index = 3; + break; + case PAT_WRITE_THROUGH: + pat_index = 1; + break; + case PAT_WRITE_BACK: + pat_index = 0; + break; + case PAT_UNCACHED: + pat_index = 2; + break; + case PAT_WRITE_COMBINING: + pat_index = 5; + break; + case PAT_WRITE_PROTECTED: + pat_index = 4; + break; + default: + panic("Unknown caching mode %d\n", mode); + } + } else { + switch (mode) { + case PAT_UNCACHED: + case PAT_UNCACHEABLE: + case PAT_WRITE_PROTECTED: + pat_index = 3; + break; + case PAT_WRITE_THROUGH: + pat_index = 1; + break; + case PAT_WRITE_BACK: + pat_index = 0; + break; + case PAT_WRITE_COMBINING: + pat_index = 2; + break; + default: + panic("Unknown caching mode %d\n", mode); + } } /* Map the 3-bit index value into the PAT, PCD, and PWT bits. */ @@ -943,8 +1002,8 @@ * coherence domain. */ mfence(); - for (; eva < sva; eva += cpu_clflush_line_size) - clflush(eva); + for (; sva < eva; sva += cpu_clflush_line_size) + clflush(sva); mfence(); } else { @@ -2261,6 +2320,8 @@ " in pmap %p", va, pmap); return (FALSE); } + if (va < VM_MAXUSER_ADDRESS) + pmap->pm_stats.resident_count++; } mptepa = VM_PAGE_TO_PHYS(mpte); firstpte = (pt_entry_t *)PHYS_TO_DMAP(mptepa); @@ -4474,7 +4535,8 @@ if (base < DMAP_MIN_ADDRESS) return (EINVAL); - cache_bits_pde = cache_bits_pte = -1; + cache_bits_pde = pmap_cache_bits(mode, 1); + cache_bits_pte = pmap_cache_bits(mode, 0); changed = FALSE; /* @@ -4491,8 +4553,6 @@ * memory type, then we need not demote this page. Just * increment tmpva to the next 1GB page frame. */ - if (cache_bits_pde < 0) - cache_bits_pde = pmap_cache_bits(mode, 1); if ((*pdpe & PG_PDE_CACHE) == cache_bits_pde) { tmpva = trunc_1gpage(tmpva) + NBPDP; continue; @@ -4520,8 +4580,6 @@ * memory type, then we need not demote this page. Just * increment tmpva to the next 2MB page frame. */ - if (cache_bits_pde < 0) - cache_bits_pde = pmap_cache_bits(mode, 1); if ((*pde & PG_PDE_CACHE) == cache_bits_pde) { tmpva = trunc_2mpage(tmpva) + NBPDR; continue; @@ -4555,12 +4613,9 @@ for (tmpva = base; tmpva < base + size; ) { pdpe = pmap_pdpe(kernel_pmap, tmpva); if (*pdpe & PG_PS) { >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200909041119.n84BJ9va044705>