From owner-p4-projects@FreeBSD.ORG Fri Feb 9 16:14:37 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4F59B16A406; Fri, 9 Feb 2007 16:14:37 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D487316A401 for ; Fri, 9 Feb 2007 16:14:36 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id C1ADB13C4B6 for ; Fri, 9 Feb 2007 16:14:36 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l19GEatq054552 for ; Fri, 9 Feb 2007 16:14:36 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l19GEU1O054536 for perforce@freebsd.org; Fri, 9 Feb 2007 16:14:30 GMT (envelope-from jhb@freebsd.org) Date: Fri, 9 Feb 2007 16:14:30 GMT Message-Id: <200702091614.l19GEU1O054536@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 114301 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Feb 2007 16:14:37 -0000 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 -__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 -__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 -__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 #include @@ -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 -__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 #include @@ -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 -__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 -__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 -__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 #include @@ -46,6 +46,7 @@ #include #include #include +#include #include #include #include @@ -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) <<<