Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 9 Feb 2007 16:14:30 GMT
From:      John Baldwin <jhb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 114301 for review
Message-ID:  <200702091614.l19GEU1O054536@repoman.freebsd.org>

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

Change 114301 by jhb@jhb_zion on 2007/02/09 16:13:43

	IFC @114296.

Affected files ...

.. //depot/projects/smpng/sys/amd64/amd64/machdep.c#64 integrate
.. //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#40 integrate
.. //depot/projects/smpng/sys/amd64/amd64/mptable_pci.c#7 integrate
.. //depot/projects/smpng/sys/amd64/amd64/msi.c#3 integrate
.. //depot/projects/smpng/sys/amd64/amd64/nexus.c#22 integrate
.. //depot/projects/smpng/sys/amd64/conf/GENERIC#55 integrate
.. //depot/projects/smpng/sys/amd64/include/clock.h#8 integrate
.. //depot/projects/smpng/sys/amd64/include/gdb_machdep.h#5 integrate
.. //depot/projects/smpng/sys/amd64/include/intr_machdep.h#12 integrate
.. //depot/projects/smpng/sys/amd64/include/pcpu.h#5 integrate
.. //depot/projects/smpng/sys/amd64/isa/clock.c#20 integrate
.. //depot/projects/smpng/sys/amd64/linux32/linux.h#8 integrate
.. //depot/projects/smpng/sys/amd64/linux32/linux32_machdep.c#17 integrate
.. //depot/projects/smpng/sys/amd64/pci/pci_bus.c#19 integrate
.. //depot/projects/smpng/sys/arm/arm/pmap.c#38 integrate
.. //depot/projects/smpng/sys/arm/at91/at91_twi.c#7 integrate
.. //depot/projects/smpng/sys/arm/at91/if_ate.c#11 integrate
.. //depot/projects/smpng/sys/arm/at91/uart_dev_at91usart.c#10 integrate
.. //depot/projects/smpng/sys/arm/conf/EP80219#3 integrate
.. //depot/projects/smpng/sys/arm/sa11x0/uart_dev_sa1110.c#5 integrate
.. //depot/projects/smpng/sys/arm/xscale/ixp425/avila_machdep.c#2 integrate
.. //depot/projects/smpng/sys/arm/xscale/ixp425/if_npe.c#3 integrate
.. //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425_mem.c#2 integrate
.. //depot/projects/smpng/sys/boot/common/loader.8#43 integrate
.. //depot/projects/smpng/sys/boot/forth/loader.conf#47 integrate
.. //depot/projects/smpng/sys/cam/scsi/scsi_da.c#73 integrate
.. //depot/projects/smpng/sys/coda/coda_vfsops.h#7 integrate
.. //depot/projects/smpng/sys/compat/linprocfs/linprocfs.c#53 integrate
.. //depot/projects/smpng/sys/compat/linux/linux_emul.c#6 integrate
.. //depot/projects/smpng/sys/compat/linux/linux_misc.c#78 integrate
.. //depot/projects/smpng/sys/compat/linux/linux_socket.c#37 integrate
.. //depot/projects/smpng/sys/conf/NOTES#135 integrate
.. //depot/projects/smpng/sys/conf/files#196 integrate
.. //depot/projects/smpng/sys/conf/files.powerpc#35 integrate
.. //depot/projects/smpng/sys/conf/files.sparc64#61 integrate
.. //depot/projects/smpng/sys/conf/kmod.mk#62 integrate
.. //depot/projects/smpng/sys/conf/options#134 integrate
.. //depot/projects/smpng/sys/conf/options.sun4v#2 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi_cpu.c#38 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi_pcib_acpi.c#24 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi_pcib_pci.c#13 integrate
.. //depot/projects/smpng/sys/dev/aic7xxx/aic79xx.h#21 integrate
.. //depot/projects/smpng/sys/dev/aic7xxx/aic79xx_pci.c#23 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-chipset.c#75 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-pci.c#63 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-pci.h#49 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-queue.c#38 integrate
.. //depot/projects/smpng/sys/dev/ath/if_ath.c#49 integrate
.. //depot/projects/smpng/sys/dev/ath/if_ath_pci.c#15 integrate
.. //depot/projects/smpng/sys/dev/atkbdc/psm.c#6 integrate
.. //depot/projects/smpng/sys/dev/bce/if_bce.c#13 integrate
.. //depot/projects/smpng/sys/dev/cardbus/cardbus.c#31 integrate
.. //depot/projects/smpng/sys/dev/esp/esp_sbus.c#9 integrate
.. //depot/projects/smpng/sys/dev/firewire/fwohci_pci.c#37 integrate
.. //depot/projects/smpng/sys/dev/fxp/if_fxp.c#79 integrate
.. //depot/projects/smpng/sys/dev/isp/isp.c#52 integrate
.. //depot/projects/smpng/sys/dev/isp/isp_freebsd.c#51 integrate
.. //depot/projects/smpng/sys/dev/isp/isp_freebsd.h#36 integrate
.. //depot/projects/smpng/sys/dev/isp/isp_pci.c#48 integrate
.. //depot/projects/smpng/sys/dev/isp/isp_sbus.c#20 integrate
.. //depot/projects/smpng/sys/dev/isp/isp_target.c#23 integrate
.. //depot/projects/smpng/sys/dev/isp/isp_target.h#15 integrate
.. //depot/projects/smpng/sys/dev/isp/isp_tpublic.h#12 integrate
.. //depot/projects/smpng/sys/dev/isp/ispvar.h#35 integrate
.. //depot/projects/smpng/sys/dev/iwi/if_iwi.c#23 integrate
.. //depot/projects/smpng/sys/dev/le/if_le_cbus.c#2 integrate
.. //depot/projects/smpng/sys/dev/le/if_le_isa.c#2 integrate
.. //depot/projects/smpng/sys/dev/le/if_le_lebuffer.c#1 branch
.. //depot/projects/smpng/sys/dev/le/if_le_ledma.c#3 integrate
.. //depot/projects/smpng/sys/dev/le/if_le_pci.c#3 integrate
.. //depot/projects/smpng/sys/dev/le/lance.c#4 integrate
.. //depot/projects/smpng/sys/dev/le/lebuffer_sbus.c#1 branch
.. //depot/projects/smpng/sys/dev/mc146818/mc146818reg.h#5 integrate
.. //depot/projects/smpng/sys/dev/mfi/mfi_pci.c#5 integrate
.. //depot/projects/smpng/sys/dev/mii/brgphy.c#37 integrate
.. //depot/projects/smpng/sys/dev/mii/gentbi.c#3 integrate
.. //depot/projects/smpng/sys/dev/mii/mii.c#16 integrate
.. //depot/projects/smpng/sys/dev/mii/miidevs#23 integrate
.. //depot/projects/smpng/sys/dev/mii/rlphy.c#21 integrate
.. //depot/projects/smpng/sys/dev/mii/ukphy.c#13 integrate
.. //depot/projects/smpng/sys/dev/mpt/mpt_cam.c#20 integrate
.. //depot/projects/smpng/sys/dev/mxge/if_mxge.c#9 integrate
.. //depot/projects/smpng/sys/dev/mxge/if_mxge_var.h#5 integrate
.. //depot/projects/smpng/sys/dev/pccard/pccard.c#43 integrate
.. //depot/projects/smpng/sys/dev/pci/pci.c#85 integrate
.. //depot/projects/smpng/sys/dev/pci/pci_if.m#8 integrate
.. //depot/projects/smpng/sys/dev/pci/pci_pci.c#32 integrate
.. //depot/projects/smpng/sys/dev/pci/pci_private.h#20 integrate
.. //depot/projects/smpng/sys/dev/pci/pcib_if.m#6 integrate
.. //depot/projects/smpng/sys/dev/pci/pcib_private.h#11 integrate
.. //depot/projects/smpng/sys/dev/pci/pcireg.h#20 integrate
.. //depot/projects/smpng/sys/dev/pci/pcivar.h#25 integrate
.. //depot/projects/smpng/sys/dev/re/if_re.c#50 integrate
.. //depot/projects/smpng/sys/dev/sk/if_sk.c#10 integrate
.. //depot/projects/smpng/sys/dev/sound/driver.c#10 integrate
.. //depot/projects/smpng/sys/dev/sound/isa/ad1816.c#22 integrate
.. //depot/projects/smpng/sys/dev/sound/isa/ad1816.h#3 integrate
.. //depot/projects/smpng/sys/dev/sound/isa/ess.c#18 integrate
.. //depot/projects/smpng/sys/dev/sound/isa/mss.c#28 integrate
.. //depot/projects/smpng/sys/dev/sound/isa/mss.h#3 integrate
.. //depot/projects/smpng/sys/dev/sound/isa/sb.h#3 integrate
.. //depot/projects/smpng/sys/dev/sound/isa/sb16.c#22 integrate
.. //depot/projects/smpng/sys/dev/sound/isa/sb8.c#16 integrate
.. //depot/projects/smpng/sys/dev/sound/midi/midi.c#12 integrate
.. //depot/projects/smpng/sys/dev/sound/midi/midi.h#9 integrate
.. //depot/projects/smpng/sys/dev/sound/midi/midiq.h#2 integrate
.. //depot/projects/smpng/sys/dev/sound/midi/mpu401.c#2 integrate
.. //depot/projects/smpng/sys/dev/sound/midi/mpu401.h#2 integrate
.. //depot/projects/smpng/sys/dev/sound/midi/mpu_if.m#2 integrate
.. //depot/projects/smpng/sys/dev/sound/midi/mpufoi_if.m#2 integrate
.. //depot/projects/smpng/sys/dev/sound/midi/sequencer.c#16 integrate
.. //depot/projects/smpng/sys/dev/sound/midi/sequencer.h#5 integrate
.. //depot/projects/smpng/sys/dev/sound/midi/synth_if.m#2 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/es137x.c#23 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/hda/hdac.c#8 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/maestro.c#20 integrate
.. //depot/projects/smpng/sys/dev/sound/pci/via8233.c#23 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/ac97_patch.c#6 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/ac97_patch.h#6 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/buffer.c#18 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/buffer.h#11 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/dsp.h#7 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/sound.c#36 integrate
.. //depot/projects/smpng/sys/dev/sound/pcm/vchan.c#19 integrate
.. //depot/projects/smpng/sys/dev/sound/sbus/cs4231.c#5 integrate
.. //depot/projects/smpng/sys/dev/sound/usb/uaudio.c#16 integrate
.. //depot/projects/smpng/sys/dev/sound/usb/uaudio_pcm.c#15 integrate
.. //depot/projects/smpng/sys/dev/stge/if_stge.c#4 integrate
.. //depot/projects/smpng/sys/dev/sym/sym_hipd.c#27 integrate
.. //depot/projects/smpng/sys/dev/ti/if_ti.c#6 integrate
.. //depot/projects/smpng/sys/dev/uart/uart_cpu.h#8 integrate
.. //depot/projects/smpng/sys/dev/uart/uart_dev_ns8250.c#15 integrate
.. //depot/projects/smpng/sys/dev/uart/uart_dev_sab82532.c#10 integrate
.. //depot/projects/smpng/sys/dev/uart/uart_dev_z8530.c#13 integrate
.. //depot/projects/smpng/sys/dev/uart/uart_kbd_sun.c#10 integrate
.. //depot/projects/smpng/sys/dev/usb/ehci_pci.c#21 integrate
.. //depot/projects/smpng/sys/dev/usb/if_aue.c#48 integrate
.. //depot/projects/smpng/sys/dev/usb/ubsa.c#16 integrate
.. //depot/projects/smpng/sys/dev/usb/uhci_pci.c#15 integrate
.. //depot/projects/smpng/sys/dev/usb/uhub.c#28 integrate
.. //depot/projects/smpng/sys/dev/usb/uipaq.c#1 branch
.. //depot/projects/smpng/sys/dev/usb/usb_subr.c#38 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdevs#99 integrate
.. //depot/projects/smpng/sys/dev/usb/uvisor.c#19 integrate
.. //depot/projects/smpng/sys/fs/deadfs/dead_vnops.c#16 integrate
.. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_fat.c#11 integrate
.. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_vfsops.c#52 integrate
.. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_vnops.c#38 integrate
.. //depot/projects/smpng/sys/fs/procfs/procfs.c#13 integrate
.. //depot/projects/smpng/sys/geom/eli/g_eli.c#18 integrate
.. //depot/projects/smpng/sys/geom/geom_apple.c#12 delete
.. //depot/projects/smpng/sys/geom/geom_gpt.c#28 delete
.. //depot/projects/smpng/sys/geom/geom_io.c#44 integrate
.. //depot/projects/smpng/sys/geom/geom_vfs.c#6 integrate
.. //depot/projects/smpng/sys/geom/part/g_part.c#1 branch
.. //depot/projects/smpng/sys/geom/part/g_part.h#1 branch
.. //depot/projects/smpng/sys/geom/part/g_part_apm.c#1 branch
.. //depot/projects/smpng/sys/geom/part/g_part_gpt.c#1 branch
.. //depot/projects/smpng/sys/geom/part/g_part_if.m#1 branch
.. //depot/projects/smpng/sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c#3 integrate
.. //depot/projects/smpng/sys/i386/conf/GENERIC#85 integrate
.. //depot/projects/smpng/sys/i386/cpufreq/powernow.c#3 integrate
.. //depot/projects/smpng/sys/i386/i386/machdep.c#124 integrate
.. //depot/projects/smpng/sys/i386/i386/mp_machdep.c#105 integrate
.. //depot/projects/smpng/sys/i386/i386/mptable_pci.c#7 integrate
.. //depot/projects/smpng/sys/i386/i386/msi.c#3 integrate
.. //depot/projects/smpng/sys/i386/i386/nexus.c#23 integrate
.. //depot/projects/smpng/sys/i386/i386/vm_machdep.c#80 integrate
.. //depot/projects/smpng/sys/i386/include/clock.h#15 integrate
.. //depot/projects/smpng/sys/i386/include/intr_machdep.h#14 integrate
.. //depot/projects/smpng/sys/i386/include/pcpu.h#16 integrate
.. //depot/projects/smpng/sys/i386/isa/clock.c#51 integrate
.. //depot/projects/smpng/sys/i386/linux/linux.h#15 integrate
.. //depot/projects/smpng/sys/i386/linux/linux_machdep.c#41 integrate
.. //depot/projects/smpng/sys/i386/pci/pci_bus.c#32 integrate
.. //depot/projects/smpng/sys/ia64/conf/DEFAULTS#8 integrate
.. //depot/projects/smpng/sys/kern/init_main.c#66 integrate
.. //depot/projects/smpng/sys/kern/kern_conf.c#50 integrate
.. //depot/projects/smpng/sys/kern/kern_fork.c#105 integrate
.. //depot/projects/smpng/sys/kern/kern_idle.c#29 integrate
.. //depot/projects/smpng/sys/kern/kern_intr.c#82 integrate
.. //depot/projects/smpng/sys/kern/kern_kse.c#35 integrate
.. //depot/projects/smpng/sys/kern/kern_kthread.c#18 integrate
.. //depot/projects/smpng/sys/kern/kern_mbuf.c#22 integrate
.. //depot/projects/smpng/sys/kern/kern_switch.c#68 integrate
.. //depot/projects/smpng/sys/kern/kern_thr.c#41 integrate
.. //depot/projects/smpng/sys/kern/sched_4bsd.c#67 integrate
.. //depot/projects/smpng/sys/kern/sched_core.c#6 integrate
.. //depot/projects/smpng/sys/kern/sched_ule.c#73 integrate
.. //depot/projects/smpng/sys/kern/subr_firmware.c#15 integrate
.. //depot/projects/smpng/sys/kern/subr_taskqueue.c#33 integrate
.. //depot/projects/smpng/sys/kern/subr_turnstile.c#37 integrate
.. //depot/projects/smpng/sys/kern/subr_witness.c#158 integrate
.. //depot/projects/smpng/sys/kern/uipc_mbuf.c#52 integrate
.. //depot/projects/smpng/sys/kern/uipc_socket.c#99 integrate
.. //depot/projects/smpng/sys/kern/uipc_syscalls.c#97 integrate
.. //depot/projects/smpng/sys/kern/uipc_usrreq.c#70 integrate
.. //depot/projects/smpng/sys/kern/vfs_bio.c#99 integrate
.. //depot/projects/smpng/sys/kern/vfs_export.c#26 integrate
.. //depot/projects/smpng/sys/kern/vfs_lookup.c#40 integrate
.. //depot/projects/smpng/sys/modules/Makefile#134 integrate
.. //depot/projects/smpng/sys/modules/ath/Makefile#5 integrate
.. //depot/projects/smpng/sys/modules/ath_rate_sample/Makefile#4 integrate
.. //depot/projects/smpng/sys/modules/geom/Makefile#15 integrate
.. //depot/projects/smpng/sys/modules/ip_mroute_mod/Makefile#7 integrate
.. //depot/projects/smpng/sys/modules/le/Makefile#3 integrate
.. //depot/projects/smpng/sys/modules/msdosfs/Makefile#7 integrate
.. //depot/projects/smpng/sys/modules/uipaq/Makefile#1 branch
.. //depot/projects/smpng/sys/net/bpf.c#66 integrate
.. //depot/projects/smpng/sys/net/bpf_compat.h#5 delete
.. //depot/projects/smpng/sys/net/bpfdesc.h#17 integrate
.. //depot/projects/smpng/sys/net/if_loop.c#42 integrate
.. //depot/projects/smpng/sys/net/if_tap.c#44 integrate
.. //depot/projects/smpng/sys/net/if_tun.c#50 integrate
.. //depot/projects/smpng/sys/net80211/_ieee80211.h#7 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_input.c#35 integrate
.. //depot/projects/smpng/sys/netgraph/ng_ksocket.c#31 integrate
.. //depot/projects/smpng/sys/netgraph/ng_ppp.c#22 integrate
.. //depot/projects/smpng/sys/netgraph/ng_pptpgre.c#18 integrate
.. //depot/projects/smpng/sys/netinet/if_ether.c#53 integrate
.. //depot/projects/smpng/sys/netinet/in.c#35 integrate
.. //depot/projects/smpng/sys/netinet/in.h#37 integrate
.. //depot/projects/smpng/sys/netinet/ip_carp.c#22 integrate
.. //depot/projects/smpng/sys/netinet/ip_fastfwd.c#27 integrate
.. //depot/projects/smpng/sys/netinet/ip_fw2.c#83 integrate
.. //depot/projects/smpng/sys/netinet/ip_input.c#81 integrate
.. //depot/projects/smpng/sys/netinet/ip_mroute.c#50 integrate
.. //depot/projects/smpng/sys/netinet/ip_mroute.h#11 integrate
.. //depot/projects/smpng/sys/netinet/tcp.h#15 integrate
.. //depot/projects/smpng/sys/netinet/tcp_input.c#93 integrate
.. //depot/projects/smpng/sys/netinet/tcp_output.c#42 integrate
.. //depot/projects/smpng/sys/netinet/tcp_syncache.c#55 integrate
.. //depot/projects/smpng/sys/netinet/tcp_usrreq.c#55 integrate
.. //depot/projects/smpng/sys/netinet/tcp_var.h#46 integrate
.. //depot/projects/smpng/sys/netinet6/ah_core.c#12 integrate
.. //depot/projects/smpng/sys/netinet6/nd6.c#39 integrate
.. //depot/projects/smpng/sys/netsmb/smb_dev.c#21 integrate
.. //depot/projects/smpng/sys/nfs4client/nfs4_vfs_subs.c#4 integrate
.. //depot/projects/smpng/sys/nfs4client/nfs4_vfsops.c#18 integrate
.. //depot/projects/smpng/sys/nfs4client/nfs4_vnops.c#22 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs.h#29 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_vfsops.c#58 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#64 integrate
.. //depot/projects/smpng/sys/pc98/cbus/clock.c#6 integrate
.. //depot/projects/smpng/sys/pc98/conf/GENERIC#67 integrate
.. //depot/projects/smpng/sys/pc98/pc98/machdep.c#21 integrate
.. //depot/projects/smpng/sys/pci/if_rl.c#68 integrate
.. //depot/projects/smpng/sys/powerpc/conf/DEFAULTS#7 integrate
.. //depot/projects/smpng/sys/powerpc/conf/GENERIC#40 integrate
.. //depot/projects/smpng/sys/powerpc/include/ipl.h#2 delete
.. //depot/projects/smpng/sys/security/mac/mac_framework.h#6 integrate
.. //depot/projects/smpng/sys/security/mac/mac_inet.c#7 integrate
.. //depot/projects/smpng/sys/security/mac/mac_internal.h#13 integrate
.. //depot/projects/smpng/sys/security/mac/mac_label.c#7 integrate
.. //depot/projects/smpng/sys/security/mac/mac_pipe.c#10 integrate
.. //depot/projects/smpng/sys/security/mac/mac_policy.h#3 integrate
.. //depot/projects/smpng/sys/security/mac/mac_posix_sem.c#6 integrate
.. //depot/projects/smpng/sys/security/mac/mac_system.c#9 integrate
.. //depot/projects/smpng/sys/security/mac/mac_sysv_msg.c#6 integrate
.. //depot/projects/smpng/sys/security/mac/mac_sysv_sem.c#6 integrate
.. //depot/projects/smpng/sys/security/mac/mac_sysv_shm.c#5 integrate
.. //depot/projects/smpng/sys/security/mac/mac_vfs.c#17 integrate
.. //depot/projects/smpng/sys/security/mac_biba/mac_biba.c#45 integrate
.. //depot/projects/smpng/sys/security/mac_bsdextended/mac_bsdextended.c#22 integrate
.. //depot/projects/smpng/sys/security/mac_ifoff/mac_ifoff.c#9 integrate
.. //depot/projects/smpng/sys/security/mac_lomac/mac_lomac.c#35 integrate
.. //depot/projects/smpng/sys/security/mac_mls/mac_mls.c#40 integrate
.. //depot/projects/smpng/sys/security/mac_none/mac_none.c#15 integrate
.. //depot/projects/smpng/sys/security/mac_partition/mac_partition.c#11 integrate
.. //depot/projects/smpng/sys/security/mac_portacl/mac_portacl.c#11 integrate
.. //depot/projects/smpng/sys/security/mac_seeotheruids/mac_seeotheruids.c#10 integrate
.. //depot/projects/smpng/sys/security/mac_stub/mac_stub.c#21 integrate
.. //depot/projects/smpng/sys/security/mac_test/mac_test.c#36 integrate
.. //depot/projects/smpng/sys/sparc64/conf/GENERIC#75 integrate
.. //depot/projects/smpng/sys/sparc64/include/bus.h#29 integrate
.. //depot/projects/smpng/sys/sparc64/include/cache.h#12 integrate
.. //depot/projects/smpng/sys/sparc64/include/frame.h#14 integrate
.. //depot/projects/smpng/sys/sparc64/include/fsr.h#4 integrate
.. //depot/projects/smpng/sys/sparc64/include/intr_machdep.h#13 integrate
.. //depot/projects/smpng/sys/sparc64/include/pcb.h#13 integrate
.. //depot/projects/smpng/sys/sparc64/include/tsb.h#11 integrate
.. //depot/projects/smpng/sys/sparc64/sbus/dma_sbus.c#5 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/bus_machdep.c#29 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/exception.S#18 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/genassym.c#42 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/interrupt.S#7 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/mp_exception.S#6 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/mp_locore.S#3 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/ofw_machdep.c#13 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/support.S#10 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/swtch.S#8 integrate
.. //depot/projects/smpng/sys/sun4v/conf/.cvsignore#1 branch
.. //depot/projects/smpng/sys/sun4v/conf/GENERIC#4 integrate
.. //depot/projects/smpng/sys/sun4v/include/bus.h#3 integrate
.. //depot/projects/smpng/sys/sun4v/include/frame.h#2 integrate
.. //depot/projects/smpng/sys/sun4v/include/fsr.h#2 integrate
.. //depot/projects/smpng/sys/sun4v/include/intr_machdep.h#2 integrate
.. //depot/projects/smpng/sys/sun4v/include/pcb.h#3 integrate
.. //depot/projects/smpng/sys/sun4v/include/smp.h#4 integrate
.. //depot/projects/smpng/sys/sun4v/include/utrap.h#3 integrate
.. //depot/projects/smpng/sys/sun4v/sun4v/bus_machdep.c#2 integrate
.. //depot/projects/smpng/sys/sun4v/sun4v/exception.S#7 integrate
.. //depot/projects/smpng/sys/sun4v/sun4v/interrupt.S#6 integrate
.. //depot/projects/smpng/sys/sun4v/sun4v/intr_machdep.c#4 integrate
.. //depot/projects/smpng/sys/sun4v/sun4v/mp_locore.S#3 integrate
.. //depot/projects/smpng/sys/sun4v/sun4v/mp_machdep.c#4 integrate
.. //depot/projects/smpng/sys/sun4v/sun4v/support.S#5 integrate
.. //depot/projects/smpng/sys/sun4v/sun4v/swtch.S#2 integrate
.. //depot/projects/smpng/sys/sun4v/sun4v/tte.c#4 integrate
.. //depot/projects/smpng/sys/sun4v/sun4v/wbuf.S#5 integrate
.. //depot/projects/smpng/sys/sys/_label.h#8 delete
.. //depot/projects/smpng/sys/sys/apm.h#1 branch
.. //depot/projects/smpng/sys/sys/ata.h#27 integrate
.. //depot/projects/smpng/sys/sys/buf.h#45 integrate
.. //depot/projects/smpng/sys/sys/bufobj.h#8 integrate
.. //depot/projects/smpng/sys/sys/conf.h#47 integrate
.. //depot/projects/smpng/sys/sys/lock.h#41 integrate
.. //depot/projects/smpng/sys/sys/mac.h#38 integrate
.. //depot/projects/smpng/sys/sys/mbuf.h#67 integrate
.. //depot/projects/smpng/sys/sys/param.h#109 integrate
.. //depot/projects/smpng/sys/sys/proc.h#177 integrate
.. //depot/projects/smpng/sys/sys/runq.h#9 integrate
.. //depot/projects/smpng/sys/sys/sched.h#26 integrate
.. //depot/projects/smpng/sys/sys/socketvar.h#55 integrate
.. //depot/projects/smpng/sys/ufs/ffs/ffs_alloc.c#44 integrate
.. //depot/projects/smpng/sys/ufs/ffs/ffs_extern.h#23 integrate
.. //depot/projects/smpng/sys/ufs/ffs/ffs_rawread.c#19 integrate
.. //depot/projects/smpng/sys/ufs/ffs/ffs_snapshot.c#61 integrate
.. //depot/projects/smpng/sys/ufs/ffs/ffs_vfsops.c#91 integrate
.. //depot/projects/smpng/sys/ufs/ufs/quota.h#12 integrate
.. //depot/projects/smpng/sys/ufs/ufs/ufs_quota.c#36 integrate
.. //depot/projects/smpng/sys/ufs/ufs/ufs_vfsops.c#23 integrate
.. //depot/projects/smpng/sys/ufs/ufs/ufs_vnops.c#61 integrate
.. //depot/projects/smpng/sys/vm/swap_pager.c#68 integrate
.. //depot/projects/smpng/sys/vm/swap_pager.h#16 integrate
.. //depot/projects/smpng/sys/vm/uma.h#20 integrate
.. //depot/projects/smpng/sys/vm/uma_core.c#68 integrate
.. //depot/projects/smpng/sys/vm/vm_contig.c#41 integrate
.. //depot/projects/smpng/sys/vm/vm_glue.c#60 integrate
.. //depot/projects/smpng/sys/vm/vm_page.c#88 integrate
.. //depot/projects/smpng/sys/vm/vm_pageout.c#61 integrate
.. //depot/projects/smpng/sys/vm/vm_pageq.c#22 integrate
.. //depot/projects/smpng/sys/vm/vm_zeroidle.c#33 integrate

Differences ...

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

@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.667 2006/12/20 04:40:38 davidxu Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.669 2007/01/27 18:13:24 jkoshy Exp $");
 
 #include "opt_atalk.h"
 #include "opt_atpic.h"
@@ -1176,7 +1176,6 @@
 	 *	     under witness.
 	 */
 	mutex_init();
-	mtx_init(&clock_lock, "clk", NULL, MTX_SPIN);
 	mtx_init(&icu_lock, "icu", NULL, MTX_SPIN | MTX_NOWITNESS);
 
 	/* exceptions */
@@ -1184,7 +1183,7 @@
 		setidt(x, &IDTVEC(rsvd), SDT_SYSIGT, SEL_KPL, 0);
 	setidt(IDT_DE, &IDTVEC(div),  SDT_SYSIGT, SEL_KPL, 0);
 	setidt(IDT_DB, &IDTVEC(dbg),  SDT_SYSIGT, SEL_KPL, 0);
-	setidt(IDT_NMI, &IDTVEC(nmi),  SDT_SYSIGT, SEL_KPL, 0);
+	setidt(IDT_NMI, &IDTVEC(nmi),  SDT_SYSIGT, SEL_KPL, 1);
  	setidt(IDT_BP, &IDTVEC(bpt),  SDT_SYSIGT, SEL_UPL, 0);
 	setidt(IDT_OF, &IDTVEC(ofl),  SDT_SYSIGT, SEL_KPL, 0);
 	setidt(IDT_BR, &IDTVEC(bnd),  SDT_SYSIGT, SEL_KPL, 0);
@@ -1207,6 +1206,12 @@
 	lidt(&r_idt);
 
 	/*
+	 * Initialize the i8254 before the console so that console
+	 * initialization can use DELAY().
+	 */
+	i8254_init();
+
+	/*
 	 * Initialize the console before we print anything out.
 	 */
 	cninit();

==== //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#40 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.279 2007/01/11 00:17:02 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.281 2007/02/08 16:49:58 jhb Exp $");
 
 #include "opt_cpu.h"
 #include "opt_kstack_pages.h"
@@ -632,6 +632,8 @@
 			continue;
 		if (cpu_info[apic_id].cpu_bsp)
 			continue;
+		if (cpu_info[apic_id].cpu_disabled)
+			continue;
 
 		/* Don't let hyperthreads service interrupts. */
 		if (hyperthreading_cpus > 1 &&
@@ -949,15 +951,12 @@
 	ipi_bitmap = atomic_readandclear_int(&cpu_ipi_pending[cpu]);
 
 	if (ipi_bitmap & (1 << IPI_PREEMPT)) {
+		struct thread *running_thread = curthread;
 		mtx_lock_spin(&sched_lock);
-		/* Don't preempt the idle thread */
-		if (curthread != PCPU_GET(idlethread)) {
-			struct thread *running_thread = curthread;
-			if (running_thread->td_critnest > 1) 
-				running_thread->td_owepreempt = 1;
-			else 		
-				mi_switch(SW_INVOL | SW_PREEMPT, NULL);
-		}
+		if (running_thread->td_critnest > 1) 
+			running_thread->td_owepreempt = 1;
+		else 		
+			mi_switch(SW_INVOL | SW_PREEMPT, NULL);
 		mtx_unlock_spin(&sched_lock);
 	}
 

==== //depot/projects/smpng/sys/amd64/amd64/mptable_pci.c#7 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable_pci.c,v 1.6 2006/12/12 19:27:00 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable_pci.c,v 1.7 2007/01/22 21:48:42 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -120,6 +120,7 @@
 	DEVMETHOD(pcib_alloc_msi,	mptable_hostb_alloc_msi),
 	DEVMETHOD(pcib_release_msi,	pcib_release_msi),
 	DEVMETHOD(pcib_alloc_msix,	mptable_hostb_alloc_msix),
+	DEVMETHOD(pcib_remap_msix,	pcib_remap_msix),
 	DEVMETHOD(pcib_release_msix,	pcib_release_msix),
 
 	{ 0, 0 }
@@ -176,6 +177,7 @@
 	DEVMETHOD(pcib_alloc_msi,	pcib_alloc_msi),
 	DEVMETHOD(pcib_release_msi,	pcib_release_msi),
 	DEVMETHOD(pcib_alloc_msix,	pcib_alloc_msix),
+	DEVMETHOD(pcib_remap_msix,	pcib_remap_msix),
 	DEVMETHOD(pcib_release_msix,	pcib_release_msix),
 
 	{0, 0}

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

@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.2 2006/11/15 18:40:00 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.3 2007/01/22 21:48:42 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -480,6 +480,30 @@
 }
 
 int
+msix_remap(int index, int irq)
+{
+	struct msi_intsrc *msi;
+
+	sx_xlock(&msi_sx);
+	msi = (struct msi_intsrc *)intr_lookup_source(irq);
+	if (msi == NULL) {
+		sx_xunlock(&msi_sx);
+		return (ENOENT);
+	}
+
+	/* Make sure this is an MSI-X message. */
+	if (!msi->msi_msix) {
+		sx_xunlock(&msi_sx);
+		return (EINVAL);
+	}
+
+	KASSERT(msi->msi_dev != NULL, ("unowned message"));
+	msi->msi_index = index;
+	sx_xunlock(&msi_sx);
+	return (0);
+}
+
+int
 msix_release(int irq)
 {
 	struct msi_intsrc *msi;

==== //depot/projects/smpng/sys/amd64/amd64/nexus.c#22 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.71 2007/01/11 19:40:19 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.72 2007/01/22 21:48:42 jhb Exp $");
 
 /*
  * This code implements a `root nexus' for Intel Architecture
@@ -105,6 +105,7 @@
 static	int nexus_alloc_msi(device_t pcib, device_t dev, int count, int maxcount, int *irqs);
 static	int nexus_release_msi(device_t pcib, device_t dev, int count, int *irqs);
 static	int nexus_alloc_msix(device_t pcib, device_t dev, int index, int *irq);
+static	int nexus_remap_msix(device_t pcib, device_t dev, int index, int irq);
 static	int nexus_release_msix(device_t pcib, device_t dev, int irq);
 
 static device_method_t nexus_methods[] = {
@@ -135,6 +136,7 @@
 	DEVMETHOD(pcib_alloc_msi,	nexus_alloc_msi),
 	DEVMETHOD(pcib_release_msi,	nexus_release_msi),
 	DEVMETHOD(pcib_alloc_msix,	nexus_alloc_msix),
+	DEVMETHOD(pcib_remap_msix,	nexus_remap_msix),
 	DEVMETHOD(pcib_release_msix,	nexus_release_msix),
 
 	{ 0, 0 }
@@ -510,6 +512,13 @@
 }
 
 static int
+nexus_remap_msix(device_t pcib, device_t dev, int index, int irq)
+{
+
+	return (msix_remap(index, irq));
+}
+
+static int
 nexus_release_msix(device_t pcib, device_t dev, int irq)
 {
 

==== //depot/projects/smpng/sys/amd64/conf/GENERIC#55 (text+ko) ====

@@ -16,7 +16,7 @@
 # If you are in doubt as to the purpose or necessity of a line, check first
 # in NOTES.
 #
-# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.471 2006/12/13 03:41:47 yongari Exp $
+# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.472 2007/02/07 18:55:29 marcel Exp $
 
 cpu		HAMMER
 ident		GENERIC
@@ -43,7 +43,7 @@
 options 	CD9660			# ISO 9660 Filesystem
 options 	PROCFS			# Process filesystem (requires PSEUDOFS)
 options 	PSEUDOFS		# Pseudo-filesystem framework
-options 	GEOM_GPT		# GUID Partition Tables.
+options 	GEOM_PART_GPT		# GUID Partition Tables.
 options 	COMPAT_43TTY		# BSD 4.3 TTY compat [KEEP THIS!]
 options 	COMPAT_IA32		# Compatible with i386 binaries
 options 	COMPAT_FREEBSD4		# Compatible with FreeBSD4

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

@@ -3,7 +3,7 @@
  * Garrett Wollman, September 1994.
  * This file is in the public domain.
  *
- * $FreeBSD: src/sys/amd64/include/clock.h,v 1.53 2006/10/02 12:59:55 phk Exp $
+ * $FreeBSD: src/sys/amd64/include/clock.h,v 1.54 2007/01/23 08:01:19 bde Exp $
  */
 
 #ifndef _MACHINE_CLOCK_H_
@@ -22,7 +22,8 @@
 extern int	timer0_max_count;
 extern uint64_t	tsc_freq;
 extern int	tsc_is_broken;
-extern struct mtx clock_lock;
+
+void	i8254_init(void);
 
 /*
  * Driver to clock driver interface.

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

@@ -23,13 +23,13 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/include/gdb_machdep.h,v 1.5 2006/04/04 03:00:20 marcel Exp $
+ * $FreeBSD: src/sys/amd64/include/gdb_machdep.h,v 1.6 2007/02/05 21:48:32 jhb Exp $
  */
 
 #ifndef _MACHINE_GDB_MACHDEP_H_
 #define	_MACHINE_GDB_MACHDEP_H_
 
-#define	GDB_BUFSZ	500
+#define	GDB_BUFSZ	(GDB_NREGS * 16)
 #define	GDB_NREGS	56
 #define	GDB_REG_PC	16
 

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

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.13 2006/12/12 19:24:45 jhb Exp $
+ * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.14 2007/01/22 21:48:42 jhb Exp $
  */
 
 #ifndef __MACHINE_INTR_MACHDEP_H__
@@ -152,6 +152,7 @@
 void	msi_init(void);
 int	msi_release(int *irqs, int count);
 int	msix_alloc(device_t dev, int index, int *irq, int *new);
+int	msix_remap(int index, int irq);
 int	msix_release(int irq);
 
 #endif	/* !LOCORE */

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

@@ -23,14 +23,14 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/include/pcpu.h,v 1.44 2005/03/11 22:16:09 peter Exp $
+ * $FreeBSD: src/sys/amd64/include/pcpu.h,v 1.46 2007/02/06 18:04:02 bde Exp $
  */
 
 #ifndef _MACHINE_PCPU_H_
-#define _MACHINE_PCPU_H_
+#define	_MACHINE_PCPU_H_
 
 #ifndef _SYS_CDEFS_H_
-#error this file needs sys/cdefs.h as a prerequisite
+#error "sys/cdefs.h is a prerequisite for this file"
 #endif
 
 #ifdef _KERNEL
@@ -51,16 +51,15 @@
 	u_int	pc_apic_id;						\
 	u_int   pc_acpi_id		/* ACPI CPU id */
 
-#if defined(lint)
- 
+#ifdef lint
+
 extern struct pcpu *pcpup;
- 
-#define PCPU_GET(member)        (pcpup->pc_ ## member)
-#define PCPU_PTR(member)        (&pcpup->pc_ ## member)
-#define PCPU_SET(member,value)  (pcpup->pc_ ## member = (value))
- 
-#elif defined(__GNUCLIKE_ASM) && defined(__GNUCLIKE___TYPEOF) \
-    && defined(__GNUCLIKE___OFFSETOF)
+
+#define	PCPU_GET(member)	(pcpup->pc_ ## member)
+#define	PCPU_PTR(member)	(&pcpup->pc_ ## member)
+#define	PCPU_SET(member, val)	(pcpup->pc_ ## member = (val))
+
+#elif defined(__GNUCLIKE_ASM) && defined(__GNUCLIKE___TYPEOF)
 
 /*
  * Evaluates to the byte offset of the per-cpu variable name.
@@ -92,69 +91,39 @@
  * Evaluates to the value of the per-cpu variable name.
  */
 #define	__PCPU_GET(name) __extension__ ({				\
-	__pcpu_type(name) __result;					\
+	__pcpu_type(name) __res;					\
+	struct __s {							\
+		u_char	__b[MIN(sizeof(__pcpu_type(name)), 8)];		\
+	} __s;								\
 									\
-	if (sizeof(__result) == 1) {					\
-		u_char __b;						\
-		__asm __volatile("movb %%gs:%1,%0"			\
-		    : "=r" (__b)					\
-		    : "m" (*(u_char *)(__pcpu_offset(name))));		\
-		__result = *(__pcpu_type(name) *)&__b;			\
-	} else if (sizeof(__result) == 2) {				\
-		u_short __w;						\
-		__asm __volatile("movw %%gs:%1,%0"			\
-		    : "=r" (__w)					\
-		    : "m" (*(u_short *)(__pcpu_offset(name))));		\
-		__result = *(__pcpu_type(name) *)&__w;			\
-	} else if (sizeof(__result) == 4) {				\
-		u_int __i;						\
-		__asm __volatile("movl %%gs:%1,%0"			\
-		    : "=r" (__i)					\
-		    : "m" (*(u_int *)(__pcpu_offset(name))));		\
-		__result = *(__pcpu_type(name) *)&__i;			\
-	} else if (sizeof(__result) == 8) {				\
-		u_long __l;						\
-		__asm __volatile("movq %%gs:%1,%0"			\
-		    : "=r" (__l)					\
-		    : "m" (*(u_long *)(__pcpu_offset(name))));		\
-		__result = *(__pcpu_type(name) *)&__l;			\
+	if (sizeof(__res) == 1 || sizeof(__res) == 2 ||			\
+	    sizeof(__res) == 4 || sizeof(__res) == 8) {			\
+		__asm __volatile("mov %%gs:%1,%0"			\
+		    : "=r" (__s)					\
+		    : "m" (*(struct __s *)(__pcpu_offset(name))));	\
+		*(struct __s *)(void *)&__res = __s;			\
 	} else {							\
-		__result = *__PCPU_PTR(name);				\
+		__res = *__PCPU_PTR(name);				\
 	}								\
-									\
-	__result;							\
+	__res;								\
 })
 
 /*
  * Sets the value of the per-cpu variable name to value val.
  */
 #define	__PCPU_SET(name, val) {						\
-	__pcpu_type(name) __val = (val);				\
+	__pcpu_type(name) __val;					\
+	struct __s {							\
+		u_char	__b[MIN(sizeof(__pcpu_type(name)), 8)];		\
+	} __s;								\
 									\
-	if (sizeof(__val) == 1) {					\
-		u_char __b;						\
-		__b = *(u_char *)&__val;				\
-		__asm __volatile("movb %1,%%gs:%0"			\
-		    : "=m" (*(u_char *)(__pcpu_offset(name)))		\
-		    : "r" (__b));					\
-	} else if (sizeof(__val) == 2) {				\
-		u_short __w;						\
-		__w = *(u_short *)&__val;				\
-		__asm __volatile("movw %1,%%gs:%0"			\
-		    : "=m" (*(u_short *)(__pcpu_offset(name)))		\
-		    : "r" (__w));					\
-	} else if (sizeof(__val) == 4) {				\
-		u_int __i;						\
-		__i = *(u_int *)&__val;					\
-		__asm __volatile("movl %1,%%gs:%0"			\
-		    : "=m" (*(u_int *)(__pcpu_offset(name)))		\
-		    : "r" (__i));					\
-	} else if (sizeof(__val) == 8) {				\
-		u_long __l;						\
-		__l = *(u_long *)&__val;				\
-		__asm __volatile("movq %1,%%gs:%0"			\
-		    : "=m" (*(u_long *)(__pcpu_offset(name)))		\
-		    : "r" (__l));					\
+	__val = (val);							\
+	if (sizeof(__val) == 1 || sizeof(__val) == 2 ||			\
+	    sizeof(__val) == 4 || sizeof(__val) == 8) {			\
+		__s = *(struct __s *)(void *)&__val;			\
+		__asm __volatile("mov %1,%%gs:%0"			\
+		    : "=m" (*(struct __s *)(__pcpu_offset(name)))	\
+		    : "r" (__s));					\
 	} else {							\
 		*__PCPU_PTR(name) = __val;				\
 	}								\
@@ -172,12 +141,14 @@
 	__asm __volatile("movq %%gs:0,%0" : "=r" (td));
 	return (td);
 }
-#define	curthread (__curthread())
+#define	curthread		(__curthread())
+
+#else /* !lint || defined(__GNUCLIKE_ASM) && defined(__GNUCLIKE___TYPEOF) */
+
+#error "this file needs to be ported to your compiler"
 
-#else
-#error this file needs to be ported to your compiler
-#endif
+#endif /* lint, etc. */
 
-#endif	/* _KERNEL */
+#endif /* _KERNEL */
 
-#endif	/* ! _MACHINE_PCPU_H_ */
+#endif /* !_MACHINE_PCPU_H_ */

==== //depot/projects/smpng/sys/amd64/isa/clock.c#20 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.228 2006/12/03 03:49:28 bde Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.229 2007/01/23 08:01:20 bde Exp $");
 
 /*
  * Routines to handle clock hardware.
@@ -103,11 +103,11 @@
 u_int	timer_freq = TIMER_FREQ;
 int	timer0_max_count;
 int	timer0_real_max_count;
-struct mtx clock_lock;
 #define	RTC_LOCK	mtx_lock_spin(&clock_lock)
 #define	RTC_UNLOCK	mtx_unlock_spin(&clock_lock)
 
 static	int	beeping = 0;
+static	struct mtx clock_lock;
 static	const u_char daysinmonth[] = {31,28,31,30,31,30,31,31,30,31,30,31};
 static	struct intsrc *i8254_intsrc;
 static	u_int32_t i8254_lastcount;
@@ -295,13 +295,6 @@
 		printf("DELAY(%d)...", n);
 #endif
 	/*
-	 * Guard against the timer being uninitialized if we are called
-	 * early for console i/o.
-	 */
-	if (timer0_max_count == 0)
-		set_timer_freq(timer_freq, hz);
-
-	/*
 	 * Read the counter first, so that the rest of the setup overhead is
 	 * counted.  Guess the initial overhead is 20 usec (on most systems it
 	 * takes about 1.5 usec for each of the i/o's in getit().  The loop
@@ -560,10 +553,15 @@
 	mtx_unlock_spin(&clock_lock);
 }
 
-/*
- * Initialize 8254 timer 0 early so that it can be used in DELAY().
- * XXX initialization of other timers is unintentionally left blank.
- */
+/* This is separate from startrtclock() so that it can be called early. */
+void
+i8254_init(void)
+{
+
+	mtx_init(&clock_lock, "clk", NULL, MTX_SPIN);
+	set_timer_freq(timer_freq, hz);
+}
+
 void
 startrtclock()
 {
@@ -572,7 +570,6 @@
 	writertc(RTC_STATUSA, rtc_statusa);
 	writertc(RTC_STATUSB, RTCSB_24HR);
 
-	set_timer_freq(timer_freq, hz);
 	freq = calibrate_clocks();
 #ifdef CLK_CALIBRATION_LOOP
 	if (bootverbose) {

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

@@ -27,7 +27,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.10 2006/12/20 20:17:34 jkim Exp $
+ * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.11 2007/02/01 13:36:19 kib Exp $
  */
 
 #ifndef _AMD64_LINUX_LINUX_H_
@@ -662,6 +662,13 @@
 #define	LINUX_SO_NO_CHECK	11
 #define	LINUX_SO_PRIORITY	12
 #define	LINUX_SO_LINGER		13
+#define	LINUX_SO_PEERCRED		17
+#define	LINUX_SO_RCVLOWAT		18
+#define	LINUX_SO_SNDLOWAT		19
+#define	LINUX_SO_RCVTIMEO		20
+#define	LINUX_SO_SNDTIMEO		21
+#define	LINUX_SO_TIMESTAMP		29
+#define	LINUX_SO_ACCEPTCONN		30
 
 #define	LINUX_IP_TOS		1
 #define	LINUX_IP_TTL		2

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

@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.26 2007/01/14 16:20:37 netchild Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.30 2007/02/01 13:27:51 kib Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -46,6 +46,7 @@
 #include <sys/proc.h>
 #include <sys/resource.h>
 #include <sys/resourcevar.h>
+#include <sys/sched.h>
 #include <sys/syscallsubr.h>
 #include <sys/sysproto.h>
 #include <sys/unistd.h>
@@ -453,14 +454,21 @@
 linux_fork(struct thread *td, struct linux_fork_args *args)
 {
 	int error;
+	struct proc *p2;
+	struct thread *td2;
 
 #ifdef DEBUG
 	if (ldebug(fork))
 		printf(ARGS(fork, ""));
 #endif
 
-	if ((error = fork(td, (struct fork_args *)args)) != 0)
+	if ((error = fork1(td, RFFDG | RFPROC | RFSTOPPED, 0, &p2)) != 0)
 		return (error);
+	
+	if (error == 0) {
+		td->td_retval[0] = p2->p_pid;
+		td->td_retval[1] = 0;
+	}
 
 	if (td->td_retval[1] == 1)
 		td->td_retval[0] = 0;
@@ -468,6 +476,14 @@
 	if (error)
 		return (error);
 
+	td2 = FIRST_THREAD_IN_PROC(p2);
+
+	/* make it run */
+	mtx_lock_spin(&sched_lock);
+	TD_SET_CAN_RUN(td2);
+	sched_add(td2, SRQ_BORING);
+	mtx_unlock_spin(&sched_lock);
+
 	return (0);
 }
 
@@ -476,6 +492,7 @@
 {
 	int error;
 	struct proc *p2;
+	struct thread *td2;
 
 #ifdef DEBUG
 	if (ldebug(vfork))
@@ -483,7 +500,7 @@
 #endif
 
 	/* exclude RFPPWAIT */
-	if ((error = fork1(td, RFFDG | RFPROC | RFMEM, 0, &p2)) != 0)
+	if ((error = fork1(td, RFFDG | RFPROC | RFMEM | RFSTOPPED, 0, &p2)) != 0)
 		return (error);
 	if (error == 0) {
 	   	td->td_retval[0] = p2->p_pid;
@@ -495,12 +512,25 @@
 	error = linux_proc_init(td, td->td_retval[0], 0);
 	if (error)
 		return (error);
+
+	PROC_LOCK(p2);
+	p2->p_flag |= P_PPWAIT;
+	PROC_UNLOCK(p2);
+
+	td2 = FIRST_THREAD_IN_PROC(p2);
+	
+	/* make it run */
+	mtx_lock_spin(&sched_lock);
+	TD_SET_CAN_RUN(td2);
+	sched_add(td2, SRQ_BORING);
+	mtx_unlock_spin(&sched_lock);
+
 	/* wait for the children to exit, ie. emulate vfork */
 	PROC_LOCK(p2);
-	p2->p_flag |= P_PPWAIT;
 	while (p2->p_flag & P_PPWAIT)
 	   	msleep(td->td_proc, &p2->p_mtx, PWAIT, "ppwait", 0);
 	PROC_UNLOCK(p2);
+	
 	return (0);
 }
 
@@ -523,7 +553,7 @@
 #endif
 
 	exit_signal = args->flags & 0x000000ff;
-	if (exit_signal >= LINUX_NSIG)
+	if (!LINUX_SIG_VALID(exit_signal) && exit_signal != 0)
 		return (EINVAL);
 
 	if (exit_signal <= LINUX_SIGTBLSZ)
@@ -561,6 +591,14 @@
 	error = fork1(td, ff, 0, &p2);
 	if (error)
 		return (error);
+
+	if (args->flags & (CLONE_PARENT|CLONE_THREAD)) {

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



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