PERFORCE change 131704 for review
Rui Paulo
rpaulo at FreeBSD.org
Wed Dec 26 07:14:48 PST 2007
http://perforce.freebsd.org/chv.cgi?CH=131704
Change 131704 by rpaulo at 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 <sys/cdefs.h>
-__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 <sys/param.h>
#include <sys/systm.h>
@@ -38,6 +38,7 @@
#include <machine/md_var.h>
#include <machine/pcb.h>
#include <machine/reg.h>
+#include <machine/stack.h>
#include <vm/vm.h>
#include <vm/vm_param.h>
@@ -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 <machine/asmacros.h>
#include <machine/psl.h>
@@ -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 <sys/cdefs.h>
-__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<s23>" /* Same */
"\031<s24>" /* Same */
"\032FFXSR" /* Fast FXSAVE/FXRSTOR */
- "\033<b26>" /* Undefined */
+ "\033Page1GB" /* 1-GB large page support */
"\034RDTSCP" /* RDTSCP */
"\035<b28>" /* Undefined */
"\036LM" /* 64 bit long mode */
==== //depot/projects/tcpecn/amd64/amd64/machdep.c#2 (text+ko) ====
@@ -39,7 +39,7 @@
*/
#include <sys/cdefs.h>
-__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 <sys/cdefs.h>
-__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 <sys/cdefs.h>
-__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) <<<
More information about the p4-projects
mailing list