Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Apr 2007 19:09:58 GMT
From:      John Baldwin <jhb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 118841 for review
Message-ID:  <200704261909.l3QJ9wAK002041@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=118841

Change 118841 by jhb@jhb_mutex on 2007/04/26 19:09:52

	IFC @118838

Affected files ...

.. //depot/projects/smpng/sys/Makefile#17 integrate
.. //depot/projects/smpng/sys/amd64/amd64/busdma_machdep.c#25 integrate
.. //depot/projects/smpng/sys/amd64/amd64/local_apic.c#29 integrate
.. //depot/projects/smpng/sys/amd64/amd64/pmap.c#74 integrate
.. //depot/projects/smpng/sys/amd64/amd64/vm_machdep.c#35 integrate
.. //depot/projects/smpng/sys/amd64/include/vmparam.h#8 integrate
.. //depot/projects/smpng/sys/amd64/linux32/linux32_dummy.c#9 integrate
.. //depot/projects/smpng/sys/amd64/linux32/linux32_machdep.c#23 integrate
.. //depot/projects/smpng/sys/bsm/audit.h#8 integrate
.. //depot/projects/smpng/sys/bsm/audit_internal.h#6 integrate
.. //depot/projects/smpng/sys/bsm/audit_kevents.h#8 integrate
.. //depot/projects/smpng/sys/bsm/audit_record.h#8 integrate
.. //depot/projects/smpng/sys/cam/cam_ccb.h#11 integrate
.. //depot/projects/smpng/sys/cam/cam_periph.c#24 integrate
.. //depot/projects/smpng/sys/cam/cam_periph.h#6 integrate
.. //depot/projects/smpng/sys/cam/cam_sim.c#6 integrate
.. //depot/projects/smpng/sys/cam/cam_sim.h#3 integrate
.. //depot/projects/smpng/sys/cam/cam_xpt.c#43 integrate
.. //depot/projects/smpng/sys/cam/cam_xpt.h#5 integrate
.. //depot/projects/smpng/sys/cam/cam_xpt_periph.h#4 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_cd.c#31 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_ch.c#15 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_da.c#75 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_low.c#16 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_pass.c#17 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_pt.c#14 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_sa.c#27 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_ses.c#15 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_sg.c#2 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_targ_bh.c#11 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_target.c#24 integrate
.. //depot/projects/smpng/sys/compat/linprocfs/linprocfs.c#58 integrate
.. //depot/projects/smpng/sys/compat/linux/linux_socket.c#38 integrate
.. //depot/projects/smpng/sys/compat/opensolaris/kern/opensolaris_misc.c#2 integrate
.. //depot/projects/smpng/sys/compat/opensolaris/kern/opensolaris_vfs.c#2 integrate
.. //depot/projects/smpng/sys/compat/opensolaris/sys/misc.h#2 integrate
.. //depot/projects/smpng/sys/compat/opensolaris/sys/sunddi.h#1 branch
.. //depot/projects/smpng/sys/compat/opensolaris/sys/types.h#2 integrate
.. //depot/projects/smpng/sys/compat/opensolaris/sys/vnode.h#2 integrate
.. //depot/projects/smpng/sys/conf/NOTES#142 integrate
.. //depot/projects/smpng/sys/conf/files#204 integrate
.. //depot/projects/smpng/sys/conf/options#141 integrate
.. //depot/projects/smpng/sys/contrib/opensolaris/common/atomic/amd64/atomic.S#2 integrate
.. //depot/projects/smpng/sys/contrib/opensolaris/common/atomic/i386/atomic.S#2 integrate
.. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/dnlc.c#2 integrate
.. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#2 integrate
.. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/dbuf.c#2 integrate
.. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c#2 integrate
.. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/spa.c#2 integrate
.. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/spa_config.c#2 integrate
.. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#2 integrate
.. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h#2 integrate
.. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h#2 integrate
.. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/vdev.c#2 integrate
.. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c#2 integrate
.. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zap.c#2 integrate
.. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c#2 integrate
.. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#2 integrate
.. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c#2 integrate
.. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#2 integrate
.. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c#2 integrate
.. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#2 integrate
.. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#2 integrate
.. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#2 integrate
.. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zil.c#2 integrate
.. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zio.c#2 integrate
.. //depot/projects/smpng/sys/contrib/opensolaris/uts/common/fs/zfs/zvol.c#2 integrate
.. //depot/projects/smpng/sys/contrib/pf/net/if_pfsync.c#26 integrate
.. //depot/projects/smpng/sys/dev/aac/aac_cam.c#22 integrate
.. //depot/projects/smpng/sys/dev/acpi_support/acpi_ibm.c#10 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi.c#100 integrate
.. //depot/projects/smpng/sys/dev/advansys/advansys.c#15 integrate
.. //depot/projects/smpng/sys/dev/advansys/adwcam.c#17 integrate
.. //depot/projects/smpng/sys/dev/aha/aha.c#20 integrate
.. //depot/projects/smpng/sys/dev/ahb/ahb.c#19 integrate
.. //depot/projects/smpng/sys/dev/aic/aic.c#11 integrate
.. //depot/projects/smpng/sys/dev/aic7xxx/aic7770.c#13 integrate
.. //depot/projects/smpng/sys/dev/aic7xxx/aic79xx.c#27 integrate
.. //depot/projects/smpng/sys/dev/aic7xxx/aic79xx.h#22 integrate
.. //depot/projects/smpng/sys/dev/aic7xxx/aic79xx_osm.c#25 integrate
.. //depot/projects/smpng/sys/dev/aic7xxx/aic79xx_osm.h#18 integrate
.. //depot/projects/smpng/sys/dev/aic7xxx/aic79xx_pci.c#24 integrate
.. //depot/projects/smpng/sys/dev/aic7xxx/aic7xxx.c#26 integrate
.. //depot/projects/smpng/sys/dev/aic7xxx/aic7xxx.h#14 integrate
.. //depot/projects/smpng/sys/dev/aic7xxx/aic7xxx_inline.h#10 integrate
.. //depot/projects/smpng/sys/dev/aic7xxx/aic7xxx_osm.c#22 integrate
.. //depot/projects/smpng/sys/dev/aic7xxx/aic7xxx_osm.h#20 integrate
.. //depot/projects/smpng/sys/dev/aic7xxx/aic7xxx_pci.c#19 integrate
.. //depot/projects/smpng/sys/dev/aic7xxx/aic_osm_lib.c#4 integrate
.. //depot/projects/smpng/sys/dev/aic7xxx/aic_osm_lib.h#6 integrate
.. //depot/projects/smpng/sys/dev/amd/amd.c#20 integrate
.. //depot/projects/smpng/sys/dev/amr/amr_cam.c#19 integrate
.. //depot/projects/smpng/sys/dev/arcmsr/arcmsr.c#16 integrate
.. //depot/projects/smpng/sys/dev/asr/asr.c#37 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-disk.c#63 integrate
.. //depot/projects/smpng/sys/dev/ata/atapi-cam.c#32 integrate
.. //depot/projects/smpng/sys/dev/ath/if_ath.c#52 integrate
.. //depot/projects/smpng/sys/dev/buslogic/bt.c#18 integrate
.. //depot/projects/smpng/sys/dev/ciss/ciss.c#51 integrate
.. //depot/projects/smpng/sys/dev/cxgb/cxgb_main.c#3 integrate
.. //depot/projects/smpng/sys/dev/cxgb/cxgb_sge.c#4 integrate
.. //depot/projects/smpng/sys/dev/cxgb/sys/mvec.h#2 integrate
.. //depot/projects/smpng/sys/dev/cxgb/sys/uipc_mvec.c#2 integrate
.. //depot/projects/smpng/sys/dev/dpt/dpt_scsi.c#19 integrate
.. //depot/projects/smpng/sys/dev/esp/ncr53c9x.c#9 integrate
.. //depot/projects/smpng/sys/dev/ex/if_exvar.h#5 integrate
.. //depot/projects/smpng/sys/dev/firewire/firewire.h#15 integrate
.. //depot/projects/smpng/sys/dev/firewire/fwdev.c#24 integrate
.. //depot/projects/smpng/sys/dev/firewire/fwdma.c#8 integrate
.. //depot/projects/smpng/sys/dev/firewire/sbp.c#42 integrate
.. //depot/projects/smpng/sys/dev/firewire/sbp_targ.c#9 integrate
.. //depot/projects/smpng/sys/dev/hptmv/entry.c#14 integrate
.. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_logging.c#7 integrate
.. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_mod.c#21 integrate
.. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_piv.c#8 integrate
.. //depot/projects/smpng/sys/dev/iicbus/icee.c#2 integrate
.. //depot/projects/smpng/sys/dev/iir/iir.c#18 integrate
.. //depot/projects/smpng/sys/dev/isp/isp_freebsd.c#55 integrate
.. //depot/projects/smpng/sys/dev/led/led.c#13 integrate
.. //depot/projects/smpng/sys/dev/led/led.h#4 integrate
.. //depot/projects/smpng/sys/dev/mly/mly.c#31 integrate
.. //depot/projects/smpng/sys/dev/mpt/mpt_cam.c#24 integrate
.. //depot/projects/smpng/sys/dev/msk/if_msk.c#7 integrate
.. //depot/projects/smpng/sys/dev/msk/if_mskreg.h#3 integrate
.. //depot/projects/smpng/sys/dev/pci/pci.c#90 integrate
.. //depot/projects/smpng/sys/dev/pci/pcireg.h#23 integrate
.. //depot/projects/smpng/sys/dev/ppbus/vpo.c#11 integrate
.. //depot/projects/smpng/sys/dev/ral/rt2560.c#9 integrate
.. //depot/projects/smpng/sys/dev/re/if_re.c#55 integrate
.. //depot/projects/smpng/sys/dev/rr232x/osm_bsd.c#4 integrate
.. //depot/projects/smpng/sys/dev/sound/isa/ad1816.c#25 integrate
.. //depot/projects/smpng/sys/dev/sound/isa/ess.c#20 integrate
.. //depot/projects/smpng/sys/dev/sound/isa/mss.c#31 integrate
.. //depot/projects/smpng/sys/dev/sound/isa/sb16.c#24 integrate
.. //depot/projects/smpng/sys/dev/sound/isa/sb8.c#18 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/als4000.c#21 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/atiixp.c#11 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/au88x0.c#12 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/aureal.c#15 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/cmi.c#35 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/cs4281.c#16 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/csapcm.c#17 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/ds1.c#25 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/emu10k1.c#33 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/emu10kx-pcm.c#6 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/envy24.c#10 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/envy24ht.c#7 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/es137x.c#25 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/fm801.c#20 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/hda/hdac.c#12 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/ich.c#50 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/maestro3.c#26 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/solo.c#20 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/t4dwave.c#24 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/via8233.c#26 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/via82c686.c#26 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/vibes.c#17 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/ac97.c#37 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/ac97.h#12 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/ac97_patch.c#7 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/ac97_patch.h#7 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/buffer.c#20 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/buffer.h#12 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/sound.h#30 integrate
.. //depot/projects/smpng/sys/dev/sound/sbus/cs4231.c#7 integrate
.. //depot/projects/smpng/sys/dev/sym/sym_hipd.c#30 integrate
.. //depot/projects/smpng/sys/dev/trm/trm.c#27 integrate
.. //depot/projects/smpng/sys/dev/twa/tw_osl_cam.c#9 integrate
.. //depot/projects/smpng/sys/dev/usb/if_ural.c#24 integrate
.. //depot/projects/smpng/sys/dev/usb/umass.c#62 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdevs#103 integrate
.. //depot/projects/smpng/sys/dev/wds/wd7000.c#10 integrate
.. //depot/projects/smpng/sys/dev/wi/if_wi.c#85 integrate
.. //depot/projects/smpng/sys/fs/devfs/devfs_devs.c#25 integrate
.. //depot/projects/smpng/sys/fs/devfs/devfs_vnops.c#64 integrate
.. //depot/projects/smpng/sys/fs/procfs/procfs_dbregs.c#16 integrate
.. //depot/projects/smpng/sys/fs/procfs/procfs_fpregs.c#16 integrate
.. //depot/projects/smpng/sys/fs/procfs/procfs_map.c#10 integrate
.. //depot/projects/smpng/sys/fs/procfs/procfs_regs.c#16 integrate
.. //depot/projects/smpng/sys/fs/pseudofs/pseudofs.c#25 integrate
.. //depot/projects/smpng/sys/fs/pseudofs/pseudofs.h#26 integrate
.. //depot/projects/smpng/sys/fs/pseudofs/pseudofs_fileno.c#9 integrate
.. //depot/projects/smpng/sys/fs/pseudofs/pseudofs_internal.h#4 integrate
.. //depot/projects/smpng/sys/fs/pseudofs/pseudofs_vncache.c#26 integrate
.. //depot/projects/smpng/sys/fs/pseudofs/pseudofs_vnops.c#47 integrate
.. //depot/projects/smpng/sys/geom/uzip/g_uzip.c#10 integrate
.. //depot/projects/smpng/sys/geom/vinum/geom_vinum.h#11 integrate
.. //depot/projects/smpng/sys/geom/vinum/geom_vinum_rm.c#11 integrate
.. //depot/projects/smpng/sys/geom/vinum/geom_vinum_share.c#5 integrate
.. //depot/projects/smpng/sys/geom/vinum/geom_vinum_subr.c#13 integrate
.. //depot/projects/smpng/sys/i386/i386/bios.c#24 integrate
.. //depot/projects/smpng/sys/i386/i386/busdma_machdep.c#42 integrate
.. //depot/projects/smpng/sys/i386/i386/identcpu.c#54 integrate
.. //depot/projects/smpng/sys/i386/i386/local_apic.c#50 integrate
.. //depot/projects/smpng/sys/i386/i386/mp_machdep.c#107 integrate
.. //depot/projects/smpng/sys/i386/i386/pmap.c#118 integrate
.. //depot/projects/smpng/sys/i386/i386/sys_machdep.c#49 integrate
.. //depot/projects/smpng/sys/i386/i386/vm_machdep.c#82 integrate
.. //depot/projects/smpng/sys/i386/include/pmap.h#36 integrate
.. //depot/projects/smpng/sys/i386/include/vmparam.h#9 integrate
.. //depot/projects/smpng/sys/ia64/include/vmparam.h#12 integrate
.. //depot/projects/smpng/sys/isa/isa_common.c#20 integrate
.. //depot/projects/smpng/sys/kern/kern_descrip.c#106 integrate
.. //depot/projects/smpng/sys/kern/kern_intr.c#86 integrate
.. //depot/projects/smpng/sys/kern/kern_jail.c#49 integrate
.. //depot/projects/smpng/sys/kern/kern_linker.c#87 integrate
.. //depot/projects/smpng/sys/kern/kern_malloc.c#47 integrate
.. //depot/projects/smpng/sys/kern/kern_time.c#51 integrate
.. //depot/projects/smpng/sys/kern/kern_uuid.c#13 integrate
.. //depot/projects/smpng/sys/kern/sched_ule.c#77 integrate
.. //depot/projects/smpng/sys/kern/subr_rman.c#34 integrate
.. //depot/projects/smpng/sys/kern/subr_witness.c#163 integrate
.. //depot/projects/smpng/sys/kern/uipc_mbuf.c#53 integrate
.. //depot/projects/smpng/sys/kern/uipc_syscalls.c#103 integrate
.. //depot/projects/smpng/sys/kern/vfs_bio.c#103 integrate
.. //depot/projects/smpng/sys/kern/vfs_mount.c#73 integrate
.. //depot/projects/smpng/sys/kern/vfs_subr.c#141 integrate
.. //depot/projects/smpng/sys/modules/Makefile#139 integrate
.. //depot/projects/smpng/sys/modules/if_lagg/Makefile#1 branch
.. //depot/projects/smpng/sys/modules/if_trunk/Makefile#2 delete
.. //depot/projects/smpng/sys/modules/zfs/Makefile#2 integrate
.. //depot/projects/smpng/sys/net/ieee8023ad_lacp.c#2 integrate
.. //depot/projects/smpng/sys/net/ieee8023ad_lacp.h#2 integrate
.. //depot/projects/smpng/sys/net/if.c#94 integrate
.. //depot/projects/smpng/sys/net/if_ethersubr.c#83 integrate
.. //depot/projects/smpng/sys/net/if_lagg.c#1 branch
.. //depot/projects/smpng/sys/net/if_lagg.h#1 branch
.. //depot/projects/smpng/sys/net/if_trunk.c#2 delete
.. //depot/projects/smpng/sys/net/if_trunk.h#2 delete
.. //depot/projects/smpng/sys/net/if_var.h#49 integrate
.. //depot/projects/smpng/sys/netgraph/ng_l2tp.c#12 integrate
.. //depot/projects/smpng/sys/netgraph/ng_ppp.c#23 integrate
.. //depot/projects/smpng/sys/netinet/ip_fw2.c#85 integrate
.. //depot/projects/smpng/sys/netinet/sctp.h#3 integrate
.. //depot/projects/smpng/sys/netinet/sctp_constants.h#9 integrate
.. //depot/projects/smpng/sys/netinet/sctp_crc32.c#4 integrate
.. //depot/projects/smpng/sys/netinet/sctp_indata.c#10 integrate
.. //depot/projects/smpng/sys/netinet/sctp_indata.h#3 integrate
.. //depot/projects/smpng/sys/netinet/sctp_input.c#10 integrate
.. //depot/projects/smpng/sys/netinet/sctp_lock_bsd.h#4 integrate
.. //depot/projects/smpng/sys/netinet/sctp_output.c#10 integrate
.. //depot/projects/smpng/sys/netinet/sctp_pcb.c#9 integrate
.. //depot/projects/smpng/sys/netinet/sctp_pcb.h#8 integrate
.. //depot/projects/smpng/sys/netinet/sctp_peeloff.c#6 integrate
.. //depot/projects/smpng/sys/netinet/sctp_structs.h#8 integrate
.. //depot/projects/smpng/sys/netinet/sctp_timer.c#8 integrate
.. //depot/projects/smpng/sys/netinet/sctp_uio.h#9 integrate
.. //depot/projects/smpng/sys/netinet/sctp_usrreq.c#10 integrate
.. //depot/projects/smpng/sys/netinet/sctp_var.h#6 integrate
.. //depot/projects/smpng/sys/netinet/sctputil.c#11 integrate
.. //depot/projects/smpng/sys/netinet/sctputil.h#7 integrate
.. //depot/projects/smpng/sys/netinet/tcp.h#17 integrate
.. //depot/projects/smpng/sys/netinet/tcp_input.c#103 integrate
.. //depot/projects/smpng/sys/netinet/tcp_output.c#48 integrate
.. //depot/projects/smpng/sys/netinet/tcp_subr.c#91 integrate
.. //depot/projects/smpng/sys/netinet/tcp_syncache.c#58 integrate
.. //depot/projects/smpng/sys/netinet/tcp_var.h#50 integrate
.. //depot/projects/smpng/sys/netinet6/in6_pcb.c#47 integrate
.. //depot/projects/smpng/sys/netinet6/route6.c#9 integrate
.. //depot/projects/smpng/sys/netinet6/sctp6_usrreq.c#9 integrate
.. //depot/projects/smpng/sys/netnatm/natm.h#8 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_bio.c#48 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_lock.c#34 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#66 integrate
.. //depot/projects/smpng/sys/nfsserver/nfs_srvsock.c#31 integrate
.. //depot/projects/smpng/sys/nfsserver/nfs_syscalls.c#34 integrate
.. //depot/projects/smpng/sys/pci/if_rlreg.h#36 integrate
.. //depot/projects/smpng/sys/pci/if_vr.c#47 integrate
.. //depot/projects/smpng/sys/pci/if_vrreg.h#14 integrate
.. //depot/projects/smpng/sys/pci/intpm.c#16 integrate
.. //depot/projects/smpng/sys/pci/ncr.c#25 integrate
.. //depot/projects/smpng/sys/powerpc/powerpc/nexus.c#12 integrate
.. //depot/projects/smpng/sys/security/audit/audit.c#9 integrate
.. //depot/projects/smpng/sys/security/audit/audit.h#5 integrate
.. //depot/projects/smpng/sys/security/audit/audit_arg.c#9 integrate
.. //depot/projects/smpng/sys/security/audit/audit_bsm.c#6 integrate
.. //depot/projects/smpng/sys/security/audit/audit_bsm_token.c#7 integrate
.. //depot/projects/smpng/sys/security/audit/audit_private.h#7 integrate
.. //depot/projects/smpng/sys/security/audit/audit_syscalls.c#10 integrate
.. //depot/projects/smpng/sys/security/mac/mac_audit.c#1 branch
.. //depot/projects/smpng/sys/security/mac/mac_framework.h#7 integrate
.. //depot/projects/smpng/sys/security/mac/mac_inet.c#8 integrate
.. //depot/projects/smpng/sys/security/mac/mac_net.c#19 integrate
.. //depot/projects/smpng/sys/security/mac/mac_pipe.c#11 integrate
.. //depot/projects/smpng/sys/security/mac/mac_policy.h#4 integrate
.. //depot/projects/smpng/sys/security/mac/mac_process.c#13 integrate
.. //depot/projects/smpng/sys/security/mac/mac_socket.c#8 integrate
.. //depot/projects/smpng/sys/security/mac/mac_system.c#10 integrate
.. //depot/projects/smpng/sys/security/mac/mac_vfs.c#18 integrate
.. //depot/projects/smpng/sys/security/mac_biba/mac_biba.c#48 integrate
.. //depot/projects/smpng/sys/security/mac_bsdextended/mac_bsdextended.c#25 integrate
.. //depot/projects/smpng/sys/security/mac_ifoff/mac_ifoff.c#11 integrate
.. //depot/projects/smpng/sys/security/mac_lomac/mac_lomac.c#36 integrate
.. //depot/projects/smpng/sys/security/mac_mls/mac_mls.c#41 integrate
.. //depot/projects/smpng/sys/security/mac_partition/mac_partition.c#13 integrate
.. //depot/projects/smpng/sys/security/mac_portacl/mac_portacl.c#13 integrate
.. //depot/projects/smpng/sys/security/mac_seeotheruids/mac_seeotheruids.c#13 integrate
.. //depot/projects/smpng/sys/security/mac_stub/mac_stub.c#22 integrate
.. //depot/projects/smpng/sys/security/mac_test/mac_test.c#38 integrate
.. //depot/projects/smpng/sys/sparc64/include/vmparam.h#13 integrate
.. //depot/projects/smpng/sys/sun4v/include/vmparam.h#2 integrate
.. //depot/projects/smpng/sys/sys/eventhandler.h#25 integrate
.. //depot/projects/smpng/sys/sys/interrupt.h#21 integrate
.. //depot/projects/smpng/sys/sys/mbuf.h#71 integrate
.. //depot/projects/smpng/sys/sys/mount.h#61 integrate
.. //depot/projects/smpng/sys/sys/priv.h#6 integrate
.. //depot/projects/smpng/sys/sys/proc.h#180 integrate
.. //depot/projects/smpng/sys/sys/socket.h#31 integrate
.. //depot/projects/smpng/sys/vm/swap_pager.c#70 integrate
.. //depot/projects/smpng/sys/vm/vm_contig.c#42 integrate
.. //depot/projects/smpng/sys/vm/vm_map.c#85 integrate
.. //depot/projects/smpng/sys/vm/vm_param.h#8 integrate

Differences ...

==== //depot/projects/smpng/sys/Makefile#17 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/Makefile,v 1.41 2007/03/24 22:21:01 maxim Exp $
+# $FreeBSD: src/sys/Makefile,v 1.42 2007/04/14 16:29:15 maxim Exp $
 
 .include <bsd.own.mk>
 
@@ -8,10 +8,10 @@
 .endif
 
 # Directories to include in cscope name file and TAGS.
-CSCOPEDIRS=	cam coda compat conf contrib crypto ddb dev fs geom gnu i4b \
-		isa kern libkern modules net net80211 netatalk netatm \
+CSCOPEDIRS=	bsm cam coda compat conf contrib crypto ddb dev fs geom gnu \
+		i4b isa kern libkern modules net net80211 netatalk netatm \
 		netgraph netinet netinet6 netipx netkey netnatm netncp \
-		netsmb nfs nfsclient nfs4client rpc pccard pci sys \
+		netsmb nfs nfsclient nfs4client rpc pccard pci security sys \
 		ufs vm ${ARCHDIR}
 
 ARCHDIR	?=	${MACHINE}

==== //depot/projects/smpng/sys/amd64/amd64/busdma_machdep.c#25 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.79 2007/03/06 18:28:42 scottl Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.80 2007/04/17 21:05:34 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -48,6 +48,7 @@
 #include <machine/atomic.h>
 #include <machine/bus.h>
 #include <machine/md_var.h>
+#include <machine/specialreg.h>
 
 #define MAX_BPAGES 8192
 
@@ -522,6 +523,9 @@
 	} else if ((uintptr_t)*vaddr & (dmat->alignment - 1)) {
 		printf("bus_dmamem_alloc failed to align memory properly.\n");
 	}
+	if (flags & BUS_DMA_NOCACHE)
+		pmap_change_attr((vm_offset_t)*vaddr, dmat->maxsize,
+		    PAT_UNCACHEABLE);
 	CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d",
 	    __func__, dmat, dmat->flags, ENOMEM);
 	return (0);
@@ -540,6 +544,7 @@
 	 */
 	if (map != NULL)
 		panic("bus_dmamem_free: Invalid map freed\n");
+	pmap_change_attr((vm_offset_t)vaddr, dmat->maxsize, PAT_WRITE_BACK);
 	if ((dmat->maxsize <= PAGE_SIZE) &&
 	   (dmat->alignment < dmat->maxsize) &&
 	    dmat->lowaddr >= ptoa((vm_paddr_t)Maxmem))

==== //depot/projects/smpng/sys/amd64/amd64/local_apic.c#29 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.37 2007/03/20 21:53:30 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.38 2007/04/25 19:58:41 ariff Exp $");
 
 #include "opt_hwpmc_hooks.h"
 
@@ -326,6 +326,29 @@
 
 	/* XXX: Error and thermal LVTs */
 
+	if (strcmp(cpu_vendor, "AuthenticAMD") == 0) {
+		/*
+		 * Detect the presence of C1E capability mostly on latest
+		 * dual-cores (or future) k8 family.  This feature renders
+		 * the local APIC timer dead, so we disable it by reading
+		 * the Interrupt Pending Message register and clearing both
+		 * C1eOnCmpHalt (bit 28) and SmiOnCmpHalt (bit 27).
+		 * 
+		 * Reference:
+		 *   "BIOS and Kernel Developer's Guide for AMD NPT
+		 *    Family 0Fh Processors"
+		 *   #32559 revision 3.00
+		 */
+		if ((cpu_id & 0x00000f00) == 0x00000f00 &&
+		    (cpu_id & 0x0fff0000) >=  0x00040000) {
+			uint64_t msr;
+
+			msr = rdmsr(0xc0010055);
+			if (msr & 0x18000000)
+				wrmsr(0xc0010055, msr & ~0x18000000ULL);
+		}
+	}
+
 	intr_restore(eflags);
 }
 

==== //depot/projects/smpng/sys/amd64/amd64/pmap.c#74 (text+ko) ====

@@ -77,7 +77,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.581 2007/03/10 20:26:43 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.584 2007/04/25 18:10:43 ups Exp $");
 
 /*
  *	Manages physical address maps.
@@ -209,7 +209,7 @@
 static vm_page_t pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va,
     vm_page_t m, vm_prot_t prot, vm_page_t mpte);
 static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq,
-		vm_offset_t sva, pd_entry_t ptepde);
+		vm_offset_t sva, pd_entry_t ptepde, vm_page_t *free);
 static void pmap_remove_page(pmap_t pmap, vm_offset_t va, pd_entry_t *pde);
 static void pmap_remove_entry(struct pmap *pmap, vm_page_t m,
 		vm_offset_t va);
@@ -221,8 +221,9 @@
 static vm_page_t pmap_allocpte(pmap_t pmap, vm_offset_t va, int flags);
 
 static vm_page_t _pmap_allocpte(pmap_t pmap, vm_pindex_t ptepindex, int flags);
-static int _pmap_unwire_pte_hold(pmap_t pmap, vm_offset_t va, vm_page_t m);
-static int pmap_unuse_pt(pmap_t, vm_offset_t, pd_entry_t);
+static int _pmap_unwire_pte_hold(pmap_t pmap, vm_offset_t va, vm_page_t m,
+                vm_page_t* free);
+static int pmap_unuse_pt(pmap_t, vm_offset_t, pd_entry_t, vm_page_t *);
 static vm_offset_t pmap_kmem_choose(vm_offset_t addr);
 
 CTASSERT(1 << PDESHIFT == sizeof(pd_entry_t));
@@ -1065,24 +1066,36 @@
 /***************************************************
  * Page table page management routines.....
  ***************************************************/
+static PMAP_INLINE void
+pmap_free_zero_pages(vm_page_t free)
+{
+	vm_page_t m;
 
+	while (free != NULL) {
+		m = free;
+		free = m->right;
+		vm_page_free_zero(m);
+	}
+}
+
 /*
  * This routine unholds page table pages, and if the hold count
  * drops to zero, then it decrements the wire count.
  */
 static PMAP_INLINE int
-pmap_unwire_pte_hold(pmap_t pmap, vm_offset_t va, vm_page_t m)
+pmap_unwire_pte_hold(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_page_t *free)
 {
 
 	--m->wire_count;
 	if (m->wire_count == 0)
-		return _pmap_unwire_pte_hold(pmap, va, m);
+		return _pmap_unwire_pte_hold(pmap, va, m, free);
 	else
 		return 0;
 }
 
 static int 
-_pmap_unwire_pte_hold(pmap_t pmap, vm_offset_t va, vm_page_t m)
+_pmap_unwire_pte_hold(pmap_t pmap, vm_offset_t va, vm_page_t m, 
+    vm_page_t *free)
 {
 	vm_offset_t pteva;
 
@@ -1114,14 +1127,14 @@
 		vm_page_t pdpg;
 
 		pdpg = PHYS_TO_VM_PAGE(*pmap_pdpe(pmap, va) & PG_FRAME);
-		pmap_unwire_pte_hold(pmap, va, pdpg);
+		pmap_unwire_pte_hold(pmap, va, pdpg, free);
 	}
 	if (m->pindex >= NUPDE && m->pindex < (NUPDE + NUPDPE)) {
 		/* We just released a PD, unhold the matching PDP */
 		vm_page_t pdppg;
 
 		pdppg = PHYS_TO_VM_PAGE(*pmap_pml4e(pmap, va) & PG_FRAME);
-		pmap_unwire_pte_hold(pmap, va, pdppg);
+		pmap_unwire_pte_hold(pmap, va, pdppg, free);
 	}
 
 	/*
@@ -1130,7 +1143,13 @@
 	 */
 	pmap_invalidate_page(pmap, pteva);
 
-	vm_page_free_zero(m);
+	/* 
+	 * Put page on a list so that it is released after
+	 * *ALL* TLB shootdown is done
+	 */
+	m->right = *free;
+	*free = m;
+	
 	atomic_subtract_int(&cnt.v_wire_count, 1);
 	return 1;
 }
@@ -1140,7 +1159,7 @@
  * conditionally free the page, and manage the hold/wire counts.
  */
 static int
-pmap_unuse_pt(pmap_t pmap, vm_offset_t va, pd_entry_t ptepde)
+pmap_unuse_pt(pmap_t pmap, vm_offset_t va, pd_entry_t ptepde, vm_page_t *free)
 {
 	vm_page_t mpte;
 
@@ -1148,7 +1167,7 @@
 		return 0;
 	KASSERT(ptepde != 0, ("pmap_unuse_pt: ptepde != 0"));
 	mpte = PHYS_TO_VM_PAGE(ptepde & PG_FRAME);
-	return pmap_unwire_pte_hold(pmap, va, mpte);
+	return pmap_unwire_pte_hold(pmap, va, mpte, free);
 }
 
 void
@@ -1366,7 +1385,7 @@
 {
 	vm_pindex_t ptepindex;
 	pd_entry_t *pd;
-	vm_page_t m;
+	vm_page_t m, free;
 
 	KASSERT((flags & (M_NOWAIT | M_WAITOK)) == M_NOWAIT ||
 	    (flags & (M_NOWAIT | M_WAITOK)) == M_WAITOK,
@@ -1390,8 +1409,10 @@
 		*pd = 0;
 		pd = 0;
 		pmap->pm_stats.resident_count -= NBPDR / PAGE_SIZE;
-		pmap_unuse_pt(pmap, va, *pmap_pdpe(pmap, va));
+		free = NULL;
+		pmap_unuse_pt(pmap, va, *pmap_pdpe(pmap, va), &free);
 		pmap_invalidate_all(kernel_pmap);
+		pmap_free_zero_pages(free);
 	}
 
 	/*
@@ -1609,7 +1630,7 @@
 	pt_entry_t *pte, tpte;
 	pv_entry_t next_pv, pv;
 	vm_offset_t va;
-	vm_page_t m;
+	vm_page_t m, free;
 
 	TAILQ_FOREACH(m, &vpq->pl, pageq) {
 		if (m->hold_count || m->busy)
@@ -1635,12 +1656,14 @@
 				    va, tpte));
 				vm_page_dirty(m);
 			}
+			free = NULL;
+			pmap_unuse_pt(pmap, va, ptepde, &free);
 			pmap_invalidate_page(pmap, va);
+			pmap_free_zero_pages(free);
 			TAILQ_REMOVE(&m->md.pv_list, pv, pv_list);
 			if (TAILQ_EMPTY(&m->md.pv_list))
 				vm_page_flag_clear(m, PG_WRITEABLE);
 			m->md.pv_list_count--;
-			pmap_unuse_pt(pmap, va, ptepde);
 			free_pv_entry(pmap, pv);
 			if (pmap != locked_pmap)
 				PMAP_UNLOCK(pmap);
@@ -1833,7 +1856,8 @@
  * pmap_remove_pte: do the things to unmap a page in a process
  */
 static int
-pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, vm_offset_t va, pd_entry_t ptepde)
+pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, vm_offset_t va, 
+    pd_entry_t ptepde, vm_page_t *free)
 {
 	pt_entry_t oldpte;
 	vm_page_t m;
@@ -1861,7 +1885,7 @@
 			vm_page_flag_set(m, PG_REFERENCED);
 		pmap_remove_entry(pmap, m, va);
 	}
-	return (pmap_unuse_pt(pmap, va, ptepde));
+	return (pmap_unuse_pt(pmap, va, ptepde, free));
 }
 
 /*
@@ -1871,6 +1895,7 @@
 pmap_remove_page(pmap_t pmap, vm_offset_t va, pd_entry_t *pde)
 {
 	pt_entry_t *pte;
+	vm_page_t free = NULL;
 
 	PMAP_LOCK_ASSERT(pmap, MA_OWNED);
 	if ((*pde & PG_V) == 0)
@@ -1878,8 +1903,9 @@
 	pte = pmap_pde_to_pte(pde, va);
 	if ((*pte & PG_V) == 0)
 		return;
-	pmap_remove_pte(pmap, pte, va, *pde);
+	pmap_remove_pte(pmap, pte, va, *pde, &free);
 	pmap_invalidate_page(pmap, va);
+	pmap_free_zero_pages(free);
 }
 
 /*
@@ -1896,6 +1922,7 @@
 	pdp_entry_t *pdpe;
 	pd_entry_t ptpaddr, *pde;
 	pt_entry_t *pte;
+	vm_page_t free = NULL;
 	int anyvalid;
 
 	/*
@@ -1959,7 +1986,7 @@
 		if ((ptpaddr & PG_PS) != 0) {
 			*pde = 0;
 			pmap->pm_stats.resident_count -= NBPDR / PAGE_SIZE;
-			pmap_unuse_pt(pmap, sva, *pdpe);
+			pmap_unuse_pt(pmap, sva, *pdpe, &free);
 			anyvalid = 1;
 			continue;
 		}
@@ -1983,14 +2010,16 @@
 			 */
 			if ((*pte & PG_G) == 0)
 				anyvalid = 1;
-			if (pmap_remove_pte(pmap, pte, sva, ptpaddr))
+			if (pmap_remove_pte(pmap, pte, sva, ptpaddr, &free))
 				break;
 		}
 	}
 out:
-	vm_page_unlock_queues();
-	if (anyvalid)
+	if (anyvalid) {
 		pmap_invalidate_all(pmap);
+		pmap_free_zero_pages(free);
+	}
+	vm_page_unlock_queues();	
 	PMAP_UNLOCK(pmap);
 }
 
@@ -2014,6 +2043,7 @@
 	pmap_t pmap;
 	pt_entry_t *pte, tpte;
 	pd_entry_t ptepde;
+	vm_page_t free;
 
 #if defined(PMAP_DIAGNOSTIC)
 	/*
@@ -2045,10 +2075,12 @@
 			    pv->pv_va, tpte));
 			vm_page_dirty(m);
 		}
+		free = NULL;
+		pmap_unuse_pt(pmap, pv->pv_va, ptepde, &free);
 		pmap_invalidate_page(pmap, pv->pv_va);
+		pmap_free_zero_pages(free);
 		TAILQ_REMOVE(&m->md.pv_list, pv, pv_list);
 		m->md.pv_list_count--;
-		pmap_unuse_pt(pmap, pv->pv_va, ptepde);
 		free_pv_entry(pmap, pv);
 		PMAP_UNLOCK(pmap);
 	}
@@ -2161,9 +2193,9 @@
 			}
 		}
 	}
-	vm_page_unlock_queues();
 	if (anychanged)
 		pmap_invalidate_all(pmap);
+	vm_page_unlock_queues();
 	PMAP_UNLOCK(pmap);
 }
 
@@ -2413,6 +2445,7 @@
 pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m,
     vm_prot_t prot, vm_page_t mpte)
 {
+	vm_page_t free;
 	pt_entry_t *pte;
 	vm_paddr_t pa;
 
@@ -2471,7 +2504,7 @@
 	pte = vtopte(va);
 	if (*pte) {
 		if (mpte != NULL) {
-			pmap_unwire_pte_hold(pmap, va, mpte);
+			mpte->wire_count--;
 			mpte = NULL;
 		}
 		return (mpte);
@@ -2483,7 +2516,11 @@
 	if ((m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) == 0 &&
 	    !pmap_try_insert_pv_entry(pmap, va, m)) {
 		if (mpte != NULL) {
-			pmap_unwire_pte_hold(pmap, va, mpte);
+			free = NULL;
+			if (pmap_unwire_pte_hold(pmap, va, mpte, &free)) {
+				pmap_invalidate_page(pmap, va);
+				pmap_free_zero_pages(free);
+			}
 			mpte = NULL;
 		}
 		return (mpte);
@@ -2657,6 +2694,7 @@
 pmap_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, vm_size_t len,
 	  vm_offset_t src_addr)
 {
+	vm_page_t   free;
 	vm_offset_t addr;
 	vm_offset_t end_addr = src_addr + len;
 	vm_offset_t va_next;
@@ -2716,7 +2754,7 @@
 				dst_pmap->pm_stats.resident_count +=
 				    NBPDR / PAGE_SIZE;
 			} else
-				pmap_unwire_pte_hold(dst_pmap, addr, dstmpde);
+				dstmpde->wire_count--;
 			continue;
 		}
 
@@ -2753,9 +2791,15 @@
 					*dst_pte = ptetemp & ~(PG_W | PG_M |
 					    PG_A);
 					dst_pmap->pm_stats.resident_count++;
-	 			} else
-					pmap_unwire_pte_hold(dst_pmap, addr,
-					    dstmpte);
+	 			} else {
+					free = NULL;
+					if (pmap_unwire_pte_hold(dst_pmap,
+					    addr, dstmpte, &free)) {
+					    	pmap_invalidate_page(dst_pmap,
+					 	    addr);
+				    	    	pmap_free_zero_pages(free);
+					}
+				}
 				if (dstmpte->wire_count >= srcmpte->wire_count)
 					break;
 			}
@@ -2866,7 +2910,7 @@
 pmap_remove_pages(pmap_t pmap)
 {
 	pt_entry_t *pte, tpte;
-	vm_page_t m;
+	vm_page_t m, free = NULL;
 	pv_entry_t pv;
 	struct pv_chunk *pc, *npc;
 	int field, idx;
@@ -2939,7 +2983,7 @@
 				if (TAILQ_EMPTY(&m->md.pv_list))
 					vm_page_flag_clear(m, PG_WRITEABLE);
 				pmap_unuse_pt(pmap, pv->pv_va,
-				    *vtopde(pv->pv_va));
+				    *vtopde(pv->pv_va), &free);
 			}
 		}
 		if (allfree) {
@@ -2952,8 +2996,9 @@
 			vm_page_free(m);
 		}
 	}
+	pmap_invalidate_all(pmap);
+	pmap_free_zero_pages(free);
 	vm_page_unlock_queues();
-	pmap_invalidate_all(pmap);
 	PMAP_UNLOCK(pmap);
 }
 
@@ -3261,7 +3306,7 @@
 	pd_entry_t *pde;
 	pt_entry_t *pte;
 
-	base = va & PG_FRAME;
+	base = trunc_page(va);
 	offset = va & PAGE_MASK;
 	size = roundup(offset + size, PAGE_SIZE);
 

==== //depot/projects/smpng/sys/amd64/amd64/vm_machdep.c#35 (text+ko) ====

@@ -41,7 +41,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.252 2006/09/17 14:54:14 davidxu Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.254 2007/04/24 21:17:45 jhb Exp $");
 
 #include "opt_isa.h"
 #include "opt_cpu.h"
@@ -459,6 +459,10 @@
 static void
 cpu_reset_real()
 {
+	struct region_descriptor null_idt;
+	int b;
+
+	disable_intr();
 
 	/*
 	 * Attempt to do a CPU reset via the keyboard controller,
@@ -467,14 +471,44 @@
 	 */
 	outb(IO_KBD + 4, 0xFE);
 	DELAY(500000);	/* wait 0.5 sec to see if that did it */
-	printf("Keyboard reset did not work, attempting CPU shutdown\n");
+
+	/*
+	 * Attempt to force a reset via the Reset Control register at
+	 * I/O port 0xcf9.  Bit 2 forces a system reset when it is
+	 * written as 1.  Bit 1 selects the type of reset to attempt:
+	 * 0 selects a "soft" reset, and 1 selects a "hard" reset.  We
+	 * try to do a "soft" reset first, and then a "hard" reset.
+	 */
+	outb(0xcf9, 0x2);
+	outb(0xcf9, 0x6);
+	DELAY(500000);  /* wait 0.5 sec to see if that did it */
+
+	/*
+	 * Attempt to force a reset via the Fast A20 and Init register
+	 * at I/O port 0x92.  Bit 1 serves as an alternate A20 gate.
+	 * Bit 0 asserts INIT# when set to 1.  We are careful to only
+	 * preserve bit 1 while setting bit 0.  We also must clear bit
+	 * 0 before setting it if it isn't already clear.
+	 */
+	b = inb(0x92);
+	if (b != 0xff) {
+		if ((b & 0x1) != 0)
+			outb(0x92, b & 0xfe);
+		outb(0x92, b | 0x1);
+		DELAY(500000);  /* wait 0.5 sec to see if that did it */
+	}
+
+	printf("No known reset method worked, attempting CPU shutdown\n");
 	DELAY(1000000);	/* wait 1 sec for printf to complete */
 
-	/* Force a shutdown by unmapping entire address space. */
-	bzero((caddr_t)PML4map, PAGE_SIZE);
+	/* Wipe the IDT. */
+	null_idt.rd_limit = 0;
+	null_idt.rd_base = 0;
+	lidt(&null_idt);
 
 	/* "good night, sweet prince .... <THUNK!>" */
-	invltlb();
+	breakpoint();
+
 	/* NOTREACHED */
 	while(1);
 }

==== //depot/projects/smpng/sys/amd64/include/vmparam.h#8 (text+ko) ====

@@ -38,7 +38,7 @@
  * SUCH DAMAGE.
  *
  *	from: @(#)vmparam.h	5.9 (Berkeley) 5/12/91
- * $FreeBSD: src/sys/amd64/include/vmparam.h,v 1.45 2004/10/27 17:21:15 peter Exp $
+ * $FreeBSD: src/sys/amd64/include/vmparam.h,v 1.46 2007/04/21 01:14:47 sepotvin Exp $
  */
 
 
@@ -122,7 +122,8 @@
 
 /*
  * How many physical pages per KVA page allocated.
- * min(max(VM_KMEM_SIZE, Physical memory/VM_KMEM_SIZE_SCALE), VM_KMEM_SIZE_MAX)
+ * min(max(max(VM_KMEM_SIZE, Physical memory/VM_KMEM_SIZE_SCALE),
+ *     VM_KMEM_SIZE_MIN), VM_KMEM_SIZE_MAX)
  * is the total KVA space allocated for kmem_map.
  */
 #ifndef VM_KMEM_SIZE_SCALE

==== //depot/projects/smpng/sys/amd64/linux32/linux32_dummy.c#9 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_dummy.c,v 1.8 2007/03/29 02:11:46 julian Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_dummy.c,v 1.9 2007/04/18 18:08:12 jkim Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -64,7 +64,6 @@
 DUMMY(mincore);
 DUMMY(fadvise64);
 DUMMY(ptrace);
-DUMMY(settimeofday);
 DUMMY(lookup_dcookie);
 DUMMY(epoll_create);
 DUMMY(epoll_ctl);

==== //depot/projects/smpng/sys/amd64/linux32/linux32_machdep.c#23 (text+ko) ====

@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.39 2007/03/30 17:27:13 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.42 2007/04/18 20:12:05 jkim Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -252,7 +252,7 @@
 	if (iovcnt > UIO_MAXIOV)
 		return (EINVAL);
 	iovlen = iovcnt * sizeof(struct iovec);
-	uio = malloc(iovlen + sizeof *uio, M_IOV, M_WAITOK);
+	uio = malloc(iovlen + sizeof(*uio), M_IOV, M_WAITOK);
 	iov = (struct iovec *)(uio + 1);
 	for (i = 0; i < iovcnt; i++) {
 		error = copyin(&iovp[i], &iov32, sizeof(struct iovec32));
@@ -526,7 +526,9 @@
 
 	td2 = FIRST_THREAD_IN_PROC(p2);
 
-	/* make it run */
+	/*
+	 * Make this runnable after we are finished with it.
+	 */
 	mtx_lock_spin(&sched_lock);
 	TD_SET_CAN_RUN(td2);
 	sched_add(td2, SRQ_BORING);
@@ -572,8 +574,8 @@
 	/*
 	 * XXX: In Linux, sharing of fs info (chroot/cwd/umask)
 	 * and open files is independant.  In FreeBSD, its in one
-	 * structure but in reality it does not make any problems
-	 * because both of these flags are set at once usually.
+	 * structure but in reality it does not cause any problems
+	 * because both of these flags are usually set together.
 	 */
 	if (!(args->flags & (LINUX_CLONE_FILES | LINUX_CLONE_FS)))
 		ff |= RFFDG;
@@ -660,15 +662,15 @@
 	if (args->flags & LINUX_CLONE_SETTLS) {
 		struct user_segment_descriptor sd;
 		struct l_user_desc info;
-	   	int a[2];
+		int a[2];
 
-	   	error = copyin((void *)td->td_frame->tf_rsi, &info,
+		error = copyin((void *)td->td_frame->tf_rsi, &info,
 		    sizeof(struct l_user_desc));
 		if (error) {
 			printf(LMSG("copyin failed!"));
 		} else {
 			/* We might copy out the entry_number as GUGS32_SEL. */
-		   	info.entry_number = GUGS32_SEL;
+			info.entry_number = GUGS32_SEL;
 			error = copyout(&info, (void *)td->td_frame->tf_rsi,
 			    sizeof(struct l_user_desc));
 			if (error)
@@ -871,7 +873,7 @@
 		 *
 		 * Our mmap with MAP_STACK takes addr as the maximum
 		 * downsize limit on BOS, and as len the max size of
-		 * the region.  It them maps the top SGROWSIZ bytes,
+		 * the region.  It then maps the top SGROWSIZ bytes,
 		 * and auto grows the region down, up to the limit
 		 * in addr.
 		 *
@@ -1167,17 +1169,44 @@
 		microtime(&atv);
 		atv32.tv_sec = atv.tv_sec;
 		atv32.tv_usec = atv.tv_usec;
-		error = copyout(&atv32, uap->tp, sizeof (atv32));
+		error = copyout(&atv32, uap->tp, sizeof(atv32));
 	}
 	if (error == 0 && uap->tzp != NULL) {
 		rtz.tz_minuteswest = tz_minuteswest;
 		rtz.tz_dsttime = tz_dsttime;
-		error = copyout(&rtz, uap->tzp, sizeof (rtz));

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200704261909.l3QJ9wAK002041>