From owner-p4-projects@FreeBSD.ORG Wed Dec 26 15:14:48 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6F59216A468; Wed, 26 Dec 2007 15:14:48 +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 144FC16A41A for ; Wed, 26 Dec 2007 15:14:48 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0F83313C4CC for ; Wed, 26 Dec 2007 15:14:48 +0000 (UTC) (envelope-from rpaulo@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 lBQFEliM094031 for ; Wed, 26 Dec 2007 15:14:47 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id lBQFEbP1093912 for perforce@freebsd.org; Wed, 26 Dec 2007 15:14:37 GMT (envelope-from rpaulo@FreeBSD.org) Date: Wed, 26 Dec 2007 15:14:37 GMT Message-Id: <200712261514.lBQFEbP1093912@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 131704 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: Wed, 26 Dec 2007 15:14:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=131704 Change 131704 by rpaulo@rpaulo_zoo on 2007/12/26 15:14:13 IFC Affected files ... .. //depot/projects/tcpecn/amd64/amd64/db_trace.c#2 integrate .. //depot/projects/tcpecn/amd64/amd64/exception.S#2 integrate .. //depot/projects/tcpecn/amd64/amd64/identcpu.c#2 integrate .. //depot/projects/tcpecn/amd64/amd64/machdep.c#2 integrate .. //depot/projects/tcpecn/amd64/amd64/mp_watchdog.c#2 integrate .. //depot/projects/tcpecn/amd64/amd64/pmap.c#3 integrate .. //depot/projects/tcpecn/amd64/amd64/stack_machdep.c#1 branch .. //depot/projects/tcpecn/amd64/amd64/trap.c#2 integrate .. //depot/projects/tcpecn/amd64/conf/GENERIC#3 integrate .. //depot/projects/tcpecn/amd64/conf/NOTES#2 integrate .. //depot/projects/tcpecn/amd64/include/pmc_mdep.h#2 integrate .. //depot/projects/tcpecn/amd64/include/specialreg.h#2 integrate .. //depot/projects/tcpecn/amd64/include/stack.h#1 branch .. //depot/projects/tcpecn/arm/arm/db_trace.c#2 integrate .. //depot/projects/tcpecn/arm/arm/nexus_io.c#2 delete .. //depot/projects/tcpecn/arm/arm/nexus_io_asm.S#2 delete .. //depot/projects/tcpecn/arm/arm/pmap.c#2 integrate .. //depot/projects/tcpecn/arm/arm/stack_machdep.c#1 branch .. //depot/projects/tcpecn/arm/at91/at91.c#2 integrate .. //depot/projects/tcpecn/arm/at91/if_ate.c#2 integrate .. //depot/projects/tcpecn/arm/at91/kb920x_machdep.c#2 integrate .. //depot/projects/tcpecn/arm/at91/uart_dev_at91usart.c#2 integrate .. //depot/projects/tcpecn/arm/conf/AVILA#2 integrate .. //depot/projects/tcpecn/arm/conf/BWCT#2 integrate .. //depot/projects/tcpecn/arm/conf/CRB#2 integrate .. //depot/projects/tcpecn/arm/conf/EP80219#2 integrate .. //depot/projects/tcpecn/arm/conf/HL200#2 integrate .. //depot/projects/tcpecn/arm/conf/IQ31244#2 integrate .. //depot/projects/tcpecn/arm/conf/KB920X#2 integrate .. //depot/projects/tcpecn/arm/conf/SIMICS#2 integrate .. //depot/projects/tcpecn/arm/conf/SKYEYE#2 integrate .. //depot/projects/tcpecn/arm/include/asmacros.h#2 integrate .. //depot/projects/tcpecn/arm/include/atomic.h#3 integrate .. //depot/projects/tcpecn/arm/include/pmc_mdep.h#2 integrate .. //depot/projects/tcpecn/arm/include/stack.h#1 branch .. //depot/projects/tcpecn/arm/sa11x0/files.sa11x0#2 integrate .. //depot/projects/tcpecn/boot/arm/at91/boot2/bwct_board.c#2 integrate .. //depot/projects/tcpecn/boot/arm/at91/libat91/spi_flash.c#2 integrate .. //depot/projects/tcpecn/boot/forth/support.4th#2 integrate .. //depot/projects/tcpecn/boot/powerpc/Makefile#2 integrate .. //depot/projects/tcpecn/boot/powerpc/loader/Makefile#2 delete .. //depot/projects/tcpecn/boot/powerpc/loader/conf.c#2 delete .. //depot/projects/tcpecn/boot/powerpc/loader/help.ofw#2 delete .. //depot/projects/tcpecn/boot/powerpc/loader/ldscript.powerpc#2 delete .. //depot/projects/tcpecn/boot/powerpc/loader/metadata.c#2 delete .. //depot/projects/tcpecn/boot/powerpc/loader/start.c#2 delete .. //depot/projects/tcpecn/boot/powerpc/loader/version#2 delete .. //depot/projects/tcpecn/boot/powerpc/ofw/Makefile#1 branch .. //depot/projects/tcpecn/boot/powerpc/ofw/conf.c#1 branch .. //depot/projects/tcpecn/boot/powerpc/ofw/help.ofw#1 branch .. //depot/projects/tcpecn/boot/powerpc/ofw/ldscript.powerpc#1 branch .. //depot/projects/tcpecn/boot/powerpc/ofw/metadata.c#1 branch .. //depot/projects/tcpecn/boot/powerpc/ofw/start.c#1 branch .. //depot/projects/tcpecn/boot/powerpc/ofw/version#1 branch .. //depot/projects/tcpecn/cam/cam_xpt.c#2 integrate .. //depot/projects/tcpecn/cam/scsi/scsi_da.c#2 integrate .. //depot/projects/tcpecn/cam/scsi/scsi_low.h#2 integrate .. //depot/projects/tcpecn/compat/freebsd32/freebsd32.h#2 integrate .. //depot/projects/tcpecn/compat/freebsd32/freebsd32_ipc.h#1 branch .. //depot/projects/tcpecn/compat/freebsd32/freebsd32_misc.c#2 integrate .. //depot/projects/tcpecn/compat/freebsd32/freebsd32_proto.h#2 integrate .. //depot/projects/tcpecn/compat/freebsd32/freebsd32_syscall.h#2 integrate .. //depot/projects/tcpecn/compat/freebsd32/freebsd32_syscalls.c#2 integrate .. //depot/projects/tcpecn/compat/freebsd32/freebsd32_sysent.c#2 integrate .. //depot/projects/tcpecn/compat/freebsd32/syscalls.master#2 integrate .. //depot/projects/tcpecn/compat/ndis/ndis_var.h#2 integrate .. //depot/projects/tcpecn/compat/ndis/ntoskrnl_var.h#2 integrate .. //depot/projects/tcpecn/compat/ndis/subr_ndis.c#2 integrate .. //depot/projects/tcpecn/compat/ndis/subr_ntoskrnl.c#2 integrate .. //depot/projects/tcpecn/conf/Makefile.amd64#2 integrate .. //depot/projects/tcpecn/conf/NOTES#3 integrate .. //depot/projects/tcpecn/conf/files#2 integrate .. //depot/projects/tcpecn/conf/files.amd64#2 integrate .. //depot/projects/tcpecn/conf/files.arm#2 integrate .. //depot/projects/tcpecn/conf/files.i386#2 integrate .. //depot/projects/tcpecn/conf/files.ia64#2 integrate .. //depot/projects/tcpecn/conf/files.pc98#2 integrate .. //depot/projects/tcpecn/conf/files.powerpc#2 integrate .. //depot/projects/tcpecn/conf/files.sparc64#2 integrate .. //depot/projects/tcpecn/conf/files.sun4v#2 integrate .. //depot/projects/tcpecn/conf/options#3 integrate .. //depot/projects/tcpecn/conf/options.powerpc#2 integrate .. //depot/projects/tcpecn/ddb/db_capture.c#1 branch .. //depot/projects/tcpecn/ddb/db_command.c#2 integrate .. //depot/projects/tcpecn/ddb/db_command.h#2 integrate .. //depot/projects/tcpecn/ddb/db_input.c#2 integrate .. //depot/projects/tcpecn/ddb/db_lex.c#2 integrate .. //depot/projects/tcpecn/ddb/db_lex.h#2 integrate .. //depot/projects/tcpecn/ddb/db_main.c#2 integrate .. //depot/projects/tcpecn/ddb/db_output.c#2 integrate .. //depot/projects/tcpecn/ddb/db_script.c#1 branch .. //depot/projects/tcpecn/ddb/db_textdump.c#1 branch .. //depot/projects/tcpecn/ddb/ddb.h#2 integrate .. //depot/projects/tcpecn/dev/aac/aac.c#2 integrate .. //depot/projects/tcpecn/dev/aac/aac_cam.c#2 integrate .. //depot/projects/tcpecn/dev/aac/aac_pci.c#2 integrate .. //depot/projects/tcpecn/dev/aac/aacreg.h#2 integrate .. //depot/projects/tcpecn/dev/aac/aacvar.h#2 integrate .. //depot/projects/tcpecn/dev/acpica/Osd/OsdDebug.c#2 integrate .. //depot/projects/tcpecn/dev/acpica/acpi_thermal.c#2 integrate .. //depot/projects/tcpecn/dev/amr/amr.c#3 integrate .. //depot/projects/tcpecn/dev/amr/amr_cam.c#3 integrate .. //depot/projects/tcpecn/dev/amr/amr_pci.c#2 integrate .. //depot/projects/tcpecn/dev/amr/amrvar.h#2 integrate .. //depot/projects/tcpecn/dev/arcmsr/arcmsr.c#2 integrate .. //depot/projects/tcpecn/dev/arcmsr/arcmsr.h#2 integrate .. //depot/projects/tcpecn/dev/ata/ata-all.h#2 integrate .. //depot/projects/tcpecn/dev/ata/ata-chipset.c#3 integrate .. //depot/projects/tcpecn/dev/ata/ata-dma.c#2 integrate .. //depot/projects/tcpecn/dev/ata/ata-lowlevel.c#2 integrate .. //depot/projects/tcpecn/dev/bge/if_bge.c#2 integrate .. //depot/projects/tcpecn/dev/bge/if_bgereg.h#2 integrate .. //depot/projects/tcpecn/dev/cxgb/common/cxgb_t3_cpl.h#2 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_adapter.h#2 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_config.h#2 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_include.h#2 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_l2t.c#2 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_l2t.h#2 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_main.c#2 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_offload.c#2 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_offload.h#2 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_osdep.h#2 integrate .. //depot/projects/tcpecn/dev/cxgb/cxgb_sge.c#2 integrate .. //depot/projects/tcpecn/dev/cxgb/sys/cxgb_support.c#1 branch .. //depot/projects/tcpecn/dev/cxgb/sys/mbufq.h#2 integrate .. //depot/projects/tcpecn/dev/cxgb/sys/mvec.h#2 integrate .. //depot/projects/tcpecn/dev/cxgb/sys/uipc_mvec.c#2 integrate .. //depot/projects/tcpecn/dev/cxgb/t3cdev.h#1 branch .. //depot/projects/tcpecn/dev/cxgb/ulp/toecore/cxgb_toedev.h#1 branch .. //depot/projects/tcpecn/dev/cxgb/ulp/toecore/toedev.c#1 branch .. //depot/projects/tcpecn/dev/cxgb/ulp/toecore/toedev.h#2 delete .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_cpl_io.c#1 branch .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#1 branch .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_defs.h#1 branch .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_listen.c#1 branch .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#1 branch .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_tcp.h#1 branch .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_tcp_subr.c#1 branch .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_tcp_usrreq.c#1 branch .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_toepcb.h#1 branch .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_tom.c#1 branch .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_tom.h#1 branch .. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_tom_sysctl.c#1 branch .. //depot/projects/tcpecn/dev/dcons/dcons_os.c#2 integrate .. //depot/projects/tcpecn/dev/hptrr/amd64-elf.hptrr_lib.o.uu#1 branch .. //depot/projects/tcpecn/dev/hptrr/array.h#1 branch .. //depot/projects/tcpecn/dev/hptrr/him.h#1 branch .. //depot/projects/tcpecn/dev/hptrr/himfuncs.h#1 branch .. //depot/projects/tcpecn/dev/hptrr/hptintf.h#1 branch .. //depot/projects/tcpecn/dev/hptrr/hptrr_config.c#1 branch .. //depot/projects/tcpecn/dev/hptrr/hptrr_config.h#1 branch .. //depot/projects/tcpecn/dev/hptrr/hptrr_os_bsd.c#1 branch .. //depot/projects/tcpecn/dev/hptrr/hptrr_osm_bsd.c#1 branch .. //depot/projects/tcpecn/dev/hptrr/i386-elf.hptrr_lib.o.uu#1 branch .. //depot/projects/tcpecn/dev/hptrr/ldm.h#1 branch .. //depot/projects/tcpecn/dev/hptrr/list.h#1 branch .. //depot/projects/tcpecn/dev/hptrr/os_bsd.h#1 branch .. //depot/projects/tcpecn/dev/hptrr/osm.h#1 branch .. //depot/projects/tcpecn/dev/hwpmc/hwpmc_amd.c#2 integrate .. //depot/projects/tcpecn/dev/hwpmc/hwpmc_arm.c#2 integrate .. //depot/projects/tcpecn/dev/hwpmc/hwpmc_ia64.c#2 integrate .. //depot/projects/tcpecn/dev/hwpmc/hwpmc_logging.c#2 integrate .. //depot/projects/tcpecn/dev/hwpmc/hwpmc_mod.c#2 integrate .. //depot/projects/tcpecn/dev/hwpmc/hwpmc_piv.c#2 integrate .. //depot/projects/tcpecn/dev/hwpmc/hwpmc_powerpc.c#2 integrate .. //depot/projects/tcpecn/dev/hwpmc/hwpmc_ppro.c#2 integrate .. //depot/projects/tcpecn/dev/hwpmc/hwpmc_sparc64.c#2 integrate .. //depot/projects/tcpecn/dev/hwpmc/hwpmc_x86.c#3 integrate .. //depot/projects/tcpecn/dev/if_ndis/if_ndis.c#2 integrate .. //depot/projects/tcpecn/dev/if_ndis/if_ndis_pci.c#2 integrate .. //depot/projects/tcpecn/dev/if_ndis/if_ndisvar.h#2 integrate .. //depot/projects/tcpecn/dev/ipw/if_ipw.c#2 integrate .. //depot/projects/tcpecn/dev/iwi/if_iwi.c#2 integrate .. //depot/projects/tcpecn/dev/mfi/mfi.c#2 integrate .. //depot/projects/tcpecn/dev/mfi/mfi_pci.c#2 integrate .. //depot/projects/tcpecn/dev/msk/if_msk.c#2 integrate .. //depot/projects/tcpecn/dev/msk/if_mskreg.h#2 integrate .. //depot/projects/tcpecn/dev/ofw/ofw_console.c#2 integrate .. //depot/projects/tcpecn/dev/ofw/openpromio.c#2 integrate .. //depot/projects/tcpecn/dev/powermac_nvram/powermac_nvram.c#2 integrate .. //depot/projects/tcpecn/dev/re/if_re.c#2 integrate .. //depot/projects/tcpecn/dev/si/si_pci.c#2 integrate .. //depot/projects/tcpecn/dev/sio/sio.c#2 integrate .. //depot/projects/tcpecn/dev/snp/snp.c#2 integrate .. //depot/projects/tcpecn/dev/sound/pci/hda/hdac.c#3 integrate .. //depot/projects/tcpecn/dev/sound/pci/ich.c#2 integrate .. //depot/projects/tcpecn/dev/sound/pci/maestro.c#2 integrate .. //depot/projects/tcpecn/dev/sound/pcm/channel.c#2 integrate .. //depot/projects/tcpecn/dev/syscons/syscons.c#2 integrate .. //depot/projects/tcpecn/dev/uart/uart_core.c#2 integrate .. //depot/projects/tcpecn/dev/uart/uart_cpu_powerpc.c#2 integrate .. //depot/projects/tcpecn/dev/usb/umass.c#2 integrate .. //depot/projects/tcpecn/dev/usb/ums.c#2 integrate .. //depot/projects/tcpecn/dev/usb/uplcom.c#2 integrate .. //depot/projects/tcpecn/dev/usb/usbdevs#3 integrate .. //depot/projects/tcpecn/dev/utopia/utopia.c#2 integrate .. //depot/projects/tcpecn/fs/tmpfs/tmpfs_subr.c#2 integrate .. //depot/projects/tcpecn/fs/tmpfs/tmpfs_vfsops.c#2 integrate .. //depot/projects/tcpecn/fs/tmpfs/tmpfs_vnops.c#2 integrate .. //depot/projects/tcpecn/fs/udf/udf_vfsops.c#2 integrate .. //depot/projects/tcpecn/fs/unionfs/union_subr.c#2 integrate .. //depot/projects/tcpecn/geom/geom_bsd.c#2 integrate .. //depot/projects/tcpecn/geom/geom_bsd_enc.c#2 integrate .. //depot/projects/tcpecn/geom/geom_dev.c#2 integrate .. //depot/projects/tcpecn/geom/geom_io.c#2 integrate .. //depot/projects/tcpecn/geom/part/g_part.c#2 integrate .. //depot/projects/tcpecn/geom/part/g_part.h#2 integrate .. //depot/projects/tcpecn/geom/part/g_part_bsd.c#1 branch .. //depot/projects/tcpecn/i386/bios/apm.c#2 integrate .. //depot/projects/tcpecn/i386/conf/GENERIC#3 integrate .. //depot/projects/tcpecn/i386/conf/GENERIC.hints#2 integrate .. //depot/projects/tcpecn/i386/conf/NOTES#2 integrate .. //depot/projects/tcpecn/i386/conf/PAE#2 integrate .. //depot/projects/tcpecn/i386/i386/db_trace.c#2 integrate .. //depot/projects/tcpecn/i386/i386/exception.s#2 integrate .. //depot/projects/tcpecn/i386/i386/machdep.c#2 integrate .. //depot/projects/tcpecn/i386/i386/mp_watchdog.c#2 integrate .. //depot/projects/tcpecn/i386/i386/pmap.c#3 integrate .. //depot/projects/tcpecn/i386/i386/stack_machdep.c#1 branch .. //depot/projects/tcpecn/i386/i386/trap.c#2 integrate .. //depot/projects/tcpecn/i386/include/pmc_mdep.h#2 integrate .. //depot/projects/tcpecn/i386/include/stack.h#1 branch .. //depot/projects/tcpecn/i386/pci/pci_pir.c#2 integrate .. //depot/projects/tcpecn/ia64/conf/DEFAULTS#2 integrate .. //depot/projects/tcpecn/ia64/conf/GENERIC#2 integrate .. //depot/projects/tcpecn/ia64/ia64/db_machdep.c#2 integrate .. //depot/projects/tcpecn/ia64/ia64/machdep.c#2 integrate .. //depot/projects/tcpecn/ia64/ia64/stack_machdep.c#1 branch .. //depot/projects/tcpecn/ia64/include/pmc_mdep.h#2 integrate .. //depot/projects/tcpecn/kern/Makefile#2 integrate .. //depot/projects/tcpecn/kern/imgact_elf.c#2 integrate .. //depot/projects/tcpecn/kern/init_main.c#2 integrate .. //depot/projects/tcpecn/kern/kern_clock.c#3 integrate .. //depot/projects/tcpecn/kern/kern_conf.c#2 integrate .. //depot/projects/tcpecn/kern/kern_descrip.c#2 integrate .. //depot/projects/tcpecn/kern/kern_event.c#2 integrate .. //depot/projects/tcpecn/kern/kern_exec.c#2 integrate .. //depot/projects/tcpecn/kern/kern_linker.c#2 integrate .. //depot/projects/tcpecn/kern/kern_lock.c#2 integrate .. //depot/projects/tcpecn/kern/kern_mbuf.c#2 integrate .. //depot/projects/tcpecn/kern/kern_mib.c#2 integrate .. //depot/projects/tcpecn/kern/kern_module.c#2 integrate .. //depot/projects/tcpecn/kern/kern_mutex.c#3 integrate .. //depot/projects/tcpecn/kern/kern_pmc.c#2 integrate .. //depot/projects/tcpecn/kern/kern_proc.c#2 integrate .. //depot/projects/tcpecn/kern/kern_resource.c#2 integrate .. //depot/projects/tcpecn/kern/kern_rwlock.c#3 integrate .. //depot/projects/tcpecn/kern/kern_shutdown.c#2 integrate .. //depot/projects/tcpecn/kern/kern_sig.c#2 integrate .. //depot/projects/tcpecn/kern/kern_sx.c#2 integrate .. //depot/projects/tcpecn/kern/kern_thread.c#2 integrate .. //depot/projects/tcpecn/kern/kern_umtx.c#2 integrate .. //depot/projects/tcpecn/kern/sched_4bsd.c#2 integrate .. //depot/projects/tcpecn/kern/sched_ule.c#2 integrate .. //depot/projects/tcpecn/kern/subr_bus.c#3 integrate .. //depot/projects/tcpecn/kern/subr_kdb.c#2 integrate .. //depot/projects/tcpecn/kern/subr_lock.c#2 integrate .. //depot/projects/tcpecn/kern/subr_stack.c#2 integrate .. //depot/projects/tcpecn/kern/subr_trap.c#2 integrate .. //depot/projects/tcpecn/kern/subr_witness.c#2 integrate .. //depot/projects/tcpecn/kern/sys_generic.c#2 integrate .. //depot/projects/tcpecn/kern/sys_pipe.c#2 integrate .. //depot/projects/tcpecn/kern/tty_cons.c#2 integrate .. //depot/projects/tcpecn/kern/uipc_sockbuf.c#2 integrate .. //depot/projects/tcpecn/kern/vfs_bio.c#2 integrate .. //depot/projects/tcpecn/kern/vfs_mount.c#2 integrate .. //depot/projects/tcpecn/kern/vfs_subr.c#2 integrate .. //depot/projects/tcpecn/modules/Makefile#2 integrate .. //depot/projects/tcpecn/modules/amr/Makefile#2 integrate .. //depot/projects/tcpecn/modules/cxgb/Makefile#2 integrate .. //depot/projects/tcpecn/modules/cxgb/cxgb/Makefile#1 branch .. //depot/projects/tcpecn/modules/cxgb/toecore/Makefile#1 branch .. //depot/projects/tcpecn/modules/cxgb/tom/Makefile#1 branch .. //depot/projects/tcpecn/modules/hptrr/Makefile#1 branch .. //depot/projects/tcpecn/net/bpf.c#2 integrate .. //depot/projects/tcpecn/net/bpf.h#2 integrate .. //depot/projects/tcpecn/net/bpf_filter.c#2 integrate .. //depot/projects/tcpecn/net/bridgestp.c#2 integrate .. //depot/projects/tcpecn/net/bridgestp.h#2 integrate .. //depot/projects/tcpecn/net/if.h#2 integrate .. //depot/projects/tcpecn/net/if_bridge.c#2 integrate .. //depot/projects/tcpecn/net/if_enc.c#3 integrate .. //depot/projects/tcpecn/net/if_lagg.c#3 integrate .. //depot/projects/tcpecn/net/if_var.h#2 integrate .. //depot/projects/tcpecn/net/route.c#2 integrate .. //depot/projects/tcpecn/net/route.h#2 integrate .. //depot/projects/tcpecn/net80211/ieee80211.c#2 integrate .. //depot/projects/tcpecn/net80211/ieee80211_output.c#2 integrate .. //depot/projects/tcpecn/net80211/ieee80211_radiotap.h#2 integrate .. //depot/projects/tcpecn/netgraph/ng_base.c#2 integrate .. //depot/projects/tcpecn/netgraph/ng_car.c#2 integrate .. //depot/projects/tcpecn/netgraph/ng_car.h#2 integrate .. //depot/projects/tcpecn/netgraph/ng_l2tp.c#2 integrate .. //depot/projects/tcpecn/netinet/if_ether.c#2 integrate .. //depot/projects/tcpecn/netinet/if_ether.h#2 integrate .. //depot/projects/tcpecn/netinet/in_pcb.c#2 integrate .. //depot/projects/tcpecn/netinet/in_pcb.h#2 integrate .. //depot/projects/tcpecn/netinet/ip_dummynet.c#2 integrate .. //depot/projects/tcpecn/netinet/ip_fw2.c#2 integrate .. //depot/projects/tcpecn/netinet/ip_input.c#2 integrate .. //depot/projects/tcpecn/netinet/libalias/alias_util.c#2 integrate .. //depot/projects/tcpecn/netinet/sctp.h#2 integrate .. //depot/projects/tcpecn/netinet/sctp_bsd_addr.c#2 integrate .. //depot/projects/tcpecn/netinet/sctp_output.c#2 integrate .. //depot/projects/tcpecn/netinet/sctp_structs.h#2 integrate .. //depot/projects/tcpecn/netinet/sctp_usrreq.c#2 integrate .. //depot/projects/tcpecn/netinet/sctputil.c#2 integrate .. //depot/projects/tcpecn/netinet/tcp.h#2 integrate .. //depot/projects/tcpecn/netinet/tcp_offload.c#1 branch .. //depot/projects/tcpecn/netinet/tcp_offload.h#1 branch .. //depot/projects/tcpecn/netinet/tcp_subr.c#3 integrate .. //depot/projects/tcpecn/netinet/tcp_syncache.c#4 integrate .. //depot/projects/tcpecn/netinet/tcp_syncache.h#2 integrate .. //depot/projects/tcpecn/netinet/tcp_usrreq.c#3 integrate .. //depot/projects/tcpecn/netinet/tcp_var.h#5 integrate .. //depot/projects/tcpecn/netinet/toedev.h#1 branch .. //depot/projects/tcpecn/netinet6/dest6.c#2 integrate .. //depot/projects/tcpecn/netinet6/frag6.c#2 integrate .. //depot/projects/tcpecn/netinet6/icmp6.c#2 integrate .. //depot/projects/tcpecn/netinet6/in6.c#2 integrate .. //depot/projects/tcpecn/netinet6/in6.h#2 integrate .. //depot/projects/tcpecn/netinet6/in6_cksum.c#2 integrate .. //depot/projects/tcpecn/netinet6/in6_gif.c#2 integrate .. //depot/projects/tcpecn/netinet6/in6_gif.h#2 integrate .. //depot/projects/tcpecn/netinet6/in6_ifattach.c#2 integrate .. //depot/projects/tcpecn/netinet6/in6_ifattach.h#2 integrate .. //depot/projects/tcpecn/netinet6/in6_pcb.c#2 integrate .. //depot/projects/tcpecn/netinet6/in6_pcb.h#2 integrate .. //depot/projects/tcpecn/netinet6/in6_proto.c#2 integrate .. //depot/projects/tcpecn/netinet6/in6_rmx.c#2 integrate .. //depot/projects/tcpecn/netinet6/in6_src.c#2 integrate .. //depot/projects/tcpecn/netinet6/in6_var.h#2 integrate .. //depot/projects/tcpecn/netinet6/ip6_ecn.h#2 integrate .. //depot/projects/tcpecn/netinet6/ip6_forward.c#2 integrate .. //depot/projects/tcpecn/netinet6/ip6_id.c#2 integrate .. //depot/projects/tcpecn/netinet6/ip6_input.c#2 integrate .. //depot/projects/tcpecn/netinet6/ip6_ipsec.c#2 integrate .. //depot/projects/tcpecn/netinet6/ip6_ipsec.h#2 integrate .. //depot/projects/tcpecn/netinet6/ip6_mroute.c#2 integrate .. //depot/projects/tcpecn/netinet6/ip6_mroute.h#2 integrate .. //depot/projects/tcpecn/netinet6/ip6_output.c#2 integrate .. //depot/projects/tcpecn/netinet6/ip6_var.h#2 integrate .. //depot/projects/tcpecn/netinet6/ip6protosw.h#2 integrate .. //depot/projects/tcpecn/netinet6/mld6.c#2 integrate .. //depot/projects/tcpecn/netinet6/mld6_var.h#2 integrate .. //depot/projects/tcpecn/netinet6/nd6.c#2 integrate .. //depot/projects/tcpecn/netinet6/nd6.h#2 integrate .. //depot/projects/tcpecn/netinet6/nd6_nbr.c#2 integrate .. //depot/projects/tcpecn/netinet6/nd6_rtr.c#2 integrate .. //depot/projects/tcpecn/netinet6/pim6.h#2 integrate .. //depot/projects/tcpecn/netinet6/pim6_var.h#2 integrate .. //depot/projects/tcpecn/netinet6/raw_ip6.c#2 integrate .. //depot/projects/tcpecn/netinet6/raw_ip6.h#2 integrate .. //depot/projects/tcpecn/netinet6/route6.c#2 integrate .. //depot/projects/tcpecn/netinet6/scope6.c#2 integrate .. //depot/projects/tcpecn/netinet6/scope6_var.h#2 integrate .. //depot/projects/tcpecn/netinet6/sctp6_usrreq.c#2 integrate .. //depot/projects/tcpecn/netinet6/sctp6_var.h#2 integrate .. //depot/projects/tcpecn/netinet6/tcp6_var.h#2 integrate .. //depot/projects/tcpecn/netinet6/udp6_usrreq.c#2 integrate .. //depot/projects/tcpecn/netinet6/udp6_var.h#2 integrate .. //depot/projects/tcpecn/netncp/ncp_rq.c#2 integrate .. //depot/projects/tcpecn/netncp/ncp_sock.c#2 integrate .. //depot/projects/tcpecn/netncp/ncp_sock.h#2 integrate .. //depot/projects/tcpecn/netsmb/smb_trantcp.c#2 integrate .. //depot/projects/tcpecn/pc98/cbus/sio.c#2 integrate .. //depot/projects/tcpecn/pc98/conf/GENERIC#2 integrate .. //depot/projects/tcpecn/pc98/include/stack.h#1 branch .. //depot/projects/tcpecn/pc98/pc98/machdep.c#2 integrate .. //depot/projects/tcpecn/pci/if_rlreg.h#3 integrate .. //depot/projects/tcpecn/pci/xrpu.c#2 delete .. //depot/projects/tcpecn/powerpc/aim/clock.c#1 branch .. //depot/projects/tcpecn/powerpc/aim/copyinout.c#1 branch .. //depot/projects/tcpecn/powerpc/aim/interrupt.c#1 branch .. //depot/projects/tcpecn/powerpc/aim/locore.S#1 branch .. //depot/projects/tcpecn/powerpc/aim/machdep.c#1 branch .. //depot/projects/tcpecn/powerpc/aim/mmu_oea.c#1 branch .. //depot/projects/tcpecn/powerpc/aim/nexus.c#1 branch .. //depot/projects/tcpecn/powerpc/aim/ofw_machdep.c#1 branch .. //depot/projects/tcpecn/powerpc/aim/ofwmagic.S#1 branch .. //depot/projects/tcpecn/powerpc/aim/swtch.S#1 branch .. //depot/projects/tcpecn/powerpc/aim/trap.c#1 branch .. //depot/projects/tcpecn/powerpc/aim/trap_subr.S#1 branch .. //depot/projects/tcpecn/powerpc/aim/uio_machdep.c#1 branch .. //depot/projects/tcpecn/powerpc/aim/uma_machdep.c#1 branch .. //depot/projects/tcpecn/powerpc/aim/vm_machdep.c#1 branch .. //depot/projects/tcpecn/powerpc/conf/GENERIC#2 integrate .. //depot/projects/tcpecn/powerpc/conf/NOTES#2 integrate .. //depot/projects/tcpecn/powerpc/include/_bus.h#2 integrate .. //depot/projects/tcpecn/powerpc/include/bus.h#2 integrate .. //depot/projects/tcpecn/powerpc/include/fpu.h#2 integrate .. //depot/projects/tcpecn/powerpc/include/pmc_mdep.h#2 integrate .. //depot/projects/tcpecn/powerpc/include/stack.h#1 branch .. //depot/projects/tcpecn/powerpc/powermac/grackle.c#2 integrate .. //depot/projects/tcpecn/powerpc/powermac/macio.c#2 integrate .. //depot/projects/tcpecn/powerpc/powermac/pswitch.c#2 integrate .. //depot/projects/tcpecn/powerpc/powermac/uninorth.c#2 integrate .. //depot/projects/tcpecn/powerpc/powerpc/bus_machdep.c#1 branch .. //depot/projects/tcpecn/powerpc/powerpc/clock.c#2 delete .. //depot/projects/tcpecn/powerpc/powerpc/copyinout.c#2 delete .. //depot/projects/tcpecn/powerpc/powerpc/db_memrw.c#2 delete .. //depot/projects/tcpecn/powerpc/powerpc/db_trace.c#2 integrate .. //depot/projects/tcpecn/powerpc/powerpc/interrupt.c#2 delete .. //depot/projects/tcpecn/powerpc/powerpc/locore.S#2 delete .. //depot/projects/tcpecn/powerpc/powerpc/machdep.c#2 delete .. //depot/projects/tcpecn/powerpc/powerpc/mmu_oea.c#2 delete .. //depot/projects/tcpecn/powerpc/powerpc/nexus.c#2 delete .. //depot/projects/tcpecn/powerpc/powerpc/ofw_machdep.c#2 delete .. //depot/projects/tcpecn/powerpc/powerpc/ofwmagic.S#2 delete .. //depot/projects/tcpecn/powerpc/powerpc/stack_machdep.c#1 branch .. //depot/projects/tcpecn/powerpc/powerpc/swtch.S#2 delete .. //depot/projects/tcpecn/powerpc/powerpc/trap.c#2 delete .. //depot/projects/tcpecn/powerpc/powerpc/trap_subr.S#2 delete .. //depot/projects/tcpecn/powerpc/powerpc/uio_machdep.c#2 delete .. //depot/projects/tcpecn/powerpc/powerpc/uma_machdep.c#2 delete .. //depot/projects/tcpecn/powerpc/powerpc/vm_machdep.c#2 delete .. //depot/projects/tcpecn/powerpc/psim/iobus.c#2 integrate .. //depot/projects/tcpecn/security/audit/audit.c#2 integrate .. //depot/projects/tcpecn/security/audit/audit_pipe.c#2 integrate .. //depot/projects/tcpecn/security/mac/mac_posix_sem.c#2 integrate .. //depot/projects/tcpecn/security/mac_test/mac_test.c#2 integrate .. //depot/projects/tcpecn/sparc64/conf/GENERIC#3 integrate .. //depot/projects/tcpecn/sparc64/include/pmc_mdep.h#2 integrate .. //depot/projects/tcpecn/sparc64/include/stack.h#1 branch .. //depot/projects/tcpecn/sparc64/pci/psycho.c#3 integrate .. //depot/projects/tcpecn/sparc64/sparc64/db_trace.c#2 integrate .. //depot/projects/tcpecn/sparc64/sparc64/machdep.c#2 integrate .. //depot/projects/tcpecn/sparc64/sparc64/stack_machdep.c#1 branch .. //depot/projects/tcpecn/sparc64/sparc64/trap.c#2 integrate .. //depot/projects/tcpecn/sun4v/conf/GENERIC#3 integrate .. //depot/projects/tcpecn/sun4v/include/pmc_mdep.h#2 integrate .. //depot/projects/tcpecn/sun4v/include/stack.h#1 branch .. //depot/projects/tcpecn/sun4v/sun4v/db_trace.c#2 integrate .. //depot/projects/tcpecn/sun4v/sun4v/hvcons.c#2 integrate .. //depot/projects/tcpecn/sun4v/sun4v/machdep.c#2 integrate .. //depot/projects/tcpecn/sun4v/sun4v/stack_machdep.c#1 branch .. //depot/projects/tcpecn/sun4v/sun4v/trap.c#2 integrate .. //depot/projects/tcpecn/sys/_lock.h#2 integrate .. //depot/projects/tcpecn/sys/ata.h#2 integrate .. //depot/projects/tcpecn/sys/cdefs.h#2 integrate .. //depot/projects/tcpecn/sys/disklabel.h#2 integrate .. //depot/projects/tcpecn/sys/elf_common.h#2 integrate .. //depot/projects/tcpecn/sys/kdb.h#2 integrate .. //depot/projects/tcpecn/sys/kernel.h#3 integrate .. //depot/projects/tcpecn/sys/kerneldump.h#2 integrate .. //depot/projects/tcpecn/sys/linker.h#2 integrate .. //depot/projects/tcpecn/sys/lock_profile.h#2 integrate .. //depot/projects/tcpecn/sys/mbuf.h#2 integrate .. //depot/projects/tcpecn/sys/param.h#3 integrate .. //depot/projects/tcpecn/sys/pcpu.h#3 integrate .. //depot/projects/tcpecn/sys/pmc.h#2 integrate .. //depot/projects/tcpecn/sys/pmckern.h#2 integrate .. //depot/projects/tcpecn/sys/pmclog.h#2 integrate .. //depot/projects/tcpecn/sys/priv.h#2 integrate .. //depot/projects/tcpecn/sys/proc.h#2 integrate .. //depot/projects/tcpecn/sys/selinfo.h#2 integrate .. //depot/projects/tcpecn/sys/socket.h#2 integrate .. //depot/projects/tcpecn/sys/socketvar.h#2 integrate .. //depot/projects/tcpecn/sys/stack.h#2 integrate .. //depot/projects/tcpecn/sys/sx.h#2 integrate .. //depot/projects/tcpecn/sys/sysctl.h#3 integrate .. //depot/projects/tcpecn/sys/systm.h#2 integrate .. //depot/projects/tcpecn/sys/tty.h#2 integrate .. //depot/projects/tcpecn/sys/ucred.h#2 integrate .. //depot/projects/tcpecn/sys/user.h#2 integrate .. //depot/projects/tcpecn/sys/xrpuio.h#2 delete .. //depot/projects/tcpecn/vm/redzone.c#2 integrate .. //depot/projects/tcpecn/vm/vm_page.c#2 integrate .. //depot/projects/tcpecn/vm/vm_phys.c#2 integrate .. //depot/projects/tcpecn/vm/vm_phys.h#2 integrate Differences ... ==== //depot/projects/tcpecn/amd64/amd64/db_trace.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.81 2007/11/15 22:00:56 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.82 2007/12/02 20:40:30 rwatson Exp $"); #include #include @@ -38,6 +38,7 @@ #include #include #include +#include #include #include @@ -177,18 +178,6 @@ return (1); } -/* - * Stack trace. - */ -#define INKERNEL(va) (((va) >= DMAP_MIN_ADDRESS && (va) < DMAP_MAX_ADDRESS) \ - || ((va) >= KERNBASE && (va) < VM_MAX_KERNEL_ADDRESS)) - -struct amd64_frame { - struct amd64_frame *f_frame; - long f_retaddr; - long f_arg0; -}; - #define NORMAL 0 #define TRAP 1 #define INTERRUPT 2 @@ -505,32 +494,6 @@ ctx->pcb_rip, count)); } -void -stack_save(struct stack *st) -{ - struct amd64_frame *frame; - vm_offset_t callpc; - register_t rbp; - - stack_zero(st); - __asm __volatile("movq %%rbp,%0" : "=r" (rbp)); - frame = (struct amd64_frame *)rbp; - while (1) { - if (!INKERNEL((long)frame)) - break; - callpc = frame->f_retaddr; - if (!INKERNEL(callpc)) - break; - if (stack_put(st, callpc) == -1) - break; - if (frame->f_frame <= frame || - (vm_offset_t)frame->f_frame >= - (vm_offset_t)rbp + KSTACK_PAGES * PAGE_SIZE) - break; - frame = frame->f_frame; - } -} - int amd64_set_watch(watchnum, watchaddr, size, access, d) int watchnum; ==== //depot/projects/tcpecn/amd64/amd64/exception.S#2 (text+ko) ==== @@ -1,8 +1,12 @@ /*- * Copyright (c) 1989, 1990 William F. Jolitz. * Copyright (c) 1990 The Regents of the University of California. + * Copyright (c) 2007 The FreeBSD Foundation * All rights reserved. * + * Portions of this software were developed by A. Joseph Koshy under + * sponsorship from the FreeBSD Foundation and Google, Inc. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -27,11 +31,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.130 2007/11/15 22:00:56 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.131 2007/12/07 08:20:15 jkoshy Exp $ */ #include "opt_atpic.h" #include "opt_compat.h" +#include "opt_hwpmc_hooks.h" #include #include @@ -40,6 +45,9 @@ #include "assym.s" .text +#ifdef HWPMC_HOOKS + ENTRY(start_exceptions) +#endif /*****************************************************************************/ /* Trap handling */ @@ -348,6 +356,9 @@ * execute the NMI handler with interrupts disabled to prevent a * nested interrupt from executing an 'iretq' instruction and * inadvertently taking the processor out of NMI mode. + * + * Third, the NMI handler runs on its own stack (tss_ist1), shared + * with the double fault handler. */ IDTVEC(nmi) @@ -386,6 +397,61 @@ movq %rsp, %rdi call trap MEXITCOUNT +#ifdef HWPMC_HOOKS + /* + * Check if the current trap was from user mode and if so + * whether the current thread needs a user call chain to be + * captured. We are still in NMI mode at this point. + */ + testb $SEL_RPL_MASK,TF_CS(%rsp) + jz nocallchain + movq PCPU(CURTHREAD),%rax /* curthread present? */ + orq %rax,%rax + jz nocallchain + testl $TDP_CALLCHAIN,TD_PFLAGS(%rax) /* flagged for capture? */ + jz nocallchain + /* + * A user callchain is to be captured, so: + * - Move execution to the regular kernel stack, to allow for + * nested NMI interrupts. + * - Take the processor out of "NMI" mode by faking an "iret". + * - Enable interrupts, so that copyin() can work. + */ + movq %rsp,%rsi /* source stack pointer */ + movq $TF_SIZE,%rcx + movq PCPU(RSP0),%rbx + subq %rcx,%rbx + movq %rbx,%rdi /* destination stack pointer */ + + shrq $3,%rcx /* trap frame size in long words */ + cld + rep + movsq /* copy trapframe */ + + movl %ss,%eax + pushq %rax /* tf_ss */ + pushq %rbx /* tf_rsp (on kernel stack) */ + pushfq /* tf_rflags */ + movl %cs,%eax + pushq %rax /* tf_cs */ + pushq $outofnmi /* tf_rip */ + iretq +outofnmi: + /* + * At this point the processor has exited NMI mode and is running + * with interrupts turned off on the normal kernel stack. + * We turn interrupts back on, and take the usual 'doreti' exit + * path. + * + * If a pending NMI gets recognized at or after this point, it + * will cause a kernel callchain to be traced. Since this path + * is only taken for NMI interrupts from user space, our `swapgs' + * state is correct for taking the doreti path. + */ + sti + jmp doreti +nocallchain: +#endif testl %ebx,%ebx jz nmi_restoreregs swapgs @@ -556,3 +622,6 @@ movq $0,TF_ADDR(%rsp) FAKE_MCOUNT(TF_RIP(%rsp)) jmp calltrap +#ifdef HWPMC_HOOKS + ENTRY(end_exceptions) +#endif ==== //depot/projects/tcpecn/amd64/amd64/identcpu.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.154 2007/05/30 14:23:26 des Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.155 2007/12/08 21:13:01 alc Exp $"); #include "opt_cpu.h" @@ -294,7 +294,7 @@ "\030" /* Same */ "\031" /* Same */ "\032FFXSR" /* Fast FXSAVE/FXRSTOR */ - "\033" /* Undefined */ + "\033Page1GB" /* 1-GB large page support */ "\034RDTSCP" /* RDTSCP */ "\035" /* Undefined */ "\036LM" /* 64 bit long mode */ ==== //depot/projects/tcpecn/amd64/amd64/machdep.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.678 2007/11/15 22:00:57 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.680 2007/12/25 17:51:55 rwatson Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -155,6 +155,10 @@ extern vm_offset_t ksym_start, ksym_end; #endif +/* Intel ICH registers */ +#define ICH_PMBASE 0x400 +#define ICH_SMI_EN ICH_PMBASE + 0x30 + int _udatasel, _ucodesel, _ucode32sel; int cold = 1; @@ -192,6 +196,27 @@ cpu_startup(dummy) void *dummy; { + char *sysenv; + + /* + * On MacBooks, we need to disallow the legacy USB circuit to + * generate an SMI# because this can cause several problems, + * namely: incorrect CPU frequency detection and failure to + * start the APs. + * We do this by disabling a bit in the SMI_EN (SMI Control and + * Enable register) of the Intel ICH LPC Interface Bridge. + */ + sysenv = getenv("smbios.system.product"); + if (sysenv != NULL) { + if (strncmp(sysenv, "MacBook", 7) == 0) { + if (bootverbose) + printf("Disabling LEGACY_USB_EN bit on " + "Intel ICH.\n"); + outl(ICH_SMI_EN, inl(ICH_SMI_EN) & ~0x8); + } + freeenv(sysenv); + } + /* * Good {morning,afternoon,evening,night}. */ @@ -1252,7 +1277,8 @@ #ifdef KDB if (boothowto & RB_KDB) - kdb_enter("Boot flags requested debugger"); + kdb_enter(KDB_WHY_BOOTFLAGS, + "Boot flags requested debugger"); #endif identify_cpu(); /* Final stage of CPU initialization */ ==== //depot/projects/tcpecn/amd64/amd64/mp_watchdog.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/mp_watchdog.c,v 1.5 2007/06/04 23:56:33 jeff Exp $ + * $FreeBSD: src/sys/amd64/amd64/mp_watchdog.c,v 1.6 2007/12/25 17:51:55 rwatson Exp $ */ #include "opt_mp_watchdog.h" @@ -203,7 +203,7 @@ if (watchdog_nmi) watchdog_ipi_nmi(); else - kdb_enter("mp_watchdog"); + kdb_enter(KDB_WHY_WATCHDOG, "mp_watchdog"); } } bcopy(old_pcomm, p->p_comm, MAXCOMLEN + 1); ==== //depot/projects/tcpecn/amd64/amd64/pmap.c#3 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.596 2007/11/30 07:14:42 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.599 2007/12/09 21:00:35 alc Exp $"); /* * Manages physical address maps. @@ -154,7 +154,7 @@ #endif #if !defined(PMAP_DIAGNOSTIC) -#define PMAP_INLINE __inline +#define PMAP_INLINE __gnu89_inline #else #define PMAP_INLINE #endif @@ -422,7 +422,8 @@ if (ndmpdp < 4) /* Minimum 4GB of dirmap */ ndmpdp = 4; DMPDPphys = allocpages(firstaddr, NDMPML4E); - DMPDphys = allocpages(firstaddr, ndmpdp); + if ((amd_feature & AMDID_PAGE1GB) == 0) + DMPDphys = allocpages(firstaddr, ndmpdp); dmaplimit = (vm_paddr_t)ndmpdp << PDPSHIFT; /* Fill in the underlying page table pages */ @@ -448,23 +449,33 @@ /* And connect up the PD to the PDP */ for (i = 0; i < NKPDPE; i++) { - ((pdp_entry_t *)KPDPphys)[i + KPDPI] = KPDphys + (i << PAGE_SHIFT); + ((pdp_entry_t *)KPDPphys)[i + KPDPI] = KPDphys + + (i << PAGE_SHIFT); ((pdp_entry_t *)KPDPphys)[i + KPDPI] |= PG_RW | PG_V | PG_U; } - - /* Now set up the direct map space using 2MB pages */ - for (i = 0; i < NPDEPG * ndmpdp; i++) { - ((pd_entry_t *)DMPDphys)[i] = (vm_paddr_t)i << PDRSHIFT; - ((pd_entry_t *)DMPDphys)[i] |= PG_RW | PG_V | PG_PS | PG_G; + /* Now set up the direct map space using either 2MB or 1GB pages */ + if ((amd_feature & AMDID_PAGE1GB) == 0) { + for (i = 0; i < NPDEPG * ndmpdp; i++) { + ((pd_entry_t *)DMPDphys)[i] = (vm_paddr_t)i << PDRSHIFT; + ((pd_entry_t *)DMPDphys)[i] |= PG_RW | PG_V | PG_PS | + PG_G; + } + /* And the direct map space's PDP */ + for (i = 0; i < ndmpdp; i++) { + ((pdp_entry_t *)DMPDPphys)[i] = DMPDphys + + (i << PAGE_SHIFT); + ((pdp_entry_t *)DMPDPphys)[i] |= PG_RW | PG_V | PG_U; + } + } else { + for (i = 0; i < ndmpdp; i++) { + ((pdp_entry_t *)DMPDPphys)[i] = + (vm_paddr_t)i << PDPSHIFT; + ((pdp_entry_t *)DMPDPphys)[i] |= PG_RW | PG_V | PG_PS | + PG_G; + } } - /* And the direct map space's PDP */ - for (i = 0; i < ndmpdp; i++) { - ((pdp_entry_t *)DMPDPphys)[i] = DMPDphys + (i << PAGE_SHIFT); - ((pdp_entry_t *)DMPDPphys)[i] |= PG_RW | PG_V | PG_U; - } - /* And recursively map PML4 to itself in order to get PTmap */ ((pdp_entry_t *)KPML4phys)[PML4PML4I] = KPML4phys; ((pdp_entry_t *)KPML4phys)[PML4PML4I] |= PG_RW | PG_V | PG_U; @@ -1083,7 +1094,7 @@ /*************************************************** * Page table page management routines..... ***************************************************/ -static PMAP_INLINE void +static __inline void pmap_free_zero_pages(vm_page_t free) { vm_page_t m; @@ -1099,7 +1110,7 @@ * This routine unholds page table pages, and if the hold count * drops to zero, then it decrements the wire count. */ -static PMAP_INLINE int +static __inline int pmap_unwire_pte_hold(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_page_t *free) { @@ -1430,9 +1441,9 @@ * This supports switching from a 2MB page to a * normal 4K page. */ - if (pd != 0 && (*pd & (PG_PS | PG_V)) == (PG_PS | PG_V)) { + if (pd != NULL && (*pd & (PG_PS | PG_V)) == (PG_PS | PG_V)) { *pd = 0; - pd = 0; + pd = NULL; pmap->pm_stats.resident_count -= NBPDR / PAGE_SIZE; free = NULL; pmap_unuse_pt(pmap, va, *pmap_pdpe(pmap, va), &free); @@ -1444,7 +1455,7 @@ * If the page table page is mapped, we just increment the * hold count, and activate it. */ - if (pd != 0 && (*pd & PG_V) != 0) { + if (pd != NULL && (*pd & PG_V) != 0) { m = PHYS_TO_VM_PAGE(*pd & PG_FRAME); m->wire_count++; } else { ==== //depot/projects/tcpecn/amd64/amd64/trap.c#2 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.322 2007/11/15 22:00:57 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.324 2007/12/07 08:20:15 jkoshy Exp $"); /* * AMD64 Trap and System call handling @@ -144,6 +144,9 @@ static int panic_on_nmi = 1; SYSCTL_INT(_machdep, OID_AUTO, panic_on_nmi, CTLFLAG_RW, &panic_on_nmi, 0, "Panic on NMI"); +static int prot_fault_translation = 0; +SYSCTL_INT(_machdep, OID_AUTO, prot_fault_translation, CTLFLAG_RW, + &prot_fault_translation, 0, "Select signal to deliver on protection fault"); extern char *syscallnames[]; @@ -192,8 +195,7 @@ * the NMI was handled by it and we can return immediately. */ if (type == T_NMI && pmc_intr && - (*pmc_intr)(PCPU_GET(cpuid), (uintptr_t) frame->tf_rip, - TRAPF_USERMODE(frame))) + (*pmc_intr)(PCPU_GET(cpuid), frame)) goto out; #endif @@ -312,8 +314,32 @@ if (i == SIGSEGV) ucode = SEGV_MAPERR; else { - i = SIGSEGV; /* XXX hack */ - ucode = SEGV_ACCERR; + if (prot_fault_translation == 0) { + /* + * Autodetect. + * This check also covers the images + * without the ABI-tag ELF note. + */ + if (p->p_osrel >= 700004) { + i = SIGSEGV; + ucode = SEGV_ACCERR; + } else { + i = SIGBUS; + ucode = BUS_PAGE_FAULT; + } + } else if (prot_fault_translation == 1) { + /* + * Always compat mode. + */ + i = SIGBUS; + ucode = BUS_PAGE_FAULT; + } else { + /* + * Always SIGSEGV mode. + */ + i = SIGSEGV; + ucode = SEGV_ACCERR; + } } break; ==== //depot/projects/tcpecn/amd64/conf/GENERIC#3 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.488 2007/11/28 05:50:44 attilio Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.490 2007/12/15 00:56:16 scottl Exp $ cpu HAMMER ident GENERIC @@ -54,6 +54,7 @@ options COMPAT_FREEBSD6 # Compatible with FreeBSD6 options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI options KTRACE # ktrace(1) support +options STACK # stack(9) support options SYSVSHM # SYSV-style shared memory options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores @@ -130,6 +131,7 @@ device ciss # Compaq Smart RAID 5* device dpt # DPT Smartcache III, IV - See NOTES for options device hptmv # Highpoint RocketRAID 182x +device hptrr # Highpoint RocketRAID 17xx, 22xx, 23xx, 25xx device rr232x # Highpoint RocketRAID 232x device iir # Intel Integrated RAID device ips # IBM (Adaptec) ServeRAID ==== //depot/projects/tcpecn/amd64/conf/NOTES#2 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.71 2007/11/08 22:09:37 benjsc Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.73 2007/12/15 00:56:16 scottl Exp $ # # @@ -372,11 +372,15 @@ device aacp # SCSI Passthrough interface (optional, CAM required) # -# Highpoint RocketRAID 182x. This is really just software RAID on a >>> TRUNCATED FOR MAIL (1000 lines) <<<