From owner-p4-projects@FreeBSD.ORG Fri Oct 12 17:49:05 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6E94B16A469; Fri, 12 Oct 2007 17:49:05 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 173A016A41B for ; Fri, 12 Oct 2007 17:49:05 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0CA0D13C455 for ; Fri, 12 Oct 2007 17:49:05 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l9CHn4jK077919 for ; Fri, 12 Oct 2007 17:49:04 GMT (envelope-from thioretic@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l9CHn1s6077914 for perforce@freebsd.org; Fri, 12 Oct 2007 17:49:01 GMT (envelope-from thioretic@FreeBSD.org) Date: Fri, 12 Oct 2007 17:49:01 GMT Message-Id: <200710121749.l9CHn1s6077914@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thioretic@FreeBSD.org using -f From: Maxim Zhuravlev To: Perforce Change Reviews Cc: Subject: PERFORCE change 127444 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, 12 Oct 2007 17:49:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=127444 Change 127444 by thioretic@thioretic_freebox on 2007/10/12 17:48:47 IFC Affected files ... .. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/pmap.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/alpha/conf/NOTES#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/alpha/isa/isa.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/apecs_pci.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/lca_pci.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/pcibus.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/acpica/madt.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/genassym.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/identcpu.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/io_apic.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/local_apic.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/mp_machdep.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/mptable.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/nexus.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/conf/NOTES#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/include/apicvar.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/include/specialreg.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_dummy.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_machdep.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_proto.h#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_syscall.h#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_sysent.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_sysvec.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/syscalls.master#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/arm/arm/nexus.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/i80321/i80321_pci.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/i80321/obio.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/boot/common/module.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/compat/ia32/ia32_sysvec.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/compat/linux/linux_file.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/compat/linux/linux_ioctl.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/compat/linux/linux_ioctl.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/compat/linux/linux_misc.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/compat/linux/linux_socket.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/compat/linux/linux_stats.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/compat/linux/linux_time.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/conf/NOTES#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/conf/files#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/conf/files.amd64#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/conf/files.i386#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/conf/files.pc98#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/conf/files.sparc64#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/conf/kern.pre.mk#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/conf/options#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/conf/options.sparc64#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/contrib/pf/net/pf.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/crypto/sha2/sha2.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/aac/aac.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/aac/aac_cam.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/aac/aac_pci.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/acpica/acpi_cpu.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/acpica/acpi_ec.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/ata/ata-raid.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/coretemp/coretemp.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/cxgb/common/cxgb_vsc8211.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/cxgb/cxgb_adapter.h#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/cxgb/cxgb_lro.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/cxgb/cxgb_main.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/cxgb/cxgb_sge.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/drm/i915_dma.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/em/LICENSE#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_80003es2lan.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_80003es2lan.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_82540.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_82541.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_82541.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_82542.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_82543.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_82543.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_82571.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_82571.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_82575.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_82575.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_api.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_api.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_defines.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_hw.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_ich8lan.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_ich8lan.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_mac.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_mac.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_manage.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_manage.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_nvm.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_nvm.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_osdep.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_phy.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_phy.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/e1000_regs.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/em/if_em.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/em/if_em.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/em/if_em_hw.c#2 delete .. //depot/projects/soc2007/thioretic_gidl2/dev/em/if_em_hw.h#2 delete .. //depot/projects/soc2007/thioretic_gidl2/dev/em/if_em_osdep.h#2 delete .. //depot/projects/soc2007/thioretic_gidl2/dev/fdc/fdc.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/gem/if_gem.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/gem/if_gemvar.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/hme/if_hme.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/hme/if_hmevar.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/ic/nec765.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/ichwd/ichwd.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/ichwd/ichwd.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/isp/isp_freebsd.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/le/am7990.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/le/am79900.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/le/if_le_ledma.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/le/if_le_pci.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/le/lance.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/le/lancevar.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/mfi/mfi.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/mfi/mfi_disk.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/mfi/mfi_pci.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/mfi/mfireg.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/mfi/mfivar.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/mii/ukphy.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/mpt/mpt_pci.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/mxge/eth_z8e.dat.gz.uu#2 delete .. //depot/projects/soc2007/thioretic_gidl2/dev/mxge/eth_z8e.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/mxge/ethp_z8e.dat.gz.uu#2 delete .. //depot/projects/soc2007/thioretic_gidl2/dev/mxge/ethp_z8e.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/mxge/if_mxge.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/mxge/if_mxge_var.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/mxge/mcp_gen_header.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/mxge/mxge_eth_z8e.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/mxge/mxge_ethp_z8e.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/dev/mxge/mxge_lro.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/mxge/mxge_mcp.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/re/if_re.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/syscons/syscons.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/uart/uart_kbd_sun.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/uart/uart_kbd_sun.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/usb/ehci_pci.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/fs/devfs/devfs_vnops.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/fs/fifofs/fifo_vnops.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/acpica/madt.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/conf/NOTES#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/i386/genassym.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/i386/identcpu.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/i386/io_apic.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/i386/local_apic.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/i386/mp_machdep.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/i386/mptable.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/i386/nexus.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/include/apicvar.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/include/specialreg.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/isa/pcvt/pcvt_ext.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/linux/linux.h#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/linux/linux_dummy.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/linux/linux_proto.h#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/linux/linux_syscall.h#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/linux/linux_sysent.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/linux/linux_sysvec.c#4 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/linux/syscalls.master#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/ia64/ia64/nexus.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/init_main.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/kern_condvar.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/kern_cpu.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/kern_ktrace.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/kern_mutex.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/kern_rwlock.c#1 branch .. //depot/projects/soc2007/thioretic_gidl2/kern/kern_sx.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/kern_synch.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/kern_thread.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/kern_umtx.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/subr_sleepqueue.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/subr_turnstile.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/uipc_socket.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/uipc_usrreq.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/vfs_vnops.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/modules/Makefile#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/modules/acpi/Makefile#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/modules/coretemp/Makefile#1 branch .. //depot/projects/soc2007/thioretic_gidl2/modules/em/Makefile#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/modules/linux/Makefile#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/modules/mxge/mxge_eth_z8e/Makefile#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/modules/mxge/mxge_ethp_z8e/Makefile#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/net/bridgestp.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/net/bridgestp.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/net/ieee8023ad_lacp.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/net/ieee8023ad_lacp.h#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/net/if_bridge.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/net/if_ethersubr.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/net/if_lagg.c#4 integrate .. //depot/projects/soc2007/thioretic_gidl2/net/if_lagg.h#4 integrate .. //depot/projects/soc2007/thioretic_gidl2/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netgraph/ng_base.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/netgraph/ng_l2tp.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/netgraph/ng_ppp.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/netgraph/ng_ppp.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netgraph/ng_pppoe.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netinet/tcp_syncache.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netinet6/in6_src.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/opencrypto/cryptodev.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/pc98/cbus/fdc.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/pci/if_dc.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/pci/if_dcreg.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/pci/if_xl.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/pci/if_xlreg.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/powerpc/powermac/grackle.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/powerpc/powermac/hrowpic.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/powerpc/powermac/macio.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/powerpc/powermac/uninorth.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/powerpc/powerpc/openpic.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/powerpc/powerpc/pmap.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/powerpc/psim/iobus.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/sparc64/conf/NOTES#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/sparc64/ebus/ebus.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/sparc64/isa/ofw_isa.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/sparc64/pci/apb.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/sparc64/pci/ofw_pci.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/sparc64/pci/ofw_pcib_subr.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/sparc64/pci/ofw_pcibus.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/sparc64/pci/psycho.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/sparc64/sbus/sbus.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/sparc64/sparc64/nexus.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/sys/_rwlock.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/sys/_sx.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/sys/ata.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/sys/lock_profile.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/sys/param.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/sys/proc.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/sys/rwlock.h#1 branch .. //depot/projects/soc2007/thioretic_gidl2/sys/sleepqueue.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/sys/sx.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/sys/turnstile.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/ufs/ffs/ffs_alloc.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/vm/swap_pager.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/vm/vm_fault.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/vm/vm_map.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/vm/vm_map.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/vm/vm_mmap.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/vm/vm_pageout.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/vm/vnode_pager.c#2 integrate Differences ... ==== //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/pmap.c#2 (text+ko) ==== @@ -148,7 +148,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.178.2.6 2007/04/17 03:56:22 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.178.2.7 2007/09/15 09:40:38 wilko Exp $"); #include #include @@ -159,11 +159,11 @@ #include #include #include +#include #include #include #include -#include #include #include #include ==== //depot/projects/soc2007/thioretic_gidl2/alpha/conf/NOTES#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/alpha/conf/NOTES,v 1.156 2004/11/09 22:24:47 wilko Exp $ +# $FreeBSD: src/sys/alpha/conf/NOTES,v 1.156.2.1 2007/09/20 06:33:26 netchild Exp $ # # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. @@ -68,10 +68,3 @@ # Enable OSF/1 ABI emulation options COMPAT_OSF1 - -# Enable Linux ABI emulation (requires COMPAT_OSF1) -options COMPAT_LINUX - -# Enable the linux-like proc filesystem support (requires COMPAT_LINUX -# and PSEUDOFS) -options LINPROCFS ==== //depot/projects/soc2007/thioretic_gidl2/alpha/isa/isa.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/isa/isa.c,v 1.36.8.1 2006/03/10 19:37:30 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/isa/isa.c,v 1.36.8.2 2007/10/03 20:41:32 jhb Exp $"); #define __RMAN_RESOURCE_VISIBLE #include @@ -232,6 +232,7 @@ res = rman_reserve_resource(&isa_drq_rman, start, start, 1, 0, child); + rman_set_rid(res, *rid); if (res && !passthrough) { rle = resource_list_find(rl, type, *rid); rle->start = rman_get_start(res); ==== //depot/projects/soc2007/thioretic_gidl2/alpha/pci/apecs_pci.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/pci/apecs_pci.c,v 1.15 2003/08/22 07:20:27 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/pci/apecs_pci.c,v 1.15.10.1 2007/10/03 20:41:33 jhb Exp $"); #include #include @@ -79,12 +79,17 @@ apecs_pcib_alloc_resource(device_t bus, device_t child, int type, int *rid, u_long start, u_long end, u_long count, u_int flags) { + struct resource *rv = NULL; + if ((hwrpb->rpb_type == ST_DEC_2100_A50) && (type == SYS_RES_IRQ)) - return isa_alloc_intr(bus, child, start); + rv = isa_alloc_intr(bus, child, start); else - return alpha_pci_alloc_resource(bus, child, type, rid, - start, end, count, flags); + rv = alpha_pci_alloc_resource(bus, child, type, rid, + start, end, count, flags); + if (rv != NULL) + rman_set_rid(rv, *rid); + return (rv); } static int ==== //depot/projects/soc2007/thioretic_gidl2/alpha/pci/lca_pci.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/pci/lca_pci.c,v 1.17 2003/08/22 07:20:27 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/pci/lca_pci.c,v 1.17.10.1 2007/10/03 20:41:33 jhb Exp $"); #include #include @@ -78,11 +78,16 @@ lca_pcib_alloc_resource(device_t bus, device_t child, int type, int *rid, u_long start, u_long end, u_long count, u_int flags) { + struct resource *rv = NULL; + if (type == SYS_RES_IRQ) - return isa_alloc_intr(bus, child, start); + rv = isa_alloc_intr(bus, child, start); else - return alpha_pci_alloc_resource(bus, child, type, rid, - start, end, count, flags); + rv = alpha_pci_alloc_resource(bus, child, type, rid, + start, end, count, flags); + if (rv != NULL) + rman_set_rid(rv, *rid); + return (rv); } static int ==== //depot/projects/soc2007/thioretic_gidl2/alpha/pci/pcibus.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/pci/pcibus.c,v 1.36 2005/01/05 20:05:52 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/pci/pcibus.c,v 1.36.2.1 2007/10/03 20:41:33 jhb Exp $"); #include "opt_isa.h" @@ -97,7 +97,12 @@ alpha_platform_alloc_ide_intr(int chan) { int irqs[2] = { 14, 15 }; - return isa_alloc_intr(0, 0, irqs[chan]); + struct resource *rv; + + rv = isa_alloc_intr(0, 0, irqs[chan]); + if (rv != NULL) + rman_set_rid(rv, *rid); + return (rv); } int @@ -230,9 +235,11 @@ #ifdef DEV_ISA if((start >= ISA_IRQ_OFFSET) && (end < ISA_IRQ_OFFSET + ISA_IRQ_LEN)) { - return isa_alloc_intrs(bus, child, - start - ISA_IRQ_OFFSET, - end - ISA_IRQ_OFFSET); + rv = isa_alloc_intrs(bus, child, + start - ISA_IRQ_OFFSET, end - ISA_IRQ_OFFSET); + if (rv != NULL) + rman_set_rid(rv, *rid); + return (rv); } else #endif @@ -252,6 +259,7 @@ if (rv == 0) return 0; + rman_set_rid(rv, *rid); rman_set_bustag(rv, ALPHAPCI_GET_BUSTAG(bus, type)); rman_set_bushandle(rv, rv->r_start); switch (type) { ==== //depot/projects/soc2007/thioretic_gidl2/amd64/acpica/madt.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.16.2.3 2007/05/02 18:42:45 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.16.2.4 2007/10/05 15:22:35 jhb Exp $"); #include #include @@ -53,21 +53,18 @@ #include #include -#define NIOAPICS 32 /* Max number of I/O APICs */ -#define NLAPICS 32 /* Max number of local APICs */ - typedef void madt_entry_handler(APIC_HEADER *entry, void *arg); /* These two arrays are indexed by APIC IDs. */ struct ioapic_info { void *io_apic; UINT32 io_vector; -} ioapics[NIOAPICS]; +} ioapics[MAX_APIC_ID + 1]; struct lapic_info { u_int la_enabled:1; u_int la_acpi_id:8; -} lapics[NLAPICS]; +} lapics[MAX_APIC_ID + 1]; static int madt_found_sci_override; static MULTIPLE_APIC_TABLE *madt; @@ -391,7 +388,7 @@ } /* Third, we register all the I/O APIC's. */ - for (i = 0; i < NIOAPICS; i++) + for (i = 0; i <= MAX_APIC_ID; i++) if (ioapics[i].io_apic != NULL) ioapic_register(ioapics[i].io_apic); @@ -447,7 +444,7 @@ proc->ProcessorEnabled ? "enabled" : "disabled"); if (!proc->ProcessorEnabled) break; - if (proc->LocalApicId >= NLAPICS) + if (proc->LocalApicId > MAX_APIC_ID) panic("%s: CPU ID %d too high", __func__, proc->LocalApicId); la = &lapics[proc->LocalApicId]; @@ -476,7 +473,7 @@ printf("MADT: Found IO APIC ID %d, Interrupt %d at %p\n", apic->IoApicId, apic->Interrupt, (void *)(uintptr_t)apic->Address); - if (apic->IoApicId >= NIOAPICS) + if (apic->IoApicId > MAX_APIC_ID) panic("%s: I/O APIC ID %d too high", __func__, apic->IoApicId); if (ioapics[apic->IoApicId].io_apic != NULL) @@ -544,7 +541,7 @@ { int i; - for (i = 0; i < NLAPICS; i++) { + for (i = 0; i <= MAX_APIC_ID; i++) { if (!lapics[i].la_enabled) continue; if (lapics[i].la_acpi_id != acpi_id) @@ -565,7 +562,7 @@ int i, best; best = -1; - for (i = 0; i < NIOAPICS; i++) { + for (i = 0; i <= MAX_APIC_ID; i++) { if (ioapics[i].io_apic == NULL || ioapics[i].io_vector > intr) continue; ==== //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/genassym.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.155.2.2 2005/11/15 00:25:59 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.155.2.3 2007/09/10 23:01:35 peter Exp $"); #include "opt_compat.h" #include "opt_kstack_pages.h" @@ -177,6 +177,7 @@ ASSYM(ENOENT, ENOENT); ASSYM(EFAULT, EFAULT); ASSYM(ENAMETOOLONG, ENAMETOOLONG); +ASSYM(MAXCPU, MAXCPU); ASSYM(MAXCOMLEN, MAXCOMLEN); ASSYM(MAXPATHLEN, MAXPATHLEN); ASSYM(PC_SIZEOF, sizeof(struct pcpu)); ==== //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/identcpu.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.136.2.4 2006/12/06 20:12:13 sobomax Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.136.2.5 2007/09/28 08:26:16 des Exp $"); #include "opt_cpu.h" @@ -220,19 +220,19 @@ "\004MON" /* MONITOR/MWAIT Instructions */ "\005DS_CPL" /* CPL Qualified Debug Store */ "\006VMX" /* Virtual Machine Extensions */ - "\007" + "\007SMX" /* Safer Mode Extensions */ "\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 */ - "\017XTPR" /* Send Task Priority Messages*/ - "\020" + "\017xTPR" /* Send Task Priority Messages*/ + "\020PDCM" /* Perf/Debug Capability MSR */ "\021" "\022" - "\023" + "\023DCA" /* Direct Cache Access */ "\024" "\025" "\026" @@ -307,7 +307,7 @@ "\006" "\007" "\010" - "\011" + "\011Prefetch" /* 3DNow! Prefetch/PrefetchW */ "\012" "\013" "\014" @@ -335,13 +335,8 @@ } if (cpu_feature & CPUID_HTT && strcmp(cpu_vendor, - "AuthenticAMD") == 0) { + "AuthenticAMD") == 0) cpu_feature &= ~CPUID_HTT; - if (bootverbose) - printf("\nHTT bit cleared - FreeBSD" - " does not have licensing issues" - " requiring it.\n"); - } /* * If this CPU supports HTT or CMP then mention the ==== //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/io_apic.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.15.2.8 2007/03/12 19:50:29 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.15.2.9 2007/08/28 15:47:41 jhb Exp $"); #include "opt_isa.h" @@ -468,7 +468,7 @@ intbase = next_ioapic_base; printf("ioapic%u: Assuming intbase of %d\n", io->io_id, intbase); - } else if (intbase != next_ioapic_base) + } else if (intbase != next_ioapic_base && bootverbose) printf("ioapic%u: WARNING: intbase %d != expected base %d\n", io->io_id, intbase, next_ioapic_base); io->io_intbase = intbase; ==== //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/local_apic.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.17.2.13 2007/04/28 09:04:09 ariff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.17.2.14 2007/10/05 15:22:35 jhb Exp $"); #include "opt_hwpmc_hooks.h" @@ -65,13 +65,6 @@ #include #endif -/* - * We can handle up to 60 APICs via our logical cluster IDs, but currently - * the physical IDs on Intel processors up to the Pentium 4 are limited to - * 16. - */ -#define MAX_APICID 16 - /* Sanity checks on IDT vectors. */ CTASSERT(APIC_IO_INTS + APIC_NUM_IOINTS == APIC_TIMER_INT); CTASSERT(APIC_TIMER_INT < APIC_LOCAL_INTS); @@ -114,7 +107,7 @@ u_long la_hard_ticks; u_long la_stat_ticks; u_long la_prof_ticks; -} static lapics[MAX_APICID]; +} static lapics[MAX_APIC_ID + 1]; /* XXX: should thermal be an NMI? */ @@ -237,7 +230,7 @@ { int i; - if (apic_id >= MAX_APICID) { + if (apic_id > MAX_APIC_ID) { printf("APIC: Ignoring local APIC with ID %d\n", apic_id); if (boot_cpu) panic("Can't ignore BSP"); ==== //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/mp_machdep.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.260.2.11 2007/05/05 21:13:16 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.260.2.14 2007/10/08 21:51:01 jhb Exp $"); #include "opt_cpu.h" #include "opt_kdb.h" @@ -95,6 +95,9 @@ /* Free these after use */ void *bootstacks[MAXCPU]; +/* Temporary holder for double fault stack */ +char *doublefault_stack; + /* Hotwire a 0->4MB V==P mapping */ extern pt_entry_t *KPTphys; @@ -130,7 +133,7 @@ int cpu_present:1; int cpu_bsp:1; int cpu_disabled:1; -} static cpu_info[MAXCPU]; +} static cpu_info[MAX_APIC_ID + 1]; static int cpu_apic_ids[MAXCPU]; /* Holds pending bitmap based IPIs per CPU */ @@ -138,6 +141,7 @@ static u_int boot_address; +static void assign_cpu_ids(void); static void set_interrupt_apic_ids(void); static int start_all_aps(void); static int start_ap(int apic_id); @@ -175,7 +179,7 @@ return; group = &mp_groups[0]; groups = 1; - for (cpu = 0, apic_id = 0; apic_id < MAXCPU; apic_id++) { + for (cpu = 0, apic_id = 0; apic_id <= MAX_APIC_ID; apic_id++) { if (!cpu_info[apic_id].cpu_present) continue; /* @@ -222,9 +226,8 @@ cpu_add(u_int apic_id, char boot_cpu) { - if (apic_id >= MAXCPU) { - printf("SMP: CPU %d exceeds maximum CPU %d, ignoring\n", - apic_id, MAXCPU - 1); + if (apic_id > MAX_APIC_ID) { + panic("SMP: APIC ID %d too high", apic_id); return; } KASSERT(cpu_info[apic_id].cpu_present == 0, ("CPU %d added twice", @@ -237,13 +240,13 @@ boot_cpu_id = apic_id; cpu_info[apic_id].cpu_bsp = 1; } - mp_ncpus++; - if (apic_id > mp_maxid) - mp_maxid = apic_id; + if (mp_ncpus < MAXCPU) { + mp_ncpus++; + mp_maxid = mp_ncpus -1; + } if (bootverbose) printf("SMP: Added CPU %d (%s)\n", apic_id, boot_cpu ? "BSP" : "AP"); - } void @@ -262,8 +265,7 @@ else KASSERT(mp_maxid >= mp_ncpus - 1, ("%s: counters out of sync: max %d, count %d", __func__, - mp_maxid, mp_ncpus)); - + mp_maxid, mp_ncpus)); } int @@ -341,6 +343,8 @@ ("BSP's APIC ID doesn't match boot_cpu_id")); cpu_apic_ids[0] = boot_cpu_id; + assign_cpu_ids(); + /* Start each Application Processor */ start_all_aps(); @@ -405,7 +409,7 @@ /* List CPUs */ printf(" cpu0 (BSP): APIC ID: %2d\n", boot_cpu_id); - for (i = 1, x = 0; x < MAXCPU; x++) { + for (i = 1, x = 0; x <= MAX_APIC_ID; x++) { if (!cpu_info[x].cpu_present || cpu_info[x].cpu_bsp) continue; if (cpu_info[x].cpu_disabled) @@ -435,6 +439,7 @@ common_tss[cpu] = common_tss[0]; common_tss[cpu].tss_rsp0 = 0; /* not used until after switch */ common_tss[cpu].tss_iobase = sizeof(struct amd64tss); + common_tss[cpu].tss_ist1 = (long)&doublefault_stack[PAGE_SIZE]; gdt_segs[GPROC0_SEL].ssd_base = (long) &common_tss[cpu]; ssdtosyssd(&gdt_segs[GPROC0_SEL], @@ -620,6 +625,48 @@ } /* + * Assign logical CPU IDs to local APICs. + */ +static void +assign_cpu_ids(void) +{ + u_int i; + + /* Check for explicitly disabled CPUs. */ + for (i = 0; i <= MAX_APIC_ID; i++) { + if (!cpu_info[i].cpu_present || cpu_info[i].cpu_bsp) + continue; + + /* Don't use this CPU if it has been disabled by a tunable. */ + if (resource_disabled("lapic", i)) { + cpu_info[i].cpu_disabled = 1; + continue; + } + } + + /* + * Assign CPU IDs to local APIC IDs and disable any CPUs + * beyond MAXCPU. CPU 0 has already been assigned to the BSP, + * so we only have to assign IDs for APs. + */ + mp_ncpus = 1; + for (i = 0; i <= MAX_APIC_ID; i++) { + if (!cpu_info[i].cpu_present || cpu_info[i].cpu_bsp || + cpu_info[i].cpu_disabled) + continue; + + if (mp_ncpus < MAXCPU) { + cpu_apic_ids[mp_ncpus] = i; + mp_ncpus++; + } else + cpu_info[i].cpu_disabled = 1; + } + KASSERT(mp_maxid >= mp_ncpus - 1, + ("%s: counters out of sync: max %d, count %d", __func__, mp_maxid, + mp_ncpus)); +} + +/* * start each AP in our list */ static int @@ -670,27 +717,12 @@ outb(CMOS_DATA, BIOS_WARM); /* 'warm-start' */ /* start each AP */ - for (cpu = 0, apic_id = 0; apic_id < MAXCPU; apic_id++) { - - /* Ignore non-existent CPUs and the BSP. */ - if (!cpu_info[apic_id].cpu_present || - cpu_info[apic_id].cpu_bsp) - continue; - - /* Don't use this CPU if it has been disabled by a tunable. */ - if (resource_disabled("lapic", apic_id)) { - cpu_info[apic_id].cpu_disabled = 1; - mp_ncpus--; - continue; - } + for (cpu = 1; cpu < mp_ncpus; cpu++) { + apic_id = cpu_apic_ids[cpu]; - cpu++; - - /* save APIC ID for this logical ID */ - cpu_apic_ids[cpu] = apic_id; - /* allocate and set up an idle stack data page */ - bootstacks[cpu] = (char *)kmem_alloc(kernel_map, KSTACK_PAGES * PAGE_SIZE); + bootstacks[cpu] = (void *)kmem_alloc(kernel_map, KSTACK_PAGES * PAGE_SIZE); + doublefault_stack = (char *)kmem_alloc(kernel_map, PAGE_SIZE); bootSTK = (char *)bootstacks[cpu] + KSTACK_PAGES * PAGE_SIZE - 8; bootAP = cpu; @@ -932,10 +964,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; ==== //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/mptable.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable.c,v 1.236 2005/04/15 18:44:53 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable.c,v 1.236.2.1 2007/10/05 15:22:35 jhb Exp $"); #include #include @@ -50,7 +50,7 @@ /* string defined by the Intel MP Spec as identifying the MP table */ #define MP_SIG 0x5f504d5f /* _MP_ */ -#define NAPICID 32 /* Max number of APIC's */ +#define MAX_LAPIC_ID 63 /* Max local APIC ID for HTT fixup */ #define BIOS_BASE (0xf0000) #define BIOS_SIZE (0x10000) @@ -136,7 +136,7 @@ static mpfps_t mpfps; static mpcth_t mpct; -static void *ioapics[NAPICID]; +static void *ioapics[MAX_APIC_ID + 1]; static bus_datum *busses; static int mptable_nioapics, mptable_nbusses, mptable_maxbusid; static int pci0 = -1; @@ -152,7 +152,7 @@ static void mptable_count_items(void); static void mptable_count_items_handler(u_char *entry, void *arg); #ifdef MPTABLE_FORCE_HTT -static void mptable_hyperthread_fixup(u_int id_mask); +static void mptable_hyperthread_fixup(u_long id_mask); #endif static void mptable_parse_apics_and_busses(void); static void mptable_parse_apics_and_busses_handler(u_char *entry, @@ -294,7 +294,7 @@ static int mptable_probe_cpus(void) { - u_int cpu_mask; + u_long cpu_mask; /* Is this a pre-defined config? */ if (mpfps->config_type != 0) { @@ -354,7 +354,7 @@ mptable_parse_ints(); /* Fourth, we register all the I/O APIC's. */ - for (i = 0; i < NAPICID; i++) + for (i = 0; i <= MAX_APIC_ID; i++) if (ioapics[i] != NULL) ioapic_register(ioapics[i]); @@ -412,7 +412,7 @@ mptable_probe_cpus_handler(u_char *entry, void *arg) { proc_entry_ptr proc; - u_int *cpu_mask; + u_long *cpu_mask; switch (*entry) { case MPCT_ENTRY_PROCESSOR: @@ -420,8 +420,10 @@ if (proc->cpu_flags & PROCENTRY_FLAG_EN) { lapic_create(proc->apic_id, proc->cpu_flags & PROCENTRY_FLAG_BP); - cpu_mask = (u_int *)arg; - *cpu_mask |= (1 << proc->apic_id); + if (proc->apic_id < MAX_LAPIC_ID) { + cpu_mask = (u_long *)arg; + *cpu_mask |= (1ul << proc->apic_id); + } } break; } @@ -508,7 +510,7 @@ apic = (io_apic_entry_ptr)entry; if (!(apic->apic_flags & IOAPICENTRY_FLAG_EN)) break; - if (apic->apic_id >= NAPICID) + if (apic->apic_id > MAX_APIC_ID) panic("%s: I/O APIC ID %d too high", __func__, apic->apic_id); if (ioapics[apic->apic_id] != NULL) @@ -653,7 +655,7 @@ return; } } - if (apic_id >= NAPICID) { + if (apic_id > MAX_APIC_ID) { printf("MPTable: Ignoring interrupt entry for ioapic%d\n", intr->dst_apic_id); return; @@ -866,7 +868,7 @@ * with the number of logical CPU's in the processor. */ static void -mptable_hyperthread_fixup(u_int id_mask) +mptable_hyperthread_fixup(u_long id_mask) { u_int i, id, logical_cpus; @@ -883,7 +885,7 @@ * physical processor. If any of those ID's are * already in the table, then kill the fixup. */ - for (id = 0; id < NAPICID; id++) { + for (id = 0; id <= MAX_LAPIC_ID; id++) { if ((id_mask & 1 << id) == 0) continue; /* First, make sure we are on a logical_cpus boundary. */ @@ -898,7 +900,7 @@ * Ok, the ID's checked out, so perform the fixup by * adding the logical CPUs. */ - while ((id = ffs(id_mask)) != 0) { + while ((id = ffsl(id_mask)) != 0) { id--; for (i = id + 1; i < id + logical_cpus; i++) { if (bootverbose) ==== //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/nexus.c#3 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.66.2.4 2007/08/15 21:12:07 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.66.2.5 2007/10/03 20:41:33 jhb Exp $"); /* * This code implements a `root nexus' for Intel Architecture @@ -347,7 +347,7 @@ rv = rman_reserve_resource(rm, start, end, count, flags, child); if (rv == 0) return 0; - + rman_set_rid(rv, *rid); if (type == SYS_RES_MEMORY) { >>> TRUNCATED FOR MAIL (1000 lines) <<<