PERFORCE change 87042 for review
John Baldwin
jhb at FreeBSD.org
Mon Nov 21 12:06:42 PST 2005
http://perforce.freebsd.org/chv.cgi?CH=87042
Change 87042 by jhb at jhb_slimer on 2005/11/21 20:05:51
IFC @87038.
Affected files ...
.. //depot/projects/smpng/sys/alpha/alpha/clock.c#16 integrate
.. //depot/projects/smpng/sys/alpha/alpha/pmap.c#75 integrate
.. //depot/projects/smpng/sys/amd64/amd64/apic_vector.S#10 integrate
.. //depot/projects/smpng/sys/amd64/amd64/identcpu.c#15 integrate
.. //depot/projects/smpng/sys/amd64/amd64/io_apic.c#12 integrate
.. //depot/projects/smpng/sys/amd64/amd64/machdep.c#47 integrate
.. //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#29 integrate
.. //depot/projects/smpng/sys/amd64/amd64/pmap.c#50 integrate
.. //depot/projects/smpng/sys/amd64/amd64/trap.c#38 integrate
.. //depot/projects/smpng/sys/amd64/conf/NOTES#26 integrate
.. //depot/projects/smpng/sys/arm/arm/identcpu.c#5 integrate
.. //depot/projects/smpng/sys/arm/arm/pmap.c#23 integrate
.. //depot/projects/smpng/sys/arm/include/armreg.h#3 integrate
.. //depot/projects/smpng/sys/arm/include/pmap.h#14 integrate
.. //depot/projects/smpng/sys/boot/forth/loader.conf#39 integrate
.. //depot/projects/smpng/sys/boot/forth/loader.conf.5#11 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_cd.c#27 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_da.c#60 integrate
.. //depot/projects/smpng/sys/compat/ndis/subr_ndis.c#34 integrate
.. //depot/projects/smpng/sys/compat/ndis/subr_ntoskrnl.c#38 integrate
.. //depot/projects/smpng/sys/conf/Makefile.arm#15 integrate
.. //depot/projects/smpng/sys/conf/files#158 integrate
.. //depot/projects/smpng/sys/conf/files.amd64#36 integrate
.. //depot/projects/smpng/sys/conf/files.i386#89 integrate
.. //depot/projects/smpng/sys/conf/files.pc98#77 integrate
.. //depot/projects/smpng/sys/conf/options.i386#52 integrate
.. //depot/projects/smpng/sys/conf/options.pc98#51 integrate
.. //depot/projects/smpng/sys/contrib/dev/oltr/if_oltr.c#16 integrate
.. //depot/projects/smpng/sys/contrib/pf/net/if_pflog.c#12 integrate
.. //depot/projects/smpng/sys/contrib/pf/net/if_pfsync.c#18 integrate
.. //depot/projects/smpng/sys/dev/aac/aac.c#53 integrate
.. //depot/projects/smpng/sys/dev/aic7xxx/aicasm/Makefile#13 integrate
.. //depot/projects/smpng/sys/dev/an/if_an.c#48 integrate
.. //depot/projects/smpng/sys/dev/arl/if_arl.c#10 integrate
.. //depot/projects/smpng/sys/dev/ath/ath_rate/sample/sample.c#5 integrate
.. //depot/projects/smpng/sys/dev/ath/if_ath.c#32 integrate
.. //depot/projects/smpng/sys/dev/ath/if_athioctl.h#10 integrate
.. //depot/projects/smpng/sys/dev/ath/if_athvar.h#20 integrate
.. //depot/projects/smpng/sys/dev/bfe/if_bfe.c#20 integrate
.. //depot/projects/smpng/sys/dev/bge/if_bge.c#62 integrate
.. //depot/projects/smpng/sys/dev/bge/if_bgereg.h#32 integrate
.. //depot/projects/smpng/sys/dev/bktr/bktr_card.c#14 integrate
.. //depot/projects/smpng/sys/dev/bktr/bktr_card.h#8 integrate
.. //depot/projects/smpng/sys/dev/bktr/bktr_tuner.c#9 integrate
.. //depot/projects/smpng/sys/dev/bktr/bktr_tuner.h#5 integrate
.. //depot/projects/smpng/sys/dev/ciss/ciss.c#43 integrate
.. //depot/projects/smpng/sys/dev/dc/if_dc.c#3 integrate
.. //depot/projects/smpng/sys/dev/ed/if_ed.c#36 integrate
.. //depot/projects/smpng/sys/dev/em/if_em.c#57 integrate
.. //depot/projects/smpng/sys/dev/em/if_em.h#29 integrate
.. //depot/projects/smpng/sys/dev/em/if_em_hw.h#16 integrate
.. //depot/projects/smpng/sys/dev/em/if_em_osdep.h#15 integrate
.. //depot/projects/smpng/sys/dev/ep/if_ep.c#26 integrate
.. //depot/projects/smpng/sys/dev/ex/if_ex.c#19 integrate
.. //depot/projects/smpng/sys/dev/fe/if_fe.c#23 integrate
.. //depot/projects/smpng/sys/dev/fe/if_fe_pccard.c#18 integrate
.. //depot/projects/smpng/sys/dev/fxp/if_fxp.c#69 integrate
.. //depot/projects/smpng/sys/dev/gem/if_gem.c#26 integrate
.. //depot/projects/smpng/sys/dev/hme/if_hme.c#28 integrate
.. //depot/projects/smpng/sys/dev/hptmv/entry.c#8 integrate
.. //depot/projects/smpng/sys/dev/hwpmc/hwpmc_x86.c#4 integrate
.. //depot/projects/smpng/sys/dev/ie/if_ie.c#15 integrate
.. //depot/projects/smpng/sys/dev/ipw/if_ipw.c#9 integrate
.. //depot/projects/smpng/sys/dev/iwi/if_iwi.c#12 integrate
.. //depot/projects/smpng/sys/dev/iwi/if_iwireg.h#5 integrate
.. //depot/projects/smpng/sys/dev/iwi/if_iwivar.h#5 integrate
.. //depot/projects/smpng/sys/dev/ixgb/if_ixgb.c#14 integrate
.. //depot/projects/smpng/sys/dev/joy/joy.c#10 integrate
.. //depot/projects/smpng/sys/dev/lge/if_lge.c#32 integrate
.. //depot/projects/smpng/sys/dev/lnc/if_lnc.c#21 integrate
.. //depot/projects/smpng/sys/dev/lnc/if_lnc_cbus.c#10 integrate
.. //depot/projects/smpng/sys/dev/mpt/mpt.h#7 integrate
.. //depot/projects/smpng/sys/dev/mpt/mpt_raid.c#3 integrate
.. //depot/projects/smpng/sys/dev/my/if_my.c#21 integrate
.. //depot/projects/smpng/sys/dev/nge/if_nge.c#46 integrate
.. //depot/projects/smpng/sys/dev/nve/if_nve.c#8 integrate
.. //depot/projects/smpng/sys/dev/owi/if_ieee80211.h#2 delete
.. //depot/projects/smpng/sys/dev/owi/if_owi.c#11 delete
.. //depot/projects/smpng/sys/dev/owi/if_owi_pccard.c#7 delete
.. //depot/projects/smpng/sys/dev/owi/if_wireg.h#3 delete
.. //depot/projects/smpng/sys/dev/owi/if_wivar.h#5 delete
.. //depot/projects/smpng/sys/dev/pci/pci.c#65 integrate
.. //depot/projects/smpng/sys/dev/pdq/if_fea.c#10 integrate
.. //depot/projects/smpng/sys/dev/pdq/if_fpa.c#11 integrate
.. //depot/projects/smpng/sys/dev/pdq/pdq_freebsd.h#9 integrate
.. //depot/projects/smpng/sys/dev/pdq/pdq_ifsubr.c#13 integrate
.. //depot/projects/smpng/sys/dev/ral/if_ral.c#11 integrate
.. //depot/projects/smpng/sys/dev/ray/if_ray.c#24 integrate
.. //depot/projects/smpng/sys/dev/re/if_re.c#33 integrate
.. //depot/projects/smpng/sys/dev/sbni/if_sbni.c#20 integrate
.. //depot/projects/smpng/sys/dev/snc/dp83932.c#15 integrate
.. //depot/projects/smpng/sys/dev/sound/isa/sb16.c#21 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/es137x.c#19 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/ich.c#37 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/via8233.c#19 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/ac97.c#29 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/channel.c#33 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/dsp.c#31 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/feeder_fmt.c#13 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/feeder_rate.c#10 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/feeder_volume.c#2 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/mixer.c#23 integrate
.. //depot/projects/smpng/sys/dev/sound/usb/uaudio.c#9 integrate
.. //depot/projects/smpng/sys/dev/sound/usb/uaudio.h#5 integrate
.. //depot/projects/smpng/sys/dev/sound/usb/uaudio_pcm.c#13 integrate
.. //depot/projects/smpng/sys/dev/speaker/speaker.h#1 branch
.. //depot/projects/smpng/sys/dev/speaker/spkr.c#1 branch
.. //depot/projects/smpng/sys/dev/twa/tw_cl.h#2 integrate
.. //depot/projects/smpng/sys/dev/twa/tw_cl_externs.h#2 integrate
.. //depot/projects/smpng/sys/dev/twa/tw_cl_fwif.h#2 integrate
.. //depot/projects/smpng/sys/dev/twa/tw_cl_fwimg.c#2 integrate
.. //depot/projects/smpng/sys/dev/twa/tw_cl_init.c#2 integrate
.. //depot/projects/smpng/sys/dev/twa/tw_cl_intr.c#2 integrate
.. //depot/projects/smpng/sys/dev/twa/tw_cl_io.c#2 integrate
.. //depot/projects/smpng/sys/dev/twa/tw_cl_ioctl.h#2 integrate
.. //depot/projects/smpng/sys/dev/twa/tw_cl_misc.c#2 integrate
.. //depot/projects/smpng/sys/dev/twa/tw_cl_share.h#2 integrate
.. //depot/projects/smpng/sys/dev/twa/tw_osl.h#2 integrate
.. //depot/projects/smpng/sys/dev/twa/tw_osl_cam.c#5 integrate
.. //depot/projects/smpng/sys/dev/twa/tw_osl_freebsd.c#4 integrate
.. //depot/projects/smpng/sys/dev/twa/tw_osl_includes.h#3 integrate
.. //depot/projects/smpng/sys/dev/twa/tw_osl_inline.h#1 branch
.. //depot/projects/smpng/sys/dev/twa/tw_osl_share.h#4 integrate
.. //depot/projects/smpng/sys/dev/tx/if_tx.c#24 integrate
.. //depot/projects/smpng/sys/dev/txp/if_txp.c#31 integrate
.. //depot/projects/smpng/sys/dev/usb/if_aue.c#40 integrate
.. //depot/projects/smpng/sys/dev/usb/if_axe.c#24 integrate
.. //depot/projects/smpng/sys/dev/usb/if_cue.c#31 integrate
.. //depot/projects/smpng/sys/dev/usb/if_kue.c#28 integrate
.. //depot/projects/smpng/sys/dev/usb/if_rue.c#18 integrate
.. //depot/projects/smpng/sys/dev/usb/if_udav.c#12 integrate
.. //depot/projects/smpng/sys/dev/usb/if_ural.c#10 integrate
.. //depot/projects/smpng/sys/dev/usb/if_uralvar.h#4 integrate
.. //depot/projects/smpng/sys/dev/usb/ulpt.c#22 integrate
.. //depot/projects/smpng/sys/dev/vge/if_vge.c#13 integrate
.. //depot/projects/smpng/sys/dev/vx/if_vx.c#23 integrate
.. //depot/projects/smpng/sys/dev/wi/if_wi.c#79 integrate
.. //depot/projects/smpng/sys/dev/wl/if_wl.c#27 integrate
.. //depot/projects/smpng/sys/dev/xe/if_xe.c#25 integrate
.. //depot/projects/smpng/sys/fs/devfs/devfs_vnops.c#53 integrate
.. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_vfsops.c#45 integrate
.. //depot/projects/smpng/sys/fs/smbfs/smbfs_vfsops.c#32 integrate
.. //depot/projects/smpng/sys/geom/geom_disk.c#46 integrate
.. //depot/projects/smpng/sys/geom/geom_disk.h#5 integrate
.. //depot/projects/smpng/sys/geom/geom_dump.c#24 integrate
.. //depot/projects/smpng/sys/geom/geom_gpt.c#21 integrate
.. //depot/projects/smpng/sys/geom/geom_subr.c#47 integrate
.. //depot/projects/smpng/sys/geom/vinum/geom_vinum.c#13 integrate
.. //depot/projects/smpng/sys/geom/vinum/geom_vinum.h#8 integrate
.. //depot/projects/smpng/sys/geom/vinum/geom_vinum_drive.c#14 integrate
.. //depot/projects/smpng/sys/geom/vinum/geom_vinum_move.c#1 branch
.. //depot/projects/smpng/sys/geom/vinum/geom_vinum_rename.c#1 branch
.. //depot/projects/smpng/sys/geom/vinum/geom_vinum_rm.c#8 integrate
.. //depot/projects/smpng/sys/i386/conf/NOTES#111 integrate
.. //depot/projects/smpng/sys/i386/conf/PAE#16 integrate
.. //depot/projects/smpng/sys/i386/conf/XBOX#1 branch
.. //depot/projects/smpng/sys/i386/i386/apic_vector.s#19 integrate
.. //depot/projects/smpng/sys/i386/i386/identcpu.c#39 integrate
.. //depot/projects/smpng/sys/i386/i386/io_apic.c#15 integrate
.. //depot/projects/smpng/sys/i386/i386/machdep.c#99 integrate
.. //depot/projects/smpng/sys/i386/i386/mp_machdep.c#94 integrate
.. //depot/projects/smpng/sys/i386/i386/pmap.c#90 integrate
.. //depot/projects/smpng/sys/i386/i386/trap.c#89 integrate
.. //depot/projects/smpng/sys/i386/i386/vm_machdep.c#75 integrate
.. //depot/projects/smpng/sys/i386/include/speaker.h#3 integrate
.. //depot/projects/smpng/sys/i386/include/xbox.h#1 branch
.. //depot/projects/smpng/sys/i386/isa/clock.c#45 integrate
.. //depot/projects/smpng/sys/i386/isa/spkr.c#17 delete
.. //depot/projects/smpng/sys/i386/pci/pci_cfgreg.c#31 integrate
.. //depot/projects/smpng/sys/i386/xbox/pic16l.s#1 branch
.. //depot/projects/smpng/sys/i386/xbox/xbox.c#1 branch
.. //depot/projects/smpng/sys/i386/xbox/xboxfb.c#1 branch
.. //depot/projects/smpng/sys/ia64/ia64/pmap.c#75 integrate
.. //depot/projects/smpng/sys/kern/imgact_elf.c#48 integrate
.. //depot/projects/smpng/sys/kern/init_main.c#58 integrate
.. //depot/projects/smpng/sys/kern/kern_acct.c#38 integrate
.. //depot/projects/smpng/sys/kern/kern_descrip.c#86 integrate
.. //depot/projects/smpng/sys/kern/kern_exit.c#105 integrate
.. //depot/projects/smpng/sys/kern/kern_fork.c#96 integrate
.. //depot/projects/smpng/sys/kern/kern_ktrace.c#47 integrate
.. //depot/projects/smpng/sys/kern/kern_proc.c#80 integrate
.. //depot/projects/smpng/sys/kern/kern_sig.c#113 integrate
.. //depot/projects/smpng/sys/kern/kern_time.c#39 integrate
.. //depot/projects/smpng/sys/kern/subr_power.c#6 integrate
.. //depot/projects/smpng/sys/kern/subr_rman.c#25 integrate
.. //depot/projects/smpng/sys/kern/subr_sleepqueue.c#20 integrate
.. //depot/projects/smpng/sys/kern/subr_trap.c#79 integrate
.. //depot/projects/smpng/sys/kern/sys_process.c#46 integrate
.. //depot/projects/smpng/sys/kern/uipc_proto.c#5 integrate
.. //depot/projects/smpng/sys/kern/uipc_usrreq.c#51 integrate
.. //depot/projects/smpng/sys/kern/vfs_aio.c#65 integrate
.. //depot/projects/smpng/sys/kern/vfs_mount.c#52 integrate
.. //depot/projects/smpng/sys/kern/vfs_subr.c#115 integrate
.. //depot/projects/smpng/sys/modules/Makefile#110 integrate
.. //depot/projects/smpng/sys/modules/geom/geom_vinum/Makefile#3 integrate
.. //depot/projects/smpng/sys/modules/iwi/Makefile#3 integrate
.. //depot/projects/smpng/sys/modules/md/Makefile#5 integrate
.. //depot/projects/smpng/sys/modules/oldcard/Makefile#6 delete
.. //depot/projects/smpng/sys/modules/owi/Makefile#4 delete
.. //depot/projects/smpng/sys/modules/speaker/Makefile#2 integrate
.. //depot/projects/smpng/sys/modules/twa/Makefile#4 integrate
.. //depot/projects/smpng/sys/net/fddi.h#6 integrate
.. //depot/projects/smpng/sys/net/if.c#76 integrate
.. //depot/projects/smpng/sys/net/if_arcsubr.c#20 integrate
.. //depot/projects/smpng/sys/net/if_arp.h#9 integrate
.. //depot/projects/smpng/sys/net/if_bridge.c#15 integrate
.. //depot/projects/smpng/sys/net/if_bridgevar.h#4 integrate
.. //depot/projects/smpng/sys/net/if_clone.c#7 integrate
.. //depot/projects/smpng/sys/net/if_clone.h#3 integrate
.. //depot/projects/smpng/sys/net/if_disc.c#21 integrate
.. //depot/projects/smpng/sys/net/if_ef.c#21 integrate
.. //depot/projects/smpng/sys/net/if_ethersubr.c#66 integrate
.. //depot/projects/smpng/sys/net/if_faith.c#30 integrate
.. //depot/projects/smpng/sys/net/if_fddisubr.c#26 integrate
.. //depot/projects/smpng/sys/net/if_fwsubr.c#10 integrate
.. //depot/projects/smpng/sys/net/if_gif.c#30 integrate
.. //depot/projects/smpng/sys/net/if_gre.c#27 integrate
.. //depot/projects/smpng/sys/net/if_iso88025subr.c#23 integrate
.. //depot/projects/smpng/sys/net/if_mib.c#8 integrate
.. //depot/projects/smpng/sys/net/if_ppp.c#37 integrate
.. //depot/projects/smpng/sys/net/if_stf.c#34 integrate
.. //depot/projects/smpng/sys/net/if_tap.c#38 integrate
.. //depot/projects/smpng/sys/net/if_var.h#42 integrate
.. //depot/projects/smpng/sys/net/if_vlan.c#42 integrate
.. //depot/projects/smpng/sys/net/iso88025.h#7 integrate
.. //depot/projects/smpng/sys/net/route.c#29 integrate
.. //depot/projects/smpng/sys/net/rtsock.c#51 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211.c#16 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_ioctl.c#21 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_var.h#15 integrate
.. //depot/projects/smpng/sys/netatalk/aarp.c#19 integrate
.. //depot/projects/smpng/sys/netatalk/at_proto.c#4 integrate
.. //depot/projects/smpng/sys/netatm/atm_if.c#16 integrate
.. //depot/projects/smpng/sys/netatm/atm_proto.c#8 integrate
.. //depot/projects/smpng/sys/netgraph/bluetooth/socket/ng_btsocket.c#12 integrate
.. //depot/projects/smpng/sys/netgraph/netgraph.h#24 integrate
.. //depot/projects/smpng/sys/netgraph/ng_base.c#42 integrate
.. //depot/projects/smpng/sys/netgraph/ng_ether.c#29 integrate
.. //depot/projects/smpng/sys/netgraph/ng_fec.c#18 integrate
.. //depot/projects/smpng/sys/netgraph/ng_socket.c#35 integrate
.. //depot/projects/smpng/sys/netinet/igmp.c#17 integrate
.. //depot/projects/smpng/sys/netinet/in_gif.c#16 integrate
.. //depot/projects/smpng/sys/netinet/in_proto.c#22 integrate
.. //depot/projects/smpng/sys/netinet/ip_carp.c#15 integrate
.. //depot/projects/smpng/sys/netinet/ip_divert.c#45 integrate
.. //depot/projects/smpng/sys/netinet/ip_fastfwd.c#22 integrate
.. //depot/projects/smpng/sys/netinet/ip_fw2.c#62 integrate
.. //depot/projects/smpng/sys/netinet/ip_icmp.c#37 integrate
.. //depot/projects/smpng/sys/netinet/ip_input.c#71 integrate
.. //depot/projects/smpng/sys/netinet/ip_mroute.c#43 integrate
.. //depot/projects/smpng/sys/netinet/ip_options.c#1 branch
.. //depot/projects/smpng/sys/netinet/ip_options.h#1 branch
.. //depot/projects/smpng/sys/netinet/ip_output.c#79 integrate
.. //depot/projects/smpng/sys/netinet/ip_var.h#30 integrate
.. //depot/projects/smpng/sys/netinet/tcp_input.c#77 integrate
.. //depot/projects/smpng/sys/netinet/tcp_output.c#38 integrate
.. //depot/projects/smpng/sys/netinet/tcp_sack.c#15 integrate
.. //depot/projects/smpng/sys/netinet/tcp_syncache.c#43 integrate
.. //depot/projects/smpng/sys/netinet/udp_usrreq.c#61 integrate
.. //depot/projects/smpng/sys/netinet6/in6_proto.c#14 integrate
.. //depot/projects/smpng/sys/netinet6/mld6.c#16 integrate
.. //depot/projects/smpng/sys/netipsec/keysock.c#10 integrate
.. //depot/projects/smpng/sys/netipx/ipx_ip.c#14 integrate
.. //depot/projects/smpng/sys/netipx/ipx_proto.c#7 integrate
.. //depot/projects/smpng/sys/netkey/keysock.c#23 integrate
.. //depot/projects/smpng/sys/netnatm/natm_proto.c#15 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_bio.c#44 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_socket.c#39 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_subs.c#27 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#55 integrate
.. //depot/projects/smpng/sys/nfsclient/nfsm_subs.h#9 integrate
.. //depot/projects/smpng/sys/pc98/conf/NOTES#47 integrate
.. //depot/projects/smpng/sys/pci/agp_amd64.c#7 integrate
.. //depot/projects/smpng/sys/pci/if_de.c#29 integrate
.. //depot/projects/smpng/sys/pci/if_pcn.c#38 integrate
.. //depot/projects/smpng/sys/pci/if_rl.c#63 integrate
.. //depot/projects/smpng/sys/pci/if_sf.c#42 integrate
.. //depot/projects/smpng/sys/pci/if_sis.c#58 integrate
.. //depot/projects/smpng/sys/pci/if_sk.c#53 integrate
.. //depot/projects/smpng/sys/pci/if_ste.c#43 integrate
.. //depot/projects/smpng/sys/pci/if_ti.c#51 integrate
.. //depot/projects/smpng/sys/pci/if_tl.c#32 integrate
.. //depot/projects/smpng/sys/pci/if_vr.c#43 integrate
.. //depot/projects/smpng/sys/pci/if_wb.c#37 integrate
.. //depot/projects/smpng/sys/pci/if_xl.c#65 integrate
.. //depot/projects/smpng/sys/powerpc/conf/GENERIC#29 integrate
.. //depot/projects/smpng/sys/powerpc/include/pte.h#5 integrate
.. //depot/projects/smpng/sys/powerpc/powerpc/mmu_if.m#2 integrate
.. //depot/projects/smpng/sys/powerpc/powerpc/ofw_machdep.c#12 integrate
.. //depot/projects/smpng/sys/powerpc/powerpc/pmap.c#58 delete
.. //depot/projects/smpng/sys/powerpc/powerpc/pmap_dispatch.c#2 integrate
.. //depot/projects/smpng/sys/powerpc/psim/ata_iobus.c#12 integrate
.. //depot/projects/smpng/sys/sparc64/conf/GENERIC#59 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/pmap.c#61 integrate
.. //depot/projects/smpng/sys/sys/ata.h#23 integrate
.. //depot/projects/smpng/sys/sys/ktrace.h#12 integrate
.. //depot/projects/smpng/sys/sys/mbuf.h#56 integrate
.. //depot/projects/smpng/sys/sys/mdioctl.h#14 integrate
.. //depot/projects/smpng/sys/sys/param.h#90 integrate
.. //depot/projects/smpng/sys/sys/proc.h#156 integrate
.. //depot/projects/smpng/sys/sys/queue.h#14 integrate
.. //depot/projects/smpng/sys/sys/resource.h#16 integrate
.. //depot/projects/smpng/sys/sys/signal.h#22 integrate
.. //depot/projects/smpng/sys/sys/time.h#19 integrate
.. //depot/projects/smpng/sys/sys/wait.h#9 integrate
.. //depot/projects/smpng/sys/ufs/ffs/ffs_vfsops.c#78 integrate
.. //depot/projects/smpng/sys/vm/pmap.h#28 integrate
.. //depot/projects/smpng/sys/vm/vm_map.c#75 integrate
.. //depot/projects/smpng/sys/vm/vm_pageout.c#54 integrate
Differences ...
==== //depot/projects/smpng/sys/alpha/alpha/clock.c#16 (text+ko) ====
@@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/clock.c,v 1.39 2005/05/14 09:10:00 nyan Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/clock.c,v 1.40 2005/11/20 01:31:29 marcel Exp $");
#include "opt_clock.h"
@@ -475,31 +475,20 @@
* and the time of year clock (if any) provides the rest.
*/
void
-inittodr(base)
- time_t base;
+inittodr(time_t base)
{
- register int days, yr;
struct clocktime ct;
- time_t deltat;
- int badbase, clock_compat_osf1;
- int s;
struct timespec ts;
-
- if (base < 5*SECYR) {
- printf("WARNING: preposterous time in filesystem");
- /* read the system clock anyway */
- base = 6*SECYR + 186*SECDAY + SECDAY/2;
- badbase = 1;
- } else
- badbase = 0;
+ int clock_compat_osf1, todr_unreliable;
+ int days, yr;
if (getenv_int("clock_compat_osf1", &clock_compat_osf1)) {
if (clock_compat_osf1)
clock_year_offset = UNIX_YEAR_OFFSET;
}
+ todr_unreliable = 0;
CLOCK_GET(clockdev, base, &ct);
- clockinitted = 1;
#ifdef DEBUG
printf("readclock: %d/%d/%d/%d/%d/%d\n", ct.year, ct.mon, ct.day,
@@ -508,7 +497,7 @@
ct.year += clock_year_offset;
if (ct.year < 70)
ct.year += 100;
-
+
/* simple sanity checks */
if (ct.year < 70 || ct.mon < 1 || ct.mon > 12 || ct.day < 1 ||
ct.day > 31 || ct.hour > 23 || ct.min > 59 || ct.sec > 59) {
@@ -516,48 +505,47 @@
* Believe the time in the filesystem for lack of
* anything better, resetting the TODR.
*/
- s = splclock();
ts.tv_sec = base;
- ts.tv_nsec = 0;
- tc_setclock(&ts);
- splx(s);
- if (!badbase) {
- printf("WARNING: preposterous clock chip time\n");
- resettodr();
- }
- goto bad;
+ printf("WARNING: preposterous real-time clock");
+ todr_unreliable = 1;
+ } else {
+ days = 0;
+ for (yr = 70; yr < ct.year; yr++)
+ days += LEAPYEAR(yr) ? 366 : 365;
+ days += dayyr[ct.mon - 1] + ct.day - 1;
+ if (LEAPYEAR(yr) && ct.mon > 2)
+ days++;
+ /* now have days since Jan 1, 1970; the rest is easy... */
+ ts.tv_sec = days * SECDAY + ct.hour * SECHOUR +
+ ct.min * SECMIN + ct.sec;
+ if (wall_cmos_clock)
+ ts.tv_sec += adjkerntz;
+ /*
+ * The time base comes from a saved time, whereas the real-
+ * time clock is supposed to represent the current time.
+ * It is logically not possible for a saved time to be
+ * larger than the current time, so if that happens, assume
+ * the real-time clock is off. Warn when the real-time
+ * clock is off by two or more days.
+ */
+ if (ts.tv_sec < base) {
+ ts.tv_sec = base;
+ days = (base - ts.tv_sec) / (60L * 60L * 24L);
+ if (days >= 2) {
+ printf("WARNING: real-time clock lost %d days",
+ days);
+ todr_unreliable = 1;
+ }
+ }
}
- days = 0;
- for (yr = 70; yr < ct.year; yr++)
- days += LEAPYEAR(yr) ? 366 : 365;
- days += dayyr[ct.mon - 1] + ct.day - 1;
- if (LEAPYEAR(yr) && ct.mon > 2)
- days++;
- /* now have days since Jan 1, 1970; the rest is easy... */
- s = splclock();
- ts.tv_sec =
- days * SECDAY + ct.hour * SECHOUR + ct.min * SECMIN + ct.sec;
- if (wall_cmos_clock)
- ts.tv_sec += adjkerntz;
ts.tv_nsec = 0;
tc_setclock(&ts);
- splx(s);
+ clockinitted = 1;
- if (!badbase) {
- /*
- * See if we gained/lost two or more days;
- * if so, assume something is amiss.
- */
- deltat = ts.tv_sec - base;
- if (deltat < 0)
- deltat = -deltat;
- if (deltat < 2 * SECDAY)
- return;
- printf("WARNING: clock %s %d days",
- ts.tv_sec < base ? "lost" : "gained", deltat / SECDAY);
+ if (todr_unreliable) {
+ printf(" -- CHECK AND RESET THE DATE!\n");
+ resettodr();
}
-bad:
- printf(" -- CHECK AND RESET THE DATE!\n");
}
/*
==== //depot/projects/smpng/sys/alpha/alpha/pmap.c#75 (text+ko) ====
@@ -148,7 +148,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.183 2005/11/04 18:03:23 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.186 2005/11/20 06:09:47 alc Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -317,11 +317,9 @@
*/
static uma_zone_t pvzone;
static int pv_entry_count = 0, pv_entry_max = 0, pv_entry_high_water = 0;
-int pmap_pagedaemon_waken;
static PMAP_INLINE void free_pv_entry(pv_entry_t pv);
-static pv_entry_t get_pv_entry(void);
-static pv_entry_t pv_entry_reclaim(pmap_t locked_pmap);
+static pv_entry_t get_pv_entry(pmap_t locked_pmap);
static void alpha_protection_init(void);
static void pmap_changebit(vm_page_t m, int bit, boolean_t setem);
@@ -585,11 +583,6 @@
pv_entry_high_water = 9 * (pv_entry_max / 10);
}
-void
-pmap_init2()
-{
-}
-
/***************************************************
* Manipulate TLBs for a pmap
@@ -1300,49 +1293,57 @@
/*
* get a new pv_entry, allocating a block from the system
* when needed.
- * the memory allocation is performed bypassing the malloc code
- * because of the possibility of allocations at interrupt time.
*/
static pv_entry_t
-get_pv_entry(void)
+get_pv_entry(pmap_t locked_pmap)
{
- pv_entry_count++;
- if ((pv_entry_count > pv_entry_high_water) &&
- (pmap_pagedaemon_waken == 0)) {
- pmap_pagedaemon_waken = 1;
- wakeup (&vm_pages_needed);
- }
- return uma_zalloc(pvzone, M_NOWAIT);
-}
-
-/*
- * Reclaim a pv entry by removing a mapping to an inactive page.
- */
-static pv_entry_t
-pv_entry_reclaim(pmap_t locked_pmap)
-{
+ static const struct timeval printinterval = { 60, 0 };
+ static struct timeval lastprint;
+ struct vpgqueues *vpq;
pmap_t pmap;
pt_entry_t *pte, tpte;
- pv_entry_t pv;
+ pv_entry_t allocated_pv, next_pv, pv;
vm_offset_t va;
vm_page_t m;
PMAP_LOCK_ASSERT(locked_pmap, MA_OWNED);
mtx_assert(&vm_page_queue_mtx, MA_OWNED);
- TAILQ_FOREACH(m, &vm_page_queues[PQ_INACTIVE].pl, pageq) {
+ allocated_pv = uma_zalloc(pvzone, M_NOWAIT);
+ if (allocated_pv != NULL) {
+ pv_entry_count++;
+ if (pv_entry_count > pv_entry_high_water)
+ pagedaemon_wakeup();
+ else
+ return (allocated_pv);
+ }
+
+ /*
+ * Reclaim pv entries: At first, destroy mappings to inactive
+ * pages. After that, if a pv entry is still needed, destroy
+ * mappings to active pages.
+ */
+ if (ratecheck(&lastprint, &printinterval))
+ printf("Approaching the limit on PV entries, "
+ "increase the vm.pmap.shpgperproc tunable.\n");
+ vpq = &vm_page_queues[PQ_INACTIVE];
+retry:
+ TAILQ_FOREACH(m, &vpq->pl, pageq) {
if (m->hold_count || m->busy || (m->flags & PG_BUSY))
continue;
- TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) {
+ TAILQ_FOREACH_SAFE(pv, &m->md.pv_list, pv_list, next_pv) {
va = pv->pv_va;
pmap = pv->pv_pmap;
- if (pmap != locked_pmap && !PMAP_TRYLOCK(pmap))
+ /* Avoid deadlock and lock recursion. */
+ if (pmap > locked_pmap)
+ PMAP_LOCK(pmap);
+ else if (pmap != locked_pmap && !PMAP_TRYLOCK(pmap))
continue;
pmap->pm_stats.resident_count--;
pte = pmap_lev3pte(pmap, va);
tpte = *pte;
*pte = 0;
KASSERT((tpte & PG_W) == 0,
- ("pv_entry_reclaim: wired pte %#lx", tpte));
+ ("get_pv_entry: wired pte %#lx", tpte));
if ((tpte & PG_FOR) == 0)
vm_page_flag_set(m, PG_REFERENCED);
if ((tpte & PG_FOW) == 0) {
@@ -1358,10 +1359,20 @@
pmap_unuse_pt(pmap, va, pv->pv_ptem);
if (pmap != locked_pmap)
PMAP_UNLOCK(pmap);
- return (pv);
+ if (allocated_pv == NULL)
+ allocated_pv = pv;
+ else
+ free_pv_entry(pv);
+ }
+ }
+ if (allocated_pv == NULL) {
+ if (vpq == &vm_page_queues[PQ_INACTIVE]) {
+ vpq = &vm_page_queues[PQ_ACTIVE];
+ goto retry;
}
+ panic("get_pv_entry: increase the vm.pmap.shpgperproc tunable");
}
- panic("pv_entry_reclaim: increase vm.pmap.shpgperproc");
+ return (allocated_pv);
}
static int
@@ -1408,9 +1419,7 @@
{
pv_entry_t pv;
- pv = get_pv_entry();
- if (pv == NULL)
- pv = pv_entry_reclaim(pmap);
+ pv = get_pv_entry(pmap);
pv->pv_va = va;
pv->pv_pmap = pmap;
pv->pv_ptem = mpte;
==== //depot/projects/smpng/sys/amd64/amd64/apic_vector.S#10 (text+ko) ====
@@ -28,7 +28,7 @@
* SUCH DAMAGE.
*
* from: vector.s, 386BSD 0.1 unknown origin
- * $FreeBSD: src/sys/amd64/amd64/apic_vector.S,v 1.104 2005/10/24 20:52:26 jhb Exp $
+ * $FreeBSD: src/sys/amd64/amd64/apic_vector.S,v 1.105 2005/11/16 20:55:57 jhb Exp $
*/
/*
@@ -297,11 +297,10 @@
test %eax, %eax
jnz 2f
- xorq %rax, %rax
- lock
- xchgq cpustop_restartfunc, %rax
+ movq cpustop_restartfunc, %rax
testq %rax, %rax
jz 2f
+ movq $0, cpustop_restartfunc /* One-shot */
call *%rax
2:
==== //depot/projects/smpng/sys/amd64/amd64/identcpu.c#15 (text+ko) ====
@@ -39,7 +39,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.140 2005/10/17 23:23:20 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.141 2005/11/17 02:32:39 obrien Exp $");
#include "opt_cpu.h"
@@ -339,7 +339,7 @@
cpu_feature &= ~CPUID_HTT;
if (bootverbose)
printf("\nHTT bit cleared - FreeBSD"
- " does not have licenseing issues"
+ " does not have licensing issues"
" requiring it.\n");
}
==== //depot/projects/smpng/sys/amd64/amd64/io_apic.c#12 (text+ko) ====
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.19 2005/11/04 23:02:28 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.20 2005/11/16 20:29:29 jhb Exp $");
#include "opt_atpic.h"
#include "opt_isa.h"
@@ -503,7 +503,7 @@
mtx_unlock_spin(&icu_lock);
/* If it's version register doesn't seem to work, punt. */
- if (value == 0xffffff) {
+ if (value == 0xffffffff) {
pmap_unmapdev((vm_offset_t)apic, IOAPIC_MEM_REGION);
return (NULL);
}
==== //depot/projects/smpng/sys/amd64/amd64/machdep.c#47 (text+ko) ====
@@ -39,7 +39,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.643 2005/10/26 22:16:52 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.644 2005/11/21 18:39:17 jhb Exp $");
#include "opt_atalk.h"
#include "opt_atpic.h"
@@ -124,7 +124,9 @@
#include <machine/smp.h>
#endif
+#include <dev/ic/i8259.h>
#include <amd64/isa/icu.h>
+#include <machine/apicvar.h>
#include <isa/isareg.h>
#include <isa/rtc.h>
@@ -1125,14 +1127,6 @@
u_int64_t msr;
char *env;
-#ifdef DEV_ISA
- /* Preemptively mask the atpics and leave them shut down */
- outb(IO_ICU1 + ICU_IMR_OFFSET, 0xff);
- outb(IO_ICU2 + ICU_IMR_OFFSET, 0xff);
-#else
-#error "have you forgotten the isa device?";
-#endif
-
thread0.td_kstack = physfree + KERNBASE;
bzero((void *)thread0.td_kstack, KSTACK_PAGES * PAGE_SIZE);
physfree += KSTACK_PAGES * PAGE_SIZE;
@@ -1231,9 +1225,35 @@
*/
cninit();
+#ifdef DEV_ISA
#ifdef DEV_ATPIC
elcr_probe();
atpic_startup();
+#else
+ /* Reset and mask the atpics and leave them shut down. */
+ outb(IO_ICU1, ICW1_RESET | ICW1_IC4);
+ outb(IO_ICU1 + ICU_IMR_OFFSET, IDT_IO_INTS);
+ outb(IO_ICU1 + ICU_IMR_OFFSET, 1 << 2);
+ outb(IO_ICU1 + ICU_IMR_OFFSET, ICW4_8086);
+ outb(IO_ICU1 + ICU_IMR_OFFSET, 0xff);
+ outb(IO_ICU1, OCW3_SEL | OCW3_RR);
+
+ outb(IO_ICU2, ICW1_RESET | ICW1_IC4);
+ outb(IO_ICU2 + ICU_IMR_OFFSET, IDT_IO_INTS + 8);
+ outb(IO_ICU2 + ICU_IMR_OFFSET, 2);
+ outb(IO_ICU2 + ICU_IMR_OFFSET, ICW4_8086);
+ outb(IO_ICU2 + ICU_IMR_OFFSET, 0xff);
+ outb(IO_ICU2, OCW3_SEL | OCW3_RR);
+
+ /*
+ * Point the ICU spurious interrupt vectors at the APIC spurious
+ * interrupt handler.
+ */
+ setidt(IDT_IO_INTS + 7, IDTVEC(spuriousint), SDT_SYSIGT, SEL_KPL, 0);
+ setidt(IDT_IO_INTS + 15, IDTVEC(spuriousint), SDT_SYSIGT, SEL_KPL, 0);
+#endif
+#else
+#error "have you forgotten the isa device?";
#endif
kdb_init();
==== //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#29 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.264 2005/10/24 21:04:17 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.265 2005/11/16 20:58:39 jhb Exp $");
#include "opt_cpu.h"
#include "opt_kstack_pages.h"
@@ -1072,7 +1072,6 @@
{
int cpu = PCPU_GET(cpuid);
int cpumask = PCPU_GET(cpumask);
- void (*restartfunc)(void);
if (!(ipi_nmi_pending & cpumask))
return 1;
@@ -1091,10 +1090,10 @@
atomic_clear_int(&started_cpus, cpumask);
atomic_clear_int(&stopped_cpus, cpumask);
- restartfunc = (void (*)(void))atomic_readandclear_long(
- (u_long *)&cpustop_restartfunc);
- if (restartfunc != NULL)
- restartfunc();
+ if (cpu == 0 && cpustop_restartfunc != NULL) {
+ cpustop_restartfunc();
+ cpustop_restartfunc = NULL;
+ }
return 0;
}
==== //depot/projects/smpng/sys/amd64/amd64/pmap.c#50 (text+ko) ====
@@ -77,7 +77,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.532 2005/11/04 18:03:23 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.535 2005/11/20 06:09:48 alc Exp $");
/*
* Manages physical address maps.
@@ -185,7 +185,6 @@
static uma_zone_t pvzone;
static struct vm_object pvzone_obj;
static int pv_entry_count = 0, pv_entry_max = 0, pv_entry_high_water = 0;
-int pmap_pagedaemon_waken;
/*
* All those kernel PT submaps that BSD is so fond of
@@ -200,8 +199,7 @@
static caddr_t crashdumpmap;
static PMAP_INLINE void free_pv_entry(pv_entry_t pv);
-static pv_entry_t get_pv_entry(void);
-static pv_entry_t pv_entry_reclaim(pmap_t locked_pmap);
+static pv_entry_t get_pv_entry(pmap_t locked_pmap);
static void pmap_clear_ptes(vm_page_t m, long bit);
static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq,
@@ -581,11 +579,6 @@
uma_zone_set_obj(pvzone, &pvzone_obj, pv_entry_max);
}
-void
-pmap_init2()
-{
-}
-
/***************************************************
* Low level helper routines.....
@@ -1428,54 +1421,62 @@
/*
* get a new pv_entry, allocating a block from the system
* when needed.
- * the memory allocation is performed bypassing the malloc code
- * because of the possibility of allocations at interrupt time.
*/
static pv_entry_t
-get_pv_entry(void)
+get_pv_entry(pmap_t locked_pmap)
{
- pv_entry_count++;
- if ((pv_entry_count > pv_entry_high_water) &&
- (pmap_pagedaemon_waken == 0)) {
- pmap_pagedaemon_waken = 1;
- wakeup (&vm_pages_needed);
- }
- return uma_zalloc(pvzone, M_NOWAIT);
-}
-
-/*
- * Reclaim a pv entry by removing a mapping to an inactive page.
- */
-static pv_entry_t
-pv_entry_reclaim(pmap_t locked_pmap)
-{
+ static const struct timeval printinterval = { 60, 0 };
+ static struct timeval lastprint;
+ struct vpgqueues *vpq;
pd_entry_t ptepde;
pmap_t pmap;
pt_entry_t *pte, tpte;
- pv_entry_t pv;
+ pv_entry_t allocated_pv, next_pv, pv;
vm_offset_t va;
vm_page_t m;
PMAP_LOCK_ASSERT(locked_pmap, MA_OWNED);
mtx_assert(&vm_page_queue_mtx, MA_OWNED);
- TAILQ_FOREACH(m, &vm_page_queues[PQ_INACTIVE].pl, pageq) {
+ allocated_pv = uma_zalloc(pvzone, M_NOWAIT);
+ if (allocated_pv != NULL) {
+ pv_entry_count++;
+ if (pv_entry_count > pv_entry_high_water)
+ pagedaemon_wakeup();
+ else
+ return (allocated_pv);
+ }
+
+ /*
+ * Reclaim pv entries: At first, destroy mappings to inactive
+ * pages. After that, if a pv entry is still needed, destroy
+ * mappings to active pages.
+ */
+ if (ratecheck(&lastprint, &printinterval))
+ printf("Approaching the limit on PV entries, "
+ "increase the vm.pmap.shpgperproc tunable.\n");
+ vpq = &vm_page_queues[PQ_INACTIVE];
+retry:
+ TAILQ_FOREACH(m, &vpq->pl, pageq) {
if (m->hold_count || m->busy || (m->flags & PG_BUSY))
continue;
- TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) {
+ TAILQ_FOREACH_SAFE(pv, &m->md.pv_list, pv_list, next_pv) {
va = pv->pv_va;
pmap = pv->pv_pmap;
- if (pmap != locked_pmap && !PMAP_TRYLOCK(pmap))
+ /* Avoid deadlock and lock recursion. */
+ if (pmap > locked_pmap)
+ PMAP_LOCK(pmap);
+ else if (pmap != locked_pmap && !PMAP_TRYLOCK(pmap))
continue;
pmap->pm_stats.resident_count--;
pte = pmap_pte_pde(pmap, va, &ptepde);
tpte = pte_load_clear(pte);
KASSERT((tpte & PG_W) == 0,
- ("pv_entry_reclaim: wired pte %#lx", tpte));
+ ("get_pv_entry: wired pte %#lx", tpte));
if (tpte & PG_A)
vm_page_flag_set(m, PG_REFERENCED);
if (tpte & PG_M) {
KASSERT((tpte & PG_RW),
- ("pv_entry_reclaim: modified page not writable: va: %#lx, pte: %#lx",
+ ("get_pv_entry: modified page not writable: va: %#lx, pte: %#lx",
va, tpte));
if (pmap_track_modified(va))
vm_page_dirty(m);
@@ -1489,10 +1490,20 @@
pmap_unuse_pt(pmap, va, ptepde);
if (pmap != locked_pmap)
PMAP_UNLOCK(pmap);
- return (pv);
+ if (allocated_pv == NULL)
+ allocated_pv = pv;
+ else
+ free_pv_entry(pv);
+ }
+ }
+ if (allocated_pv == NULL) {
+ if (vpq == &vm_page_queues[PQ_INACTIVE]) {
+ vpq = &vm_page_queues[PQ_ACTIVE];
+ goto retry;
}
+ panic("get_pv_entry: increase the vm.pmap.shpgperproc tunable");
}
- panic("pv_entry_reclaim: increase vm.pmap.shpgperproc");
+ return (allocated_pv);
}
static void
@@ -1531,11 +1542,7 @@
{
pv_entry_t pv;
- pv = get_pv_entry();
- if (pv == NULL) {
- pv_entry_count--;
- pv = pv_entry_reclaim(pmap);
- }
+ pv = get_pv_entry(pmap);
pv->pv_va = va;
pv->pv_pmap = pmap;
==== //depot/projects/smpng/sys/amd64/amd64/trap.c#38 (text+ko) ====
@@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.296 2005/10/24 21:04:17 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.297 2005/11/18 19:26:46 jhb Exp $");
/*
* AMD64 Trap and System call handling
@@ -100,7 +100,7 @@
static void trap_fatal(struct trapframe *, vm_offset_t);
void dblfault_handler(void);
-#define MAX_TRAP_MSG 28
+#define MAX_TRAP_MSG 30
static char *trap_msg[] = {
"", /* 0 unused */
"privileged instruction fault", /* 1 T_PRIVINFLT */
@@ -131,6 +131,8 @@
"segment not present fault", /* 26 T_SEGNPFLT */
"stack fault", /* 27 T_STKFLT */
"machine check trap", /* 28 T_MCHK */
+ "SIMD floating-point exception", /* 29 T_XMMFLT */
+ "reserved (unknown) fault", /* 30 T_RESERVED */
};
#ifdef KDB
@@ -609,15 +611,18 @@
int code, type, ss;
long esp;
struct soft_segment_descriptor softseg;
+ char *msg;
code = frame->tf_err;
type = frame->tf_trapno;
sdtossd(&gdt[IDXSEL(frame->tf_cs & 0xffff)], &softseg);
if (type <= MAX_TRAP_MSG)
- printf("\n\nFatal trap %d: %s while in %s mode\n",
- type, trap_msg[type],
- ISPL(frame->tf_cs) == SEL_UPL ? "user" : "kernel");
+ msg = trap_msg[type];
+ else
+ msg = "UNKNOWN";
+ printf("\n\nFatal trap %d: %s while in %s mode\n", type, msg,
+ ISPL(frame->tf_cs) == SEL_UPL ? "user" : "kernel");
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list