PERFORCE change 168152 for review
Ana Kukec
anchie at FreeBSD.org
Fri Sep 4 11:19:11 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=168152
Change 168152 by anchie at 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) <<<
More information about the p4-projects
mailing list