From owner-p4-projects@FreeBSD.ORG Tue Jan 16 10:29:15 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 EDC9316A52F; Tue, 16 Jan 2007 10:29:14 +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 AB9F616A4E8 for ; Tue, 16 Jan 2007 10:29:14 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 58C0B13C441 for ; Tue, 16 Jan 2007 10:29:13 +0000 (UTC) (envelope-from zec@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 l0GATD1p084396 for ; Tue, 16 Jan 2007 10:29:13 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l0GATAKm084354 for perforce@freebsd.org; Tue, 16 Jan 2007 10:29:10 GMT (envelope-from zec@FreeBSD.org) Date: Tue, 16 Jan 2007 10:29:10 GMT Message-Id: <200701161029.l0GATAKm084354@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 112982 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: Tue, 16 Jan 2007 10:29:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=112982 Change 112982 by zec@zec_tca51 on 2007/01/16 10:28:14 IFC @ 112979 Affected files ... .. //depot/projects/vimage/src/sys/amd64/amd64/identcpu.c#2 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/mp_machdep.c#2 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/nexus.c#2 integrate .. //depot/projects/vimage/src/sys/amd64/include/setjmp.h#2 integrate .. //depot/projects/vimage/src/sys/amd64/include/specialreg.h#2 integrate .. //depot/projects/vimage/src/sys/amd64/linux32/linux32_machdep.c#4 integrate .. //depot/projects/vimage/src/sys/boot/common/pnp.c#2 integrate .. //depot/projects/vimage/src/sys/boot/common/pnpdata#2 delete .. //depot/projects/vimage/src/sys/boot/forth/loader.conf#3 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_emul.c#3 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_emul.h#3 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_ipc.c#3 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_mib.c#3 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_misc.c#4 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_signal.c#3 integrate .. //depot/projects/vimage/src/sys/conf/NOTES#5 integrate .. //depot/projects/vimage/src/sys/conf/options#6 integrate .. //depot/projects/vimage/src/sys/dev/aac/aac_cam.c#2 integrate .. //depot/projects/vimage/src/sys/dev/acpica/acpi.c#2 integrate .. //depot/projects/vimage/src/sys/dev/acpica/acpi_cpu.c#2 integrate .. //depot/projects/vimage/src/sys/dev/acpica/acpi_package.c#2 integrate .. //depot/projects/vimage/src/sys/dev/acpica/acpi_perf.c#2 integrate .. //depot/projects/vimage/src/sys/dev/acpica/acpi_throttle.c#2 integrate .. //depot/projects/vimage/src/sys/dev/acpica/acpivar.h#2 integrate .. //depot/projects/vimage/src/sys/dev/ath/ath_rate/sample/sample.c#3 integrate .. //depot/projects/vimage/src/sys/dev/ath/ath_rate/sample/sample.h#3 integrate .. //depot/projects/vimage/src/sys/dev/ath/if_ath.c#4 integrate .. //depot/projects/vimage/src/sys/dev/ath/if_athvar.h#4 integrate .. //depot/projects/vimage/src/sys/dev/bce/if_bce.c#3 integrate .. //depot/projects/vimage/src/sys/dev/bce/if_bcereg.h#2 integrate .. //depot/projects/vimage/src/sys/dev/bge/if_bge.c#4 integrate .. //depot/projects/vimage/src/sys/dev/bge/if_bgereg.h#4 integrate .. //depot/projects/vimage/src/sys/dev/cy/cy_isa.c#2 integrate .. //depot/projects/vimage/src/sys/dev/fb/boot_font.c#2 integrate .. //depot/projects/vimage/src/sys/dev/fb/creatorreg.h#1 branch .. //depot/projects/vimage/src/sys/dev/fb/gallant12x22.c#1 branch .. //depot/projects/vimage/src/sys/dev/fb/gfb.c#2 delete .. //depot/projects/vimage/src/sys/dev/fb/gfb.h#2 integrate .. //depot/projects/vimage/src/sys/dev/gfb/gfb_pci.c#2 delete .. //depot/projects/vimage/src/sys/dev/gfb/gfb_pci.h#2 delete .. //depot/projects/vimage/src/sys/dev/ichsmb/ichsmb.c#2 integrate .. //depot/projects/vimage/src/sys/dev/ichsmb/ichsmb_pci.c#2 integrate .. //depot/projects/vimage/src/sys/dev/idt/idtreg.h#2 integrate .. //depot/projects/vimage/src/sys/dev/mii/acphy.c#3 integrate .. //depot/projects/vimage/src/sys/dev/mii/acphyreg.h#2 integrate .. //depot/projects/vimage/src/sys/dev/mii/amphy.c#3 integrate .. //depot/projects/vimage/src/sys/dev/mii/brgphy.c#4 integrate .. //depot/projects/vimage/src/sys/dev/mii/exphy.c#2 integrate .. //depot/projects/vimage/src/sys/dev/mii/inphy.c#3 integrate .. //depot/projects/vimage/src/sys/dev/mii/lxtphy.c#3 integrate .. //depot/projects/vimage/src/sys/dev/mii/mii_physubr.c#3 integrate .. //depot/projects/vimage/src/sys/dev/mii/miidevs#4 integrate .. //depot/projects/vimage/src/sys/dev/mii/miivar.h#3 integrate .. //depot/projects/vimage/src/sys/dev/mii/nsphy.c#3 integrate .. //depot/projects/vimage/src/sys/dev/mii/rlphy.c#3 integrate .. //depot/projects/vimage/src/sys/dev/mii/ruephy.c#2 integrate .. //depot/projects/vimage/src/sys/dev/msk/if_msk.c#3 integrate .. //depot/projects/vimage/src/sys/dev/pci/pci.c#4 integrate .. //depot/projects/vimage/src/sys/dev/pci/pci_pci.c#2 integrate .. //depot/projects/vimage/src/sys/dev/pci/pcib_private.h#3 integrate .. //depot/projects/vimage/src/sys/dev/re/if_re.c#3 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/hda/hdac.c#5 integrate .. //depot/projects/vimage/src/sys/dev/syscons/scvesactl.c#2 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_aue.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_auereg.h#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_ethersubr.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_ethersubr.h#3 integrate .. //depot/projects/vimage/src/sys/fs/udf/udf_vfsops.c#2 integrate .. //depot/projects/vimage/src/sys/fs/udf/udf_vnops.c#3 integrate .. //depot/projects/vimage/src/sys/i386/i386/identcpu.c#2 integrate .. //depot/projects/vimage/src/sys/i386/i386/machdep.c#4 integrate .. //depot/projects/vimage/src/sys/i386/i386/mp_machdep.c#2 integrate .. //depot/projects/vimage/src/sys/i386/i386/nexus.c#2 integrate .. //depot/projects/vimage/src/sys/i386/include/setjmp.h#2 integrate .. //depot/projects/vimage/src/sys/i386/include/specialreg.h#2 integrate .. //depot/projects/vimage/src/sys/i386/linux/linux_machdep.c#2 integrate .. //depot/projects/vimage/src/sys/ia64/include/exec.h#2 integrate .. //depot/projects/vimage/src/sys/ia64/include/floatingpoint.h#2 integrate .. //depot/projects/vimage/src/sys/ia64/include/reloc.h#2 integrate .. //depot/projects/vimage/src/sys/kern/kern_acct.c#2 integrate .. //depot/projects/vimage/src/sys/kern/kern_acl.c#2 integrate .. //depot/projects/vimage/src/sys/kern/kern_ntptime.c#2 integrate .. //depot/projects/vimage/src/sys/kern/kern_prot.c#2 integrate .. //depot/projects/vimage/src/sys/kern/kern_subr.c#3 integrate .. //depot/projects/vimage/src/sys/kern/subr_turnstile.c#2 integrate .. //depot/projects/vimage/src/sys/kern/tty_pts.c#2 integrate .. //depot/projects/vimage/src/sys/kern/uipc_socket.c#5 integrate .. //depot/projects/vimage/src/sys/kern/uipc_usrreq.c#3 integrate .. //depot/projects/vimage/src/sys/modules/sound/driver/emu10kx/Makefile#3 integrate .. //depot/projects/vimage/src/sys/net80211/_ieee80211.h#3 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211.c#3 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_freebsd.c#2 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_freebsd.h#2 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_input.c#3 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_node.c#3 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_proto.c#3 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_proto.h#2 integrate .. //depot/projects/vimage/src/sys/netatalk/COPYRIGHT#2 integrate .. //depot/projects/vimage/src/sys/netatalk/aarp.c#2 integrate .. //depot/projects/vimage/src/sys/netatalk/aarp.h#2 integrate .. //depot/projects/vimage/src/sys/netatalk/at.h#2 integrate .. //depot/projects/vimage/src/sys/netatalk/at_extern.h#2 integrate .. //depot/projects/vimage/src/sys/netatalk/at_proto.c#2 integrate .. //depot/projects/vimage/src/sys/netatalk/at_rmx.c#2 integrate .. //depot/projects/vimage/src/sys/netatalk/at_var.h#2 integrate .. //depot/projects/vimage/src/sys/netatalk/ddp.h#2 integrate .. //depot/projects/vimage/src/sys/netatalk/ddp_input.c#2 integrate .. //depot/projects/vimage/src/sys/netatalk/ddp_output.c#2 integrate .. //depot/projects/vimage/src/sys/netatalk/ddp_pcb.c#2 integrate .. //depot/projects/vimage/src/sys/netatalk/ddp_pcb.h#2 integrate .. //depot/projects/vimage/src/sys/netatalk/ddp_usrreq.c#2 integrate .. //depot/projects/vimage/src/sys/netatalk/ddp_var.h#2 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_deflate.c#2 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_pred1.c#2 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_tcpmss.c#2 integrate .. //depot/projects/vimage/src/sys/netinet/if_ether.c#6 integrate .. //depot/projects/vimage/src/sys/netinet/ip.h#2 integrate .. //depot/projects/vimage/src/sys/netinet/ip_fw2.c#7 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_asconf.c#4 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_constants.h#3 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_crc32.c#2 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_indata.c#4 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_indata.h#2 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_input.c#4 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_os_bsd.h#4 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_output.c#4 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_pcb.c#4 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_pcb.h#4 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_structs.h#4 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_uio.h#3 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_usrreq.c#4 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_var.h#3 integrate .. //depot/projects/vimage/src/sys/netinet/sctputil.c#4 integrate .. //depot/projects/vimage/src/sys/netinet/sctputil.h#3 integrate .. //depot/projects/vimage/src/sys/netinet6/esp_aesctr.c#2 integrate .. //depot/projects/vimage/src/sys/netinet6/in6_cksum.c#2 integrate .. //depot/projects/vimage/src/sys/netinet6/sctp6_usrreq.c#4 integrate .. //depot/projects/vimage/src/sys/netipx/ipx.c#2 integrate .. //depot/projects/vimage/src/sys/netipx/ipx.h#2 integrate .. //depot/projects/vimage/src/sys/netipx/ipx_cksum.c#2 integrate .. //depot/projects/vimage/src/sys/netipx/ipx_if.h#2 integrate .. //depot/projects/vimage/src/sys/netipx/ipx_input.c#2 integrate .. //depot/projects/vimage/src/sys/netipx/ipx_ip.c#2 integrate .. //depot/projects/vimage/src/sys/netipx/ipx_ip.h#2 integrate .. //depot/projects/vimage/src/sys/netipx/ipx_outputfl.c#2 integrate .. //depot/projects/vimage/src/sys/netipx/ipx_pcb.c#2 integrate .. //depot/projects/vimage/src/sys/netipx/ipx_pcb.h#2 integrate .. //depot/projects/vimage/src/sys/netipx/ipx_proto.c#2 integrate .. //depot/projects/vimage/src/sys/netipx/ipx_usrreq.c#2 integrate .. //depot/projects/vimage/src/sys/netipx/ipx_var.h#2 integrate .. //depot/projects/vimage/src/sys/netipx/spx.h#2 integrate .. //depot/projects/vimage/src/sys/netipx/spx_debug.c#2 integrate .. //depot/projects/vimage/src/sys/netipx/spx_debug.h#2 integrate .. //depot/projects/vimage/src/sys/netipx/spx_timer.h#2 integrate .. //depot/projects/vimage/src/sys/netipx/spx_usrreq.c#2 integrate .. //depot/projects/vimage/src/sys/netipx/spx_var.h#2 integrate .. //depot/projects/vimage/src/sys/netnatm/natm.c#2 integrate .. //depot/projects/vimage/src/sys/netnatm/natm.h#2 integrate .. //depot/projects/vimage/src/sys/netnatm/natm_pcb.c#2 integrate .. //depot/projects/vimage/src/sys/netnatm/natm_proto.c#2 integrate .. //depot/projects/vimage/src/sys/pci/alpm.c#2 integrate .. //depot/projects/vimage/src/sys/pci/amdpm.c#2 integrate .. //depot/projects/vimage/src/sys/pci/amdsmb.c#2 integrate .. //depot/projects/vimage/src/sys/pci/if_pcn.c#2 integrate .. //depot/projects/vimage/src/sys/pci/intpm.c#2 integrate .. //depot/projects/vimage/src/sys/pci/intpmreg.h#2 integrate .. //depot/projects/vimage/src/sys/pci/nfsmb.c#2 integrate .. //depot/projects/vimage/src/sys/pci/viapm.c#2 integrate .. //depot/projects/vimage/src/sys/powerpc/conf/NOTES#2 integrate .. //depot/projects/vimage/src/sys/powerpc/include/reloc.h#2 integrate .. //depot/projects/vimage/src/sys/powerpc/powerpc/cpu.c#2 integrate .. //depot/projects/vimage/src/sys/powerpc/powerpc/machdep.c#3 integrate .. //depot/projects/vimage/src/sys/sparc64/include/ofw_nexus.h#1 branch .. //depot/projects/vimage/src/sys/sparc64/include/reloc.h#2 integrate .. //depot/projects/vimage/src/sys/sparc64/include/setjmp.h#2 integrate .. //depot/projects/vimage/src/sys/sparc64/pci/ofw_pcibus.c#2 integrate .. //depot/projects/vimage/src/sys/sparc64/pci/psycho.c#2 integrate .. //depot/projects/vimage/src/sys/sparc64/pci/psychoreg.h#2 integrate .. //depot/projects/vimage/src/sys/sparc64/sbus/sbus.c#2 integrate .. //depot/projects/vimage/src/sys/sun4v/include/reloc.h#2 integrate .. //depot/projects/vimage/src/sys/sun4v/include/setjmp.h#2 integrate .. //depot/projects/vimage/src/sys/sys/copyright.h#3 integrate .. //depot/projects/vimage/src/sys/sys/priority.h#2 integrate .. //depot/projects/vimage/src/sys/sys/rtprio.h#3 integrate .. //depot/projects/vimage/src/sys/sys/systm.h#3 integrate .. //depot/projects/vimage/src/sys/ufs/ufs/ufs_acl.c#2 integrate .. //depot/projects/vimage/src/sys/vm/uma_core.c#3 integrate Differences ... ==== //depot/projects/vimage/src/sys/amd64/amd64/identcpu.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.148 2006/08/01 01:23:39 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.149 2007/01/09 19:23:21 jkim Exp $"); #include "opt_cpu.h" @@ -228,8 +228,8 @@ "\007" "\010EST" /* Enhanced SpeedStep */ "\011TM2" /* Thermal Monitor 2 */ - "\012" - "\013CNTX-ID" /* L1 context ID available */ + "\012SSSE3" /* SSSE3 */ + "\013CNXT-ID" /* L1 context ID available */ "\014" "\015" "\016CX16" /* CMPXCHG16B Instruction */ ==== //depot/projects/vimage/src/sys/amd64/amd64/mp_machdep.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.278 2006/10/10 23:23:11 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.279 2007/01/11 00:17:02 jeff Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -948,11 +948,10 @@ ipi_bitmap = atomic_readandclear_int(&cpu_ipi_pending[cpu]); -#ifdef IPI_PREEMPTION - if (ipi_bitmap & IPI_PREEMPT) { + if (ipi_bitmap & (1 << IPI_PREEMPT)) { mtx_lock_spin(&sched_lock); /* Don't preempt the idle thread */ - if (curthread->td_priority < PRI_MIN_IDLE) { + if (curthread != PCPU_GET(idlethread)) { struct thread *running_thread = curthread; if (running_thread->td_critnest > 1) running_thread->td_owepreempt = 1; @@ -961,7 +960,6 @@ } mtx_unlock_spin(&sched_lock); } -#endif /* Nothing to do for AST */ } ==== //depot/projects/vimage/src/sys/amd64/amd64/nexus.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.70 2006/11/13 22:23:32 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.71 2007/01/11 19:40:19 jhb Exp $"); /* * This code implements a `root nexus' for Intel Architecture @@ -371,24 +371,9 @@ * If this is a memory resource, map it into the kernel. */ if (rman_get_bustag(r) == AMD64_BUS_SPACE_MEM) { - caddr_t vaddr = 0; + void *vaddr; - if (rman_get_end(r) < 1024 * 1024) { - /* - * The first 1Mb is mapped at KERNBASE. - */ - vaddr = (caddr_t)(uintptr_t)(KERNBASE + rman_get_start(r)); - } else { - u_int64_t paddr; - u_int64_t psize; - u_int32_t poffs; - - paddr = rman_get_start(r); - psize = rman_get_size(r); - - poffs = paddr - trunc_page(paddr); - vaddr = (caddr_t) pmap_mapdev(paddr-poffs, psize+poffs) + poffs; - } + vaddr = pmap_mapdev(rman_get_start(r), rman_get_size(r)); rman_set_virtual(r, vaddr); rman_set_bushandle(r, (bus_space_handle_t) vaddr); } @@ -402,12 +387,9 @@ /* * If this is a memory resource, unmap it. */ - if ((rman_get_bustag(r) == AMD64_BUS_SPACE_MEM) && - (rman_get_end(r) >= 1024 * 1024)) { - u_int32_t psize; - - psize = rman_get_size(r); - pmap_unmapdev((vm_offset_t)rman_get_virtual(r), psize); + if (rman_get_bustag(r) == AMD64_BUS_SPACE_MEM) { + pmap_unmapdev((vm_offset_t)rman_get_virtual(r), + rman_get_size(r)); } return (rman_deactivate_resource(r)); ==== //depot/projects/vimage/src/sys/amd64/include/setjmp.h#2 (text+ko) ==== @@ -10,10 +10,7 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by John Birrell. - * 4. Neither the name of the author nor the names of any co-contributors + * 3. Neither the name of the author nor the names of any co-contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * @@ -29,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/setjmp.h,v 1.9 2003/06/02 21:49:35 peter Exp $ + * $FreeBSD: src/sys/amd64/include/setjmp.h,v 1.10 2007/01/12 07:24:06 imp Exp $ */ #ifndef _MACHINE_SETJMP_H_ ==== //depot/projects/vimage/src/sys/amd64/include/specialreg.h#2 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * from: @(#)specialreg.h 7.1 (Berkeley) 5/9/91 - * $FreeBSD: src/sys/amd64/include/specialreg.h,v 1.35 2006/07/13 16:09:40 jkim Exp $ + * $FreeBSD: src/sys/amd64/include/specialreg.h,v 1.36 2007/01/09 19:23:21 jkim Exp $ */ #ifndef _MACHINE_SPECIALREG_H_ @@ -118,7 +118,8 @@ #define CPUID2_VMX 0x00000020 #define CPUID2_EST 0x00000080 #define CPUID2_TM2 0x00000100 -#define CPUID2_CNTXID 0x00000400 +#define CPUID2_SSSE3 0x00000200 +#define CPUID2_CNXTID 0x00000400 #define CPUID2_CX16 0x00002000 #define CPUID2_XTPR 0x00004000 ==== //depot/projects/vimage/src/sys/amd64/linux32/linux32_machdep.c#4 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.24 2007/01/06 15:58:34 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.26 2007/01/14 16:20:37 netchild Exp $"); #include #include @@ -497,6 +497,7 @@ return (error); /* 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); @@ -564,7 +565,7 @@ /* create the emuldata */ error = linux_proc_init(td, p2->p_pid, args->flags); /* reference it - no need to check this */ - em = em_find(p2, EMUL_UNLOCKED); + em = em_find(p2, EMUL_DOLOCK); KASSERT(em != NULL, ("clone: emuldata not found.\n")); /* and adjust it */ if (args->flags & CLONE_PARENT_SETTID) { ==== //depot/projects/vimage/src/sys/boot/common/pnp.c#2 (text+ko) ==== @@ -4,7 +4,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/common/pnp.c,v 1.16 2003/08/25 23:30:41 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/common/pnp.c,v 1.17 2007/01/07 22:25:45 marius Exp $"); /* * "Plug and Play" functionality. @@ -82,52 +82,6 @@ return(CMD_OK); } -#if 0 -/* - * Try to load outstanding modules (eg. after disk change) - */ -COMMAND_SET(pnpload, "pnpload", "load modules for PnP devices", pnp_load); - -static int -pnp_load(int argc, char *argv[]) -{ - struct pnpinfo *pi; - char *modfname; - - /* find anything? */ - if (STAILQ_FIRST(&pnp_devices) != NULL) { - - /* check for kernel, assign modules handled by static drivers there */ - if (pnp_scankernel()) { - command_errmsg = "cannot load drivers until kernel loaded"; - return(CMD_ERROR); - } - if (fname == NULL) { - /* default paths */ - pnp_readconf("/boot/pnpdata.local"); - pnp_readconf("/boot/pnpdata"); - } else { - if (pnp_readconf(fname)) { - sprintf(command_errbuf, "can't read PnP information from '%s'", fname); - return(CMD_ERROR); - } - } - - /* try to load any modules that have been nominated */ - STAILQ_FOREACH(pi, &pnp_devices, pi_link) { - /* Already loaded? */ - if ((pi->pi_module != NULL) && (file_findfile(pi->pi_module, NULL) == NULL)) { - modfname = malloc(strlen(pi->pi_module) + 4); - sprintf(modfname, "%s.ko", pi->pi_module); /* XXX implicit knowledge of KLD module filenames */ - if (mod_load(pi->pi_module, pi->pi_argc, pi->pi_argv)) - printf("Could not load module '%s' for device '%s'\n", modfname, STAILQ_FIRST(&pi->pi_ident)->id_ident); - free(modfname); - } - } - } - return(CMD_OK); -} -#endif /* * Throw away anything we think we know about PnP devices. */ @@ -142,159 +96,7 @@ pnp_freeinfo(pi); } } -#if 0 -/* - * The PnP configuration database consists of a flat text file with - * entries one per line. Valid lines are: - * - * # - * - * This line is a comment, and ignored. - * - * [] - * - * Entries following this line are for devices connected to the - * bus , At least one such entry must be encountered - * before identifiers are recognised. - * - * ident= rev= module= args= - * - * This line describes an identifier:module mapping. The 'ident' - * and 'module' fields are required; the 'rev' field is currently - * ignored (but should be used), and the 'args' field must come - * last. - * - * Comments may be appended to lines; any character including or following - * '#' on a line is ignored. - */ -static int -pnp_readconf(char *path) -{ - struct pnpinfo *pi; - struct pnpident *id; - int fd, line; - char lbuf[128], *currbus, *ident, *revision, *module, *args; - char *cp, *ep, *tp, c; - - /* try to open the file */ - if ((fd = open(path, O_RDONLY)) >= 0) { - line = 0; - currbus = NULL; - - while (fgetstr(lbuf, sizeof(lbuf), fd) > 0) { - line++; - /* Find the first non-space character on the line */ - for (cp = lbuf; (*cp != 0) && !isspace(*cp); cp++) - ; - - /* keep/discard? */ - if ((*cp == 0) || (*cp == '#')) - continue; - - /* cut trailing comment? */ - if ((ep = strchr(cp, '#')) != NULL) - *ep = 0; - - /* bus declaration? */ - if (*cp == '[') { - if (((ep = strchr(cp, ']')) == NULL) || ((ep - cp) < 2)) { - printf("%s line %d: bad bus specification\n", path, line); - } else { - if (currbus != NULL) - free(currbus); - *ep = 0; - currbus = strdup(cp + 1); - } - continue; - } - - /* XXX should we complain? */ - if (currbus == NULL) - continue; - - /* mapping */ - for (ident = module = args = revision = NULL; *cp != 0;) { - - /* discard leading whitespace */ - if (isspace(*cp)) { - cp++; - continue; - } - - /* scan for terminator, separator */ - for (ep = cp; (*ep != 0) && (*ep != '=') && !isspace(*ep); ep++) - ; - - if (*ep == '=') { - *ep = 0; - for (tp = ep + 1; (*tp != 0) && !isspace(*tp); tp++) - ; - c = *tp; - *tp = 0; - if ((ident == NULL) && !strcmp(cp, "ident")) { - ident = ep + 1; - } else if ((revision == NULL) && !strcmp(cp, "revision")) { - revision = ep + 1; - } else if ((args == NULL) && !strcmp(cp, "args")) { - *tp = c; - while (*tp != 0) /* skip to end of string */ - tp++; - args = ep + 1; - } else { - /* XXX complain? */ - } - cp = tp; - continue; - } - - /* it's garbage or a keyword - ignore it for now */ - cp = ep; - } - - /* we must have at least ident and module set to be interesting */ - if ((ident == NULL) || (module == NULL)) - continue; - - /* - * Loop looking for module/bus that might match this, but aren't already - * assigned. - * XXX no revision parse/test here yet. - */ - STAILQ_FOREACH(pi, &pnp_devices, pi_link) { - - /* no driver assigned, bus matches OK */ - if ((pi->pi_module == NULL) && - !strcmp(pi->pi_handler->pp_name, currbus)) { - - /* scan idents, take first match */ - STAILQ_FOREACH(id, &pi->pi_ident, id_link) - if (!strcmp(id->id_ident, ident)) - break; - - /* find a match? */ - if (id != NULL) { - if (args != NULL) - if (parse(&pi->pi_argc, &pi->pi_argv, args)) { - printf("%s line %d: bad arguments\n", path, line); - continue; - } - pi->pi_module = strdup(module); - printf("use module '%s' for %s:%s\n", module, pi->pi_handler->pp_name, id->id_ident); - } - } - } - } - close(fd); - } - return(CMD_OK); -} -static int -pnp_scankernel(void) -{ - return(CMD_OK); -} -#endif /* * Add a unique identifier to (pi) */ ==== //depot/projects/vimage/src/sys/boot/forth/loader.conf#3 (text+ko) ==== @@ -6,7 +6,7 @@ # # All arguments must be in double quotes. # -# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.114 2006/12/13 02:48:22 yongari Exp $ +# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.117 2007/01/14 13:55:43 maxim Exp $ ############################################################## ### Basic configuration options ############################ @@ -147,13 +147,13 @@ # ggatec(8), ggated(8), ggatel(8)) geom_label_load="NO" # File system labels (see glabel(8)) geom_md_load="NO" # Memory disk driver (vnode/swap/malloc) (see + # md(4), mdconfig(8)) geom_mirror_load="NO" # RAID1 disk driver (see gmirror(8)) geom_nop_load="NO" # Transparent disk driver (see gnop(8)) geom_raid3_load="NO" # RAID3 disk driver (see graid3(8)) geom_shsec_load="NO" # Shared secret disk driver (see gshsec(8)) geom_stripe_load="NO" # RAID0 disk driver (see gstripe(8)) geom_uzip_load="NO" # Compressed disk images driver (see mkuzip(8)) - # md(4), mdconfig(8)) geom_vinum_load="NO" # Concatenated/mirror/raid driver (see vinum(4)) @@ -183,7 +183,8 @@ ############################################################## if_disc_load="NO" # Discard device -if_ef_load="NO" # pseudo-device providing support for multiple ethernet frame types +if_ef_load="NO" # pseudo-device providing support for multiple + # ethernet frame types if_faith_load="NO" # IPv6-to-IPv4 TCP relay capturing interface if_gif_load="NO" # generic tunnel interface if_gre_load="NO" # encapsulating network device @@ -217,21 +218,25 @@ if_cue_load="NO" # CATC USB-EL1210A USB Ethernet if_dc_load="NO" # DEC/Intel 21143 and various workalikes if_de_load="NO" # DEC DC21x4x Ethernet -if_ed_load="NO" # National Semiconductor DS8390/WD83C690 Ethernet +if_ed_load="NO" # National Semiconductor DS8390/WD83C690 + # Ethernet if_em_load="NO" # Intel(R) PRO/1000 Gigabit Ethernet if_en_load="NO" # Midway-based ATM interfaces if_ep_load="NO" # 3Com Etherlink III (3c5x9) if_ex_load="NO" # Intel EtherExpress Pro/10 Ethernet -if_fe_load="NO" # Fujitsu MB86960A/MB86965A based Ethernet adapters +if_fe_load="NO" # Fujitsu MB86960A/MB86965A based Ethernet + # adapters if_fxp_load="NO" # Intel EtherExpress PRO/100B (82557, 82558) if_gem_load="NO" # Sun GEM/Sun ERI/Apple GMAC if_hme_load="NO" # Sun Microelectronics STP2002-STQ Ethernet if_ie_load="NO" # Intel 82586 if_ipw_load="NO" # Intel PRO/Wireless 2100 wireless -if_iwi_load="NO" # Intel PRO/Wireless 2200BG/2225BG/2915ABG wireless +if_iwi_load="NO" # Intel PRO/Wireless 2200BG/2225BG/2915ABG + # wireless if_ixgb_load="NO" # Intel PRO/10Gb Ethernet if_le_load="NO" # AMD Am7900 LANCE and Am79C9xx PCnet -if_lge_load="NO" # Level 1 LXT1001 NetCellerator PCI Gigabit Ethernet +if_lge_load="NO" # Level 1 LXT1001 NetCellerator PCI Gigabit + # Ethernet if_msk_load="NO" # Marvell/SysKonnect Yukon II Gigabit Ethernet if_mxge_load="NO" # Myricom Myri10GE 10Gb Ethernet if_my_load="NO" # Myson PCI Fast Ethernet @@ -289,18 +294,21 @@ ng_ksocket_load="NO" # kernel socket netgraph node type ng_l2tp_load="NO" # L2TP protocol netgraph node type ng_lmi_load="NO" # frame relay LMI protocol netgraph node type -ng_mppc_load="NO" # Microsoft MPPC/MPPE compression and encryption netgraph node type -ng_netflow_load="NO" # Cisco's NetFlow netgraph note type +ng_mppc_load="NO" # Microsoft MPPC/MPPE compression and + # encryption netgraph node type +ng_netflow_load="NO" # Cisco's NetFlow netgraph node type ng_one2many_load="NO" # packet multiplexing netgraph node type ng_ppp_load="NO" # PPP protocol netgraph node type ng_pppoe_load="NO" # RFC 2516 PPPOE protocol netgraph node type ng_pptpgre_load="NO" # PPTP GRE protocol netgraph node type ng_rfc1490_load="NO" # RFC 1490 netgraph node type ng_socket_load="NO" # Netgraph socket node type -ng_split_load="NO" # netgraph node to separate incoming and outgoing flows +ng_split_load="NO" # netgraph node to separate incoming and + # outgoing flows ng_sppp_load="NO" # sppp netgraph node type ng_tee_load="NO" # Netgraph ``tee'' node type -ng_tty_load="NO" # Netgraph node type that is also a line discipline +ng_tty_load="NO" # Netgraph node type that is also a line + # discipline ng_vjc_load="NO" # Van Jacobsen compression netgraph node type ng_vlan_load="NO" # IEEE 802.1Q VLAN tagging netgraph node type ==== //depot/projects/vimage/src/sys/compat/linux/linux_emul.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_emul.c,v 1.10 2006/12/31 12:42:55 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_emul.c,v 1.12 2007/01/07 19:09:20 netchild Exp $"); #include "opt_compat.h" @@ -63,12 +63,12 @@ { struct linux_emuldata *em; - if (locked == EMUL_UNLOCKED) + if (locked == EMUL_DOLOCK) EMUL_LOCK(&emul_lock); em = p->p_emuldata; - if (em == NULL && locked == EMUL_UNLOCKED) + if (em == NULL && locked == EMUL_DOLOCK) EMUL_UNLOCK(&emul_lock); return (em); @@ -104,7 +104,7 @@ EMUL_LOCK(&emul_lock); } else { /* lookup the old one */ - em = em_find(td->td_proc, EMUL_UNLOCKED); + em = em_find(td->td_proc, EMUL_DOLOCK); KASSERT(em != NULL, ("proc_init: emuldata not found in exec case.\n")); } @@ -119,10 +119,12 @@ if (child != 0) { if (flags & CLONE_THREAD) { /* lookup the parent */ - p_em = em_find(td->td_proc, EMUL_LOCKED); + EMUL_SHARED_WLOCK(&emul_shared_lock); + p_em = em_find(td->td_proc, EMUL_DONTLOCK); KASSERT(p_em != NULL, ("proc_init: parent emuldata not found for CLONE_THREAD\n")); em->shared = p_em->shared; em->shared->refs++; + EMUL_SHARED_WUNLOCK(&emul_shared_lock); } else { /* * handled earlier to avoid malloc(M_WAITOK) with @@ -159,7 +161,7 @@ return; /* find the emuldata */ - em = em_find(p, EMUL_UNLOCKED); + em = em_find(p, EMUL_DOLOCK); KASSERT(em != NULL, ("proc_exit: emuldata not found.\n")); @@ -217,7 +219,7 @@ continue; if (__predict_false(q->p_sysent != &elf_linux_sysvec)) continue; - em = em_find(q, EMUL_UNLOCKED); + em = em_find(q, EMUL_DOLOCK); KASSERT(em != NULL, ("linux_reparent: emuldata not found: %i\n", q->p_pid)); if (em->pdeath_signal != 0) { PROC_LOCK(q); @@ -244,7 +246,7 @@ && p->p_sysent == &elf_linux_sysvec)) { struct linux_emuldata *em; - em = em_find(p, EMUL_UNLOCKED); + em = em_find(p, EMUL_DOLOCK); KASSERT(em != NULL, ("proc_exec: emuldata not found.\n")); @@ -280,7 +282,7 @@ retry: /* find the emuldata */ - em = em_find(p, EMUL_UNLOCKED); + em = em_find(p, EMUL_DOLOCK); if (em == NULL) { /* @@ -315,7 +317,7 @@ #endif /* find the emuldata */ - em = em_find(td->td_proc, EMUL_UNLOCKED); + em = em_find(td->td_proc, EMUL_DOLOCK); KASSERT(em != NULL, ("set_tid_address: emuldata not found.\n")); ==== //depot/projects/vimage/src/sys/compat/linux/linux_emul.h#3 (text+ko) ==== @@ -25,7 +25,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/compat/linux/linux_emul.h,v 1.5 2006/12/31 12:42:55 netchild Exp $ + * $FreeBSD: src/sys/compat/linux/linux_emul.h,v 1.6 2007/01/07 19:00:38 netchild Exp $ */ #ifndef _LINUX_EMUL_H_ @@ -66,8 +66,8 @@ #define EMUL_SHARED_WUNLOCK(l) sx_xunlock(l) /* for em_find use */ -#define EMUL_LOCKED 1 -#define EMUL_UNLOCKED 0 +#define EMUL_DOLOCK 1 +#define EMUL_DONTLOCK 0 int linux_proc_init(struct thread *, pid_t, int); void linux_proc_exit(void *, struct proc *); ==== //depot/projects/vimage/src/sys/compat/linux/linux_ipc.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_ipc.c,v 1.53 2006/12/20 20:08:45 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_ipc.c,v 1.54 2007/01/14 16:34:43 netchild Exp $"); #include #include @@ -571,9 +571,13 @@ td->td_retval[0] = seminfo.semmni; return 0; /* No need for __semctl call */ case LINUX_GETALL: - /* FALLTHROUGH */ + cmd = GETALL; + semun.val = args->arg.val; + break; case LINUX_SETALL: - /* FALLTHROUGH */ + cmd = SETALL; + semun.val = args->arg.val; + break; default: linux_msg(td, "ipc type %d is not implemented", args->cmd & ~LINUX_IPC_64); ==== //depot/projects/vimage/src/sys/compat/linux/linux_mib.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_mib.c,v 1.27 2006/12/31 12:39:10 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_mib.c,v 1.29 2007/01/14 16:07:01 netchild Exp $"); #include #include @@ -233,18 +233,15 @@ { struct prison *pr; struct linux_prison *lpr; - int use26 = 0; /* defaults to off */ + int use26 = linux_use_linux26; pr = td->td_ucred->cr_prison; if (pr != NULL) { - mtx_lock(&pr->pr_mtx); if (pr->pr_linux != NULL) { lpr = (struct linux_prison *)pr->pr_linux; use26 = lpr->pr_use_linux26; } - mtx_unlock(&pr->pr_mtx); - } else - use26 = linux_use_linux26; + } return (use26); } ==== //depot/projects/vimage/src/sys/compat/linux/linux_misc.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.202 2006/12/31 13:16:00 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.205 2007/01/07 19:30:19 netchild Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -100,7 +100,7 @@ static unsigned int linux_to_bsd_resource[LINUX_RLIM_NLIMITS] = { RLIMIT_CPU, RLIMIT_FSIZE, RLIMIT_DATA, RLIMIT_STACK, RLIMIT_CORE, RLIMIT_RSS, RLIMIT_NPROC, RLIMIT_NOFILE, - RLIMIT_MEMLOCK, -1 + RLIMIT_MEMLOCK, RLIMIT_AS }; struct l_sysinfo { @@ -1439,10 +1439,9 @@ #endif if (linux_use26(td)) { - em = em_find(td->td_proc, EMUL_UNLOCKED); + em = em_find(td->td_proc, EMUL_DONTLOCK); KASSERT(em != NULL, ("getpid: emuldata not found.\n")); td->td_retval[0] = em->shared->group_pid; - EMUL_UNLOCK(&emul_lock); } else { td->td_retval[0] = td->td_proc->p_pid; } @@ -1481,7 +1480,7 @@ return (0); } - em = em_find(td->td_proc, EMUL_UNLOCKED); + em = em_find(td->td_proc, EMUL_DONTLOCK); KASSERT(em != NULL, ("getppid: process emuldata not found.\n")); @@ -1501,14 +1500,13 @@ /* if its also linux process */ if (pp->p_sysent == &elf_linux_sysvec) { - em = em_find(pp, EMUL_LOCKED); + em = em_find(pp, EMUL_DONTLOCK); KASSERT(em != NULL, ("getppid: parent emuldata not found.\n")); td->td_retval[0] = em->shared->group_pid; } else td->td_retval[0] = pp->p_pid; - EMUL_UNLOCK(&emul_lock); PROC_UNLOCK(pp); return (0); @@ -1608,7 +1606,7 @@ #endif if (linux_use26(td)) { - td_em = em_find(td->td_proc, EMUL_UNLOCKED); + td_em = em_find(td->td_proc, EMUL_DOLOCK); KASSERT(td_em != NULL, ("exit_group: emuldata not found.\n")); @@ -1656,13 +1654,13 @@ case LINUX_PR_SET_PDEATHSIG: if (!LINUX_SIG_VALID(args->arg2)) return (EINVAL); - em = em_find(p, EMUL_UNLOCKED); + em = em_find(p, EMUL_DOLOCK); KASSERT(em != NULL, ("prctl: emuldata not found.\n")); em->pdeath_signal = args->arg2; EMUL_UNLOCK(&emul_lock); break; case LINUX_PR_GET_PDEATHSIG: - em = em_find(p, EMUL_UNLOCKED); + em = em_find(p, EMUL_DOLOCK); KASSERT(em != NULL, ("prctl: emuldata not found.\n")); error = copyout(&em->pdeath_signal, (void *)(register_t)args->arg2, ==== //depot/projects/vimage/src/sys/compat/linux/linux_signal.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_signal.c,v 1.63 2007/01/01 14:47:45 delphij Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_signal.c,v 1.65 2007/01/07 19:14:06 netchild Exp $"); #include #include @@ -561,7 +561,7 @@ PROC_UNLOCK(p); - em = em_find(p, EMUL_UNLOCKED); + em = em_find(p, EMUL_DONTLOCK); if (em == NULL) { #ifdef DEBUG @@ -573,8 +573,6 @@ if (em->shared->group_pid != args->tgid) return ESRCH; - EMUL_UNLOCK(&emul_lock); - return linux_kill(td, &ka); } ==== //depot/projects/vimage/src/sys/conf/NOTES#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1405 2007/01/03 11:12:54 piso Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1406 2007/01/10 18:45:17 marius Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. >>> TRUNCATED FOR MAIL (1000 lines) <<<