PERFORCE change 196215 for review

John Baldwin jhb at FreeBSD.org
Fri Jul 15 21:18:05 UTC 2011


http://p4web.freebsd.org/@@196215?ac=10

Change 196215 by jhb at jhb_jhbbsd on 2011/07/15 21:17:02

	IFC @196214

Affected files ...

.. //depot/projects/pci/sys/amd64/acpica/acpi_wakeup.c#3 integrate
.. //depot/projects/pci/sys/amd64/amd64/mp_machdep.c#4 integrate
.. //depot/projects/pci/sys/amd64/amd64/pmap.c#4 integrate
.. //depot/projects/pci/sys/amd64/amd64/sys_machdep.c#3 integrate
.. //depot/projects/pci/sys/amd64/amd64/vm_machdep.c#3 integrate
.. //depot/projects/pci/sys/amd64/include/cpufunc.h#3 integrate
.. //depot/projects/pci/sys/arm/arm/pmap.c#3 integrate
.. //depot/projects/pci/sys/arm/arm/sys_machdep.c#2 integrate
.. //depot/projects/pci/sys/arm/at91/at91_machdep.c#2 integrate
.. //depot/projects/pci/sys/arm/mv/common.c#2 integrate
.. //depot/projects/pci/sys/arm/mv/gpio.c#3 integrate
.. //depot/projects/pci/sys/arm/mv/mv_machdep.c#2 integrate
.. //depot/projects/pci/sys/arm/sa11x0/assabet_machdep.c#2 integrate
.. //depot/projects/pci/sys/arm/sa11x0/sa11x0.c#2 integrate
.. //depot/projects/pci/sys/boot/Makefile#3 integrate
.. //depot/projects/pci/sys/boot/Makefile.amd64#2 integrate
.. //depot/projects/pci/sys/boot/Makefile.arm#2 integrate
.. //depot/projects/pci/sys/boot/Makefile.powerpc#2 integrate
.. //depot/projects/pci/sys/boot/common/Makefile.inc#4 integrate
.. //depot/projects/pci/sys/boot/common/disk.c#1 branch
.. //depot/projects/pci/sys/boot/common/disk.h#1 branch
.. //depot/projects/pci/sys/boot/common/load_elf.c#3 integrate
.. //depot/projects/pci/sys/boot/common/reloc_elf.c#2 integrate
.. //depot/projects/pci/sys/boot/common/ufsread.c#3 integrate
.. //depot/projects/pci/sys/boot/ficl/amd64/sysdep.c#1 branch
.. //depot/projects/pci/sys/boot/ficl/amd64/sysdep.h#1 branch
.. //depot/projects/pci/sys/boot/i386/libi386/bioscd.c#2 integrate
.. //depot/projects/pci/sys/boot/i386/zfsboot/Makefile#5 integrate
.. //depot/projects/pci/sys/boot/i386/zfsboot/zfsldr.S#5 integrate
.. //depot/projects/pci/sys/boot/sparc64/loader/main.c#4 integrate
.. //depot/projects/pci/sys/boot/userboot/Makefile#1 branch
.. //depot/projects/pci/sys/boot/userboot/ficl/Makefile#1 branch
.. //depot/projects/pci/sys/boot/userboot/libstand/Makefile#1 branch
.. //depot/projects/pci/sys/boot/userboot/libstand/amd64/_setjmp.S#1 branch
.. //depot/projects/pci/sys/boot/userboot/test/Makefile#1 branch
.. //depot/projects/pci/sys/boot/userboot/test/test.c#1 branch
.. //depot/projects/pci/sys/boot/userboot/userboot.h#1 branch
.. //depot/projects/pci/sys/boot/userboot/userboot/Makefile#1 branch
.. //depot/projects/pci/sys/boot/userboot/userboot/autoload.c#1 branch
.. //depot/projects/pci/sys/boot/userboot/userboot/bootinfo.c#1 branch
.. //depot/projects/pci/sys/boot/userboot/userboot/bootinfo32.c#1 branch
.. //depot/projects/pci/sys/boot/userboot/userboot/bootinfo64.c#1 branch
.. //depot/projects/pci/sys/boot/userboot/userboot/conf.c#1 branch
.. //depot/projects/pci/sys/boot/userboot/userboot/copy.c#1 branch
.. //depot/projects/pci/sys/boot/userboot/userboot/devicename.c#1 branch
.. //depot/projects/pci/sys/boot/userboot/userboot/elf32_freebsd.c#1 branch
.. //depot/projects/pci/sys/boot/userboot/userboot/elf64_freebsd.c#1 branch
.. //depot/projects/pci/sys/boot/userboot/userboot/host.c#1 branch
.. //depot/projects/pci/sys/boot/userboot/userboot/libuserboot.h#1 branch
.. //depot/projects/pci/sys/boot/userboot/userboot/main.c#1 branch
.. //depot/projects/pci/sys/boot/userboot/userboot/userboot_cons.c#1 branch
.. //depot/projects/pci/sys/boot/userboot/userboot/userboot_disk.c#1 branch
.. //depot/projects/pci/sys/boot/userboot/userboot/version#1 branch
.. //depot/projects/pci/sys/cam/cam_xpt.c#5 integrate
.. //depot/projects/pci/sys/cam/scsi/scsi_cd.c#4 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c#2 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c#3 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c#2 integrate
.. //depot/projects/pci/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h#2 integrate
.. //depot/projects/pci/sys/cddl/dev/dtrace/amd64/dtrace_subr.c#4 integrate
.. //depot/projects/pci/sys/cddl/dev/dtrace/i386/dtrace_subr.c#4 integrate
.. //depot/projects/pci/sys/compat/freebsd32/freebsd32_proto.h#5 integrate
.. //depot/projects/pci/sys/compat/freebsd32/freebsd32_syscall.h#5 integrate
.. //depot/projects/pci/sys/compat/freebsd32/freebsd32_syscalls.c#5 integrate
.. //depot/projects/pci/sys/compat/freebsd32/freebsd32_sysent.c#5 integrate
.. //depot/projects/pci/sys/compat/freebsd32/freebsd32_systrace_args.c#3 integrate
.. //depot/projects/pci/sys/compat/freebsd32/syscalls.master#5 integrate
.. //depot/projects/pci/sys/compat/linux/linux_ipc.c#3 integrate
.. //depot/projects/pci/sys/conf/NOTES#5 integrate
.. //depot/projects/pci/sys/conf/files#7 integrate
.. //depot/projects/pci/sys/conf/files.mips#4 integrate
.. //depot/projects/pci/sys/conf/options#7 integrate
.. //depot/projects/pci/sys/conf/options.mips#3 integrate
.. //depot/projects/pci/sys/contrib/altq/altq/altq_red.c#3 integrate
.. //depot/projects/pci/sys/contrib/pf/net/if_pflog.c#3 integrate
.. //depot/projects/pci/sys/contrib/pf/net/if_pflog.h#2 integrate
.. //depot/projects/pci/sys/contrib/pf/net/if_pflow.h#1 branch
.. //depot/projects/pci/sys/contrib/pf/net/if_pfsync.c#2 integrate
.. //depot/projects/pci/sys/contrib/pf/net/if_pfsync.h#2 integrate
.. //depot/projects/pci/sys/contrib/pf/net/pf.c#4 integrate
.. //depot/projects/pci/sys/contrib/pf/net/pf_if.c#2 integrate
.. //depot/projects/pci/sys/contrib/pf/net/pf_ioctl.c#4 integrate
.. //depot/projects/pci/sys/contrib/pf/net/pf_lb.c#1 branch
.. //depot/projects/pci/sys/contrib/pf/net/pf_mtag.h#2 integrate
.. //depot/projects/pci/sys/contrib/pf/net/pf_norm.c#3 integrate
.. //depot/projects/pci/sys/contrib/pf/net/pf_osfp.c#2 integrate
.. //depot/projects/pci/sys/contrib/pf/net/pf_ruleset.c#2 integrate
.. //depot/projects/pci/sys/contrib/pf/net/pf_subr.c#2 delete
.. //depot/projects/pci/sys/contrib/pf/net/pf_table.c#2 integrate
.. //depot/projects/pci/sys/contrib/pf/net/pfvar.h#2 integrate
.. //depot/projects/pci/sys/dev/acpica/acpi_pcib_acpi.c#26 integrate
.. //depot/projects/pci/sys/dev/acpica/acpi_thermal.c#3 integrate
.. //depot/projects/pci/sys/dev/ahci/ahci.c#5 integrate
.. //depot/projects/pci/sys/dev/aic7xxx/aicasm/aicasm.c#2 integrate
.. //depot/projects/pci/sys/dev/aic7xxx/aicasm/aicasm.h#2 integrate
.. //depot/projects/pci/sys/dev/aic7xxx/aicasm/aicasm_gram.y#2 integrate
.. //depot/projects/pci/sys/dev/aic7xxx/aicasm/aicasm_macro_gram.y#2 integrate
.. //depot/projects/pci/sys/dev/aic7xxx/aicasm/aicasm_macro_scan.l#2 integrate
.. //depot/projects/pci/sys/dev/aic7xxx/aicasm/aicasm_scan.l#2 integrate
.. //depot/projects/pci/sys/dev/aic7xxx/aicasm/aicasm_symbol.c#2 integrate
.. //depot/projects/pci/sys/dev/aic7xxx/aicasm/aicasm_symbol.h#2 integrate
.. //depot/projects/pci/sys/dev/an/if_an.c#2 integrate
.. //depot/projects/pci/sys/dev/ath/ah_osdep.c#6 integrate
.. //depot/projects/pci/sys/dev/ath/ath_hal/ah_eeprom_9287.h#2 integrate
.. //depot/projects/pci/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c#3 integrate
.. //depot/projects/pci/sys/dev/ath/if_ath.c#6 integrate
.. //depot/projects/pci/sys/dev/cas/if_cas.c#3 integrate
.. //depot/projects/pci/sys/dev/cas/if_casvar.h#2 integrate
.. //depot/projects/pci/sys/dev/dc/dcphy.c#3 integrate
.. //depot/projects/pci/sys/dev/dc/pnphy.c#3 integrate
.. //depot/projects/pci/sys/dev/e1000/if_em.c#4 integrate
.. //depot/projects/pci/sys/dev/e1000/if_igb.c#7 integrate
.. //depot/projects/pci/sys/dev/e1000/if_igb.h#6 integrate
.. //depot/projects/pci/sys/dev/en/if_en_pci.c#2 integrate
.. //depot/projects/pci/sys/dev/et/if_et.c#4 integrate
.. //depot/projects/pci/sys/dev/fdc/fdc_pccard.c#2 integrate
.. //depot/projects/pci/sys/dev/fxp/if_fxp.c#4 integrate
.. //depot/projects/pci/sys/dev/gem/if_gem.c#4 integrate
.. //depot/projects/pci/sys/dev/gem/if_gem_pci.c#2 integrate
.. //depot/projects/pci/sys/dev/gem/if_gemreg.h#2 integrate
.. //depot/projects/pci/sys/dev/gem/if_gemvar.h#2 integrate
.. //depot/projects/pci/sys/dev/iicbus/if_ic.c#2 integrate
.. //depot/projects/pci/sys/dev/lmc/if_lmc.c#2 integrate
.. //depot/projects/pci/sys/dev/md/md.c#4 integrate
.. //depot/projects/pci/sys/dev/mfi/mfi.c#3 integrate
.. //depot/projects/pci/sys/dev/mfi/mfi_cam.c#2 integrate
.. //depot/projects/pci/sys/dev/mfi/mfireg.h#3 integrate
.. //depot/projects/pci/sys/dev/mii/e1000phy.c#4 integrate
.. //depot/projects/pci/sys/dev/mii/miidevs#4 integrate
.. //depot/projects/pci/sys/dev/mpt/mpt.h#3 integrate
.. //depot/projects/pci/sys/dev/mpt/mpt_pci.c#3 integrate
.. //depot/projects/pci/sys/dev/mxge/eth_z8e.h#2 integrate
.. //depot/projects/pci/sys/dev/mxge/ethp_z8e.h#2 integrate
.. //depot/projects/pci/sys/dev/mxge/if_mxge.c#4 integrate
.. //depot/projects/pci/sys/dev/mxge/rss_eth_z8e.h#2 integrate
.. //depot/projects/pci/sys/dev/mxge/rss_ethp_z8e.h#2 integrate
.. //depot/projects/pci/sys/dev/my/if_my.c#2 integrate
.. //depot/projects/pci/sys/dev/pci/pci.c#24 integrate
.. //depot/projects/pci/sys/dev/pci/pci_pci.c#26 integrate
.. //depot/projects/pci/sys/dev/pci/pci_subr.c#4 integrate
.. //depot/projects/pci/sys/dev/pci/pcib_private.h#19 integrate
.. //depot/projects/pci/sys/dev/pci/pcivar.h#6 integrate
.. //depot/projects/pci/sys/dev/ppbus/if_plip.c#2 integrate
.. //depot/projects/pci/sys/dev/pty/pty.c#2 integrate
.. //depot/projects/pci/sys/dev/rt/if_rt.c#1 branch
.. //depot/projects/pci/sys/dev/rt/if_rtreg.h#1 branch
.. //depot/projects/pci/sys/dev/rt/if_rtvar.h#1 branch
.. //depot/projects/pci/sys/dev/sis/if_sis.c#4 integrate
.. //depot/projects/pci/sys/dev/snp/snp.c#2 integrate
.. //depot/projects/pci/sys/dev/sound/macio/i2s.c#2 integrate
.. //depot/projects/pci/sys/dev/sound/usb/uaudio.c#5 integrate
.. //depot/projects/pci/sys/dev/syscons/scterm-teken.c#2 integrate
.. //depot/projects/pci/sys/dev/tdfx/tdfx_pci.c#2 integrate
.. //depot/projects/pci/sys/dev/uart/uart_bus_pci.c#2 integrate
.. //depot/projects/pci/sys/dev/usb/input/uhid.c#4 integrate
.. //depot/projects/pci/sys/dev/usb/input/ukbd.c#4 integrate
.. //depot/projects/pci/sys/dev/usb/net/if_axe.c#4 integrate
.. //depot/projects/pci/sys/dev/usb/net/if_axereg.h#2 integrate
.. //depot/projects/pci/sys/dev/usb/net/if_usie.c#1 branch
.. //depot/projects/pci/sys/dev/usb/net/if_usievar.h#1 branch
.. //depot/projects/pci/sys/dev/usb/net/uhso.c#3 integrate
.. //depot/projects/pci/sys/dev/usb/quirk/usb_quirk.c#2 integrate
.. //depot/projects/pci/sys/dev/usb/quirk/usb_quirk.h#2 integrate
.. //depot/projects/pci/sys/dev/usb/usb_hid.c#2 integrate
.. //depot/projects/pci/sys/dev/usb/usb_lookup.c#3 integrate
.. //depot/projects/pci/sys/dev/usb/usb_msctest.c#3 integrate
.. //depot/projects/pci/sys/dev/usb/usbdevs#5 integrate
.. //depot/projects/pci/sys/dev/usb/usbdi.h#5 integrate
.. //depot/projects/pci/sys/dev/usb/usbhid.h#2 integrate
.. //depot/projects/pci/sys/dev/usb/wlan/if_uath.c#3 integrate
.. //depot/projects/pci/sys/dev/usb/wlan/if_zyd.c#4 integrate
.. //depot/projects/pci/sys/dev/xen/control/control.c#3 integrate
.. //depot/projects/pci/sys/fs/devfs/devfs_vnops.c#2 integrate
.. //depot/projects/pci/sys/fs/nfs/nfs_var.h#4 integrate
.. //depot/projects/pci/sys/fs/nfs/nfsproto.h#4 integrate
.. //depot/projects/pci/sys/fs/nfsclient/nfs_clport.c#6 integrate
.. //depot/projects/pci/sys/fs/nfsclient/nfs_clrpcops.c#5 integrate
.. //depot/projects/pci/sys/fs/nfsclient/nfs_clstate.c#4 integrate
.. //depot/projects/pci/sys/fs/smbfs/smbfs_smb.c#2 integrate
.. //depot/projects/pci/sys/fs/tmpfs/tmpfs_subr.c#2 integrate
.. //depot/projects/pci/sys/geom/cache/g_cache.c#3 integrate
.. //depot/projects/pci/sys/geom/concat/g_concat.c#4 integrate
.. //depot/projects/pci/sys/geom/eli/g_eli.c#5 integrate
.. //depot/projects/pci/sys/geom/gate/g_gate.c#4 integrate
.. //depot/projects/pci/sys/geom/geom.h#5 integrate
.. //depot/projects/pci/sys/geom/geom_bsd.c#2 integrate
.. //depot/projects/pci/sys/geom/geom_ccd.c#2 integrate
.. //depot/projects/pci/sys/geom/geom_disk.c#4 integrate
.. //depot/projects/pci/sys/geom/geom_pc98.c#2 integrate
.. //depot/projects/pci/sys/geom/geom_sunlabel.c#2 integrate
.. //depot/projects/pci/sys/geom/geom_vfs.c#2 integrate
.. //depot/projects/pci/sys/geom/label/g_label_gpt.c#2 integrate
.. //depot/projects/pci/sys/geom/mirror/g_mirror.c#3 integrate
.. //depot/projects/pci/sys/geom/mountver/g_mountver.c#3 integrate
.. //depot/projects/pci/sys/geom/multipath/g_multipath.c#3 integrate
.. //depot/projects/pci/sys/geom/nop/g_nop.c#3 integrate
.. //depot/projects/pci/sys/geom/part/g_part_ebr.c#3 integrate
.. //depot/projects/pci/sys/geom/part/g_part_gpt.c#2 integrate
.. //depot/projects/pci/sys/geom/part/g_part_mbr.c#3 integrate
.. //depot/projects/pci/sys/geom/raid/g_raid.c#3 integrate
.. //depot/projects/pci/sys/geom/raid3/g_raid3.c#3 integrate
.. //depot/projects/pci/sys/geom/sched/g_sched.c#3 integrate
.. //depot/projects/pci/sys/geom/sched/gs_rr.c#2 integrate
.. //depot/projects/pci/sys/geom/shsec/g_shsec.c#4 integrate
.. //depot/projects/pci/sys/geom/stripe/g_stripe.c#4 integrate
.. //depot/projects/pci/sys/geom/vinum/geom_vinum.c#2 integrate
.. //depot/projects/pci/sys/geom/vinum/geom_vinum_drive.c#3 integrate
.. //depot/projects/pci/sys/geom/vinum/geom_vinum_list.c#2 integrate
.. //depot/projects/pci/sys/geom/vinum/geom_vinum_subr.c#2 integrate
.. //depot/projects/pci/sys/geom/virstor/g_virstor.c#3 integrate
.. //depot/projects/pci/sys/i386/Makefile#2 integrate
.. //depot/projects/pci/sys/i386/i386/mp_machdep.c#3 integrate
.. //depot/projects/pci/sys/i386/i386/pmap.c#4 integrate
.. //depot/projects/pci/sys/i386/i386/sys_machdep.c#2 integrate
.. //depot/projects/pci/sys/i386/i386/vm_machdep.c#3 integrate
.. //depot/projects/pci/sys/i386/include/cpufunc.h#3 integrate
.. //depot/projects/pci/sys/i386/xen/mp_machdep.c#3 integrate
.. //depot/projects/pci/sys/i386/xen/pmap.c#3 integrate
.. //depot/projects/pci/sys/ia64/conf/GENERIC#4 integrate
.. //depot/projects/pci/sys/ia64/ia64/clock.c#3 integrate
.. //depot/projects/pci/sys/ia64/ia64/exception.S#5 integrate
.. //depot/projects/pci/sys/ia64/ia64/mp_machdep.c#5 integrate
.. //depot/projects/pci/sys/ia64/ia64/pmap.c#5 integrate
.. //depot/projects/pci/sys/ia64/include/pmap.h#4 integrate
.. //depot/projects/pci/sys/ia64/include/sf_buf.h#2 integrate
.. //depot/projects/pci/sys/kern/Make.tags.inc#2 integrate
.. //depot/projects/pci/sys/kern/imgact_elf.c#3 integrate
.. //depot/projects/pci/sys/kern/init_sysent.c#4 integrate
.. //depot/projects/pci/sys/kern/kern_descrip.c#5 integrate
.. //depot/projects/pci/sys/kern/kern_exec.c#2 integrate
.. //depot/projects/pci/sys/kern/kern_exit.c#5 integrate
.. //depot/projects/pci/sys/kern/kern_fail.c#2 integrate
.. //depot/projects/pci/sys/kern/kern_fork.c#3 integrate
.. //depot/projects/pci/sys/kern/kern_jail.c#4 integrate
.. //depot/projects/pci/sys/kern/kern_racct.c#5 integrate
.. //depot/projects/pci/sys/kern/kern_rctl.c#5 integrate
.. //depot/projects/pci/sys/kern/kern_rmlock.c#3 integrate
.. //depot/projects/pci/sys/kern/kern_tc.c#2 integrate
.. //depot/projects/pci/sys/kern/kern_thr.c#3 integrate
.. //depot/projects/pci/sys/kern/sched_4bsd.c#5 integrate
.. //depot/projects/pci/sys/kern/subr_kdb.c#4 integrate
.. //depot/projects/pci/sys/kern/subr_pcpu.c#3 integrate
.. //depot/projects/pci/sys/kern/subr_smp.c#4 integrate
.. //depot/projects/pci/sys/kern/subr_trap.c#2 integrate
.. //depot/projects/pci/sys/kern/subr_uio.c#3 integrate
.. //depot/projects/pci/sys/kern/sys_capability.c#3 integrate
.. //depot/projects/pci/sys/kern/syscalls.c#4 integrate
.. //depot/projects/pci/sys/kern/syscalls.master#4 integrate
.. //depot/projects/pci/sys/kern/systrace_args.c#4 integrate
.. //depot/projects/pci/sys/kern/sysv_msg.c#3 integrate
.. //depot/projects/pci/sys/kern/sysv_sem.c#3 integrate
.. //depot/projects/pci/sys/kern/sysv_shm.c#3 integrate
.. //depot/projects/pci/sys/kern/tty.c#2 integrate
.. //depot/projects/pci/sys/kern/tty_inq.c#2 integrate
.. //depot/projects/pci/sys/kern/tty_outq.c#2 integrate
.. //depot/projects/pci/sys/kern/tty_pts.c#3 integrate
.. //depot/projects/pci/sys/kern/tty_ttydisc.c#2 integrate
.. //depot/projects/pci/sys/kern/uipc_shm.c#3 integrate
.. //depot/projects/pci/sys/kern/uipc_socket.c#3 integrate
.. //depot/projects/pci/sys/kern/uipc_syscalls.c#4 integrate
.. //depot/projects/pci/sys/kern/vfs_bio.c#3 integrate
.. //depot/projects/pci/sys/kern/vfs_mount.c#5 integrate
.. //depot/projects/pci/sys/kern/vfs_mountroot.c#2 integrate
.. //depot/projects/pci/sys/kern/vfs_subr.c#6 integrate
.. //depot/projects/pci/sys/mips/atheros/ar71xx_chip.c#3 integrate
.. //depot/projects/pci/sys/mips/atheros/ar71xx_machdep.c#3 integrate
.. //depot/projects/pci/sys/mips/atheros/ar71xx_ohci.c#2 integrate
.. //depot/projects/pci/sys/mips/atheros/ar71xx_setup.c#2 integrate
.. //depot/projects/pci/sys/mips/atheros/ar724x_chip.c#4 integrate
.. //depot/projects/pci/sys/mips/atheros/ar91xx_chip.c#4 integrate
.. //depot/projects/pci/sys/mips/conf/RT305X#3 integrate
.. //depot/projects/pci/sys/mips/conf/RT305X.hints#2 integrate
.. //depot/projects/pci/sys/mips/mips/genassym.c#2 integrate
.. //depot/projects/pci/sys/mips/mips/mp_machdep.c#3 integrate
.. //depot/projects/pci/sys/mips/mips/pmap.c#3 integrate
.. //depot/projects/pci/sys/mips/mips/trap.c#2 integrate
.. //depot/projects/pci/sys/mips/rmi/dev/xlr/rge.c#2 integrate
.. //depot/projects/pci/sys/mips/rmi/fmn.c#2 integrate
.. //depot/projects/pci/sys/mips/rmi/iodi.c#2 integrate
.. //depot/projects/pci/sys/mips/sentry5/s5_machdep.c#2 integrate
.. //depot/projects/pci/sys/mips/sibyte/sb_machdep.c#2 integrate
.. //depot/projects/pci/sys/modules/Makefile#6 integrate
.. //depot/projects/pci/sys/modules/ipdivert/Makefile#2 integrate
.. //depot/projects/pci/sys/modules/pf/Makefile#2 integrate
.. //depot/projects/pci/sys/modules/pflog/Makefile#2 integrate
.. //depot/projects/pci/sys/modules/pfsync/Makefile#1 branch
.. //depot/projects/pci/sys/modules/usb/Makefile#3 integrate
.. //depot/projects/pci/sys/modules/usb/usie/Makefile#1 branch
.. //depot/projects/pci/sys/net/bpf_filter.c#2 integrate
.. //depot/projects/pci/sys/net/if.c#3 integrate
.. //depot/projects/pci/sys/net/if.h#3 integrate
.. //depot/projects/pci/sys/net/if_arcsubr.c#2 integrate
.. //depot/projects/pci/sys/net/if_atmsubr.c#2 integrate
.. //depot/projects/pci/sys/net/if_debug.c#2 integrate
.. //depot/projects/pci/sys/net/if_ethersubr.c#3 integrate
.. //depot/projects/pci/sys/net/if_fddisubr.c#2 integrate
.. //depot/projects/pci/sys/net/if_fwsubr.c#2 integrate
.. //depot/projects/pci/sys/net/if_gif.c#2 integrate
.. //depot/projects/pci/sys/net/if_iso88025subr.c#2 integrate
.. //depot/projects/pci/sys/net/if_lagg.c#4 integrate
.. //depot/projects/pci/sys/net/if_llatbl.h#4 integrate
.. //depot/projects/pci/sys/net/if_spppfr.c#2 integrate
.. //depot/projects/pci/sys/net/if_spppsubr.c#2 integrate
.. //depot/projects/pci/sys/net/if_stf.c#2 integrate
.. //depot/projects/pci/sys/net/if_tun.c#3 integrate
.. //depot/projects/pci/sys/net/if_var.h#3 integrate
.. //depot/projects/pci/sys/net80211/ieee80211_ageq.c#2 integrate
.. //depot/projects/pci/sys/net80211/ieee80211_dfs.c#2 integrate
.. //depot/projects/pci/sys/net80211/ieee80211_power.c#2 integrate
.. //depot/projects/pci/sys/netgraph/netflow/netflow.c#3 integrate
.. //depot/projects/pci/sys/netgraph/netflow/netflow_v9.c#2 integrate
.. //depot/projects/pci/sys/netgraph/netflow/ng_netflow.c#3 integrate
.. //depot/projects/pci/sys/netgraph/netflow/ng_netflow.h#3 integrate
.. //depot/projects/pci/sys/netgraph/netgraph.h#2 integrate
.. //depot/projects/pci/sys/netgraph/ng_base.c#4 integrate
.. //depot/projects/pci/sys/netgraph/ng_iface.c#4 integrate
.. //depot/projects/pci/sys/netgraph/ng_socket.c#2 integrate
.. //depot/projects/pci/sys/netinet/if_ether.c#4 integrate
.. //depot/projects/pci/sys/netinet/in.c#4 integrate
.. //depot/projects/pci/sys/netinet/in_gif.c#2 integrate
.. //depot/projects/pci/sys/netinet/in_proto.c#4 integrate
.. //depot/projects/pci/sys/netinet/ip_divert.c#3 integrate
.. //depot/projects/pci/sys/netinet/ip_fw.h#3 integrate
.. //depot/projects/pci/sys/netinet/ip_icmp.c#3 integrate
.. //depot/projects/pci/sys/netinet/ip_var.h#3 integrate
.. //depot/projects/pci/sys/netinet/ipfw/ip_fw2.c#5 integrate
.. //depot/projects/pci/sys/netinet/ipfw/ip_fw_log.c#2 integrate
.. //depot/projects/pci/sys/netinet/ipfw/ip_fw_pfil.c#3 integrate
.. //depot/projects/pci/sys/netinet/ipfw/ip_fw_sockopt.c#3 integrate
.. //depot/projects/pci/sys/netinet/libalias/libalias.3#4 integrate
.. //depot/projects/pci/sys/netinet/raw_ip.c#4 integrate
.. //depot/projects/pci/sys/netinet/sctp_pcb.c#5 integrate
.. //depot/projects/pci/sys/netinet/sctp_uio.h#3 integrate
.. //depot/projects/pci/sys/netinet/sctp_usrreq.c#4 integrate
.. //depot/projects/pci/sys/netinet/tcp_lro.c#3 integrate
.. //depot/projects/pci/sys/netinet/tcp_output.c#6 integrate
.. //depot/projects/pci/sys/netinet/tcp_subr.c#4 integrate
.. //depot/projects/pci/sys/netinet6/icmp6.c#2 integrate
.. //depot/projects/pci/sys/netinet6/in6.c#4 integrate
.. //depot/projects/pci/sys/netinet6/in6_gif.c#2 integrate
.. //depot/projects/pci/sys/netinet6/in6_proto.c#4 integrate
.. //depot/projects/pci/sys/netipsec/ipsec_input.c#3 integrate
.. //depot/projects/pci/sys/netipsec/ipsec_output.c#4 integrate
.. //depot/projects/pci/sys/netipsec/xform_ipip.c#3 integrate
.. //depot/projects/pci/sys/nfs/bootp_subr.c#2 integrate
.. //depot/projects/pci/sys/powerpc/aim/mmu_oea.c#4 integrate
.. //depot/projects/pci/sys/powerpc/aim/mmu_oea64.c#5 integrate
.. //depot/projects/pci/sys/powerpc/aim/trap_subr32.S#3 integrate
.. //depot/projects/pci/sys/powerpc/aim/trap_subr64.S#4 integrate
.. //depot/projects/pci/sys/powerpc/booke/pmap.c#3 integrate
.. //depot/projects/pci/sys/powerpc/conf/GENERIC#4 integrate
.. //depot/projects/pci/sys/powerpc/conf/GENERIC64#4 integrate
.. //depot/projects/pci/sys/powerpc/ofw/rtas.c#2 integrate
.. //depot/projects/pci/sys/powerpc/powermac/fcu.c#3 integrate
.. //depot/projects/pci/sys/powerpc/powerpc/mp_machdep.c#5 integrate
.. //depot/projects/pci/sys/powerpc/ps3/if_glc.c#3 integrate
.. //depot/projects/pci/sys/sparc64/include/cache.h#2 integrate
.. //depot/projects/pci/sys/sparc64/include/cpu.h#2 integrate
.. //depot/projects/pci/sys/sparc64/include/pmap.h#3 integrate
.. //depot/projects/pci/sys/sparc64/include/tlb.h#2 integrate
.. //depot/projects/pci/sys/sparc64/pci/fire.c#3 integrate
.. //depot/projects/pci/sys/sparc64/pci/schizo.c#3 integrate
.. //depot/projects/pci/sys/sparc64/sparc64/cache.c#2 integrate
.. //depot/projects/pci/sys/sparc64/sparc64/cheetah.c#2 integrate
.. //depot/projects/pci/sys/sparc64/sparc64/counter.c#2 integrate
.. //depot/projects/pci/sys/sparc64/sparc64/exception.S#4 integrate
.. //depot/projects/pci/sys/sparc64/sparc64/interrupt.S#2 integrate
.. //depot/projects/pci/sys/sparc64/sparc64/machdep.c#4 integrate
.. //depot/projects/pci/sys/sparc64/sparc64/mp_exception.S#3 integrate
.. //depot/projects/pci/sys/sparc64/sparc64/mp_machdep.c#4 integrate
.. //depot/projects/pci/sys/sparc64/sparc64/pmap.c#6 integrate
.. //depot/projects/pci/sys/sparc64/sparc64/spitfire.c#2 integrate
.. //depot/projects/pci/sys/sparc64/sparc64/sys_machdep.c#2 integrate
.. //depot/projects/pci/sys/sparc64/sparc64/tick.c#3 integrate
.. //depot/projects/pci/sys/sparc64/sparc64/vm_machdep.c#3 integrate
.. //depot/projects/pci/sys/sparc64/sparc64/zeus.c#2 integrate
.. //depot/projects/pci/sys/sys/_types.h#2 integrate
.. //depot/projects/pci/sys/sys/bus.h#6 integrate
.. //depot/projects/pci/sys/sys/capability.h#2 integrate
.. //depot/projects/pci/sys/sys/cpuset.h#3 integrate
.. //depot/projects/pci/sys/sys/diskmbr.h#2 integrate
.. //depot/projects/pci/sys/sys/file.h#3 integrate
.. //depot/projects/pci/sys/sys/filedesc.h#3 integrate
.. //depot/projects/pci/sys/sys/mbuf.h#3 integrate
.. //depot/projects/pci/sys/sys/param.h#6 integrate
.. //depot/projects/pci/sys/sys/pcpu.h#3 integrate
.. //depot/projects/pci/sys/sys/priv.h#4 integrate
.. //depot/projects/pci/sys/sys/proc.h#5 integrate
.. //depot/projects/pci/sys/sys/racct.h#3 integrate
.. //depot/projects/pci/sys/sys/sem.h#3 integrate
.. //depot/projects/pci/sys/sys/sockio.h#2 integrate
.. //depot/projects/pci/sys/sys/soundcard.h#3 integrate
.. //depot/projects/pci/sys/sys/syscall.h#4 integrate
.. //depot/projects/pci/sys/sys/syscall.mk#4 integrate
.. //depot/projects/pci/sys/sys/sysproto.h#4 integrate
.. //depot/projects/pci/sys/sys/systm.h#6 integrate
.. //depot/projects/pci/sys/sys/timetc.h#2 integrate
.. //depot/projects/pci/sys/sys/tty.h#2 integrate
.. //depot/projects/pci/sys/sys/ttydevsw.h#2 integrate
.. //depot/projects/pci/sys/sys/types.h#3 integrate
.. //depot/projects/pci/sys/sys/uio.h#3 integrate
.. //depot/projects/pci/sys/sys/unistd.h#2 integrate
.. //depot/projects/pci/sys/sys/vnode.h#4 integrate
.. //depot/projects/pci/sys/teken/demo/teken_demo.c#2 integrate
.. //depot/projects/pci/sys/teken/gensequences#2 integrate
.. //depot/projects/pci/sys/teken/libteken/teken.3#2 integrate
.. //depot/projects/pci/sys/teken/teken.c#3 integrate
.. //depot/projects/pci/sys/teken/teken_subr.h#2 integrate
.. //depot/projects/pci/sys/ufs/ffs/ffs_alloc.c#6 integrate
.. //depot/projects/pci/sys/ufs/ffs/ffs_balloc.c#3 integrate
.. //depot/projects/pci/sys/ufs/ffs/ffs_inode.c#3 integrate
.. //depot/projects/pci/sys/ufs/ffs/ffs_softdep.c#6 integrate
.. //depot/projects/pci/sys/ufs/ffs/ffs_vfsops.c#4 integrate
.. //depot/projects/pci/sys/ufs/ffs/fs.h#3 integrate
.. //depot/projects/pci/sys/ufs/ffs/softdep.h#4 integrate
.. //depot/projects/pci/sys/ufs/ufs/ufs_inode.c#3 integrate
.. //depot/projects/pci/sys/ufs/ufs/ufsmount.h#4 integrate
.. //depot/projects/pci/sys/vm/device_pager.c#3 integrate
.. //depot/projects/pci/sys/vm/swap_pager.c#3 integrate
.. //depot/projects/pci/sys/vm/vm_extern.h#2 integrate
.. //depot/projects/pci/sys/vm/vm_fault.c#5 integrate
.. //depot/projects/pci/sys/vm/vm_glue.c#3 integrate
.. //depot/projects/pci/sys/vm/vm_map.c#4 integrate
.. //depot/projects/pci/sys/vm/vm_mmap.c#3 integrate
.. //depot/projects/pci/sys/vm/vm_object.c#4 integrate
.. //depot/projects/pci/sys/vm/vm_object.h#2 integrate
.. //depot/projects/pci/sys/vm/vm_pageout.c#4 integrate
.. //depot/projects/pci/sys/vm/vm_unix.c#3 integrate
.. //depot/projects/pci/sys/vm/vnode_pager.c#3 integrate
.. //depot/projects/pci/sys/x86/include/mptable.h#5 integrate
.. //depot/projects/pci/sys/x86/x86/mptable.c#9 integrate
.. //depot/projects/pci/sys/x86/x86/mptable_pci.c#15 integrate
.. //depot/projects/pci/sys/x86/x86/tsc.c#8 integrate

Differences ...

==== //depot/projects/pci/sys/amd64/acpica/acpi_wakeup.c#3 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_wakeup.c,v 1.41 2011/06/07 08:46:13 attilio Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_wakeup.c,v 1.42 2011/07/04 12:04:52 attilio Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -226,7 +226,8 @@
 		return (ret);
 
 #ifdef SMP
-	wakeup_cpus = PCPU_GET(other_cpus);
+	wakeup_cpus = all_cpus;
+	CPU_CLR(PCPU_GET(cpuid), &wakeup_cpus);
 #endif
 
 	AcpiSetFirmwareWakingVector(WAKECODE_PADDR(sc));

==== //depot/projects/pci/sys/amd64/amd64/mp_machdep.c#4 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.344 2011/06/08 08:12:15 avg Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.345 2011/07/04 12:04:52 attilio Exp $");
 
 #include "opt_cpu.h"
 #include "opt_kstack_pages.h"
@@ -604,10 +604,10 @@
 void
 init_secondary(void)
 {
-	cpuset_t tcpuset, tallcpus;
 	struct pcpu *pc;
 	struct nmi_pcpu *np;
 	u_int64_t msr, cr0;
+	u_int cpuid;
 	int cpu, gsel_tss, x;
 	struct region_descriptor ap_gdt;
 
@@ -711,8 +711,9 @@
 	fpuinit();
 
 	/* A quick check from sanity claus */
+	cpuid = PCPU_GET(cpuid);
 	if (PCPU_GET(apic_id) != lapic_id()) {
-		printf("SMP: cpuid = %d\n", PCPU_GET(cpuid));
+		printf("SMP: cpuid = %d\n", cpuid);
 		printf("SMP: actual apic_id = %d\n", lapic_id());
 		printf("SMP: correct apic_id = %d\n", PCPU_GET(apic_id));
 		panic("cpuid mismatch! boom!!");
@@ -734,19 +735,13 @@
 
 	smp_cpus++;
 
-	CTR1(KTR_SMP, "SMP: AP CPU #%d Launched", PCPU_GET(cpuid));
-	printf("SMP: AP CPU #%d Launched!\n", PCPU_GET(cpuid));
-	tcpuset = PCPU_GET(cpumask);
+	CTR1(KTR_SMP, "SMP: AP CPU #%d Launched", cpuid);
+	printf("SMP: AP CPU #%d Launched!\n", cpuid);
 
 	/* Determine if we are a logical CPU. */
 	/* XXX Calculation depends on cpu_logical being a power of 2, e.g. 2 */
 	if (cpu_logical > 1 && PCPU_GET(apic_id) % cpu_logical != 0)
-		CPU_OR(&logical_cpus_mask, &tcpuset);
-
-	/* Build our map of 'other' CPUs. */
-	tallcpus = all_cpus;
-	CPU_NAND(&tallcpus, &tcpuset);
-	PCPU_SET(other_cpus, tallcpus);
+		CPU_SET(cpuid, &logical_cpus_mask);
 
 	if (bootverbose)
 		lapic_dump("AP");
@@ -893,7 +888,6 @@
 static int
 start_all_aps(void)
 {
-	cpuset_t tallcpus, tcpuset;
 	vm_offset_t va = boot_address + KERNBASE;
 	u_int64_t *pt4, *pt3, *pt2;
 	u_int32_t mpbioswarmvec;
@@ -961,12 +955,6 @@
 		CPU_SET(cpu, &all_cpus);	/* record AP in CPU map */
 	}
 
-	/* build our map of 'other' CPUs */
-	tallcpus = all_cpus;
-	tcpuset = PCPU_GET(cpumask);
-	CPU_NAND(&tallcpus, &tcpuset);
-	PCPU_SET(other_cpus, tallcpus);
-
 	/* restore the warmstart vector */
 	*(u_int32_t *) WARMBOOT_OFF = mpbioswarmvec;
 
@@ -1150,9 +1138,7 @@
 		if (othercpus < 1)
 			return;
 	} else {
-		sched_pin();
-		CPU_NAND(&mask, PCPU_PTR(cpumask));
-		sched_unpin();
+		CPU_CLR(PCPU_GET(cpuid), &mask);
 		if (CPU_EMPTY(&mask))
 			return;
 	}
@@ -1349,11 +1335,13 @@
 void
 ipi_all_but_self(u_int ipi)
 {
+	cpuset_t other_cpus;
 
-	sched_pin();
+	other_cpus = all_cpus;
+	CPU_CLR(PCPU_GET(cpuid), &other_cpus);
+
 	if (IPI_IS_BITMAPED(ipi)) {
-		ipi_selected(PCPU_GET(other_cpus), ipi);
-		sched_unpin();
+		ipi_selected(other_cpus, ipi);
 		return;
 	}
 
@@ -1363,8 +1351,7 @@
 	 * Set the mask of receiving CPUs for this purpose.
 	 */
 	if (ipi == IPI_STOP_HARD)
-		CPU_OR_ATOMIC(&ipi_nmi_pending, PCPU_PTR(other_cpus));
-	sched_unpin();
+		CPU_OR_ATOMIC(&ipi_nmi_pending, &other_cpus);
 
 	CTR2(KTR_SMP, "%s: ipi: %x", __func__, ipi);
 	lapic_ipi_vectored(ipi, APIC_IPI_DEST_OTHERS);
@@ -1373,7 +1360,7 @@
 int
 ipi_nmi_handler()
 {
-	cpuset_t cpumask;
+	u_int cpuid;
 
 	/*
 	 * As long as there is not a simple way to know about a NMI's
@@ -1381,13 +1368,11 @@
 	 * the global pending bitword an IPI_STOP_HARD has been issued
 	 * and should be handled.
 	 */
-	sched_pin();
-	cpumask = PCPU_GET(cpumask);
-	sched_unpin();
-	if (!CPU_OVERLAP(&ipi_nmi_pending, &cpumask))
+	cpuid = PCPU_GET(cpuid);
+	if (!CPU_ISSET(cpuid, &ipi_nmi_pending))
 		return (1);
 
-	CPU_NAND_ATOMIC(&ipi_nmi_pending, &cpumask);
+	CPU_CLR_ATOMIC(cpuid, &ipi_nmi_pending);
 	cpustop_handler();
 	return (0);
 }
@@ -1399,25 +1384,21 @@
 void
 cpustop_handler(void)
 {
-	cpuset_t cpumask;
 	u_int cpu;
 
-	sched_pin();
 	cpu = PCPU_GET(cpuid);
-	cpumask = PCPU_GET(cpumask);
-	sched_unpin();
 
 	savectx(&stoppcbs[cpu]);
 
 	/* Indicate that we are stopped */
-	CPU_OR_ATOMIC(&stopped_cpus, &cpumask);
+	CPU_SET_ATOMIC(cpu, &stopped_cpus);
 
 	/* Wait for restart */
-	while (!CPU_OVERLAP(&started_cpus, &cpumask))
+	while (!CPU_ISSET(cpu, &started_cpus))
 	    ia32_pause();
 
-	CPU_NAND_ATOMIC(&started_cpus, &cpumask);
-	CPU_NAND_ATOMIC(&stopped_cpus, &cpumask);
+	CPU_CLR_ATOMIC(cpu, &started_cpus);
+	CPU_CLR_ATOMIC(cpu, &stopped_cpus);
 
 	if (cpu == 0 && cpustop_restartfunc != NULL) {
 		cpustop_restartfunc();
@@ -1432,19 +1413,17 @@
 void
 cpususpend_handler(void)
 {
-	cpuset_t cpumask;
 	register_t cr3, rf;
 	u_int cpu;
 
 	cpu = PCPU_GET(cpuid);
-	cpumask = PCPU_GET(cpumask);
 
 	rf = intr_disable();
 	cr3 = rcr3();
 
 	if (savectx(susppcbs[cpu])) {
 		wbinvd();
-		CPU_OR_ATOMIC(&stopped_cpus, &cpumask);
+		CPU_SET_ATOMIC(cpu, &stopped_cpus);
 	} else {
 		pmap_init_pat();
 		PCPU_SET(switchtime, 0);
@@ -1452,11 +1431,11 @@
 	}
 
 	/* Wait for resume */
-	while (!CPU_OVERLAP(&started_cpus, &cpumask))
+	while (!CPU_ISSET(cpu, &started_cpus))
 		ia32_pause();
 
-	CPU_NAND_ATOMIC(&started_cpus, &cpumask);
-	CPU_NAND_ATOMIC(&stopped_cpus, &cpumask);
+	CPU_CLR_ATOMIC(cpu, &started_cpus);
+	CPU_CLR_ATOMIC(cpu, &stopped_cpus);
 
 	/* Restore CR3 and enable interrupts */
 	load_cr3(cr3);

==== //depot/projects/pci/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.721 2011/06/07 08:46:13 attilio Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.724 2011/07/04 12:04:52 attilio Exp $");
 
 /*
  *	Manages physical address maps.
@@ -925,16 +925,18 @@
 void
 pmap_invalidate_page(pmap_t pmap, vm_offset_t va)
 {
-	cpuset_t cpumask, other_cpus;
+	cpuset_t other_cpus;
+	u_int cpuid;
 
 	sched_pin();
 	if (pmap == kernel_pmap || !CPU_CMP(&pmap->pm_active, &all_cpus)) {
 		invlpg(va);
 		smp_invlpg(va);
 	} else {
-		cpumask = PCPU_GET(cpumask);
-		other_cpus = PCPU_GET(other_cpus);
-		if (CPU_OVERLAP(&pmap->pm_active, &cpumask))
+		cpuid = PCPU_GET(cpuid);
+		other_cpus = all_cpus;
+		CPU_CLR(cpuid, &other_cpus);
+		if (CPU_ISSET(cpuid, &pmap->pm_active))
 			invlpg(va);
 		CPU_AND(&other_cpus, &pmap->pm_active);
 		if (!CPU_EMPTY(&other_cpus))
@@ -946,8 +948,9 @@
 void
 pmap_invalidate_range(pmap_t pmap, vm_offset_t sva, vm_offset_t eva)
 {
-	cpuset_t cpumask, other_cpus;
+	cpuset_t other_cpus;
 	vm_offset_t addr;
+	u_int cpuid;
 
 	sched_pin();
 	if (pmap == kernel_pmap || !CPU_CMP(&pmap->pm_active, &all_cpus)) {
@@ -955,9 +958,10 @@
 			invlpg(addr);
 		smp_invlpg_range(sva, eva);
 	} else {
-		cpumask = PCPU_GET(cpumask);
-		other_cpus = PCPU_GET(other_cpus);
-		if (CPU_OVERLAP(&pmap->pm_active, &cpumask))
+		cpuid = PCPU_GET(cpuid);
+		other_cpus = all_cpus;
+		CPU_CLR(cpuid, &other_cpus);
+		if (CPU_ISSET(cpuid, &pmap->pm_active))
 			for (addr = sva; addr < eva; addr += PAGE_SIZE)
 				invlpg(addr);
 		CPU_AND(&other_cpus, &pmap->pm_active);
@@ -970,16 +974,18 @@
 void
 pmap_invalidate_all(pmap_t pmap)
 {
-	cpuset_t cpumask, other_cpus;
+	cpuset_t other_cpus;
+	u_int cpuid;
 
 	sched_pin();
 	if (pmap == kernel_pmap || !CPU_CMP(&pmap->pm_active, &all_cpus)) {
 		invltlb();
 		smp_invltlb();
 	} else {
-		cpumask = PCPU_GET(cpumask);
-		other_cpus = PCPU_GET(other_cpus);
-		if (CPU_OVERLAP(&pmap->pm_active, &cpumask))
+		cpuid = PCPU_GET(cpuid);
+		other_cpus = all_cpus;
+		CPU_CLR(cpuid, &other_cpus);
+		if (CPU_ISSET(cpuid, &pmap->pm_active))
 			invltlb();
 		CPU_AND(&other_cpus, &pmap->pm_active);
 		if (!CPU_EMPTY(&other_cpus))
@@ -999,11 +1005,11 @@
 }
 
 struct pde_action {
-	cpuset_t store;		/* processor that updates the PDE */
 	cpuset_t invalidate;	/* processors that invalidate their TLB */
 	vm_offset_t va;
 	pd_entry_t *pde;
 	pd_entry_t newpde;
+	u_int store;		/* processor that updates the PDE */
 };
 
 static void
@@ -1011,12 +1017,8 @@
 {
 	struct pde_action *act = arg;
 
-	sched_pin();
-	if (!CPU_CMP(&act->store, PCPU_PTR(cpumask))) {
-		sched_unpin();
+	if (act->store == PCPU_GET(cpuid))
 		pde_store(act->pde, act->newpde);
-	} else
-		sched_unpin();
 }
 
 static void
@@ -1024,12 +1026,8 @@
 {
 	struct pde_action *act = arg;
 
-	sched_pin();
-	if (CPU_OVERLAP(&act->invalidate, PCPU_PTR(cpumask))) {
-		sched_unpin();
+	if (CPU_ISSET(PCPU_GET(cpuid), &act->invalidate))
 		pmap_update_pde_invalidate(act->va, act->newpde);
-	} else
-		sched_unpin();
 }
 
 /*
@@ -1044,28 +1042,30 @@
 pmap_update_pde(pmap_t pmap, vm_offset_t va, pd_entry_t *pde, pd_entry_t newpde)
 {
 	struct pde_action act;
-	cpuset_t active, cpumask, other_cpus;
+	cpuset_t active, other_cpus;
+	u_int cpuid;
 
 	sched_pin();
-	cpumask = PCPU_GET(cpumask);
-	other_cpus = PCPU_GET(other_cpus);
+	cpuid = PCPU_GET(cpuid);
+	other_cpus = all_cpus;
+	CPU_CLR(cpuid, &other_cpus);
 	if (pmap == kernel_pmap)
 		active = all_cpus;
 	else
 		active = pmap->pm_active;
 	if (CPU_OVERLAP(&active, &other_cpus)) { 
-		act.store = cpumask;
+		act.store = cpuid;
 		act.invalidate = active;
 		act.va = va;
 		act.pde = pde;
 		act.newpde = newpde;
-		CPU_OR(&cpumask, &active);
-		smp_rendezvous_cpus(cpumask,
+		CPU_SET(cpuid, &active);
+		smp_rendezvous_cpus(active,
 		    smp_no_rendevous_barrier, pmap_update_pde_action,
 		    pmap_update_pde_teardown, &act);
 	} else {
 		pde_store(pde, newpde);
-		if (CPU_OVERLAP(&active, &cpumask))
+		if (CPU_ISSET(cpuid, &active))
 			pmap_update_pde_invalidate(va, newpde);
 	}
 	sched_unpin();
@@ -2104,7 +2104,7 @@
 	vm_page_t m, free;
 
 	TAILQ_FOREACH(m, &vpq->pl, pageq) {
-		if (m->hold_count || m->busy)
+		if ((m->flags & PG_MARKER) != 0 || m->hold_count || m->busy)
 			continue;
 		TAILQ_FOREACH_SAFE(pv, &m->md.pv_list, pv_list, next_pv) {
 			va = pv->pv_va;
@@ -2847,8 +2847,8 @@
 	vm_offset_t va;
 	vm_page_t free;
 
-	KASSERT((m->flags & PG_FICTITIOUS) == 0,
-	    ("pmap_remove_all: page %p is fictitious", m));
+	KASSERT((m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) == 0,
+	    ("pmap_remove_all: page %p is not managed", m));
 	free = NULL;
 	vm_page_lock_queues();
 	pvh = pa_to_pvh(VM_PAGE_TO_PHYS(m));
@@ -5095,17 +5095,19 @@
 pmap_activate(struct thread *td)
 {
 	pmap_t	pmap, oldpmap;
+	u_int	cpuid;
 	u_int64_t  cr3;
 
 	critical_enter();
 	pmap = vmspace_pmap(td->td_proc->p_vmspace);
 	oldpmap = PCPU_GET(curpmap);
+	cpuid = PCPU_GET(cpuid);
 #ifdef SMP
-	CPU_NAND_ATOMIC(&oldpmap->pm_active, PCPU_PTR(cpumask));
-	CPU_OR_ATOMIC(&pmap->pm_active, PCPU_PTR(cpumask));
+	CPU_CLR_ATOMIC(cpuid, &oldpmap->pm_active);
+	CPU_SET_ATOMIC(cpuid, &pmap->pm_active);
 #else
-	CPU_NAND(&oldpmap->pm_active, PCPU_PTR(cpumask));
-	CPU_OR(&pmap->pm_active, PCPU_PTR(cpumask));
+	CPU_CLR(cpuid, &oldpmap->pm_active);
+	CPU_SET(cpuid, &pmap->pm_active);
 #endif
 	cr3 = DMAP_TO_PHYS((vm_offset_t)pmap->pm_pml4);
 	td->td_pcb->pcb_cr3 = cr3;

==== //depot/projects/pci/sys/amd64/amd64/sys_machdep.c#3 (text+ko) ====

@@ -31,9 +31,9 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/sys_machdep.c,v 1.102 2011/04/08 21:27:31 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/sys_machdep.c,v 1.104 2011/06/30 10:56:02 jonathan Exp $");
 
-#include "opt_capabilities.h"
+#include "opt_capsicum.h"
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -180,28 +180,30 @@
 	uint64_t a64base;
 	struct i386_ioperm_args iargs;
 
-#ifdef CAPABILITIES
+#ifdef CAPABILITY_MODE
 	/*
-	 * Whitelist of operations which are safe enough for capability mode.
+	 * When adding new operations, add a new case statement here to
+	 * explicitly indicate whether or not the operation is safe to
+	 * perform in capability mode.
 	 */
 	if (IN_CAPABILITY_MODE(td)) {
 		switch (uap->op) {
-			case I386_GET_LDT:
-			case I386_SET_LDT:
-			case I386_GET_IOPERM:
-			case I386_GET_FSBASE:
-			case I386_SET_FSBASE:
-			case I386_GET_GSBASE:
-			case I386_SET_GSBASE:
-			case AMD64_GET_FSBASE:
-			case AMD64_SET_FSBASE:
-			case AMD64_GET_GSBASE:
-			case AMD64_SET_GSBASE:
-				break;
+		case I386_GET_LDT:
+		case I386_SET_LDT:
+		case I386_GET_IOPERM:
+		case I386_GET_FSBASE:
+		case I386_SET_FSBASE:
+		case I386_GET_GSBASE:
+		case I386_SET_GSBASE:
+		case AMD64_GET_FSBASE:
+		case AMD64_SET_FSBASE:
+		case AMD64_GET_GSBASE:
+		case AMD64_SET_GSBASE:
+			break;
 
-			case I386_SET_IOPERM:
-			default:
-				return (ECAPMODE);
+		case I386_SET_IOPERM:
+		default:
+			return (ECAPMODE);
 		}
 	}
 #endif

==== //depot/projects/pci/sys/amd64/amd64/vm_machdep.c#3 (text+ko) ====

@@ -41,7 +41,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.276 2011/06/07 08:46:13 attilio Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.277 2011/07/04 12:04:52 attilio Exp $");
 
 #include "opt_isa.h"
 #include "opt_cpu.h"
@@ -59,7 +59,6 @@
 #include <sys/mutex.h>
 #include <sys/pioctl.h>
 #include <sys/proc.h>
-#include <sys/sched.h>
 #include <sys/sf_buf.h>
 #include <sys/smp.h>
 #include <sys/sysctl.h>
@@ -535,8 +534,8 @@
 	u_int cnt;
 
 	if (smp_active) {
-		sched_pin();
-		map = PCPU_GET(other_cpus);
+		map = all_cpus;
+		CPU_CLR(PCPU_GET(cpuid), &map);
 		CPU_NAND(&map, &stopped_cpus);
 		if (!CPU_EMPTY(&map)) {
 			printf("cpu_reset: Stopping other CPUs\n");
@@ -545,7 +544,6 @@
 
 		if (PCPU_GET(cpuid) != 0) {
 			cpu_reset_proxyid = PCPU_GET(cpuid);
-			sched_unpin();
 			cpustop_restartfunc = cpu_reset_proxy;
 			cpu_reset_proxy_active = 0;
 			printf("cpu_reset: Restarting BSP\n");
@@ -564,8 +562,7 @@
 
 			while (1);
 			/* NOTREACHED */
-		} else
-			sched_unpin();
+		}
 
 		DELAY(1000000);
 	}

==== //depot/projects/pci/sys/amd64/include/cpufunc.h#3 (text+ko) ====

@@ -27,7 +27,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/include/cpufunc.h,v 1.160 2011/04/14 16:53:32 jkim Exp $
+ * $FreeBSD: src/sys/amd64/include/cpufunc.h,v 1.161 2011/07/05 18:42:10 jkim Exp $
  */

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


More information about the p4-projects mailing list