Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Oct 2007 17:19:27 GMT
From:      Maxim Zhuravlev <thioretic@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 127443 for review
Message-ID:  <200710121719.l9CHJRg2076263@repoman.freebsd.org>

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

Change 127443 by thioretic@thioretic_freebox on 2007/10/12 17:18:56

	IFC

Affected files ...

.. //depot/projects/soc2007/thioretic_gidl/alpha/alpha/pmap.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/alpha/conf/NOTES#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/alpha/isa/isa.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/alpha/pci/apecs_pci.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/alpha/pci/lca_pci.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/alpha/pci/pcibus.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/acpica/madt.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/amd64/genassym.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/amd64/identcpu.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/amd64/io_apic.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/amd64/local_apic.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/amd64/mp_machdep.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/amd64/mptable.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/amd64/nexus.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/conf/NOTES#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/include/apicvar.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/include/specialreg.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/linux32/linux32_dummy.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/linux32/linux32_machdep.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/linux32/linux32_proto.h#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/linux32/linux32_syscall.h#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/linux32/linux32_sysent.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/linux32/linux32_sysvec.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/amd64/linux32/syscalls.master#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/arm/arm/nexus.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/arm/xscale/i80321/i80321_pci.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/arm/xscale/i80321/obio.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/boot/common/module.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/compat/ia32/ia32_sysvec.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/compat/linux/linux_file.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/compat/linux/linux_ioctl.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/compat/linux/linux_ioctl.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/compat/linux/linux_misc.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/compat/linux/linux_socket.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/compat/linux/linux_stats.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/compat/linux/linux_time.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl/conf/NOTES#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/conf/files#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/conf/files.amd64#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/conf/files.i386#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/conf/files.pc98#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/conf/files.sparc64#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/conf/kern.pre.mk#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/conf/options#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/conf/options.sparc64#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/contrib/pf/net/pf.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/crypto/sha2/sha2.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/aac/aac.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/aac/aac_cam.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/aac/aac_pci.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/acpica/acpi_cpu.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/acpica/acpi_ec.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/ata/ata-raid.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/coretemp/coretemp.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/cxgb/common/cxgb_vsc8211.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/cxgb/cxgb_adapter.h#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/cxgb/cxgb_lro.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/cxgb/cxgb_main.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/cxgb/cxgb_sge.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/drm/i915_dma.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/em/LICENSE#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_80003es2lan.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_80003es2lan.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_82540.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_82541.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_82541.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_82542.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_82543.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_82543.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_82571.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_82571.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_82575.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_82575.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_api.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_api.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_defines.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_hw.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_ich8lan.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_ich8lan.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_mac.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_mac.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_manage.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_manage.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_nvm.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_nvm.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_osdep.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_phy.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_phy.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/e1000_regs.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/em/if_em.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/em/if_em.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/em/if_em_hw.c#2 delete
.. //depot/projects/soc2007/thioretic_gidl/dev/em/if_em_hw.h#2 delete
.. //depot/projects/soc2007/thioretic_gidl/dev/em/if_em_osdep.h#2 delete
.. //depot/projects/soc2007/thioretic_gidl/dev/fdc/fdc.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/gem/if_gem.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/gem/if_gemvar.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/hme/if_hme.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/hme/if_hmevar.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/ic/nec765.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/ichwd/ichwd.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/ichwd/ichwd.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/isp/isp_freebsd.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/le/am7990.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/le/am79900.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/le/if_le_ledma.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/le/if_le_pci.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/le/lance.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/le/lancevar.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/mfi/mfi.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/mfi/mfi_disk.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/mfi/mfi_pci.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/mfi/mfireg.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/mfi/mfivar.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/mii/ukphy.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/mpt/mpt_pci.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/mxge/eth_z8e.dat.gz.uu#2 delete
.. //depot/projects/soc2007/thioretic_gidl/dev/mxge/eth_z8e.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/mxge/ethp_z8e.dat.gz.uu#2 delete
.. //depot/projects/soc2007/thioretic_gidl/dev/mxge/ethp_z8e.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/mxge/if_mxge.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/mxge/if_mxge_var.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/mxge/mcp_gen_header.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/mxge/mxge_eth_z8e.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/mxge/mxge_ethp_z8e.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl/dev/mxge/mxge_lro.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/mxge/mxge_mcp.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/re/if_re.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/syscons/syscons.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/uart/uart_kbd_sun.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/uart/uart_kbd_sun.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/dev/usb/ehci_pci.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/fs/devfs/devfs_vnops.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/fs/fifofs/fifo_vnops.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/acpica/madt.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/conf/NOTES#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/i386/genassym.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/i386/identcpu.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/i386/io_apic.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/i386/local_apic.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/i386/mp_machdep.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/i386/mptable.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/i386/nexus.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/include/apicvar.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/include/specialreg.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/isa/pcvt/pcvt_ext.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/linux/linux.h#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/linux/linux_dummy.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/linux/linux_proto.h#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/linux/linux_syscall.h#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/linux/linux_sysent.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/linux/linux_sysvec.c#4 integrate
.. //depot/projects/soc2007/thioretic_gidl/i386/linux/syscalls.master#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/ia64/ia64/nexus.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/init_main.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/kern_condvar.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/kern_cpu.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/kern_ktrace.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/kern_mutex.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/kern_rwlock.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl/kern/kern_sx.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/kern_synch.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/kern_thread.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/kern_umtx.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/subr_sleepqueue.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/subr_turnstile.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/uipc_socket.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/uipc_usrreq.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/kern/vfs_vnops.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/modules/Makefile#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/modules/acpi/Makefile#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/modules/coretemp/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl/modules/em/Makefile#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/modules/linux/Makefile#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/modules/mxge/mxge_eth_z8e/Makefile#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/modules/mxge/mxge_ethp_z8e/Makefile#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/net/bridgestp.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/net/bridgestp.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/net/ieee8023ad_lacp.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/net/ieee8023ad_lacp.h#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/net/if_bridge.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/net/if_ethersubr.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/net/if_lagg.c#4 integrate
.. //depot/projects/soc2007/thioretic_gidl/net/if_lagg.h#4 integrate
.. //depot/projects/soc2007/thioretic_gidl/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/netgraph/ng_base.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/netgraph/ng_l2tp.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/netgraph/ng_ppp.c#3 integrate
.. //depot/projects/soc2007/thioretic_gidl/netgraph/ng_ppp.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/netgraph/ng_pppoe.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/netinet/tcp_syncache.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/netinet6/in6_src.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/opencrypto/cryptodev.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/pc98/cbus/fdc.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/pci/if_dc.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/pci/if_dcreg.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/pci/if_xl.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/pci/if_xlreg.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/powerpc/powermac/grackle.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/powerpc/powermac/hrowpic.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/powerpc/powermac/macio.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/powerpc/powermac/uninorth.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/powerpc/powerpc/openpic.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/powerpc/powerpc/pmap.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/powerpc/psim/iobus.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sparc64/conf/NOTES#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sparc64/ebus/ebus.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sparc64/isa/ofw_isa.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sparc64/pci/apb.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sparc64/pci/ofw_pci.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sparc64/pci/ofw_pcib_subr.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sparc64/pci/ofw_pcibus.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sparc64/pci/psycho.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sparc64/sbus/sbus.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sparc64/sparc64/nexus.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sys/_rwlock.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl/sys/_sx.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl/sys/ata.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sys/lock_profile.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl/sys/param.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sys/proc.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sys/rwlock.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl/sys/sleepqueue.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sys/sx.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/sys/turnstile.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/ufs/ffs/ffs_alloc.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/vm/swap_pager.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/vm/vm_fault.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/vm/vm_map.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/vm/vm_map.h#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/vm/vm_mmap.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/vm/vm_pageout.c#2 integrate
.. //depot/projects/soc2007/thioretic_gidl/vm/vnode_pager.c#2 integrate

Differences ...

==== //depot/projects/soc2007/thioretic_gidl/alpha/alpha/pmap.c#2 (text+ko) ====

@@ -148,7 +148,7 @@
  */
 
 #include <sys/cdefs.h>
-__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 <sys/param.h>
 #include <sys/systm.h>
@@ -159,11 +159,11 @@
 #include <sys/vmmeter.h>
 #include <sys/mman.h>
 #include <sys/smp.h>
+#include <sys/lock.h>
 #include <sys/sx.h>
 
 #include <vm/vm.h>
 #include <vm/vm_param.h>
-#include <sys/lock.h>
 #include <sys/mutex.h>
 #include <vm/vm_kern.h>
 #include <vm/vm_page.h>

==== //depot/projects/soc2007/thioretic_gidl/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_gidl/alpha/isa/isa.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__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 <sys/param.h>
@@ -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_gidl/alpha/pci/apecs_pci.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__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 <sys/param.h>
 #include <sys/systm.h>
@@ -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_gidl/alpha/pci/lca_pci.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__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 <sys/param.h>
 #include <sys/systm.h>
@@ -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_gidl/alpha/pci/pcibus.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__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_gidl/amd64/acpica/madt.c#2 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__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 <sys/param.h>
 #include <sys/systm.h>
@@ -53,21 +53,18 @@
 #include <dev/acpica/acpivar.h>
 #include <dev/pci/pcivar.h>
 
-#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_gidl/amd64/amd64/genassym.c#2 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__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_gidl/amd64/amd64/identcpu.c#2 (text+ko) ====

@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__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<b6>"
+				"\007SMX"	/* Safer Mode Extensions */
 				"\010EST"	/* Enhanced SpeedStep */
 				"\011TM2"	/* Thermal Monitor 2 */
-				"\012<b9>"
-				"\013CNTX-ID"	/* L1 context ID available */
+				"\012SSSE3"	/* SSSE3 */
+				"\013CNXT-ID"	/* L1 context ID available */
 				"\014<b11>"
 				"\015<b12>"
 				"\016CX16"	/* CMPXCHG16B Instruction */
-				"\017XTPR"	/* Send Task Priority Messages*/
-				"\020<b15>"
+				"\017xTPR"	/* Send Task Priority Messages*/
+				"\020PDCM"	/* Perf/Debug Capability MSR */
 				"\021<b16>"
 				"\022<b17>"
-				"\023<b18>"
+				"\023DCA"	/* Direct Cache Access */
 				"\024<b19>"
 				"\025<b20>"
 				"\026<b21>"
@@ -307,7 +307,7 @@
 				"\006<b5>"
 				"\007<b6>"
 				"\010<b7>"
-				"\011<b8>"
+				"\011Prefetch"	/* 3DNow! Prefetch/PrefetchW */
 				"\012<b9>"
 				"\013<b10>"
 				"\014<b11>"
@@ -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_gidl/amd64/amd64/io_apic.c#2 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__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_gidl/amd64/amd64/local_apic.c#2 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__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 <ddb/ddb.h>
 #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_gidl/amd64/amd64/mp_machdep.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__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_gidl/amd64/amd64/mptable.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__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 <sys/param.h>
 #include <sys/systm.h>
@@ -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_gidl/amd64/amd64/nexus.c#3 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__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) <<<



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