Date: Mon, 21 Nov 2005 20:06:33 GMT From: John Baldwin <jhb@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 87042 for review Message-ID: <200511212006.jALK6XKE068762@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=87042 Change 87042 by jhb@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) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200511212006.jALK6XKE068762>