PERFORCE change 85794 for review

John Baldwin jhb at FreeBSD.org
Mon Oct 24 13:40:49 PDT 2005


http://perforce.freebsd.org/chv.cgi?CH=85794

Change 85794 by jhb at jhb_slimer on 2005/10/24 20:39:54

	IFC @85792.

Affected files ...

.. //depot/projects/smpng/sys/alpha/alpha/pmap.c#71 integrate
.. //depot/projects/smpng/sys/amd64/amd64/cpu_switch.S#15 integrate
.. //depot/projects/smpng/sys/amd64/amd64/identcpu.c#14 integrate
.. //depot/projects/smpng/sys/amd64/amd64/machdep.c#45 integrate
.. //depot/projects/smpng/sys/amd64/amd64/pmap.c#46 integrate
.. //depot/projects/smpng/sys/amd64/conf/NOTES#23 integrate
.. //depot/projects/smpng/sys/amd64/ia32/ia32_reg.c#3 integrate
.. //depot/projects/smpng/sys/arm/arm/bcopyinout.S#8 integrate
.. //depot/projects/smpng/sys/arm/arm/pmap.c#21 integrate
.. //depot/projects/smpng/sys/arm/arm/support.S#10 integrate
.. //depot/projects/smpng/sys/arm/xscale/i80321/i80321_space.c#4 integrate
.. //depot/projects/smpng/sys/boot/i386/libi386/smbios.c#3 integrate
.. //depot/projects/smpng/sys/boot/ofw/libofw/elf_freebsd.c#10 integrate
.. //depot/projects/smpng/sys/boot/ofw/libofw/libofw.h#9 integrate
.. //depot/projects/smpng/sys/boot/ofw/libofw/ofw_console.c#6 integrate
.. //depot/projects/smpng/sys/boot/ofw/libofw/ofw_memory.c#7 integrate
.. //depot/projects/smpng/sys/boot/ofw/libofw/openfirm.c#11 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/Makefile#2 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_misc.c#26 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_proto.h#22 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscall.h#22 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscalls.c#22 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_sysent.c#22 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/syscalls.master#22 integrate
.. //depot/projects/smpng/sys/compat/ndis/kern_ndis.c#31 integrate
.. //depot/projects/smpng/sys/compat/ndis/ndis_var.h#23 integrate
.. //depot/projects/smpng/sys/compat/ndis/ntoskrnl_var.h#19 integrate
.. //depot/projects/smpng/sys/compat/ndis/subr_hal.c#18 integrate
.. //depot/projects/smpng/sys/compat/ndis/subr_ndis.c#31 integrate
.. //depot/projects/smpng/sys/compat/ndis/subr_ntoskrnl.c#32 integrate
.. //depot/projects/smpng/sys/compat/svr4/svr4_misc.c#43 integrate
.. //depot/projects/smpng/sys/compat/svr4/svr4_siginfo.h#3 integrate
.. //depot/projects/smpng/sys/conf/Makefile.arm#12 integrate
.. //depot/projects/smpng/sys/conf/files#154 integrate
.. //depot/projects/smpng/sys/conf/kern.pre.mk#49 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/acdisasm.h#9 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/acenv.h#15 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/acfreebsd.h#16 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/acpi.h#6 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/acpica_prep.sh#8 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/acpiosxf.h#15 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/acpixf.h#16 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/actbl.h#9 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dbcmds.c#21 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dbdisply.c#20 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dbexec.c#19 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dbfileio.c#17 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dbhistry.c#8 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dbinput.c#16 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dbstats.c#15 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dbutils.c#16 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dbxface.c#15 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dmbuffer.c#7 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dmnames.c#6 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dmobject.c#4 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dmopcode.c#8 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dmresrc.c#8 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dmresrcl.c#6 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dmresrcs.c#5 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dmutils.c#7 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dmwalk.c#9 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dsfield.c#15 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dsinit.c#5 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dsmethod.c#20 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dsmthdat.c#18 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dsobject.c#17 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dsopcode.c#19 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dsutils.c#18 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dswexec.c#17 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dswload.c#19 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dswscope.c#11 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/dswstate.c#17 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/evevent.c#17 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/evgpe.c#10 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/evgpeblk.c#9 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/evmisc.c#20 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/evregion.c#17 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/evrgnini.c#17 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/evsci.c#10 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/evxface.c#16 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/evxfevnt.c#14 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/evxfregn.c#15 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/exconfig.c#19 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/exconvrt.c#14 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/excreate.c#17 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/exdump.c#19 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/exfield.c#12 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/exfldio.c#20 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/exmisc.c#18 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/exmutex.c#12 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/exnames.c#11 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/exoparg1.c#14 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/exoparg2.c#13 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/exoparg3.c#9 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/exoparg6.c#7 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/exprep.c#16 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/exregion.c#17 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/exresnte.c#16 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/exresolv.c#17 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/exresop.c#17 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/exstore.c#23 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/exstoren.c#13 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/exstorob.c#11 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/exsystem.c#15 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/exutils.c#17 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/hwacpi.c#14 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/hwgpe.c#15 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/hwregs.c#18 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/hwsleep.c#20 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/hwtimer.c#11 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/nsaccess.c#19 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/nsalloc.c#19 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/nsdump.c#19 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/nsdumpdv.c#9 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/nseval.c#19 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/nsinit.c#17 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/nsload.c#15 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/nsnames.c#15 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/nsobject.c#14 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/nsparse.c#5 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/nssearch.c#18 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/nsutils.c#18 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/nswalk.c#11 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/nsxfeval.c#9 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/nsxfname.c#12 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/nsxfobj.c#14 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/osunixxf.c#5 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/psargs.c#15 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/psopcode.c#16 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/psparse.c#19 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/psscope.c#10 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/pstree.c#10 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/psutils.c#12 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/pswalk.c#10 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/psxface.c#17 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/rsaddr.c#12 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/rscalc.c#12 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/rscreate.c#14 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/rsdump.c#11 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/rsio.c#8 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/rsirq.c#12 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/rslist.c#9 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/rsmemory.c#7 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/rsmisc.c#9 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/rsutils.c#11 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/rsxface.c#11 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/tbconvrt.c#16 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/tbget.c#18 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/tbgetall.c#8 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/tbinstal.c#18 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/tbrsdt.c#8 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/tbutils.c#14 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/tbxface.c#14 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/tbxfroot.c#16 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/utalloc.c#14 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/utclib.c#9 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/utcopy.c#17 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/utdebug.c#17 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/utdelete.c#17 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/uteval.c#18 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/utglobal.c#21 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/utinit.c#14 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/utmath.c#9 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/utmisc.c#17 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/utobject.c#16 integrate
.. //depot/projects/smpng/sys/contrib/dev/acpica/utxface.c#15 integrate
.. //depot/projects/smpng/sys/ddb/db_command.c#25 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi.c#87 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi_acad.c#25 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi_battery.c#16 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi_smbat.c#1 branch
.. //depot/projects/smpng/sys/dev/acpica/acpi_smbus.h#1 branch
.. //depot/projects/smpng/sys/dev/acpica/acpiio.h#11 integrate
.. //depot/projects/smpng/sys/dev/bfe/if_bfe.c#19 integrate
.. //depot/projects/smpng/sys/dev/bge/if_bge.c#61 integrate
.. //depot/projects/smpng/sys/dev/bge/if_bgereg.h#31 integrate
.. //depot/projects/smpng/sys/dev/dc/dcphy.c#2 integrate
.. //depot/projects/smpng/sys/dev/dc/if_dc.c#2 integrate
.. //depot/projects/smpng/sys/dev/dc/pnphy.c#2 integrate
.. //depot/projects/smpng/sys/dev/ed/if_ed_isa.c#14 integrate
.. //depot/projects/smpng/sys/dev/ed/if_ed_rtl80x9.c#2 integrate
.. //depot/projects/smpng/sys/dev/em/if_em.c#55 integrate
.. //depot/projects/smpng/sys/dev/em/if_em.h#28 integrate
.. //depot/projects/smpng/sys/dev/em/if_em_hw.h#15 integrate
.. //depot/projects/smpng/sys/dev/exca/exca.c#18 integrate
.. //depot/projects/smpng/sys/dev/ic/i8259.h#2 integrate
.. //depot/projects/smpng/sys/dev/if_ndis/if_ndis.c#34 integrate
.. //depot/projects/smpng/sys/dev/if_ndis/if_ndisvar.h#16 integrate
.. //depot/projects/smpng/sys/dev/kbdmux/kbdmux.c#2 integrate
.. //depot/projects/smpng/sys/dev/lge/if_lge.c#31 integrate
.. //depot/projects/smpng/sys/dev/mii/dcphy.c#16 delete
.. //depot/projects/smpng/sys/dev/mii/pnphy.c#13 delete
.. //depot/projects/smpng/sys/dev/nge/if_nge.c#45 integrate
.. //depot/projects/smpng/sys/dev/pccbb/pccbb_isa.c#5 integrate
.. //depot/projects/smpng/sys/dev/re/if_re.c#32 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/feeder_rate.c#9 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/vchan.c#12 integrate
.. //depot/projects/smpng/sys/dev/usb/if_aue.c#39 integrate
.. //depot/projects/smpng/sys/dev/usb/if_axe.c#23 integrate
.. //depot/projects/smpng/sys/dev/usb/if_rue.c#17 integrate
.. //depot/projects/smpng/sys/dev/usb/if_udav.c#11 integrate
.. //depot/projects/smpng/sys/dev/vge/if_vge.c#12 integrate
.. //depot/projects/smpng/sys/fs/devfs/devfs_vnops.c#52 integrate
.. //depot/projects/smpng/sys/gnu/fs/reiserfs/reiserfs_namei.c#2 integrate
.. //depot/projects/smpng/sys/i386/cpufreq/p4tcc.c#3 integrate
.. //depot/projects/smpng/sys/i386/i386/identcpu.c#38 integrate
.. //depot/projects/smpng/sys/i386/i386/pmap.c#86 integrate
.. //depot/projects/smpng/sys/i386/svr4/svr4_machdep.c#18 integrate
.. //depot/projects/smpng/sys/ia64/ia64/pmap.c#73 integrate
.. //depot/projects/smpng/sys/isofs/cd9660/iso.h#11 integrate
.. //depot/projects/smpng/sys/kern/init_sysent.c#61 integrate
.. //depot/projects/smpng/sys/kern/kern_conf.c#45 integrate
.. //depot/projects/smpng/sys/kern/kern_exec.c#90 integrate
.. //depot/projects/smpng/sys/kern/kern_exit.c#101 integrate
.. //depot/projects/smpng/sys/kern/kern_linker.c#41 integrate
.. //depot/projects/smpng/sys/kern/kern_malloc.c#40 integrate
.. //depot/projects/smpng/sys/kern/kern_mutex.c#107 integrate
.. //depot/projects/smpng/sys/kern/kern_proc.c#78 integrate
.. //depot/projects/smpng/sys/kern/kern_sig.c#110 integrate
.. //depot/projects/smpng/sys/kern/kern_thread.c#81 integrate
.. //depot/projects/smpng/sys/kern/kern_time.c#36 integrate
.. //depot/projects/smpng/sys/kern/link_elf.c#28 integrate
.. //depot/projects/smpng/sys/kern/subr_taskqueue.c#25 integrate
.. //depot/projects/smpng/sys/kern/subr_witness.c#141 integrate
.. //depot/projects/smpng/sys/kern/syscalls.c#61 integrate
.. //depot/projects/smpng/sys/kern/syscalls.master#63 integrate
.. //depot/projects/smpng/sys/kern/uipc_cow.c#20 integrate
.. //depot/projects/smpng/sys/kern/uipc_sem.c#16 integrate
.. //depot/projects/smpng/sys/kern/vfs_cluster.c#41 integrate
.. //depot/projects/smpng/sys/modules/acpi/acpi/Makefile#9 integrate
.. //depot/projects/smpng/sys/modules/dc/Makefile#3 integrate
.. //depot/projects/smpng/sys/modules/if_gif/Makefile#7 integrate
.. //depot/projects/smpng/sys/modules/mii/Makefile#9 integrate
.. //depot/projects/smpng/sys/net/if_bridge.c#14 integrate
.. //depot/projects/smpng/sys/net/if_mib.c#7 integrate
.. //depot/projects/smpng/sys/netinet/icmp6.h#11 integrate
.. //depot/projects/smpng/sys/netinet/in.c#30 integrate
.. //depot/projects/smpng/sys/netinet/ip_carp.c#13 integrate
.. //depot/projects/smpng/sys/netinet/tcp_input.c#76 integrate
.. //depot/projects/smpng/sys/netinet6/README#2 integrate
.. //depot/projects/smpng/sys/netinet6/icmp6.c#32 integrate
.. //depot/projects/smpng/sys/netinet6/in6.c#29 integrate
.. //depot/projects/smpng/sys/netinet6/in6.h#18 integrate
.. //depot/projects/smpng/sys/netinet6/in6_ifattach.c#16 integrate
.. //depot/projects/smpng/sys/netinet6/in6_ifattach.h#4 integrate
.. //depot/projects/smpng/sys/netinet6/in6_src.c#23 integrate
.. //depot/projects/smpng/sys/netinet6/in6_var.h#15 integrate
.. //depot/projects/smpng/sys/netinet6/ip6_input.c#41 integrate
.. //depot/projects/smpng/sys/netinet6/ip6_output.c#43 integrate
.. //depot/projects/smpng/sys/netinet6/ip6_var.h#18 integrate
.. //depot/projects/smpng/sys/netinet6/mld6.c#15 integrate
.. //depot/projects/smpng/sys/netinet6/mld6_var.h#5 integrate
.. //depot/projects/smpng/sys/netinet6/nd6.c#29 integrate
.. //depot/projects/smpng/sys/netinet6/nd6.h#10 integrate
.. //depot/projects/smpng/sys/netinet6/nd6_nbr.c#20 integrate
.. //depot/projects/smpng/sys/netinet6/nd6_rtr.c#15 integrate
.. //depot/projects/smpng/sys/netinet6/raw_ip6.c#37 integrate
.. //depot/projects/smpng/sys/pci/if_dc.c#73 delete
.. //depot/projects/smpng/sys/pci/if_dcreg.h#26 delete
.. //depot/projects/smpng/sys/pci/if_rl.c#62 integrate
.. //depot/projects/smpng/sys/pci/if_sf.c#41 integrate
.. //depot/projects/smpng/sys/pci/if_sis.c#57 integrate
.. //depot/projects/smpng/sys/pci/if_sk.c#52 integrate
.. //depot/projects/smpng/sys/pci/if_ste.c#42 integrate
.. //depot/projects/smpng/sys/pci/if_tl.c#31 integrate
.. //depot/projects/smpng/sys/pci/if_vr.c#40 integrate
.. //depot/projects/smpng/sys/pci/if_wb.c#35 integrate
.. //depot/projects/smpng/sys/posix4/_semaphore.h#5 integrate
.. //depot/projects/smpng/sys/sys/mount.h#43 integrate
.. //depot/projects/smpng/sys/sys/proc.h#153 integrate
.. //depot/projects/smpng/sys/sys/signal.h#18 integrate
.. //depot/projects/smpng/sys/sys/signalvar.h#25 integrate
.. //depot/projects/smpng/sys/sys/syscall.h#60 integrate
.. //depot/projects/smpng/sys/sys/syscall.mk#60 integrate
.. //depot/projects/smpng/sys/sys/sysproto.h#62 integrate
.. //depot/projects/smpng/sys/sys/timers.h#3 integrate
.. //depot/projects/smpng/sys/sys/timespec.h#5 integrate
.. //depot/projects/smpng/sys/sys/unistd.h#12 integrate
.. //depot/projects/smpng/sys/ufs/ffs/ffs_vfsops.c#77 integrate
.. //depot/projects/smpng/sys/vm/uma_core.c#60 integrate
.. //depot/projects/smpng/sys/vm/vm_object.c#72 integrate

Differences ...

==== //depot/projects/smpng/sys/alpha/alpha/pmap.c#71 (text+ko) ====

@@ -148,7 +148,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.179 2005/09/03 18:20:18 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.180 2005/10/21 19:42:42 ade Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -1367,6 +1367,8 @@
 	pv_entry_t pv;
 
 	pv = get_pv_entry();
+	if (pv == NULL)
+		panic("no pv entries: increase vm.pmap.shpgperproc");
 	pv->pv_va = va;
 	pv->pv_pmap = pmap;
 	pv->pv_ptem = mpte;

==== //depot/projects/smpng/sys/amd64/amd64/cpu_switch.S#15 (text+ko) ====

@@ -30,7 +30,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.153 2005/09/27 21:10:10 peter Exp $
+ * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.154 2005/10/17 23:10:31 davidxu Exp $
  */
 
 #include <machine/asmacros.h>
@@ -109,22 +109,7 @@
 	movl	%es,PCB_ES(%r8)
 	movl	%fs,PCB_FS(%r8)
 	movl	%gs,PCB_GS(%r8)
-	jmp	2f
 1:
-
-	/* Save userland %fs */
-	movl	$MSR_FSBASE,%ecx
-	rdmsr
-	movl	%eax,PCB_FSBASE(%r8)
-	movl	%edx,PCB_FSBASE+4(%r8)
-
-	/* Save userland %gs */
-	movl	$MSR_KGSBASE,%ecx
-	rdmsr
-	movl	%eax,PCB_GSBASE(%r8)
-	movl	%edx,PCB_GSBASE+4(%r8)
-2:
-
 	/* Test if debug registers should be saved. */
 	testl	$PCB_DBREGS,PCB_FLAGS(%r8)
 	jz	1f				/* no, skip over */

==== //depot/projects/smpng/sys/amd64/amd64/identcpu.c#14 (text+ko) ====

@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.139 2005/10/17 15:51:27 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.140 2005/10/17 23:23:20 jkim Exp $");
 
 #include "opt_cpu.h"
 
@@ -358,9 +358,10 @@
 				cmp = ((regs[0] & 0xfc000000) >> 26) + 1;
 			}
 			if (cmp > 1)
-				printf("\n  Physical cores: %d", cmp);
-			if (htt > 1)
-				printf("\n  Logical cores: %d", htt);
+				printf("\n  Cores per package: %d", cmp);
+			if ((htt / cmp) > 1)
+				printf("\n  Logical CPUs per core: %d",
+				    htt / cmp);
 		}
 	}
 	/* Avoid ugly blank lines: only print newline when we have to. */

==== //depot/projects/smpng/sys/amd64/amd64/machdep.c#45 (text+ko) ====

@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.641 2005/10/14 12:43:43 davidxu Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.642 2005/10/17 23:10:31 davidxu Exp $");
 
 #include "opt_atalk.h"
 #include "opt_atpic.h"
@@ -560,10 +560,12 @@
 	struct trapframe *regs = td->td_frame;
 	struct pcb *pcb = td->td_pcb;
 	
+	critical_enter();
 	wrmsr(MSR_FSBASE, 0);
 	wrmsr(MSR_KGSBASE, 0);	/* User value while we're in the kernel */
 	pcb->pcb_fsbase = 0;
 	pcb->pcb_gsbase = 0;
+	critical_exit();
 	load_ds(_udatasel);
 	load_es(_udatasel);
 	load_fs(_udatasel);

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

@@ -77,7 +77,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.528 2005/09/04 19:06:26 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.529 2005/10/21 19:42:42 ade Exp $");
 
 /*
  *	Manages physical address maps.
@@ -1508,6 +1508,8 @@
 	pv_entry_t pv;
 
 	pv = get_pv_entry();
+	if (pv == NULL)
+		panic("no pv entries: increase vm.pmap.shpgperproc");
 	pv->pv_va = va;
 	pv->pv_pmap = pmap;
 

==== //depot/projects/smpng/sys/amd64/conf/NOTES#23 (text+ko) ====

@@ -4,7 +4,7 @@
 # This file contains machine dependent kernel configuration notes.  For
 # machine independent notes, look in /sys/conf/NOTES.
 #
-# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.44 2005/10/14 17:22:28 ru Exp $
+# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.45 2005/10/17 18:35:57 jhb Exp $
 #
 
 #
@@ -325,9 +325,6 @@
 hint.pbio.0.port="0x360"
 device		smbios
 device		vpd
-# sx device is i386 and pc98 only at the moment.
-device		sx
-options 	SX_DEBUG
 # HOT1 Xilinx 6200 card (http://www.vcc.com/)
 device		xrpu
 

==== //depot/projects/smpng/sys/amd64/ia32/ia32_reg.c#3 (text+ko) ====

@@ -23,11 +23,13 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/ia32/ia32_reg.c,v 1.2 2005/10/04 23:26:00 peter Exp $
+ * $FreeBSD: src/sys/amd64/ia32/ia32_reg.c,v 1.3 2005/10/24 00:00:00 ps Exp $
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_reg.c,v 1.2 2005/10/04 23:26:00 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_reg.c,v 1.3 2005/10/24 00:00:00 ps Exp $");
+
+#include "opt_compat.h"
 
 #include <sys/param.h>
 #include <sys/exec.h>

==== //depot/projects/smpng/sys/arm/arm/bcopyinout.S#8 (text+ko) ====

@@ -45,7 +45,7 @@
 .L_min_memcpy_size:
 	.word	_C_LABEL(_min_memcpy_size)
 
-__FBSDID("$FreeBSD: src/sys/arm/arm/bcopyinout.S,v 1.7 2005/10/03 14:12:10 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/bcopyinout.S,v 1.8 2005/10/23 23:09:14 cognet Exp $");
 #ifdef __XSCALE__
 #include <arm/arm/bcopyinout_xscale.S>
 #else
@@ -108,6 +108,7 @@
 	moveq	r0, #0
 	RETeq
 
+.Lnormal:
 	SAVE_REGS
 #ifdef MULTIPROCESSOR
 	/* XXX Probably not appropriate for non-Hydra SMPs */
@@ -353,6 +354,7 @@
 	moveq	r0, #0
 	RETeq
 
+.Lnormale:
 	SAVE_REGS
 #ifdef MULTIPROCESSOR
 	/* XXX Probably not appropriate for non-Hydra SMPs */

==== //depot/projects/smpng/sys/arm/arm/pmap.c#21 (text+ko) ====

@@ -147,7 +147,7 @@
 #include "opt_vm.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.38 2005/10/03 14:13:50 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.39 2005/10/23 23:09:14 cognet Exp $");
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/kernel.h>
@@ -4248,7 +4248,9 @@
 void
 pmap_copy_page_generic(vm_paddr_t src, vm_paddr_t dst)
 {
+#if 0
 	struct vm_page *src_pg = PHYS_TO_VM_PAGE(src);
+#endif
 #ifdef DEBUG
 	struct vm_page *dst_pg = PHYS_TO_VM_PAGE(dst);
 

==== //depot/projects/smpng/sys/arm/arm/support.S#10 (text+ko) ====

@@ -26,7 +26,7 @@
 
 #include <machine/asm.h>
 #include <machine/asmacros.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/support.S,v 1.10 2005/10/03 14:12:10 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/support.S,v 1.11 2005/10/23 23:09:14 cognet Exp $");
 
 #include "assym.s"
 
@@ -888,6 +888,7 @@
 	ldmfd	sp!, {r0-r2, r4, lr}
 	RETeq
 
+.Lnormal:
 	stmdb	sp!, {r0, lr}		/* memcpy() returns dest addr */
 
 	subs	r2, r2, #4

==== //depot/projects/smpng/sys/arm/xscale/i80321/i80321_space.c#4 (text+ko) ====

@@ -40,7 +40,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/i80321_space.c,v 1.3 2005/02/13 18:20:39 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/i80321_space.c,v 1.4 2005/10/20 20:30:51 cognet Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -257,23 +257,11 @@
 i80321_mem_bs_map(void *t, bus_addr_t bpa, bus_size_t size, int flags,
     bus_space_handle_t *bshp)
 {
-
-	vm_offset_t va;
-	uint32_t busbase;
-	vm_paddr_t pa, endpa, physbase;
+	vm_paddr_t pa, endpa;
 
-	/*
-	 * Found the window -- PCI MEM space is not mapped by allocating
-	 * some kernel VA space and mapping the pages with pmap_enter().
-	 * pmap_enter() will map unmanaged pages as non-cacheable.
-	 */
-	pa = trunc_page((bpa - busbase) + physbase);
-	endpa = round_page(((bpa - busbase) + physbase) + size);
 	pa = trunc_page(bpa);
 	endpa = round_page(bpa + size);
 
-	*bshp = va + (bpa & PAGE_MASK);
-	*bshp = pa;
 	*bshp = (vm_offset_t)pmap_mapdev(pa, endpa - pa);
 		       
 	return (0);

==== //depot/projects/smpng/sys/boot/i386/libi386/smbios.c#3 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/smbios.c,v 1.2 2005/07/27 19:11:10 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/smbios.c,v 1.3 2005/10/18 20:03:31 jkim Exp $");
 
 #include <stand.h>
 #include <bootstrap.h>
@@ -54,6 +54,9 @@
 #define	SMBIOS_SIG		"_SM_"
 #define	SMBIOS_DMI_SIG		"_DMI_"
 
+static u_int8_t	smbios_enabled_sockets = 0;
+static u_int8_t	smbios_populated_sockets = 0;
+
 static u_int8_t	*smbios_parse_table(const u_int8_t *dmi);
 static void	smbios_setenv(const char *env, const u_int8_t *dmi,
 		    const int offset);
@@ -66,6 +69,7 @@
 	u_int8_t	*smbios, *dmi, *addr;
 	u_int16_t	i, length, count;
 	u_int32_t	paddr;
+	char		buf[4];
 
 	/* locate and validate the SMBIOS */
 	smbios = smbios_sigsearch(PTOV(SMBIOS_START), SMBIOS_LENGTH);
@@ -79,6 +83,10 @@
 	for (dmi = addr = PTOV(paddr), i = 0;
 	     dmi - addr < length && i < count; i++)
 		dmi = smbios_parse_table(dmi);
+	sprintf(buf, "%d", smbios_enabled_sockets);
+	setenv("smbios.socket.enabled", buf, 1);
+	sprintf(buf, "%d", smbios_populated_sockets);
+	setenv("smbios.socket.populated", buf, 1);
 }
 
 static u_int8_t *
@@ -110,6 +118,30 @@
 		smbios_setenv("smbios.chassis.version", dmi, 0x06);
 		break;
 
+	case 4:		/* Type 4: Processor Information */
+		/*
+		 * Offset 18h: Processor Status
+		 *
+		 * Bit 7	Reserved, must be 0
+		 * Bit 6	CPU Socket Populated
+		 *		1 - CPU Socket Populated
+		 *		0 - CPU Socket Unpopulated
+		 * Bit 5:3	Reserved, must be zero
+		 * Bit 2:0	CPU Status
+		 *		0h - Unknown
+		 *		1h - CPU Enabled
+		 *		2h - CPU Disabled by User via BIOS Setup
+		 *		3h - CPU Disabled by BIOS (POST Error)
+		 *		4h - CPU is Idle, waiting to be enabled
+		 *		5-6h - Reserved
+		 *		7h - Other
+		 */
+		if ((dmi[0x18] & 0x07) == 1)
+			smbios_enabled_sockets++;
+		if (dmi[0x18] & 0x40)
+			smbios_populated_sockets++;
+		break;
+
 	default: /* skip other types */
 		break;
 	}

==== //depot/projects/smpng/sys/boot/ofw/libofw/elf_freebsd.c#10 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/ofw/libofw/elf_freebsd.c,v 1.9 2005/05/24 21:43:49 grehan Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/ofw/libofw/elf_freebsd.c,v 1.10 2005/10/20 10:39:09 marius Exp $");
 
 #include <sys/param.h>
 #include <sys/linker.h>
@@ -47,7 +47,6 @@
     struct preloaded_file **result)
 {
 	int	r;
-	void	*addr;
 
 	r = __elfN(loadfile)(filename, dest, result);
 	if (r != 0)

==== //depot/projects/smpng/sys/boot/ofw/libofw/libofw.h#9 (text+ko) ====

@@ -22,7 +22,7 @@
  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/boot/ofw/libofw/libofw.h,v 1.10 2005/01/05 22:16:58 imp Exp $
+ * $FreeBSD: src/sys/boot/ofw/libofw/libofw.h,v 1.11 2005/10/20 11:14:34 marius Exp $
  */
 
 #include "openfirm.h"
@@ -31,7 +31,7 @@
 struct ofw_devdesc {
 	struct devsw	*d_dev;
 	int		d_type;
-	phandle_t	d_handle;
+	ihandle_t	d_handle;
 	char		d_path[256];
 };
 

==== //depot/projects/smpng/sys/boot/ofw/libofw/ofw_console.c#6 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/ofw/libofw/ofw_console.c,v 1.10 2005/01/05 22:16:58 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/ofw/libofw/ofw_console.c,v 1.11 2005/10/20 10:39:09 marius Exp $");
 
 #include <sys/types.h>
 
@@ -112,7 +112,6 @@
 ofw_cons_poll()
 {
 	unsigned char ch;
-	int l;
 
 	if (saved_char != -1)
 		return 1;

==== //depot/projects/smpng/sys/boot/ofw/libofw/ofw_memory.c#7 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/ofw/libofw/ofw_memory.c,v 1.6 2005/01/05 22:16:58 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/ofw/libofw/ofw_memory.c,v 1.7 2005/10/20 10:39:09 marius Exp $");
 
 #include <sys/param.h>
 #include <sys/types.h>
@@ -120,7 +120,6 @@
 {
 	phandle_t	memoryp;
 	struct		ofw_reg available;
-	void		*base;
 
 	memoryp = OF_instance_to_package(memory);
 	OF_getprop(memoryp, "available", &available, sizeof(available));

==== //depot/projects/smpng/sys/boot/ofw/libofw/openfirm.c#11 (text+ko) ====

@@ -56,7 +56,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/ofw/libofw/openfirm.c,v 1.11 2005/01/05 22:16:58 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/ofw/libofw/openfirm.c,v 1.12 2005/10/20 10:39:09 marius Exp $");
 
 #include <machine/stdarg.h>
 
@@ -66,9 +66,6 @@
 
 int (*openfirmware)(void *);
 
-static ihandle_t stdin;
-static ihandle_t stdout;
-
 ihandle_t mmu;
 ihandle_t memory;
 
@@ -396,7 +393,6 @@
 phandle_t
 OF_finddevice(const char *device)
 {
-	int i;
 	static struct {
 		cell_t		name;
 		cell_t		nargs;

==== //depot/projects/smpng/sys/compat/freebsd32/Makefile#2 (text+ko) ====

@@ -1,6 +1,6 @@
 # Makefile for syscall tables
 #
-# $FreeBSD: src/sys/compat/freebsd32/Makefile,v 1.3 2003/08/22 22:51:48 peter Exp $
+# $FreeBSD: src/sys/compat/freebsd32/Makefile,v 1.4 2005/10/23 23:58:23 obrien Exp $
 
 all:
 	@echo "make sysent only"
@@ -14,3 +14,6 @@
 	-mv -f freebsd32_syscall.h freebsd32_syscall.h.bak
 	-mv -f freebsd32_proto.h freebsd32_proto.h.bak
 	sh ../../kern/makesyscalls.sh syscalls.master syscalls.conf
+
+clean:
+	rm -f freebsd32_sysent.c freebsd32_syscalls.c freebsd32_syscall.h freebsd32_proto.h

==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_misc.c#26 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.43 2005/10/15 05:57:06 ps Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.44 2005/10/23 10:43:14 ps Exp $");
 
 #include "opt_compat.h"
 
@@ -77,6 +77,8 @@
 #include <vm/vm_object.h>
 #include <vm/vm_extern.h>
 
+#include <machine/cpu.h>
+
 #include <compat/freebsd32/freebsd32_util.h>
 #include <compat/freebsd32/freebsd32.h>
 #include <compat/freebsd32/freebsd32_proto.h>
@@ -1394,6 +1396,205 @@
 }
 #endif
 
+#ifdef COMPAT_43
+struct freebsd3_sigaction32 {
+	u_int32_t	sa_u;
+	osigset_t	sa_mask;
+	int		sa_flags;
+};
+
+#define	ONSIG	32
+
+int
+freebsd3_freebsd32_sigaction(struct thread *td,
+			     struct freebsd3_freebsd32_sigaction_args *uap)
+{
+	struct freebsd3_sigaction32 s32;
+	struct sigaction sa, osa, *sap;
+	int error;
+
+	if (uap->signum <= 0 || uap->signum >= ONSIG)
+		return (EINVAL);
+
+	if (uap->nsa) {
+		error = copyin(uap->nsa, &s32, sizeof(s32));
+		if (error)
+			return (error);
+		sa.sa_handler = PTRIN(s32.sa_u);
+		CP(s32, sa, sa_flags);
+		OSIG2SIG(s32.sa_mask, sa.sa_mask);
+		sap = &sa;
+	} else
+		sap = NULL;
+	error = kern_sigaction(td, uap->signum, sap, &osa, KSA_OSIGSET);
+	if (error == 0 && uap->osa != NULL) {
+		s32.sa_u = PTROUT(osa.sa_handler);
+		CP(osa, s32, sa_flags);
+		SIG2OSIG(osa.sa_mask, s32.sa_mask);
+		error = copyout(&s32, uap->osa, sizeof(s32));
+	}
+	return (error);
+}
+
+int
+freebsd3_freebsd32_sigprocmask(struct thread *td,
+			       struct freebsd3_freebsd32_sigprocmask_args *uap)
+{
+	sigset_t set, oset;
+	int error;
+
+	OSIG2SIG(uap->mask, set);
+	error = kern_sigprocmask(td, uap->how, &set, &oset, 1);
+	SIG2OSIG(oset, td->td_retval[0]);
+	return (error);
+}
+
+int
+freebsd3_freebsd32_sigpending(struct thread *td,
+			      struct freebsd3_freebsd32_sigpending_args *uap)
+{
+	struct proc *p = td->td_proc;
+	sigset_t siglist;
+
+	PROC_LOCK(p);
+	siglist = p->p_siglist;
+	SIGSETOR(siglist, td->td_siglist);
+	PROC_UNLOCK(p);
+	SIG2OSIG(siglist, td->td_retval[0]);
+	return (0);
+}
+
+struct sigvec32 {
+	u_int32_t	sv_handler;
+	int		sv_mask;
+	int		sv_flags;
+};
+
+int
+freebsd3_freebsd32_sigvec(struct thread *td,
+			  struct freebsd3_freebsd32_sigvec_args *uap)
+{
+	struct sigvec32 vec;
+	struct sigaction sa, osa, *sap;
+	int error;
+
+	if (uap->signum <= 0 || uap->signum >= ONSIG)
+		return (EINVAL);
+
+	if (uap->nsv) {
+		error = copyin(uap->nsv, &vec, sizeof(vec));
+		if (error)
+			return (error);
+		sa.sa_handler = PTRIN(vec.sv_handler);
+		OSIG2SIG(vec.sv_mask, sa.sa_mask);
+		sa.sa_flags = vec.sv_flags;
+		sa.sa_flags ^= SA_RESTART;
+		sap = &sa;
+	} else
+		sap = NULL;
+	error = kern_sigaction(td, uap->signum, sap, &osa, KSA_OSIGSET);
+	if (error == 0 && uap->osv != NULL) {
+		vec.sv_handler = PTROUT(osa.sa_handler);
+		SIG2OSIG(osa.sa_mask, vec.sv_mask);
+		vec.sv_flags = osa.sa_flags;
+		vec.sv_flags &= ~SA_NOCLDWAIT;
+		vec.sv_flags ^= SA_RESTART;
+		error = copyout(&vec, uap->osv, sizeof(vec));
+	}
+	return (error);
+}
+
+int
+freebsd3_freebsd32_sigblock(struct thread *td,
+			    struct freebsd3_freebsd32_sigblock_args *uap)
+{
+	struct proc *p = td->td_proc;
+	sigset_t set;
+
+	OSIG2SIG(uap->mask, set);
+	SIG_CANTMASK(set);
+	PROC_LOCK(p);
+	SIG2OSIG(td->td_sigmask, td->td_retval[0]);
+	SIGSETOR(td->td_sigmask, set);
+	PROC_UNLOCK(p);
+	return (0);
+}
+
+int
+freebsd3_freebsd32_sigsetmask(struct thread *td,
+			      struct freebsd3_freebsd32_sigsetmask_args *uap)
+{
+	struct proc *p = td->td_proc;
+	sigset_t set;
+
+	OSIG2SIG(uap->mask, set);
+	SIG_CANTMASK(set);
+	PROC_LOCK(p);
+	SIG2OSIG(td->td_sigmask, td->td_retval[0]);
+	SIGSETLO(td->td_sigmask, set);
+	signotify(td);
+	PROC_UNLOCK(p);
+	return (0);
+}
+
+int
+freebsd3_freebsd32_sigsuspend(struct thread *td,
+			      struct freebsd3_freebsd32_sigsuspend_args *uap)
+{
+	struct proc *p = td->td_proc;
+	sigset_t mask;
+
+	PROC_LOCK(p);
+	td->td_oldsigmask = td->td_sigmask;
+	td->td_pflags |= TDP_OLDMASK;
+	OSIG2SIG(uap->mask, mask);
+	SIG_CANTMASK(mask);
+	SIGSETLO(td->td_sigmask, mask);
+	signotify(td);
+	while (msleep(&p->p_sigacts, &p->p_mtx, PPAUSE|PCATCH, "opause", 0) == 0)
+		/* void */;
+	PROC_UNLOCK(p);
+	/* always return EINTR rather than ERESTART... */
+	return (EINTR);
+}
+
+struct sigstack32 {
+	u_int32_t	ss_sp;
+	int		ss_onstack;
+};
+
+int
+freebsd3_freebsd32_sigstack(struct thread *td,
+			    struct freebsd3_freebsd32_sigstack_args *uap)
+{
+	struct sigstack32 s32;
+	struct sigstack nss, oss;
+	int error = 0;
+
+	if (uap->nss != NULL) {
+		error = copyin(uap->nss, &s32, sizeof(s32));
+		if (error)
+			return (error);
+		nss.ss_sp = PTRIN(s32.ss_sp);
+		CP(s32, nss, ss_onstack);
+	}
+	oss.ss_sp = td->td_sigstk.ss_sp;
+	oss.ss_onstack = sigonstack(cpu_getstack(td));
+	if (uap->nss != NULL) {
+		td->td_sigstk.ss_sp = nss.ss_sp;
+		td->td_sigstk.ss_size = 0;
+		td->td_sigstk.ss_flags |= nss.ss_onstack & SS_ONSTACK;
+		td->td_pflags |= TDP_ALTSTACK;
+	}
+	if (uap->oss != NULL) {
+		s32.ss_sp = PTROUT(oss.ss_sp);
+		CP(oss, s32, ss_onstack);
+		error = copyout(&s32, uap->oss, sizeof(s32));
+	}
+	return (error);
+}
+#endif
+
 int
 freebsd32_nanosleep(struct thread *td, struct freebsd32_nanosleep_args *uap)
 {

==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_proto.h#22 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call prototypes.
  *
  * DO NOT EDIT-- this file is automatically generated.

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


More information about the p4-projects mailing list