From owner-p4-projects@FreeBSD.ORG Sun May 16 11:07:28 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 48B8116A4D0; Sun, 16 May 2004 11:07:28 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1B70316A4CE for ; Sun, 16 May 2004 11:07:28 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8419943D41 for ; Sun, 16 May 2004 11:07:22 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4GI7MGe065107 for ; Sun, 16 May 2004 11:07:22 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4GI7Loo065104 for perforce@freebsd.org; Sun, 16 May 2004 11:07:21 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Sun, 16 May 2004 11:07:21 -0700 (PDT) Message-Id: <200405161807.i4GI7Loo065104@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 52858 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 May 2004 18:07:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=52858 Change 52858 by peter@peter_overcee on 2004/05/16 11:06:51 IFC @52857 Affected files ... .. //depot/projects/hammer/Makefile.inc1#51 integrate .. //depot/projects/hammer/bin/pax/Makefile#4 integrate .. //depot/projects/hammer/contrib/amd/FREEBSD-Xlist#2 integrate .. //depot/projects/hammer/contrib/amd/FREEBSD-upgrade#3 integrate .. //depot/projects/hammer/contrib/amd/conf/nfs_prot/nfs_prot_aix5_1.h#2 delete .. //depot/projects/hammer/contrib/amd/conf/nfs_prot/nfs_prot_darwin.h#3 delete .. //depot/projects/hammer/contrib/amd/conf/nfs_prot/nfs_prot_osf5.h#2 delete .. //depot/projects/hammer/contrib/amd/conf/nfs_prot/nfs_prot_sunos5_8.h#2 delete .. //depot/projects/hammer/lib/Makefile#35 integrate .. //depot/projects/hammer/lib/csu/arm/Makefile#1 branch .. //depot/projects/hammer/lib/csu/arm/crt1.c#1 branch .. //depot/projects/hammer/lib/csu/arm/crti.S#1 branch .. //depot/projects/hammer/lib/csu/arm/crtn.S#1 branch .. //depot/projects/hammer/lib/libarchive/Makefile#7 integrate .. //depot/projects/hammer/lib/libarchive/archive.h#7 integrate .. //depot/projects/hammer/lib/libarchive/archive_private.h#8 integrate .. //depot/projects/hammer/lib/libarchive/archive_read.3#4 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_data_into_fd.c#5 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_extract.c#7 integrate .. //depot/projects/hammer/lib/libarchive/archive_write_set_compression_gzip.c#5 integrate .. //depot/projects/hammer/lib/libatm/Makefile#6 integrate .. //depot/projects/hammer/lib/libc/Makefile#16 integrate .. //depot/projects/hammer/lib/libc/arm/SYS.h#1 branch .. //depot/projects/hammer/lib/libc/arm/_fpmath.h#1 branch .. //depot/projects/hammer/lib/libc/arm/arith.h#1 branch .. //depot/projects/hammer/lib/libc/arm/gen/Makefile.inc#1 branch .. //depot/projects/hammer/lib/libc/arm/gen/_ctx_start.S#1 branch .. //depot/projects/hammer/lib/libc/arm/gen/_setjmp.S#1 branch .. //depot/projects/hammer/lib/libc/arm/gen/alloca.S#1 branch .. //depot/projects/hammer/lib/libc/arm/gen/divsi3.S#1 branch .. //depot/projects/hammer/lib/libc/arm/gen/fabs.c#1 branch .. //depot/projects/hammer/lib/libc/arm/gen/frexp.c#1 branch .. //depot/projects/hammer/lib/libc/arm/gen/infinity.c#1 branch .. //depot/projects/hammer/lib/libc/arm/gen/isinf.c#1 branch .. //depot/projects/hammer/lib/libc/arm/gen/ldexp.c#1 branch .. //depot/projects/hammer/lib/libc/arm/gen/makecontext.c#1 branch .. //depot/projects/hammer/lib/libc/arm/gen/modf.c#1 branch .. //depot/projects/hammer/lib/libc/arm/gen/setjmp.S#1 branch .. //depot/projects/hammer/lib/libc/arm/gen/signalcontext.c#1 branch .. //depot/projects/hammer/lib/libc/arm/gen/sigsetjmp.S#1 branch .. //depot/projects/hammer/lib/libc/arm/net/Makefile.inc#1 branch .. //depot/projects/hammer/lib/libc/arm/net/htonl.S#1 branch .. //depot/projects/hammer/lib/libc/arm/net/htons.S#1 branch .. //depot/projects/hammer/lib/libc/arm/net/ntohl.S#1 branch .. //depot/projects/hammer/lib/libc/arm/net/ntohs.S#1 branch .. //depot/projects/hammer/lib/libc/arm/softfloat/arm-gcc.h#1 branch .. //depot/projects/hammer/lib/libc/arm/softfloat/milieu.h#1 branch .. //depot/projects/hammer/lib/libc/arm/softfloat/softfloat.h#1 branch .. //depot/projects/hammer/lib/libc/arm/stdlib/Makefile.inc#1 branch .. //depot/projects/hammer/lib/libc/arm/stdlib/gdtoa.mk#1 branch .. //depot/projects/hammer/lib/libc/arm/string/Makefile.inc#1 branch .. //depot/projects/hammer/lib/libc/arm/string/bcopy.S#1 branch .. //depot/projects/hammer/lib/libc/arm/string/bzero.S#1 branch .. //depot/projects/hammer/lib/libc/arm/string/ffs.S#1 branch .. //depot/projects/hammer/lib/libc/arm/string/memcmp.S#1 branch .. //depot/projects/hammer/lib/libc/arm/string/memcpy.S#1 branch .. //depot/projects/hammer/lib/libc/arm/string/memcpy_arm.S#1 branch .. //depot/projects/hammer/lib/libc/arm/string/memcpy_xscale.S#1 branch .. //depot/projects/hammer/lib/libc/arm/string/memmove.S#1 branch .. //depot/projects/hammer/lib/libc/arm/string/memset.S#1 branch .. //depot/projects/hammer/lib/libc/arm/string/strcmp.S#1 branch .. //depot/projects/hammer/lib/libc/arm/string/strncmp.S#1 branch .. //depot/projects/hammer/lib/libc/arm/sys/Makefile.inc#1 branch .. //depot/projects/hammer/lib/libc/arm/sys/Ovfork.S#1 branch .. //depot/projects/hammer/lib/libc/arm/sys/brk.S#1 branch .. //depot/projects/hammer/lib/libc/arm/sys/cerror.S#1 branch .. //depot/projects/hammer/lib/libc/arm/sys/fork.S#1 branch .. //depot/projects/hammer/lib/libc/arm/sys/getcontext.S#1 branch .. //depot/projects/hammer/lib/libc/arm/sys/pipe.S#1 branch .. //depot/projects/hammer/lib/libc/arm/sys/ptrace.S#1 branch .. //depot/projects/hammer/lib/libc/arm/sys/sbrk.S#1 branch .. //depot/projects/hammer/lib/libc/arm/sys/shmat.S#1 branch .. //depot/projects/hammer/lib/libc/arm/sys/sigreturn.S#1 branch .. //depot/projects/hammer/lib/libc/arm/sys/syscall.S#1 branch .. //depot/projects/hammer/lib/libc/gen/fts.c#6 integrate .. //depot/projects/hammer/lib/libc/locale/big5.c#6 integrate .. //depot/projects/hammer/lib/libc/locale/gbk.c#7 integrate .. //depot/projects/hammer/lib/libc/locale/mblocal.h#2 integrate .. //depot/projects/hammer/lib/libc/locale/mbsrtowcs.c#4 integrate .. //depot/projects/hammer/lib/libc/locale/mbstowcs.c#7 integrate .. //depot/projects/hammer/lib/libc/locale/mskanji.c#7 integrate .. //depot/projects/hammer/lib/libc/locale/none.c#6 integrate .. //depot/projects/hammer/lib/libc/locale/setrunelocale.c#13 integrate .. //depot/projects/hammer/lib/libc/locale/table.c#8 integrate .. //depot/projects/hammer/lib/libc/locale/wcsrtombs.c#4 integrate .. //depot/projects/hammer/lib/libc/locale/wcstombs.c#6 integrate .. //depot/projects/hammer/lib/libc/softfloat/Makefile.inc#1 branch .. //depot/projects/hammer/lib/libc/softfloat/README.NetBSD#1 branch .. //depot/projects/hammer/lib/libc/softfloat/README.txt#1 branch .. //depot/projects/hammer/lib/libc/softfloat/bits32/softfloat-macros#1 branch .. //depot/projects/hammer/lib/libc/softfloat/bits32/softfloat.c#1 branch .. //depot/projects/hammer/lib/libc/softfloat/bits64/softfloat-macros#1 branch .. //depot/projects/hammer/lib/libc/softfloat/bits64/softfloat.c#1 branch .. //depot/projects/hammer/lib/libc/softfloat/eqdf2.c#1 branch .. //depot/projects/hammer/lib/libc/softfloat/eqsf2.c#1 branch .. //depot/projects/hammer/lib/libc/softfloat/fpgetmask.c#1 branch .. //depot/projects/hammer/lib/libc/softfloat/fpgetround.c#1 branch .. //depot/projects/hammer/lib/libc/softfloat/fpgetsticky.c#1 branch .. //depot/projects/hammer/lib/libc/softfloat/fpsetmask.c#1 branch .. //depot/projects/hammer/lib/libc/softfloat/fpsetround.c#1 branch .. //depot/projects/hammer/lib/libc/softfloat/fpsetsticky.c#1 branch .. //depot/projects/hammer/lib/libc/softfloat/gedf2.c#1 branch .. //depot/projects/hammer/lib/libc/softfloat/gesf2.c#1 branch .. //depot/projects/hammer/lib/libc/softfloat/gtdf2.c#1 branch .. //depot/projects/hammer/lib/libc/softfloat/gtsf2.c#1 branch .. //depot/projects/hammer/lib/libc/softfloat/ledf2.c#1 branch .. //depot/projects/hammer/lib/libc/softfloat/lesf2.c#1 branch .. //depot/projects/hammer/lib/libc/softfloat/ltdf2.c#1 branch .. //depot/projects/hammer/lib/libc/softfloat/ltsf2.c#1 branch .. //depot/projects/hammer/lib/libc/softfloat/nedf2.c#1 branch .. //depot/projects/hammer/lib/libc/softfloat/negdf2.c#1 branch .. //depot/projects/hammer/lib/libc/softfloat/negsf2.c#1 branch .. //depot/projects/hammer/lib/libc/softfloat/nesf2.c#1 branch .. //depot/projects/hammer/lib/libc/softfloat/softfloat-for-gcc.h#1 branch .. //depot/projects/hammer/lib/libc/softfloat/softfloat-history.txt#1 branch .. //depot/projects/hammer/lib/libc/softfloat/softfloat-source.txt#1 branch .. //depot/projects/hammer/lib/libc/softfloat/softfloat-specialize#1 branch .. //depot/projects/hammer/lib/libc/softfloat/softfloat.txt#1 branch .. //depot/projects/hammer/lib/libc/softfloat/templates/milieu.h#1 branch .. //depot/projects/hammer/lib/libc/softfloat/templates/softfloat-specialize#1 branch .. //depot/projects/hammer/lib/libc/softfloat/templates/softfloat.h#1 branch .. //depot/projects/hammer/lib/libc/softfloat/timesoftfloat.c#1 branch .. //depot/projects/hammer/lib/libc/softfloat/timesoftfloat.txt#1 branch .. //depot/projects/hammer/lib/libc/softfloat/unorddf2.c#1 branch .. //depot/projects/hammer/lib/libc/softfloat/unordsf2.c#1 branch .. //depot/projects/hammer/lib/libc/stdlib/malloc.c#15 integrate .. //depot/projects/hammer/lib/libc/xdr/xdr_float.c#4 integrate .. //depot/projects/hammer/lib/libkvm/kvm_arm.c#1 branch .. //depot/projects/hammer/lib/libpthread/arch/arm/Makefile.inc#1 branch .. //depot/projects/hammer/lib/libpthread/arch/arm/arm/context.S#1 branch .. //depot/projects/hammer/lib/libpthread/arch/arm/arm/pthread_md.c#1 branch .. //depot/projects/hammer/lib/libpthread/arch/arm/include/atomic_ops.h#1 branch .. //depot/projects/hammer/lib/libpthread/arch/arm/include/pthread_md.h#1 branch .. //depot/projects/hammer/lib/libstand/arm/_setjmp.S#1 branch .. //depot/projects/hammer/lib/libstand/zalloc_defs.h#4 integrate .. //depot/projects/hammer/libexec/ftpd/ftpd.c#13 integrate .. //depot/projects/hammer/libexec/rtld-elf/Makefile#11 integrate .. //depot/projects/hammer/libexec/rtld-elf/arm/Makefile.inc#1 branch .. //depot/projects/hammer/libexec/rtld-elf/arm/lockdflt.c#1 branch .. //depot/projects/hammer/libexec/rtld-elf/arm/reloc.c#1 branch .. //depot/projects/hammer/libexec/rtld-elf/arm/rtld_machdep.h#1 branch .. //depot/projects/hammer/libexec/rtld-elf/arm/rtld_start.S#1 branch .. //depot/projects/hammer/sbin/atm/atm/Makefile#4 integrate .. //depot/projects/hammer/sbin/atm/atmconfig/Makefile#3 integrate .. //depot/projects/hammer/sbin/atm/ilmid/Makefile#5 integrate .. //depot/projects/hammer/sbin/camcontrol/Makefile#6 integrate .. //depot/projects/hammer/secure/lib/libcrypto/opensslconf-arm.h#1 branch .. //depot/projects/hammer/secure/lib/libssl/Makefile#5 integrate .. //depot/projects/hammer/share/man/man4/aue.4#6 integrate .. //depot/projects/hammer/share/man/man4/bktr.4#4 integrate .. //depot/projects/hammer/share/man/man4/digi.4#3 integrate .. //depot/projects/hammer/share/man/man4/fxp.4#7 integrate .. //depot/projects/hammer/share/man/man4/ng_sppp.4#2 integrate .. //depot/projects/hammer/share/man/man4/null.4#2 integrate .. //depot/projects/hammer/share/man/man4/route.4#3 integrate .. //depot/projects/hammer/share/man/man4/smbus.4#2 integrate .. //depot/projects/hammer/share/man/man4/tcp.4#7 integrate .. //depot/projects/hammer/share/man/man4/ttcp.4#3 integrate .. //depot/projects/hammer/share/man/man4/tun.4#4 integrate .. //depot/projects/hammer/share/man/man5/config.5#3 integrate .. //depot/projects/hammer/share/man/man7/release.7#18 integrate .. //depot/projects/hammer/share/man/man9/BUS_ADD_CHILD.9#1 branch .. //depot/projects/hammer/share/man/man9/DEVICE_IDENTIFY.9#3 integrate .. //depot/projects/hammer/share/man/man9/Makefile#32 integrate .. //depot/projects/hammer/share/man/man9/bus_dma.9#7 integrate .. //depot/projects/hammer/share/man/man9/device_add_child.9#4 integrate .. //depot/projects/hammer/share/mk/bsd.cpu.mk#17 integrate .. //depot/projects/hammer/share/mk/sys.mk#14 integrate .. //depot/projects/hammer/sys/Makefile#7 integrate .. //depot/projects/hammer/sys/arm/arm/autoconf.c#1 branch .. //depot/projects/hammer/sys/arm/arm/bcopy_page.S#1 branch .. //depot/projects/hammer/sys/arm/arm/bcopyinout.S#1 branch .. //depot/projects/hammer/sys/arm/arm/bcopyinout_xscale.S#1 branch .. //depot/projects/hammer/sys/arm/arm/blockio.S#1 branch .. //depot/projects/hammer/sys/arm/arm/bootconfig.c#1 branch .. //depot/projects/hammer/sys/arm/arm/bus_space_asm_generic.S#1 branch .. //depot/projects/hammer/sys/arm/arm/busdma_machdep.c#1 branch .. //depot/projects/hammer/sys/arm/arm/copystr.S#1 branch .. //depot/projects/hammer/sys/arm/arm/cpufunc.c#1 branch .. //depot/projects/hammer/sys/arm/arm/cpufunc_asm.S#1 branch .. //depot/projects/hammer/sys/arm/arm/cpufunc_asm_arm10.S#1 branch .. //depot/projects/hammer/sys/arm/arm/cpufunc_asm_arm3.S#1 branch .. //depot/projects/hammer/sys/arm/arm/cpufunc_asm_arm67.S#1 branch .. //depot/projects/hammer/sys/arm/arm/cpufunc_asm_arm7tdmi.S#1 branch .. //depot/projects/hammer/sys/arm/arm/cpufunc_asm_arm8.S#1 branch .. //depot/projects/hammer/sys/arm/arm/cpufunc_asm_arm9.S#1 branch .. //depot/projects/hammer/sys/arm/arm/cpufunc_asm_armv4.S#1 branch .. //depot/projects/hammer/sys/arm/arm/cpufunc_asm_ixp12x0.S#1 branch .. //depot/projects/hammer/sys/arm/arm/cpufunc_asm_sa1.S#1 branch .. //depot/projects/hammer/sys/arm/arm/cpufunc_asm_sa11x0.S#1 branch .. //depot/projects/hammer/sys/arm/arm/cpufunc_asm_xscale.S#1 branch .. //depot/projects/hammer/sys/arm/arm/critical.c#1 branch .. //depot/projects/hammer/sys/arm/arm/db_disasm.c#1 branch .. //depot/projects/hammer/sys/arm/arm/db_interface.c#1 branch .. //depot/projects/hammer/sys/arm/arm/db_trace.c#1 branch .. //depot/projects/hammer/sys/arm/arm/disassem.c#1 branch .. //depot/projects/hammer/sys/arm/arm/dump_machdep.c#1 branch .. //depot/projects/hammer/sys/arm/arm/elf_machdep.c#1 branch .. //depot/projects/hammer/sys/arm/arm/exception.S#1 branch .. //depot/projects/hammer/sys/arm/arm/fiq.c#1 branch .. //depot/projects/hammer/sys/arm/arm/fiq_subr.S#1 branch .. //depot/projects/hammer/sys/arm/arm/fusu.S#1 branch .. //depot/projects/hammer/sys/arm/arm/genassym.c#1 branch .. //depot/projects/hammer/sys/arm/arm/identcpu.c#1 branch .. //depot/projects/hammer/sys/arm/arm/in_cksum.c#1 branch .. //depot/projects/hammer/sys/arm/arm/in_cksum_arm.S#1 branch .. //depot/projects/hammer/sys/arm/arm/intr.c#1 branch .. //depot/projects/hammer/sys/arm/arm/irq_dispatch.S#1 branch .. //depot/projects/hammer/sys/arm/arm/locore.S#1 branch .. //depot/projects/hammer/sys/arm/arm/machdep.c#1 branch .. //depot/projects/hammer/sys/arm/arm/nexus.c#1 branch .. //depot/projects/hammer/sys/arm/arm/nexus_io.c#1 branch .. //depot/projects/hammer/sys/arm/arm/nexus_io_asm.S#1 branch .. //depot/projects/hammer/sys/arm/arm/pmap.c#1 branch .. //depot/projects/hammer/sys/arm/arm/setcpsr.S#1 branch .. //depot/projects/hammer/sys/arm/arm/setstack.s#1 branch .. //depot/projects/hammer/sys/arm/arm/support.S#1 branch .. //depot/projects/hammer/sys/arm/arm/swtch.S#1 branch .. //depot/projects/hammer/sys/arm/arm/sys_machdep.c#1 branch .. //depot/projects/hammer/sys/arm/arm/trap.c#1 branch .. //depot/projects/hammer/sys/arm/arm/uio_machdep.c#1 branch .. //depot/projects/hammer/sys/arm/arm/undefined.c#1 branch .. //depot/projects/hammer/sys/arm/arm/vectors.S#1 branch .. //depot/projects/hammer/sys/arm/arm/vm_machdep.c#1 branch .. //depot/projects/hammer/sys/arm/conf/SIMICS#1 branch .. //depot/projects/hammer/sys/arm/include/_inttypes.h#1 branch .. //depot/projects/hammer/sys/arm/include/armreg.h#1 branch .. //depot/projects/hammer/sys/arm/include/asm.h#1 branch .. //depot/projects/hammer/sys/arm/include/asmacros.h#1 branch .. //depot/projects/hammer/sys/arm/include/atomic.h#1 branch .. //depot/projects/hammer/sys/arm/include/blockio.h#1 branch .. //depot/projects/hammer/sys/arm/include/bootconfig.h#1 branch .. //depot/projects/hammer/sys/arm/include/bus.h#1 branch .. //depot/projects/hammer/sys/arm/include/clock.h#1 branch .. //depot/projects/hammer/sys/arm/include/cpu.h#1 branch .. //depot/projects/hammer/sys/arm/include/cpuconf.h#1 branch .. //depot/projects/hammer/sys/arm/include/cpufunc.h#1 branch .. //depot/projects/hammer/sys/arm/include/critical.h#1 branch .. //depot/projects/hammer/sys/arm/include/db_machdep.h#1 branch .. //depot/projects/hammer/sys/arm/include/disassem.h#1 branch .. //depot/projects/hammer/sys/arm/include/fiq.h#1 branch .. //depot/projects/hammer/sys/arm/include/float.h#1 branch .. //depot/projects/hammer/sys/arm/include/floatingpoint.h#1 branch .. //depot/projects/hammer/sys/arm/include/fp.h#1 branch .. //depot/projects/hammer/sys/arm/include/frame.h#1 branch .. //depot/projects/hammer/sys/arm/include/ieee.h#1 branch .. //depot/projects/hammer/sys/arm/include/ieeefp.h#1 branch .. //depot/projects/hammer/sys/arm/include/in_cksum.h#1 branch .. //depot/projects/hammer/sys/arm/include/intr.h#1 branch .. //depot/projects/hammer/sys/arm/include/katelib.h#1 branch .. //depot/projects/hammer/sys/arm/include/machdep.h#1 branch .. //depot/projects/hammer/sys/arm/include/md_var.h#1 branch .. //depot/projects/hammer/sys/arm/include/metadata.h#1 branch .. //depot/projects/hammer/sys/arm/include/mutex.h#1 branch .. //depot/projects/hammer/sys/arm/include/param.h#3 integrate .. //depot/projects/hammer/sys/arm/include/pcb.h#1 branch .. //depot/projects/hammer/sys/arm/include/pcpu.h#1 branch .. //depot/projects/hammer/sys/arm/include/pmap.h#1 branch .. //depot/projects/hammer/sys/arm/include/proc.h#1 branch .. //depot/projects/hammer/sys/arm/include/profile.h#1 branch .. //depot/projects/hammer/sys/arm/include/psl.h#1 branch .. //depot/projects/hammer/sys/arm/include/pte.h#1 branch .. //depot/projects/hammer/sys/arm/include/ptrace.h#1 branch .. //depot/projects/hammer/sys/arm/include/reg.h#1 branch .. //depot/projects/hammer/sys/arm/include/reloc.h#1 branch .. //depot/projects/hammer/sys/arm/include/resource.h#1 branch .. //depot/projects/hammer/sys/arm/include/runq.h#1 branch .. //depot/projects/hammer/sys/arm/include/setjmp.h#1 branch .. //depot/projects/hammer/sys/arm/include/sf_buf.h#1 branch .. //depot/projects/hammer/sys/arm/include/sigframe.h#1 branch .. //depot/projects/hammer/sys/arm/include/smp.h#1 branch .. //depot/projects/hammer/sys/arm/include/stdarg.h#1 branch .. //depot/projects/hammer/sys/arm/include/swi.h#1 branch .. //depot/projects/hammer/sys/arm/include/trap.h#1 branch .. //depot/projects/hammer/sys/arm/include/ucontext.h#2 integrate .. //depot/projects/hammer/sys/arm/include/undefined.h#1 branch .. //depot/projects/hammer/sys/arm/include/utrap.h#1 branch .. //depot/projects/hammer/sys/arm/include/vmparam.h#1 branch .. //depot/projects/hammer/sys/arm/sa11x0/assabet_machdep.c#1 branch .. //depot/projects/hammer/sys/arm/sa11x0/files.sa11x0#1 branch .. //depot/projects/hammer/sys/arm/sa11x0/sa11x0.c#1 branch .. //depot/projects/hammer/sys/arm/sa11x0/sa11x0_dmacreg.h#1 branch .. //depot/projects/hammer/sys/arm/sa11x0/sa11x0_gpioreg.h#1 branch .. //depot/projects/hammer/sys/arm/sa11x0/sa11x0_io.c#1 branch .. //depot/projects/hammer/sys/arm/sa11x0/sa11x0_io_asm.S#1 branch .. //depot/projects/hammer/sys/arm/sa11x0/sa11x0_irq.S#1 branch .. //depot/projects/hammer/sys/arm/sa11x0/sa11x0_irqhandler.c#1 branch .. //depot/projects/hammer/sys/arm/sa11x0/sa11x0_ost.c#1 branch .. //depot/projects/hammer/sys/arm/sa11x0/sa11x0_ostreg.h#1 branch .. //depot/projects/hammer/sys/arm/sa11x0/sa11x0_ppcreg.h#1 branch .. //depot/projects/hammer/sys/arm/sa11x0/sa11x0_reg.h#1 branch .. //depot/projects/hammer/sys/arm/sa11x0/sa11x0_var.h#1 branch .. //depot/projects/hammer/sys/arm/sa11x0/std.sa11x0#1 branch .. //depot/projects/hammer/sys/arm/sa11x0/uart_bus_sa1110.c#1 branch .. //depot/projects/hammer/sys/arm/sa11x0/uart_cpu_sa1110.c#1 branch .. //depot/projects/hammer/sys/arm/sa11x0/uart_dev_sa1110.c#1 branch .. //depot/projects/hammer/sys/arm/sa11x0/uart_dev_sa1110.h#1 branch .. //depot/projects/hammer/sys/boot/Makefile#12 integrate .. //depot/projects/hammer/sys/boot/i386/boot0/boot0.S#2 integrate .. //depot/projects/hammer/sys/boot/i386/boot2/boot1.S#3 integrate .. //depot/projects/hammer/sys/boot/i386/boot2/sio.S#3 integrate .. //depot/projects/hammer/sys/boot/i386/btx/btx/btx.S#3 integrate .. //depot/projects/hammer/sys/boot/i386/btx/btxldr/btxldr.S#3 integrate .. //depot/projects/hammer/sys/boot/i386/libi386/amd64_tramp.S#7 integrate .. //depot/projects/hammer/sys/boot/i386/libi386/biosacpi.c#5 integrate .. //depot/projects/hammer/sys/boot/i386/pxeldr/pxeldr.S#3 integrate .. //depot/projects/hammer/sys/boot/pc98/boot2/serial_16550.S#3 integrate .. //depot/projects/hammer/sys/boot/pc98/boot2/serial_8251.S#3 integrate .. //depot/projects/hammer/sys/boot/pc98/btx/btx/btx.S#3 integrate .. //depot/projects/hammer/sys/boot/pc98/btx/btxldr/btxldr.S#3 integrate .. //depot/projects/hammer/sys/conf/Makefile.arm#1 branch .. //depot/projects/hammer/sys/conf/files.arm#1 branch .. //depot/projects/hammer/sys/conf/files.pc98#28 integrate .. //depot/projects/hammer/sys/conf/kern.mk#18 integrate .. //depot/projects/hammer/sys/conf/ldscript.arm#1 branch .. //depot/projects/hammer/sys/conf/options#38 integrate .. //depot/projects/hammer/sys/conf/options.arm#1 branch .. //depot/projects/hammer/sys/dev/aac/aac_pci.c#13 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_ec.c#19 integrate .. //depot/projects/hammer/sys/dev/firewire/firewire.c#25 integrate .. //depot/projects/hammer/sys/dev/ichwd/ichwd.c#2 integrate .. //depot/projects/hammer/sys/dev/pccard/pccarddevs#24 integrate .. //depot/projects/hammer/sys/dev/pccard/pccarddevs.h#24 integrate .. //depot/projects/hammer/sys/dev/sound/isa/sb.h#2 integrate .. //depot/projects/hammer/sys/dev/sound/isa/sb16.c#8 integrate .. //depot/projects/hammer/sys/dev/sound/isa/sbc.c#5 integrate .. //depot/projects/hammer/sys/dev/twa/twa.h#2 integrate .. //depot/projects/hammer/sys/dev/twa/twa_cam.c#2 integrate .. //depot/projects/hammer/sys/dev/twa/twa_freebsd.c#3 integrate .. //depot/projects/hammer/sys/dev/uart/uart_cpu_pc98.c#5 integrate .. //depot/projects/hammer/sys/dev/usb/umodem.c#4 integrate .. //depot/projects/hammer/sys/kern/kern_synch.c#30 integrate .. //depot/projects/hammer/sys/kern/subr_sleepqueue.c#5 integrate .. //depot/projects/hammer/sys/libkern/arm/divsi3.S#1 branch .. //depot/projects/hammer/sys/libkern/arm/ffs.S#1 branch .. //depot/projects/hammer/sys/libkern/arm/muldi3.c#1 branch .. //depot/projects/hammer/sys/modules/Makefile#43 integrate .. //depot/projects/hammer/sys/netinet6/ip6_output.c#22 integrate .. //depot/projects/hammer/sys/pci/agp_via.c#9 integrate .. //depot/projects/hammer/sys/pci/agpreg.h#7 integrate .. //depot/projects/hammer/sys/security/mac_portacl/mac_portacl.c#4 integrate .. //depot/projects/hammer/sys/ufs/ffs/ffs_alloc.c#10 integrate .. //depot/projects/hammer/tools/tools/tinderbox/tinderbox.pl#14 integrate .. //depot/projects/hammer/usr.bin/Makefile#30 integrate .. //depot/projects/hammer/usr.bin/enigma/enigma.1#2 integrate .. //depot/projects/hammer/usr.bin/find/find.1#8 integrate .. //depot/projects/hammer/usr.bin/gprof/arm.c#1 branch .. //depot/projects/hammer/usr.bin/gprof/arm.h#1 branch .. //depot/projects/hammer/usr.bin/gprof/gprof.h#5 integrate .. //depot/projects/hammer/usr.bin/xlint/lint1/param.h#5 integrate .. //depot/projects/hammer/usr.sbin/Makefile#47 integrate .. //depot/projects/hammer/usr.sbin/acpi/acpidump/acpi_user.c#5 integrate .. //depot/projects/hammer/usr.sbin/acpi/acpidump/acpidump.h#6 integrate .. //depot/projects/hammer/usr.sbin/gstat/gstat.c#4 integrate .. //depot/projects/hammer/usr.sbin/ppp/ip.c#3 integrate .. //depot/projects/hammer/usr.sbin/setkey/parse.y#5 integrate .. //depot/projects/hammer/usr.sbin/sysinstall/install.c#20 integrate .. //depot/projects/hammer/usr.sbin/sysinstall/label.c#12 integrate Differences ... ==== //depot/projects/hammer/Makefile.inc1#51 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.425 2004/05/12 07:02:17 ru Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.426 2004/05/13 07:51:46 ru Exp $ # # Make command line options: # -DNO_DYNAMICROOT do not link /bin and /sbin dynamically @@ -909,6 +909,7 @@ .if !defined(NO_OPENSSL) _prebuild_libs+= secure/lib/libcrypto secure/lib/libssl lib/libradius__L: secure/lib/libssl__L +secure/lib/libssl__L: secure/lib/libcrypto__L .if !defined(NO_OPENSSH) _prebuild_libs+= secure/lib/libssh secure/lib/libssh__L: lib/libz__L secure/lib/libcrypto__L lib/libcrypt__L ==== //depot/projects/hammer/bin/pax/Makefile#4 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $FreeBSD: src/bin/pax/Makefile,v 1.11 2003/06/13 07:04:02 markm Exp $ +# $FreeBSD: src/bin/pax/Makefile,v 1.12 2004/05/14 13:31:19 cognet Exp $ # To install on versions prior to BSD 4.4 the following may have to be # defined with CFLAGS += @@ -33,4 +33,8 @@ #MAN= pax.1 tar.1 cpio.1 #LINKS= ${BINDIR}/pax ${BINDIR}/tar ${BINDIR}/pax ${BINDIR}/cpio +.if ${MACHINE_ARCH} == "arm" +WARNS?= 3 +.endif + .include ==== //depot/projects/hammer/contrib/amd/FREEBSD-Xlist#2 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/contrib/amd/FREEBSD-Xlist,v 1.3 2001/09/02 20:15:13 obrien Exp $ +$FreeBSD: src/contrib/amd/FREEBSD-Xlist,v 1.4 2004/05/14 13:28:37 mbr Exp $ *LSM.am-utils *Makefile.* *README.autofs @@ -58,8 +58,10 @@ *conf/nfs_prot/nfs_prot_aix4.h *conf/nfs_prot/nfs_prot_aix4_2.h *conf/nfs_prot/nfs_prot_aix4_3.h +*conf/nfs_prot/nfs_prot_aix5_1.h *conf/nfs_prot/nfs_prot_bsdi2.h *conf/nfs_prot/nfs_prot_bsdi3.h +*conf/nfs_prot/nfs_prot_darwin.h *conf/nfs_prot/nfs_prot_default.h *conf/nfs_prot/nfs_prot_hpux.h *conf/nfs_prot/nfs_prot_hpux11.h @@ -74,6 +76,7 @@ *conf/nfs_prot/nfs_prot_openbsd.h *conf/nfs_prot/nfs_prot_osf2.h *conf/nfs_prot/nfs_prot_osf4.h +*conf/nfs_prot/nfs_prot_osf5.h *conf/nfs_prot/nfs_prot_osf5_1.h *conf/nfs_prot/nfs_prot_sunos3.h *conf/nfs_prot/nfs_prot_sunos4.h ==== //depot/projects/hammer/contrib/amd/FREEBSD-upgrade#3 (text+ko) ==== @@ -1,5 +1,5 @@ # ex:ts=8 -$FreeBSD: src/contrib/amd/FREEBSD-upgrade,v 1.14 2003/09/03 00:46:21 mbr Exp $ +$FreeBSD: src/contrib/amd/FREEBSD-upgrade,v 1.15 2004/05/14 13:29:48 mbr Exp $ AMD (am-utils) 6.0.9 originals can be found at: ftp://shekel.mcl.cs.columbia.edu/pub/am-utils/ @@ -28,6 +28,72 @@ All local changes should be submitted to "amd-dev@majordomo.cs.columbia.edu" for inclusion in the next vendor release. +Local changes: + + amd/amd.8 + r1.17 Uniformly refer to a file system as "file system" + r1.16 Add the am-utils homepage to SEE ALSO + r1.15 s/BSD/.Bx/ where appropriate + r1.14 Avoid using parenthesis enclosure macros + r1.13 split punctuation characters + misc fixes + r1.12 mdoc(7)NG + r1.11 Catch a left over reference to "/a" + r1.10 Document change to the default mount dir. + r1.9 Mention "amd -H" in the synopsis + r1.8 Fix miscellaneous mdoc macro argument limit infringements + r1.7 Don't refer to non-existent automount(8) + r1.6 Fix errors in .Xr usage + r1.3 un-mandocafied, un4.4BSD'ed + r1.2 sort cross references + amd/amd.c + r1.7 use /.amd_mnt as default for -a + amq/amq.8 + r1.9 Uniformly refer to a file system as "file system". + r1.8 s/BSD/.Bx/ where appropriate. + r1.6 mdoc(7)NG. + r1.5 Remove reference to non-existent manpage + r1.4 Fix typos + r1.3 un-mandocafied, un4.4BSD'ed + amq/pawd.1 + r1.3 un-mandocafied, un4.4BSD'ed + r1.2 sorting of references + conf/nfs_prot/nfs_prot_freebsd3.h + r1.11 Userland part of nfs client/server split and cleanup + r1.6 restore the standard name nfs_fh3 + r1.3 Fully use our own generated files for NFSv3 + r1.2 rpcgen our own files for NFSv3 support + fixmount/fixmount.8 + r1.8 Uniformly refer to a file system as "file system" + r1.6 split punctuation characters + misc fixes. + r1.5 mdoc(7)NG. + r1.4 ".Mn mountd" -> ".Nm mountd" + r1.3 un-mandocafied, un4.4BSD'ed + r1.2 More sorting of references. + fsinfo/fsinfo.8 + r1.9 add section number to .Xr directive + r1.7 Uniformly refer to a file system as "file system" + r1.6 split punctuation characters + misc fixes + r1.5 mdoc(7)NG + r1.3 describe all of the command line options + r1.2 un-mandocafied, un4.4BSD'ed + mk-amd-map/mk-amd-map.8 + r1.4 removed HISTORY info from the .Os call. + r1.2 un-mandocafied, un4.4BSD'ed + scripts/amd.conf.5 + r1.15 Bring man page back in shape + r1.13 Uniformly refer to a file system as "file system" + r1.12 Avoid using parenthesis enclosure macros + r1.11 mdoc(7)NG + r1.10 Fix miscellaneous mdoc macro argument limit infringements + r1.8 Fix a bunch of broken cross-references + r1.7 Bad reference of uname(2) -> uname(3) + r1.6 Grammer fix and style nits. + r1.5 xfer typo + r1.4 un-mandocafied, un4.4BSD'ed + r1.3 More sorting of references. + wire-test/wire-test.8 + r1.2 un-mandocafied, un4.4BSD'ed + mbr@FreeBSD.org obrien@NUXI.com 05-November-1999 ==== //depot/projects/hammer/lib/Makefile#35 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $FreeBSD: src/lib/Makefile,v 1.182 2004/04/21 23:23:05 grehan Exp $ +# $FreeBSD: src/lib/Makefile,v 1.185 2004/05/14 19:52:35 bde Exp $ # To satisfy shared library or ELF linkage when only the libraries being # built are visible: @@ -26,7 +26,7 @@ libnetgraph libradius librpcsvc libsbuf libtacplus libutil \ ${_libypclnt} ${_compat} libalias libarchive ${_libatm} ${_libbind} \ ${_libbluetooth} libbsnmp libbz2 libc ${_libc_r} \ - libcalendar libcam libcompat libdevinfo libdevstat libdisk \ + libcalendar libcam libcompat libdevinfo libdevstat ${_libdisk} \ libedit libexpat libfetch libform libftpio libgeom ${_libio} libipsec \ libipx libisc libkiconv libmenu ${_libmilter} ${_libmp} ${_libncp} \ ${_libngatm} libopie libpam libpanel libpcap \ @@ -42,13 +42,6 @@ _csu=csu .endif -# libc_r is obsolete on ia64. -.if ${MACHINE_ARCH} != "ia64" && ${MACHINE_ARCH} != "powerpc" -.if !defined(NOLIBC_R) -_libc_r= libc_r -.endif -.endif - .if !defined(NOATM) _libatm= libatm _libngatm= libngatm @@ -58,17 +51,6 @@ _libbind= libbind .endif -.if !defined(NO_SENDMAIL) -_libmilter= libmilter -_libsm= libsm -_libsmdb= libsmdb -_libsmutil= libsmutil -.endif - -.if !defined(NO_USB) -_libusbhid= libusbhid -.endif - .if ${MACHINE_ARCH} == "i386" .if !defined(NO_BLUETOOTH) _libbluetooth= libbluetooth @@ -80,30 +62,47 @@ _libvgl= libvgl .endif +.if ${MACHINE_ARCH} != "arm" && ${MACHINE_ARCH} != "ia64" && \ + ${MACHINE_ARCH} != "powerpc" && !defined(NOLIBC_R) +_libc_r= libc_r +.endif + +.if ${MACHINE_ARCH} != "arm" +_libdisk= libdisk +.endif + .if ${MACHINE_ARCH} == "alpha" _libio= libio _compat= compat .endif +.if !defined(NO_SENDMAIL) +_libmilter= libmilter +_libsm= libsm +_libsmdb= libsmdb +_libsmutil= libsmutil +.endif + +.if !defined(NOCRYPT) && !defined(NO_OPENSSL) +_libmp= libmp +.endif + .if ${MACHINE_ARCH} == "amd64" _libncp= libncp _libsmb= libsmb .endif -.if ${MACHINE_ARCH} != "powerpc" -.if !defined(NOLIBPTHREAD) +.if ${MACHINE_ARCH} != "powerpc" && !defined(NOLIBPTHREAD) _libpthread= libpthread .endif -.endif -.if ${MACHINE_ARCH} != "amd64" -.if !defined(NOLIBTHR) +.if ${MACHINE_ARCH} != "amd64" && ${MACHINE_ARCH} != "arm" && \ + !defined(NOLIBTHR) _libthr= libthr .endif -.endif -.if !defined(NOCRYPT) && !defined(NO_OPENSSL) -_libmp= libmp +.if !defined(NO_USB) +_libusbhid= libusbhid .endif .if !defined(NO_YP_LIBC) ==== //depot/projects/hammer/lib/libarchive/Makefile#7 (text+ko) ==== @@ -1,9 +1,13 @@ -# $FreeBSD: src/lib/libarchive/Makefile,v 1.8 2004/04/28 04:34:07 kientzle Exp $ +# $FreeBSD: src/lib/libarchive/Makefile,v 1.10 2004/05/14 13:31:19 cognet Exp $ LIB= archive SHLIB_MAJOR= 1 +.if ${MACHINE_ARCH} == "arm" +WARNS?= 3 +.else WARNS?= 6 +.endif # I'm not yet ready for a shared version of this library, as # there are a couple of API changes still in the works. @@ -91,6 +95,7 @@ MLINKS+= archive_read.3 archive_read_data_into_file.3 MLINKS+= archive_read.3 archive_read_data_skip.3 MLINKS+= archive_read.3 archive_read_extract.3 +MLINKS+= archive_read.3 archive_read_extract_set_progress_callback.3 MLINKS+= archive_read.3 archive_read_finish.3 MLINKS+= archive_read.3 archive_read_new.3 MLINKS+= archive_read.3 archive_read_next_header.3 ==== //depot/projects/hammer/lib/libarchive/archive.h#7 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libarchive/archive.h,v 1.8 2004/05/03 01:40:34 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive.h,v 1.9 2004/05/13 06:01:14 kientzle Exp $ */ #ifndef ARCHIVE_H_INCLUDED @@ -200,6 +200,8 @@ int archive_read_extract(struct archive *, struct archive_entry *, int flags); +void archive_read_extract_set_progress_callback(struct archive *, + void (*_progress_func)(void *), void *_user_data); /* Close the file, release any resources, and destroy the object. */ void archive_read_finish(struct archive *); ==== //depot/projects/hammer/lib/libarchive/archive_private.h#8 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.8 2004/05/03 01:40:34 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.9 2004/05/13 06:01:14 kientzle Exp $ */ #ifndef ARCHIVE_PRIVATE_H_INCLUDED @@ -192,6 +192,8 @@ */ struct archive_string extract_mkdirpath; struct archive_extract_dir_entry *archive_extract_dir_list; + void (*extract_progress)(void *); + void *extract_progress_user_data; void (*cleanup_archive_extract)(struct archive *); int archive_error_number; ==== //depot/projects/hammer/lib/libarchive/archive_read.3#4 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libarchive/archive_read.3,v 1.3 2004/04/05 21:12:29 kientzle Exp $ +.\" $FreeBSD: src/lib/libarchive/archive_read.3,v 1.4 2004/05/13 06:01:14 kientzle Exp $ .\" .Dd October 1, 2003 .Dt archive_read 3 @@ -47,6 +47,7 @@ .Nm archive_read_data_into_buffer , .Nm archive_read_data_into_file , .Nm archive_read_extract , +.Nm archive_read_extract_set_progress_callback , .Nm archive_read_finish .Nd functions for reading tar archives .Sh SYNOPSIS @@ -90,6 +91,8 @@ .Ft int .Fn archive_read_extract "struct archive *" "int flags" .Ft void +.Fn archive_read_extract_set_progress_callback "struct archive *" "void (*func)(void *)" "void *user_data" +.Ft void .Fn archive_read_finish "struct archive *" .Sh DESCRIPTION These functions provide a complete API for reading streaming archives. @@ -202,6 +205,15 @@ the file is not recreated. In particular, the default behavior does not break existing hard links. .El +.It Fn archive_read_extract_set_progress_callback +Sets a pointer to a user-defined callback that can be used +for updating progress displays during extraction. +The progress function will be invoked during the extraction of large +regular files. +The progress function will be invoked with the pointer provided to this call. +Generally, the data pointed to should include a reference to the archive +object and the archive_entry object so that various statistics +can be retrieved for the progress display. .It Fn archive_read_finish Complete the archive, invoke the close callback, and release all resources. ==== //depot/projects/hammer/lib/libarchive/archive_read_data_into_fd.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_data_into_fd.c,v 1.4 2004/04/12 01:16:16 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_data_into_fd.c,v 1.5 2004/05/13 06:01:14 kientzle Exp $"); #include #include @@ -44,12 +44,16 @@ total_written = 0; while (a->entry_bytes_remaining > 0) { - bytes_read = (a->compression_read_ahead)(a, &buff, - a->entry_bytes_remaining); + /* Remember: '1' here is minimum, not maximum. */ + /* Read-ahead function will return as much as is convenient. */ + bytes_read = (a->compression_read_ahead)(a, &buff, 1); if (bytes_read < 0) return (-1); if (bytes_read > a->entry_bytes_remaining) bytes_read = (ssize_t)a->entry_bytes_remaining; + /* Don't copy more than 1 megabyte at a time. */ + if (bytes_read > (1024*1024)) + bytes_read = 1024*1024; bytes_written = write(fd, buff, bytes_read); if (bytes_written < 0) @@ -57,6 +61,8 @@ (a->compression_read_consume)(a, bytes_written); total_written += bytes_written; a->entry_bytes_remaining -= bytes_written; + if (a->extract_progress != NULL) + (*a->extract_progress)(a->extract_progress_user_data); } return (total_written); } ==== //depot/projects/hammer/lib/libarchive/archive_read_extract.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_extract.c,v 1.11 2004/04/30 01:31:20 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_extract.c,v 1.12 2004/05/13 06:01:14 kientzle Exp $"); #include #include @@ -1078,3 +1078,11 @@ } return (uid); } + +void +archive_read_extract_set_progress_callback(struct archive *a, + void (*progress_func)(void *), void *user_data) +{ + a->extract_progress = progress_func; + a->extract_progress_user_data = user_data; +} ==== //depot/projects/hammer/lib/libarchive/archive_write_set_compression_gzip.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_compression_gzip.c,v 1.4 2004/04/28 04:41:27 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_compression_gzip.c,v 1.5 2004/05/13 06:38:30 kientzle Exp $"); #include #include @@ -351,7 +351,7 @@ state->compressed + ret, state->compressed_buffer_size - ret); } - + a->raw_position += ret; state->stream.next_out = state->compressed + state->compressed_buffer_size - ret; ==== //depot/projects/hammer/lib/libatm/Makefile#6 (text+ko) ==== @@ -21,7 +21,7 @@ # notice must be reproduced on all copies. # # @(#) $Id: Makefile,v 1.5 1998/07/10 16:01:58 jpt Exp $ -# $FreeBSD: src/lib/libatm/Makefile,v 1.10 2004/02/05 22:44:22 ru Exp $ +# $FreeBSD: src/lib/libatm/Makefile,v 1.11 2004/05/14 13:31:20 cognet Exp $ LIB= atm SHLIBDIR?= /lib @@ -30,6 +30,11 @@ LDADD= -lmd DPADD= ${LIBMD} + +.if ${MACHINE_ARCH} == "arm" +WARNS?= 3 +.else WARNS?= 6 +.endif .include ==== //depot/projects/hammer/lib/libc/Makefile#16 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 2/3/94 -# $FreeBSD: src/lib/libc/Makefile,v 1.51 2004/05/02 10:55:07 das Exp $ +# $FreeBSD: src/lib/libc/Makefile,v 1.52 2004/05/14 12:04:29 cognet Exp $ # # All library objects contain FreeBSD revision strings by default; they may be # excluded as a space-saving measure. To produce a library that does @@ -57,6 +57,9 @@ .include "${.CURDIR}/rpc/Makefile.inc" .include "${.CURDIR}/uuid/Makefile.inc" .include "${.CURDIR}/xdr/Makefile.inc" +.if ${MACHINE_ARCH} == "arm" +.include "${.CURDIR}/softfloat/Makefile.inc" +.endif .if !defined(NO_YP_LIBC) CFLAGS+= -DYP .include "${.CURDIR}/yp/Makefile.inc" ==== //depot/projects/hammer/lib/libc/gen/fts.c#6 (text+ko) ==== @@ -33,11 +33,14 @@ * $OpenBSD: fts.c,v 1.22 1999/10/03 19:22:22 millert Exp $ */ +#if 0 #if defined(LIBC_SCCS) && !defined(lint) static char sccsid[] = "@(#)fts.c 8.6 (Berkeley) 8/14/94"; #endif /* LIBC_SCCS and not lint */ +#endif + #include -__FBSDID("$FreeBSD: src/lib/libc/gen/fts.c,v 1.25 2004/05/12 21:38:39 peadar Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/fts.c,v 1.26 2004/05/13 15:59:38 bde Exp $"); #include "namespace.h" #include @@ -126,7 +129,7 @@ return (NULL); } - /* Allocate/initialize the stream */ + /* Allocate/initialize the stream. */ if ((priv = malloc(sizeof(*priv))) == NULL) return (NULL); memset(priv, 0, sizeof(*priv)); @@ -384,7 +387,7 @@ if (fts_safe_changedir(sp, p, -1, p->fts_accpath)) { p->fts_errno = errno; p->fts_flags |= FTS_DONTCHDIR; - for (p = sp->fts_child; p != NULL; + for (p = sp->fts_child; p != NULL; p = p->fts_link) p->fts_accpath = p->fts_parent->fts_accpath; @@ -480,7 +483,7 @@ } (void)_close(p->fts_symfd); } else if (!(p->fts_flags & FTS_DONTCHDIR) && - fts_safe_changedir(sp, p->fts_parent, -1, "..")) { + fts_safe_changedir(sp, p->fts_parent, -1, "..")) { SET(FTS_STOP); return (NULL); } @@ -645,9 +648,9 @@ */ #ifdef FTS_WHITEOUT if (ISSET(FTS_WHITEOUT)) - oflag = DTF_NODUP|DTF_REWIND; + oflag = DTF_NODUP | DTF_REWIND; else - oflag = DTF_HIDEW|DTF_NODUP|DTF_REWIND; + oflag = DTF_HIDEW | DTF_NODUP | DTF_REWIND; #else #define __opendir2(path, flag) opendir(path) #endif @@ -904,10 +907,10 @@ sbp = ISSET(FTS_NOSTAT) ? &sb : p->fts_statp; #ifdef FTS_WHITEOUT - /* check for whiteout */ + /* Check for whiteout. */ if (p->fts_flags & FTS_ISW) { if (sbp != &sb) { - memset(sbp, '\0', sizeof (*sbp)); + memset(sbp, '\0', sizeof(*sbp)); sbp->st_mode = S_IFWHT; } return (FTS_W); ==== //depot/projects/hammer/lib/libc/locale/big5.c#6 (text+ko) ==== @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)big5.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/big5.c,v 1.14 2004/05/12 14:09:04 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/big5.c,v 1.15 2004/05/13 03:08:28 tjr Exp $"); #include #include @@ -118,7 +118,7 @@ if (n == 0 || (size_t)(len = _big5_check(*s)) > n) /* Incomplete multibyte sequence */ return ((size_t)-2); - if (n == 2 && s[1] == '\0') { + if (len == 2 && s[1] == '\0') { errno = EILSEQ; return ((size_t)-1); } ==== //depot/projects/hammer/lib/libc/locale/gbk.c#7 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/gbk.c,v 1.9 2004/05/12 14:09:04 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/gbk.c,v 1.10 2004/05/13 03:08:28 tjr Exp $"); #include #include @@ -115,7 +115,7 @@ if (n == 0 || (size_t)(len = _gbk_check(*s)) > n) /* Incomplete multibyte sequence */ return ((size_t)-2); - if (n == 2 && s[1] == '\0') { + if (len == 2 && s[1] == '\0') { errno = EILSEQ; return ((size_t)-1); } ==== //depot/projects/hammer/lib/libc/locale/mblocal.h#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/lib/libc/locale/mblocal.h,v 1.1 2004/05/12 14:09:04 tjr Exp $ + * $FreeBSD: src/lib/libc/locale/mblocal.h,v 1.2 2004/05/13 11:20:27 tjr Exp $ */ #ifndef _MBLOCAL_H_ @@ -37,7 +37,11 @@ extern size_t (*__mbrtowc)(wchar_t * __restrict, const char * __restrict, size_t, mbstate_t * __restrict); extern int (*__mbsinit)(const mbstate_t *); +extern size_t (*__mbsrtowcs)(wchar_t * __restrict, const char ** __restrict, + size_t, mbstate_t * __restrict); extern size_t (*__wcrtomb)(char * __restrict, wchar_t, mbstate_t * __restrict); +extern size_t (*__wcsrtombs)(char * __restrict, const wchar_t ** __restrict, + size_t, mbstate_t * __restrict); /* * Conversion functions for "NONE"/C/POSIX encoding. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun May 16 11:20:52 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8C96C16A4D0; Sun, 16 May 2004 11:20:51 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 523FC16A4CE for ; Sun, 16 May 2004 11:20:51 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B549F43D67 for ; Sun, 16 May 2004 11:20:40 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4GIKeGe067205 for ; Sun, 16 May 2004 11:20:40 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4GIKcnJ067202 for perforce@freebsd.org; Sun, 16 May 2004 11:20:38 -0700 (PDT) (envelope-from marcel@freebsd.org) Date: Sun, 16 May 2004 11:20:38 -0700 (PDT) Message-Id: <200405161820.i4GIKcnJ067202@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 52859 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 May 2004 18:20:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=52859 Change 52859 by marcel@marcel_nfs on 2004/05/16 11:20:06 IFC @52857 Affected files ... .. //depot/projects/gdb/Makefile.inc1#9 integrate .. //depot/projects/gdb/bin/pax/Makefile#2 integrate .. //depot/projects/gdb/contrib/amd/FREEBSD-Xlist#2 integrate .. //depot/projects/gdb/contrib/amd/FREEBSD-upgrade#2 integrate .. //depot/projects/gdb/contrib/amd/conf/nfs_prot/nfs_prot_aix5_1.h#2 delete .. //depot/projects/gdb/contrib/amd/conf/nfs_prot/nfs_prot_darwin.h#2 delete .. //depot/projects/gdb/contrib/amd/conf/nfs_prot/nfs_prot_osf5.h#2 delete .. //depot/projects/gdb/contrib/amd/conf/nfs_prot/nfs_prot_sunos5_8.h#2 delete .. //depot/projects/gdb/include/fts.h#4 integrate .. //depot/projects/gdb/lib/Makefile#6 integrate .. //depot/projects/gdb/lib/csu/arm/Makefile#1 branch .. //depot/projects/gdb/lib/csu/arm/crt1.c#1 branch .. //depot/projects/gdb/lib/csu/arm/crti.S#1 branch .. //depot/projects/gdb/lib/csu/arm/crtn.S#1 branch .. //depot/projects/gdb/lib/libarchive/Makefile#7 integrate .. //depot/projects/gdb/lib/libarchive/archive.h#8 integrate .. //depot/projects/gdb/lib/libarchive/archive_private.h#9 integrate .. //depot/projects/gdb/lib/libarchive/archive_read.3#4 integrate .. //depot/projects/gdb/lib/libarchive/archive_read_data_into_fd.c#5 integrate .. //depot/projects/gdb/lib/libarchive/archive_read_extract.c#10 integrate .. //depot/projects/gdb/lib/libarchive/archive_write_set_compression_gzip.c#5 integrate .. //depot/projects/gdb/lib/libatm/Makefile#3 integrate .. //depot/projects/gdb/lib/libc/Makefile#4 integrate .. //depot/projects/gdb/lib/libc/arm/SYS.h#1 branch .. //depot/projects/gdb/lib/libc/arm/_fpmath.h#1 branch .. //depot/projects/gdb/lib/libc/arm/arith.h#1 branch .. //depot/projects/gdb/lib/libc/arm/gen/Makefile.inc#1 branch .. //depot/projects/gdb/lib/libc/arm/gen/_ctx_start.S#1 branch .. //depot/projects/gdb/lib/libc/arm/gen/_setjmp.S#1 branch .. //depot/projects/gdb/lib/libc/arm/gen/alloca.S#1 branch .. //depot/projects/gdb/lib/libc/arm/gen/divsi3.S#1 branch .. //depot/projects/gdb/lib/libc/arm/gen/fabs.c#1 branch .. //depot/projects/gdb/lib/libc/arm/gen/frexp.c#1 branch .. //depot/projects/gdb/lib/libc/arm/gen/infinity.c#1 branch .. //depot/projects/gdb/lib/libc/arm/gen/isinf.c#1 branch .. //depot/projects/gdb/lib/libc/arm/gen/ldexp.c#1 branch .. //depot/projects/gdb/lib/libc/arm/gen/makecontext.c#1 branch .. //depot/projects/gdb/lib/libc/arm/gen/modf.c#1 branch .. //depot/projects/gdb/lib/libc/arm/gen/setjmp.S#1 branch .. //depot/projects/gdb/lib/libc/arm/gen/signalcontext.c#1 branch .. //depot/projects/gdb/lib/libc/arm/gen/sigsetjmp.S#1 branch .. //depot/projects/gdb/lib/libc/arm/net/Makefile.inc#1 branch .. //depot/projects/gdb/lib/libc/arm/net/htonl.S#1 branch .. //depot/projects/gdb/lib/libc/arm/net/htons.S#1 branch .. //depot/projects/gdb/lib/libc/arm/net/ntohl.S#1 branch .. //depot/projects/gdb/lib/libc/arm/net/ntohs.S#1 branch .. //depot/projects/gdb/lib/libc/arm/softfloat/arm-gcc.h#1 branch .. //depot/projects/gdb/lib/libc/arm/softfloat/milieu.h#1 branch .. //depot/projects/gdb/lib/libc/arm/softfloat/softfloat.h#1 branch .. //depot/projects/gdb/lib/libc/arm/stdlib/Makefile.inc#1 branch .. //depot/projects/gdb/lib/libc/arm/stdlib/gdtoa.mk#1 branch .. //depot/projects/gdb/lib/libc/arm/string/Makefile.inc#1 branch .. //depot/projects/gdb/lib/libc/arm/string/bcopy.S#1 branch .. //depot/projects/gdb/lib/libc/arm/string/bzero.S#1 branch .. //depot/projects/gdb/lib/libc/arm/string/ffs.S#1 branch .. //depot/projects/gdb/lib/libc/arm/string/memcmp.S#1 branch .. //depot/projects/gdb/lib/libc/arm/string/memcpy.S#1 branch .. //depot/projects/gdb/lib/libc/arm/string/memcpy_arm.S#1 branch .. //depot/projects/gdb/lib/libc/arm/string/memcpy_xscale.S#1 branch .. //depot/projects/gdb/lib/libc/arm/string/memmove.S#1 branch .. //depot/projects/gdb/lib/libc/arm/string/memset.S#1 branch .. //depot/projects/gdb/lib/libc/arm/string/strcmp.S#1 branch .. //depot/projects/gdb/lib/libc/arm/string/strncmp.S#1 branch .. //depot/projects/gdb/lib/libc/arm/sys/Makefile.inc#1 branch .. //depot/projects/gdb/lib/libc/arm/sys/Ovfork.S#1 branch .. //depot/projects/gdb/lib/libc/arm/sys/brk.S#1 branch .. //depot/projects/gdb/lib/libc/arm/sys/cerror.S#1 branch .. //depot/projects/gdb/lib/libc/arm/sys/fork.S#1 branch .. //depot/projects/gdb/lib/libc/arm/sys/getcontext.S#1 branch .. //depot/projects/gdb/lib/libc/arm/sys/pipe.S#1 branch .. //depot/projects/gdb/lib/libc/arm/sys/ptrace.S#1 branch .. //depot/projects/gdb/lib/libc/arm/sys/sbrk.S#1 branch .. //depot/projects/gdb/lib/libc/arm/sys/shmat.S#1 branch .. //depot/projects/gdb/lib/libc/arm/sys/sigreturn.S#1 branch .. //depot/projects/gdb/lib/libc/arm/sys/syscall.S#1 branch .. //depot/projects/gdb/lib/libc/gen/fts.c#4 integrate .. //depot/projects/gdb/lib/libc/locale/big5.c#6 integrate .. //depot/projects/gdb/lib/libc/locale/btowc.c#3 integrate .. //depot/projects/gdb/lib/libc/locale/euc.c#6 integrate .. //depot/projects/gdb/lib/libc/locale/gb18030.c#6 integrate .. //depot/projects/gdb/lib/libc/locale/gb2312.c#6 integrate .. //depot/projects/gdb/lib/libc/locale/gbk.c#6 integrate .. //depot/projects/gdb/lib/libc/locale/mblen.c#3 integrate .. //depot/projects/gdb/lib/libc/locale/mblocal.h#1 branch .. //depot/projects/gdb/lib/libc/locale/mbrlen.c#3 integrate .. //depot/projects/gdb/lib/libc/locale/mbrtowc.c#4 integrate .. //depot/projects/gdb/lib/libc/locale/mbsinit.c#3 integrate .. //depot/projects/gdb/lib/libc/locale/mbsrtowcs.c#3 integrate .. //depot/projects/gdb/lib/libc/locale/mbstowcs.c#3 integrate .. //depot/projects/gdb/lib/libc/locale/mbtowc.c#3 integrate .. //depot/projects/gdb/lib/libc/locale/mskanji.c#6 integrate .. //depot/projects/gdb/lib/libc/locale/none.c#3 integrate .. //depot/projects/gdb/lib/libc/locale/setrunelocale.c#4 integrate .. //depot/projects/gdb/lib/libc/locale/srune.c#3 integrate .. //depot/projects/gdb/lib/libc/locale/table.c#4 integrate .. //depot/projects/gdb/lib/libc/locale/utf2.c#6 integrate .. //depot/projects/gdb/lib/libc/locale/utf8.c#5 integrate .. //depot/projects/gdb/lib/libc/locale/wcrtomb.c#4 integrate .. //depot/projects/gdb/lib/libc/locale/wcsrtombs.c#3 integrate .. //depot/projects/gdb/lib/libc/locale/wcstombs.c#3 integrate .. //depot/projects/gdb/lib/libc/locale/wctob.c#3 integrate .. //depot/projects/gdb/lib/libc/locale/wctomb.c#3 integrate .. //depot/projects/gdb/lib/libc/softfloat/Makefile.inc#1 branch .. //depot/projects/gdb/lib/libc/softfloat/README.NetBSD#1 branch .. //depot/projects/gdb/lib/libc/softfloat/README.txt#1 branch .. //depot/projects/gdb/lib/libc/softfloat/bits32/softfloat-macros#1 branch .. //depot/projects/gdb/lib/libc/softfloat/bits32/softfloat.c#1 branch .. //depot/projects/gdb/lib/libc/softfloat/bits64/softfloat-macros#1 branch .. //depot/projects/gdb/lib/libc/softfloat/bits64/softfloat.c#1 branch .. //depot/projects/gdb/lib/libc/softfloat/eqdf2.c#1 branch .. //depot/projects/gdb/lib/libc/softfloat/eqsf2.c#1 branch .. //depot/projects/gdb/lib/libc/softfloat/fpgetmask.c#1 branch .. //depot/projects/gdb/lib/libc/softfloat/fpgetround.c#1 branch .. //depot/projects/gdb/lib/libc/softfloat/fpgetsticky.c#1 branch .. //depot/projects/gdb/lib/libc/softfloat/fpsetmask.c#1 branch .. //depot/projects/gdb/lib/libc/softfloat/fpsetround.c#1 branch .. //depot/projects/gdb/lib/libc/softfloat/fpsetsticky.c#1 branch .. //depot/projects/gdb/lib/libc/softfloat/gedf2.c#1 branch .. //depot/projects/gdb/lib/libc/softfloat/gesf2.c#1 branch .. //depot/projects/gdb/lib/libc/softfloat/gtdf2.c#1 branch .. //depot/projects/gdb/lib/libc/softfloat/gtsf2.c#1 branch .. //depot/projects/gdb/lib/libc/softfloat/ledf2.c#1 branch .. //depot/projects/gdb/lib/libc/softfloat/lesf2.c#1 branch .. //depot/projects/gdb/lib/libc/softfloat/ltdf2.c#1 branch .. //depot/projects/gdb/lib/libc/softfloat/ltsf2.c#1 branch .. //depot/projects/gdb/lib/libc/softfloat/nedf2.c#1 branch .. //depot/projects/gdb/lib/libc/softfloat/negdf2.c#1 branch .. //depot/projects/gdb/lib/libc/softfloat/negsf2.c#1 branch .. //depot/projects/gdb/lib/libc/softfloat/nesf2.c#1 branch .. //depot/projects/gdb/lib/libc/softfloat/softfloat-for-gcc.h#1 branch .. //depot/projects/gdb/lib/libc/softfloat/softfloat-history.txt#1 branch .. //depot/projects/gdb/lib/libc/softfloat/softfloat-source.txt#1 branch .. //depot/projects/gdb/lib/libc/softfloat/softfloat-specialize#1 branch .. //depot/projects/gdb/lib/libc/softfloat/softfloat.txt#1 branch .. //depot/projects/gdb/lib/libc/softfloat/templates/milieu.h#1 branch .. //depot/projects/gdb/lib/libc/softfloat/templates/softfloat-specialize#1 branch .. //depot/projects/gdb/lib/libc/softfloat/templates/softfloat.h#1 branch .. //depot/projects/gdb/lib/libc/softfloat/timesoftfloat.c#1 branch .. //depot/projects/gdb/lib/libc/softfloat/timesoftfloat.txt#1 branch .. //depot/projects/gdb/lib/libc/softfloat/unorddf2.c#1 branch .. //depot/projects/gdb/lib/libc/softfloat/unordsf2.c#1 branch .. //depot/projects/gdb/lib/libc/stdlib/Makefile.inc#3 integrate .. //depot/projects/gdb/lib/libc/stdlib/malloc.c#4 integrate .. //depot/projects/gdb/lib/libc/stdlib/radixsort.3#2 integrate .. //depot/projects/gdb/lib/libc/sys/nfssvc.2#2 integrate .. //depot/projects/gdb/lib/libc/xdr/xdr_float.c#2 integrate .. //depot/projects/gdb/lib/libkvm/kvm_arm.c#1 branch .. //depot/projects/gdb/lib/libpthread/arch/arm/Makefile.inc#1 branch .. //depot/projects/gdb/lib/libpthread/arch/arm/arm/context.S#1 branch .. //depot/projects/gdb/lib/libpthread/arch/arm/arm/pthread_md.c#1 branch .. //depot/projects/gdb/lib/libpthread/arch/arm/include/atomic_ops.h#1 branch .. //depot/projects/gdb/lib/libpthread/arch/arm/include/pthread_md.h#1 branch .. //depot/projects/gdb/lib/libradius/Makefile#4 integrate .. //depot/projects/gdb/lib/libstand/arm/_setjmp.S#1 branch .. //depot/projects/gdb/lib/libstand/zalloc_defs.h#3 integrate .. //depot/projects/gdb/lib/libvgl/vgl.3#2 integrate .. //depot/projects/gdb/libexec/ftpd/ftpd.c#3 integrate .. //depot/projects/gdb/libexec/rtld-elf/Makefile#3 integrate .. //depot/projects/gdb/libexec/rtld-elf/arm/Makefile.inc#1 branch .. //depot/projects/gdb/libexec/rtld-elf/arm/lockdflt.c#1 branch .. //depot/projects/gdb/libexec/rtld-elf/arm/reloc.c#1 branch .. //depot/projects/gdb/libexec/rtld-elf/arm/rtld_machdep.h#1 branch .. //depot/projects/gdb/libexec/rtld-elf/arm/rtld_start.S#1 branch .. //depot/projects/gdb/sbin/atm/atm/Makefile#2 integrate .. //depot/projects/gdb/sbin/atm/atmconfig/Makefile#3 integrate .. //depot/projects/gdb/sbin/atm/ilmid/Makefile#2 integrate .. //depot/projects/gdb/sbin/camcontrol/Makefile#2 integrate .. //depot/projects/gdb/sbin/ggate/ggatec/ggatec.8#3 integrate .. //depot/projects/gdb/sbin/ggate/ggated/ggated.8#2 integrate .. //depot/projects/gdb/sbin/ggate/ggatel/ggatel.8#3 integrate .. //depot/projects/gdb/secure/lib/libcrypto/opensslconf-arm.h#1 branch .. //depot/projects/gdb/secure/lib/libssl/Makefile#2 integrate .. //depot/projects/gdb/share/examples/etc/README.examples#2 integrate .. //depot/projects/gdb/share/man/man4/aue.4#3 integrate .. //depot/projects/gdb/share/man/man4/bktr.4#2 integrate .. //depot/projects/gdb/share/man/man4/digi.4#2 integrate .. //depot/projects/gdb/share/man/man4/fxp.4#3 integrate .. //depot/projects/gdb/share/man/man4/ng_sppp.4#2 integrate .. //depot/projects/gdb/share/man/man4/null.4#2 integrate .. //depot/projects/gdb/share/man/man4/route.4#2 integrate .. //depot/projects/gdb/share/man/man4/smbus.4#2 integrate .. //depot/projects/gdb/share/man/man4/tcp.4#3 integrate .. //depot/projects/gdb/share/man/man4/ttcp.4#2 integrate .. //depot/projects/gdb/share/man/man4/tun.4#2 integrate .. //depot/projects/gdb/share/man/man5/config.5#2 integrate .. //depot/projects/gdb/share/man/man7/release.7#4 integrate .. //depot/projects/gdb/share/man/man9/BUS_ADD_CHILD.9#1 branch .. //depot/projects/gdb/share/man/man9/DEVICE_IDENTIFY.9#3 integrate .. //depot/projects/gdb/share/man/man9/Makefile#6 integrate .. //depot/projects/gdb/share/man/man9/bus_dma.9#2 integrate .. //depot/projects/gdb/share/man/man9/device_add_child.9#2 integrate .. //depot/projects/gdb/share/mk/bsd.cpu.mk#7 integrate .. //depot/projects/gdb/share/mk/sys.mk#5 integrate .. //depot/projects/gdb/sys/Makefile#3 integrate .. //depot/projects/gdb/sys/arm/arm/autoconf.c#1 branch .. //depot/projects/gdb/sys/arm/arm/bcopy_page.S#1 branch .. //depot/projects/gdb/sys/arm/arm/bcopyinout.S#1 branch .. //depot/projects/gdb/sys/arm/arm/bcopyinout_xscale.S#1 branch .. //depot/projects/gdb/sys/arm/arm/blockio.S#1 branch .. //depot/projects/gdb/sys/arm/arm/bootconfig.c#1 branch .. //depot/projects/gdb/sys/arm/arm/bus_space_asm_generic.S#1 branch .. //depot/projects/gdb/sys/arm/arm/busdma_machdep.c#1 branch .. //depot/projects/gdb/sys/arm/arm/copystr.S#1 branch .. //depot/projects/gdb/sys/arm/arm/cpufunc.c#1 branch .. //depot/projects/gdb/sys/arm/arm/cpufunc_asm.S#1 branch .. //depot/projects/gdb/sys/arm/arm/cpufunc_asm_arm10.S#1 branch .. //depot/projects/gdb/sys/arm/arm/cpufunc_asm_arm3.S#1 branch .. //depot/projects/gdb/sys/arm/arm/cpufunc_asm_arm67.S#1 branch .. //depot/projects/gdb/sys/arm/arm/cpufunc_asm_arm7tdmi.S#1 branch .. //depot/projects/gdb/sys/arm/arm/cpufunc_asm_arm8.S#1 branch .. //depot/projects/gdb/sys/arm/arm/cpufunc_asm_arm9.S#1 branch .. //depot/projects/gdb/sys/arm/arm/cpufunc_asm_armv4.S#1 branch .. //depot/projects/gdb/sys/arm/arm/cpufunc_asm_ixp12x0.S#1 branch .. //depot/projects/gdb/sys/arm/arm/cpufunc_asm_sa1.S#1 branch .. //depot/projects/gdb/sys/arm/arm/cpufunc_asm_sa11x0.S#1 branch .. //depot/projects/gdb/sys/arm/arm/cpufunc_asm_xscale.S#1 branch .. //depot/projects/gdb/sys/arm/arm/critical.c#1 branch .. //depot/projects/gdb/sys/arm/arm/db_disasm.c#1 branch .. //depot/projects/gdb/sys/arm/arm/db_interface.c#1 branch .. //depot/projects/gdb/sys/arm/arm/db_trace.c#1 branch .. //depot/projects/gdb/sys/arm/arm/disassem.c#1 branch .. //depot/projects/gdb/sys/arm/arm/dump_machdep.c#1 branch .. //depot/projects/gdb/sys/arm/arm/elf_machdep.c#1 branch .. //depot/projects/gdb/sys/arm/arm/exception.S#1 branch .. //depot/projects/gdb/sys/arm/arm/fiq.c#1 branch .. //depot/projects/gdb/sys/arm/arm/fiq_subr.S#1 branch .. //depot/projects/gdb/sys/arm/arm/fusu.S#1 branch .. //depot/projects/gdb/sys/arm/arm/genassym.c#1 branch .. //depot/projects/gdb/sys/arm/arm/identcpu.c#1 branch .. //depot/projects/gdb/sys/arm/arm/in_cksum.c#1 branch .. //depot/projects/gdb/sys/arm/arm/in_cksum_arm.S#1 branch .. //depot/projects/gdb/sys/arm/arm/intr.c#1 branch .. //depot/projects/gdb/sys/arm/arm/irq_dispatch.S#1 branch .. //depot/projects/gdb/sys/arm/arm/locore.S#1 branch .. //depot/projects/gdb/sys/arm/arm/machdep.c#1 branch .. //depot/projects/gdb/sys/arm/arm/nexus.c#1 branch .. //depot/projects/gdb/sys/arm/arm/nexus_io.c#1 branch .. //depot/projects/gdb/sys/arm/arm/nexus_io_asm.S#1 branch .. //depot/projects/gdb/sys/arm/arm/pmap.c#1 branch .. //depot/projects/gdb/sys/arm/arm/setcpsr.S#1 branch .. //depot/projects/gdb/sys/arm/arm/setstack.s#1 branch .. //depot/projects/gdb/sys/arm/arm/support.S#1 branch .. //depot/projects/gdb/sys/arm/arm/swtch.S#1 branch .. //depot/projects/gdb/sys/arm/arm/sys_machdep.c#1 branch .. //depot/projects/gdb/sys/arm/arm/trap.c#1 branch .. //depot/projects/gdb/sys/arm/arm/uio_machdep.c#1 branch .. //depot/projects/gdb/sys/arm/arm/undefined.c#1 branch .. //depot/projects/gdb/sys/arm/arm/vectors.S#1 branch .. //depot/projects/gdb/sys/arm/arm/vm_machdep.c#1 branch .. //depot/projects/gdb/sys/arm/conf/SIMICS#1 branch .. //depot/projects/gdb/sys/arm/include/_inttypes.h#1 branch .. //depot/projects/gdb/sys/arm/include/armreg.h#1 branch .. //depot/projects/gdb/sys/arm/include/asm.h#1 branch .. //depot/projects/gdb/sys/arm/include/asmacros.h#1 branch .. //depot/projects/gdb/sys/arm/include/atomic.h#1 branch .. //depot/projects/gdb/sys/arm/include/blockio.h#1 branch .. //depot/projects/gdb/sys/arm/include/bootconfig.h#1 branch .. //depot/projects/gdb/sys/arm/include/bus.h#1 branch .. //depot/projects/gdb/sys/arm/include/clock.h#1 branch .. //depot/projects/gdb/sys/arm/include/cpu.h#1 branch .. //depot/projects/gdb/sys/arm/include/cpuconf.h#1 branch .. //depot/projects/gdb/sys/arm/include/cpufunc.h#1 branch .. //depot/projects/gdb/sys/arm/include/critical.h#1 branch .. //depot/projects/gdb/sys/arm/include/db_machdep.h#1 branch .. //depot/projects/gdb/sys/arm/include/disassem.h#1 branch .. //depot/projects/gdb/sys/arm/include/fiq.h#1 branch .. //depot/projects/gdb/sys/arm/include/float.h#1 branch .. //depot/projects/gdb/sys/arm/include/floatingpoint.h#1 branch .. //depot/projects/gdb/sys/arm/include/fp.h#1 branch .. //depot/projects/gdb/sys/arm/include/frame.h#1 branch .. //depot/projects/gdb/sys/arm/include/ieee.h#1 branch .. //depot/projects/gdb/sys/arm/include/ieeefp.h#1 branch .. //depot/projects/gdb/sys/arm/include/in_cksum.h#1 branch .. //depot/projects/gdb/sys/arm/include/intr.h#1 branch .. //depot/projects/gdb/sys/arm/include/katelib.h#1 branch .. //depot/projects/gdb/sys/arm/include/machdep.h#1 branch .. //depot/projects/gdb/sys/arm/include/md_var.h#1 branch .. //depot/projects/gdb/sys/arm/include/metadata.h#1 branch .. //depot/projects/gdb/sys/arm/include/mutex.h#1 branch .. //depot/projects/gdb/sys/arm/include/param.h#2 integrate .. //depot/projects/gdb/sys/arm/include/pcb.h#1 branch .. //depot/projects/gdb/sys/arm/include/pcpu.h#1 branch .. //depot/projects/gdb/sys/arm/include/pmap.h#1 branch .. //depot/projects/gdb/sys/arm/include/proc.h#1 branch .. //depot/projects/gdb/sys/arm/include/profile.h#1 branch .. //depot/projects/gdb/sys/arm/include/psl.h#1 branch .. //depot/projects/gdb/sys/arm/include/pte.h#1 branch .. //depot/projects/gdb/sys/arm/include/ptrace.h#1 branch .. //depot/projects/gdb/sys/arm/include/reg.h#1 branch .. //depot/projects/gdb/sys/arm/include/reloc.h#1 branch .. //depot/projects/gdb/sys/arm/include/resource.h#1 branch .. //depot/projects/gdb/sys/arm/include/runq.h#1 branch .. //depot/projects/gdb/sys/arm/include/setjmp.h#1 branch .. //depot/projects/gdb/sys/arm/include/sf_buf.h#1 branch .. //depot/projects/gdb/sys/arm/include/sigframe.h#1 branch .. //depot/projects/gdb/sys/arm/include/smp.h#1 branch .. //depot/projects/gdb/sys/arm/include/stdarg.h#1 branch .. //depot/projects/gdb/sys/arm/include/swi.h#1 branch .. //depot/projects/gdb/sys/arm/include/trap.h#1 branch .. //depot/projects/gdb/sys/arm/include/ucontext.h#2 integrate .. //depot/projects/gdb/sys/arm/include/undefined.h#1 branch .. //depot/projects/gdb/sys/arm/include/utrap.h#1 branch .. //depot/projects/gdb/sys/arm/include/vmparam.h#1 branch .. //depot/projects/gdb/sys/arm/sa11x0/assabet_machdep.c#1 branch .. //depot/projects/gdb/sys/arm/sa11x0/files.sa11x0#1 branch .. //depot/projects/gdb/sys/arm/sa11x0/sa11x0.c#1 branch .. //depot/projects/gdb/sys/arm/sa11x0/sa11x0_dmacreg.h#1 branch .. //depot/projects/gdb/sys/arm/sa11x0/sa11x0_gpioreg.h#1 branch .. //depot/projects/gdb/sys/arm/sa11x0/sa11x0_io.c#1 branch .. //depot/projects/gdb/sys/arm/sa11x0/sa11x0_io_asm.S#1 branch .. //depot/projects/gdb/sys/arm/sa11x0/sa11x0_irq.S#1 branch .. //depot/projects/gdb/sys/arm/sa11x0/sa11x0_irqhandler.c#1 branch .. //depot/projects/gdb/sys/arm/sa11x0/sa11x0_ost.c#1 branch .. //depot/projects/gdb/sys/arm/sa11x0/sa11x0_ostreg.h#1 branch .. //depot/projects/gdb/sys/arm/sa11x0/sa11x0_ppcreg.h#1 branch .. //depot/projects/gdb/sys/arm/sa11x0/sa11x0_reg.h#1 branch .. //depot/projects/gdb/sys/arm/sa11x0/sa11x0_var.h#1 branch .. //depot/projects/gdb/sys/arm/sa11x0/std.sa11x0#1 branch .. //depot/projects/gdb/sys/arm/sa11x0/uart_bus_sa1110.c#1 branch .. //depot/projects/gdb/sys/arm/sa11x0/uart_cpu_sa1110.c#1 branch .. //depot/projects/gdb/sys/arm/sa11x0/uart_dev_sa1110.c#1 branch .. //depot/projects/gdb/sys/arm/sa11x0/uart_dev_sa1110.h#1 branch .. //depot/projects/gdb/sys/boot/Makefile#3 integrate .. //depot/projects/gdb/sys/boot/i386/boot0/boot0.S#2 integrate .. //depot/projects/gdb/sys/boot/i386/boot2/boot1.S#3 integrate .. //depot/projects/gdb/sys/boot/i386/boot2/sio.S#3 integrate .. //depot/projects/gdb/sys/boot/i386/btx/btx/btx.S#3 integrate .. //depot/projects/gdb/sys/boot/i386/btx/btxldr/btxldr.S#3 integrate .. //depot/projects/gdb/sys/boot/i386/libi386/amd64_tramp.S#3 integrate .. //depot/projects/gdb/sys/boot/i386/libi386/biosacpi.c#2 integrate .. //depot/projects/gdb/sys/boot/i386/pxeldr/pxeldr.S#3 integrate .. //depot/projects/gdb/sys/boot/pc98/boot2/serial_16550.S#3 integrate .. //depot/projects/gdb/sys/boot/pc98/boot2/serial_8251.S#3 integrate .. //depot/projects/gdb/sys/boot/pc98/btx/btx/btx.S#3 integrate .. //depot/projects/gdb/sys/boot/pc98/btx/btxldr/btxldr.S#3 integrate .. //depot/projects/gdb/sys/conf/Makefile.arm#1 branch .. //depot/projects/gdb/sys/conf/files.arm#1 branch .. //depot/projects/gdb/sys/conf/files.pc98#10 integrate .. //depot/projects/gdb/sys/conf/kern.mk#5 integrate .. //depot/projects/gdb/sys/conf/ldscript.arm#1 branch .. //depot/projects/gdb/sys/conf/options#19 integrate .. //depot/projects/gdb/sys/conf/options.arm#1 branch .. //depot/projects/gdb/sys/dev/aac/aac_pci.c#5 integrate .. //depot/projects/gdb/sys/dev/acpica/acpi_ec.c#6 integrate .. //depot/projects/gdb/sys/dev/firewire/firewire.c#5 integrate .. //depot/projects/gdb/sys/dev/ichwd/ichwd.c#2 integrate .. //depot/projects/gdb/sys/dev/if_ndis/if_ndis.c#16 integrate .. //depot/projects/gdb/sys/dev/iicbus/iicbus.c#2 integrate .. //depot/projects/gdb/sys/dev/pccard/pccarddevs#6 integrate .. //depot/projects/gdb/sys/dev/pccard/pccarddevs.h#6 integrate .. //depot/projects/gdb/sys/dev/sound/isa/sb.h#2 integrate .. //depot/projects/gdb/sys/dev/sound/isa/sb16.c#5 integrate .. //depot/projects/gdb/sys/dev/sound/isa/sbc.c#4 integrate .. //depot/projects/gdb/sys/dev/twa/twa.h#2 integrate .. //depot/projects/gdb/sys/dev/twa/twa_cam.c#2 integrate .. //depot/projects/gdb/sys/dev/twa/twa_freebsd.c#3 integrate .. //depot/projects/gdb/sys/dev/uart/uart_cpu_pc98.c#3 integrate .. //depot/projects/gdb/sys/dev/usb/umodem.c#2 integrate .. //depot/projects/gdb/sys/kern/kern_synch.c#9 integrate .. //depot/projects/gdb/sys/kern/subr_sleepqueue.c#4 integrate .. //depot/projects/gdb/sys/libkern/arm/divsi3.S#1 branch .. //depot/projects/gdb/sys/libkern/arm/ffs.S#1 branch .. //depot/projects/gdb/sys/libkern/arm/muldi3.c#1 branch .. //depot/projects/gdb/sys/modules/Makefile#11 integrate .. //depot/projects/gdb/sys/netinet6/ip6_output.c#5 integrate .. //depot/projects/gdb/sys/pci/agp_via.c#3 integrate .. //depot/projects/gdb/sys/pci/agpreg.h#3 integrate .. //depot/projects/gdb/sys/security/mac_portacl/mac_portacl.c#3 integrate .. //depot/projects/gdb/sys/ufs/ffs/ffs_alloc.c#4 integrate .. //depot/projects/gdb/tools/tools/tinderbox/tinderbox.pl#6 integrate .. //depot/projects/gdb/usr.bin/Makefile#7 integrate .. //depot/projects/gdb/usr.bin/enigma/enigma.1#2 integrate .. //depot/projects/gdb/usr.bin/find/find.1#5 integrate .. //depot/projects/gdb/usr.bin/gprof/arm.c#1 branch .. //depot/projects/gdb/usr.bin/gprof/arm.h#1 branch .. //depot/projects/gdb/usr.bin/gprof/gprof.h#2 integrate .. //depot/projects/gdb/usr.bin/netstat/inet.c#4 integrate .. //depot/projects/gdb/usr.bin/xlint/lint1/param.h#2 integrate .. //depot/projects/gdb/usr.sbin/Makefile#5 integrate .. //depot/projects/gdb/usr.sbin/acpi/acpidump/acpi_user.c#3 integrate .. //depot/projects/gdb/usr.sbin/acpi/acpidump/acpidump.h#3 integrate .. //depot/projects/gdb/usr.sbin/gstat/gstat.c#4 integrate .. //depot/projects/gdb/usr.sbin/ppp/ip.c#2 integrate .. //depot/projects/gdb/usr.sbin/setkey/parse.y#4 integrate .. //depot/projects/gdb/usr.sbin/sysinstall/install.c#5 integrate .. //depot/projects/gdb/usr.sbin/sysinstall/label.c#3 integrate Differences ... ==== //depot/projects/gdb/Makefile.inc1#9 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.424 2004/04/27 15:00:29 ru Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.426 2004/05/13 07:51:46 ru Exp $ # # Make command line options: # -DNO_DYNAMICROOT do not link /bin and /sbin dynamically @@ -897,12 +897,11 @@ _prebuild_libs+= lib/libcom_err lib/libcrypt lib/libexpat \ lib/libkvm lib/libmd \ lib/libncurses lib/libnetgraph lib/libopie lib/libpam \ - lib/libradius lib/librpcsvc \ + lib/libradius \ lib/libsbuf lib/libtacplus lib/libutil lib/libypclnt \ lib/libz lib/msun lib/libopie__L lib/libtacplus__L: lib/libmd__L -lib/libypclnt__L: lib/librpcsvc__L _generic_libs+= lib @@ -910,9 +909,15 @@ .if !defined(NO_OPENSSL) _prebuild_libs+= secure/lib/libcrypto secure/lib/libssl lib/libradius__L: secure/lib/libssl__L +secure/lib/libssl__L: secure/lib/libcrypto__L .if !defined(NO_OPENSSH) _prebuild_libs+= secure/lib/libssh -secure/lib/libssh__L: secure/lib/libcrypto__L lib/libz__L +secure/lib/libssh__L: lib/libz__L secure/lib/libcrypto__L lib/libcrypt__L +.if !defined(NO_KERBEROS) +secure/lib/libssh__L: kerberos5/lib/libgssapi__L kerberos5/lib/libkrb5__L \ + kerberos5/lib/libasn1__L lib/libcom_err__L lib/libmd__L \ + kerberos5/lib/libroken__L +.endif .endif .endif _generic_libs+= secure/lib ==== //depot/projects/gdb/bin/pax/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 -# $FreeBSD: src/bin/pax/Makefile,v 1.11 2003/06/13 07:04:02 markm Exp $ +# $FreeBSD: src/bin/pax/Makefile,v 1.12 2004/05/14 13:31:19 cognet Exp $ # To install on versions prior to BSD 4.4 the following may have to be # defined with CFLAGS += @@ -33,4 +33,8 @@ #MAN= pax.1 tar.1 cpio.1 #LINKS= ${BINDIR}/pax ${BINDIR}/tar ${BINDIR}/pax ${BINDIR}/cpio +.if ${MACHINE_ARCH} == "arm" +WARNS?= 3 +.endif + .include ==== //depot/projects/gdb/contrib/amd/FREEBSD-Xlist#2 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/contrib/amd/FREEBSD-Xlist,v 1.3 2001/09/02 20:15:13 obrien Exp $ +$FreeBSD: src/contrib/amd/FREEBSD-Xlist,v 1.4 2004/05/14 13:28:37 mbr Exp $ *LSM.am-utils *Makefile.* *README.autofs @@ -58,8 +58,10 @@ *conf/nfs_prot/nfs_prot_aix4.h *conf/nfs_prot/nfs_prot_aix4_2.h *conf/nfs_prot/nfs_prot_aix4_3.h +*conf/nfs_prot/nfs_prot_aix5_1.h *conf/nfs_prot/nfs_prot_bsdi2.h *conf/nfs_prot/nfs_prot_bsdi3.h +*conf/nfs_prot/nfs_prot_darwin.h *conf/nfs_prot/nfs_prot_default.h *conf/nfs_prot/nfs_prot_hpux.h *conf/nfs_prot/nfs_prot_hpux11.h @@ -74,6 +76,7 @@ *conf/nfs_prot/nfs_prot_openbsd.h *conf/nfs_prot/nfs_prot_osf2.h *conf/nfs_prot/nfs_prot_osf4.h +*conf/nfs_prot/nfs_prot_osf5.h *conf/nfs_prot/nfs_prot_osf5_1.h *conf/nfs_prot/nfs_prot_sunos3.h *conf/nfs_prot/nfs_prot_sunos4.h ==== //depot/projects/gdb/contrib/amd/FREEBSD-upgrade#2 (text+ko) ==== @@ -1,5 +1,5 @@ # ex:ts=8 -$FreeBSD: src/contrib/amd/FREEBSD-upgrade,v 1.14 2003/09/03 00:46:21 mbr Exp $ +$FreeBSD: src/contrib/amd/FREEBSD-upgrade,v 1.15 2004/05/14 13:29:48 mbr Exp $ AMD (am-utils) 6.0.9 originals can be found at: ftp://shekel.mcl.cs.columbia.edu/pub/am-utils/ @@ -28,6 +28,72 @@ All local changes should be submitted to "amd-dev@majordomo.cs.columbia.edu" for inclusion in the next vendor release. +Local changes: + + amd/amd.8 + r1.17 Uniformly refer to a file system as "file system" + r1.16 Add the am-utils homepage to SEE ALSO + r1.15 s/BSD/.Bx/ where appropriate + r1.14 Avoid using parenthesis enclosure macros + r1.13 split punctuation characters + misc fixes + r1.12 mdoc(7)NG + r1.11 Catch a left over reference to "/a" + r1.10 Document change to the default mount dir. + r1.9 Mention "amd -H" in the synopsis + r1.8 Fix miscellaneous mdoc macro argument limit infringements + r1.7 Don't refer to non-existent automount(8) + r1.6 Fix errors in .Xr usage + r1.3 un-mandocafied, un4.4BSD'ed + r1.2 sort cross references + amd/amd.c + r1.7 use /.amd_mnt as default for -a + amq/amq.8 + r1.9 Uniformly refer to a file system as "file system". + r1.8 s/BSD/.Bx/ where appropriate. + r1.6 mdoc(7)NG. + r1.5 Remove reference to non-existent manpage + r1.4 Fix typos + r1.3 un-mandocafied, un4.4BSD'ed + amq/pawd.1 + r1.3 un-mandocafied, un4.4BSD'ed + r1.2 sorting of references + conf/nfs_prot/nfs_prot_freebsd3.h + r1.11 Userland part of nfs client/server split and cleanup + r1.6 restore the standard name nfs_fh3 + r1.3 Fully use our own generated files for NFSv3 + r1.2 rpcgen our own files for NFSv3 support + fixmount/fixmount.8 + r1.8 Uniformly refer to a file system as "file system" + r1.6 split punctuation characters + misc fixes. + r1.5 mdoc(7)NG. + r1.4 ".Mn mountd" -> ".Nm mountd" + r1.3 un-mandocafied, un4.4BSD'ed + r1.2 More sorting of references. + fsinfo/fsinfo.8 + r1.9 add section number to .Xr directive + r1.7 Uniformly refer to a file system as "file system" + r1.6 split punctuation characters + misc fixes + r1.5 mdoc(7)NG + r1.3 describe all of the command line options + r1.2 un-mandocafied, un4.4BSD'ed + mk-amd-map/mk-amd-map.8 + r1.4 removed HISTORY info from the .Os call. + r1.2 un-mandocafied, un4.4BSD'ed + scripts/amd.conf.5 + r1.15 Bring man page back in shape + r1.13 Uniformly refer to a file system as "file system" + r1.12 Avoid using parenthesis enclosure macros + r1.11 mdoc(7)NG + r1.10 Fix miscellaneous mdoc macro argument limit infringements + r1.8 Fix a bunch of broken cross-references + r1.7 Bad reference of uname(2) -> uname(3) + r1.6 Grammer fix and style nits. + r1.5 xfer typo + r1.4 un-mandocafied, un4.4BSD'ed + r1.3 More sorting of references. + wire-test/wire-test.8 + r1.2 un-mandocafied, un4.4BSD'ed + mbr@FreeBSD.org obrien@NUXI.com 05-November-1999 ==== //depot/projects/gdb/include/fts.h#4 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)fts.h 8.3 (Berkeley) 8/14/94 - * $FreeBSD: src/include/fts.h,v 1.9 2004/05/10 09:36:26 bde Exp $ + * $FreeBSD: src/include/fts.h,v 1.10 2004/05/12 21:38:39 peadar Exp $ */ #ifndef _FTS_H_ @@ -63,7 +63,6 @@ #define FTS_STOP 0x200 /* (private) unrecoverable error */ int fts_options; /* fts_open options, global flags */ void *fts_clientptr; /* thunk for sort function */ - struct _fts_private *fts_priv; /* implementation data */ } FTS; typedef struct _ftsent { ==== //depot/projects/gdb/lib/Makefile#6 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $FreeBSD: src/lib/Makefile,v 1.182 2004/04/21 23:23:05 grehan Exp $ +# $FreeBSD: src/lib/Makefile,v 1.185 2004/05/14 19:52:35 bde Exp $ # To satisfy shared library or ELF linkage when only the libraries being # built are visible: @@ -26,7 +26,7 @@ libnetgraph libradius librpcsvc libsbuf libtacplus libutil \ ${_libypclnt} ${_compat} libalias libarchive ${_libatm} ${_libbind} \ ${_libbluetooth} libbsnmp libbz2 libc ${_libc_r} \ - libcalendar libcam libcompat libdevinfo libdevstat libdisk \ + libcalendar libcam libcompat libdevinfo libdevstat ${_libdisk} \ libedit libexpat libfetch libform libftpio libgeom ${_libio} libipsec \ libipx libisc libkiconv libmenu ${_libmilter} ${_libmp} ${_libncp} \ ${_libngatm} libopie libpam libpanel libpcap \ @@ -42,13 +42,6 @@ _csu=csu .endif -# libc_r is obsolete on ia64. -.if ${MACHINE_ARCH} != "ia64" && ${MACHINE_ARCH} != "powerpc" -.if !defined(NOLIBC_R) -_libc_r= libc_r -.endif -.endif - .if !defined(NOATM) _libatm= libatm _libngatm= libngatm @@ -58,17 +51,6 @@ _libbind= libbind .endif -.if !defined(NO_SENDMAIL) -_libmilter= libmilter -_libsm= libsm -_libsmdb= libsmdb -_libsmutil= libsmutil -.endif - -.if !defined(NO_USB) -_libusbhid= libusbhid -.endif - .if ${MACHINE_ARCH} == "i386" .if !defined(NO_BLUETOOTH) _libbluetooth= libbluetooth @@ -80,30 +62,47 @@ _libvgl= libvgl .endif +.if ${MACHINE_ARCH} != "arm" && ${MACHINE_ARCH} != "ia64" && \ + ${MACHINE_ARCH} != "powerpc" && !defined(NOLIBC_R) +_libc_r= libc_r +.endif + +.if ${MACHINE_ARCH} != "arm" +_libdisk= libdisk +.endif + .if ${MACHINE_ARCH} == "alpha" _libio= libio _compat= compat .endif +.if !defined(NO_SENDMAIL) +_libmilter= libmilter +_libsm= libsm +_libsmdb= libsmdb +_libsmutil= libsmutil +.endif + +.if !defined(NOCRYPT) && !defined(NO_OPENSSL) +_libmp= libmp +.endif + .if ${MACHINE_ARCH} == "amd64" _libncp= libncp _libsmb= libsmb .endif -.if ${MACHINE_ARCH} != "powerpc" -.if !defined(NOLIBPTHREAD) +.if ${MACHINE_ARCH} != "powerpc" && !defined(NOLIBPTHREAD) _libpthread= libpthread .endif -.endif -.if ${MACHINE_ARCH} != "amd64" -.if !defined(NOLIBTHR) +.if ${MACHINE_ARCH} != "amd64" && ${MACHINE_ARCH} != "arm" && \ + !defined(NOLIBTHR) _libthr= libthr .endif -.endif -.if !defined(NOCRYPT) && !defined(NO_OPENSSL) -_libmp= libmp +.if !defined(NO_USB) +_libusbhid= libusbhid .endif .if !defined(NO_YP_LIBC) ==== //depot/projects/gdb/lib/libarchive/Makefile#7 (text+ko) ==== @@ -1,9 +1,13 @@ -# $FreeBSD: src/lib/libarchive/Makefile,v 1.8 2004/04/28 04:34:07 kientzle Exp $ +# $FreeBSD: src/lib/libarchive/Makefile,v 1.10 2004/05/14 13:31:19 cognet Exp $ LIB= archive SHLIB_MAJOR= 1 +.if ${MACHINE_ARCH} == "arm" +WARNS?= 3 +.else WARNS?= 6 +.endif # I'm not yet ready for a shared version of this library, as # there are a couple of API changes still in the works. @@ -91,6 +95,7 @@ MLINKS+= archive_read.3 archive_read_data_into_file.3 MLINKS+= archive_read.3 archive_read_data_skip.3 MLINKS+= archive_read.3 archive_read_extract.3 +MLINKS+= archive_read.3 archive_read_extract_set_progress_callback.3 MLINKS+= archive_read.3 archive_read_finish.3 MLINKS+= archive_read.3 archive_read_new.3 MLINKS+= archive_read.3 archive_read_next_header.3 ==== //depot/projects/gdb/lib/libarchive/archive.h#8 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libarchive/archive.h,v 1.8 2004/05/03 01:40:34 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive.h,v 1.9 2004/05/13 06:01:14 kientzle Exp $ */ #ifndef ARCHIVE_H_INCLUDED @@ -200,6 +200,8 @@ int archive_read_extract(struct archive *, struct archive_entry *, int flags); +void archive_read_extract_set_progress_callback(struct archive *, + void (*_progress_func)(void *), void *_user_data); /* Close the file, release any resources, and destroy the object. */ void archive_read_finish(struct archive *); ==== //depot/projects/gdb/lib/libarchive/archive_private.h#9 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.8 2004/05/03 01:40:34 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.9 2004/05/13 06:01:14 kientzle Exp $ */ #ifndef ARCHIVE_PRIVATE_H_INCLUDED @@ -192,6 +192,8 @@ */ struct archive_string extract_mkdirpath; struct archive_extract_dir_entry *archive_extract_dir_list; + void (*extract_progress)(void *); + void *extract_progress_user_data; void (*cleanup_archive_extract)(struct archive *); int archive_error_number; ==== //depot/projects/gdb/lib/libarchive/archive_read.3#4 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libarchive/archive_read.3,v 1.3 2004/04/05 21:12:29 kientzle Exp $ +.\" $FreeBSD: src/lib/libarchive/archive_read.3,v 1.4 2004/05/13 06:01:14 kientzle Exp $ .\" .Dd October 1, 2003 .Dt archive_read 3 @@ -47,6 +47,7 @@ .Nm archive_read_data_into_buffer , .Nm archive_read_data_into_file , .Nm archive_read_extract , +.Nm archive_read_extract_set_progress_callback , .Nm archive_read_finish .Nd functions for reading tar archives .Sh SYNOPSIS @@ -90,6 +91,8 @@ .Ft int .Fn archive_read_extract "struct archive *" "int flags" .Ft void +.Fn archive_read_extract_set_progress_callback "struct archive *" "void (*func)(void *)" "void *user_data" +.Ft void .Fn archive_read_finish "struct archive *" .Sh DESCRIPTION These functions provide a complete API for reading streaming archives. @@ -202,6 +205,15 @@ the file is not recreated. In particular, the default behavior does not break existing hard links. .El +.It Fn archive_read_extract_set_progress_callback +Sets a pointer to a user-defined callback that can be used +for updating progress displays during extraction. +The progress function will be invoked during the extraction of large +regular files. +The progress function will be invoked with the pointer provided to this call. +Generally, the data pointed to should include a reference to the archive +object and the archive_entry object so that various statistics +can be retrieved for the progress display. .It Fn archive_read_finish Complete the archive, invoke the close callback, and release all resources. ==== //depot/projects/gdb/lib/libarchive/archive_read_data_into_fd.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_data_into_fd.c,v 1.4 2004/04/12 01:16:16 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_data_into_fd.c,v 1.5 2004/05/13 06:01:14 kientzle Exp $"); #include #include @@ -44,12 +44,16 @@ total_written = 0; while (a->entry_bytes_remaining > 0) { - bytes_read = (a->compression_read_ahead)(a, &buff, - a->entry_bytes_remaining); + /* Remember: '1' here is minimum, not maximum. */ + /* Read-ahead function will return as much as is convenient. */ + bytes_read = (a->compression_read_ahead)(a, &buff, 1); if (bytes_read < 0) return (-1); if (bytes_read > a->entry_bytes_remaining) bytes_read = (ssize_t)a->entry_bytes_remaining; + /* Don't copy more than 1 megabyte at a time. */ + if (bytes_read > (1024*1024)) + bytes_read = 1024*1024; bytes_written = write(fd, buff, bytes_read); if (bytes_written < 0) @@ -57,6 +61,8 @@ (a->compression_read_consume)(a, bytes_written); total_written += bytes_written; a->entry_bytes_remaining -= bytes_written; + if (a->extract_progress != NULL) + (*a->extract_progress)(a->extract_progress_user_data); } return (total_written); } ==== //depot/projects/gdb/lib/libarchive/archive_read_extract.c#10 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_extract.c,v 1.11 2004/04/30 01:31:20 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_extract.c,v 1.12 2004/05/13 06:01:14 kientzle Exp $"); #include #include @@ -1078,3 +1078,11 @@ } return (uid); } + +void +archive_read_extract_set_progress_callback(struct archive *a, + void (*progress_func)(void *), void *user_data) +{ + a->extract_progress = progress_func; + a->extract_progress_user_data = user_data; +} ==== //depot/projects/gdb/lib/libarchive/archive_write_set_compression_gzip.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_compression_gzip.c,v 1.4 2004/04/28 04:41:27 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_set_compression_gzip.c,v 1.5 2004/05/13 06:38:30 kientzle Exp $"); #include #include @@ -351,7 +351,7 @@ state->compressed + ret, state->compressed_buffer_size - ret); } - + a->raw_position += ret; state->stream.next_out = state->compressed + state->compressed_buffer_size - ret; ==== //depot/projects/gdb/lib/libatm/Makefile#3 (text+ko) ==== @@ -21,7 +21,7 @@ # notice must be reproduced on all copies. # # @(#) $Id: Makefile,v 1.5 1998/07/10 16:01:58 jpt Exp $ -# $FreeBSD: src/lib/libatm/Makefile,v 1.10 2004/02/05 22:44:22 ru Exp $ +# $FreeBSD: src/lib/libatm/Makefile,v 1.11 2004/05/14 13:31:20 cognet Exp $ LIB= atm SHLIBDIR?= /lib @@ -30,6 +30,11 @@ LDADD= -lmd DPADD= ${LIBMD} + +.if ${MACHINE_ARCH} == "arm" +WARNS?= 3 +.else WARNS?= 6 +.endif .include ==== //depot/projects/gdb/lib/libc/Makefile#4 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 2/3/94 -# $FreeBSD: src/lib/libc/Makefile,v 1.51 2004/05/02 10:55:07 das Exp $ +# $FreeBSD: src/lib/libc/Makefile,v 1.52 2004/05/14 12:04:29 cognet Exp $ # # All library objects contain FreeBSD revision strings by default; they may be # excluded as a space-saving measure. To produce a library that does @@ -57,6 +57,9 @@ .include "${.CURDIR}/rpc/Makefile.inc" .include "${.CURDIR}/uuid/Makefile.inc" .include "${.CURDIR}/xdr/Makefile.inc" +.if ${MACHINE_ARCH} == "arm" +.include "${.CURDIR}/softfloat/Makefile.inc" +.endif .if !defined(NO_YP_LIBC) CFLAGS+= -DYP .include "${.CURDIR}/yp/Makefile.inc" ==== //depot/projects/gdb/lib/libc/gen/fts.c#4 (text+ko) ==== @@ -33,17 +33,19 @@ * $OpenBSD: fts.c,v 1.22 1999/10/03 19:22:22 millert Exp $ */ +#if 0 #if defined(LIBC_SCCS) && !defined(lint) static char sccsid[] = "@(#)fts.c 8.6 (Berkeley) 8/14/94"; #endif /* LIBC_SCCS and not lint */ +#endif + #include -__FBSDID("$FreeBSD: src/lib/libc/gen/fts.c,v 1.24 2004/05/08 15:09:02 peadar Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/fts.c,v 1.26 2004/05/13 15:59:38 bde Exp $"); #include "namespace.h" -#include #include +#include #include -#include #include #include @@ -64,7 +66,7 @@ static FTSENT *fts_sort(FTS *, FTSENT *, int); static u_short fts_stat(FTS *, FTSENT *, int); static int fts_safe_changedir(FTS *, FTSENT *, int, char *); -static int fts_ufslinks(FTS *sp, const FTSENT *ent); +static int fts_ufslinks(FTS *, const FTSENT *); #define ISDOT(a) (a[0] == '.' && (!a[1] || (a[1] == '.' && !a[2]))) @@ -80,25 +82,24 @@ #define BREAD 3 /* fts_read */ /* - * Internal representation of FTS, including extra implementation details. - * The FTS returned from fts_open is ftsp_fts from this structure, and it's - * fts_priv in turn points back to this internal version. i.e. for a given - * fts_private *priv: &priv->fts_fts == (FTS *)f == priv->fts_fts.fts_priv + * Internal representation of an FTS, including extra implementation + * details. The FTS returned from fts_open points to this structure's + * ftsp_fts member (and can be cast to an _fts_private as required) */ struct _fts_private { - FTS ftsp_fts; - struct statfs ftsp_statfs; - dev_t ftsp_dev; - int ftsp_linksreliable; + FTS ftsp_fts; + struct statfs ftsp_statfs; + dev_t ftsp_dev; + int ftsp_linksreliable; }; /* - * The "FTS_NOSTAT" option can avoid a lot of calls to stat(2) if it knows - * that a directory could not possibly have subdirectories. This is decided - * by looking at the link count: A subdirectory would increment its parent's - * link count by virtue of its own ".." entry. - * This assumption only holds for UFS-like filesystems that implement links - * and directories this way, so we must punt for others. + * The "FTS_NOSTAT" option can avoid a lot of calls to stat(2) if it >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun May 16 12:44:25 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CF30716A4DD; Sun, 16 May 2004 12:44:24 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A6FBB16A50B for ; Sun, 16 May 2004 12:44:24 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 61D5C43D49 for ; Sun, 16 May 2004 12:44:24 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4GJiOGe088375 for ; Sun, 16 May 2004 12:44:24 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4GJiNWm088372 for perforce@freebsd.org; Sun, 16 May 2004 12:44:23 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Sun, 16 May 2004 12:44:23 -0700 (PDT) Message-Id: <200405161944.i4GJiNWm088372@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 52863 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 May 2004 19:44:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=52863 Change 52863 by peter@peter_overcee on 2004/05/16 12:43:45 close .if Affected files ... .. //depot/projects/hammer/sys/conf/kmod.mk#25 edit Differences ... ==== //depot/projects/hammer/sys/conf/kmod.mk#25 (text+ko) ==== @@ -143,6 +143,7 @@ .if !defined(DEBUG_FLAGS) ${OBJCOPY} --strip-debug ${.TARGET} .endif +.endif EXPORT_SYMS?= NO .if ${EXPORT_SYMS} != YES From owner-p4-projects@FreeBSD.ORG Sun May 16 13:19:13 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 518B916A4D0; Sun, 16 May 2004 13:19:13 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 13C4416A4CE for ; Sun, 16 May 2004 13:19:13 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 602B043D4C for ; Sun, 16 May 2004 13:19:10 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4GKJAGe002197 for ; Sun, 16 May 2004 13:19:10 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4GKJ94o002194 for perforce@freebsd.org; Sun, 16 May 2004 13:19:09 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Sun, 16 May 2004 13:19:09 -0700 (PDT) Message-Id: <200405162019.i4GKJ94o002194@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 52868 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 May 2004 20:19:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=52868 Change 52868 by peter@peter_overcee on 2004/05/16 13:18:39 IFC @52867 Affected files ... .. //depot/projects/hammer/share/man/man4/ng_ether.4#3 integrate .. //depot/projects/hammer/sys/alpha/alpha/elf_machdep.c#12 integrate .. //depot/projects/hammer/sys/amd64/amd64/elf_machdep.c#24 integrate .. //depot/projects/hammer/sys/arm/arm/elf_machdep.c#2 integrate .. //depot/projects/hammer/sys/conf/files.amd64#44 integrate .. //depot/projects/hammer/sys/conf/kmod.mk#26 integrate .. //depot/projects/hammer/sys/i386/i386/elf_machdep.c#12 integrate .. //depot/projects/hammer/sys/ia64/ia64/elf_machdep.c#14 integrate .. //depot/projects/hammer/sys/kern/link_elf.c#17 integrate .. //depot/projects/hammer/sys/netgraph/ng_ether.c#9 integrate .. //depot/projects/hammer/sys/powerpc/powerpc/elf_machdep.c#11 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/elf_machdep.c#12 integrate .. //depot/projects/hammer/sys/sys/linker.h#12 integrate .. //depot/projects/hammer/usr.sbin/acpi/acpidump/acpi_user.c#6 integrate .. //depot/projects/hammer/usr.sbin/cron/cron/cron.8#2 integrate .. //depot/projects/hammer/usr.sbin/cron/cron/cron.c#2 integrate .. //depot/projects/hammer/usr.sbin/cron/cron/cron.h#2 integrate .. //depot/projects/hammer/usr.sbin/cron/cron/do_command.c#3 integrate Differences ... ==== //depot/projects/hammer/share/man/man4/ng_ether.4#3 (text+ko) ==== @@ -32,7 +32,7 @@ .\" .\" Author: Archie Cobbs .\" -.\" $FreeBSD: src/share/man/man4/ng_ether.4,v 1.20 2004/04/21 19:47:33 ru Exp $ +.\" $FreeBSD: src/share/man/man4/ng_ether.4,v 1.21 2004/05/16 19:31:35 archie Exp $ .\" .Dd April 21, 2004 .Dt NG_ETHER 4 @@ -97,12 +97,12 @@ hook is equivalent to .Va lower , except that only unrecognized packets (that would otherwise be discarded) -are written to the hook, and normal incoming traffic is unaffected. -At most one of +are written to the hook, while other normal incoming traffic is unaffected. +Unrecognized packets written to +.Va upper +will be forwarded back out to .Va orphans -and -.Va lower -may be connected at any time. +if connected. .Pp In all cases, frames are raw Ethernet frames with the standard 14 byte Ethernet header (but no checksum). ==== //depot/projects/hammer/sys/alpha/alpha/elf_machdep.c#12 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/elf_machdep.c,v 1.17 2003/12/23 02:42:38 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/elf_machdep.c,v 1.18 2004/05/16 20:00:27 peter Exp $"); #include #include ==== //depot/projects/hammer/sys/amd64/amd64/elf_machdep.c#24 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/elf_machdep.c,v 1.19 2003/12/23 02:42:37 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/elf_machdep.c,v 1.20 2004/05/16 20:00:27 peter Exp $"); #include #include ==== //depot/projects/hammer/sys/arm/arm/elf_machdep.c#2 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/elf_machdep.c,v 1.1 2004/05/14 11:46:42 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/elf_machdep.c,v 1.2 2004/05/16 20:00:27 peter Exp $"); #include #include @@ -104,9 +104,9 @@ /* Process one elf relocation with addend. */ static int -elf_reloc_internal(linker_file_t lf, const void *data, int type, int local) +elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, + int type, int local, elf_lookup_fn lookup) { - Elf_Addr relocbase = (Elf_Addr) lf->address; Elf_Addr *where; Elf_Addr addr; Elf_Addr addend; @@ -148,7 +148,7 @@ break; case R_ARM_PC24: /* S + A - P */ - addr = elf_lookup(lf, symidx, 1); + addr = lookup(lf, symidx, 1); if (addr == 0) return -1; addr += addend - (Elf_Addr)where; @@ -166,7 +166,7 @@ break; case R_ARM_GLOB_DAT: /* S */ - addr = elf_lookup(lf, symidx, 1); + addr = lookup(lf, symidx, 1); if (addr == 0) return -1; if (*where != addr) @@ -185,17 +185,19 @@ } int -elf_reloc(linker_file_t lf, const void *data, int type) +elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, + elf_lookup_fn lookup) { - return (elf_reloc_internal(lf, data, type, 0)); + return (elf_reloc_internal(lf, relocbase, data, type, 0, lookup)); } int -elf_reloc_local(linker_file_t lf, const void *data, int type) +elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, + int type, elf_lookup_fn lookup) { - return (elf_reloc_internal(lf, data, type, 1)); + return (elf_reloc_internal(lf, relocbase, data, type, 1, lookup)); } int ==== //depot/projects/hammer/sys/conf/files.amd64#44 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.amd64,v 1.31 2004/04/23 14:41:23 tjr Exp $ +# $FreeBSD: src/sys/conf/files.amd64,v 1.32 2004/05/16 20:11:38 peter Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and ==== //depot/projects/hammer/sys/conf/kmod.mk#26 (text+ko) ==== @@ -1,5 +1,5 @@ # From: @(#)bsd.prog.mk 5.26 (Berkeley) 6/25/91 -# $FreeBSD: src/sys/conf/kmod.mk,v 1.156 2004/03/14 01:29:05 trhodes Exp $ +# $FreeBSD: src/sys/conf/kmod.mk,v 1.157 2004/05/16 20:11:38 peter Exp $ # # The include file handles installing Kernel Loadable Device # drivers (KLD's). @@ -170,7 +170,7 @@ xargs -J% ${OBJCOPY} % ${.TARGET} .endif .endif -.if !defined(DEBUG_FLAGS) && ${MACHINE_ARCH} != amd64 +.if !defined(DEBUG_FLAGS) && ${MACHINE_ARCH} == amd64 ${OBJCOPY} --strip-debug ${.TARGET} .endif ==== //depot/projects/hammer/sys/i386/i386/elf_machdep.c#12 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/elf_machdep.c,v 1.18 2003/12/23 02:42:39 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/elf_machdep.c,v 1.19 2004/05/16 20:00:27 peter Exp $"); #include #include ==== //depot/projects/hammer/sys/ia64/ia64/elf_machdep.c#14 (text+ko) ==== @@ -22,7 +22,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/ia64/ia64/elf_machdep.c,v 1.16 2003/12/23 02:42:39 peter Exp $ + * $FreeBSD: src/sys/ia64/ia64/elf_machdep.c,v 1.17 2004/05/16 20:00:27 peter Exp $ */ #include ==== //depot/projects/hammer/sys/kern/link_elf.c#17 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/link_elf.c,v 1.76 2003/08/11 07:14:07 bms Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/link_elf.c,v 1.77 2004/05/16 20:00:28 peter Exp $"); #include "opt_ddb.h" #include "opt_mac.h" @@ -929,7 +929,8 @@ if (rel) { rellim = (const Elf_Rel *)((const char *)ef->rel + ef->relsize); while (rel < rellim) { - if (elf_reloc(&ef->lf, (Elf_Addr)ef->address, rel, ELF_RELOC_REL, elf_lookup)) { + if (elf_reloc(&ef->lf, (Elf_Addr)ef->address, rel, ELF_RELOC_REL, + elf_lookup)) { symname = symbol_name(ef, rel->r_info); printf("link_elf: symbol %s undefined\n", symname); return ENOENT; @@ -943,7 +944,8 @@ if (rela) { relalim = (const Elf_Rela *)((const char *)ef->rela + ef->relasize); while (rela < relalim) { - if (elf_reloc(&ef->lf, (Elf_Addr)ef->address, rela, ELF_RELOC_RELA, elf_lookup)) { + if (elf_reloc(&ef->lf, (Elf_Addr)ef->address, rela, ELF_RELOC_RELA, + elf_lookup)) { symname = symbol_name(ef, rela->r_info); printf("link_elf: symbol %s undefined\n", symname); return ENOENT; @@ -957,7 +959,8 @@ if (rel) { rellim = (const Elf_Rel *)((const char *)ef->pltrel + ef->pltrelsize); while (rel < rellim) { - if (elf_reloc(&ef->lf, (Elf_Addr)ef->address, rel, ELF_RELOC_REL, elf_lookup)) { + if (elf_reloc(&ef->lf, (Elf_Addr)ef->address, rel, ELF_RELOC_REL, + elf_lookup)) { symname = symbol_name(ef, rel->r_info); printf("link_elf: symbol %s undefined\n", symname); return ENOENT; @@ -971,7 +974,8 @@ if (rela) { relalim = (const Elf_Rela *)((const char *)ef->pltrela + ef->pltrelasize); while (rela < relalim) { - if (elf_reloc(&ef->lf, (Elf_Addr)ef->address, rela, ELF_RELOC_RELA, elf_lookup)) { + if (elf_reloc(&ef->lf, (Elf_Addr)ef->address, rela, ELF_RELOC_RELA, + elf_lookup)) { symname = symbol_name(ef, rela->r_info); printf("link_elf: symbol %s undefined\n", symname); return ENOENT; @@ -1298,7 +1302,8 @@ if ((rel = ef->rel) != NULL) { rellim = (const Elf_Rel *)((const char *)ef->rel + ef->relsize); while (rel < rellim) { - elf_reloc_local(lf, (Elf_Addr)ef->address, rel, ELF_RELOC_REL, elf_lookup); + elf_reloc_local(lf, (Elf_Addr)ef->address, rel, ELF_RELOC_REL, + elf_lookup); rel++; } } @@ -1307,7 +1312,8 @@ if ((rela = ef->rela) != NULL) { relalim = (const Elf_Rela *)((const char *)ef->rela + ef->relasize); while (rela < relalim) { - elf_reloc_local(lf, (Elf_Addr)ef->address, rela, ELF_RELOC_RELA, elf_lookup); + elf_reloc_local(lf, (Elf_Addr)ef->address, rela, ELF_RELOC_RELA, + elf_lookup); rela++; } } ==== //depot/projects/hammer/sys/netgraph/ng_ether.c#9 (text+ko) ==== @@ -37,7 +37,7 @@ * Authors: Archie Cobbs * Julian Elischer * - * $FreeBSD: src/sys/netgraph/ng_ether.c,v 1.33 2004/04/18 01:15:32 luigi Exp $ + * $FreeBSD: src/sys/netgraph/ng_ether.c,v 1.34 2004/05/16 19:31:35 archie Exp $ */ /* @@ -70,8 +70,8 @@ struct private { struct ifnet *ifp; /* associated interface */ hook_p upper; /* upper hook connection */ - hook_p lower; /* lower OR orphan hook connection */ - u_char lowerOrphan; /* whether lower is lower or orphan */ + hook_p lower; /* lower hook connection */ + hook_p orphan; /* orphan hook connection */ u_char autoSrcAddr; /* always overwrite source address */ u_char promisc; /* promiscuous mode enabled */ u_long hwassist; /* hardware checksum capabilities */ @@ -94,7 +94,6 @@ static void ng_ether_detach(struct ifnet *ifp); /* Other functions */ -static void ng_ether_input2(node_p node, struct mbuf **mp); static int ng_ether_rcv_lower(node_p node, struct mbuf *m, meta_p meta); static int ng_ether_rcv_upper(node_p node, struct mbuf *m, meta_p meta); @@ -201,11 +200,12 @@ { const node_p node = IFP2NG(ifp); const priv_p priv = NG_NODE_PRIVATE(node); + int error; /* If "lower" hook not connected, let packet continue */ - if (priv->lower == NULL || priv->lowerOrphan) + if (priv->lower == NULL) return; - ng_ether_input2(node, mp); + NG_SEND_DATA_ONLY(error, priv->lower, *mp); /* sets *mp = NULL */ } /* @@ -219,33 +219,14 @@ { const node_p node = IFP2NG(ifp); const priv_p priv = NG_NODE_PRIVATE(node); + int error; - /* If "orphan" hook not connected, let packet continue */ - if (priv->lower == NULL || !priv->lowerOrphan) { + /* If "orphan" hook not connected, discard packet */ + if (priv->orphan == NULL) { m_freem(m); return; } - ng_ether_input2(node, &m); - if (m != NULL) - m_freem(m); -} - -/* - * Handle a packet that has come in on an ethernet interface. - * The Ethernet header has already been detached from the mbuf, - * so we have to put it back. - * - * NOTE: this function will get called at splimp() - */ -static void -ng_ether_input2(node_p node, struct mbuf **mp) -{ - const priv_p priv = NG_NODE_PRIVATE(node); - int error; - - /* Send out lower/orphan hook */ - NG_SEND_DATA_ONLY(error, priv->lower, *mp); - *mp = NULL; + NG_SEND_DATA_ONLY(error, priv->orphan, m); } /* @@ -352,7 +333,6 @@ ng_ether_newhook(node_p node, hook_p hook, const char *name) { const priv_p priv = NG_NODE_PRIVATE(node); - u_char orphan = priv->lowerOrphan; hook_p *hookptr; /* Divert hook is an alias for lower */ @@ -362,13 +342,11 @@ /* Which hook? */ if (strcmp(name, NG_ETHER_HOOK_UPPER) == 0) hookptr = &priv->upper; - else if (strcmp(name, NG_ETHER_HOOK_LOWER) == 0) { + else if (strcmp(name, NG_ETHER_HOOK_LOWER) == 0) hookptr = &priv->lower; - orphan = 0; - } else if (strcmp(name, NG_ETHER_HOOK_ORPHAN) == 0) { - hookptr = &priv->lower; - orphan = 1; - } else + else if (strcmp(name, NG_ETHER_HOOK_ORPHAN) == 0) + hookptr = &priv->orphan; + else return (EINVAL); /* Check if already connected (shouldn't be, but doesn't hurt) */ @@ -381,7 +359,6 @@ /* OK */ *hookptr = hook; - priv->lowerOrphan = orphan; return (0); } @@ -514,18 +491,18 @@ NGI_GET_M(item, m); NGI_GET_META(item, meta); NG_FREE_ITEM(item); - if (hook == priv->lower) + if (hook == priv->lower || hook == priv->orphan) return ng_ether_rcv_lower(node, m, meta); if (hook == priv->upper) return ng_ether_rcv_upper(node, m, meta); panic("%s: weird hook", __func__); -#ifdef RESTARTABLE_PANICS /* so we don;t get an error msg in LINT */ +#ifdef RESTARTABLE_PANICS /* so we don't get an error msg in LINT */ return NULL; #endif } /* - * Handle an mbuf received on the "lower" hook. + * Handle an mbuf received on the "lower" or "orphan" hook. */ static int ng_ether_rcv_lower(node_p node, struct mbuf *m, meta_p meta) @@ -629,10 +606,11 @@ priv->upper = NULL; if (priv->ifp != NULL) /* restore h/w csum */ priv->ifp->if_hwassist = priv->hwassist; - } else if (hook == priv->lower) { + } else if (hook == priv->lower) priv->lower = NULL; - priv->lowerOrphan = 0; - } else + else if (hook == priv->orphan) + priv->orphan = NULL; + else panic("%s: weird hook", __func__); if ((NG_NODE_NUMHOOKS(NG_HOOK_NODE(hook)) == 0) && (NG_NODE_IS_VALID(NG_HOOK_NODE(hook)))) ==== //depot/projects/hammer/sys/powerpc/powerpc/elf_machdep.c#11 (text+ko) ==== @@ -22,7 +22,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/powerpc/powerpc/elf_machdep.c,v 1.17 2003/12/23 02:42:39 peter Exp $ + * $FreeBSD: src/sys/powerpc/powerpc/elf_machdep.c,v 1.18 2004/05/16 20:00:28 peter Exp $ */ #include ==== //depot/projects/hammer/sys/sparc64/sparc64/elf_machdep.c#12 (text+ko) ==== @@ -36,7 +36,7 @@ * POSSIBILITY OF SUCH DAMAGE. * * from: NetBSD: mdreloc.c,v 1.5 2001/04/25 12:24:51 kleink Exp - * $FreeBSD: src/sys/sparc64/sparc64/elf_machdep.c,v 1.16 2003/12/23 02:42:39 peter Exp $ + * $FreeBSD: src/sys/sparc64/sparc64/elf_machdep.c,v 1.17 2004/05/16 20:00:28 peter Exp $ */ #include ==== //depot/projects/hammer/sys/sys/linker.h#12 (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/sys/linker.h,v 1.36 2003/05/01 03:31:17 peter Exp $ + * $FreeBSD: src/sys/sys/linker.h,v 1.37 2004/05/16 20:00:28 peter Exp $ */ #ifndef _SYS_LINKER_H_ ==== //depot/projects/hammer/usr.sbin/acpi/acpidump/acpi_user.c#6 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/usr.sbin/acpi/acpidump/acpi_user.c,v 1.9 2004/05/16 05:31:40 njl Exp $ + * $FreeBSD: src/usr.sbin/acpi/acpidump/acpi_user.c,v 1.10 2004/05/16 18:02:47 njl Exp $ */ #include @@ -96,6 +96,7 @@ acpi_get_rsdp(u_long addr) { struct ACPIrsdp rsdp; + size_t len; /* Read in the table signature and check it. */ pread(acpi_mem_fd, &rsdp, 8, addr); @@ -108,12 +109,16 @@ /* Run the checksum only over the version 1 header. */ if (acpi_checksum(&rsdp, 20)) return (NULL); + + /* If the revision is 0, assume a version 1 length. */ if (rsdp.revision == 0) - return (NULL); + len = 20; + else + len = rsdp.length; /* XXX Should handle ACPI 2.0 RSDP extended checksum here. */ - return (acpi_map_physical(addr, rsdp.length)); + return (acpi_map_physical(addr, len)); } /* ==== //depot/projects/hammer/usr.sbin/cron/cron/cron.8#2 (text+ko) ==== @@ -15,7 +15,7 @@ .\" * Paul Vixie uunet!decwrl!vixie!paul .\" */ .\" -.\" $FreeBSD: src/usr.sbin/cron/cron/cron.8,v 1.20 2002/07/14 14:42:51 charnier Exp $ +.\" $FreeBSD: src/usr.sbin/cron/cron/cron.8,v 1.21 2004/05/16 19:29:33 yar Exp $ .\" .Dd December 20, 1993 .Dt CRON 8 @@ -25,6 +25,8 @@ .Nd daemon to execute scheduled commands (Vixie Cron) .Sh SYNOPSIS .Nm +.Op Fl j Ar jitter +.Op Fl J Ar rootjitter .Op Fl s .Op Fl o .Op Fl x Ar debugflag Ns Op , Ns Ar ... @@ -78,6 +80,27 @@ .Pp Available options: .Bl -tag -width indent +.It Fl j Ar jitter +Enable time jitter. +Prior to executing commands, +.Nm +will sleep a random number of seconds in the range from 0 to +.Ar jitter . +This won't affect superuser jobs (see +.Fl J ) . +A value for +.Ar jitter +must be between 0 and 60 inclusive. +Default is 0, which effectively disables time jitter. +.Pp +This option can help to smooth down system load spikes during +moments when a lot of jobs are likely to start at once, e.g., +at the beginning of the first minute of each hour. +.It Fl J Ar rootjitter +Enable time jitter for superuser jobs. +The same as +.Fl j +except that it will affect jobs run by the superuser only. .It Fl s Enable special handling of situations when the GMT offset of the local timezone changes, such as the switches between the standard time and ==== //depot/projects/hammer/usr.sbin/cron/cron/cron.c#2 (text+ko) ==== @@ -17,7 +17,7 @@ #if !defined(lint) && !defined(LINT) static const char rcsid[] = - "$FreeBSD: src/usr.sbin/cron/cron/cron.c,v 1.14 2001/03/09 03:14:09 babkin Exp $"; + "$FreeBSD: src/usr.sbin/cron/cron/cron.c,v 1.15 2004/05/16 19:29:33 yar Exp $"; #endif #define MAIN_PROGRAM @@ -51,7 +51,8 @@ usage() { char **dflags; - fprintf(stderr, "usage: cron [-s] [-o] [-x debugflag[,...]]\n"); + fprintf(stderr, "usage: cron [-j jitter] [-J rootjitter] " + "[-s] [-o] [-x debugflag[,...]]\n"); fprintf(stderr, "\ndebugflags: "); for(dflags = DebugFlagNames; *dflags; dflags++) { @@ -414,9 +415,22 @@ char *argv[]; { int argch; + char *endp; - while ((argch = getopt(argc, argv, "osx:")) != -1) { + while ((argch = getopt(argc, argv, "j:J:osx:")) != -1) { switch (argch) { + case 'j': + Jitter = strtoul(optarg, &endp, 10); + if (*optarg == '\0' || *endp != '\0' || Jitter > 60) + errx(ERROR_EXIT, + "bad value for jitter: %s", optarg); + break; + case 'J': + RootJitter = strtoul(optarg, &endp, 10); + if (*optarg == '\0' || *endp != '\0' || RootJitter > 60) + errx(ERROR_EXIT, + "bad value for root jitter: %s", optarg); + break; case 'o': dst_enabled = 0; break; ==== //depot/projects/hammer/usr.sbin/cron/cron/cron.h#2 (text+ko) ==== @@ -17,7 +17,7 @@ /* cron.h - header for vixie's cron * - * $FreeBSD: src/usr.sbin/cron/cron/cron.h,v 1.14 2001/03/09 03:14:09 babkin Exp $ + * $FreeBSD: src/usr.sbin/cron/cron/cron.h,v 1.15 2004/05/16 19:29:33 yar Exp $ * * vix 14nov88 [rest of log is in RCS] * vix 14jan87 [0 or 7 can be sunday; thanks, mwm@berkeley] @@ -269,6 +269,8 @@ char *ProgramName; int LineNumber; +unsigned Jitter, + RootJitter; time_t TargetTime; # if DEBUGGING @@ -284,6 +286,8 @@ *DowNames[], *ProgramName; extern int LineNumber; +extern unsigned Jitter, + RootJitter; extern time_t TargetTime; # if DEBUGGING extern int DebugFlags; ==== //depot/projects/hammer/usr.sbin/cron/cron/do_command.c#3 (text+ko) ==== @@ -17,7 +17,7 @@ #if !defined(lint) && !defined(LINT) static const char rcsid[] = - "$FreeBSD: src/usr.sbin/cron/cron/do_command.c,v 1.21 2003/06/19 20:04:51 silby Exp $"; + "$FreeBSD: src/usr.sbin/cron/cron/do_command.c,v 1.22 2004/05/16 19:29:33 yar Exp $"; #endif @@ -166,6 +166,13 @@ Debug(DPROC, ("[%d] grandchild process Vfork()'ed\n", getpid())) + if (e->uid == ROOT_UID) + Jitter = RootJitter; + if (Jitter != 0) { + srandom(getpid()); + sleep(random() % Jitter); + } + /* write a log message. we've waited this long to do it * because it was not until now that we knew the PID that * the actual user command shell was going to get and the From owner-p4-projects@FreeBSD.ORG Sun May 16 13:34:35 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 48D5616A4D1; Sun, 16 May 2004 13:34:35 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 21F8C16A4CE for ; Sun, 16 May 2004 13:34:35 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CC92643D39 for ; Sun, 16 May 2004 13:34:30 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4GKYUGe006526 for ; Sun, 16 May 2004 13:34:30 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4GKYUkD006523 for perforce@freebsd.org; Sun, 16 May 2004 13:34:30 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Sun, 16 May 2004 13:34:30 -0700 (PDT) Message-Id: <200405162034.i4GKYUkD006523@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 52871 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 May 2004 20:34:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=52871 Change 52871 by peter@peter_overcee on 2004/05/16 13:33:36 IFC @52870 Affected files ... .. //depot/projects/hammer/sys/amd64/acpica/madt.c#32 integrate .. //depot/projects/hammer/sys/amd64/amd64/intr_machdep.c#17 integrate .. //depot/projects/hammer/sys/amd64/amd64/io_apic.c#25 integrate .. //depot/projects/hammer/sys/amd64/amd64/legacy.c#10 integrate .. //depot/projects/hammer/sys/amd64/amd64/local_apic.c#36 integrate .. //depot/projects/hammer/sys/amd64/amd64/mptable.c#25 integrate .. //depot/projects/hammer/sys/amd64/amd64/mptable_pci.c#8 integrate .. //depot/projects/hammer/sys/amd64/amd64/nexus.c#22 integrate .. //depot/projects/hammer/sys/amd64/include/apicvar.h#22 integrate .. //depot/projects/hammer/sys/amd64/include/intr_machdep.h#12 integrate .. //depot/projects/hammer/sys/amd64/include/legacyvar.h#8 integrate .. //depot/projects/hammer/sys/amd64/include/pmap.h#31 integrate .. //depot/projects/hammer/sys/amd64/isa/atpic.c#40 integrate .. //depot/projects/hammer/sys/amd64/isa/atpic_vector.S#18 integrate .. //depot/projects/hammer/sys/amd64/isa/clock.c#23 integrate .. //depot/projects/hammer/sys/amd64/isa/elcr.c#2 integrate .. //depot/projects/hammer/sys/amd64/isa/icu.h#21 integrate .. //depot/projects/hammer/sys/amd64/isa/nmi.c#12 integrate .. //depot/projects/hammer/sys/amd64/pci/pci_bus.c#19 integrate .. //depot/projects/hammer/sys/conf/files.amd64#45 integrate Differences ... ==== //depot/projects/hammer/sys/amd64/acpica/madt.c#32 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.11 2004/01/30 00:24:45 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.12 2004/05/16 20:30:46 peter Exp $"); #include #include ==== //depot/projects/hammer/sys/amd64/amd64/intr_machdep.c#17 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.4 2003/11/17 06:10:14 peter Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.5 2004/05/16 20:30:46 peter Exp $ */ /* ==== //depot/projects/hammer/sys/amd64/amd64/io_apic.c#25 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.7 2003/11/17 08:58:12 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.8 2004/05/16 20:30:46 peter Exp $"); #include "opt_atpic.h" #include "opt_isa.h" ==== //depot/projects/hammer/sys/amd64/amd64/legacy.c#10 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/legacy.c,v 1.52 2003/11/21 03:01:59 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/legacy.c,v 1.53 2004/05/16 20:30:46 peter Exp $"); /* * This code implements a system driver for legacy systems that do not ==== //depot/projects/hammer/sys/amd64/amd64/local_apic.c#36 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.8 2004/03/08 00:15:29 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.9 2004/05/16 20:30:46 peter Exp $"); #include #include ==== //depot/projects/hammer/sys/amd64/amd64/mptable.c#25 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable.c,v 1.229 2003/12/11 02:47:35 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable.c,v 1.230 2004/05/16 20:30:46 peter Exp $"); #include #include ==== //depot/projects/hammer/sys/amd64/amd64/mptable_pci.c#8 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable_pci.c,v 1.1 2003/11/03 22:12:37 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable_pci.c,v 1.2 2004/05/16 20:30:46 peter Exp $"); #include #include ==== //depot/projects/hammer/sys/amd64/amd64/nexus.c#22 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.58 2003/12/06 23:19:47 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.59 2004/05/16 20:30:46 peter Exp $"); /* * This code implements a `root nexus' for Intel Architecture ==== //depot/projects/hammer/sys/amd64/include/apicvar.h#22 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.6 2003/11/17 08:58:14 peter Exp $ + * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.7 2004/05/16 20:30:46 peter Exp $ */ #ifndef _MACHINE_APICVAR_H_ ==== //depot/projects/hammer/sys/amd64/include/intr_machdep.h#12 (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/include/intr_machdep.h,v 1.2 2003/11/14 19:10:13 jhb Exp $ + * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.3 2004/05/16 20:30:46 peter Exp $ */ #ifndef __MACHINE_INTR_MACHDEP_H__ ==== //depot/projects/hammer/sys/amd64/include/legacyvar.h#8 (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/include/legacyvar.h,v 1.4 2003/09/23 00:03:44 peter Exp $ + * $FreeBSD: src/sys/amd64/include/legacyvar.h,v 1.5 2004/05/16 20:30:46 peter Exp $ */ #ifndef _MACHINE_LEGACYVAR_H_ ==== //depot/projects/hammer/sys/amd64/include/pmap.h#31 (text+ko) ==== @@ -39,7 +39,7 @@ * * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.113 2004/04/10 22:41:45 alc Exp $ + * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.114 2004/05/16 20:30:46 peter Exp $ */ #ifndef _MACHINE_PMAP_H_ ==== //depot/projects/hammer/sys/amd64/isa/atpic.c#40 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/isa/atpic.c,v 1.10 2004/03/17 17:50:23 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/atpic.c,v 1.11 2004/05/16 20:30:47 peter Exp $"); #include "opt_auto_eoi.h" #include "opt_isa.h" ==== //depot/projects/hammer/sys/amd64/isa/atpic_vector.S#18 (text+ko) ==== @@ -28,7 +28,7 @@ * SUCH DAMAGE. * * from: vector.s, 386BSD 0.1 unknown origin - * $FreeBSD: src/sys/amd64/isa/atpic_vector.S,v 1.42 2004/04/05 21:25:52 imp Exp $ + * $FreeBSD: src/sys/amd64/isa/atpic_vector.S,v 1.43 2004/05/16 20:30:47 peter Exp $ */ /* ==== //depot/projects/hammer/sys/amd64/isa/clock.c#23 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.208 2004/04/05 21:25:52 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.209 2004/05/16 20:30:47 peter Exp $"); /* * Routines to handle clock hardware. ==== //depot/projects/hammer/sys/amd64/isa/elcr.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/isa/elcr.c,v 1.1 2004/05/04 20:07:45 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/elcr.c,v 1.1 2004/05/04 20:07:45 jhb Exp $"); /* * The ELCR is a register that controls the trigger mode and polarity of ==== //depot/projects/hammer/sys/amd64/isa/icu.h#21 (text+ko) ==== @@ -30,7 +30,7 @@ * SUCH DAMAGE. * * from: @(#)icu.h 5.6 (Berkeley) 5/9/91 - * $FreeBSD: src/sys/amd64/isa/icu.h,v 1.33 2004/04/05 21:25:52 imp Exp $ + * $FreeBSD: src/sys/amd64/isa/icu.h,v 1.34 2004/05/16 20:30:47 peter Exp $ */ /* ==== //depot/projects/hammer/sys/amd64/isa/nmi.c#12 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/isa/nmi.c,v 1.79 2004/04/05 21:25:52 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/nmi.c,v 1.80 2004/05/16 20:30:47 peter Exp $"); #include "opt_mca.h" ==== //depot/projects/hammer/sys/amd64/pci/pci_bus.c#19 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_bus.c,v 1.107 2004/03/13 19:21:35 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_bus.c,v 1.108 2004/05/16 20:30:47 peter Exp $"); #include "opt_cpu.h" ==== //depot/projects/hammer/sys/conf/files.amd64#45 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.amd64,v 1.32 2004/05/16 20:11:38 peter Exp $ +# $FreeBSD: src/sys/conf/files.amd64,v 1.33 2004/05/16 20:30:47 peter Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and From owner-p4-projects@FreeBSD.ORG Sun May 16 13:40:40 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 168E616A4D0; Sun, 16 May 2004 13:40:40 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D492316A4CE for ; Sun, 16 May 2004 13:40:39 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7E1B043D1D for ; Sun, 16 May 2004 13:40:39 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4GKedGe006854 for ; Sun, 16 May 2004 13:40:39 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4GKecIE006851 for perforce@freebsd.org; Sun, 16 May 2004 13:40:38 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Sun, 16 May 2004 13:40:38 -0700 (PDT) Message-Id: <200405162040.i4GKecIE006851@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 52872 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 May 2004 20:40:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=52872 Change 52872 by peter@peter_overcee on 2004/05/16 13:40:15 re-add clause 3 license term. This was mismerged from i386 where it was removed.. but, this isn't an i386 derived file. Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/in_cksum.c#10 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/in_cksum.c#10 (text+ko) ==== @@ -14,6 +14,10 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. From owner-p4-projects@FreeBSD.ORG Sun May 16 13:41:43 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AAEFD16A4D0; Sun, 16 May 2004 13:41:42 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 813F616A4CE for ; Sun, 16 May 2004 13:41:42 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9613743D31 for ; Sun, 16 May 2004 13:41:41 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4GKffGe007855 for ; Sun, 16 May 2004 13:41:41 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4GKfeMu007849 for perforce@freebsd.org; Sun, 16 May 2004 13:41:40 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Sun, 16 May 2004 13:41:40 -0700 (PDT) Message-Id: <200405162041.i4GKfeMu007849@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 52873 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 May 2004 20:41:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=52873 Change 52873 by peter@peter_overcee on 2004/05/16 13:41:15 whoops, can't merge these clause-3 removals from i386 because obrien has a mention in the header. Affected files ... .. //depot/projects/hammer/sys/amd64/include/param.h#16 edit .. //depot/projects/hammer/sys/amd64/include/varargs.h#8 edit Differences ... ==== //depot/projects/hammer/sys/amd64/include/param.h#16 (text+ko) ==== @@ -15,6 +15,10 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. ==== //depot/projects/hammer/sys/amd64/include/varargs.h#8 (text+ko) ==== @@ -16,6 +16,10 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. From owner-p4-projects@FreeBSD.ORG Sun May 16 13:42:46 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B288616A4D1; Sun, 16 May 2004 13:42:45 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5852F16A4CF for ; Sun, 16 May 2004 13:42:45 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9508243D5F for ; Sun, 16 May 2004 13:42:43 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4GKghGe008707 for ; Sun, 16 May 2004 13:42:43 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4GKghQ8008700 for perforce@freebsd.org; Sun, 16 May 2004 13:42:43 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Sun, 16 May 2004 13:42:43 -0700 (PDT) Message-Id: <200405162042.i4GKghQ8008700@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 52874 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 May 2004 20:42:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=52874 Change 52874 by peter@peter_overcee on 2004/05/16 13:41:49 Can't remove clause-3 here because dyson has a mention in the header. I dont know if bsdimp has dyson's ok to remove these or not, but it was removed on i386. Affected files ... .. //depot/projects/hammer/sys/amd64/include/vmparam.h#20 edit Differences ... ==== //depot/projects/hammer/sys/amd64/include/vmparam.h#20 (text+ko) ==== @@ -17,6 +17,10 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. From owner-p4-projects@FreeBSD.ORG Sun May 16 14:33:57 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 925A016A4D1; Sun, 16 May 2004 14:33:57 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 666FF16A4CF for ; Sun, 16 May 2004 14:33:57 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DD8D443D46 for ; Sun, 16 May 2004 14:33:50 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4GLXoGe020812 for ; Sun, 16 May 2004 14:33:50 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4GLXopZ020809 for perforce@freebsd.org; Sun, 16 May 2004 14:33:50 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Sun, 16 May 2004 14:33:50 -0700 (PDT) Message-Id: <200405162133.i4GLXopZ020809@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 52882 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 May 2004 21:33:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=52882 Change 52882 by peter@peter_overcee on 2004/05/16 14:33:43 IFC @52881 Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/pmap.c#65 integrate .. //depot/projects/hammer/sys/amd64/amd64/support.S#22 integrate .. //depot/projects/hammer/sys/amd64/conf/GENERIC#39 integrate .. //depot/projects/hammer/sys/amd64/conf/NOTES#28 integrate .. //depot/projects/hammer/sys/amd64/include/pmap.h#32 integrate .. //depot/projects/hammer/sys/dev/cy/cy.c#2 integrate .. //depot/projects/hammer/sys/dev/iicbus/iic.c#6 integrate .. //depot/projects/hammer/sys/dev/iicbus/iicbus.c#4 integrate .. //depot/projects/hammer/sys/dev/smbus/smb.c#6 integrate .. //depot/projects/hammer/sys/dev/smbus/smb.h#2 integrate Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/pmap.c#65 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.457 2004/04/16 03:45:28 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.458 2004/05/16 20:44:41 peter Exp $"); /* * Manages physical address maps. ==== //depot/projects/hammer/sys/amd64/amd64/support.S#22 (text+ko) ==== @@ -27,7 +27,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/support.S,v 1.108 2004/04/05 23:55:13 imp Exp $ + * $FreeBSD: src/sys/amd64/amd64/support.S,v 1.109 2004/05/16 20:46:13 peter Exp $ */ #include "opt_ddb.h" ==== //depot/projects/hammer/sys/amd64/conf/GENERIC#39 (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.407 2004/05/02 20:40:18 marcel Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.408 2004/05/16 20:57:01 peter Exp $ machine amd64 cpu HAMMER ==== //depot/projects/hammer/sys/amd64/conf/NOTES#28 (text+ko) ==== @@ -5,7 +5,7 @@ # machine independent notes, look in /sys/conf/NOTES. # # (XXX from i386:NOTES,v 1.1158) -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.12 2004/03/13 22:16:34 peter Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.13 2004/05/16 21:27:29 peter Exp $ # # We don't have modules on amd64. @@ -295,6 +295,7 @@ # # Miscellaneous hardware: # +# cy: Cyclades serial driver # digi: Digiboard driver # Notes on the Specialix SI/XIO driver: @@ -305,14 +306,7 @@ device cy options CY_PCI_FASTINTR # Use with cy_pci unless irq is shared -hint.cy.0.at="isa" -hint.cy.0.irq="10" -hint.cy.0.maddr="0xd4000" -hint.cy.0.msize="0x2000" device digi -hint.digi.0.at="isa" -hint.digi.0.port="0x104" -hint.digi.0.maddr="0xd0000" # BIOS & FEP/OS components of device digi. device digi_CX device digi_CX_PCI @@ -323,7 +317,7 @@ device digi_Xr # sx device is i386 and pc98 only at the moment. device sx -options SX_DEBUG +options SX_DEBUG # HOT1 Xilinx 6200 card (http://www.vcc.com/) device xrpu ==== //depot/projects/hammer/sys/amd64/include/pmap.h#32 (text+ko) ==== @@ -39,7 +39,7 @@ * * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.114 2004/05/16 20:30:46 peter Exp $ + * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.115 2004/05/16 20:44:41 peter Exp $ */ #ifndef _MACHINE_PMAP_H_ ==== //depot/projects/hammer/sys/dev/cy/cy.c#2 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/cy/cy.c,v 1.144 2004/05/01 18:09:16 bde Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cy/cy.c,v 1.145 2004/05/16 21:22:45 peter Exp $"); #include "opt_compat.h" @@ -2768,7 +2768,6 @@ struct com_s *basecom; u_char car; int cy_align; - register_t eflags; cy_addr iobase; #ifdef SMP int need_unlock; @@ -2779,7 +2778,6 @@ car = com->unit & CD1400_CAR_CHAN; cy_align = com->cy_align; iobase = com->iobase; - eflags = read_eflags(); critical_enter(); #ifdef SMP need_unlock = 0; @@ -2808,7 +2806,6 @@ struct com_s *basecom; u_char car; int cy_align; - register_t eflags; cy_addr iobase; #ifdef SMP int need_unlock; @@ -2818,7 +2815,6 @@ car = com->unit & CD1400_CAR_CHAN; cy_align = com->cy_align; iobase = com->iobase; - eflags = read_eflags(); critical_enter(); #ifdef SMP need_unlock = 0; ==== //depot/projects/hammer/sys/dev/iicbus/iic.c#6 (text+ko) ==== @@ -23,12 +23,13 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/iicbus/iic.c,v 1.30 2004/02/21 21:10:42 phk Exp $ + * $FreeBSD: src/sys/dev/iicbus/iic.c,v 1.31 2004/05/16 21:19:59 joerg Exp $ * */ #include #include #include +#include #include #include #include @@ -246,6 +247,7 @@ device_t parent = device_get_parent(iicdev); struct iiccmd *s = (struct iiccmd *)data; int error, count; + char *buf = NULL; if (!sc) return (EINVAL); @@ -278,19 +280,37 @@ break; case I2CWRITE: - error = iicbus_write(parent, s->buf, s->count, &count, 10); + if (s->count <= 0) { + error = EINVAL; + break; + } + buf = malloc((unsigned long)s->count, M_TEMP, M_WAITOK); + error = copyin(s->buf, buf, s->count); + if (error) + break; + error = iicbus_write(parent, buf, s->count, &count, 10); break; case I2CREAD: - error = iicbus_read(parent, s->buf, s->count, &count, s->last, 10); + if (s->count <= 0) { + error = EINVAL; + break; + } + buf = malloc((unsigned long)s->count, M_TEMP, M_WAITOK); + error = iicbus_read(parent, buf, s->count, &count, s->last, 10); + if (error) + break; + error = copyout(buf, s->buf, s->count); break; default: - error = ENODEV; + error = ENOTTY; } iicbus_release_bus(device_get_parent(iicdev), iicdev); + if (buf != NULL) + free(buf, M_TEMP); return (error); } ==== //depot/projects/hammer/sys/dev/iicbus/iicbus.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/iicbus/iicbus.c,v 1.18 2004/05/12 13:43:41 joerg Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/iicbus/iicbus.c,v 1.19 2004/05/16 21:11:46 joerg Exp $"); /* * Autoconfiguration and support routines for the Philips serial I2C bus @@ -140,7 +140,9 @@ #endif /* attach any known device */ - device_add_child(dev, NULL, -1); + device_add_child(dev, "ic", -1); + device_add_child(dev, "iic", -1); + device_add_child(dev, "iicsmb", -1); bus_generic_attach(dev); ==== //depot/projects/hammer/sys/dev/smbus/smb.c#6 (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/dev/smbus/smb.c,v 1.31 2004/02/21 21:10:47 phk Exp $ + * $FreeBSD: src/sys/dev/smbus/smb.c,v 1.32 2004/05/16 21:18:45 joerg Exp $ * */ #include @@ -194,6 +194,9 @@ device_t smbdev = IIC_DEVICE(minor(dev)); struct smb_softc *sc = IIC_SOFTC(minor(dev)); device_t parent = device_get_parent(smbdev); + char buf[SMB_MAXBLOCKSIZE]; + char c; + short w; int error = 0; struct smbcmd *s = (struct smbcmd *)data; @@ -234,37 +237,66 @@ break; case SMB_READB: - if (s->data.byte_ptr) + if (s->data.byte_ptr) { error = smbus_error(smbus_readb(parent, s->slave, - s->cmd, s->data.byte_ptr)); + s->cmd, &c)); + if (error) + break; + error = copyout(&c, s->data.byte_ptr, + sizeof(*(s->data.byte_ptr))); + } break; case SMB_READW: - if (s->data.word_ptr) + if (s->data.word_ptr) { error = smbus_error(smbus_readw(parent, s->slave, - s->cmd, s->data.word_ptr)); + s->cmd, &w)); + if (error == 0) { + error = copyout(&w, s->data.word_ptr, + sizeof(*(s->data.word_ptr))); + } + } break; case SMB_PCALL: - if (s->data.process.rdata) + if (s->data.process.rdata) { + error = smbus_error(smbus_pcall(parent, s->slave, s->cmd, - s->data.process.sdata, s->data.process.rdata)); + s->data.process.sdata, &w)); + if (error) + break; + error = copyout(&w, s->data.process.rdata, + sizeof(*(s->data.process.rdata))); + } + break; case SMB_BWRITE: - if (s->count && s->data.byte_ptr) + if (s->count && s->data.byte_ptr) { + if (s->count > SMB_MAXBLOCKSIZE) + s->count = SMB_MAXBLOCKSIZE; + error = copyin(s->data.byte_ptr, buf, s->count); + if (error) + break; error = smbus_error(smbus_bwrite(parent, s->slave, - s->cmd, s->count, s->data.byte_ptr)); + s->cmd, s->count, buf)); + } break; case SMB_BREAD: - if (s->count && s->data.byte_ptr) + if (s->count && s->data.byte_ptr) { + if (s->count > SMB_MAXBLOCKSIZE) + s->count = SMB_MAXBLOCKSIZE; error = smbus_error(smbus_bread(parent, s->slave, - s->cmd, s->count, s->data.byte_ptr)); + s->cmd, s->count, buf)); + if (error) + break; + error = copyout(buf, s->data.byte_ptr, s->count); + } break; default: - error = ENODEV; + error = ENOTTY; } /* release the bus */ ==== //depot/projects/hammer/sys/dev/smbus/smb.h#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/dev/smbus/smb.h,v 1.3 1999/08/28 00:44:24 peter Exp $ + * $FreeBSD: src/sys/dev/smbus/smb.h,v 1.4 2004/05/16 21:18:45 joerg Exp $ * */ #ifndef __SMB_H @@ -49,10 +49,15 @@ } data; }; +/* + * SMBus spec 2.0 says block transfers may be at most 32 bytes. + */ +#define SMB_MAXBLOCKSIZE 32 + #define SMB_QUICK_WRITE _IOW('i', 1, struct smbcmd) #define SMB_QUICK_READ _IOW('i', 2, struct smbcmd) #define SMB_SENDB _IOW('i', 3, struct smbcmd) -#define SMB_RECVB _IOW('i', 4, struct smbcmd) +#define SMB_RECVB _IOWR('i', 4, struct smbcmd) #define SMB_WRITEB _IOW('i', 5, struct smbcmd) #define SMB_WRITEW _IOW('i', 6, struct smbcmd) #define SMB_READB _IOW('i', 7, struct smbcmd) From owner-p4-projects@FreeBSD.ORG Sun May 16 14:35:54 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8651C16A4D0; Sun, 16 May 2004 14:35:54 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5DB5A16A4CE for ; Sun, 16 May 2004 14:35:54 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 24AAC43D4C for ; Sun, 16 May 2004 14:35:54 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4GLZrGe021067 for ; Sun, 16 May 2004 14:35:53 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4GLZrpX021064 for perforce@freebsd.org; Sun, 16 May 2004 14:35:53 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Sun, 16 May 2004 14:35:53 -0700 (PDT) Message-Id: <200405162135.i4GLZrpX021064@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 52883 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 May 2004 21:35:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=52883 Change 52883 by peter@peter_overcee on 2004/05/16 14:35:01 remove isa comment merged over from i386. No npx here folks. Affected files ... .. //depot/projects/hammer/sys/amd64/conf/NOTES#29 edit Differences ... ==== //depot/projects/hammer/sys/amd64/conf/NOTES#29 (text+ko) ==== @@ -120,7 +120,7 @@ # # ISA bus # -device isa # Required by npx(4) +device isa # # Options for `isa': From owner-p4-projects@FreeBSD.ORG Sun May 16 14:41:01 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 746E716A4D0; Sun, 16 May 2004 14:41:01 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4B3B916A4CE for ; Sun, 16 May 2004 14:41:01 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E307D43D45 for ; Sun, 16 May 2004 14:41:00 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4GLf0Ge021235 for ; Sun, 16 May 2004 14:41:00 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4GLf0fh021224 for perforce@freebsd.org; Sun, 16 May 2004 14:41:00 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Sun, 16 May 2004 14:41:00 -0700 (PDT) Message-Id: <200405162141.i4GLf0fh021224@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 52884 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 May 2004 21:41:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=52884 Change 52884 by peter@peter_overcee on 2004/05/16 14:40:41 add item for fixing 32/64 bit confustion in sysctl(2) for 32 bit binaries. Affected files ... .. //depot/projects/hammer/TODO.txt#15 edit Differences ... ==== //depot/projects/hammer/TODO.txt#15 (text+ko) ==== @@ -1,4 +1,4 @@ -$P4: //depot/projects/hammer/TODO.txt#14 $ +$P4: //depot/projects/hammer/TODO.txt#15 $ reread the logs etc and check out the "XXX worry about this later" stuff @@ -36,6 +36,12 @@ (XXX: kern.ps_strings and kern.usrstack are prime examples of the 4/8 byte long problem). +Fix sysctl(2) int/long mess, especially for kern.ps_strings and +kern.usrstack. The current hack is Just Wrong. What is needed is a +syscall wrapper for it that downconverts the "long" values from 64 bit to +32 bit for the 32 bit binaries. This is going to need a table of important +"long" sysctls to translate. + ======= DONE ======= ppp(8) (compiler bug, hack in http://people.freebsd.org/~peter/hammer.diff, but gcc-3.3 would be much better) From owner-p4-projects@FreeBSD.ORG Sun May 16 15:17:50 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CCA1D16A4D0; Sun, 16 May 2004 15:17:49 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8ED2D16A4CE for ; Sun, 16 May 2004 15:17:49 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 47A2643D3F for ; Sun, 16 May 2004 15:17:48 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4GMHmGe031010 for ; Sun, 16 May 2004 15:17:48 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4GMHl47031007 for perforce@freebsd.org; Sun, 16 May 2004 15:17:47 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Sun, 16 May 2004 15:17:47 -0700 (PDT) Message-Id: <200405162217.i4GMHl47031007@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 52887 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 May 2004 22:17:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=52887 Change 52887 by peter@peter_overcee on 2004/05/16 15:17:11 IFC @52886 Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/apic_vector.S#20 integrate .. //depot/projects/hammer/sys/amd64/amd64/cpu_switch.S#26 integrate .. //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#60 integrate .. //depot/projects/hammer/sys/amd64/amd64/pmap.c#66 integrate .. //depot/projects/hammer/sys/amd64/conf/GENERIC#40 edit .. //depot/projects/hammer/sys/amd64/conf/NOTES#30 edit .. //depot/projects/hammer/sys/amd64/include/apicvar.h#23 integrate .. //depot/projects/hammer/sys/amd64/include/smp.h#17 integrate Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/apic_vector.S#20 (text+ko) ==== @@ -28,7 +28,7 @@ * SUCH DAMAGE. * * from: vector.s, 386BSD 0.1 unknown origin - * $FreeBSD: src/sys/amd64/amd64/apic_vector.S,v 1.97 2004/04/05 21:25:51 imp Exp $ + * $FreeBSD: src/sys/amd64/amd64/apic_vector.S,v 1.98 2004/05/16 22:11:49 peter Exp $ */ /* ==== //depot/projects/hammer/sys/amd64/amd64/cpu_switch.S#26 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.148 2004/04/05 23:55:13 imp Exp $ + * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.149 2004/05/16 22:11:49 peter Exp $ */ #include ==== //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#60 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.236 2004/03/18 02:53:38 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.237 2004/05/16 22:11:50 peter Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" ==== //depot/projects/hammer/sys/amd64/amd64/pmap.c#66 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.458 2004/05/16 20:44:41 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.459 2004/05/16 22:11:50 peter Exp $"); /* * Manages physical address maps. ==== //depot/projects/hammer/sys/amd64/conf/GENERIC#40 (text+ko) ==== @@ -26,7 +26,6 @@ #hints "GENERIC.hints" # Default places to look for devices. makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols -makeoptions NO_MODULES=not_yet options SCHED_ULE # ULE scheduler options INET # InterNETworking ==== //depot/projects/hammer/sys/amd64/conf/NOTES#30 (text+ko) ==== @@ -8,9 +8,6 @@ # $FreeBSD: src/sys/amd64/conf/NOTES,v 1.13 2004/05/16 21:27:29 peter Exp $ # -# We don't have modules on amd64. -makeoptions NO_MODULES=not_yet - # # This directive is mandatory; it defines the architecture to be # configured for; in this case, the AMD64 family based machines. ==== //depot/projects/hammer/sys/amd64/include/apicvar.h#23 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.7 2004/05/16 20:30:46 peter Exp $ + * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.8 2004/05/16 22:11:50 peter Exp $ */ #ifndef _MACHINE_APICVAR_H_ ==== //depot/projects/hammer/sys/amd64/include/smp.h#17 (text+ko) ==== @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $FreeBSD: src/sys/amd64/include/smp.h,v 1.79 2004/01/28 23:51:16 peter Exp $ + * $FreeBSD: src/sys/amd64/include/smp.h,v 1.80 2004/05/16 22:11:50 peter Exp $ * */ @@ -44,8 +44,7 @@ IDTVEC(statclock), /* Forward statclock() */ IDTVEC(cpuast), /* Additional software trap on other cpu */ IDTVEC(cpustop), /* CPU stops & waits to be restarted */ - IDTVEC(rendezvous), /* handle CPU rendezvous */ - IDTVEC(lazypmap); /* handle lazy pmap release */ + IDTVEC(rendezvous); /* handle CPU rendezvous */ /* functions in mp_machdep.c */ void cpu_add(u_int apic_id, char boot_cpu); From owner-p4-projects@FreeBSD.ORG Sun May 16 15:29:04 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4BFDC16A4D0; Sun, 16 May 2004 15:29:04 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2718E16A4CE for ; Sun, 16 May 2004 15:29:04 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D73ED43D41 for ; Sun, 16 May 2004 15:29:03 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4GMT3Ge033113 for ; Sun, 16 May 2004 15:29:03 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4GMT3kt033110 for perforce@freebsd.org; Sun, 16 May 2004 15:29:03 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Sun, 16 May 2004 15:29:03 -0700 (PDT) Message-Id: <200405162229.i4GMT3kt033110@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 52890 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 May 2004 22:29:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=52890 Change 52890 by peter@peter_overcee on 2004/05/16 15:28:38 kill my fast KTR_CPU hack, I don't need it anymore. Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/local_apic.c#37 edit .. //depot/projects/hammer/sys/kern/kern_ktr.c#9 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/local_apic.c#37 (text+ko) ==== @@ -304,12 +304,7 @@ lapic_id(void) { -#if 0 KASSERT(lapic != NULL, ("local APIC is not mapped")); -#else - if (lapic == 0) - return 0; -#endif return (lapic->id >> APIC_ID_SHIFT); } ==== //depot/projects/hammer/sys/kern/kern_ktr.c#9 (text+ko) ==== @@ -55,13 +55,6 @@ #include #endif -#ifdef __amd64__ -#include -#include -#include -#define KTR_CPU lapic_id() -#endif - #include #ifndef KTR_ENTRIES From owner-p4-projects@FreeBSD.ORG Sun May 16 15:32:09 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C975E16A4D0; Sun, 16 May 2004 15:32:08 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A073E16A4CE for ; Sun, 16 May 2004 15:32:08 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 61FB743D48 for ; Sun, 16 May 2004 15:32:08 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4GMW8Ge034551 for ; Sun, 16 May 2004 15:32:08 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4GMW73E034545 for perforce@freebsd.org; Sun, 16 May 2004 15:32:07 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Sun, 16 May 2004 15:32:07 -0700 (PDT) Message-Id: <200405162232.i4GMW73E034545@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 52891 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 May 2004 22:32:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=52891 Change 52891 by peter@peter_overcee on 2004/05/16 15:31:58 IFC @52890 Affected files ... .. //depot/projects/hammer/sys/modules/Makefile#44 integrate Differences ... ==== //depot/projects/hammer/sys/modules/Makefile#44 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/modules/Makefile,v 1.380 2004/05/16 13:58:27 ru Exp $ +# $FreeBSD: src/sys/modules/Makefile,v 1.381 2004/05/16 22:24:57 peter Exp $ # pcic -- currently broken and being worked on out of tree. # oldcard -- specialized use for debugging only. @@ -375,7 +375,7 @@ .endif .if ${MACHINE_ARCH} == "amd64" -_ndis= ndis +#_ndis= ndis .endif .if ${MACHINE_ARCH} == "ia64" From owner-p4-projects@FreeBSD.ORG Sun May 16 15:45:26 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 734DC16A4D0; Sun, 16 May 2004 15:45:26 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4C49916A4CE for ; Sun, 16 May 2004 15:45:26 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 10F0943D3F for ; Sun, 16 May 2004 15:45:26 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4GMjPGe037228 for ; Sun, 16 May 2004 15:45:25 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4GMjP5Q037225 for perforce@freebsd.org; Sun, 16 May 2004 15:45:25 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Sun, 16 May 2004 15:45:25 -0700 (PDT) Message-Id: <200405162245.i4GMjP5Q037225@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 52893 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 May 2004 22:45:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=52893 Change 52893 by peter@peter_overcee on 2004/05/16 15:44:44 oops, add back redundant blank line for diff reduction Affected files ... .. //depot/projects/hammer/sys/kern/kern_ktr.c#10 edit Differences ... ==== //depot/projects/hammer/sys/kern/kern_ktr.c#10 (text+ko) ==== @@ -55,6 +55,7 @@ #include #endif + #include #ifndef KTR_ENTRIES From owner-p4-projects@FreeBSD.ORG Sun May 16 15:51:41 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D9A7516A4D1; Sun, 16 May 2004 15:51:40 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A7CF916A4CF for ; Sun, 16 May 2004 15:51:40 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5AD5A43D2F for ; Sun, 16 May 2004 15:51:35 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4GMpZGe038407 for ; Sun, 16 May 2004 15:51:35 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4GMpY2p038395 for perforce@freebsd.org; Sun, 16 May 2004 15:51:34 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Sun, 16 May 2004 15:51:34 -0700 (PDT) Message-Id: <200405162251.i4GMpY2p038395@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 52895 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 May 2004 22:51:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=52895 Change 52895 by peter@peter_overcee on 2004/05/16 15:51:25 IFC @@52894 Affected files ... .. //depot/projects/hammer/MAINTAINERS#22 integrate .. //depot/projects/hammer/bin/date/date.1#6 integrate .. //depot/projects/hammer/bin/dd/dd.1#5 integrate .. //depot/projects/hammer/bin/df/df.1#7 integrate .. //depot/projects/hammer/bin/getfacl/getfacl.1#4 integrate .. //depot/projects/hammer/bin/ls/ls.1#13 integrate .. //depot/projects/hammer/bin/ps/ps.1#15 integrate .. //depot/projects/hammer/bin/rmdir/rmdir.c#5 integrate .. //depot/projects/hammer/games/morse/morse.6#5 integrate .. //depot/projects/hammer/games/morse/morse.c#5 integrate .. //depot/projects/hammer/lib/libdisk/disk.c#18 integrate .. //depot/projects/hammer/libexec/bootpd/bootpd.8#4 integrate .. //depot/projects/hammer/libexec/ftpd/ftpd.8#9 integrate .. //depot/projects/hammer/libexec/makekey/makekey.8#4 integrate .. //depot/projects/hammer/libexec/rshd/rshd.8#4 integrate .. //depot/projects/hammer/sys/amd64/amd64/cpu_switch.S#27 integrate .. //depot/projects/hammer/sys/amd64/amd64/genassym.c#34 integrate .. //depot/projects/hammer/sys/amd64/include/pcb.h#19 integrate .. //depot/projects/hammer/usr.bin/finger/net.c#4 integrate .. //depot/projects/hammer/usr.sbin/boot0cfg/boot0cfg.c#5 integrate .. //depot/projects/hammer/usr.sbin/gstat/gstat.c#5 integrate .. //depot/projects/hammer/usr.sbin/keyserv/keyserv.h#2 integrate .. //depot/projects/hammer/usr.sbin/mrouted/cfparse.y#2 integrate .. //depot/projects/hammer/usr.sbin/pccard/pccardc/pccardc.c#4 integrate .. //depot/projects/hammer/usr.sbin/rpc.lockd/lockd_lock.c#5 integrate Differences ... ==== //depot/projects/hammer/MAINTAINERS#22 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/MAINTAINERS,v 1.89 2004/05/10 10:07:25 pjd Exp $ +$FreeBSD: src/MAINTAINERS,v 1.90 2004/05/16 22:05:25 njl Exp $ subsystem login notes ----------------------------- @@ -39,7 +39,6 @@ libcam ken Pre-commit review requested. libdevstat ken Pre-commit review requested. iostat(8) ken Pre-commit review requested. -da(4) njl Pre-commit review requested. send to scsi@freebsd.org cd(4) ken Pre-commit review requested. pass(4) ken Pre-commit review requested. ch(4) ken Pre-commit review requested. ==== //depot/projects/hammer/bin/date/date.1#6 (text+ko) ==== @@ -29,7 +29,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)date.1 8.3 (Berkeley) 4/28/95 -.\" $FreeBSD: src/bin/date/date.1,v 1.63 2004/04/06 22:03:38 green Exp $ +.\" $FreeBSD: src/bin/date/date.1,v 1.64 2004/05/16 21:33:48 ru Exp $ .\" .Dd November 17, 1993 .Dt DATE 1 @@ -38,7 +38,7 @@ .Nm date .Nd display or set date and time .Sh SYNOPSIS -.Nm +.Nm .Op Fl ju .Op Fl r Ar seconds .Oo @@ -58,8 +58,7 @@ .Sm on .Nm .Op Fl jnu -.Fl f -.Ar input_fmt new_date +.Fl f Ar input_fmt new_date .Op Cm + Ns Ar output_fmt .Nm .Op Fl d Ar dst @@ -97,9 +96,9 @@ .Fa tz_dsttime . .It Fl f Use -.Ar fmt +.Ar input_fmt as the format string to parse the -.Ar date +.Ar new_date provided rather than using the default .Sm off .Oo Oo Oo Oo Oo @@ -316,7 +315,9 @@ .Pp may be used on one machine to print out the date suitable for setting on another. -("+%m%d%H%M%Y.%S" for use on Linux) +.Qq ( Li "+%m%d%H%M%Y.%S" +for use on +.Tn Linux . ) .Pp The command: .Pp ==== //depot/projects/hammer/bin/dd/dd.1#5 (text+ko) ==== @@ -29,9 +29,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)dd.1 8.2 (Berkeley) 1/13/94 -.\" $FreeBSD: src/bin/dd/dd.1,v 1.23 2004/04/06 20:06:46 markm Exp $ +.\" $FreeBSD: src/bin/dd/dd.1,v 1.24 2004/05/16 21:34:14 ru Exp $ .\" -.Dd January 13, 1994 +.Dd March 5, 2004 .Dt DD 1 .Os .Sh NAME @@ -360,17 +360,21 @@ will exit. .Sh EXAMPLES Check that a disk drive contains no bad blocks: -.Dl dd if=/dev/ad0 of=/dev/null bs=1m +.Pp +.Dl "dd if=/dev/ad0 of=/dev/null bs=1m" .Pp Do a refresh of a disk drive, in order to prevent presently recoverable read errors from progressing into unrecoverable read errors: -.Dl dd if=/dev/ad0 of=/dev/ad0 bs=1m +.Pp +.Dl "dd if=/dev/ad0 of=/dev/ad0 bs=1m" +.Pp +Remove parity bit from a file: .Pp -Remove parity bit from a file -.Dl dd if=file conv=parnone of=file.txt +.Dl "dd if=file conv=parnone of=file.txt" .Pp Check for (even) parity errors on a file: -.Dl dd if=file conv=pareven | cmp -x - file +.Pp +.Dl "dd if=file conv=pareven | cmp -x - file" .Sh DIAGNOSTICS .Ex -std .Sh SEE ALSO ==== //depot/projects/hammer/bin/df/df.1#7 (text+ko) ==== @@ -26,9 +26,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)df.1 8.3 (Berkeley) 5/8/95 -.\" $FreeBSD: src/bin/df/df.1,v 1.33 2004/04/22 16:33:54 obrien Exp $ +.\" $FreeBSD: src/bin/df/df.1,v 1.34 2004/05/16 21:34:15 ru Exp $ .\" -.Dd May 8, 1995 +.Dd April 22, 2004 .Dt DF 1 .Os .Sh NAME @@ -36,10 +36,7 @@ .Nd display free disk space .Sh SYNOPSIS .Nm -.Oo -.Fl b | g | h | H | k | -.Fl m | P -.Oc +.Op Fl b | g | H | h | k | m | P .Op Fl aciln .Op Fl t Ar type .Op Ar file | filesystem ... ==== //depot/projects/hammer/bin/getfacl/getfacl.1#4 (text+ko) ==== @@ -25,12 +25,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/bin/getfacl/getfacl.1,v 1.7 2003/02/23 01:43:45 ru Exp $ +.\" $FreeBSD: src/bin/getfacl/getfacl.1,v 1.8 2004/05/16 21:34:31 ru Exp $ .\" .\" Developed by the TrustedBSD Project. .\" Support for POSIX.1e access control lists. .\" -.Dd Decemer 30, 2002 +.Dd December 30, 2002 .Dt GETFACL 1 .Os .Sh NAME ==== //depot/projects/hammer/bin/ls/ls.1#13 (text+ko) ==== @@ -29,7 +29,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ls.1 8.7 (Berkeley) 7/29/94 -.\" $FreeBSD: src/bin/ls/ls.1,v 1.80 2004/05/02 11:25:37 tjr Exp $ +.\" $FreeBSD: src/bin/ls/ls.1,v 1.81 2004/05/16 21:34:49 ru Exp $ .\" .Dd May 2, 2004 .Dt LS 1 @@ -185,7 +185,7 @@ Note that .Fl k is mutually exclusive to -.Fl h +.Fl h , and later .Fl k will nullify earlier ==== //depot/projects/hammer/bin/ps/ps.1#15 (text+ko) ==== @@ -26,7 +26,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 -.\" $FreeBSD: src/bin/ps/ps.1,v 1.75 2004/04/06 20:06:49 markm Exp $ +.\" $FreeBSD: src/bin/ps/ps.1,v 1.76 2004/05/16 21:35:05 ru Exp $ .\" .Dd March 27, 2004 .Dt PS 1 @@ -37,26 +37,14 @@ .Sh SYNOPSIS .Nm .Op Fl aCcefHhjlmrSTuvwXxZ -.Oo Fl G Ar gid Ns Xo -.Op , Ns Ar gid Ns No ... -.Xc -.Oc +.Op Fl G Ar gid Ns Op , Ns Ar gid Ns Ar ... .Op Fl M Ar core .Op Fl N Ar system .Op Fl O Ar fmt .Op Fl o Ar fmt -.Oo Fl p Ar pid Ns Xo -.Op , Ns Ar pid Ns No ... -.Xc -.Oc -.Oo Fl t Ar tty Ns Xo -.Op , Ns Ar tty Ns No ... -.Xc -.Oc -.Oo Fl U Ar username Ns Xo -.Op , Ns Ar username Ns No ... -.Xc -.Oc +.Op Fl p Ar pid Ns Op , Ns Ar pid Ns Ar ... +.Op Fl t Ar tty Ns Op , Ns Ar tty Ns Ar ... +.Op Fl U Ar username Ns Op , Ns Ar username Ns Ar ... .Nm .Op Fl L .Sh DESCRIPTION @@ -69,7 +57,7 @@ .Pp A different set of processes can be selected for display by using any combination of the -.Fl a , G , p , T , t +.Fl a , G , p , T , t , and .Fl U options. @@ -86,8 +74,7 @@ option may result in multiple output lines (one line per thread) for some processes. By default all of these output lines are sorted first by controlling -terminal, then by process -.Tn ID . +terminal, then by process ID. The .Fl m , r , u , and @@ -98,14 +85,12 @@ .Pp For the processes which have been selected for display, the information to display is selected based on a set of keywords (see the -.Fl L -.Fl O +.Fl L , O , and .Fl o options). -The default output format includes, for each process, the process' -.Tn ID , -controlling terminal, cpu time (including both user and system time), +The default output format includes, for each process, the process' ID, +controlling terminal, CPU time (including both user and system time), state, and associated command. .Pp The process file system (see @@ -126,25 +111,30 @@ .Va security.bsd.see_other_uids sysctl to zero. .It Fl c -Change the ``command'' column output to just contain the executable name, +Change the +.Dq command +column output to just contain the executable name, rather than the full command line. .It Fl C -Change the way the cpu percentage is calculated by using a ``raw'' -cpu calculation that ignores ``resident'' time (this normally has +Change the way the CPU percentage is calculated by using a +.Dq raw +CPU calculation that ignores +.Dq resident +time (this normally has no effect). .It Fl e Display the environment as well. .It Fl f Show commandline and environment information about swapped out processes. -This option is honored only if the uid of the user is 0. +This option is honored only if the UID of the user is 0. .It Fl G Display information about processes which are running with the specified -real group -.Tn ID(s) . +real group IDs. .It Fl H Show all of the .Em kernel visible -threads associated with each process. Depending on the threading package that +threads associated with each process. +Depending on the threading package that is in use, this may show only the process, only the kernel scheduled entities, or all of the process threads. .It Fl h @@ -152,7 +142,9 @@ header per page of information. .It Fl j Print information associated with the following keywords: -user, pid, ppid, pgid, jobc, state, tt, time and command. +.Cm user , pid , ppid , pgid , jobc , state , tt , time , +and +.Cm command . .It Fl L List the set of keywords available for the .Fl O @@ -161,25 +153,27 @@ options. .It Fl l Display information associated with the following keywords: -uid, pid, ppid, cpu, pri, nice, vsz, rss, mwchan, state, tt, time -and command. +.Cm uid , pid , ppid , cpu , pri , nice , vsz , rss , mwchan , state , +.Cm tt , time , +and +.Cm command . .It Fl M Extract values associated with the name list from the specified core instead of the currently running system. .It Fl m Sort by memory usage, instead of the combination of controlling -terminal and process -.Tn ID . +terminal and process ID. .It Fl N Extract the name list from the specified system instead of the default, which is the kernel image the system has booted from. .It Fl O Add the information associated with the space or comma separated list -of keywords specified, after the process -.Tn ID , +of keywords specified, after the process ID, in the default information display. -Keywords may be appended with an equals (``='') sign and a string. +Keywords may be appended with an equals +.Pq Ql = +sign and a string. This causes the printed header to use the specified string instead of the standard header. .It Fl o @@ -188,16 +182,16 @@ Multiple keywords may also be given in the form of more than one .Fl o option. -Keywords may be appended with an equals (``='') sign and a string. +Keywords may be appended with an equals +.Pq Ql = +sign and a string. This causes the printed header to use the specified string instead of the standard header. .It Fl p -Display information about processes which match the specified process -.Tn ID(s) . +Display information about processes which match the specified process IDs. .It Fl r -Sort by current cpu usage, instead of the combination of controlling -terminal and process -.Tn ID . +Sort by current CPU usage, instead of the combination of controlling +terminal and process ID. .It Fl S Change the way the process time is calculated by summing all exited children to their parent process. @@ -206,13 +200,14 @@ with the standard input. .It Fl t Display information about processes attached to the specified terminal -device(s). +devices. .It Fl U -Display the processes belonging to the specified -.Ar username Ns (s) . +Display the processes belonging to the specified usernames. .It Fl u Display information associated with the following keywords: -user, pid, %cpu, %mem, vsz, rss, tt, state, start, time and command. +.Cm user , pid , %cpu , %mem , vsz , rss , tt , state , start , time , +and +.Cm command . The .Fl u option implies the @@ -220,8 +215,10 @@ option. .It Fl v Display information associated with the following keywords: -pid, state, time, sl, re, pagein, vsz, rss, lim, tsiz, -%cpu, %mem and command. +.Cm pid , state , time , sl , re , pagein , vsz , rss , lim , tsiz , +.Cm %cpu , %mem , +and +.Cm command . The .Fl v option implies the @@ -260,16 +257,16 @@ A complete list of the available keywords are listed below. Some of these keywords are further specified as follows: .Bl -tag -width lockname -.It %cpu -The cpu utilization of the process; this is a decaying average over up to +.It Cm %cpu +The CPU utilization of the process; this is a decaying average over up to a minute of previous (real) time. Since the time base over which this is computed varies (since processes may be very young) it is possible for the sum of all -.Tn \&%CPU +.Cm %cpu fields to exceed 100%. -.It %mem +.It Cm %mem The percentage of real memory used by this process. -.It flags +.It Cm flags The flags associated with the process as in the include file .In sys/proc.h : @@ -298,104 +295,112 @@ .It Dv "P_JAILED" Ta No "0x1000000 Process is in jail" .It Dv "P_INEXEC" Ta No "0x4000000 Process is in execve()" .El -.It label +.It Cm label The MAC label of the process. -.It lim +.It Cm lim The soft limit on memory used, specified via a call to .Xr setrlimit 2 . -.It lstart -The exact time the command started, using the ``%c'' format described in +.It Cm lstart +The exact time the command started, using the +.Ql %c +format described in .Xr strftime 3 . -.It lockname +.It Cm lockname The name of the lock that the process is currently blocked on. If the name is invalid or unknown, then .Dq ???\& is displayed. -.It mwchan +.It Cm mwchan The event name if the process is blocked normally, or the lock name if the process is blocked on a lock. See the wchan and lockname keywords for details. -.It nice +.It Cm nice The process scheduling increment (see .Xr setpriority 2 ) . -.It rss +.It Cm rss the real memory (resident set) size of the process (in 1024 byte units). -.It start +.It Cm start The time the command started. If the command started less than 24 hours ago, the start time is -displayed using the ``%l:ps.1p'' format described in +displayed using the +.Dq Li %l:ps.1p +format described in .Xr strftime 3 . If the command started less than 7 days ago, the start time is -displayed using the ``%a6.15p'' format. -Otherwise, the start time is displayed using the ``%e%b%y'' format. -.It state +displayed using the +.Dq Li %a6.15p +format. +Otherwise, the start time is displayed using the +.Dq Li %e%b%y +format. +.It Cm state The state is given by a sequence of characters, for example, -.Dq Tn RWNA . +.Dq Li RWNA . The first character indicates the run state of the process: .Pp .Bl -tag -width indent -compact -.It D +.It Li D Marks a process in disk (or other short term, uninterruptible) wait. -.It I +.It Li I Marks a process that is idle (sleeping for longer than about 20 seconds). -.It L +.It Li L Marks a process that is waiting to acquire a lock. -.It R +.It Li R Marks a runnable process. -.It S +.It Li S Marks a process that is sleeping for less than about 20 seconds. -.It T +.It Li T Marks a stopped process. -.It W +.It Li W Marks an idle interrupt thread. -.It Z -Marks a dead process (a ``zombie''). +.It Li Z +Marks a dead process (a +.Dq zombie ) . .El .Pp Additional characters after these, if any, indicate additional state information: .Pp .Bl -tag -width indent -compact -.It + +.It Li + The process is in the foreground process group of its control terminal. -.It < -The process has raised -.Tn CPU -scheduling priority. -.It E +.It Li < +The process has raised CPU scheduling priority. +.It Li E The process is trying to exit. -.It J +.It Li J Marks a process which is in .Xr jail 2 . The hostname of the prison can be found in -.Ql /proc//status . -.It L +.Pa /proc/ Ns Ao Ar pid Ac Ns Pa /status . +.It Li L The process has pages locked in core (for example, for raw .Tn I/O ) . -.It N -The process has reduced -.Tn CPU -scheduling priority (see +.It Li N +The process has reduced CPU scheduling priority (see .Xr setpriority 2 ) . -.It s +.It Li s The process is a session leader. -.It V +.It Li V The process is suspended during a .Xr vfork 2 . -.It W +.It Li W The process is swapped out. -.It X +.It Li X The process is being traced or debugged. .El -.It tt +.It Cm tt An abbreviation for the pathname of the controlling terminal, if any. The abbreviation consists of the three letters following .Pa /dev/tty , -or, for the console, ``con''. -This is followed by a ``-'' if the process can no longer reach that +or, for the console, +.Dq Li con . +This is followed by a +.Ql - +if the process can no longer reach that controlling terminal (i.e., it has been revoked). -.It wchan +.It Cm wchan The event (an address in the system) on which a process waits. When printed numerically, the initial part of the address is trimmed off and the result is printed in hex, for example, 0x80324000 prints @@ -404,8 +409,11 @@ .Pp When printing using the command keyword, a process that has exited and has a parent that has not yet waited for the process (in other words, a zombie) -is listed as ``'', and a process which is blocked while trying -to exit is listed as ``''. +is listed as +.Dq Li , +and a process which is blocked while trying +to exit is listed as +.Dq Li . The .Nm utility @@ -420,154 +428,162 @@ meanings. Several of them have aliases (keywords which are synonyms). .Pp -.Bl -tag -width sigignore -compact -.It %cpu -percentage cpu usage (alias pcpu) -.It %mem -percentage memory usage (alias pmem) -.It acflag -accounting flag (alias acflg) -.It args +.Bl -tag -width ".Cm sigignore" -compact +.It Cm %cpu +percentage CPU usage (alias +.Cm pcpu ) +.It Cm %mem +percentage memory usage (alias +.Cm pmem ) +.It Cm acflag +accounting flag (alias +.Cm acflg ) +.It Cm args command and arguments -.It comm +.It Cm comm command -.It command +.It Cm command command and arguments -.It cpu -short-term cpu usage factor (for scheduling) -.It etime +.It Cm cpu +short-term CPU usage factor (for scheduling) +.It Cm etime elapsed running time -.It flags -the process flags, in hexadecimal (alias f) -.It inblk -total blocks read (alias inblock) -.It jobc +.It Cm flags +the process flags, in hexadecimal (alias +.Cm f ) +.It Cm inblk +total blocks read (alias +.Cm inblock ) +.It Cm jobc job control count -.It ktrace +.It Cm ktrace tracing flags -.It label +.It Cm label MAC label -.It lim +.It Cm lim memoryuse limit -.It logname +.It Cm logname login name of user who started the process -.It lstart +.It Cm lstart time started -.It majflt +.It Cm majflt total page faults -.It minflt +.It Cm minflt total page reclaims -.It msgrcv +.It Cm msgrcv total messages received (reads from pipes/sockets) -.It msgsnd +.It Cm msgsnd total messages sent (writes on pipes/sockets) -.It lockname +.It Cm lockname lock currently blocked on (as a symbolic name) -.It mwchan +.It Cm mwchan wait channel or lock currently blocked on -.It nice -nice value (alias ni) -.It nivcsw +.It Cm nice +nice value (alias +.Cm ni ) +.It Cm nivcsw total involuntary context switches -.It nsigs -total signals taken (alias nsignals) -.It nswap +.It Cm nsigs +total signals taken (alias +.Cm nsignals ) +.It Cm nswap total swaps in/out -.It nvcsw +.It Cm nvcsw total voluntary context switches -.It nwchan +.It Cm nwchan wait channel (as an address) -.It oublk -total blocks written (alias oublock) -.It paddr +.It Cm oublk +total blocks written (alias +.Cm oublock ) +.It Cm paddr swap address -.It pagein +.It Cm pagein pageins (same as majflt) -.It pgid +.It Cm pgid process group number -.It pid -process -.Tn ID -.It poip +.It Cm pid +process ID +.It Cm poip pageouts in progress -.It ppid -parent process -.Tn ID -.It pri +.It Cm ppid +parent process ID +.It Cm pri scheduling priority -.It re +.It Cm re core residency time (in seconds; 127 = infinity) -.It rgid -real group -.Tn ID -.It rgroup +.It Cm rgid +real group ID +.It Cm rgroup group name (from rgid) -.It rlink +.It Cm rlink reverse link on run queue, or 0 -.It rss +.It Cm rss resident set size -.It rtprio +.It Cm rtprio realtime priority (101 = not a realtime process) -.It ruid -real user -.Tn ID -.It ruser +.It Cm ruid +real user ID +.It Cm ruser user name (from ruid) -.It sid -session -.Tn ID -.It sig -pending signals (alias pending) -.It sigcatch -caught signals (alias caught) -.It sigignore -ignored signals (alias ignored) -.It sigmask -blocked signals (alias blocked) -.It sl +.It Cm sid +session ID +.It Cm sig +pending signals (alias +.Cm pending ) +.It Cm sigcatch +caught signals (alias +.Cm caught ) +.It Cm sigignore +ignored signals (alias +.Cm ignored ) +.It Cm sigmask +blocked signals (alias +.Cm blocked ) +.It Cm sl sleep time (in seconds; 127 = infinity) -.It start +.It Cm start time started -.It state -symbolic process state (alias stat) -.It svgid +.It Cm state +symbolic process state (alias +.Cm stat ) +.It Cm svgid saved gid from a setgid executable -.It svuid -saved uid from a setuid executable -.It tdev +.It Cm svuid +saved UID from a setuid executable +.It Cm tdev control terminal device number -.It time -accumulated cpu time, user + system (alias cputime) -.It tpgid -control terminal process group -.Tn ID -.\".It trss +.It Cm time +accumulated CPU time, user + system (alias +.Cm cputime ) +.It Cm tpgid +control terminal process group ID +.\".It Cm trss .\"text resident set size (in Kbytes) -.It tsid -control terminal session -.Tn ID -.It tsiz +.It Cm tsid +control terminal session ID +.It Cm tsiz text size (in Kbytes) -.It tt +.It Cm tt control terminal name (two letter abbreviation) -.It tty +.It Cm tty full name of control terminal -.It uprocp +.It Cm uprocp process pointer -.It ucomm +.It Cm ucomm name to be used for accounting -.It uid -effective user -.Tn ID -.It upr -scheduling priority on return from system call (alias usrpri) -.It user -user name (from uid) -.It vsz -virtual size in Kbytes (alias vsize) -.It wchan +.It Cm uid +effective user ID +.It Cm upr +scheduling priority on return from system call (alias +.Cm usrpri ) +.It Cm user +user name (from UID) +.It Cm vsz +virtual size in Kbytes (alias +.Cm vsize ) +.It Cm wchan wait channel (as a symbolic name) -.It xstat +.It Cm xstat exit or stop status (valid only for stopped or zombie process) .El .Sh ENVIRONMENT @@ -609,7 +625,9 @@ .Fx supports a different set of options from what is described by .St -p1003.2 , -and what is supported on non-BSD operating systems. +and what is supported on +.No non- Ns Bx +operating systems. .Sh HISTORY The .Nm ==== //depot/projects/hammer/bin/rmdir/rmdir.c#5 (text+ko) ==== @@ -39,7 +39,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/rmdir/rmdir.c,v 1.16 2004/04/06 20:06:51 markm Exp $"); +__FBSDID("$FreeBSD: src/bin/rmdir/rmdir.c,v 1.17 2004/05/16 20:41:11 ru Exp $"); #include #include @@ -123,6 +123,6 @@ usage(void) { - (void)fprintf(stderr, "usage: rmdir [-p] directory ...\n"); + (void)fprintf(stderr, "usage: rmdir [-pv] directory ...\n"); exit(1); } ==== //depot/projects/hammer/games/morse/morse.6#5 (text+ko) ==== @@ -31,7 +31,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)bcd.6 8.1 (Berkeley) 5/31/93 -.\" $FreeBSD: src/games/morse/morse.6,v 1.13 2004/05/11 11:11:14 dds Exp $ +.\" $FreeBSD: src/games/morse/morse.6,v 1.14 2004/05/16 21:52:48 ru Exp $ .\" .Dd May 11, 2004 .Dt MORSE 6 @@ -41,36 +41,37 @@ .Nd reformat input as morse code .Sh SYNOPSIS .Nm -.Op Fl p +.Op Fl elps .Op Fl d Ar device -.Op Fl e .Op Fl w Ar speed .Op Fl f Ar frequency -.Op Fl l -.Op Fl s .Op Ar string ... .Sh DESCRIPTION -The command +The .Nm -read the given input and reformat it in the form of morse code. +command reads the given input and reformats it in the form of morse code. Acceptable input are command line arguments or the standard input. .Pp Available options: -.Bl -tag -width flag +.Bl -tag -width indent .It Fl l The .Fl l -option produces output suitable for led(4) devices. +option produces output suitable for +.Xr led 4 +devices. .It Fl s The .Fl s option produces dots and dashes rather than words. .It Fl p -Send morse the real way. This only works if your system has +Send morse the real way. +This only works if your system has .Xr speaker 4 support. .It Fl w Ar speed -Set the sending speed in words per minute. If not specified the default +Set the sending speed in words per minute. +If not specified, the default speed of 20 WPM is used. .It Fl f Ar frequency Set the sidetone frequency to something other than the default 600 Hz. @@ -79,10 +80,10 @@ .Fl p , but use the RTS line of .Ar device -(which must by a tty device) +(which must by a TTY device) in order to emit the morse code. .It Fl e -echo each character before it is sent, used together with either +Echo each character before it is sent, used together with either .Fl p or .Fl d . @@ -98,7 +99,8 @@ .Fl d flag. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun May 16 16:16:13 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D73DC16A4D0; Sun, 16 May 2004 16:16:12 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AAE8C16A4CE; Sun, 16 May 2004 16:16:12 -0700 (PDT) Received: from harmony.village.org (rover.village.org [168.103.84.182]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0D2B843D46; Sun, 16 May 2004 16:16:12 -0700 (PDT) (envelope-from imp@bsdimp.com) Received: from localhost (warner@rover2.village.org [10.0.0.1]) by harmony.village.org (8.12.10/8.12.9) with ESMTP id i4GNG8m6041004; Sun, 16 May 2004 17:16:08 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Sun, 16 May 2004 17:17:17 -0600 (MDT) Message-Id: <20040516.171717.90909923.imp@bsdimp.com> To: peter@freebsd.org From: "M. Warner Losh" In-Reply-To: <200405162042.i4GKghQ8008700@repoman.freebsd.org> References: <200405162042.i4GKghQ8008700@repoman.freebsd.org> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: perforce@freebsd.org Subject: Re: PERFORCE change 52874 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 May 2004 23:16:13 -0000 In message: <200405162042.i4GKghQ8008700@repoman.freebsd.org> Peter Wemm writes: : Can't remove clause-3 here because dyson has a mention in the : header. I dont know if bsdimp has dyson's ok to remove these : or not, but it was removed on i386. IF that's the case, can you re-add them? I didn't have dyson's permisson. Warner From owner-p4-projects@FreeBSD.ORG Sun May 16 19:52:57 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B71C516A4D0; Sun, 16 May 2004 19:52:56 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6DBAF16A4CE for ; Sun, 16 May 2004 19:52:56 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1EF8B43D4C for ; Sun, 16 May 2004 19:52:54 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4H2qrGe097689 for ; Sun, 16 May 2004 19:52:53 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4H2qr4C097686 for perforce@freebsd.org; Sun, 16 May 2004 19:52:53 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Sun, 16 May 2004 19:52:53 -0700 (PDT) Message-Id: <200405170252.i4H2qr4C097686@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 52905 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 May 2004 02:52:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=52905 Change 52905 by peter@peter_hammer on 2004/05/16 19:52:19 Tidy up a few things. Track all the progbits/nobits chunks in a unified table. That's one less thing to go wrong. De-nest a bunch of heavily nested/indented functions. Affected files ... .. //depot/projects/hammer/sys/kern/link_elf_obj.c#30 edit Differences ... ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#30 (text+ko) ==== @@ -60,8 +60,7 @@ typedef struct { void *addr; - Elf_Off fileoff; - Elf_Off filesz; + Elf_Off size; int align; int flags; int sec; /* Original section */ @@ -69,25 +68,14 @@ } Elf_progent; typedef struct { - void *addr; - Elf_Off memsz; - int align; - int flags; - int sec; /* Original section */ - char *name; -} Elf_nobitent; - -typedef struct { Elf_Rel *rel; - Elf_Off fileoff; - Elf_Off filesz; + int nrel; int sec; } Elf_relent; typedef struct { Elf_Rela *rela; - Elf_Off fileoff; - Elf_Off filesz; + int nrela; int sec; } Elf_relaent; @@ -101,9 +89,6 @@ Elf_progent *progtab; int nprogtab; - Elf_nobitent *nobittab; - int nnobittab; - Elf_relaent *relatab; int nrela; @@ -203,7 +188,7 @@ Elf_Ehdr *hdr; Elf_Shdr *shdr; int nbytes, i; - caddr_t mapbase; + vm_offset_t mapbase; size_t mapsize; int error = 0; int resid, flags; @@ -213,7 +198,7 @@ int symstrindex; int shstrindex; int nsym; - int pb, nb, rl, ra; + int pb, rl, ra; int alignmask; GIANT_REQUIRED; @@ -237,7 +222,7 @@ #endif /* Read the elf header from the file. */ - hdr = malloc(sizeof(*hdr), M_LINKER, M_WAITOK); + hdr = malloc(sizeof(*hdr), M_LINKER, M_WAITOK | M_ZERO); if (hdr == NULL) { error = ENOMEM; goto out; @@ -287,7 +272,6 @@ } ef = (elf_file_t) lf; ef->nprogtab = 0; - ef->nnobittab = 0; ef->e_shdr = 0; ef->nrel = 0; ef->nrela = 0; @@ -321,11 +305,9 @@ for (i = 0; i < hdr->e_shnum; i++) { switch (shdr[i].sh_type) { case SHT_PROGBITS: + case SHT_NOBITS: ef->nprogtab++; break; - case SHT_NOBITS: - ef->nnobittab++; - break; case SHT_SYMTAB: nsym++; symtabindex = i; @@ -341,7 +323,7 @@ break; } } - if (ef->nprogtab == 0 && ef->nnobittab == 0) { + if (ef->nprogtab == 0) { link_elf_error("file has no contents"); error = ENOEXEC; goto out; @@ -360,52 +342,84 @@ } /* Allocate space for tracking the load chunks */ - /* XXX - maybe unneeded. might be able to use the shdr directly */ if (ef->nprogtab != 0) - ef->progtab = malloc(ef->nprogtab * sizeof(*ef->progtab), M_LINKER, M_WAITOK); - if (ef->nnobittab != 0) - ef->nobittab = malloc(ef->nnobittab * sizeof(*ef->nobittab), M_LINKER, M_WAITOK); + ef->progtab = malloc(ef->nprogtab * sizeof(*ef->progtab), + M_LINKER, M_WAITOK | M_ZERO); if (ef->nrel != 0) - ef->reltab = malloc(ef->nrel * sizeof(*ef->reltab), M_LINKER, M_WAITOK); + ef->reltab = malloc(ef->nrel * sizeof(*ef->reltab), M_LINKER, + M_WAITOK | M_ZERO); if (ef->nrela != 0) - ef->relatab = malloc(ef->nrela * sizeof(*ef->relatab), M_LINKER, M_WAITOK); + ef->relatab = malloc(ef->nrela * sizeof(*ef->relatab), M_LINKER, + M_WAITOK | M_ZERO); /* XXX check for failures */ - /* Space for symbol table */ + if (symtabindex == -1) + panic("lost symbol table index"); + /* Allocate space for and load the symbol table */ ef->ddbsymcnt = shdr[symtabindex].sh_size / sizeof(Elf_Sym); - ef->ddbsymtab = malloc(shdr[symtabindex].sh_size, M_LINKER, M_WAITOK); + ef->ddbsymtab = malloc(shdr[symtabindex].sh_size, M_LINKER, + M_WAITOK | M_ZERO); + if (ef->ddbsymtab == NULL) { + error = ENOMEM; + goto out; + } + error = vn_rdwr(UIO_READ, nd.ni_vp, (void *)ef->ddbsymtab, + shdr[symtabindex].sh_size, shdr[symtabindex].sh_offset, + UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, + &resid, td); + if (error) + goto out; + if (resid != 0){ + error = EINVAL; + goto out; + } + if (symstrindex == -1) + panic("lost symbol string index"); + /* Allocate space for and load the symbol strings */ ef->ddbstrcnt = shdr[symstrindex].sh_size; - ef->ddbstrtab = malloc(shdr[symstrindex].sh_size, M_LINKER, M_WAITOK); - - if (ef->ddbsymtab == NULL || ef->ddbstrtab == NULL) { + ef->ddbstrtab = malloc(shdr[symstrindex].sh_size, M_LINKER, + M_WAITOK | M_ZERO); + if (ef->ddbstrtab == NULL) { error = ENOMEM; goto out; } + error = vn_rdwr(UIO_READ, nd.ni_vp, ef->ddbstrtab, + shdr[symstrindex].sh_size, shdr[symstrindex].sh_offset, + UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, + &resid, td); + if (error) + goto out; + if (resid != 0){ + error = EINVAL; + goto out; + } /* Do we have a string table for the section names? */ shstrindex = -1; - if (hdr->e_shstrndx != 0 && shdr[hdr->e_shstrndx].sh_type == SHT_STRTAB) { + if (hdr->e_shstrndx != 0 && + shdr[hdr->e_shstrndx].sh_type == SHT_STRTAB) { shstrindex = hdr->e_shstrndx; ef->shstrcnt = shdr[shstrindex].sh_size; - ef->shstrtab = malloc(shdr[shstrindex].sh_size, M_LINKER, M_WAITOK); + ef->shstrtab = malloc(shdr[shstrindex].sh_size, M_LINKER, + M_WAITOK); if (ef->shstrtab == NULL) { error = ENOMEM; goto out; } - error = vn_rdwr(UIO_READ, nd.ni_vp, - ef->shstrtab, shdr[shstrindex].sh_size, shdr[shstrindex].sh_offset, + error = vn_rdwr(UIO_READ, nd.ni_vp, ef->shstrtab, + shdr[shstrindex].sh_size, shdr[shstrindex].sh_offset, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, &resid, td); if (error) goto out; + if (resid != 0){ + error = EINVAL; + goto out; + } } - /* Size code/data(progbits) and bss(nobits). allocate space for relocs */ - pb = 0; - nb = 0; - rl = 0; - ra = 0; + /* Size up code/data(progbits) and bss(nobits). */ alignmask = 0; for (i = 0; i < hdr->e_shnum; i++) { switch (shdr[i].sh_type) { @@ -414,66 +428,18 @@ alignmask = shdr[i].sh_addralign - 1; mapsize += alignmask; mapsize &= ~alignmask; - break; - } - - switch (shdr[i].sh_type) { - case SHT_PROGBITS: - ef->progtab[pb].addr = (void *)(uintptr_t)mapsize; - ef->progtab[pb].fileoff = shdr[i].sh_offset; - ef->progtab[pb].filesz = shdr[i].sh_size; - ef->progtab[pb].align = shdr[i].sh_addralign; - ef->progtab[pb].sec = i; - if (ef->shstrtab && shdr[i].sh_name != 0) - ef->progtab[pb].name = ef->shstrtab + shdr[i].sh_name; - else - ef->progtab[pb].name = "<>"; mapsize += shdr[i].sh_size; - pb++; - break; - case SHT_NOBITS: - ef->nobittab[nb].addr = (void *)(uintptr_t)mapsize; - ef->nobittab[nb].memsz = shdr[i].sh_size; - ef->nobittab[nb].align = shdr[i].sh_addralign; - ef->nobittab[nb].sec = i; - if (ef->shstrtab && shdr[i].sh_name != 0) - ef->nobittab[nb].name = ef->shstrtab + shdr[i].sh_name; - else - ef->nobittab[nb].name = "<>"; - mapsize += shdr[i].sh_size; - nb++; - break; - case SHT_REL: - ef->reltab[rl].rel = malloc(shdr[i].sh_size, M_LINKER, M_WAITOK); - ef->reltab[rl].fileoff = shdr[i].sh_offset; - ef->reltab[rl].filesz = shdr[i].sh_size; - ef->reltab[rl].sec = shdr[i].sh_info; - rl++; - break; - case SHT_RELA: - ef->relatab[ra].rela = malloc(shdr[i].sh_size, M_LINKER, M_WAITOK); - ef->relatab[ra].fileoff = shdr[i].sh_offset; - ef->relatab[ra].filesz = shdr[i].sh_size; - ef->relatab[ra].sec = shdr[i].sh_info; - ra++; break; } } - if (pb != ef->nprogtab) - panic("lots progbits"); - if (nb != ef->nnobittab) - panic("lots nobits"); - if (rl != ef->nrel) - panic("lots rel"); - if (ra != ef->nrela) - panic("lots rela"); /* * We know how much space we need for the text/data/bss/etc. * This stuff needs to be in a single chunk so that profiling etc * can get the bounds and gdb can associate offsets with modules */ - ef->object = vm_object_allocate(OBJT_DEFAULT, round_page(mapsize) >> PAGE_SHIFT); + ef->object = vm_object_allocate(OBJT_DEFAULT, + round_page(mapsize) >> PAGE_SHIFT); if (ef->object == NULL) { error = ENOMEM; goto out; @@ -481,80 +447,111 @@ vm_object_reference(ef->object); ef->address = (caddr_t) vm_map_min(kernel_map); error = vm_map_find(kernel_map, ef->object, 0, - (vm_offset_t *) &ef->address, mapsize, TRUE, VM_PROT_ALL, VM_PROT_ALL, FALSE); + &mapbase, mapsize, TRUE, VM_PROT_ALL, VM_PROT_ALL, FALSE); if (error) { vm_object_deallocate(ef->object); ef->object = 0; goto out; } - mapbase = ef->address; + /* Wire the pages */ - vm_map_wire(kernel_map, (vm_offset_t)mapbase, - (vm_offset_t)mapbase + round_page(mapsize), + vm_map_wire(kernel_map, mapbase, + mapbase + round_page(mapsize), VM_MAP_WIRE_SYSTEM|VM_MAP_WIRE_NOHOLES); - /* Add the base address to the previously calculated/aligned offsets */ - for (i = 0; i < ef->nprogtab; i++) - ef->progtab[i].addr = mapbase + (uintptr_t)ef->progtab[i].addr; + /* Inform the kld system about the situation */ + lf->address = ef->address = (caddr_t)mapbase; + lf->size = mapsize; - for (i = 0; i < ef->nnobittab; i++) - ef->nobittab[i].addr = mapbase + (uintptr_t)ef->nobittab[i].addr; - - - /* Load the symbol table. */ - error = vn_rdwr(UIO_READ, nd.ni_vp, - (void *)ef->ddbsymtab, shdr[symtabindex].sh_size, shdr[symtabindex].sh_offset, - UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, - &resid, td); - if (error) - goto out; - error = vn_rdwr(UIO_READ, nd.ni_vp, - ef->ddbstrtab, shdr[symstrindex].sh_size, shdr[symstrindex].sh_offset, - UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, - &resid, td); - if (error) - goto out; - - /* Read in the text/data/set/etc sections */ - for (i = 0; i < ef->nprogtab; i++) { - error = vn_rdwr(UIO_READ, nd.ni_vp, - ef->progtab[i].addr, - ef->progtab[i].filesz, - ef->progtab[i].fileoff, - UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, - &resid, td); - if (error) - goto out; - } - /* - * Read in relocation tables. Platforms use rel or rela, but - * usually not both. + * Now load code/data(progbits), zero bss(nobits), allocate space for + * and load relocs */ - for (i = 0; i < ef->nrel; i++) { - error = vn_rdwr(UIO_READ, nd.ni_vp, - (void *)ef->reltab[i].rel, - ef->reltab[i].filesz, - ef->reltab[i].fileoff, - UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, - &resid, td); - if (error) - goto out; + pb = 0; + rl = 0; + ra = 0; + alignmask = 0; + for (i = 0; i < hdr->e_shnum; i++) { + switch (shdr[i].sh_type) { + case SHT_PROGBITS: + case SHT_NOBITS: + alignmask = shdr[i].sh_addralign - 1; + mapbase += alignmask; + mapbase &= ~alignmask; + ef->progtab[pb].addr = (void *)(uintptr_t)mapbase; + if (shdr[i].sh_type == SHT_PROGBITS) { + ef->progtab[pb].name = "<>"; + error = vn_rdwr(UIO_READ, nd.ni_vp, + ef->progtab[pb].addr, + shdr[i].sh_size, shdr[i].sh_offset, + UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, + NOCRED, &resid, td); + if (error) + goto out; + if (resid != 0){ + error = EINVAL; + goto out; + } + } else { + bzero(ef->progtab[pb].addr, shdr[i].sh_size); + ef->progtab[pb].name = "<>"; + } + ef->progtab[pb].size = shdr[i].sh_size; + ef->progtab[pb].align = shdr[i].sh_addralign; + ef->progtab[pb].sec = i; + if (ef->shstrtab && shdr[i].sh_name != 0) + ef->progtab[pb].name = + ef->shstrtab + shdr[i].sh_name; + mapsize += shdr[i].sh_size; + pb++; + break; + case SHT_REL: + ef->reltab[rl].rel = malloc(shdr[i].sh_size, M_LINKER, + M_WAITOK); + ef->reltab[rl].nrel = shdr[i].sh_size / sizeof(Elf_Rel); + ef->reltab[rl].sec = shdr[i].sh_info; + error = vn_rdwr(UIO_READ, nd.ni_vp, + (void *)ef->reltab[rl].rel, + shdr[i].sh_size, shdr[i].sh_offset, + UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, + &resid, td); + if (error) + goto out; + if (resid != 0){ + error = EINVAL; + goto out; + } + rl++; + break; + case SHT_RELA: + ef->relatab[ra].rela = malloc(shdr[i].sh_size, M_LINKER, + M_WAITOK); + ef->relatab[ra].nrela = + shdr[i].sh_size / sizeof(Elf_Rela); + ef->relatab[ra].sec = shdr[i].sh_info; + error = vn_rdwr(UIO_READ, nd.ni_vp, + (void *)ef->relatab[ra].rela, + shdr[i].sh_size, shdr[i].sh_offset, + UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, + &resid, td); + if (error) + goto out; + if (resid != 0){ + error = EINVAL; + goto out; + } + ra++; + break; + } } - for (i = 0; i < ef->nrela; i++) { - error = vn_rdwr(UIO_READ, nd.ni_vp, - (void *)ef->relatab[i].rela, - ef->relatab[i].filesz, - ef->relatab[i].fileoff, - UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, - &resid, td); - if (error) - goto out; - } - - /* Inform the kld system about the situation */ - lf->address = ef->address = mapbase; - lf->size = mapsize; + if (pb != ef->nprogtab) + panic("lost progbits"); + if (rl != ef->nrel) + panic("lost rel"); + if (ra != ef->nrela) + panic("lost rela"); + if (mapbase != mapsize) + printf("mapbase 0x%lx != mapsize 0x%lx\n", mapbase, mapsize); /* Local intra-module relocations */ link_elf_reloc_local(lf); @@ -597,7 +594,8 @@ if (ef->object) { vm_map_remove(kernel_map, (vm_offset_t) ef->address, - (vm_offset_t) ef->address + (ef->object->size << PAGE_SHIFT)); + (vm_offset_t) ef->address + + (ef->object->size << PAGE_SHIFT)); vm_object_deallocate(ef->object); } if (ef->e_shdr) @@ -630,12 +628,6 @@ if (sec == ef->progtab[i].sec) base = (Elf_Addr)ef->progtab[i].addr; } - if (base == 0) { - for (i = 0; i < ef->nnobittab; i++) { - if (sec == ef->nobittab[i].sec) - base = (Elf_Addr)ef->nobittab[i].addr; - } - } if (base == 0) base = (Elf_Addr)ef->address; return base; @@ -658,22 +650,24 @@ /* Perform relocations without addend if there are any: */ for (i = 0; i < ef->nrel; i++) { rel = ef->reltab[i].rel; - if (rel) { - rellim = (const Elf_Rel *)((const char *)rel + ef->reltab[i].filesz); - base = findbase(ef, ef->reltab[i].sec); - while (rel < rellim) { - symidx = ELF_R_SYM(rel->r_info); - if (symidx < ef->ddbsymcnt) { - sym = ef->ddbsymtab + symidx; - if (ELF64_ST_BIND(sym->st_info) != STB_LOCAL) { - if (elf_reloc(&ef->lf, base, rel, ELF_RELOC_REL, elf_obj_lookup)) { - symname = symbol_name(ef, rel->r_info); - printf("link_elf: symbol %s undefined\n", symname); - return ENOENT; - } - } - } - rel++; + if (rel == NULL) + continue; + rellim = rel + ef->reltab[i].nrel; + base = findbase(ef, ef->reltab[i].sec); + for ( ; rel < rellim; rel++) { + symidx = ELF_R_SYM(rel->r_info); + if (symidx >= ef->ddbsymcnt) + continue; + sym = ef->ddbsymtab + symidx; + /* Local relocs are already done */ + if (ELF64_ST_BIND(sym->st_info) == STB_LOCAL) + continue; + if (elf_reloc(&ef->lf, base, rel, ELF_RELOC_REL, + elf_obj_lookup)) { + symname = symbol_name(ef, rel->r_info); + printf("link_elf_obj: symbol %s undefined\n", + symname); + return ENOENT; } } } @@ -681,22 +675,24 @@ /* Perform relocations with addend if there are any: */ for (i = 0; i < ef->nrela; i++) { rela = ef->relatab[i].rela; - if (rela) { - relalim = (const Elf_Rela *)((const char *)rela + ef->relatab[i].filesz); - base = findbase(ef, ef->relatab[i].sec); - while (rela < relalim) { - symidx = ELF_R_SYM(rela->r_info); - if (symidx < ef->ddbsymcnt) { - sym = ef->ddbsymtab + symidx; - if (ELF64_ST_BIND(sym->st_info) != STB_LOCAL) { - if (elf_reloc(&ef->lf, base, rela, ELF_RELOC_RELA, elf_obj_lookup)) { - symname = symbol_name(ef, rela->r_info); - printf("link_elf: symbol %s undefined\n", symname); - return ENOENT; - } - } - } - rela++; + if (rela == NULL) + continue; + relalim = rela + ef->relatab[i].nrela; + base = findbase(ef, ef->relatab[i].sec); + for ( ; rela < relalim; rela++) { + symidx = ELF_R_SYM(rela->r_info); + if (symidx >= ef->ddbsymcnt) + continue; + sym = ef->ddbsymtab + symidx; + /* Local relocs are already done */ + if (ELF64_ST_BIND(sym->st_info) == STB_LOCAL) + continue; + if (elf_reloc(&ef->lf, base, rela, ELF_RELOC_RELA, + elf_obj_lookup)) { + symname = symbol_name(ef, rela->r_info); + printf("link_elf_obj: symbol %s undefined\n", + symname); + return ENOENT; } } } @@ -713,13 +709,12 @@ int i; /* XXX search for globals first */ - /* Exhaustive search */ for (i = 0, symp = ef->ddbsymtab; i < ef->ddbsymcnt; i++, symp++) { strp = ef->ddbstrtab + symp->st_name; if (strcmp(name, strp) == 0) { if (symp->st_shndx != SHN_UNDEF || (symp->st_value != 0 && - ELF_ST_TYPE(symp->st_info) == STT_FUNC)) { + ELF_ST_TYPE(symp->st_info) == STT_FUNC)) { *sym = (c_linker_sym_t) symp; return 0; } else @@ -731,7 +726,8 @@ } static int -link_elf_symbol_values(linker_file_t lf, c_linker_sym_t sym, linker_symval_t *symval) +link_elf_symbol_values(linker_file_t lf, c_linker_sym_t sym, + linker_symval_t *symval) { elf_file_t ef = (elf_file_t) lf; const Elf_Sym *es = (const Elf_Sym*) sym; @@ -797,7 +793,8 @@ if ((strncmp(ef->progtab[i].name, "set_", 4) == 0) && strcmp(ef->progtab[i].name + 4, name) == 0) { start = (void **)ef->progtab[i].addr; - stop = (void **)((char *)ef->progtab[i].addr + ef->progtab[i].filesz); + stop = (void **)((char *)ef->progtab[i].addr + + ef->progtab[i].size); count = stop - start; if (startp) *startp = start; @@ -867,14 +864,6 @@ break; } } - if (ret == 0) { - for (i = 0; i < ef->nnobittab; i++) { - if (sym->st_shndx == ef->nobittab[i].sec) { - ret = (Elf_Addr)ef->nobittab[i].addr; - break; - } - } - } return ret + sym->st_value; case STB_GLOBAL: @@ -915,36 +904,40 @@ /* Perform relocations without addend if there are any: */ for (i = 0; i < ef->nrel; i++) { rel = ef->reltab[i].rel; - if (rel) { - rellim = (const Elf_Rel *)((const char *)rel + ef->reltab[i].filesz); - base = findbase(ef, ef->reltab[i].sec); - while (rel < rellim) { - symidx = ELF_R_SYM(rel->r_info); - if (symidx < ef->ddbsymcnt) { - sym = ef->ddbsymtab + symidx; - if (ELF64_ST_BIND(sym->st_info) == STB_LOCAL) - elf_reloc_local(lf, base, rel, ELF_RELOC_REL, elf_obj_lookup); - } - rel++; - } + if (rel == NULL) + continue; + rellim = rel + ef->reltab[i].nrel; + base = findbase(ef, ef->reltab[i].sec); + for ( ; rel < rellim; rel++) { + symidx = ELF_R_SYM(rel->r_info); + if (symidx >= ef->ddbsymcnt) + continue; + sym = ef->ddbsymtab + symidx; + /* Only do local relocs */ + if (ELF64_ST_BIND(sym->st_info) != STB_LOCAL) + continue; + elf_reloc_local(lf, base, rel, ELF_RELOC_REL, + elf_obj_lookup); } } /* Perform relocations with addend if there are any: */ for (i = 0; i < ef->nrela; i++) { rela = ef->relatab[i].rela; - if (rela) { - relalim = (const Elf_Rela *)((const char *)rela + ef->relatab[i].filesz); - base = findbase(ef, ef->relatab[i].sec); - while (rela < relalim) { - symidx = ELF_R_SYM(rela->r_info); - if (symidx < ef->ddbsymcnt) { - sym = ef->ddbsymtab + symidx; - if (ELF64_ST_BIND(sym->st_info) == STB_LOCAL) - elf_reloc_local(lf, base, rela, ELF_RELOC_RELA, elf_obj_lookup); - } - rela++; - } + if (rela == NULL) + continue; + relalim = rela + ef->relatab[i].nrela; + base = findbase(ef, ef->relatab[i].sec); + for ( ; rela < relalim; rela++) { + symidx = ELF_R_SYM(rela->r_info); + if (symidx >= ef->ddbsymcnt) + continue; + sym = ef->ddbsymtab + symidx; + /* Only do local relocs */ + if (ELF64_ST_BIND(sym->st_info) != STB_LOCAL) + continue; + elf_reloc_local(lf, base, rela, ELF_RELOC_RELA, + elf_obj_lookup); } } } From owner-p4-projects@FreeBSD.ORG Sun May 16 20:08:25 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D62D716A4D0; Sun, 16 May 2004 20:08:24 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8EB8316A4CE for ; Sun, 16 May 2004 20:08:24 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4E33943D2D for ; Sun, 16 May 2004 20:08:24 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4H38OGe001003 for ; Sun, 16 May 2004 20:08:24 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4H38Nfc001000 for perforce@freebsd.org; Sun, 16 May 2004 20:08:23 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Sun, 16 May 2004 20:08:23 -0700 (PDT) Message-Id: <200405170308.i4H38Nfc001000@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 52907 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 May 2004 03:08:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=52907 Change 52907 by peter@peter_hammer on 2004/05/16 20:07:46 oops, update the offset calculations. Correct a debug printf. Affected files ... .. //depot/projects/hammer/sys/kern/link_elf_obj.c#31 edit Differences ... ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#31 (text+ko) ==== @@ -502,7 +502,7 @@ if (ef->shstrtab && shdr[i].sh_name != 0) ef->progtab[pb].name = ef->shstrtab + shdr[i].sh_name; - mapsize += shdr[i].sh_size; + mapbase += shdr[i].sh_size; pb++; break; case SHT_REL: @@ -550,8 +550,8 @@ panic("lost rel"); if (ra != ef->nrela) panic("lost rela"); - if (mapbase != mapsize) - printf("mapbase 0x%lx != mapsize 0x%lx\n", mapbase, mapsize); + if (mapbase != (vm_offset_t)ef->address + mapsize) + printf("mapbase 0x%lx != address %p + mapsize 0x%lx (0x%lx)\n", mapbase, ef->address, mapsize, (vm_offset_t)ef->address + mapsize); /* Local intra-module relocations */ link_elf_reloc_local(lf); From owner-p4-projects@FreeBSD.ORG Mon May 17 12:55:04 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E3F4E16A4D0; Mon, 17 May 2004 12:55:03 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B1F9A16A4CE for ; Mon, 17 May 2004 12:55:03 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 801DA43D2D for ; Mon, 17 May 2004 12:55:03 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4HJt3Ge053206 for ; Mon, 17 May 2004 12:55:03 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4HJt2Pl053203 for perforce@freebsd.org; Mon, 17 May 2004 12:55:02 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Mon, 17 May 2004 12:55:02 -0700 (PDT) Message-Id: <200405171955.i4HJt2Pl053203@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 52941 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 May 2004 19:55:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=52941 Change 52941 by peter@peter_hammer on 2004/05/17 12:55:01 deal with REL records which have variable old-value sizes Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/elf_machdep.c#25 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/elf_machdep.c#25 (text+ko) ==== @@ -119,9 +119,18 @@ case ELF_RELOC_REL: rel = (const Elf_Rel *)data; where = (Elf_Addr *) (relocbase + rel->r_offset); - addend = *where; rtype = ELF_R_TYPE(rel->r_info); symidx = ELF_R_SYM(rel->r_info); + /* Addend is 32 bit on 32 bit relocs */ + switch (rtype) { + case R_X86_64_PC32: + case R_X86_64_32S: + addend = *(Elf32_Addr *)where; + break; + default: + addend = *where; + break; + } break; case ELF_RELOC_RELA: rela = (const Elf_Rela *)data; @@ -136,7 +145,6 @@ switch (rtype) { - case R_X86_64_NONE: /* none */ break; From owner-p4-projects@FreeBSD.ORG Mon May 17 12:56:10 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D51B516A4D0; Mon, 17 May 2004 12:56:09 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AF8B316A4CE for ; Mon, 17 May 2004 12:56:09 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D103043D4C for ; Mon, 17 May 2004 12:56:05 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4HJu5Ge053262 for ; Mon, 17 May 2004 12:56:05 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4HJu4I6053259 for perforce@freebsd.org; Mon, 17 May 2004 12:56:04 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Mon, 17 May 2004 12:56:04 -0700 (PDT) Message-Id: <200405171956.i4HJu4I6053259@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 52942 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 May 2004 19:56:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=52942 Change 52942 by peter@peter_hammer on 2004/05/17 12:55:57 load and unload worked, but something trashes the kobj method tables still Affected files ... .. //depot/projects/hammer/sys/kern/kern_linker.c#13 edit .. //depot/projects/hammer/sys/kern/link_elf_obj.c#32 edit Differences ... ==== //depot/projects/hammer/sys/kern/kern_linker.c#13 (text+ko) ==== @@ -1,3 +1,4 @@ +#define KLD_DEBUG /*- * Copyright (c) 1997-2000 Doug Rabson * All rights reserved. @@ -52,7 +53,7 @@ #include "linker_if.h" #ifdef KLD_DEBUG -int kld_debug = 0; +int kld_debug = 3; #endif /* ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#32 (text+ko) ==== @@ -82,6 +82,8 @@ typedef struct elf_file { struct linker_file lf; /* Common fields */ + + char pad0[80]; caddr_t address; /* Relocation address */ vm_object_t object; /* VM object to hold file pages */ Elf_Shdr *e_shdr; @@ -102,6 +104,7 @@ caddr_t shstrtab; /* Section name string table */ long shstrcnt; /* number of bytes in string table */ + char pad2[80]; } *elf_file_t; @@ -149,6 +152,38 @@ static int relocate_file(elf_file_t ef); +static void * +Malloc(const char *id, unsigned long size, struct malloc_type *type, int flags) +{ + void *ret; + + ret = malloc(size, type, flags); + printf("Malloc: id %s, size 0x%lx -> ret %p\n", id, size, ret); + return ret; +} +static void +Free(const char *id, void *addr, struct malloc_type *type) +{ + printf("Free: id %s, addr %p\n", id, addr); + free(addr, type); +} + +static int +Vn_rdwr(enum uio_rw rw, struct vnode *vp, caddr_t base, + int len, off_t offset, enum uio_seg segflg, int ioflg, + struct ucred *active_cred, struct ucred *file_cred, int *aresid, + struct thread *td) +{ + int ret; + + printf("vn_rdwr: base %p, len 0x%x, off 0x%lx\n", base, len, offset); + ret = vn_rdwr(rw, vp, base, len, offset, segflg, ioflg, active_cred, file_cred, aresid, td); + printf("vn_rdwr: returns resid 0x%x, ret %d\n", aresid ? *aresid : 0, ret); + return ret; +} +#define vn_rdwr Vn_rdwr + + static void link_elf_error(const char *s) { @@ -222,7 +257,7 @@ #endif /* Read the elf header from the file. */ - hdr = malloc(sizeof(*hdr), M_LINKER, M_WAITOK | M_ZERO); + hdr = Malloc("elf header", sizeof(*hdr), M_LINKER, M_WAITOK); if (hdr == NULL) { error = ENOMEM; goto out; @@ -283,7 +318,7 @@ error = ENOEXEC; goto out; } - shdr = malloc(nbytes, M_LINKER, M_WAITOK | M_ZERO); + shdr = Malloc("shdr", nbytes, M_LINKER, M_WAITOK); if (shdr == NULL) { error = ENOMEM; goto out; @@ -343,22 +378,26 @@ /* Allocate space for tracking the load chunks */ if (ef->nprogtab != 0) - ef->progtab = malloc(ef->nprogtab * sizeof(*ef->progtab), + ef->progtab = Malloc("progtab", ef->nprogtab * sizeof(*ef->progtab), M_LINKER, M_WAITOK | M_ZERO); if (ef->nrel != 0) - ef->reltab = malloc(ef->nrel * sizeof(*ef->reltab), M_LINKER, + ef->reltab = Malloc("reltab", ef->nrel * sizeof(*ef->reltab), M_LINKER, M_WAITOK | M_ZERO); if (ef->nrela != 0) - ef->relatab = malloc(ef->nrela * sizeof(*ef->relatab), M_LINKER, + ef->relatab = Malloc("relatab", ef->nrela * sizeof(*ef->relatab), M_LINKER, M_WAITOK | M_ZERO); - /* XXX check for failures */ + if ((ef->nprogtab != 0 && ef->progtab == NULL) || + (ef->nrel != 0 && ef->reltab == NULL) || + (ef->nrela != 0 && ef->relatab == NULL)) { + error = ENOMEM; + goto out; + } if (symtabindex == -1) panic("lost symbol table index"); /* Allocate space for and load the symbol table */ ef->ddbsymcnt = shdr[symtabindex].sh_size / sizeof(Elf_Sym); - ef->ddbsymtab = malloc(shdr[symtabindex].sh_size, M_LINKER, - M_WAITOK | M_ZERO); + ef->ddbsymtab = Malloc("ddbsymtab", shdr[symtabindex].sh_size, M_LINKER, M_WAITOK); if (ef->ddbsymtab == NULL) { error = ENOMEM; goto out; @@ -378,8 +417,7 @@ panic("lost symbol string index"); /* Allocate space for and load the symbol strings */ ef->ddbstrcnt = shdr[symstrindex].sh_size; - ef->ddbstrtab = malloc(shdr[symstrindex].sh_size, M_LINKER, - M_WAITOK | M_ZERO); + ef->ddbstrtab = Malloc("ddbstrtab", shdr[symstrindex].sh_size, M_LINKER, M_WAITOK); if (ef->ddbstrtab == NULL) { error = ENOMEM; goto out; @@ -401,7 +439,7 @@ shdr[hdr->e_shstrndx].sh_type == SHT_STRTAB) { shstrindex = hdr->e_shstrndx; ef->shstrcnt = shdr[shstrindex].sh_size; - ef->shstrtab = malloc(shdr[shstrindex].sh_size, M_LINKER, + ef->shstrtab = Malloc("shstrtab", shdr[shstrindex].sh_size, M_LINKER, M_WAITOK); if (ef->shstrtab == NULL) { error = ENOMEM; @@ -446,8 +484,8 @@ } vm_object_reference(ef->object); ef->address = (caddr_t) vm_map_min(kernel_map); - error = vm_map_find(kernel_map, ef->object, 0, - &mapbase, mapsize, TRUE, VM_PROT_ALL, VM_PROT_ALL, FALSE); + error = vm_map_find(kernel_map, ef->object, 0, &mapbase, + round_page(mapsize), TRUE, VM_PROT_ALL, VM_PROT_ALL, FALSE); if (error) { vm_object_deallocate(ef->object); ef->object = 0; @@ -463,6 +501,7 @@ lf->address = ef->address = (caddr_t)mapbase; lf->size = mapsize; +printf("mapbase: 0x%lx, mapsize 0x%lx, end 0x%lx\n", mapbase, mapsize, mapbase + mapsize); /* * Now load code/data(progbits), zero bss(nobits), allocate space for * and load relocs @@ -493,8 +532,8 @@ goto out; } } else { + ef->progtab[pb].name = "<>"; bzero(ef->progtab[pb].addr, shdr[i].sh_size); - ef->progtab[pb].name = "<>"; } ef->progtab[pb].size = shdr[i].sh_size; ef->progtab[pb].align = shdr[i].sh_addralign; @@ -502,14 +541,16 @@ if (ef->shstrtab && shdr[i].sh_name != 0) ef->progtab[pb].name = ef->shstrtab + shdr[i].sh_name; +printf("section %d, pb %d, base %p, name %s\n", i, pb, ef->progtab[pb].addr, ef->progtab[pb].name); mapbase += shdr[i].sh_size; pb++; break; case SHT_REL: - ef->reltab[rl].rel = malloc(shdr[i].sh_size, M_LINKER, + ef->reltab[rl].rel = Malloc("one SHT_REL", shdr[i].sh_size, M_LINKER, M_WAITOK); ef->reltab[rl].nrel = shdr[i].sh_size / sizeof(Elf_Rel); ef->reltab[rl].sec = shdr[i].sh_info; +printf("rel sec %d rl %d addr %p size 0x%lx nrel %d\n", i, rl, ef->reltab[rl].rel, shdr[i].sh_size, ef->reltab[rl].nrel); error = vn_rdwr(UIO_READ, nd.ni_vp, (void *)ef->reltab[rl].rel, shdr[i].sh_size, shdr[i].sh_offset, @@ -524,11 +565,12 @@ rl++; break; case SHT_RELA: - ef->relatab[ra].rela = malloc(shdr[i].sh_size, M_LINKER, + ef->relatab[ra].rela = Malloc("one SHT_RELA", shdr[i].sh_size, M_LINKER, M_WAITOK); ef->relatab[ra].nrela = shdr[i].sh_size / sizeof(Elf_Rela); ef->relatab[ra].sec = shdr[i].sh_info; +printf("rela sec %d ra %d addr %p size 0x%lx nrela %d\n", i, ra, ef->relatab[ra].rela, shdr[i].sh_size, ef->relatab[ra].nrela); error = vn_rdwr(UIO_READ, nd.ni_vp, (void *)ef->relatab[ra].rela, shdr[i].sh_size, shdr[i].sh_offset, @@ -574,10 +616,12 @@ *result = lf; out: - if (error && lf) + if (error && lf) { + printf("error: unloading\n"); linker_file_unload(lf); + } if (hdr) - free(hdr, M_LINKER); + Free("elf hdr", hdr, M_LINKER); VOP_UNLOCK(nd.ni_vp, 0, td); vn_close(nd.ni_vp, FREAD, td->td_ucred, td); @@ -588,22 +632,39 @@ link_elf_unload_file(linker_file_t file) { elf_file_t ef = (elf_file_t) file; + int i; /* Notify MD code that a module is being unloaded. */ elf_cpu_unload_file(file); + for (i = 0; i < ef->nrel; i++) + if (ef->reltab[i].rel) + Free("one reltab", ef->reltab[i].rel, M_LINKER); + for (i = 0; i < ef->nrela; i++) + if (ef->relatab[i].rela) + Free("one relatab", ef->relatab[i].rela, M_LINKER); + if (ef->reltab) + Free("reltab", ef->reltab, M_LINKER); + if (ef->relatab) + Free("relatab", ef->relatab, M_LINKER); + if (ef->progtab) + Free("progtab", ef->progtab, M_LINKER); + if (ef->object) { +printf("object: %p, size %ld pages, addr %p, end 0x%lx\n", ef->object, ef->object->size, ef->address, (vm_offset_t) ef->address + (ef->object->size << PAGE_SHIFT)); vm_map_remove(kernel_map, (vm_offset_t) ef->address, (vm_offset_t) ef->address + (ef->object->size << PAGE_SHIFT)); vm_object_deallocate(ef->object); } if (ef->e_shdr) - free(ef->e_shdr, M_LINKER); + Free("shdr", ef->e_shdr, M_LINKER); if (ef->ddbsymtab) - free(ef->ddbsymtab, M_LINKER); + Free("ddbsymtab", ef->ddbsymtab, M_LINKER); if (ef->ddbstrtab) - free(ef->ddbstrtab, M_LINKER); + Free("ddbstrtab", ef->ddbstrtab, M_LINKER); + if (ef->shstrtab) + Free("shstrtab", ef->shstrtab, M_LINKER); } static const char * @@ -660,7 +721,7 @@ continue; sym = ef->ddbsymtab + symidx; /* Local relocs are already done */ - if (ELF64_ST_BIND(sym->st_info) == STB_LOCAL) + if (ELF_ST_BIND(sym->st_info) == STB_LOCAL) continue; if (elf_reloc(&ef->lf, base, rel, ELF_RELOC_REL, elf_obj_lookup)) { @@ -685,7 +746,7 @@ continue; sym = ef->ddbsymtab + symidx; /* Local relocs are already done */ - if (ELF64_ST_BIND(sym->st_info) == STB_LOCAL) + if (ELF_ST_BIND(sym->st_info) == STB_LOCAL) continue; if (elf_reloc(&ef->lf, base, rela, ELF_RELOC_RELA, elf_obj_lookup)) { @@ -802,6 +863,7 @@ *stopp = stop; if (countp) *countp = count; +printf("lookup_set: %s start %p stop %p count 0x%x\n", name, start, stop, count); return (0); } } @@ -851,7 +913,7 @@ sym = ef->ddbsymtab + symidx; /* Theoretically we can avoid a lookup for some locals */ - switch (ELF64_ST_BIND(sym->st_info)) { + switch (ELF_ST_BIND(sym->st_info)) { case STB_LOCAL: /* Local, but undefined? huh? */ if (sym->st_shndx == SHN_UNDEF) @@ -885,8 +947,6 @@ } } - - static void link_elf_reloc_local(linker_file_t lf) { @@ -914,7 +974,7 @@ continue; sym = ef->ddbsymtab + symidx; /* Only do local relocs */ - if (ELF64_ST_BIND(sym->st_info) != STB_LOCAL) + if (ELF_ST_BIND(sym->st_info) != STB_LOCAL) continue; elf_reloc_local(lf, base, rel, ELF_RELOC_REL, elf_obj_lookup); @@ -934,7 +994,7 @@ continue; sym = ef->ddbsymtab + symidx; /* Only do local relocs */ - if (ELF64_ST_BIND(sym->st_info) != STB_LOCAL) + if (ELF_ST_BIND(sym->st_info) != STB_LOCAL) continue; elf_reloc_local(lf, base, rela, ELF_RELOC_RELA, elf_obj_lookup); From owner-p4-projects@FreeBSD.ORG Mon May 17 13:58:25 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A6FAE16A4D0; Mon, 17 May 2004 13:58:25 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 754AB16A4CE for ; Mon, 17 May 2004 13:58:25 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 305C743D41 for ; Mon, 17 May 2004 13:58:25 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4HKwOGe066901 for ; Mon, 17 May 2004 13:58:24 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4HKwOR5066898 for perforce@freebsd.org; Mon, 17 May 2004 13:58:24 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Mon, 17 May 2004 13:58:24 -0700 (PDT) Message-Id: <200405172058.i4HKwOR5066898@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 52947 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 May 2004 20:58:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=52947 Change 52947 by peter@peter_hammer on 2004/05/17 13:58:08 Fix refcount "bug". If you have two loaders in a kernel, one has a kobj class refcount for the "kernel", the other has 0 refs. When you load/unload on the "other" loader, the refcount goes 0->1->0. And then kobj helpfully frees the compiled method table. Cheat, and fight fire with fire. Since we can't ever unload classes, add a manual refcount boost to prevent this happening. Affected files ... .. //depot/projects/hammer/sys/kern/kern_linker.c#14 edit Differences ... ==== //depot/projects/hammer/sys/kern/kern_linker.c#14 (text+ko) ==== @@ -148,6 +148,7 @@ if (linker_no_more_classes == 1) return (EPERM); kobj_class_compile((kobj_class_t) lc); + ((kobj_class_t)lc)->refs++; /* prevent ops being freed */ TAILQ_INSERT_TAIL(&classes, lc, link); return (0); } From owner-p4-projects@FreeBSD.ORG Mon May 17 13:59:28 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B562D16A4D0; Mon, 17 May 2004 13:59:27 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5614E16A4CE for ; Mon, 17 May 2004 13:59:27 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2DD6343D1D for ; Mon, 17 May 2004 13:59:27 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4HKxQGe067013 for ; Mon, 17 May 2004 13:59:26 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4HKxQhs067010 for perforce@freebsd.org; Mon, 17 May 2004 13:59:26 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Mon, 17 May 2004 13:59:26 -0700 (PDT) Message-Id: <200405172059.i4HKxQhs067010@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 52948 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 May 2004 20:59:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=52948 Change 52948 by peter@peter_hammer on 2004/05/17 13:58:48 printf noise reduction Affected files ... .. //depot/projects/hammer/sys/kern/link_elf_obj.c#33 edit Differences ... ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#33 (text+ko) ==== @@ -176,9 +176,9 @@ { int ret; - printf("vn_rdwr: base %p, len 0x%x, off 0x%lx\n", base, len, offset); + printf("vn_rdwr: base %p, len 0x%x, off 0x%lx -> ", base, len, offset); ret = vn_rdwr(rw, vp, base, len, offset, segflg, ioflg, active_cred, file_cred, aresid, td); - printf("vn_rdwr: returns resid 0x%x, ret %d\n", aresid ? *aresid : 0, ret); + printf("resid 0x%x, ret %d\n", aresid ? *aresid : 0, ret); return ret; } #define vn_rdwr Vn_rdwr From owner-p4-projects@FreeBSD.ORG Mon May 17 14:04:36 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2C97616A4D0; Mon, 17 May 2004 14:04:36 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E13CE16A4CE for ; Mon, 17 May 2004 14:04:35 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3186F43D48 for ; Mon, 17 May 2004 14:04:34 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4HL4XGe069848 for ; Mon, 17 May 2004 14:04:33 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4HL4XHQ069845 for perforce@freebsd.org; Mon, 17 May 2004 14:04:33 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Mon, 17 May 2004 14:04:33 -0700 (PDT) Message-Id: <200405172104.i4HL4XHQ069845@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 52949 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 May 2004 21:04:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=52949 Change 52949 by peter@peter_hammer on 2004/05/17 14:03:44 trim debugging Affected files ... .. //depot/projects/hammer/sys/kern/kern_linker.c#15 edit .. //depot/projects/hammer/sys/kern/link_elf_obj.c#34 edit Differences ... ==== //depot/projects/hammer/sys/kern/kern_linker.c#15 (text+ko) ==== @@ -1,4 +1,3 @@ -#define KLD_DEBUG /*- * Copyright (c) 1997-2000 Doug Rabson * All rights reserved. @@ -53,7 +52,7 @@ #include "linker_if.h" #ifdef KLD_DEBUG -int kld_debug = 3; +int kld_debug = 0; #endif /* ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#34 (text+ko) ==== @@ -152,39 +152,7 @@ static int relocate_file(elf_file_t ef); -static void * -Malloc(const char *id, unsigned long size, struct malloc_type *type, int flags) -{ - void *ret; - - ret = malloc(size, type, flags); - printf("Malloc: id %s, size 0x%lx -> ret %p\n", id, size, ret); - return ret; -} static void -Free(const char *id, void *addr, struct malloc_type *type) -{ - printf("Free: id %s, addr %p\n", id, addr); - free(addr, type); -} - -static int -Vn_rdwr(enum uio_rw rw, struct vnode *vp, caddr_t base, - int len, off_t offset, enum uio_seg segflg, int ioflg, - struct ucred *active_cred, struct ucred *file_cred, int *aresid, - struct thread *td) -{ - int ret; - - printf("vn_rdwr: base %p, len 0x%x, off 0x%lx -> ", base, len, offset); - ret = vn_rdwr(rw, vp, base, len, offset, segflg, ioflg, active_cred, file_cred, aresid, td); - printf("resid 0x%x, ret %d\n", aresid ? *aresid : 0, ret); - return ret; -} -#define vn_rdwr Vn_rdwr - - -static void link_elf_error(const char *s) { printf("kldload: %s\n", s); @@ -257,7 +225,7 @@ #endif /* Read the elf header from the file. */ - hdr = Malloc("elf header", sizeof(*hdr), M_LINKER, M_WAITOK); + hdr = malloc(sizeof(*hdr), M_LINKER, M_WAITOK); if (hdr == NULL) { error = ENOMEM; goto out; @@ -318,7 +286,7 @@ error = ENOEXEC; goto out; } - shdr = Malloc("shdr", nbytes, M_LINKER, M_WAITOK); + shdr = malloc(nbytes, M_LINKER, M_WAITOK); if (shdr == NULL) { error = ENOMEM; goto out; @@ -378,13 +346,13 @@ /* Allocate space for tracking the load chunks */ if (ef->nprogtab != 0) - ef->progtab = Malloc("progtab", ef->nprogtab * sizeof(*ef->progtab), + ef->progtab = malloc(ef->nprogtab * sizeof(*ef->progtab), M_LINKER, M_WAITOK | M_ZERO); if (ef->nrel != 0) - ef->reltab = Malloc("reltab", ef->nrel * sizeof(*ef->reltab), M_LINKER, + ef->reltab = malloc(ef->nrel * sizeof(*ef->reltab), M_LINKER, M_WAITOK | M_ZERO); if (ef->nrela != 0) - ef->relatab = Malloc("relatab", ef->nrela * sizeof(*ef->relatab), M_LINKER, + ef->relatab = malloc(ef->nrela * sizeof(*ef->relatab), M_LINKER, M_WAITOK | M_ZERO); if ((ef->nprogtab != 0 && ef->progtab == NULL) || (ef->nrel != 0 && ef->reltab == NULL) || @@ -397,7 +365,7 @@ panic("lost symbol table index"); /* Allocate space for and load the symbol table */ ef->ddbsymcnt = shdr[symtabindex].sh_size / sizeof(Elf_Sym); - ef->ddbsymtab = Malloc("ddbsymtab", shdr[symtabindex].sh_size, M_LINKER, M_WAITOK); + ef->ddbsymtab = malloc(shdr[symtabindex].sh_size, M_LINKER, M_WAITOK); if (ef->ddbsymtab == NULL) { error = ENOMEM; goto out; @@ -417,7 +385,7 @@ panic("lost symbol string index"); /* Allocate space for and load the symbol strings */ ef->ddbstrcnt = shdr[symstrindex].sh_size; - ef->ddbstrtab = Malloc("ddbstrtab", shdr[symstrindex].sh_size, M_LINKER, M_WAITOK); + ef->ddbstrtab = malloc(shdr[symstrindex].sh_size, M_LINKER, M_WAITOK); if (ef->ddbstrtab == NULL) { error = ENOMEM; goto out; @@ -439,7 +407,7 @@ shdr[hdr->e_shstrndx].sh_type == SHT_STRTAB) { shstrindex = hdr->e_shstrndx; ef->shstrcnt = shdr[shstrindex].sh_size; - ef->shstrtab = Malloc("shstrtab", shdr[shstrindex].sh_size, M_LINKER, + ef->shstrtab = malloc(shdr[shstrindex].sh_size, M_LINKER, M_WAITOK); if (ef->shstrtab == NULL) { error = ENOMEM; @@ -501,7 +469,6 @@ lf->address = ef->address = (caddr_t)mapbase; lf->size = mapsize; -printf("mapbase: 0x%lx, mapsize 0x%lx, end 0x%lx\n", mapbase, mapsize, mapbase + mapsize); /* * Now load code/data(progbits), zero bss(nobits), allocate space for * and load relocs @@ -541,16 +508,14 @@ if (ef->shstrtab && shdr[i].sh_name != 0) ef->progtab[pb].name = ef->shstrtab + shdr[i].sh_name; -printf("section %d, pb %d, base %p, name %s\n", i, pb, ef->progtab[pb].addr, ef->progtab[pb].name); mapbase += shdr[i].sh_size; pb++; break; case SHT_REL: - ef->reltab[rl].rel = Malloc("one SHT_REL", shdr[i].sh_size, M_LINKER, + ef->reltab[rl].rel = malloc(shdr[i].sh_size, M_LINKER, M_WAITOK); ef->reltab[rl].nrel = shdr[i].sh_size / sizeof(Elf_Rel); ef->reltab[rl].sec = shdr[i].sh_info; -printf("rel sec %d rl %d addr %p size 0x%lx nrel %d\n", i, rl, ef->reltab[rl].rel, shdr[i].sh_size, ef->reltab[rl].nrel); error = vn_rdwr(UIO_READ, nd.ni_vp, (void *)ef->reltab[rl].rel, shdr[i].sh_size, shdr[i].sh_offset, @@ -565,12 +530,11 @@ rl++; break; case SHT_RELA: - ef->relatab[ra].rela = Malloc("one SHT_RELA", shdr[i].sh_size, M_LINKER, + ef->relatab[ra].rela = malloc(shdr[i].sh_size, M_LINKER, M_WAITOK); ef->relatab[ra].nrela = shdr[i].sh_size / sizeof(Elf_Rela); ef->relatab[ra].sec = shdr[i].sh_info; -printf("rela sec %d ra %d addr %p size 0x%lx nrela %d\n", i, ra, ef->relatab[ra].rela, shdr[i].sh_size, ef->relatab[ra].nrela); error = vn_rdwr(UIO_READ, nd.ni_vp, (void *)ef->relatab[ra].rela, shdr[i].sh_size, shdr[i].sh_offset, @@ -593,7 +557,7 @@ if (ra != ef->nrela) panic("lost rela"); if (mapbase != (vm_offset_t)ef->address + mapsize) - printf("mapbase 0x%lx != address %p + mapsize 0x%lx (0x%lx)\n", mapbase, ef->address, mapsize, (vm_offset_t)ef->address + mapsize); + panic("mapbase 0x%lx != address %p + mapsize 0x%lx (0x%lx)\n", mapbase, ef->address, mapsize, (vm_offset_t)ef->address + mapsize); /* Local intra-module relocations */ link_elf_reloc_local(lf); @@ -616,12 +580,10 @@ *result = lf; out: - if (error && lf) { - printf("error: unloading\n"); + if (error && lf) linker_file_unload(lf); - } if (hdr) - Free("elf hdr", hdr, M_LINKER); + free(hdr, M_LINKER); VOP_UNLOCK(nd.ni_vp, 0, td); vn_close(nd.ni_vp, FREAD, td->td_ucred, td); @@ -639,32 +601,31 @@ for (i = 0; i < ef->nrel; i++) if (ef->reltab[i].rel) - Free("one reltab", ef->reltab[i].rel, M_LINKER); + free(ef->reltab[i].rel, M_LINKER); for (i = 0; i < ef->nrela; i++) if (ef->relatab[i].rela) - Free("one relatab", ef->relatab[i].rela, M_LINKER); + free(ef->relatab[i].rela, M_LINKER); if (ef->reltab) - Free("reltab", ef->reltab, M_LINKER); + free(ef->reltab, M_LINKER); if (ef->relatab) - Free("relatab", ef->relatab, M_LINKER); + free(ef->relatab, M_LINKER); if (ef->progtab) - Free("progtab", ef->progtab, M_LINKER); + free(ef->progtab, M_LINKER); if (ef->object) { -printf("object: %p, size %ld pages, addr %p, end 0x%lx\n", ef->object, ef->object->size, ef->address, (vm_offset_t) ef->address + (ef->object->size << PAGE_SHIFT)); vm_map_remove(kernel_map, (vm_offset_t) ef->address, (vm_offset_t) ef->address + (ef->object->size << PAGE_SHIFT)); vm_object_deallocate(ef->object); } if (ef->e_shdr) - Free("shdr", ef->e_shdr, M_LINKER); + free(ef->e_shdr, M_LINKER); if (ef->ddbsymtab) - Free("ddbsymtab", ef->ddbsymtab, M_LINKER); + free(ef->ddbsymtab, M_LINKER); if (ef->ddbstrtab) - Free("ddbstrtab", ef->ddbstrtab, M_LINKER); + free(ef->ddbstrtab, M_LINKER); if (ef->shstrtab) - Free("shstrtab", ef->shstrtab, M_LINKER); + free(ef->shstrtab, M_LINKER); } static const char * @@ -863,7 +824,6 @@ *stopp = stop; if (countp) *countp = count; -printf("lookup_set: %s start %p stop %p count 0x%x\n", name, start, stop, count); return (0); } } @@ -939,7 +899,7 @@ return ret; case STB_WEAK: - printf("Weak symbols not supported\n"); + printf("link_elf_obj: Weak symbols not supported\n"); return (0); default: From owner-p4-projects@FreeBSD.ORG Mon May 17 14:11:51 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0E6D416A4CF; Mon, 17 May 2004 14:11:51 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AFF9016A4E4 for ; Mon, 17 May 2004 14:11:49 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2263C43D2F for ; Mon, 17 May 2004 14:11:44 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4HLBhGe071141 for ; Mon, 17 May 2004 14:11:43 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4HLBgrc071126 for perforce@freebsd.org; Mon, 17 May 2004 14:11:42 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Mon, 17 May 2004 14:11:42 -0700 (PDT) Message-Id: <200405172111.i4HLBgrc071126@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 52950 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 May 2004 21:11:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=52950 Change 52950 by peter@peter_hammer on 2004/05/17 14:11:13 IFC @52946 Affected files ... .. //depot/projects/hammer/Makefile.inc1#52 integrate .. //depot/projects/hammer/lib/libc/gen/getpwent.3#7 integrate .. //depot/projects/hammer/lib/libc/gen/getpwent.c#12 integrate .. //depot/projects/hammer/lib/libc/locale/big5.c#7 integrate .. //depot/projects/hammer/lib/libc/locale/gbk.c#8 integrate .. //depot/projects/hammer/lib/libc/locale/utf8.c#7 integrate .. //depot/projects/hammer/lib/msun/bsdsrc/b_exp.c#2 integrate .. //depot/projects/hammer/lib/msun/bsdsrc/mathimpl.h#2 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#68 integrate .. //depot/projects/hammer/sbin/bsdlabel/bsdlabel.8#7 integrate .. //depot/projects/hammer/sbin/conscontrol/conscontrol.8#3 integrate .. //depot/projects/hammer/sbin/dump/dump.8#11 integrate .. //depot/projects/hammer/sbin/fsck_msdosfs/fsck_msdosfs.8#5 integrate .. //depot/projects/hammer/sbin/gbde/gbde.8#6 integrate .. //depot/projects/hammer/sbin/ifconfig/ifconfig.8#14 integrate .. //depot/projects/hammer/sbin/init/init.8#9 integrate .. //depot/projects/hammer/sbin/md5/md5.1#3 integrate .. //depot/projects/hammer/sbin/mdconfig/mdconfig.8#13 integrate .. //depot/projects/hammer/sbin/mdmfs/mdmfs.8#10 integrate .. //depot/projects/hammer/sbin/mdmfs/mdmfs.c#11 integrate .. //depot/projects/hammer/sbin/mknod/mknod.8#7 integrate .. //depot/projects/hammer/sbin/mount/mount.8#12 integrate .. //depot/projects/hammer/sbin/mount_cd9660/mount_cd9660.8#5 integrate .. //depot/projects/hammer/sbin/mount_msdosfs/mount_msdosfs.8#6 integrate .. //depot/projects/hammer/sbin/mount_ntfs/mount_ntfs.8#4 integrate .. //depot/projects/hammer/sbin/newfs/newfs.8#10 integrate .. //depot/projects/hammer/sbin/ping6/ping6.8#3 integrate .. //depot/projects/hammer/sbin/restore/restore.8#7 integrate .. //depot/projects/hammer/sbin/route/route.8#5 integrate .. //depot/projects/hammer/sbin/routed/routed.8#4 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/Makefile#21 integrate .. //depot/projects/hammer/share/man/man4/ng_ether.4#4 integrate .. //depot/projects/hammer/share/man/man4/ng_one2many.4#6 integrate .. //depot/projects/hammer/share/man/man4/smb.4#2 integrate .. //depot/projects/hammer/sys/boot/common/loader.8#10 integrate .. //depot/projects/hammer/sys/boot/forth/loader.conf.5#4 integrate .. //depot/projects/hammer/sys/conf/files.alpha#13 integrate .. //depot/projects/hammer/sys/conf/files.amd64#46 integrate .. //depot/projects/hammer/sys/conf/files.i386#31 integrate .. //depot/projects/hammer/sys/conf/files.ia64#18 integrate .. //depot/projects/hammer/sys/dev/ata/ata-lowlevel.c#14 integrate .. //depot/projects/hammer/sys/dev/ciss/ciss.c#21 integrate .. //depot/projects/hammer/sys/dev/ciss/cissreg.h#6 integrate .. //depot/projects/hammer/sys/dev/fdc/fdc.c#1 branch .. //depot/projects/hammer/sys/dev/fdc/fdcreg.h#1 branch .. //depot/projects/hammer/sys/dev/puc/pucdata.c#15 integrate .. //depot/projects/hammer/sys/dev/smbus/smb.c#7 integrate .. //depot/projects/hammer/sys/dev/twa/twa.h#3 integrate .. //depot/projects/hammer/sys/dev/twa/twa_cam.c#3 integrate .. //depot/projects/hammer/sys/dev/twa/twa_freebsd.c#4 integrate .. //depot/projects/hammer/sys/fs/fifofs/fifo_vnops.c#16 integrate .. //depot/projects/hammer/sys/i386/conf/NOTES#41 integrate .. //depot/projects/hammer/sys/ia64/conf/NOTES#2 integrate .. //depot/projects/hammer/sys/ia64/ia64/elf_machdep.c#15 integrate .. //depot/projects/hammer/sys/isa/fd.c#17 delete .. //depot/projects/hammer/sys/isa/fdreg.h#3 delete .. //depot/projects/hammer/sys/kern/link_elf_obj.c#35 integrate .. //depot/projects/hammer/sys/modules/Makefile#45 integrate .. //depot/projects/hammer/sys/modules/fdc/Makefile#3 integrate .. //depot/projects/hammer/usr.bin/tar/bsdtar.1#4 integrate .. //depot/projects/hammer/usr.bin/tar/bsdtar.c#4 integrate .. //depot/projects/hammer/usr.bin/tar/bsdtar.h#4 integrate .. //depot/projects/hammer/usr.bin/tar/matching.c#3 integrate .. //depot/projects/hammer/usr.bin/tar/read.c#4 integrate .. //depot/projects/hammer/usr.bin/tar/util.c#4 integrate .. //depot/projects/hammer/usr.bin/tar/write.c#6 integrate .. //depot/projects/hammer/usr.sbin/Makefile#48 integrate .. //depot/projects/hammer/usr.sbin/smbmsg/Makefile#1 branch .. //depot/projects/hammer/usr.sbin/smbmsg/pathnames.h#1 branch .. //depot/projects/hammer/usr.sbin/smbmsg/smbmsg.8#1 branch .. //depot/projects/hammer/usr.sbin/smbmsg/smbmsg.c#1 branch Differences ... ==== //depot/projects/hammer/Makefile.inc1#52 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.426 2004/05/13 07:51:46 ru Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.427 2004/05/17 16:19:51 ru Exp $ # # Make command line options: # -DNO_DYNAMICROOT do not link /bin and /sbin dynamically @@ -111,7 +111,7 @@ .else _TARGET_CPUTYPE=dummy .endif -_CPUTYPE!= ${MAKE} -f /dev/null -m ${.CURDIR}/share/mk \ +_CPUTYPE!= MAKEFLAGS= ${MAKE} -f /dev/null -m ${.CURDIR}/share/mk \ CPUTYPE=${_TARGET_CPUTYPE} -V CPUTYPE .if ${_CPUTYPE} != ${_TARGET_CPUTYPE} .error CPUTYPE global should be set with ?=. ==== //depot/projects/hammer/lib/libc/gen/getpwent.3#7 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)getpwent.3 8.2 (Berkeley) 12/11/93 -.\" $FreeBSD: src/lib/libc/gen/getpwent.3,v 1.25 2003/09/08 19:57:14 ru Exp $ +.\" $FreeBSD: src/lib/libc/gen/getpwent.3,v 1.26 2004/05/17 18:27:05 kientzle Exp $ .\" .Dd April 16, 2003 .Dt GETPWENT 3 @@ -185,9 +185,13 @@ or .Dv NULL if the entry is not found or if an error occurs. -In the latter case, +If an error does occur, .Va errno will be set. +Note that programs must explicitly set +.Va errno +to zero before calling any of these functions if they need to +distinguish between a non-existent entry and an error. The functions .Fn getpwent_r , .Fn getpwnam_r , ==== //depot/projects/hammer/lib/libc/gen/getpwent.c#12 (text+ko) ==== @@ -31,7 +31,7 @@ * */ #include -__FBSDID("$FreeBSD: src/lib/libc/gen/getpwent.c,v 1.87 2004/04/21 21:15:08 jon Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/getpwent.c,v 1.89 2004/05/17 18:27:05 kientzle Exp $"); #include "namespace.h" #include @@ -379,6 +379,7 @@ free(pwd_storage); if ((pwd_storage_size << 1) > PWD_STORAGE_MAX) { pwd_storage = NULL; + errno = ERANGE; return (NULL); } pwd_storage_size <<= 1; @@ -387,6 +388,8 @@ return (NULL); } } while (res == NULL && rv == ERANGE); + if (rv != 0) + errno = rv; return (res); } ==== //depot/projects/hammer/lib/libc/locale/big5.c#7 (text+ko) ==== @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)big5.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/big5.c,v 1.15 2004/05/13 03:08:28 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/big5.c,v 1.16 2004/05/17 11:16:14 tjr Exp $"); #include #include @@ -55,8 +55,7 @@ size_t _BIG5_wcrtomb(char * __restrict, wchar_t, mbstate_t * __restrict); typedef struct { - int count; - u_char bytes[2]; + wchar_t ch; } _BIG5State; int @@ -75,7 +74,7 @@ _BIG5_mbsinit(const mbstate_t *ps) { - return (ps == NULL || ((const _BIG5State *)ps)->count == 0); + return (ps == NULL || ((const _BIG5State *)ps)->ch == 0); } static __inline int @@ -92,12 +91,12 @@ { _BIG5State *bs; wchar_t wc; - int i, len, ocount; - size_t ncopy; + size_t len; bs = (_BIG5State *)ps; - if (bs->count < 0 || bs->count > sizeof(bs->bytes)) { + if ((bs->ch & ~0xFF) != 0) { + /* Bad conversion state. */ errno = EINVAL; return ((size_t)-1); } @@ -108,28 +107,43 @@ pwc = NULL; } - ncopy = MIN(MIN(n, MB_CUR_MAX), sizeof(bs->bytes) - bs->count); - memcpy(bs->bytes + bs->count, s, ncopy); - ocount = bs->count; - bs->count += ncopy; - s = (char *)bs->bytes; - n = bs->count; - - if (n == 0 || (size_t)(len = _big5_check(*s)) > n) + if (n == 0) /* Incomplete multibyte sequence */ return ((size_t)-2); - if (len == 2 && s[1] == '\0') { - errno = EILSEQ; - return ((size_t)-1); + + if (bs->ch != 0) { + if (*s == '\0') { + errno = EILSEQ; + return ((size_t)-1); + } + wc = (bs->ch << 8) | (*s & 0xFF); + if (pwc != NULL) + *pwc = wc; + bs->ch = 0; + return (1); + } + + len = (size_t)_big5_check(*s); + wc = *s++ & 0xff; + if (len == 2) { + if (n < 2) { + /* Incomplete multibyte sequence */ + bs->ch = wc; + return ((size_t)-2); + } + if (*s == '\0') { + errno = EILSEQ; + return ((size_t)-1); + } + wc = (wc << 8) | (*s++ & 0xff); + if (pwc != NULL) + *pwc = wc; + return (2); + } else { + if (pwc != NULL) + *pwc = wc; + return (wc == L'\0' ? 0 : 1); } - wc = 0; - i = len; - while (i-- > 0) - wc = (wc << 8) | (unsigned char)*s++; - if (pwc != NULL) - *pwc = wc; - bs->count = 0; - return (wc == L'\0' ? 0 : len - ocount); } size_t @@ -139,7 +153,7 @@ bs = (_BIG5State *)ps; - if (bs->count != 0) { + if (bs->ch != 0) { errno = EINVAL; return ((size_t)-1); } ==== //depot/projects/hammer/lib/libc/locale/gbk.c#8 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/gbk.c,v 1.10 2004/05/13 03:08:28 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/gbk.c,v 1.11 2004/05/17 11:16:14 tjr Exp $"); #include #include @@ -52,8 +52,7 @@ size_t _GBK_wcrtomb(char * __restrict, wchar_t, mbstate_t * __restrict); typedef struct { - int count; - u_char bytes[2]; + wchar_t ch; } _GBKState; int @@ -72,7 +71,7 @@ _GBK_mbsinit(const mbstate_t *ps) { - return (ps == NULL || ((const _GBKState *)ps)->count == 0); + return (ps == NULL || ((const _GBKState *)ps)->ch == 0); } static __inline int @@ -89,12 +88,12 @@ { _GBKState *gs; wchar_t wc; - int i, len, ocount; - size_t ncopy; + size_t len; gs = (_GBKState *)ps; - if (gs->count < 0 || gs->count > sizeof(gs->bytes)) { + if ((gs->ch & ~0xFF) != 0) { + /* Bad conversion state. */ errno = EINVAL; return ((size_t)-1); } @@ -105,28 +104,43 @@ pwc = NULL; } - ncopy = MIN(MIN(n, MB_CUR_MAX), sizeof(gs->bytes) - gs->count); - memcpy(gs->bytes + gs->count, s, ncopy); - ocount = gs->count; - gs->count += ncopy; - s = (char *)gs->bytes; - n = gs->count; - - if (n == 0 || (size_t)(len = _gbk_check(*s)) > n) + if (n == 0) /* Incomplete multibyte sequence */ return ((size_t)-2); - if (len == 2 && s[1] == '\0') { - errno = EILSEQ; - return ((size_t)-1); + + if (gs->ch != 0) { + if (*s == '\0') { + errno = EILSEQ; + return ((size_t)-1); + } + wc = (gs->ch << 8) | (*s & 0xFF); + if (pwc != NULL) + *pwc = wc; + gs->ch = 0; + return (1); + } + + len = (size_t)_gbk_check(*s); + wc = *s++ & 0xff; + if (len == 2) { + if (n < 2) { + /* Incomplete multibyte sequence */ + gs->ch = wc; + return ((size_t)-2); + } + if (*s == '\0') { + errno = EILSEQ; + return ((size_t)-1); + } + wc = (wc << 8) | (*s++ & 0xff); + if (pwc != NULL) + *pwc = wc; + return (2); + } else { + if (pwc != NULL) + *pwc = wc; + return (wc == L'\0' ? 0 : 1); } - wc = 0; - i = len; - while (i-- > 0) - wc = (wc << 8) | (unsigned char)*s++; - if (pwc != NULL) - *pwc = wc; - gs->count = 0; - return (wc == L'\0' ? 0 : len - ocount); } size_t @@ -136,7 +150,7 @@ gs = (_GBKState *)ps; - if (gs->count != 0) { + if (gs->ch != 0) { errno = EINVAL; return ((size_t)-1); } ==== //depot/projects/hammer/lib/libc/locale/utf8.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/utf8.c,v 1.8 2004/05/12 14:09:04 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/utf8.c,v 1.9 2004/05/17 12:32:40 tjr Exp $"); #include #include @@ -40,8 +40,9 @@ size_t _UTF8_wcrtomb(char * __restrict, wchar_t, mbstate_t * __restrict); typedef struct { - int count; - u_char bytes[6]; + wchar_t ch; + int want; + wchar_t lbound; } _UTF8State; int @@ -61,7 +62,7 @@ _UTF8_mbsinit(const mbstate_t *ps) { - return (ps == NULL || ((const _UTF8State *)ps)->count == 0); + return (ps == NULL || ((const _UTF8State *)ps)->want == 0); } size_t @@ -69,13 +70,12 @@ mbstate_t * __restrict ps) { _UTF8State *us; - int ch, i, len, mask, ocount; + int ch, i, mask, want; wchar_t lbound, wch; - size_t ncopy; us = (_UTF8State *)ps; - if (us->count < 0 || us->count > sizeof(us->bytes)) { + if (us->want < 0 || us->want > 6) { errno = EINVAL; return ((size_t)-1); } @@ -86,72 +86,69 @@ pwc = NULL; } - ncopy = MIN(MIN(n, MB_CUR_MAX), sizeof(us->bytes) - us->count); - memcpy(us->bytes + us->count, s, ncopy); - ocount = us->count; - us->count += ncopy; - s = (char *)us->bytes; - n = us->count; - if (n == 0) /* Incomplete multibyte sequence */ return ((size_t)-2); - /* - * Determine the number of octets that make up this character from - * the first octet, and a mask that extracts the interesting bits of - * the first octet. - * - * We also specify a lower bound for the character code to detect - * redundant, non-"shortest form" encodings. For example, the - * sequence C0 80 is _not_ a legal representation of the null - * character. This enforces a 1-to-1 mapping between character - * codes and their multibyte representations. - */ - ch = (unsigned char)*s; - if ((ch & 0x80) == 0) { - mask = 0x7f; - len = 1; - lbound = 0; - } else if ((ch & 0xe0) == 0xc0) { - mask = 0x1f; - len = 2; - lbound = 0x80; - } else if ((ch & 0xf0) == 0xe0) { - mask = 0x0f; - len = 3; - lbound = 0x800; - } else if ((ch & 0xf8) == 0xf0) { - mask = 0x07; - len = 4; - lbound = 0x10000; - } else if ((ch & 0xfc) == 0xf8) { - mask = 0x03; - len = 5; - lbound = 0x200000; - } else if ((ch & 0xfc) == 0xfc) { - mask = 0x01; - len = 6; - lbound = 0x4000000; - } else { + if (us->want == 0) { /* - * Malformed input; input is not UTF-8. + * Determine the number of octets that make up this character + * from the first octet, and a mask that extracts the + * interesting bits of the first octet. We already know + * the character is at least two bytes long. + * + * We also specify a lower bound for the character code to + * detect redundant, non-"shortest form" encodings. For + * example, the sequence C0 80 is _not_ a legal representation + * of the null character. This enforces a 1-to-1 mapping + * between character codes and their multibyte representations. */ - errno = EILSEQ; - return ((size_t)-1); + ch = (unsigned char)*s; + if ((ch & 0x80) == 0) { + mask = 0x7f; + want = 1; + lbound = 0; + } else if ((ch & 0xe0) == 0xc0) { + mask = 0x1f; + want = 2; + lbound = 0x80; + } else if ((ch & 0xf0) == 0xe0) { + mask = 0x0f; + want = 3; + lbound = 0x800; + } else if ((ch & 0xf8) == 0xf0) { + mask = 0x07; + want = 4; + lbound = 0x10000; + } else if ((ch & 0xfc) == 0xf8) { + mask = 0x03; + want = 5; + lbound = 0x200000; + } else if ((ch & 0xfc) == 0xfc) { + mask = 0x01; + want = 6; + lbound = 0x4000000; + } else { + /* + * Malformed input; input is not UTF-8. + */ + errno = EILSEQ; + return ((size_t)-1); + } + } else { + want = us->want; + lbound = us->lbound; } - if (n < (size_t)len) - /* Incomplete multibyte sequence */ - return ((size_t)-2); - /* * Decode the octet sequence representing the character in chunks * of 6 bits, most significant first. */ - wch = (unsigned char)*s++ & mask; - i = len; - while (--i != 0) { + if (us->want == 0) + wch = (unsigned char)*s++ & mask; + else + wch = us->ch; + for (i = (us->want == 0) ? 1 : 0; i < MIN(want, n); i++) { if ((*s & 0xc0) != 0x80) { /* * Malformed input; bad characters in the middle @@ -163,6 +160,13 @@ wch <<= 6; wch |= *s++ & 0x3f; } + if (i < want) { + /* Incomplete multibyte sequence. */ + us->want = want - i; + us->lbound = lbound; + us->ch = wch; + return ((size_t)-2); + } if (wch < lbound) { /* * Malformed input; redundant encoding. @@ -172,8 +176,8 @@ } if (pwc != NULL) *pwc = wch; - us->count = 0; - return (wch == L'\0' ? 0 : len - ocount); + us->want = 0; + return (wch == L'\0' ? 0 : want); } size_t @@ -185,7 +189,7 @@ us = (_UTF8State *)ps; - if (us->count < 0 || us->count > sizeof(us->bytes)) { + if (us->want != 0) { errno = EINVAL; return ((size_t)-1); } ==== //depot/projects/hammer/lib/msun/bsdsrc/b_exp.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ static char sccsid[] = "@(#)exp.c 8.1 (Berkeley) 6/4/93"; #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/lib/msun/bsdsrc/b_exp.c,v 1.5 2002/03/26 11:59:29 bde Exp $"); +__FBSDID("$FreeBSD: src/lib/msun/bsdsrc/b_exp.c,v 1.6 2004/05/17 01:04:37 das Exp $"); /* EXP(X) @@ -72,50 +72,20 @@ * exp(x) returns the exponential of x nearly rounded. In a test run * with 1,156,000 random arguments on a VAX, the maximum observed * error was 0.869 ulps (units in the last place). - * - * Constants: - * The hexadecimal values are the intended ones for the following constants. - * The decimal values may be used, provided that the compiler will convert - * from decimal to binary accurately enough to produce the hexadecimal values - * shown. */ #include "mathimpl.h" -vc(ln2hi, 6.9314718055829871446E-1 ,7217,4031,0000,f7d0, 0, .B17217F7D00000) -vc(ln2lo, 1.6465949582897081279E-12 ,bcd5,2ce7,d9cc,e4f1, -39, .E7BCD5E4F1D9CC) -vc(lnhuge, 9.4961163736712506989E1 ,ec1d,43bd,9010,a73e, 7, .BDEC1DA73E9010) -vc(lntiny,-9.5654310917272452386E1 ,4f01,c3bf,33af,d72e, 7,-.BF4F01D72E33AF) -vc(invln2, 1.4426950408889634148E0 ,aa3b,40b8,17f1,295c, 1, .B8AA3B295C17F1) -vc(p1, 1.6666666666666602251E-1 ,aaaa,3f2a,a9f1,aaaa, -2, .AAAAAAAAAAA9F1) -vc(p2, -2.7777777777015591216E-3 ,0b60,bc36,ec94,b5f5, -8,-.B60B60B5F5EC94) -vc(p3, 6.6137563214379341918E-5 ,b355,398a,f15f,792e, -13, .8AB355792EF15F) -vc(p4, -1.6533902205465250480E-6 ,ea0e,b6dd,5f84,2e93, -19,-.DDEA0E2E935F84) -vc(p5, 4.1381367970572387085E-8 ,bb4b,3431,2683,95f5, -24, .B1BB4B95F52683) - -#ifdef vccast -#define ln2hi vccast(ln2hi) -#define ln2lo vccast(ln2lo) -#define lnhuge vccast(lnhuge) -#define lntiny vccast(lntiny) -#define invln2 vccast(invln2) -#define p1 vccast(p1) -#define p2 vccast(p2) -#define p3 vccast(p3) -#define p4 vccast(p4) -#define p5 vccast(p5) -#endif - -ic(p1, 1.6666666666666601904E-1, -3, 1.555555555553E) -ic(p2, -2.7777777777015593384E-3, -9, -1.6C16C16BEBD93) -ic(p3, 6.6137563214379343612E-5, -14, 1.1566AAF25DE2C) -ic(p4, -1.6533902205465251539E-6, -20, -1.BBD41C5D26BF1) -ic(p5, 4.1381367970572384604E-8, -25, 1.6376972BEA4D0) -ic(ln2hi, 6.9314718036912381649E-1, -1, 1.62E42FEE00000) -ic(ln2lo, 1.9082149292705877000E-10,-33, 1.A39EF35793C76) -ic(lnhuge, 7.1602103751842355450E2, 9, 1.6602B15B7ECF2) -ic(lntiny,-7.5137154372698068983E2, 9, -1.77AF8EBEAE354) -ic(invln2, 1.4426950408889633870E0, 0, 1.71547652B82FE) +const static double p1 = 0x1.555555555553ep-3; +const static double p2 = -0x1.6c16c16bebd93p-9; +const static double p3 = 0x1.1566aaf25de2cp-14; +const static double p4 = -0x1.bbd41c5d26bf1p-20; +const static double p5 = 0x1.6376972bea4d0p-25; +const static double ln2hi = 0x1.62e42fee00000p-1; +const static double ln2lo = 0x1.a39ef35793c76p-33; +const static double lnhuge = 0x1.6602b15b7ecf2p9; +const static double lntiny = -0x1.77af8ebeae354p9; +const static double invln2 = 0x1.71547652b82fep0; #if 0 double exp(x) ==== //depot/projects/hammer/lib/msun/bsdsrc/mathimpl.h#2 (text+ko) ==== @@ -31,59 +31,12 @@ * SUCH DAMAGE. * * @(#)mathimpl.h 8.1 (Berkeley) 6/4/93 - * $FreeBSD: src/lib/msun/bsdsrc/mathimpl.h,v 1.3 2002/05/28 17:03:12 alfred Exp $ + * $FreeBSD: src/lib/msun/bsdsrc/mathimpl.h,v 1.4 2004/05/17 01:04:37 das Exp $ */ #include #include -#if defined(vax)||defined(tahoe) - -/* Deal with different ways to concatenate in cpp */ -# define cat3(a,b,c) a ## b ## c - -/* Deal with vax/tahoe byte order issues */ -# ifdef vax -# define cat3t(a,b,c) cat3(a,b,c) -# else -# define cat3t(a,b,c) cat3(a,c,b) -# endif - -# define vccast(name) (*(const double *)(cat3(name,,x))) - - /* - * Define a constant to high precision on a Vax or Tahoe. - * - * Args are the name to define, the decimal floating point value, - * four 16-bit chunks of the float value in hex - * (because the vax and tahoe differ in float format!), the power - * of 2 of the hex-float exponent, and the hex-float mantissa. - * Most of these arguments are not used at compile time; they are - * used in a post-check to make sure the constants were compiled - * correctly. - * - * People who want to use the constant will have to do their own - * #define foo vccast(foo) - * since CPP cannot do this for them from inside another macro (sigh). - * We define "vccast" if this needs doing. - */ -# define vc(name, value, x1,x2,x3,x4, bexp, xval) \ - const static long cat3(name,,x)[] = {cat3t(0x,x1,x2), cat3t(0x,x3,x4)}; - -# define ic(name, value, bexp, xval) ; - -#else /* vax or tahoe */ - - /* Hooray, we have an IEEE machine */ -# undef vccast -# define vc(name, value, x1,x2,x3,x4, bexp, xval) ; - -# define ic(name, value, bexp, xval) \ - const static double name = value; - -#endif /* defined(vax)||defined(tahoe) */ - - /* * Functions internal to the math package, yet not static. */ ==== //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#68 (text+ko) ==== @@ -3,7 +3,7 @@ The FreeBSD Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.726 2004/05/09 23:04:47 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.728 2004/05/17 17:55:19 yar Exp $ 2000 @@ -591,7 +591,16 @@ bthidd command, which support Bluetooth HID (Human Interface Device), have been added. - &man.df.1; now supports a to display + The &man.cron.8 daemon now accepts two new options, + and , to enable + time jitter for jobs to run as unpriviliged users and the + superuser, respectively. Time jitter means that &man.cron.8 + will sleep for a small random period of time in the specified + range before executing a job. This feature is intended to + smooth load peaks appearing when a lot of jobs are scheduled + for a particular moment. + + &man.df.1; now supports a option to display a grand total of statistics for file systems. The doscmd utility has been @@ -609,8 +618,8 @@ The &man.fdcontrol.8;, &man.fdformat.1;, and &man.fdread.1; utilities now work on &os;/pc98. - The &man.find.1; now supports a option - to locate files with &man.acl.3;. + The &man.find.1; utility now supports a + primary to locate files with &man.acl.3;. &man.indent.1; now supports a option to control indentation of local variables. A number of other ==== //depot/projects/hammer/sbin/bsdlabel/bsdlabel.8#7 (text+ko) ==== @@ -29,7 +29,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)disklabel.8 8.2 (Berkeley) 4/19/94 -.\" $FreeBSD: src/sbin/bsdlabel/bsdlabel.8,v 1.57 2004/04/09 19:58:25 markm Exp $ +.\" $FreeBSD: src/sbin/bsdlabel/bsdlabel.8,v 1.58 2004/05/17 08:35:39 ru Exp $ .\" .Dd March 15, 2003 .Dt BSDLABEL 8 @@ -40,30 +40,28 @@ .Sh SYNOPSIS .Nm .Op Fl A -.Op Fl f -.Ar disk/file +.Ar disk | Fl f Ar file .Nm .Fl w .Op Fl \&An .Op Fl B Op Fl b Ar boot .Op Fl m Ar machine -.Op Fl f -.Ar disk/file +.Ar disk | Fl f Ar file .Op Ar type .Nm .Fl e .Op Fl \&An .Op Fl B Op Fl b Ar boot .Op Fl m Ar machine -.Op Fl f -.Ar disk/file +.Ar disk | Fl f Ar file .Nm .Fl R .Op Fl \&An .Op Fl B Op Fl b Ar boot .Op Fl m Ar machine .Op Fl f -.Ar disk/file protofile +.Ar disk | Fl f Ar file +.Ar protofile .Sh DESCRIPTION The .Nm @@ -75,9 +73,9 @@ .Nm can install bootstrap code. .Ss Disk Device Name -When specifying the device (i.e. when the +When specifying the device (i.e., when the .Fl f -option is not used), +option is not used), the .Pa /dev/ path prefix may be omitted; ==== //depot/projects/hammer/sbin/conscontrol/conscontrol.8#3 (text+ko) ==== @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sbin/conscontrol/conscontrol.8,v 1.5 2004/02/17 04:53:47 grog Exp $ +.\" $FreeBSD: src/sbin/conscontrol/conscontrol.8,v 1.6 2004/05/17 08:35:39 ru Exp $ .\" .Dd October 23, 2001 .Dt CONSCONTROL 8 @@ -79,7 +79,9 @@ Adding a device will place it at the front of the list of console devices; the first device is used for the high level console. .Pp +The .Ar console +argument is the name of a console device in .Pa /dev ; the name of the directory may be omitted. ==== //depot/projects/hammer/sbin/dump/dump.8#11 (text+ko) ==== @@ -27,7 +27,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)dump.8 8.3 (Berkeley) 5/1/95 -.\" $FreeBSD: src/sbin/dump/dump.8,v 1.65 2004/04/13 02:58:06 green Exp $ +.\" $FreeBSD: src/sbin/dump/dump.8,v 1.66 2004/05/17 08:35:40 ru Exp $ .\" .Dd March 1, 2002 .Dt DUMP 8 @@ -200,7 +200,7 @@ for the output device of each volume. This child pipeline's .Dv stdin -.Pa ( /dev/fd/0 ) +.Pq Pa /dev/fd/0 is redirected from the .Nm output stream, and the environment variable @@ -230,19 +230,25 @@ .Nm takes a snapshot of the file system in the .Pa .snap -directory in the root of the filesystem being dumped and +directory in the root of the file system being dumped and then does a dump of the snapshot. The snapshot is removed when the dump is complete. -This option is ignored for unmounted or read-only filesystems. +This option is ignored for unmounted or read-only file systems. If the .Pa .snap -directory does not exist in the root of the filesystem being dumped, -the dump will fail. +directory does not exist in the root of the file system being dumped, +the +.Nm +will fail. This problem can be corrected by creating a .Pa .snap -directory in the root of the filesystem to be dumped; -its owner should be root, its group should be operator, -and its mode should be 0770. +directory in the root of the file system to be dumped; +its owner should be +.Dq Li root , +its group should be +.Dq Li operator , +and its mode should be +.Dq Li 0770 . .It Fl n Whenever .Nm @@ -439,7 +445,7 @@ .Xr rmt 8 program. .It Ev RSH -Pathname of remote shell program, if not +Pathname of a remote shell program, if not .Xr rsh 1 . .El .Sh FILES @@ -473,14 +479,18 @@ Fewer than 32 read errors on the file system are ignored, though all errors will generate a warning message. This is a bit of a compromise. -In practice it is possible to generate read errors when doing dumps +In practice, it is possible to generate read errors when doing dumps on mounted partitions if the file system is being modified while the -dump is running. +.Nm +is running. Since dumps are often done in an unattended fashion using .Xr cron 8 -jobs asking for Operator intervention would result in the dump dying. -However there is nothing wrong with a dump tape written when this sort -of read error occurs and there is no reason to terminate the dump. +jobs asking for Operator intervention would result in the +.Nm +dying. +However, there is nothing wrong with a dump tape written when this sort +of read error occurs, and there is no reason to terminate the +.Nm . .Pp Each reel requires a new process, so parent processes for reels already written just hang around until the entire tape ==== //depot/projects/hammer/sbin/fsck_msdosfs/fsck_msdosfs.8#5 (text+ko) ==== @@ -1,5 +1,5 @@ .\" $NetBSD: fsck_msdos.8,v 1.9 1997/10/17 11:19:58 ws Exp $ -.\" $FreeBSD: src/sbin/fsck_msdosfs/fsck_msdosfs.8,v 1.12 2003/12/27 06:30:14 bde Exp $ +.\" $FreeBSD: src/sbin/fsck_msdosfs/fsck_msdosfs.8,v 1.13 2004/05/17 08:35:40 ru Exp $ .\" .\" Copyright (C) 1995 Wolfgang Solfrank .\" Copyright (c) 1995 Martin Husemann @@ -89,9 +89,9 @@ A non-zero exit code is always returned for this option. .It Fl f Force -.Nm +.Nm to check -.Sq clean +.Dq clean file systems when preening. .It Fl n Causes ==== //depot/projects/hammer/sbin/gbde/gbde.8#6 (text+ko) ==== @@ -29,7 +29,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sbin/gbde/gbde.8,v 1.10 2003/11/27 20:54:51 phk Exp $ +.\" $FreeBSD: src/sbin/gbde/gbde.8,v 1.11 2004/05/17 08:35:40 ru Exp $ .\" .Dd October 19, 2002 .Dt GBDE 8 @@ -172,8 +172,10 @@ .Pp .Dl "gbde attach ad0s1f -l /etc/ad0s1f.lock" .Pp -The encrypted device has the suffix ``.bde'' so a typical -command to create and mount a filesystem would be: +The encrypted device has the suffix +.Pa .bde +so a typical +command to create and mount a file system would be: .Pp .Dl "newfs /dev/ad0s1f.bde" .Dl "mount /dev/ad0s1f.bde /secret" @@ -183,7 +185,7 @@ .Dl "gbde detach ad0s1f" .Pp Please notice that detaching an encrypted device corresponds to -physically removing it, do not forget to unmount the filesystem first. +physically removing it, do not forget to unmount the file system first. .Pp >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon May 17 14:28:07 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4AA2B16A4D3; Mon, 17 May 2004 14:28:07 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1BF2716A4D1 for ; Mon, 17 May 2004 14:28:07 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E446443D4C for ; Mon, 17 May 2004 14:28:05 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4HLS5Ge074561 for ; Mon, 17 May 2004 14:28:05 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4HLS5rS074558 for perforce@freebsd.org; Mon, 17 May 2004 14:28:05 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Mon, 17 May 2004 14:28:05 -0700 (PDT) Message-Id: <200405172128.i4HLS5rS074558@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 52953 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 May 2004 21:28:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=52953 Change 52953 by peter@peter_daintree on 2004/05/17 14:27:12 IFC @52952 Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/elf_machdep.c#26 integrate .. //depot/projects/hammer/sys/kern/kern_linker.c#16 integrate .. //depot/projects/hammer/sys/kern/link_elf_obj.c#36 integrate Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/elf_machdep.c#26 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/elf_machdep.c,v 1.20 2004/05/16 20:00:27 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/elf_machdep.c,v 1.21 2004/05/17 21:16:49 peter Exp $"); #include #include ==== //depot/projects/hammer/sys/kern/kern_linker.c#16 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_linker.c,v 1.110 2004/04/09 15:27:38 peadar Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_linker.c,v 1.111 2004/05/17 21:24:39 peter Exp $"); #include "opt_ddb.h" #include "opt_mac.h" ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#36 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/link_elf_obj.c,v 1.78 2004/05/17 00:51:34 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/link_elf_obj.c,v 1.79 2004/05/17 21:20:23 peter Exp $"); #include "opt_ddb.h" #include "opt_mac.h" From owner-p4-projects@FreeBSD.ORG Mon May 17 14:34:15 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B125916A4D2; Mon, 17 May 2004 14:34:14 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8336116A4D0 for ; Mon, 17 May 2004 14:34:14 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 01E2543D3F for ; Mon, 17 May 2004 14:34:14 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4HLYDGe076646 for ; Mon, 17 May 2004 14:34:13 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4HLYDNi076643 for perforce@freebsd.org; Mon, 17 May 2004 14:34:13 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Mon, 17 May 2004 14:34:13 -0700 (PDT) Message-Id: <200405172134.i4HLYDNi076643@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 52954 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 May 2004 21:34:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=52954 Change 52954 by peter@peter_daintree on 2004/05/17 14:33:44 integ -I -b i386_hammer Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/elf_machdep.c#27 integrate .. //depot/projects/hammer/sys/amd64/conf/NOTES#31 integrate Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/elf_machdep.c#27 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/conf/NOTES#31 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# (XXX from i386:NOTES,v 1.1158) +# (XXX from i386:NOTES,v 1.1160) # $FreeBSD: src/sys/amd64/conf/NOTES,v 1.13 2004/05/16 21:27:29 peter Exp $ # From owner-p4-projects@FreeBSD.ORG Mon May 17 17:15:34 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C5EE916A4D0; Mon, 17 May 2004 17:15:33 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 978B116A4CE for ; Mon, 17 May 2004 17:15:33 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8292543D49 for ; Mon, 17 May 2004 17:15:33 -0700 (PDT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4I0FXGe019065 for ; Mon, 17 May 2004 17:15:33 -0700 (PDT) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4I0FVM4019062 for perforce@freebsd.org; Mon, 17 May 2004 17:15:31 -0700 (PDT) (envelope-from julian@freebsd.org) Date: Mon, 17 May 2004 17:15:31 -0700 (PDT) Message-Id: <200405180015.i4I0FVM4019062@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 52960 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 May 2004 00:15:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=52960 Change 52960 by julian@julian_desk on 2004/05/17 17:15:13 IFC Affected files ... .. //depot/projects/nsched/sys/Makefile#2 integrate .. //depot/projects/nsched/sys/alpha/alpha/elf_machdep.c#2 integrate .. //depot/projects/nsched/sys/amd64/acpica/madt.c#2 integrate .. //depot/projects/nsched/sys/amd64/amd64/apic_vector.S#3 integrate .. //depot/projects/nsched/sys/amd64/amd64/cpu_switch.S#3 integrate .. //depot/projects/nsched/sys/amd64/amd64/elf_machdep.c#2 integrate .. //depot/projects/nsched/sys/amd64/amd64/genassym.c#3 integrate .. //depot/projects/nsched/sys/amd64/amd64/intr_machdep.c#2 integrate .. //depot/projects/nsched/sys/amd64/amd64/io_apic.c#2 integrate .. //depot/projects/nsched/sys/amd64/amd64/legacy.c#2 integrate .. //depot/projects/nsched/sys/amd64/amd64/local_apic.c#2 integrate .. //depot/projects/nsched/sys/amd64/amd64/mp_machdep.c#2 integrate .. //depot/projects/nsched/sys/amd64/amd64/mptable.c#2 integrate .. //depot/projects/nsched/sys/amd64/amd64/mptable_pci.c#2 integrate .. //depot/projects/nsched/sys/amd64/amd64/nexus.c#2 integrate .. //depot/projects/nsched/sys/amd64/amd64/pmap.c#5 integrate .. //depot/projects/nsched/sys/amd64/amd64/support.S#4 integrate .. //depot/projects/nsched/sys/amd64/conf/GENERIC#3 integrate .. //depot/projects/nsched/sys/amd64/conf/NOTES#2 integrate .. //depot/projects/nsched/sys/amd64/include/apicvar.h#2 integrate .. //depot/projects/nsched/sys/amd64/include/intr_machdep.h#2 integrate .. //depot/projects/nsched/sys/amd64/include/legacyvar.h#2 integrate .. //depot/projects/nsched/sys/amd64/include/pcb.h#3 integrate .. //depot/projects/nsched/sys/amd64/include/pmap.h#5 integrate .. //depot/projects/nsched/sys/amd64/include/smp.h#2 integrate .. //depot/projects/nsched/sys/amd64/isa/atpic.c#2 integrate .. //depot/projects/nsched/sys/amd64/isa/atpic_vector.S#3 integrate .. //depot/projects/nsched/sys/amd64/isa/clock.c#3 integrate .. //depot/projects/nsched/sys/amd64/isa/elcr.c#1 branch .. //depot/projects/nsched/sys/amd64/isa/icu.h#3 integrate .. //depot/projects/nsched/sys/amd64/isa/nmi.c#3 integrate .. //depot/projects/nsched/sys/amd64/pci/pci_bus.c#2 integrate .. //depot/projects/nsched/sys/arm/arm/autoconf.c#1 branch .. //depot/projects/nsched/sys/arm/arm/bcopy_page.S#1 branch .. //depot/projects/nsched/sys/arm/arm/bcopyinout.S#1 branch .. //depot/projects/nsched/sys/arm/arm/bcopyinout_xscale.S#1 branch .. //depot/projects/nsched/sys/arm/arm/blockio.S#1 branch .. //depot/projects/nsched/sys/arm/arm/bootconfig.c#1 branch .. //depot/projects/nsched/sys/arm/arm/bus_space_asm_generic.S#1 branch .. //depot/projects/nsched/sys/arm/arm/busdma_machdep.c#1 branch .. //depot/projects/nsched/sys/arm/arm/copystr.S#1 branch .. //depot/projects/nsched/sys/arm/arm/cpufunc.c#1 branch .. //depot/projects/nsched/sys/arm/arm/cpufunc_asm.S#1 branch .. //depot/projects/nsched/sys/arm/arm/cpufunc_asm_arm10.S#1 branch .. //depot/projects/nsched/sys/arm/arm/cpufunc_asm_arm3.S#1 branch .. //depot/projects/nsched/sys/arm/arm/cpufunc_asm_arm67.S#1 branch .. //depot/projects/nsched/sys/arm/arm/cpufunc_asm_arm7tdmi.S#1 branch .. //depot/projects/nsched/sys/arm/arm/cpufunc_asm_arm8.S#1 branch .. //depot/projects/nsched/sys/arm/arm/cpufunc_asm_arm9.S#1 branch .. //depot/projects/nsched/sys/arm/arm/cpufunc_asm_armv4.S#1 branch .. //depot/projects/nsched/sys/arm/arm/cpufunc_asm_ixp12x0.S#1 branch .. //depot/projects/nsched/sys/arm/arm/cpufunc_asm_sa1.S#1 branch .. //depot/projects/nsched/sys/arm/arm/cpufunc_asm_sa11x0.S#1 branch .. //depot/projects/nsched/sys/arm/arm/cpufunc_asm_xscale.S#1 branch .. //depot/projects/nsched/sys/arm/arm/critical.c#1 branch .. //depot/projects/nsched/sys/arm/arm/db_disasm.c#1 branch .. //depot/projects/nsched/sys/arm/arm/db_interface.c#1 branch .. //depot/projects/nsched/sys/arm/arm/db_trace.c#1 branch .. //depot/projects/nsched/sys/arm/arm/disassem.c#1 branch .. //depot/projects/nsched/sys/arm/arm/dump_machdep.c#1 branch .. //depot/projects/nsched/sys/arm/arm/elf_machdep.c#1 branch .. //depot/projects/nsched/sys/arm/arm/exception.S#1 branch .. //depot/projects/nsched/sys/arm/arm/fiq.c#1 branch .. //depot/projects/nsched/sys/arm/arm/fiq_subr.S#1 branch .. //depot/projects/nsched/sys/arm/arm/fusu.S#1 branch .. //depot/projects/nsched/sys/arm/arm/genassym.c#1 branch .. //depot/projects/nsched/sys/arm/arm/identcpu.c#1 branch .. //depot/projects/nsched/sys/arm/arm/in_cksum.c#1 branch .. //depot/projects/nsched/sys/arm/arm/in_cksum_arm.S#1 branch .. //depot/projects/nsched/sys/arm/arm/intr.c#1 branch .. //depot/projects/nsched/sys/arm/arm/irq_dispatch.S#1 branch .. //depot/projects/nsched/sys/arm/arm/locore.S#1 branch .. //depot/projects/nsched/sys/arm/arm/machdep.c#1 branch .. //depot/projects/nsched/sys/arm/arm/nexus.c#1 branch .. //depot/projects/nsched/sys/arm/arm/nexus_io.c#1 branch .. //depot/projects/nsched/sys/arm/arm/nexus_io_asm.S#1 branch .. //depot/projects/nsched/sys/arm/arm/pmap.c#1 branch .. //depot/projects/nsched/sys/arm/arm/setcpsr.S#1 branch .. //depot/projects/nsched/sys/arm/arm/setstack.s#1 branch .. //depot/projects/nsched/sys/arm/arm/support.S#1 branch .. //depot/projects/nsched/sys/arm/arm/swtch.S#1 branch .. //depot/projects/nsched/sys/arm/arm/sys_machdep.c#1 branch .. //depot/projects/nsched/sys/arm/arm/trap.c#1 branch .. //depot/projects/nsched/sys/arm/arm/uio_machdep.c#1 branch .. //depot/projects/nsched/sys/arm/arm/undefined.c#1 branch .. //depot/projects/nsched/sys/arm/arm/vectors.S#1 branch .. //depot/projects/nsched/sys/arm/arm/vm_machdep.c#1 branch .. //depot/projects/nsched/sys/arm/conf/SIMICS#1 branch .. //depot/projects/nsched/sys/arm/include/_inttypes.h#1 branch .. //depot/projects/nsched/sys/arm/include/armreg.h#1 branch .. //depot/projects/nsched/sys/arm/include/asm.h#1 branch .. //depot/projects/nsched/sys/arm/include/asmacros.h#1 branch .. //depot/projects/nsched/sys/arm/include/atomic.h#1 branch .. //depot/projects/nsched/sys/arm/include/blockio.h#1 branch .. //depot/projects/nsched/sys/arm/include/bootconfig.h#1 branch .. //depot/projects/nsched/sys/arm/include/bus.h#1 branch .. //depot/projects/nsched/sys/arm/include/clock.h#1 branch .. //depot/projects/nsched/sys/arm/include/cpu.h#1 branch .. //depot/projects/nsched/sys/arm/include/cpuconf.h#1 branch .. //depot/projects/nsched/sys/arm/include/cpufunc.h#1 branch .. //depot/projects/nsched/sys/arm/include/critical.h#1 branch .. //depot/projects/nsched/sys/arm/include/db_machdep.h#1 branch .. //depot/projects/nsched/sys/arm/include/disassem.h#1 branch .. //depot/projects/nsched/sys/arm/include/fiq.h#1 branch .. //depot/projects/nsched/sys/arm/include/float.h#1 branch .. //depot/projects/nsched/sys/arm/include/floatingpoint.h#1 branch .. //depot/projects/nsched/sys/arm/include/fp.h#1 branch .. //depot/projects/nsched/sys/arm/include/frame.h#1 branch .. //depot/projects/nsched/sys/arm/include/ieee.h#1 branch .. //depot/projects/nsched/sys/arm/include/ieeefp.h#1 branch .. //depot/projects/nsched/sys/arm/include/in_cksum.h#1 branch .. //depot/projects/nsched/sys/arm/include/intr.h#1 branch .. //depot/projects/nsched/sys/arm/include/katelib.h#1 branch .. //depot/projects/nsched/sys/arm/include/machdep.h#1 branch .. //depot/projects/nsched/sys/arm/include/md_var.h#1 branch .. //depot/projects/nsched/sys/arm/include/metadata.h#1 branch .. //depot/projects/nsched/sys/arm/include/mutex.h#1 branch .. //depot/projects/nsched/sys/arm/include/param.h#2 integrate .. //depot/projects/nsched/sys/arm/include/pcb.h#1 branch .. //depot/projects/nsched/sys/arm/include/pcpu.h#1 branch .. //depot/projects/nsched/sys/arm/include/pmap.h#1 branch .. //depot/projects/nsched/sys/arm/include/proc.h#1 branch .. //depot/projects/nsched/sys/arm/include/profile.h#1 branch .. //depot/projects/nsched/sys/arm/include/psl.h#1 branch .. //depot/projects/nsched/sys/arm/include/pte.h#1 branch .. //depot/projects/nsched/sys/arm/include/ptrace.h#1 branch .. //depot/projects/nsched/sys/arm/include/reg.h#1 branch .. //depot/projects/nsched/sys/arm/include/reloc.h#1 branch .. //depot/projects/nsched/sys/arm/include/resource.h#1 branch .. //depot/projects/nsched/sys/arm/include/runq.h#1 branch .. //depot/projects/nsched/sys/arm/include/setjmp.h#1 branch .. //depot/projects/nsched/sys/arm/include/sf_buf.h#1 branch .. //depot/projects/nsched/sys/arm/include/sigframe.h#1 branch .. //depot/projects/nsched/sys/arm/include/smp.h#1 branch .. //depot/projects/nsched/sys/arm/include/stdarg.h#1 branch .. //depot/projects/nsched/sys/arm/include/swi.h#1 branch .. //depot/projects/nsched/sys/arm/include/trap.h#1 branch .. //depot/projects/nsched/sys/arm/include/ucontext.h#2 integrate .. //depot/projects/nsched/sys/arm/include/undefined.h#1 branch .. //depot/projects/nsched/sys/arm/include/utrap.h#1 branch .. //depot/projects/nsched/sys/arm/include/vmparam.h#1 branch .. //depot/projects/nsched/sys/arm/sa11x0/assabet_machdep.c#1 branch .. //depot/projects/nsched/sys/arm/sa11x0/files.sa11x0#1 branch .. //depot/projects/nsched/sys/arm/sa11x0/sa11x0.c#1 branch .. //depot/projects/nsched/sys/arm/sa11x0/sa11x0_dmacreg.h#1 branch .. //depot/projects/nsched/sys/arm/sa11x0/sa11x0_gpioreg.h#1 branch .. //depot/projects/nsched/sys/arm/sa11x0/sa11x0_io.c#1 branch .. //depot/projects/nsched/sys/arm/sa11x0/sa11x0_io_asm.S#1 branch .. //depot/projects/nsched/sys/arm/sa11x0/sa11x0_irq.S#1 branch .. //depot/projects/nsched/sys/arm/sa11x0/sa11x0_irqhandler.c#1 branch .. //depot/projects/nsched/sys/arm/sa11x0/sa11x0_ost.c#1 branch .. //depot/projects/nsched/sys/arm/sa11x0/sa11x0_ostreg.h#1 branch .. //depot/projects/nsched/sys/arm/sa11x0/sa11x0_ppcreg.h#1 branch .. //depot/projects/nsched/sys/arm/sa11x0/sa11x0_reg.h#1 branch .. //depot/projects/nsched/sys/arm/sa11x0/sa11x0_var.h#1 branch .. //depot/projects/nsched/sys/arm/sa11x0/std.sa11x0#1 branch .. //depot/projects/nsched/sys/arm/sa11x0/uart_bus_sa1110.c#1 branch .. //depot/projects/nsched/sys/arm/sa11x0/uart_cpu_sa1110.c#1 branch .. //depot/projects/nsched/sys/arm/sa11x0/uart_dev_sa1110.c#1 branch .. //depot/projects/nsched/sys/arm/sa11x0/uart_dev_sa1110.h#1 branch .. //depot/projects/nsched/sys/boot/Makefile#2 integrate .. //depot/projects/nsched/sys/boot/common/loader.8#3 integrate .. //depot/projects/nsched/sys/boot/forth/loader.conf.5#2 integrate .. //depot/projects/nsched/sys/boot/i386/boot0/boot0.S#2 integrate .. //depot/projects/nsched/sys/boot/i386/boot2/boot1.S#3 integrate .. //depot/projects/nsched/sys/boot/i386/boot2/sio.S#3 integrate .. //depot/projects/nsched/sys/boot/i386/btx/btx/btx.S#3 integrate .. //depot/projects/nsched/sys/boot/i386/btx/btxldr/btxldr.S#3 integrate .. //depot/projects/nsched/sys/boot/i386/libi386/amd64_tramp.S#3 integrate .. //depot/projects/nsched/sys/boot/i386/libi386/biosacpi.c#2 integrate .. //depot/projects/nsched/sys/boot/i386/pxeldr/pxeldr.S#3 integrate .. //depot/projects/nsched/sys/boot/pc98/boot2/serial_16550.S#3 integrate .. //depot/projects/nsched/sys/boot/pc98/boot2/serial_8251.S#3 integrate .. //depot/projects/nsched/sys/boot/pc98/btx/btx/btx.S#3 integrate .. //depot/projects/nsched/sys/boot/pc98/btx/btxldr/btxldr.S#3 integrate .. //depot/projects/nsched/sys/conf/Makefile.arm#1 branch .. //depot/projects/nsched/sys/conf/files.alpha#2 integrate .. //depot/projects/nsched/sys/conf/files.amd64#3 integrate .. //depot/projects/nsched/sys/conf/files.arm#1 branch .. //depot/projects/nsched/sys/conf/files.i386#4 integrate .. //depot/projects/nsched/sys/conf/files.ia64#3 integrate .. //depot/projects/nsched/sys/conf/files.pc98#4 integrate .. //depot/projects/nsched/sys/conf/kern.mk#2 integrate .. //depot/projects/nsched/sys/conf/kmod.mk#2 integrate .. //depot/projects/nsched/sys/conf/ldscript.arm#1 branch .. //depot/projects/nsched/sys/conf/options#4 integrate .. //depot/projects/nsched/sys/conf/options.arm#1 branch .. //depot/projects/nsched/sys/dev/aac/aac_pci.c#2 integrate .. //depot/projects/nsched/sys/dev/acpica/acpi_ec.c#4 integrate .. //depot/projects/nsched/sys/dev/aic7xxx/aic79xx.c#2 integrate .. //depot/projects/nsched/sys/dev/aic7xxx/aic79xx.h#2 integrate .. //depot/projects/nsched/sys/dev/aic7xxx/aic79xx.reg#2 integrate .. //depot/projects/nsched/sys/dev/aic7xxx/aic79xx.seq#2 integrate .. //depot/projects/nsched/sys/dev/aic7xxx/aic79xx_inline.h#2 integrate .. //depot/projects/nsched/sys/dev/aic7xxx/aic79xx_pci.c#2 integrate .. //depot/projects/nsched/sys/dev/aic7xxx/aic7xxx.c#2 integrate .. //depot/projects/nsched/sys/dev/aic7xxx/aic_osm_lib.h#2 integrate .. //depot/projects/nsched/sys/dev/ata/ata-lowlevel.c#3 integrate .. //depot/projects/nsched/sys/dev/ciss/ciss.c#3 integrate .. //depot/projects/nsched/sys/dev/ciss/cissreg.h#3 integrate .. //depot/projects/nsched/sys/dev/cy/cy.c#2 integrate .. //depot/projects/nsched/sys/dev/fdc/fdc.c#1 branch .. //depot/projects/nsched/sys/dev/fdc/fdcreg.h#1 branch .. //depot/projects/nsched/sys/dev/firewire/firewire.c#2 integrate .. //depot/projects/nsched/sys/dev/ichwd/ichwd.c#1 branch .. //depot/projects/nsched/sys/dev/ichwd/ichwd.h#1 branch .. //depot/projects/nsched/sys/dev/if_ndis/if_ndis.c#4 integrate .. //depot/projects/nsched/sys/dev/iicbus/iic.c#2 integrate .. //depot/projects/nsched/sys/dev/iicbus/iicbus.c#2 integrate .. //depot/projects/nsched/sys/dev/pccard/pccarddevs#4 integrate .. //depot/projects/nsched/sys/dev/pccard/pccarddevs.h#4 integrate .. //depot/projects/nsched/sys/dev/puc/pucdata.c#3 integrate .. //depot/projects/nsched/sys/dev/smbus/smb.c#2 integrate .. //depot/projects/nsched/sys/dev/smbus/smb.h#2 integrate .. //depot/projects/nsched/sys/dev/sound/isa/sb.h#2 integrate .. //depot/projects/nsched/sys/dev/sound/isa/sb16.c#3 integrate .. //depot/projects/nsched/sys/dev/sound/isa/sbc.c#3 integrate .. //depot/projects/nsched/sys/dev/twa/twa.h#2 integrate .. //depot/projects/nsched/sys/dev/twa/twa_cam.c#2 integrate .. //depot/projects/nsched/sys/dev/twa/twa_freebsd.c#2 integrate .. //depot/projects/nsched/sys/dev/twe/twe.c#2 integrate .. //depot/projects/nsched/sys/dev/twe/twereg.h#2 integrate .. //depot/projects/nsched/sys/dev/twe/twevar.h#2 integrate .. //depot/projects/nsched/sys/dev/uart/uart_cpu_pc98.c#2 integrate .. //depot/projects/nsched/sys/dev/usb/umodem.c#2 integrate .. //depot/projects/nsched/sys/dev/wl/if_wl.c#3 integrate .. //depot/projects/nsched/sys/fs/fifofs/fifo_vnops.c#3 integrate .. //depot/projects/nsched/sys/geom/geom_disk.c#2 integrate .. //depot/projects/nsched/sys/i386/acpica/madt.c#3 integrate .. //depot/projects/nsched/sys/i386/conf/NOTES#4 integrate .. //depot/projects/nsched/sys/i386/i386/elf_machdep.c#2 integrate .. //depot/projects/nsched/sys/i386/i386/io_apic.c#3 integrate .. //depot/projects/nsched/sys/i386/isa/atpic.c#3 integrate .. //depot/projects/nsched/sys/i386/isa/atpic_vector.s#4 integrate .. //depot/projects/nsched/sys/i386/isa/clock.c#4 integrate .. //depot/projects/nsched/sys/i386/isa/icu.h#3 integrate .. //depot/projects/nsched/sys/i386/isa/npx.c#3 integrate .. //depot/projects/nsched/sys/ia64/conf/NOTES#2 integrate .. //depot/projects/nsched/sys/ia64/ia64/elf_machdep.c#2 integrate .. //depot/projects/nsched/sys/isa/fd.c#4 delete .. //depot/projects/nsched/sys/isa/fdreg.h#3 delete .. //depot/projects/nsched/sys/kern/kern_linker.c#3 integrate .. //depot/projects/nsched/sys/kern/kern_synch.c#4 integrate .. //depot/projects/nsched/sys/kern/link_elf.c#2 integrate .. //depot/projects/nsched/sys/kern/link_elf_obj.c#2 integrate .. //depot/projects/nsched/sys/kern/subr_sleepqueue.c#3 integrate .. //depot/projects/nsched/sys/kern/vfs_syscalls.c#4 integrate .. //depot/projects/nsched/sys/libkern/arm/divsi3.S#1 branch .. //depot/projects/nsched/sys/libkern/arm/ffs.S#1 branch .. //depot/projects/nsched/sys/libkern/arm/muldi3.c#1 branch .. //depot/projects/nsched/sys/modules/Makefile#3 integrate .. //depot/projects/nsched/sys/modules/fdc/Makefile#2 integrate .. //depot/projects/nsched/sys/modules/ichwd/Makefile#1 branch .. //depot/projects/nsched/sys/netgraph/ng_ether.c#3 integrate .. //depot/projects/nsched/sys/netinet/ip_output.c#4 integrate .. //depot/projects/nsched/sys/netinet6/ip6_output.c#3 integrate .. //depot/projects/nsched/sys/pci/agp_via.c#3 integrate .. //depot/projects/nsched/sys/pci/agpreg.h#3 integrate .. //depot/projects/nsched/sys/powerpc/powerpc/elf_machdep.c#2 integrate .. //depot/projects/nsched/sys/security/mac_portacl/mac_portacl.c#2 integrate .. //depot/projects/nsched/sys/sparc64/sparc64/elf_machdep.c#2 integrate .. //depot/projects/nsched/sys/sys/linker.h#2 integrate .. //depot/projects/nsched/sys/ufs/ffs/ffs_alloc.c#3 integrate .. //depot/projects/nsched/sys/vm/vm_mmap.c#3 integrate .. //depot/projects/nsched/sys/vm/vm_page.c#4 integrate .. //depot/projects/nsched/sys/vm/vm_pageout.c#2 integrate Differences ... ==== //depot/projects/nsched/sys/Makefile#2 (text+ko) ==== @@ -1,7 +1,9 @@ -# $FreeBSD: src/sys/Makefile,v 1.29 2004/01/17 03:28:27 ru Exp $ +# $FreeBSD: src/sys/Makefile,v 1.30 2004/05/16 00:19:12 cognet Exp $ # The boot loader +.if ${MACHINE_ARCH} != "arm" SUBDIR= boot +.endif # Loadable kernel modules .if defined(MODULES_WITH_WORLD) ==== //depot/projects/nsched/sys/alpha/alpha/elf_machdep.c#2 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/elf_machdep.c,v 1.17 2003/12/23 02:42:38 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/elf_machdep.c,v 1.18 2004/05/16 20:00:27 peter Exp $"); #include #include @@ -108,9 +108,9 @@ /* Process one elf relocation with addend. */ static int -elf_reloc_internal(linker_file_t lf, const void *data, int type, int local) +elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, + int type, int local, elf_lookup_fn lookup) { - Elf_Addr relocbase = (Elf_Addr) lf->address; Elf_Addr *where; Elf_Addr addr; Elf_Addr addend; @@ -152,7 +152,7 @@ break; case R_ALPHA_REFQUAD: - addr = elf_lookup(lf, symidx, 1); + addr = lookup(lf, symidx, 1); if (addr == 0) return -1; addr += addend; @@ -161,7 +161,7 @@ break; case R_ALPHA_GLOB_DAT: - addr = elf_lookup(lf, symidx, 1); + addr = lookup(lf, symidx, 1); if (addr == 0) return -1; addr += addend; @@ -171,7 +171,7 @@ case R_ALPHA_JMP_SLOT: /* No point in lazy binding for kernel modules. */ - addr = elf_lookup(lf, symidx, 1); + addr = lookup(lf, symidx, 1); if (addr == 0) return -1; if (*where != addr) @@ -198,17 +198,19 @@ } int -elf_reloc(linker_file_t lf, const void *data, int type) +elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, + elf_lookup_fn lookup) { - return (elf_reloc_internal(lf, data, type, 0)); + return (elf_reloc_internal(lf, relocbase, data, type, 0, lookup)); } int -elf_reloc_local(linker_file_t lf, const void *data, int type) +elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, + int type, elf_lookup_fn lookup) { - return (elf_reloc_internal(lf, data, type, 1)); + return (elf_reloc_internal(lf, relocbase, data, type, 1, lookup)); } int ==== //depot/projects/nsched/sys/amd64/acpica/madt.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.11 2004/01/30 00:24:45 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.12 2004/05/16 20:30:46 peter Exp $"); #include #include @@ -49,6 +49,7 @@ #include #include "acpi.h" +#include #include #include @@ -69,14 +70,15 @@ u_int la_apic_id:8; } lapics[NLAPICS + 1]; +static int madt_found_sci_override; static MULTIPLE_APIC_TABLE *madt; static vm_paddr_t madt_physaddr; static vm_offset_t madt_length; MALLOC_DEFINE(M_MADT, "MADT Table", "ACPI MADT Table Items"); -static u_char interrupt_polarity(UINT16 Polarity); -static u_char interrupt_trigger(UINT16 TriggerMode); +static enum intr_polarity interrupt_polarity(UINT16 Polarity, UINT8 Source); +static enum intr_trigger interrupt_trigger(UINT16 TriggerMode, UINT8 Source); static int madt_find_cpu(u_int acpi_id, u_int *apic_id); static int madt_find_interrupt(int intr, void **apic, u_int *pin); static void *madt_map(vm_paddr_t pa, int offset, vm_offset_t length); @@ -157,6 +159,7 @@ { ACPI_TABLE_HEADER *header; vm_offset_t length; + void *table; header = madt_map(pa, offset, sizeof(ACPI_TABLE_HEADER)); if (strncmp(header->Signature, sig, 4) != 0) { @@ -165,7 +168,14 @@ } length = header->Length; madt_unmap(header, sizeof(ACPI_TABLE_HEADER)); - return (madt_map(pa, offset, length)); + table = madt_map(pa, offset, length); + if (ACPI_FAILURE(AcpiTbVerifyTableChecksum(table))) { + if (bootverbose) + printf("MADT: Failed checksum for table %s\n", sig); + madt_unmap(table, length); + return (NULL); + } + return (table); } static void @@ -215,6 +225,16 @@ * Page 0 is used to map in the headers of candidate ACPI tables. */ if (rsdp->Revision >= 2) { + /* + * AcpiOsGetRootPointer only verifies the checksum for + * the version 1.0 portion of the RSDP. Version 2.0 has + * an additional checksum that we verify first. + */ + if (AcpiTbChecksum(rsdp, ACPI_RSDP_XCHECKSUM_LENGTH) != 0) { + if (bootverbose) + printf("MADT: RSDP failed extended checksum\n"); + return (ENXIO); + } xsdt = madt_map_table(rsdp->XsdtPhysicalAddress, 1, XSDT_SIG); if (xsdt == NULL) { if (bootverbose) @@ -251,6 +271,16 @@ printf("MADT: Found table at 0x%jx\n", (uintmax_t)madt_physaddr); + /* + * Verify that we can map the full table and that its checksum is + * correct, etc. + */ + madt = madt_map_table(madt_physaddr, 0, APIC_SIG); + if (madt == NULL) + return (ENXIO); + madt_unmap_table(madt); + madt = NULL; + return (0); } @@ -273,7 +303,6 @@ printf("Table '%.4s' at 0x%jx\n", table->Signature, (uintmax_t)address); - /* XXX: Verify checksum? */ if (strncmp(table->Signature, APIC_SIG, 4) != 0) { madt_unmap(table, sizeof(ACPI_TABLE_HEADER)); return (0); @@ -325,6 +354,8 @@ static int madt_setup_io(void) { + void *ioapic; + u_int pin; int i; /* Try to initialize ACPI so that we can access the FADT. */ @@ -337,11 +368,30 @@ } /* First, we run through adding I/O APIC's. */ + if (madt->PCATCompat) + ioapic_enable_mixed_mode(); madt_walk_table(madt_parse_apics, NULL); /* Second, we run through the table tweaking interrupt sources. */ madt_walk_table(madt_parse_ints, NULL); + /* + * If there was not an explicit override entry for the SCI, + * force it to use level trigger and active-low polarity. + */ + if (!madt_found_sci_override) { + if (madt_find_interrupt(AcpiGbl_FADT->SciInt, &ioapic, &pin) + != 0) + printf("MADT: Could not find APIC for SCI IRQ %d\n", + AcpiGbl_FADT->SciInt); + else { + printf( + "MADT: Forcing active-low polarity and level trigger for SCI\n"); + ioapic_set_polarity(ioapic, pin, INTR_POLARITY_LOW); + ioapic_set_triggermode(ioapic, pin, INTR_TRIGGER_LEVEL); + } + } + /* Third, we register all the I/O APIC's. */ for (i = 0; i < NIOAPICS; i++) if (ioapics[i].io_apic != NULL) @@ -446,35 +496,44 @@ } /* - * Determine properties of an interrupt source. Note that for ACPI, - * these are only used for ISA interrupts, so we assume ISA bus values - * (Active Hi, Edge Triggered) for conforming values. + * Determine properties of an interrupt source. Note that for ACPI these + * functions are only used for ISA interrupts, so we assume ISA bus values + * (Active Hi, Edge Triggered) for conforming values except for the ACPI + * SCI for which we use Active Lo, Level Triggered. */ -static u_char -interrupt_polarity(UINT16 Polarity) +static enum intr_polarity +interrupt_polarity(UINT16 Polarity, UINT8 Source) { switch (Polarity) { case POLARITY_CONFORMS: + if (Source == AcpiGbl_FADT->SciInt) + return (INTR_POLARITY_LOW); + else + return (INTR_POLARITY_HIGH); case POLARITY_ACTIVE_HIGH: - return (1); + return (INTR_POLARITY_HIGH); case POLARITY_ACTIVE_LOW: - return (0); + return (INTR_POLARITY_LOW); default: panic("Bogus Interrupt Polarity"); } } -static u_char -interrupt_trigger(UINT16 TriggerMode) +static enum intr_trigger +interrupt_trigger(UINT16 TriggerMode, UINT8 Source) { switch (TriggerMode) { case TRIGGER_CONFORMS: + if (Source == AcpiGbl_FADT->SciInt) + return (INTR_TRIGGER_LEVEL); + else + return (INTR_TRIGGER_EDGE); case TRIGGER_EDGE: - return (1); + return (INTR_TRIGGER_EDGE); case TRIGGER_LEVEL: - return (0); + return (INTR_TRIGGER_LEVEL); default: panic("Bogus Interrupt Trigger Mode"); } @@ -532,7 +591,9 @@ { void *new_ioapic, *old_ioapic; u_int new_pin, old_pin; - int force_lo; + enum intr_trigger trig; + enum intr_polarity pol; + char buf[64]; if (bootverbose) printf("MADT: intr override: source %u, irq %u\n", @@ -546,18 +607,46 @@ } /* - * If the SCI is remapped to a non-ISA global interrupt, - * force it to level trigger and active-lo polarity. + * Lookup the appropriate trigger and polarity modes for this + * entry. + */ + trig = interrupt_trigger(intr->TriggerMode, intr->Source); + pol = interrupt_polarity(intr->Polarity, intr->Source); + + /* * If the SCI is identity mapped but has edge trigger and - * active-hi polarity, also force it to use level/lo. + * active-hi polarity or the force_sci_lo tunable is set, + * force it to use level/lo. */ - force_lo = 0; - if (intr->Source == AcpiGbl_FADT->SciInt) - if (intr->Interrupt > 15 || (intr->Interrupt == intr->Source && - intr->TriggerMode == TRIGGER_EDGE && - intr->Polarity == POLARITY_ACTIVE_HIGH)) - force_lo = 1; + if (intr->Source == AcpiGbl_FADT->SciInt) { + madt_found_sci_override = 1; + if (getenv_string("hw.acpi.sci.trigger", buf, sizeof(buf))) { + if (tolower(buf[0]) == 'e') + trig = INTR_TRIGGER_EDGE; + else if (tolower(buf[0]) == 'l') + trig = INTR_TRIGGER_LEVEL; + else + panic( + "Invalid trigger %s: must be 'edge' or 'level'", + buf); + printf("MADT: Forcing SCI to %s trigger\n", + trig == INTR_TRIGGER_EDGE ? "edge" : "level"); + } + if (getenv_string("hw.acpi.sci.polarity", buf, sizeof(buf))) { + if (tolower(buf[0]) == 'h') + pol = INTR_POLARITY_HIGH; + else if (tolower(buf[0]) == 'l') + pol = INTR_POLARITY_LOW; + else + panic( + "Invalid polarity %s: must be 'high' or 'low'", + buf); + printf("MADT: Forcing SCI to active %s polarity\n", + pol == INTR_POLARITY_HIGH ? "high" : "low"); + } + } + /* Remap the IRQ if it is mapped to a different interrupt vector. */ if (intr->Source != intr->Interrupt) { /* * If the SCI is remapped to a non-ISA global interrupt, @@ -577,18 +666,10 @@ intr->Source) ioapic_disable_pin(old_ioapic, old_pin); } - if (force_lo) { - printf( - "MADT: Forcing active-lo polarity and level trigger for IRQ %d\n", - intr->Source); - ioapic_set_polarity(new_ioapic, new_pin, 0); - ioapic_set_triggermode(new_ioapic, new_pin, 0); - } else { - ioapic_set_polarity(new_ioapic, new_pin, - interrupt_polarity(intr->Polarity)); - ioapic_set_triggermode(new_ioapic, new_pin, - interrupt_trigger(intr->TriggerMode)); - } + + /* Program the polarity and trigger mode. */ + ioapic_set_triggermode(new_ioapic, new_pin, trig); + ioapic_set_polarity(new_ioapic, new_pin, pol); } /* @@ -609,10 +690,10 @@ ioapic_set_nmi(ioapic, pin); if (nmi->TriggerMode != TRIGGER_CONFORMS) ioapic_set_triggermode(ioapic, pin, - interrupt_trigger(nmi->TriggerMode)); + interrupt_trigger(nmi->TriggerMode, 0)); if (nmi->Polarity != TRIGGER_CONFORMS) ioapic_set_polarity(ioapic, pin, - interrupt_polarity(nmi->Polarity)); + interrupt_polarity(nmi->Polarity, 0)); } /* @@ -638,10 +719,10 @@ lapic_set_lvt_mode(apic_id, pin, APIC_LVT_DM_NMI); if (nmi->TriggerMode != TRIGGER_CONFORMS) lapic_set_lvt_triggermode(apic_id, pin, - interrupt_trigger(nmi->TriggerMode)); + interrupt_trigger(nmi->TriggerMode, 0)); if (nmi->Polarity != POLARITY_CONFORMS) lapic_set_lvt_polarity(apic_id, pin, - interrupt_polarity(nmi->Polarity)); + interrupt_polarity(nmi->Polarity, 0)); } /* ==== //depot/projects/nsched/sys/amd64/amd64/apic_vector.S#3 (text+ko) ==== @@ -28,7 +28,7 @@ * SUCH DAMAGE. * * from: vector.s, 386BSD 0.1 unknown origin - * $FreeBSD: src/sys/amd64/amd64/apic_vector.S,v 1.97 2004/04/05 21:25:51 imp Exp $ + * $FreeBSD: src/sys/amd64/amd64/apic_vector.S,v 1.98 2004/05/16 22:11:49 peter Exp $ */ /* @@ -321,19 +321,4 @@ movl $0, LA_EOI(%rax) /* End Of Interrupt to APIC */ POP_FRAME /* Why not doreti? */ iretq - -#ifdef LAZY_SWITCH -/* - * Clean up when we lose out on the lazy context switch optimization. - * ie: when we are about to release a PTD but a cpu is still borrowing it. - */ - SUPERALIGN_TEXT -IDTVEC(lazypmap) - PUSH_FRAME - call pmap_lazyfix_action - movq lapic, %rax - movl $0, LA_EOI(%rax) /* End Of Interrupt to APIC */ - POP_FRAME /* Why not doreti? */ - iretq -#endif #endif /* SMP */ ==== //depot/projects/nsched/sys/amd64/amd64/cpu_switch.S#3 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.148 2004/04/05 23:55:13 imp Exp $ + * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.150 2004/05/16 22:43:57 peter Exp $ */ #include @@ -103,6 +103,17 @@ pushfq /* PSL */ popq PCB_RFLAGS(%r8) + testl $PCB_32BIT,PCB_FLAGS(%r8) + jz 1f /* no, skip over */ + + /* Save segment selector numbers */ + movl %ds,PCB_DS(%r8) + movl %es,PCB_ES(%r8) + movl %fs,PCB_FS(%r8) + movl %gs,PCB_GS(%r8) + jmp 2f +1: + /* Save userland %fs */ movl $MSR_FSBASE,%ecx rdmsr @@ -114,13 +125,8 @@ rdmsr movl %eax,PCB_GSBASE(%r8) movl %edx,PCB_GSBASE+4(%r8) +2: - /* Save segment selector numbers */ - movl %ds,PCB_DS(%r8) - movl %es,PCB_ES(%r8) - movl %fs,PCB_FS(%r8) - movl %gs,PCB_GS(%r8) - /* Test if debug registers should be saved. */ testl $PCB_DBREGS,PCB_FLAGS(%r8) jz 1f /* no, skip over */ @@ -158,10 +164,6 @@ /* switch address space */ movq PCB_CR3(%r8),%rdx -#ifdef LAZY_SWITCH - cmpq %rdx,KPML4phys /* Kernel address space? */ - je sw1 -#endif movq %cr3,%rax cmpq %rdx,%rax /* Same address space? */ je sw1 @@ -185,6 +187,9 @@ */ movq TD_PCB(%rsi),%r8 + testl $PCB_32BIT,PCB_FLAGS(%r8) + jz 1f /* no, skip over */ + /* Restore segment selector numbers */ movl PCB_DS(%r8),%ds movl PCB_ES(%r8),%es @@ -195,6 +200,8 @@ rdmsr movl PCB_GS(%r8),%gs wrmsr + jmp 2f +1: /* Restore userland %fs */ movl $MSR_FSBASE,%ecx @@ -207,6 +214,7 @@ movl PCB_GSBASE(%r8),%eax movl PCB_GSBASE+4(%r8),%edx wrmsr +2: /* Update the TSS_RSP0 pointer for the next interrupt */ movq PCPU(TSSP), %rax @@ -252,7 +260,6 @@ orq %rcx,%rax movq %rax,%dr7 1: - ret /* ==== //depot/projects/nsched/sys/amd64/amd64/elf_machdep.c#2 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/elf_machdep.c,v 1.19 2003/12/23 02:42:37 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/elf_machdep.c,v 1.21 2004/05/17 21:16:49 peter Exp $"); #include #include @@ -104,10 +104,11 @@ /* Process one elf relocation with addend. */ static int -elf_reloc_internal(linker_file_t lf, const void *data, int type, int local) +elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, + int type, int local, elf_lookup_fn lookup) { - Elf_Addr relocbase = (Elf_Addr) lf->address; - Elf_Addr *where; + Elf64_Addr *where, val; + Elf32_Addr *where32, val32; Elf_Addr addr; Elf_Addr addend; Elf_Word rtype, symidx; @@ -118,9 +119,18 @@ case ELF_RELOC_REL: rel = (const Elf_Rel *)data; where = (Elf_Addr *) (relocbase + rel->r_offset); - addend = *where; rtype = ELF_R_TYPE(rel->r_info); symidx = ELF_R_SYM(rel->r_info); + /* Addend is 32 bit on 32 bit relocs */ + switch (rtype) { + case R_X86_64_PC32: + case R_X86_64_32S: + addend = *(Elf32_Addr *)where; + break; + default: + addend = *where; + break; + } break; case ELF_RELOC_RELA: rela = (const Elf_Rela *)data; @@ -133,37 +143,38 @@ panic("unknown reloc type %d\n", type); } - if (local) { - if (rtype == R_X86_64_RELATIVE) { /* A + B */ - addr = relocbase + addend; - if (*where != addr) - *where = addr; - } - return (0); - } - switch (rtype) { case R_X86_64_NONE: /* none */ break; case R_X86_64_64: /* S + A */ - addr = elf_lookup(lf, symidx, 1); + addr = lookup(lf, symidx, 1); + val = addr + addend; if (addr == 0) return -1; - addr += addend; - if (*where != addr) - *where = addr; + if (*where != val) + *where = val; break; case R_X86_64_PC32: /* S + A - P */ - addr = elf_lookup(lf, symidx, 1); + addr = lookup(lf, symidx, 1); + where32 = (Elf32_Addr *)where; + val32 = (Elf32_Addr)(addr + addend - (Elf_Addr)where); + if (addr == 0) + return -1; + if (*where32 != val32) + *where32 = val32; + break; + + case R_X86_64_32S: /* S + A sign extend */ + addr = lookup(lf, symidx, 1); + val32 = (Elf32_Addr)(addr + addend); + where32 = (Elf32_Addr *)where; if (addr == 0) return -1; - addr += addend - (Elf_Addr)where; - /* XXX needs to be 32 bit *where, not 64 bit */ - if (*where != addr) - *where = addr; + if (*where32 != val32) + *where32 = val32; break; case R_X86_64_COPY: /* none */ @@ -176,7 +187,7 @@ break; case R_X86_64_GLOB_DAT: /* S */ - addr = elf_lookup(lf, symidx, 1); + addr = lookup(lf, symidx, 1); if (addr == 0) return -1; if (*where != addr) @@ -184,6 +195,10 @@ break; case R_X86_64_RELATIVE: /* B + A */ + addr = relocbase + addend; + val = addr; + if (*where != val) + *where = val; break; default: @@ -195,17 +210,19 @@ } int -elf_reloc(linker_file_t lf, const void *data, int type) +elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, + elf_lookup_fn lookup) { - return (elf_reloc_internal(lf, data, type, 0)); + return (elf_reloc_internal(lf, relocbase, data, type, 0, lookup)); } int -elf_reloc_local(linker_file_t lf, const void *data, int type) +elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, + int type, elf_lookup_fn lookup) { - return (elf_reloc_internal(lf, data, type, 1)); + return (elf_reloc_internal(lf, relocbase, data, type, 1, lookup)); } int ==== //depot/projects/nsched/sys/amd64/amd64/genassym.c#3 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.153 2004/04/05 21:25:51 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.154 2004/05/16 22:43:57 peter Exp $"); #include "opt_compat.h" #include "opt_kstack_pages.h" @@ -138,6 +138,7 @@ ASSYM(PCB_DR6, offsetof(struct pcb, pcb_dr6)); ASSYM(PCB_DR7, offsetof(struct pcb, pcb_dr7)); ASSYM(PCB_DBREGS, PCB_DBREGS); +ASSYM(PCB_32BIT, PCB_32BIT); ASSYM(PCB_FLAGS, offsetof(struct pcb, pcb_flags)); ASSYM(PCB_FULLCTX, PCB_FULLCTX); ==== //depot/projects/nsched/sys/amd64/amd64/intr_machdep.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.4 2003/11/17 06:10:14 peter Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.5 2004/05/16 20:30:46 peter Exp $ */ /* @@ -138,6 +138,17 @@ return (error); } +int +intr_config_intr(int vector, enum intr_trigger trig, enum intr_polarity pol) +{ + struct intsrc *isrc; + + isrc = intr_lookup_source(vector); + if (isrc == NULL) + return (EINVAL); + return (isrc->is_pic->pic_config_intr(isrc, trig, pol)); +} + void intr_execute_handlers(struct intsrc *isrc, struct intrframe *iframe) { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon May 17 20:55:43 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8995D16A4D0; Mon, 17 May 2004 20:55:43 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5840A16A4CE for ; Mon, 17 May 2004 20:55:43 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6286943D31 for ; Mon, 17 May 2004 20:55:20 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4I3tKGe071674 for ; Mon, 17 May 2004 20:55:20 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4I3tIsN071648 for perforce@freebsd.org; Mon, 17 May 2004 20:55:18 -0700 (PDT) (envelope-from marcel@freebsd.org) Date: Mon, 17 May 2004 20:55:18 -0700 (PDT) Message-Id: <200405180355.i4I3tIsN071648@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 52963 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 May 2004 03:55:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=52963 Change 52963 by marcel@marcel_nfs on 2004/05/17 20:54:47 IFC @52961 Affected files ... .. //depot/projects/gdb/MAINTAINERS#9 integrate .. //depot/projects/gdb/Makefile.inc1#10 integrate .. //depot/projects/gdb/bin/date/date.1#3 integrate .. //depot/projects/gdb/bin/dd/dd.1#4 integrate .. //depot/projects/gdb/bin/df/df.1#5 integrate .. //depot/projects/gdb/bin/getfacl/getfacl.1#2 integrate .. //depot/projects/gdb/bin/ls/ls.1#5 integrate .. //depot/projects/gdb/bin/ps/ps.1#9 integrate .. //depot/projects/gdb/bin/rmdir/rmdir.c#4 integrate .. //depot/projects/gdb/games/morse/morse.6#4 integrate .. //depot/projects/gdb/games/morse/morse.c#4 integrate .. //depot/projects/gdb/lib/libarchive/archive_write_open_file.c#6 integrate .. //depot/projects/gdb/lib/libc/gen/getgrent.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/getgrent.c#2 integrate .. //depot/projects/gdb/lib/libc/gen/getpwent.3#2 integrate .. //depot/projects/gdb/lib/libc/gen/getpwent.c#4 integrate .. //depot/projects/gdb/lib/libc/gen/lockf.3#2 integrate .. //depot/projects/gdb/lib/libc/locale/big5.c#7 integrate .. //depot/projects/gdb/lib/libc/locale/gbk.c#7 integrate .. //depot/projects/gdb/lib/libc/locale/utf8.c#6 integrate .. //depot/projects/gdb/lib/libc/sys/fcntl.2#2 integrate .. //depot/projects/gdb/lib/libc/sys/flock.2#2 integrate .. //depot/projects/gdb/lib/libdisk/disk.c#4 integrate .. //depot/projects/gdb/lib/msun/bsdsrc/b_exp.c#2 integrate .. //depot/projects/gdb/lib/msun/bsdsrc/mathimpl.h#2 integrate .. //depot/projects/gdb/libexec/bootpd/bootpd.8#3 integrate .. //depot/projects/gdb/libexec/ftpd/ftpd.8#2 integrate .. //depot/projects/gdb/libexec/makekey/makekey.8#2 integrate .. //depot/projects/gdb/libexec/rshd/rshd.8#2 integrate .. //depot/projects/gdb/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#18 integrate .. //depot/projects/gdb/sbin/atm/atmconfig/atmconfig.8#2 integrate .. //depot/projects/gdb/sbin/bsdlabel/bsdlabel.8#4 integrate .. //depot/projects/gdb/sbin/conscontrol/conscontrol.8#3 integrate .. //depot/projects/gdb/sbin/dump/dump.8#6 integrate .. //depot/projects/gdb/sbin/fsck_msdosfs/fsck_msdosfs.8#2 integrate .. //depot/projects/gdb/sbin/gbde/gbde.8#2 integrate .. //depot/projects/gdb/sbin/gconcat/gconcat.8#2 integrate .. //depot/projects/gdb/sbin/idmapd/idmapd.8#2 integrate .. //depot/projects/gdb/sbin/ifconfig/ifconfig.8#7 integrate .. //depot/projects/gdb/sbin/init/init.8#4 integrate .. //depot/projects/gdb/sbin/md5/md5.1#2 integrate .. //depot/projects/gdb/sbin/mdconfig/mdconfig.8#4 integrate .. //depot/projects/gdb/sbin/mdmfs/mdmfs.8#3 integrate .. //depot/projects/gdb/sbin/mdmfs/mdmfs.c#4 integrate .. //depot/projects/gdb/sbin/mknod/mknod.8#3 integrate .. //depot/projects/gdb/sbin/mount/mount.8#6 integrate .. //depot/projects/gdb/sbin/mount_cd9660/mount_cd9660.8#3 integrate .. //depot/projects/gdb/sbin/mount_msdosfs/mount_msdosfs.8#2 integrate .. //depot/projects/gdb/sbin/mount_nfs4/mount_nfs4.8#3 integrate .. //depot/projects/gdb/sbin/mount_ntfs/mount_ntfs.8#2 integrate .. //depot/projects/gdb/sbin/newfs/newfs.8#4 integrate .. //depot/projects/gdb/sbin/ping6/ping6.8#2 integrate .. //depot/projects/gdb/sbin/restore/restore.8#4 integrate .. //depot/projects/gdb/sbin/route/route.8#3 integrate .. //depot/projects/gdb/sbin/routed/routed.8#4 integrate .. //depot/projects/gdb/sbin/sunlabel/sunlabel.8#2 integrate .. //depot/projects/gdb/share/man/man4/man4.i386/Makefile#8 integrate .. //depot/projects/gdb/share/man/man4/ng_ether.4#3 integrate .. //depot/projects/gdb/share/man/man4/ng_one2many.4#4 integrate .. //depot/projects/gdb/share/man/man4/smb.4#2 integrate .. //depot/projects/gdb/share/man/man9/Makefile#7 integrate .. //depot/projects/gdb/share/man/man9/rman.9#2 integrate .. //depot/projects/gdb/sys/alpha/alpha/elf_machdep.c#2 integrate .. //depot/projects/gdb/sys/amd64/acpica/madt.c#3 integrate .. //depot/projects/gdb/sys/amd64/amd64/apic_vector.S#3 integrate .. //depot/projects/gdb/sys/amd64/amd64/cpu_switch.S#4 integrate .. //depot/projects/gdb/sys/amd64/amd64/elf_machdep.c#2 integrate .. //depot/projects/gdb/sys/amd64/amd64/genassym.c#4 integrate .. //depot/projects/gdb/sys/amd64/amd64/intr_machdep.c#2 integrate .. //depot/projects/gdb/sys/amd64/amd64/io_apic.c#2 integrate .. //depot/projects/gdb/sys/amd64/amd64/legacy.c#2 integrate .. //depot/projects/gdb/sys/amd64/amd64/local_apic.c#4 integrate .. //depot/projects/gdb/sys/amd64/amd64/mp_machdep.c#5 integrate .. //depot/projects/gdb/sys/amd64/amd64/mptable.c#2 integrate .. //depot/projects/gdb/sys/amd64/amd64/mptable_pci.c#2 integrate .. //depot/projects/gdb/sys/amd64/amd64/nexus.c#2 integrate .. //depot/projects/gdb/sys/amd64/amd64/pmap.c#8 integrate .. //depot/projects/gdb/sys/amd64/amd64/support.S#5 integrate .. //depot/projects/gdb/sys/amd64/conf/GENERIC#6 integrate .. //depot/projects/gdb/sys/amd64/conf/NOTES#4 integrate .. //depot/projects/gdb/sys/amd64/include/apicvar.h#2 integrate .. //depot/projects/gdb/sys/amd64/include/intr_machdep.h#2 integrate .. //depot/projects/gdb/sys/amd64/include/legacyvar.h#2 integrate .. //depot/projects/gdb/sys/amd64/include/pcb.h#4 integrate .. //depot/projects/gdb/sys/amd64/include/pmap.h#6 integrate .. //depot/projects/gdb/sys/amd64/include/smp.h#3 integrate .. //depot/projects/gdb/sys/amd64/isa/atpic.c#4 integrate .. //depot/projects/gdb/sys/amd64/isa/atpic_vector.S#3 integrate .. //depot/projects/gdb/sys/amd64/isa/clock.c#4 integrate .. //depot/projects/gdb/sys/amd64/isa/elcr.c#1 branch .. //depot/projects/gdb/sys/amd64/isa/icu.h#3 integrate .. //depot/projects/gdb/sys/amd64/isa/nmi.c#3 integrate .. //depot/projects/gdb/sys/amd64/pci/pci_bus.c#3 integrate .. //depot/projects/gdb/sys/arm/arm/elf_machdep.c#2 integrate .. //depot/projects/gdb/sys/boot/common/loader.8#4 integrate .. //depot/projects/gdb/sys/boot/forth/loader.conf.5#3 integrate .. //depot/projects/gdb/sys/conf/files.alpha#5 integrate .. //depot/projects/gdb/sys/conf/files.amd64#8 integrate .. //depot/projects/gdb/sys/conf/files.i386#16 integrate .. //depot/projects/gdb/sys/conf/files.ia64#6 integrate .. //depot/projects/gdb/sys/conf/kmod.mk#5 integrate .. //depot/projects/gdb/sys/dev/ata/ata-lowlevel.c#9 integrate .. //depot/projects/gdb/sys/dev/ciss/ciss.c#9 integrate .. //depot/projects/gdb/sys/dev/ciss/cissreg.h#4 integrate .. //depot/projects/gdb/sys/dev/cy/cy.c#3 integrate .. //depot/projects/gdb/sys/dev/fdc/fdc.c#1 branch .. //depot/projects/gdb/sys/dev/fdc/fdcreg.h#1 branch .. //depot/projects/gdb/sys/dev/iicbus/iic.c#3 integrate .. //depot/projects/gdb/sys/dev/iicbus/iicbus.c#3 integrate .. //depot/projects/gdb/sys/dev/puc/pucdata.c#5 integrate .. //depot/projects/gdb/sys/dev/smbus/smb.c#3 integrate .. //depot/projects/gdb/sys/dev/smbus/smb.h#2 integrate .. //depot/projects/gdb/sys/dev/twa/twa.h#3 integrate .. //depot/projects/gdb/sys/dev/twa/twa_cam.c#3 integrate .. //depot/projects/gdb/sys/dev/twa/twa_freebsd.c#4 integrate .. //depot/projects/gdb/sys/fs/fifofs/fifo_vnops.c#4 integrate .. //depot/projects/gdb/sys/i386/conf/NOTES#12 integrate .. //depot/projects/gdb/sys/i386/i386/elf_machdep.c#2 integrate .. //depot/projects/gdb/sys/ia64/conf/NOTES#2 integrate .. //depot/projects/gdb/sys/ia64/ia64/elf_machdep.c#2 integrate .. //depot/projects/gdb/sys/isa/fd.c#7 delete .. //depot/projects/gdb/sys/isa/fdreg.h#3 delete .. //depot/projects/gdb/sys/kern/kern_linker.c#4 integrate .. //depot/projects/gdb/sys/kern/link_elf.c#2 integrate .. //depot/projects/gdb/sys/kern/link_elf_obj.c#2 integrate .. //depot/projects/gdb/sys/modules/Makefile#12 integrate .. //depot/projects/gdb/sys/modules/fdc/Makefile#2 integrate .. //depot/projects/gdb/sys/netgraph/ng_ether.c#4 integrate .. //depot/projects/gdb/sys/powerpc/powerpc/elf_machdep.c#2 integrate .. //depot/projects/gdb/sys/sparc64/sparc64/elf_machdep.c#2 integrate .. //depot/projects/gdb/sys/sys/linker.h#2 integrate .. //depot/projects/gdb/usr.bin/finger/net.c#2 integrate .. //depot/projects/gdb/usr.bin/tar/bsdtar.1#5 integrate .. //depot/projects/gdb/usr.bin/tar/bsdtar.c#8 integrate .. //depot/projects/gdb/usr.bin/tar/bsdtar.h#6 integrate .. //depot/projects/gdb/usr.bin/tar/matching.c#3 integrate .. //depot/projects/gdb/usr.bin/tar/read.c#6 integrate .. //depot/projects/gdb/usr.bin/tar/util.c#4 integrate .. //depot/projects/gdb/usr.bin/tar/write.c#10 integrate .. //depot/projects/gdb/usr.sbin/Makefile#6 integrate .. //depot/projects/gdb/usr.sbin/acpi/acpidump/acpi_user.c#4 integrate .. //depot/projects/gdb/usr.sbin/boot0cfg/boot0cfg.c#2 integrate .. //depot/projects/gdb/usr.sbin/cron/cron/cron.8#2 integrate .. //depot/projects/gdb/usr.sbin/cron/cron/cron.c#2 integrate .. //depot/projects/gdb/usr.sbin/cron/cron/cron.h#2 integrate .. //depot/projects/gdb/usr.sbin/cron/cron/do_command.c#2 integrate .. //depot/projects/gdb/usr.sbin/gstat/gstat.c#5 integrate .. //depot/projects/gdb/usr.sbin/keyserv/keyserv.h#2 integrate .. //depot/projects/gdb/usr.sbin/mrouted/cfparse.y#2 integrate .. //depot/projects/gdb/usr.sbin/pccard/pccardc/pccardc.c#2 integrate .. //depot/projects/gdb/usr.sbin/rpc.lockd/lockd_lock.c#3 integrate .. //depot/projects/gdb/usr.sbin/smbmsg/Makefile#1 branch .. //depot/projects/gdb/usr.sbin/smbmsg/pathnames.h#1 branch .. //depot/projects/gdb/usr.sbin/smbmsg/smbmsg.8#1 branch .. //depot/projects/gdb/usr.sbin/smbmsg/smbmsg.c#1 branch Differences ... ==== //depot/projects/gdb/MAINTAINERS#9 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/MAINTAINERS,v 1.89 2004/05/10 10:07:25 pjd Exp $ +$FreeBSD: src/MAINTAINERS,v 1.90 2004/05/16 22:05:25 njl Exp $ subsystem login notes ----------------------------- @@ -39,7 +39,6 @@ libcam ken Pre-commit review requested. libdevstat ken Pre-commit review requested. iostat(8) ken Pre-commit review requested. -da(4) njl Pre-commit review requested. send to scsi@freebsd.org cd(4) ken Pre-commit review requested. pass(4) ken Pre-commit review requested. ch(4) ken Pre-commit review requested. ==== //depot/projects/gdb/Makefile.inc1#10 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.426 2004/05/13 07:51:46 ru Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.427 2004/05/17 16:19:51 ru Exp $ # # Make command line options: # -DNO_DYNAMICROOT do not link /bin and /sbin dynamically @@ -111,7 +111,7 @@ .else _TARGET_CPUTYPE=dummy .endif -_CPUTYPE!= ${MAKE} -f /dev/null -m ${.CURDIR}/share/mk \ +_CPUTYPE!= MAKEFLAGS= ${MAKE} -f /dev/null -m ${.CURDIR}/share/mk \ CPUTYPE=${_TARGET_CPUTYPE} -V CPUTYPE .if ${_CPUTYPE} != ${_TARGET_CPUTYPE} .error CPUTYPE global should be set with ?=. ==== //depot/projects/gdb/bin/date/date.1#3 (text+ko) ==== @@ -29,7 +29,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)date.1 8.3 (Berkeley) 4/28/95 -.\" $FreeBSD: src/bin/date/date.1,v 1.63 2004/04/06 22:03:38 green Exp $ +.\" $FreeBSD: src/bin/date/date.1,v 1.64 2004/05/16 21:33:48 ru Exp $ .\" .Dd November 17, 1993 .Dt DATE 1 @@ -38,7 +38,7 @@ .Nm date .Nd display or set date and time .Sh SYNOPSIS -.Nm +.Nm .Op Fl ju .Op Fl r Ar seconds .Oo @@ -58,8 +58,7 @@ .Sm on .Nm .Op Fl jnu -.Fl f -.Ar input_fmt new_date +.Fl f Ar input_fmt new_date .Op Cm + Ns Ar output_fmt .Nm .Op Fl d Ar dst @@ -97,9 +96,9 @@ .Fa tz_dsttime . .It Fl f Use -.Ar fmt +.Ar input_fmt as the format string to parse the -.Ar date +.Ar new_date provided rather than using the default .Sm off .Oo Oo Oo Oo Oo @@ -316,7 +315,9 @@ .Pp may be used on one machine to print out the date suitable for setting on another. -("+%m%d%H%M%Y.%S" for use on Linux) +.Qq ( Li "+%m%d%H%M%Y.%S" +for use on +.Tn Linux . ) .Pp The command: .Pp ==== //depot/projects/gdb/bin/dd/dd.1#4 (text+ko) ==== @@ -29,9 +29,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)dd.1 8.2 (Berkeley) 1/13/94 -.\" $FreeBSD: src/bin/dd/dd.1,v 1.23 2004/04/06 20:06:46 markm Exp $ +.\" $FreeBSD: src/bin/dd/dd.1,v 1.24 2004/05/16 21:34:14 ru Exp $ .\" -.Dd January 13, 1994 +.Dd March 5, 2004 .Dt DD 1 .Os .Sh NAME @@ -360,17 +360,21 @@ will exit. .Sh EXAMPLES Check that a disk drive contains no bad blocks: -.Dl dd if=/dev/ad0 of=/dev/null bs=1m +.Pp +.Dl "dd if=/dev/ad0 of=/dev/null bs=1m" .Pp Do a refresh of a disk drive, in order to prevent presently recoverable read errors from progressing into unrecoverable read errors: -.Dl dd if=/dev/ad0 of=/dev/ad0 bs=1m +.Pp +.Dl "dd if=/dev/ad0 of=/dev/ad0 bs=1m" +.Pp +Remove parity bit from a file: .Pp -Remove parity bit from a file -.Dl dd if=file conv=parnone of=file.txt +.Dl "dd if=file conv=parnone of=file.txt" .Pp Check for (even) parity errors on a file: -.Dl dd if=file conv=pareven | cmp -x - file +.Pp +.Dl "dd if=file conv=pareven | cmp -x - file" .Sh DIAGNOSTICS .Ex -std .Sh SEE ALSO ==== //depot/projects/gdb/bin/df/df.1#5 (text+ko) ==== @@ -26,9 +26,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)df.1 8.3 (Berkeley) 5/8/95 -.\" $FreeBSD: src/bin/df/df.1,v 1.33 2004/04/22 16:33:54 obrien Exp $ +.\" $FreeBSD: src/bin/df/df.1,v 1.34 2004/05/16 21:34:15 ru Exp $ .\" -.Dd May 8, 1995 +.Dd April 22, 2004 .Dt DF 1 .Os .Sh NAME @@ -36,10 +36,7 @@ .Nd display free disk space .Sh SYNOPSIS .Nm -.Oo -.Fl b | g | h | H | k | -.Fl m | P -.Oc +.Op Fl b | g | H | h | k | m | P .Op Fl aciln .Op Fl t Ar type .Op Ar file | filesystem ... ==== //depot/projects/gdb/bin/getfacl/getfacl.1#2 (text+ko) ==== @@ -25,12 +25,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/bin/getfacl/getfacl.1,v 1.7 2003/02/23 01:43:45 ru Exp $ +.\" $FreeBSD: src/bin/getfacl/getfacl.1,v 1.8 2004/05/16 21:34:31 ru Exp $ .\" .\" Developed by the TrustedBSD Project. .\" Support for POSIX.1e access control lists. .\" -.Dd Decemer 30, 2002 +.Dd December 30, 2002 .Dt GETFACL 1 .Os .Sh NAME ==== //depot/projects/gdb/bin/ls/ls.1#5 (text+ko) ==== @@ -29,7 +29,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ls.1 8.7 (Berkeley) 7/29/94 -.\" $FreeBSD: src/bin/ls/ls.1,v 1.80 2004/05/02 11:25:37 tjr Exp $ +.\" $FreeBSD: src/bin/ls/ls.1,v 1.81 2004/05/16 21:34:49 ru Exp $ .\" .Dd May 2, 2004 .Dt LS 1 @@ -185,7 +185,7 @@ Note that .Fl k is mutually exclusive to -.Fl h +.Fl h , and later .Fl k will nullify earlier ==== //depot/projects/gdb/bin/ps/ps.1#9 (text+ko) ==== @@ -26,7 +26,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 -.\" $FreeBSD: src/bin/ps/ps.1,v 1.75 2004/04/06 20:06:49 markm Exp $ +.\" $FreeBSD: src/bin/ps/ps.1,v 1.76 2004/05/16 21:35:05 ru Exp $ .\" .Dd March 27, 2004 .Dt PS 1 @@ -37,26 +37,14 @@ .Sh SYNOPSIS .Nm .Op Fl aCcefHhjlmrSTuvwXxZ -.Oo Fl G Ar gid Ns Xo -.Op , Ns Ar gid Ns No ... -.Xc -.Oc +.Op Fl G Ar gid Ns Op , Ns Ar gid Ns Ar ... .Op Fl M Ar core .Op Fl N Ar system .Op Fl O Ar fmt .Op Fl o Ar fmt -.Oo Fl p Ar pid Ns Xo -.Op , Ns Ar pid Ns No ... -.Xc -.Oc -.Oo Fl t Ar tty Ns Xo -.Op , Ns Ar tty Ns No ... -.Xc -.Oc -.Oo Fl U Ar username Ns Xo -.Op , Ns Ar username Ns No ... -.Xc -.Oc +.Op Fl p Ar pid Ns Op , Ns Ar pid Ns Ar ... +.Op Fl t Ar tty Ns Op , Ns Ar tty Ns Ar ... +.Op Fl U Ar username Ns Op , Ns Ar username Ns Ar ... .Nm .Op Fl L .Sh DESCRIPTION @@ -69,7 +57,7 @@ .Pp A different set of processes can be selected for display by using any combination of the -.Fl a , G , p , T , t +.Fl a , G , p , T , t , and .Fl U options. @@ -86,8 +74,7 @@ option may result in multiple output lines (one line per thread) for some processes. By default all of these output lines are sorted first by controlling -terminal, then by process -.Tn ID . +terminal, then by process ID. The .Fl m , r , u , and @@ -98,14 +85,12 @@ .Pp For the processes which have been selected for display, the information to display is selected based on a set of keywords (see the -.Fl L -.Fl O +.Fl L , O , and .Fl o options). -The default output format includes, for each process, the process' -.Tn ID , -controlling terminal, cpu time (including both user and system time), +The default output format includes, for each process, the process' ID, +controlling terminal, CPU time (including both user and system time), state, and associated command. .Pp The process file system (see @@ -126,25 +111,30 @@ .Va security.bsd.see_other_uids sysctl to zero. .It Fl c -Change the ``command'' column output to just contain the executable name, +Change the +.Dq command +column output to just contain the executable name, rather than the full command line. .It Fl C -Change the way the cpu percentage is calculated by using a ``raw'' -cpu calculation that ignores ``resident'' time (this normally has +Change the way the CPU percentage is calculated by using a +.Dq raw +CPU calculation that ignores +.Dq resident +time (this normally has no effect). .It Fl e Display the environment as well. .It Fl f Show commandline and environment information about swapped out processes. -This option is honored only if the uid of the user is 0. +This option is honored only if the UID of the user is 0. .It Fl G Display information about processes which are running with the specified -real group -.Tn ID(s) . +real group IDs. .It Fl H Show all of the .Em kernel visible -threads associated with each process. Depending on the threading package that +threads associated with each process. +Depending on the threading package that is in use, this may show only the process, only the kernel scheduled entities, or all of the process threads. .It Fl h @@ -152,7 +142,9 @@ header per page of information. .It Fl j Print information associated with the following keywords: -user, pid, ppid, pgid, jobc, state, tt, time and command. +.Cm user , pid , ppid , pgid , jobc , state , tt , time , +and +.Cm command . .It Fl L List the set of keywords available for the .Fl O @@ -161,25 +153,27 @@ options. .It Fl l Display information associated with the following keywords: -uid, pid, ppid, cpu, pri, nice, vsz, rss, mwchan, state, tt, time -and command. +.Cm uid , pid , ppid , cpu , pri , nice , vsz , rss , mwchan , state , +.Cm tt , time , +and +.Cm command . .It Fl M Extract values associated with the name list from the specified core instead of the currently running system. .It Fl m Sort by memory usage, instead of the combination of controlling -terminal and process -.Tn ID . +terminal and process ID. .It Fl N Extract the name list from the specified system instead of the default, which is the kernel image the system has booted from. .It Fl O Add the information associated with the space or comma separated list -of keywords specified, after the process -.Tn ID , +of keywords specified, after the process ID, in the default information display. -Keywords may be appended with an equals (``='') sign and a string. +Keywords may be appended with an equals +.Pq Ql = +sign and a string. This causes the printed header to use the specified string instead of the standard header. .It Fl o @@ -188,16 +182,16 @@ Multiple keywords may also be given in the form of more than one .Fl o option. -Keywords may be appended with an equals (``='') sign and a string. +Keywords may be appended with an equals +.Pq Ql = +sign and a string. This causes the printed header to use the specified string instead of the standard header. .It Fl p -Display information about processes which match the specified process -.Tn ID(s) . +Display information about processes which match the specified process IDs. .It Fl r -Sort by current cpu usage, instead of the combination of controlling -terminal and process -.Tn ID . +Sort by current CPU usage, instead of the combination of controlling +terminal and process ID. .It Fl S Change the way the process time is calculated by summing all exited children to their parent process. @@ -206,13 +200,14 @@ with the standard input. .It Fl t Display information about processes attached to the specified terminal -device(s). +devices. .It Fl U -Display the processes belonging to the specified -.Ar username Ns (s) . +Display the processes belonging to the specified usernames. .It Fl u Display information associated with the following keywords: -user, pid, %cpu, %mem, vsz, rss, tt, state, start, time and command. +.Cm user , pid , %cpu , %mem , vsz , rss , tt , state , start , time , +and +.Cm command . The .Fl u option implies the @@ -220,8 +215,10 @@ option. .It Fl v Display information associated with the following keywords: -pid, state, time, sl, re, pagein, vsz, rss, lim, tsiz, -%cpu, %mem and command. +.Cm pid , state , time , sl , re , pagein , vsz , rss , lim , tsiz , +.Cm %cpu , %mem , +and +.Cm command . The .Fl v option implies the @@ -260,16 +257,16 @@ A complete list of the available keywords are listed below. Some of these keywords are further specified as follows: .Bl -tag -width lockname -.It %cpu -The cpu utilization of the process; this is a decaying average over up to +.It Cm %cpu +The CPU utilization of the process; this is a decaying average over up to a minute of previous (real) time. Since the time base over which this is computed varies (since processes may be very young) it is possible for the sum of all -.Tn \&%CPU +.Cm %cpu fields to exceed 100%. -.It %mem +.It Cm %mem The percentage of real memory used by this process. -.It flags +.It Cm flags The flags associated with the process as in the include file .In sys/proc.h : @@ -298,104 +295,112 @@ .It Dv "P_JAILED" Ta No "0x1000000 Process is in jail" .It Dv "P_INEXEC" Ta No "0x4000000 Process is in execve()" .El -.It label +.It Cm label The MAC label of the process. -.It lim +.It Cm lim The soft limit on memory used, specified via a call to .Xr setrlimit 2 . -.It lstart -The exact time the command started, using the ``%c'' format described in +.It Cm lstart +The exact time the command started, using the +.Ql %c +format described in .Xr strftime 3 . -.It lockname +.It Cm lockname The name of the lock that the process is currently blocked on. If the name is invalid or unknown, then .Dq ???\& is displayed. -.It mwchan +.It Cm mwchan The event name if the process is blocked normally, or the lock name if the process is blocked on a lock. See the wchan and lockname keywords for details. -.It nice +.It Cm nice The process scheduling increment (see .Xr setpriority 2 ) . -.It rss +.It Cm rss the real memory (resident set) size of the process (in 1024 byte units). -.It start +.It Cm start The time the command started. If the command started less than 24 hours ago, the start time is -displayed using the ``%l:ps.1p'' format described in +displayed using the +.Dq Li %l:ps.1p +format described in .Xr strftime 3 . If the command started less than 7 days ago, the start time is -displayed using the ``%a6.15p'' format. -Otherwise, the start time is displayed using the ``%e%b%y'' format. -.It state +displayed using the +.Dq Li %a6.15p +format. +Otherwise, the start time is displayed using the +.Dq Li %e%b%y +format. +.It Cm state The state is given by a sequence of characters, for example, -.Dq Tn RWNA . +.Dq Li RWNA . The first character indicates the run state of the process: .Pp .Bl -tag -width indent -compact -.It D +.It Li D Marks a process in disk (or other short term, uninterruptible) wait. -.It I +.It Li I Marks a process that is idle (sleeping for longer than about 20 seconds). -.It L +.It Li L Marks a process that is waiting to acquire a lock. -.It R +.It Li R Marks a runnable process. -.It S +.It Li S Marks a process that is sleeping for less than about 20 seconds. -.It T +.It Li T Marks a stopped process. -.It W +.It Li W Marks an idle interrupt thread. -.It Z -Marks a dead process (a ``zombie''). +.It Li Z +Marks a dead process (a +.Dq zombie ) . .El .Pp Additional characters after these, if any, indicate additional state information: .Pp .Bl -tag -width indent -compact -.It + +.It Li + The process is in the foreground process group of its control terminal. -.It < -The process has raised -.Tn CPU -scheduling priority. -.It E +.It Li < +The process has raised CPU scheduling priority. +.It Li E The process is trying to exit. -.It J +.It Li J Marks a process which is in .Xr jail 2 . The hostname of the prison can be found in -.Ql /proc//status . -.It L +.Pa /proc/ Ns Ao Ar pid Ac Ns Pa /status . +.It Li L The process has pages locked in core (for example, for raw .Tn I/O ) . -.It N -The process has reduced -.Tn CPU -scheduling priority (see +.It Li N +The process has reduced CPU scheduling priority (see .Xr setpriority 2 ) . -.It s +.It Li s The process is a session leader. -.It V +.It Li V The process is suspended during a .Xr vfork 2 . -.It W +.It Li W The process is swapped out. -.It X +.It Li X The process is being traced or debugged. .El -.It tt +.It Cm tt An abbreviation for the pathname of the controlling terminal, if any. The abbreviation consists of the three letters following .Pa /dev/tty , -or, for the console, ``con''. -This is followed by a ``-'' if the process can no longer reach that +or, for the console, +.Dq Li con . +This is followed by a +.Ql - +if the process can no longer reach that controlling terminal (i.e., it has been revoked). -.It wchan +.It Cm wchan The event (an address in the system) on which a process waits. When printed numerically, the initial part of the address is trimmed off and the result is printed in hex, for example, 0x80324000 prints @@ -404,8 +409,11 @@ .Pp When printing using the command keyword, a process that has exited and has a parent that has not yet waited for the process (in other words, a zombie) -is listed as ``'', and a process which is blocked while trying -to exit is listed as ``''. +is listed as +.Dq Li , +and a process which is blocked while trying +to exit is listed as +.Dq Li . The .Nm utility @@ -420,154 +428,162 @@ meanings. Several of them have aliases (keywords which are synonyms). .Pp -.Bl -tag -width sigignore -compact -.It %cpu -percentage cpu usage (alias pcpu) -.It %mem -percentage memory usage (alias pmem) -.It acflag -accounting flag (alias acflg) -.It args +.Bl -tag -width ".Cm sigignore" -compact +.It Cm %cpu +percentage CPU usage (alias +.Cm pcpu ) +.It Cm %mem +percentage memory usage (alias +.Cm pmem ) +.It Cm acflag +accounting flag (alias +.Cm acflg ) +.It Cm args command and arguments -.It comm +.It Cm comm command -.It command +.It Cm command command and arguments -.It cpu -short-term cpu usage factor (for scheduling) -.It etime +.It Cm cpu +short-term CPU usage factor (for scheduling) +.It Cm etime elapsed running time -.It flags -the process flags, in hexadecimal (alias f) -.It inblk -total blocks read (alias inblock) -.It jobc +.It Cm flags +the process flags, in hexadecimal (alias +.Cm f ) +.It Cm inblk +total blocks read (alias +.Cm inblock ) +.It Cm jobc job control count -.It ktrace +.It Cm ktrace tracing flags -.It label +.It Cm label MAC label -.It lim +.It Cm lim memoryuse limit -.It logname +.It Cm logname login name of user who started the process -.It lstart +.It Cm lstart time started -.It majflt +.It Cm majflt total page faults -.It minflt +.It Cm minflt total page reclaims -.It msgrcv +.It Cm msgrcv total messages received (reads from pipes/sockets) -.It msgsnd +.It Cm msgsnd total messages sent (writes on pipes/sockets) -.It lockname +.It Cm lockname lock currently blocked on (as a symbolic name) -.It mwchan +.It Cm mwchan wait channel or lock currently blocked on -.It nice -nice value (alias ni) -.It nivcsw +.It Cm nice +nice value (alias +.Cm ni ) +.It Cm nivcsw total involuntary context switches -.It nsigs -total signals taken (alias nsignals) -.It nswap +.It Cm nsigs +total signals taken (alias +.Cm nsignals ) +.It Cm nswap total swaps in/out -.It nvcsw +.It Cm nvcsw total voluntary context switches -.It nwchan +.It Cm nwchan wait channel (as an address) -.It oublk -total blocks written (alias oublock) -.It paddr +.It Cm oublk +total blocks written (alias +.Cm oublock ) +.It Cm paddr swap address -.It pagein +.It Cm pagein pageins (same as majflt) -.It pgid +.It Cm pgid process group number -.It pid -process -.Tn ID -.It poip +.It Cm pid +process ID +.It Cm poip pageouts in progress -.It ppid -parent process -.Tn ID -.It pri +.It Cm ppid +parent process ID +.It Cm pri scheduling priority -.It re +.It Cm re core residency time (in seconds; 127 = infinity) -.It rgid -real group -.Tn ID -.It rgroup +.It Cm rgid +real group ID +.It Cm rgroup group name (from rgid) -.It rlink +.It Cm rlink reverse link on run queue, or 0 -.It rss +.It Cm rss resident set size -.It rtprio +.It Cm rtprio realtime priority (101 = not a realtime process) -.It ruid -real user -.Tn ID -.It ruser +.It Cm ruid +real user ID +.It Cm ruser user name (from ruid) -.It sid -session -.Tn ID -.It sig -pending signals (alias pending) -.It sigcatch -caught signals (alias caught) -.It sigignore -ignored signals (alias ignored) -.It sigmask -blocked signals (alias blocked) -.It sl +.It Cm sid +session ID +.It Cm sig +pending signals (alias +.Cm pending ) +.It Cm sigcatch +caught signals (alias +.Cm caught ) +.It Cm sigignore +ignored signals (alias +.Cm ignored ) +.It Cm sigmask +blocked signals (alias +.Cm blocked ) +.It Cm sl sleep time (in seconds; 127 = infinity) -.It start +.It Cm start time started -.It state -symbolic process state (alias stat) -.It svgid +.It Cm state +symbolic process state (alias +.Cm stat ) +.It Cm svgid saved gid from a setgid executable -.It svuid -saved uid from a setuid executable -.It tdev +.It Cm svuid +saved UID from a setuid executable +.It Cm tdev control terminal device number -.It time -accumulated cpu time, user + system (alias cputime) -.It tpgid -control terminal process group -.Tn ID -.\".It trss +.It Cm time +accumulated CPU time, user + system (alias +.Cm cputime ) +.It Cm tpgid +control terminal process group ID +.\".It Cm trss .\"text resident set size (in Kbytes) -.It tsid -control terminal session -.Tn ID -.It tsiz +.It Cm tsid >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon May 17 21:56:41 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3ABEB16A4D0; Mon, 17 May 2004 21:56:41 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E060816A4CE for ; Mon, 17 May 2004 21:56:40 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B756743D58 for ; Mon, 17 May 2004 21:56:36 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4I4uaGe084617 for ; Mon, 17 May 2004 21:56:36 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4I4ua24084614 for perforce@freebsd.org; Mon, 17 May 2004 21:56:36 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Mon, 17 May 2004 21:56:36 -0700 (PDT) Message-Id: <200405180456.i4I4ua24084614@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 52965 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 May 2004 04:56:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=52965 Change 52965 by peter@peter_hammer on 2004/05/17 21:56:07 Fix last(?) outstanding bug. Even global bind symbols might have a local definition (!). Use that in preference, if it exists. While here.. eliminate padding; remove 'align' field from progtab; convert some silent failures on programming errors to panics. Affected files ... .. //depot/projects/hammer/sys/kern/link_elf_obj.c#37 edit Differences ... ==== //depot/projects/hammer/sys/kern/link_elf_obj.c#37 (text+ko) ==== @@ -61,7 +61,6 @@ typedef struct { void *addr; Elf_Off size; - int align; int flags; int sec; /* Original section */ char *name; @@ -83,7 +82,6 @@ typedef struct elf_file { struct linker_file lf; /* Common fields */ - char pad0[80]; caddr_t address; /* Relocation address */ vm_object_t object; /* VM object to hold file pages */ Elf_Shdr *e_shdr; @@ -104,7 +102,6 @@ caddr_t shstrtab; /* Section name string table */ long shstrcnt; /* number of bytes in string table */ - char pad2[80]; } *elf_file_t; @@ -503,7 +500,6 @@ bzero(ef->progtab[pb].addr, shdr[i].sh_size); } ef->progtab[pb].size = shdr[i].sh_size; - ef->progtab[pb].align = shdr[i].sh_addralign; ef->progtab[pb].sec = i; if (ef->shstrtab && shdr[i].sh_name != 0) ef->progtab[pb].name = @@ -673,7 +669,7 @@ for (i = 0; i < ef->nrel; i++) { rel = ef->reltab[i].rel; if (rel == NULL) - continue; + panic("lost a reltab!"); rellim = rel + ef->reltab[i].nrel; base = findbase(ef, ef->reltab[i].sec); for ( ; rel < rellim; rel++) { @@ -698,7 +694,7 @@ for (i = 0; i < ef->nrela; i++) { rela = ef->relatab[i].rela; if (rela == NULL) - continue; + panic("lost a relatab!"); relalim = rela + ef->relatab[i].nrela; base = findbase(ef, ef->relatab[i].sec); for ( ; rela < relalim; rela++) { @@ -872,12 +868,8 @@ sym = ef->ddbsymtab + symidx; - /* Theoretically we can avoid a lookup for some locals */ - switch (ELF_ST_BIND(sym->st_info)) { - case STB_LOCAL: - /* Local, but undefined? huh? */ - if (sym->st_shndx == SHN_UNDEF) - return (0); + /* Quick answer if there is a definition included. */ + if (sym->st_shndx != SHN_UNDEF) { ret = 0; /* Relative to section number */ for (i = 0; i < ef->nprogtab; i++) { @@ -887,7 +879,14 @@ } } return ret + sym->st_value; + } + /* If we get here, then it is undefined and needs a lookup. */ + switch (ELF_ST_BIND(sym->st_info)) { + case STB_LOCAL: + /* Local, but undefined? huh? */ + return (0); + case STB_GLOBAL: /* Relative to Data or Function name */ symbol = ef->ddbstrtab + sym->st_name; @@ -925,7 +924,7 @@ for (i = 0; i < ef->nrel; i++) { rel = ef->reltab[i].rel; if (rel == NULL) - continue; + panic("lost a reltab!"); rellim = rel + ef->reltab[i].nrel; base = findbase(ef, ef->reltab[i].sec); for ( ; rel < rellim; rel++) { @@ -945,7 +944,7 @@ for (i = 0; i < ef->nrela; i++) { rela = ef->relatab[i].rela; if (rela == NULL) - continue; + panic("lost a relatab!"); relalim = rela + ef->relatab[i].nrela; base = findbase(ef, ef->relatab[i].sec); for ( ; rela < relalim; rela++) { From owner-p4-projects@FreeBSD.ORG Tue May 18 14:42:52 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B378116A4D0; Tue, 18 May 2004 14:42:51 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 85D0516A4CE for ; Tue, 18 May 2004 14:42:51 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E88D544051 for ; Tue, 18 May 2004 14:06:09 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4IL3VGe024708 for ; Tue, 18 May 2004 14:03:31 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4IL3VK0024705 for perforce@freebsd.org; Tue, 18 May 2004 14:03:31 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Tue, 18 May 2004 14:03:31 -0700 (PDT) Message-Id: <200405182103.i4IL3VK0024705@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 53008 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 May 2004 21:42:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=53008 Change 53008 by peter@peter_daintree on 2004/05/18 14:02:41 try and make mcount.po the right way. It matters a big deal since -pg turnes off omit-frame-pointers. ie: we can't reuse mcount.o because it is missing the argument to turn frame pointers back on. Affected files ... .. //depot/projects/hammer/lib/libc/gmon/Makefile.inc#5 edit Differences ... ==== //depot/projects/hammer/lib/libc/gmon/Makefile.inc#5 (text+ko) ==== @@ -10,6 +10,12 @@ MLINKS+=moncontrol.3 monstartup.3 +.if ${MACHINE_ARCH} == amd64 +# mcount needs to be compiled with frame pointers and without profiling +mcount.po: mcount.c + ${CC} ${CFLAGS} -fno-omit-frame-pointer -c ${.IMPSRC} -o ${.TARGET} +.else # mcount cannot be compiled with profiling mcount.po: mcount.o cp mcount.o mcount.po +.endif From owner-p4-projects@FreeBSD.ORG Tue May 18 16:08:21 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A61A916A4D0; Tue, 18 May 2004 16:08:20 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7216016A4CE for ; Tue, 18 May 2004 16:08:20 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 788424401F for ; Tue, 18 May 2004 13:09:46 -0700 (PDT) (envelope-from imp@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4IIVMGe084450 for ; Tue, 18 May 2004 11:31:22 -0700 (PDT) (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4IIVL8G084429 for perforce@freebsd.org; Tue, 18 May 2004 11:31:21 -0700 (PDT) (envelope-from imp@freebsd.org) Date: Tue, 18 May 2004 11:31:21 -0700 (PDT) Message-Id: <200405181831.i4IIVL8G084429@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Subject: PERFORCE change 53000 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 May 2004 23:08:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=53000 Change 53000 by imp@imp_pacopaco on 2004/05/18 11:31:01 IFC @52994 Affected files ... .. //depot/projects/power/sys/Makefile#3 integrate .. //depot/projects/power/sys/alpha/alpha/elf_machdep.c#4 integrate .. //depot/projects/power/sys/alpha/include/_stdint.h#2 integrate .. //depot/projects/power/sys/amd64/acpica/madt.c#4 integrate .. //depot/projects/power/sys/amd64/amd64/apic_vector.S#4 integrate .. //depot/projects/power/sys/amd64/amd64/cpu_switch.S#5 integrate .. //depot/projects/power/sys/amd64/amd64/elf_machdep.c#4 integrate .. //depot/projects/power/sys/amd64/amd64/genassym.c#7 integrate .. //depot/projects/power/sys/amd64/amd64/intr_machdep.c#2 integrate .. //depot/projects/power/sys/amd64/amd64/io_apic.c#2 integrate .. //depot/projects/power/sys/amd64/amd64/legacy.c#3 integrate .. //depot/projects/power/sys/amd64/amd64/local_apic.c#4 integrate .. //depot/projects/power/sys/amd64/amd64/machdep.c#8 integrate .. //depot/projects/power/sys/amd64/amd64/mp_machdep.c#5 integrate .. //depot/projects/power/sys/amd64/amd64/mptable.c#3 integrate .. //depot/projects/power/sys/amd64/amd64/mptable_pci.c#2 integrate .. //depot/projects/power/sys/amd64/amd64/nexus.c#5 integrate .. //depot/projects/power/sys/amd64/amd64/pmap.c#10 integrate .. //depot/projects/power/sys/amd64/amd64/support.S#8 integrate .. //depot/projects/power/sys/amd64/conf/GENERIC#7 integrate .. //depot/projects/power/sys/amd64/conf/NOTES#2 integrate .. //depot/projects/power/sys/amd64/include/_stdint.h#3 integrate .. //depot/projects/power/sys/amd64/include/apicvar.h#2 integrate .. //depot/projects/power/sys/amd64/include/intr_machdep.h#2 integrate .. //depot/projects/power/sys/amd64/include/legacyvar.h#3 integrate .. //depot/projects/power/sys/amd64/include/pcb.h#5 integrate .. //depot/projects/power/sys/amd64/include/pmap.h#7 integrate .. //depot/projects/power/sys/amd64/include/smp.h#4 integrate .. //depot/projects/power/sys/amd64/isa/atpic.c#5 integrate .. //depot/projects/power/sys/amd64/isa/atpic_vector.S#3 integrate .. //depot/projects/power/sys/amd64/isa/clock.c#6 integrate .. //depot/projects/power/sys/amd64/isa/elcr.c#1 branch .. //depot/projects/power/sys/amd64/isa/icu.h#5 integrate .. //depot/projects/power/sys/amd64/isa/nmi.c#3 integrate .. //depot/projects/power/sys/amd64/pci/pci_bus.c#6 integrate .. //depot/projects/power/sys/arm/arm/elf_machdep.c#2 integrate .. //depot/projects/power/sys/arm/arm/support.S#2 integrate .. //depot/projects/power/sys/arm/include/_stdint.h#2 integrate .. //depot/projects/power/sys/boot/Makefile#5 integrate .. //depot/projects/power/sys/boot/common/loader.8#4 integrate .. //depot/projects/power/sys/boot/forth/loader.conf.5#3 integrate .. //depot/projects/power/sys/boot/i386/boot0/boot0.S#2 integrate .. //depot/projects/power/sys/boot/i386/boot2/boot1.S#3 integrate .. //depot/projects/power/sys/boot/i386/boot2/sio.S#3 integrate .. //depot/projects/power/sys/boot/i386/btx/btx/btx.S#3 integrate .. //depot/projects/power/sys/boot/i386/btx/btxldr/btxldr.S#3 integrate .. //depot/projects/power/sys/boot/i386/libi386/amd64_tramp.S#3 integrate .. //depot/projects/power/sys/boot/i386/pxeldr/pxeldr.S#3 integrate .. //depot/projects/power/sys/boot/pc98/boot2/serial_16550.S#3 integrate .. //depot/projects/power/sys/boot/pc98/boot2/serial_8251.S#3 integrate .. //depot/projects/power/sys/boot/pc98/btx/btx/btx.S#3 integrate .. //depot/projects/power/sys/boot/pc98/btx/btxldr/btxldr.S#3 integrate .. //depot/projects/power/sys/conf/files.alpha#3 integrate .. //depot/projects/power/sys/conf/files.amd64#7 integrate .. //depot/projects/power/sys/conf/files.arm#2 integrate .. //depot/projects/power/sys/conf/files.i386#12 integrate .. //depot/projects/power/sys/conf/files.ia64#7 integrate .. //depot/projects/power/sys/conf/files.pc98#7 integrate .. //depot/projects/power/sys/conf/kmod.mk#6 integrate .. //depot/projects/power/sys/conf/options.pc98#6 integrate .. //depot/projects/power/sys/ddb/db_elf.c#3 integrate .. //depot/projects/power/sys/dev/acpica/acpivar.h#15 integrate .. //depot/projects/power/sys/dev/ata/ata-lowlevel.c#11 integrate .. //depot/projects/power/sys/dev/ciss/ciss.c#10 integrate .. //depot/projects/power/sys/dev/ciss/cissreg.h#5 integrate .. //depot/projects/power/sys/dev/cy/cy.c#3 integrate .. //depot/projects/power/sys/dev/fdc/fdc.c#1 branch .. //depot/projects/power/sys/dev/fdc/fdcreg.h#1 branch .. //depot/projects/power/sys/dev/firewire/firewire.c#10 integrate .. //depot/projects/power/sys/dev/ichwd/ichwd.c#2 integrate .. //depot/projects/power/sys/dev/iicbus/iic.c#3 integrate .. //depot/projects/power/sys/dev/iicbus/iicbus.c#3 integrate .. //depot/projects/power/sys/dev/md/md.c#10 integrate .. //depot/projects/power/sys/dev/puc/pucdata.c#8 integrate .. //depot/projects/power/sys/dev/smbus/smb.c#3 integrate .. //depot/projects/power/sys/dev/smbus/smb.h#2 integrate .. //depot/projects/power/sys/dev/twa/twa.h#2 integrate .. //depot/projects/power/sys/dev/twa/twa_cam.c#2 integrate .. //depot/projects/power/sys/dev/twa/twa_freebsd.c#3 integrate .. //depot/projects/power/sys/dev/uart/uart_cpu_pc98.c#4 integrate .. //depot/projects/power/sys/fs/fifofs/fifo_vnops.c#5 integrate .. //depot/projects/power/sys/i386/conf/NOTES#14 integrate .. //depot/projects/power/sys/i386/i386/elf_machdep.c#4 integrate .. //depot/projects/power/sys/i386/include/_stdint.h#2 integrate .. //depot/projects/power/sys/ia64/conf/NOTES#2 integrate .. //depot/projects/power/sys/ia64/ia64/elf_machdep.c#5 integrate .. //depot/projects/power/sys/ia64/include/_stdint.h#2 integrate .. //depot/projects/power/sys/isa/fd.c#7 delete .. //depot/projects/power/sys/isa/fdreg.h#3 delete .. //depot/projects/power/sys/kern/kern_linker.c#5 integrate .. //depot/projects/power/sys/kern/kern_synch.c#6 integrate .. //depot/projects/power/sys/kern/link_elf.c#2 integrate .. //depot/projects/power/sys/kern/link_elf_obj.c#2 integrate .. //depot/projects/power/sys/kern/subr_sleepqueue.c#4 integrate .. //depot/projects/power/sys/libkern/arm/bzero.S#2 delete .. //depot/projects/power/sys/libkern/arm/memcmp.S#2 delete .. //depot/projects/power/sys/libkern/arm/memcpy.S#2 delete .. //depot/projects/power/sys/libkern/arm/memcpy_arm.S#2 delete .. //depot/projects/power/sys/libkern/arm/memcpy_xscale.S#2 delete .. //depot/projects/power/sys/libkern/arm/memset.S#2 delete .. //depot/projects/power/sys/libkern/arm/strcmp.S#2 delete .. //depot/projects/power/sys/libkern/arm/strncmp.S#2 delete .. //depot/projects/power/sys/modules/Makefile#11 integrate .. //depot/projects/power/sys/modules/fdc/Makefile#2 integrate .. //depot/projects/power/sys/netgraph/ng_ether.c#7 integrate .. //depot/projects/power/sys/pc98/conf/NOTES#10 integrate .. //depot/projects/power/sys/powerpc/include/_stdint.h#2 integrate .. //depot/projects/power/sys/powerpc/powerpc/elf_machdep.c#4 integrate .. //depot/projects/power/sys/security/mac_portacl/mac_portacl.c#3 integrate .. //depot/projects/power/sys/sparc64/include/_stdint.h#2 integrate .. //depot/projects/power/sys/sparc64/sparc64/elf_machdep.c#4 integrate .. //depot/projects/power/sys/sys/linker.h#2 integrate .. //depot/projects/power/sys/sys/mbuf.h#12 integrate .. //depot/projects/power/sys/ufs/ffs/ffs_alloc.c#5 integrate Differences ... ==== //depot/projects/power/sys/Makefile#3 (text+ko) ==== @@ -1,7 +1,9 @@ -# $FreeBSD: src/sys/Makefile,v 1.29 2004/01/17 03:28:27 ru Exp $ +# $FreeBSD: src/sys/Makefile,v 1.30 2004/05/16 00:19:12 cognet Exp $ # The boot loader +.if ${MACHINE_ARCH} != "arm" SUBDIR= boot +.endif # Loadable kernel modules .if defined(MODULES_WITH_WORLD) ==== //depot/projects/power/sys/alpha/alpha/elf_machdep.c#4 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/elf_machdep.c,v 1.17 2003/12/23 02:42:38 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/elf_machdep.c,v 1.18 2004/05/16 20:00:27 peter Exp $"); #include #include @@ -108,9 +108,9 @@ /* Process one elf relocation with addend. */ static int -elf_reloc_internal(linker_file_t lf, const void *data, int type, int local) +elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, + int type, int local, elf_lookup_fn lookup) { - Elf_Addr relocbase = (Elf_Addr) lf->address; Elf_Addr *where; Elf_Addr addr; Elf_Addr addend; @@ -152,7 +152,7 @@ break; case R_ALPHA_REFQUAD: - addr = elf_lookup(lf, symidx, 1); + addr = lookup(lf, symidx, 1); if (addr == 0) return -1; addr += addend; @@ -161,7 +161,7 @@ break; case R_ALPHA_GLOB_DAT: - addr = elf_lookup(lf, symidx, 1); + addr = lookup(lf, symidx, 1); if (addr == 0) return -1; addr += addend; @@ -171,7 +171,7 @@ case R_ALPHA_JMP_SLOT: /* No point in lazy binding for kernel modules. */ - addr = elf_lookup(lf, symidx, 1); + addr = lookup(lf, symidx, 1); if (addr == 0) return -1; if (*where != addr) @@ -198,17 +198,19 @@ } int -elf_reloc(linker_file_t lf, const void *data, int type) +elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, + elf_lookup_fn lookup) { - return (elf_reloc_internal(lf, data, type, 0)); + return (elf_reloc_internal(lf, relocbase, data, type, 0, lookup)); } int -elf_reloc_local(linker_file_t lf, const void *data, int type) +elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, + int type, elf_lookup_fn lookup) { - return (elf_reloc_internal(lf, data, type, 1)); + return (elf_reloc_internal(lf, relocbase, data, type, 1, lookup)); } int ==== //depot/projects/power/sys/alpha/include/_stdint.h#2 (text+ko) ==== @@ -34,7 +34,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/alpha/include/_stdint.h,v 1.1 2002/07/29 17:41:06 mike Exp $ + * $FreeBSD: src/sys/alpha/include/_stdint.h,v 1.2 2004/05/18 16:04:56 stefanf Exp $ */ #ifndef _MACHINE__STDINT_H_ @@ -160,11 +160,11 @@ /* Limits of wchar_t. */ #define WCHAR_MIN INT32_MIN #define WCHAR_MAX INT32_MAX +#endif /* Limits of wint_t. */ #define WINT_MIN INT32_MIN #define WINT_MAX INT32_MAX -#endif #endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ ==== //depot/projects/power/sys/amd64/acpica/madt.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.11 2004/01/30 00:24:45 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.12 2004/05/16 20:30:46 peter Exp $"); #include #include @@ -49,6 +49,7 @@ #include #include "acpi.h" +#include #include #include @@ -69,14 +70,15 @@ u_int la_apic_id:8; } lapics[NLAPICS + 1]; +static int madt_found_sci_override; static MULTIPLE_APIC_TABLE *madt; static vm_paddr_t madt_physaddr; static vm_offset_t madt_length; MALLOC_DEFINE(M_MADT, "MADT Table", "ACPI MADT Table Items"); -static u_char interrupt_polarity(UINT16 Polarity); -static u_char interrupt_trigger(UINT16 TriggerMode); +static enum intr_polarity interrupt_polarity(UINT16 Polarity, UINT8 Source); +static enum intr_trigger interrupt_trigger(UINT16 TriggerMode, UINT8 Source); static int madt_find_cpu(u_int acpi_id, u_int *apic_id); static int madt_find_interrupt(int intr, void **apic, u_int *pin); static void *madt_map(vm_paddr_t pa, int offset, vm_offset_t length); @@ -157,6 +159,7 @@ { ACPI_TABLE_HEADER *header; vm_offset_t length; + void *table; header = madt_map(pa, offset, sizeof(ACPI_TABLE_HEADER)); if (strncmp(header->Signature, sig, 4) != 0) { @@ -165,7 +168,14 @@ } length = header->Length; madt_unmap(header, sizeof(ACPI_TABLE_HEADER)); - return (madt_map(pa, offset, length)); + table = madt_map(pa, offset, length); + if (ACPI_FAILURE(AcpiTbVerifyTableChecksum(table))) { + if (bootverbose) + printf("MADT: Failed checksum for table %s\n", sig); + madt_unmap(table, length); + return (NULL); + } + return (table); } static void @@ -215,6 +225,16 @@ * Page 0 is used to map in the headers of candidate ACPI tables. */ if (rsdp->Revision >= 2) { + /* + * AcpiOsGetRootPointer only verifies the checksum for + * the version 1.0 portion of the RSDP. Version 2.0 has + * an additional checksum that we verify first. + */ + if (AcpiTbChecksum(rsdp, ACPI_RSDP_XCHECKSUM_LENGTH) != 0) { + if (bootverbose) + printf("MADT: RSDP failed extended checksum\n"); + return (ENXIO); + } xsdt = madt_map_table(rsdp->XsdtPhysicalAddress, 1, XSDT_SIG); if (xsdt == NULL) { if (bootverbose) @@ -251,6 +271,16 @@ printf("MADT: Found table at 0x%jx\n", (uintmax_t)madt_physaddr); + /* + * Verify that we can map the full table and that its checksum is + * correct, etc. + */ + madt = madt_map_table(madt_physaddr, 0, APIC_SIG); + if (madt == NULL) + return (ENXIO); + madt_unmap_table(madt); + madt = NULL; + return (0); } @@ -273,7 +303,6 @@ printf("Table '%.4s' at 0x%jx\n", table->Signature, (uintmax_t)address); - /* XXX: Verify checksum? */ if (strncmp(table->Signature, APIC_SIG, 4) != 0) { madt_unmap(table, sizeof(ACPI_TABLE_HEADER)); return (0); @@ -325,6 +354,8 @@ static int madt_setup_io(void) { + void *ioapic; + u_int pin; int i; /* Try to initialize ACPI so that we can access the FADT. */ @@ -337,11 +368,30 @@ } /* First, we run through adding I/O APIC's. */ + if (madt->PCATCompat) + ioapic_enable_mixed_mode(); madt_walk_table(madt_parse_apics, NULL); /* Second, we run through the table tweaking interrupt sources. */ madt_walk_table(madt_parse_ints, NULL); + /* + * If there was not an explicit override entry for the SCI, + * force it to use level trigger and active-low polarity. + */ + if (!madt_found_sci_override) { + if (madt_find_interrupt(AcpiGbl_FADT->SciInt, &ioapic, &pin) + != 0) + printf("MADT: Could not find APIC for SCI IRQ %d\n", + AcpiGbl_FADT->SciInt); + else { + printf( + "MADT: Forcing active-low polarity and level trigger for SCI\n"); + ioapic_set_polarity(ioapic, pin, INTR_POLARITY_LOW); + ioapic_set_triggermode(ioapic, pin, INTR_TRIGGER_LEVEL); + } + } + /* Third, we register all the I/O APIC's. */ for (i = 0; i < NIOAPICS; i++) if (ioapics[i].io_apic != NULL) @@ -446,35 +496,44 @@ } /* - * Determine properties of an interrupt source. Note that for ACPI, - * these are only used for ISA interrupts, so we assume ISA bus values - * (Active Hi, Edge Triggered) for conforming values. + * Determine properties of an interrupt source. Note that for ACPI these + * functions are only used for ISA interrupts, so we assume ISA bus values + * (Active Hi, Edge Triggered) for conforming values except for the ACPI + * SCI for which we use Active Lo, Level Triggered. */ -static u_char -interrupt_polarity(UINT16 Polarity) +static enum intr_polarity +interrupt_polarity(UINT16 Polarity, UINT8 Source) { switch (Polarity) { case POLARITY_CONFORMS: + if (Source == AcpiGbl_FADT->SciInt) + return (INTR_POLARITY_LOW); + else + return (INTR_POLARITY_HIGH); case POLARITY_ACTIVE_HIGH: - return (1); + return (INTR_POLARITY_HIGH); case POLARITY_ACTIVE_LOW: - return (0); + return (INTR_POLARITY_LOW); default: panic("Bogus Interrupt Polarity"); } } -static u_char -interrupt_trigger(UINT16 TriggerMode) +static enum intr_trigger +interrupt_trigger(UINT16 TriggerMode, UINT8 Source) { switch (TriggerMode) { case TRIGGER_CONFORMS: + if (Source == AcpiGbl_FADT->SciInt) + return (INTR_TRIGGER_LEVEL); + else + return (INTR_TRIGGER_EDGE); case TRIGGER_EDGE: - return (1); + return (INTR_TRIGGER_EDGE); case TRIGGER_LEVEL: - return (0); + return (INTR_TRIGGER_LEVEL); default: panic("Bogus Interrupt Trigger Mode"); } @@ -532,7 +591,9 @@ { void *new_ioapic, *old_ioapic; u_int new_pin, old_pin; - int force_lo; + enum intr_trigger trig; + enum intr_polarity pol; + char buf[64]; if (bootverbose) printf("MADT: intr override: source %u, irq %u\n", @@ -546,18 +607,46 @@ } /* - * If the SCI is remapped to a non-ISA global interrupt, - * force it to level trigger and active-lo polarity. + * Lookup the appropriate trigger and polarity modes for this + * entry. + */ + trig = interrupt_trigger(intr->TriggerMode, intr->Source); + pol = interrupt_polarity(intr->Polarity, intr->Source); + + /* * If the SCI is identity mapped but has edge trigger and - * active-hi polarity, also force it to use level/lo. + * active-hi polarity or the force_sci_lo tunable is set, + * force it to use level/lo. */ - force_lo = 0; - if (intr->Source == AcpiGbl_FADT->SciInt) - if (intr->Interrupt > 15 || (intr->Interrupt == intr->Source && - intr->TriggerMode == TRIGGER_EDGE && - intr->Polarity == POLARITY_ACTIVE_HIGH)) - force_lo = 1; + if (intr->Source == AcpiGbl_FADT->SciInt) { + madt_found_sci_override = 1; + if (getenv_string("hw.acpi.sci.trigger", buf, sizeof(buf))) { + if (tolower(buf[0]) == 'e') + trig = INTR_TRIGGER_EDGE; + else if (tolower(buf[0]) == 'l') + trig = INTR_TRIGGER_LEVEL; + else + panic( + "Invalid trigger %s: must be 'edge' or 'level'", + buf); + printf("MADT: Forcing SCI to %s trigger\n", + trig == INTR_TRIGGER_EDGE ? "edge" : "level"); + } + if (getenv_string("hw.acpi.sci.polarity", buf, sizeof(buf))) { + if (tolower(buf[0]) == 'h') + pol = INTR_POLARITY_HIGH; + else if (tolower(buf[0]) == 'l') + pol = INTR_POLARITY_LOW; + else + panic( + "Invalid polarity %s: must be 'high' or 'low'", + buf); + printf("MADT: Forcing SCI to active %s polarity\n", + pol == INTR_POLARITY_HIGH ? "high" : "low"); + } + } + /* Remap the IRQ if it is mapped to a different interrupt vector. */ if (intr->Source != intr->Interrupt) { /* * If the SCI is remapped to a non-ISA global interrupt, @@ -577,18 +666,10 @@ intr->Source) ioapic_disable_pin(old_ioapic, old_pin); } - if (force_lo) { - printf( - "MADT: Forcing active-lo polarity and level trigger for IRQ %d\n", - intr->Source); - ioapic_set_polarity(new_ioapic, new_pin, 0); - ioapic_set_triggermode(new_ioapic, new_pin, 0); - } else { - ioapic_set_polarity(new_ioapic, new_pin, - interrupt_polarity(intr->Polarity)); - ioapic_set_triggermode(new_ioapic, new_pin, - interrupt_trigger(intr->TriggerMode)); - } + + /* Program the polarity and trigger mode. */ + ioapic_set_triggermode(new_ioapic, new_pin, trig); + ioapic_set_polarity(new_ioapic, new_pin, pol); } /* @@ -609,10 +690,10 @@ ioapic_set_nmi(ioapic, pin); if (nmi->TriggerMode != TRIGGER_CONFORMS) ioapic_set_triggermode(ioapic, pin, - interrupt_trigger(nmi->TriggerMode)); + interrupt_trigger(nmi->TriggerMode, 0)); if (nmi->Polarity != TRIGGER_CONFORMS) ioapic_set_polarity(ioapic, pin, - interrupt_polarity(nmi->Polarity)); + interrupt_polarity(nmi->Polarity, 0)); } /* @@ -638,10 +719,10 @@ lapic_set_lvt_mode(apic_id, pin, APIC_LVT_DM_NMI); if (nmi->TriggerMode != TRIGGER_CONFORMS) lapic_set_lvt_triggermode(apic_id, pin, - interrupt_trigger(nmi->TriggerMode)); + interrupt_trigger(nmi->TriggerMode, 0)); if (nmi->Polarity != POLARITY_CONFORMS) lapic_set_lvt_polarity(apic_id, pin, - interrupt_polarity(nmi->Polarity)); + interrupt_polarity(nmi->Polarity, 0)); } /* ==== //depot/projects/power/sys/amd64/amd64/apic_vector.S#4 (text+ko) ==== @@ -28,7 +28,7 @@ * SUCH DAMAGE. * * from: vector.s, 386BSD 0.1 unknown origin - * $FreeBSD: src/sys/amd64/amd64/apic_vector.S,v 1.97 2004/04/05 21:25:51 imp Exp $ + * $FreeBSD: src/sys/amd64/amd64/apic_vector.S,v 1.98 2004/05/16 22:11:49 peter Exp $ */ /* @@ -321,19 +321,4 @@ movl $0, LA_EOI(%rax) /* End Of Interrupt to APIC */ POP_FRAME /* Why not doreti? */ iretq - -#ifdef LAZY_SWITCH -/* - * Clean up when we lose out on the lazy context switch optimization. - * ie: when we are about to release a PTD but a cpu is still borrowing it. - */ - SUPERALIGN_TEXT -IDTVEC(lazypmap) - PUSH_FRAME - call pmap_lazyfix_action - movq lapic, %rax - movl $0, LA_EOI(%rax) /* End Of Interrupt to APIC */ - POP_FRAME /* Why not doreti? */ - iretq -#endif #endif /* SMP */ ==== //depot/projects/power/sys/amd64/amd64/cpu_switch.S#5 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.148 2004/04/05 23:55:13 imp Exp $ + * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.150 2004/05/16 22:43:57 peter Exp $ */ #include @@ -103,6 +103,17 @@ pushfq /* PSL */ popq PCB_RFLAGS(%r8) + testl $PCB_32BIT,PCB_FLAGS(%r8) + jz 1f /* no, skip over */ + + /* Save segment selector numbers */ + movl %ds,PCB_DS(%r8) + movl %es,PCB_ES(%r8) + movl %fs,PCB_FS(%r8) + movl %gs,PCB_GS(%r8) + jmp 2f +1: + /* Save userland %fs */ movl $MSR_FSBASE,%ecx rdmsr @@ -114,13 +125,8 @@ rdmsr movl %eax,PCB_GSBASE(%r8) movl %edx,PCB_GSBASE+4(%r8) +2: - /* Save segment selector numbers */ - movl %ds,PCB_DS(%r8) - movl %es,PCB_ES(%r8) - movl %fs,PCB_FS(%r8) - movl %gs,PCB_GS(%r8) - /* Test if debug registers should be saved. */ testl $PCB_DBREGS,PCB_FLAGS(%r8) jz 1f /* no, skip over */ @@ -158,10 +164,6 @@ /* switch address space */ movq PCB_CR3(%r8),%rdx -#ifdef LAZY_SWITCH - cmpq %rdx,KPML4phys /* Kernel address space? */ - je sw1 -#endif movq %cr3,%rax cmpq %rdx,%rax /* Same address space? */ je sw1 @@ -185,6 +187,9 @@ */ movq TD_PCB(%rsi),%r8 + testl $PCB_32BIT,PCB_FLAGS(%r8) + jz 1f /* no, skip over */ + /* Restore segment selector numbers */ movl PCB_DS(%r8),%ds movl PCB_ES(%r8),%es @@ -195,6 +200,8 @@ rdmsr movl PCB_GS(%r8),%gs wrmsr + jmp 2f +1: /* Restore userland %fs */ movl $MSR_FSBASE,%ecx @@ -207,6 +214,7 @@ movl PCB_GSBASE(%r8),%eax movl PCB_GSBASE+4(%r8),%edx wrmsr +2: /* Update the TSS_RSP0 pointer for the next interrupt */ movq PCPU(TSSP), %rax @@ -252,7 +260,6 @@ orq %rcx,%rax movq %rax,%dr7 1: - ret /* ==== //depot/projects/power/sys/amd64/amd64/elf_machdep.c#4 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/elf_machdep.c,v 1.19 2003/12/23 02:42:37 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/elf_machdep.c,v 1.21 2004/05/17 21:16:49 peter Exp $"); #include #include @@ -104,10 +104,11 @@ /* Process one elf relocation with addend. */ static int -elf_reloc_internal(linker_file_t lf, const void *data, int type, int local) +elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, + int type, int local, elf_lookup_fn lookup) { - Elf_Addr relocbase = (Elf_Addr) lf->address; - Elf_Addr *where; + Elf64_Addr *where, val; + Elf32_Addr *where32, val32; Elf_Addr addr; Elf_Addr addend; Elf_Word rtype, symidx; @@ -118,9 +119,18 @@ case ELF_RELOC_REL: rel = (const Elf_Rel *)data; where = (Elf_Addr *) (relocbase + rel->r_offset); - addend = *where; rtype = ELF_R_TYPE(rel->r_info); symidx = ELF_R_SYM(rel->r_info); + /* Addend is 32 bit on 32 bit relocs */ + switch (rtype) { + case R_X86_64_PC32: + case R_X86_64_32S: + addend = *(Elf32_Addr *)where; + break; + default: + addend = *where; + break; + } break; case ELF_RELOC_RELA: rela = (const Elf_Rela *)data; @@ -133,37 +143,38 @@ panic("unknown reloc type %d\n", type); } - if (local) { - if (rtype == R_X86_64_RELATIVE) { /* A + B */ - addr = relocbase + addend; - if (*where != addr) - *where = addr; - } - return (0); - } - switch (rtype) { case R_X86_64_NONE: /* none */ break; case R_X86_64_64: /* S + A */ - addr = elf_lookup(lf, symidx, 1); + addr = lookup(lf, symidx, 1); + val = addr + addend; if (addr == 0) return -1; - addr += addend; - if (*where != addr) - *where = addr; + if (*where != val) + *where = val; break; case R_X86_64_PC32: /* S + A - P */ - addr = elf_lookup(lf, symidx, 1); + addr = lookup(lf, symidx, 1); + where32 = (Elf32_Addr *)where; + val32 = (Elf32_Addr)(addr + addend - (Elf_Addr)where); + if (addr == 0) + return -1; + if (*where32 != val32) + *where32 = val32; + break; + + case R_X86_64_32S: /* S + A sign extend */ + addr = lookup(lf, symidx, 1); + val32 = (Elf32_Addr)(addr + addend); + where32 = (Elf32_Addr *)where; if (addr == 0) return -1; - addr += addend - (Elf_Addr)where; - /* XXX needs to be 32 bit *where, not 64 bit */ - if (*where != addr) - *where = addr; + if (*where32 != val32) + *where32 = val32; break; case R_X86_64_COPY: /* none */ @@ -176,7 +187,7 @@ break; case R_X86_64_GLOB_DAT: /* S */ - addr = elf_lookup(lf, symidx, 1); + addr = lookup(lf, symidx, 1); if (addr == 0) return -1; if (*where != addr) @@ -184,6 +195,10 @@ break; case R_X86_64_RELATIVE: /* B + A */ + addr = relocbase + addend; + val = addr; + if (*where != val) + *where = val; break; default: @@ -195,17 +210,19 @@ } int -elf_reloc(linker_file_t lf, const void *data, int type) +elf_reloc(linker_file_t lf, Elf_Addr relocbase, const void *data, int type, + elf_lookup_fn lookup) { - return (elf_reloc_internal(lf, data, type, 0)); + return (elf_reloc_internal(lf, relocbase, data, type, 0, lookup)); } int -elf_reloc_local(linker_file_t lf, const void *data, int type) +elf_reloc_local(linker_file_t lf, Elf_Addr relocbase, const void *data, + int type, elf_lookup_fn lookup) { - return (elf_reloc_internal(lf, data, type, 1)); + return (elf_reloc_internal(lf, relocbase, data, type, 1, lookup)); } int ==== //depot/projects/power/sys/amd64/amd64/genassym.c#7 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.153 2004/04/05 21:25:51 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.154 2004/05/16 22:43:57 peter Exp $"); #include "opt_compat.h" #include "opt_kstack_pages.h" @@ -138,6 +138,7 @@ ASSYM(PCB_DR6, offsetof(struct pcb, pcb_dr6)); ASSYM(PCB_DR7, offsetof(struct pcb, pcb_dr7)); ASSYM(PCB_DBREGS, PCB_DBREGS); +ASSYM(PCB_32BIT, PCB_32BIT); ASSYM(PCB_FLAGS, offsetof(struct pcb, pcb_flags)); ASSYM(PCB_FULLCTX, PCB_FULLCTX); ==== //depot/projects/power/sys/amd64/amd64/intr_machdep.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.4 2003/11/17 06:10:14 peter Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.5 2004/05/16 20:30:46 peter Exp $ */ /* @@ -138,6 +138,17 @@ return (error); } +int +intr_config_intr(int vector, enum intr_trigger trig, enum intr_polarity pol) +{ + struct intsrc *isrc; + + isrc = intr_lookup_source(vector); + if (isrc == NULL) + return (EINVAL); + return (isrc->is_pic->pic_config_intr(isrc, trig, pol)); +} + void intr_execute_handlers(struct intsrc *isrc, struct intrframe *iframe) { ==== //depot/projects/power/sys/amd64/amd64/io_apic.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.7 2003/11/17 08:58:12 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.8 2004/05/16 20:30:46 peter Exp $"); #include "opt_atpic.h" #include "opt_isa.h" @@ -51,10 +51,6 @@ #include #include -#if defined(DEV_ISA) && defined(DEV_ATPIC) && !defined(NO_MIXED_MODE) -#define MIXED_MODE -#endif - #define IOAPIC_ISA_INTS 16 #define IOAPIC_MEM_REGION 32 #define IOAPIC_REDTBL_LO(i) (IOAPIC_REDTBL + (i) * 2) @@ -117,9 +113,6 @@ struct ioapic_intsrc io_pins[0]; }; -static STAILQ_HEAD(,ioapic) ioapic_list = STAILQ_HEAD_INITIALIZER(ioapic_list); -static u_int next_id, program_logical_dest; - static u_int ioapic_read(volatile ioapic_t *apic, int reg); static void ioapic_write(volatile ioapic_t *apic, int reg, u_int val); static void ioapic_enable_source(struct intsrc *isrc); @@ -128,19 +121,28 @@ static void ioapic_enable_intr(struct intsrc *isrc); static int ioapic_vector(struct intsrc *isrc); static int ioapic_source_pending(struct intsrc *isrc); +static int ioapic_config_intr(struct intsrc *isrc, enum intr_trigger trig, + enum intr_polarity pol); static void ioapic_suspend(struct intsrc *isrc); static void ioapic_resume(struct intsrc *isrc); static void ioapic_program_destination(struct ioapic_intsrc *intpin); -#ifdef MIXED_MODE static void ioapic_setup_mixed_mode(struct ioapic_intsrc *intpin); -#endif +static STAILQ_HEAD(,ioapic) ioapic_list = STAILQ_HEAD_INITIALIZER(ioapic_list); struct pic ioapic_template = { ioapic_enable_source, ioapic_disable_source, ioapic_eoi_source, ioapic_enable_intr, ioapic_vector, ioapic_source_pending, - ioapic_suspend, ioapic_resume }; + ioapic_suspend, ioapic_resume, + ioapic_config_intr }; -static int next_ioapic_base, logical_clusters, current_cluster; +static int current_cluster, logical_clusters, next_ioapic_base; +static u_int mixed_mode_enabled, next_id, program_logical_dest; +#if defined(NO_MIXED_MODE) || !defined(DEV_ATPIC) +static int mixed_mode_active = 0; +#else +static int mixed_mode_active = 1; +#endif +TUNABLE_INT("hw.apic.mixed_mode", &mixed_mode_active); static u_int ioapic_read(volatile ioapic_t *apic, int reg) @@ -291,6 +293,41 @@ return (lapic_intr_pending(intpin->io_vector)); } +static int +ioapic_config_intr(struct intsrc *isrc, enum intr_trigger trig, + enum intr_polarity pol) +{ + struct ioapic_intsrc *intpin = (struct ioapic_intsrc *)isrc; + struct ioapic *io = (struct ioapic *)isrc->is_pic; + + KASSERT(!(trig == INTR_TRIGGER_CONFORM || pol == INTR_POLARITY_CONFORM), + ("%s: Conforming trigger or polarity\n", __func__)); + + /* + * For now we ignore any requests but do output any changes that + * would be made to the console it bootverbose is enabled. The only + * known causes of these messages so far is a bug in acpi(4) that + * causes the ISA IRQs used for PCI interrupts in PIC mode to be + * set to level/low when they aren't being used. There are possibly + * legitimate requests, so at some point when the acpi(4) driver is + * fixed this code can be changed to actually change the intpin as + * requested. + */ + if (!bootverbose) + return (0); + if (intpin->io_edgetrigger != (trig == INTR_TRIGGER_EDGE)) + printf( + "ioapic%u: Request to change trigger for pin %u to %s ignored\n", + io->io_id, intpin->io_intpin, trig == INTR_TRIGGER_EDGE ? + "edge" : "level"); + if (intpin->io_activehi != (pol == INTR_POLARITY_HIGH)) + printf( + "ioapic%u: Request to change polarity for pin %u to %s ignored\n", + io->io_id, intpin->io_intpin, pol == INTR_POLARITY_HIGH ? + "high" : "low"); + return (0); +} + static void ioapic_suspend(struct intsrc *isrc) { @@ -306,6 +343,17 @@ } /* + * APIC enumerators call this function to indicate that the 8259A AT PICs + * are available and that mixed mode can be used. + */ +void +ioapic_enable_mixed_mode(void) +{ + + mixed_mode_enabled = 1; +} + +/* * Allocate and return a logical cluster ID. Note that the first time * this is called, it returns cluster 0. ioapic_enable_intr() treats * the two cases of logical_clusters == 0 and logical_clusters == 1 the @@ -380,14 +428,17 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue May 18 16:12:11 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A031E16A4D3; Tue, 18 May 2004 16:12:09 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2525816A4D6 for ; Tue, 18 May 2004 16:12:08 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C0B0E43ED0 for ; Tue, 18 May 2004 15:42:28 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4IMdXGe043851 for ; Tue, 18 May 2004 15:39:33 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4IMdWR5043848 for perforce@freebsd.org; Tue, 18 May 2004 15:39:32 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Tue, 18 May 2004 15:39:32 -0700 (PDT) Message-Id: <200405182239.i4IMdWR5043848@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 53013 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 May 2004 23:12:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=53013 Change 53013 by peter@peter_daintree on 2004/05/18 15:39:14 make profiling actually work. It seems that gcc isn't prepared for mcount to trash any of the scratch registers. Affected files ... .. //depot/projects/hammer/sys/amd64/include/profile.h#14 edit Differences ... ==== //depot/projects/hammer/sys/amd64/include/profile.h#14 (text+ko) ==== @@ -76,9 +76,43 @@ #define FUNCTION_ALIGNMENT 4 -#define _MCOUNT_DECL static __inline void _mcount +#define _MCOUNT_DECL \ +static void _mcount(uintfptr_t frompc, uintfptr_t selfpc) __unused; \ +static void _mcount #ifdef __GNUC__ +#define MCOUNT __asm (" \n\ + .globl .mcount \n\ + .type .mcount @function \n\ +.mcount: \n\ + pushq %rbp \n\ + movq %rsp, %rbp \n\ + pushq %rdi \n\ + pushq %rsi \n\ + pushq %rdx \n\ + pushq %rcx \n\ + pushq %r8 \n\ + pushq %r9 \n\ + movq 8(%rbp),%rsi \n\ + movq (%rbp),%rdi \n\ + movq 8(%rdi),%rdi \n\ + call _mcount \n\ + popq %r9 \n\ + popq %r8 \n\ + popq %rcx \n\ + popq %rdx \n\ + popq %rsi \n\ + popq %rdi \n\ + leave \n\ + ret \n\ + .size .mcount, . - .mcount"); +#if 0 +/* + * We could use this, except it doesn't preserve the registers that were + * being passed with arguments to the function that we were inserted + * into. I've left it here as documentation of what the code above is + * supposed to do. + */ #define MCOUNT \ void \ mcount() \ @@ -97,10 +131,11 @@ * the caller's frame pointer. The caller's raddr is in the \ * caller's frame following the caller's caller's frame pointer.\ */ \ - __asm("movq (%%rbp),%0" : "=r" (frompc)); \ + __asm("movq (%%rbp),%0" : "=r" (frompc)); \ frompc = ((uintfptr_t *)frompc)[1]; \ _mcount(frompc, selfpc); \ } +#endif #else /* __GNUC__ */ #define MCOUNT \ void \ From owner-p4-projects@FreeBSD.ORG Tue May 18 16:12:24 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5A89516A56A; Tue, 18 May 2004 16:12:17 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 27D1416A51F for ; Tue, 18 May 2004 16:12:14 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1D25243FD0 for ; Tue, 18 May 2004 12:34:12 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4IJVaGe097723 for ; Tue, 18 May 2004 12:31:36 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4IJVatZ097717 for perforce@freebsd.org; Tue, 18 May 2004 12:31:36 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Tue, 18 May 2004 12:31:36 -0700 (PDT) Message-Id: <200405181931.i4IJVatZ097717@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 53002 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 May 2004 23:12:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=53002 Change 53002 by peter@peter_daintree on 2004/05/18 12:31:35 tjr suggests this patch to make gcc call the right function for mcount Affected files ... .. //depot/projects/hammer/contrib/gcc/config/i386/freebsd64.h#6 edit Differences ... ==== //depot/projects/hammer/contrib/gcc/config/i386/freebsd64.h#6 (text+ko) ==== @@ -25,6 +25,9 @@ #undef TARGET_VERSION #define TARGET_VERSION fprintf (stderr, " (FreeBSD/x86-64 ELF)"); +#undef MCOUNT_NAME +#define MCOUNT_NAME ".mcount" + #undef FBSD_TARGET_CPU_CPP_BUILTINS #define FBSD_TARGET_CPU_CPP_BUILTINS() \ do \ From owner-p4-projects@FreeBSD.ORG Tue May 18 16:33:51 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D6EDF16A4D7; Tue, 18 May 2004 16:33:50 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 819CE16A4D9 for ; Tue, 18 May 2004 16:33:50 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 59A0E43D31 for ; Tue, 18 May 2004 16:33:50 -0700 (PDT) (envelope-from peter@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4ILBiGe026020 for ; Tue, 18 May 2004 14:11:44 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4ILBiM9026011 for perforce@freebsd.org; Tue, 18 May 2004 14:11:44 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Tue, 18 May 2004 14:11:44 -0700 (PDT) Message-Id: <200405182111.i4ILBiM9026011@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 53010 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 May 2004 23:33:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=53010 Change 53010 by peter@peter_daintree on 2004/05/18 14:11:38 IFC @53006 Affected files ... .. //depot/projects/hammer/sys/amd64/conf/NOTES#32 integrate Differences ... ==== //depot/projects/hammer/sys/amd64/conf/NOTES#32 (text+ko) ==== @@ -5,7 +5,7 @@ # machine independent notes, look in /sys/conf/NOTES. # # (XXX from i386:NOTES,v 1.1160) -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.13 2004/05/16 21:27:29 peter Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.14 2004/05/17 22:13:14 peter Exp $ # # From owner-p4-projects@FreeBSD.ORG Tue May 18 16:33:52 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 62AA516A50B; Tue, 18 May 2004 16:33:51 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8811416A4DF for ; Tue, 18 May 2004 16:33:50 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7BCEF43D1F for ; Tue, 18 May 2004 16:33:50 -0700 (PDT) (envelope-from peter@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4ILAgGe024957 for ; Tue, 18 May 2004 14:10:42 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4ILAgFu024951 for perforce@freebsd.org; Tue, 18 May 2004 14:10:42 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Tue, 18 May 2004 14:10:42 -0700 (PDT) Message-Id: <200405182110.i4ILAgFu024951@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 53009 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 May 2004 23:33:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=53009 Change 53009 by peter@peter_daintree on 2004/05/18 14:10:39 IFC @53006 Affected files ... .. //depot/projects/hammer/lib/libarchive/archive_read_support_format_tar.c#9 integrate .. //depot/projects/hammer/lib/libarchive/archive_write_open_file.c#6 integrate .. //depot/projects/hammer/lib/libc/gen/getgrent.3#5 integrate .. //depot/projects/hammer/lib/libc/gen/getgrent.c#9 integrate .. //depot/projects/hammer/lib/libc/gen/lockf.3#3 integrate .. //depot/projects/hammer/lib/libc/sys/fcntl.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/flock.2#3 integrate .. //depot/projects/hammer/lib/libutil/pw_util.c#8 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#51 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#69 integrate .. //depot/projects/hammer/sbin/atm/atmconfig/atmconfig.8#2 integrate .. //depot/projects/hammer/sbin/fsck_ffs/fsutil.c#8 integrate .. //depot/projects/hammer/sbin/gconcat/gconcat.8#2 integrate .. //depot/projects/hammer/sbin/idmapd/idmapd.8#3 integrate .. //depot/projects/hammer/sbin/ipfw/ipfw2.c#23 integrate .. //depot/projects/hammer/sbin/mount_nfs4/mount_nfs4.8#4 integrate .. //depot/projects/hammer/sbin/sconfig/sconfig.8#4 integrate .. //depot/projects/hammer/sbin/sunlabel/sunlabel.8#2 integrate .. //depot/projects/hammer/share/man/man7/security.7#6 integrate .. //depot/projects/hammer/share/man/man9/Makefile#33 integrate .. //depot/projects/hammer/share/man/man9/g_access.9#3 integrate .. //depot/projects/hammer/share/man/man9/g_attach.9#4 integrate .. //depot/projects/hammer/share/man/man9/g_bio.9#3 integrate .. //depot/projects/hammer/share/man/man9/g_consumer.9#4 integrate .. //depot/projects/hammer/share/man/man9/g_data.9#3 integrate .. //depot/projects/hammer/share/man/man9/g_event.9#3 integrate .. //depot/projects/hammer/share/man/man9/g_geom.9#4 integrate .. //depot/projects/hammer/share/man/man9/g_provider.9#4 integrate .. //depot/projects/hammer/share/man/man9/g_provider_by_name.9#3 integrate .. //depot/projects/hammer/share/man/man9/g_wither_geom.9#3 integrate .. //depot/projects/hammer/share/man/man9/rman.9#3 integrate .. //depot/projects/hammer/sys/alpha/include/_stdint.h#2 integrate .. //depot/projects/hammer/sys/amd64/amd64/machdep.c#85 integrate .. //depot/projects/hammer/sys/amd64/conf/GENERIC#41 integrate .. //depot/projects/hammer/sys/amd64/include/_stdint.h#5 integrate .. //depot/projects/hammer/sys/arm/include/_stdint.h#2 integrate .. //depot/projects/hammer/sys/conf/files.pc98#29 integrate .. //depot/projects/hammer/sys/conf/options.pc98#21 integrate .. //depot/projects/hammer/sys/ddb/db_elf.c#5 integrate .. //depot/projects/hammer/sys/dev/acpica/acpivar.h#25 integrate .. //depot/projects/hammer/sys/dev/md/md.c#31 integrate .. //depot/projects/hammer/sys/i386/include/_stdint.h#2 integrate .. //depot/projects/hammer/sys/ia64/include/_stdint.h#2 integrate .. //depot/projects/hammer/sys/kern/link_elf_obj.c#38 integrate .. //depot/projects/hammer/sys/pc98/conf/NOTES#27 integrate .. //depot/projects/hammer/sys/powerpc/include/_stdint.h#2 integrate .. //depot/projects/hammer/sys/sparc64/include/_stdint.h#2 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/elf_machdep.c#13 integrate .. //depot/projects/hammer/sys/sys/mbuf.h#22 integrate .. //depot/projects/hammer/usr.bin/Makefile#31 integrate .. //depot/projects/hammer/usr.bin/gprof/amd64.c#1 branch .. //depot/projects/hammer/usr.bin/gprof/amd64.h#1 branch .. //depot/projects/hammer/usr.bin/gprof/gprof.h#6 integrate .. //depot/projects/hammer/usr.bin/id/id.1#3 integrate .. //depot/projects/hammer/usr.bin/ipcs/ipcs.1#5 integrate .. //depot/projects/hammer/usr.bin/m4/gnum4.c#2 integrate .. //depot/projects/hammer/usr.bin/tar/bsdtar.c#5 integrate .. //depot/projects/hammer/usr.sbin/sysinstall/menus.c#23 integrate Differences ... ==== //depot/projects/hammer/lib/libarchive/archive_read_support_format_tar.c#9 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_tar.c,v 1.11 2004/04/26 23:37:54 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_tar.c,v 1.12 2004/05/18 18:16:30 kientzle Exp $"); #include #include @@ -209,12 +209,12 @@ header = h; - /* This distinguishes POSIX formats from GNU tar formats. */ + /* Recognize POSIX formats. */ if ((memcmp(header->magic, "ustar\0", 6) == 0) &&(memcmp(header->version, "00", 2)==0)) bid += 56; - /* Recognize GNU tar format as well. */ + /* Recognize GNU tar format. */ if ((memcmp(header->magic, "ustar ", 6) == 0) &&(memcmp(header->version, " \0", 2)==0)) bid += 56; @@ -593,6 +593,22 @@ */ if (st->st_size > 0) st->st_mode |= S_IFREG; + /* + * A tricky point: Traditionally, tar programs have + * ignored the size field when reading hardlink + * entries. As a result, some programs write non-zero + * sizes, even though the body is empty and expect the + * reader to ignore that. POSIX.1-2001 broke this by + * permitting hardlink entries to store valid bodies + * in pax interchange format. Since there is no hard + * and fast way to distinguish pax interchange from + * earlier archives (the 'x' and 'g' entries are + * optional, after all), we need a heuristic. Here, I + * use the bid function to test whether or not there's + * a valid header following. + */ + if (st->st_size > 0 && archive_read_format_tar_bid(a) > 50) + st->st_size = 0; break; case '2': /* Symlink */ st->st_mode |= S_IFLNK; ==== //depot/projects/hammer/lib/libarchive/archive_write_open_file.c#6 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_open_file.c,v 1.5 2004/04/12 01:16:16 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_write_open_file.c,v 1.6 2004/05/18 00:13:06 kientzle Exp $"); #include #include @@ -107,7 +107,8 @@ } if (mine->fd < 0) { - archive_set_error(a, errno, "Failed to open"); + archive_set_error(a, errno, "Failed to open '%s'", + mine->filename); return (ARCHIVE_FATAL); } ==== //depot/projects/hammer/lib/libc/gen/getgrent.3#5 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)getgrent.3 8.2 (Berkeley) 4/19/94 -.\" $FreeBSD: src/lib/libc/gen/getgrent.3,v 1.23 2003/09/08 19:57:14 ru Exp $ +.\" $FreeBSD: src/lib/libc/gen/getgrent.3,v 1.24 2004/05/17 22:15:49 kientzle Exp $ .\" .Dd April 16, 2003 .Dt GETGRENT 3 @@ -168,9 +168,13 @@ return a pointer to a group structure on success or .Dv NULL if the entry is not found or if an error occurs. -In the latter case, +If an error does occur, .Va errno will be set. +Note that programs must explicitly set +.Va errno +to zero before calling any of these functions if they need to +distinguish between a non-existent entry and an error. The functions .Fn getgrent_r , .Fn getgrnam_r , ==== //depot/projects/hammer/lib/libc/gen/getgrent.c#9 (text+ko) ==== @@ -31,7 +31,7 @@ * */ #include -__FBSDID("$FreeBSD: src/lib/libc/gen/getgrent.c,v 1.31 2003/05/01 19:03:13 nectar Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/getgrent.c,v 1.32 2004/05/17 22:15:49 kientzle Exp $"); #include "namespace.h" #include @@ -307,6 +307,7 @@ free(grp_storage); if ((grp_storage_size << 1) > GRP_STORAGE_MAX) { grp_storage = NULL; + errno = ERANGE; return (NULL); } grp_storage_size <<= 1; @@ -315,6 +316,8 @@ return (NULL); } } while (res == NULL && rv == ERANGE); + if (rv != 0) + errno = rv; return (res); } ==== //depot/projects/hammer/lib/libc/gen/lockf.3#3 (text+ko) ==== @@ -34,7 +34,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libc/gen/lockf.3,v 1.11 2002/12/18 10:13:54 ru Exp $ +.\" $FreeBSD: src/lib/libc/gen/lockf.3,v 1.12 2004/05/17 23:09:10 yar Exp $ .\" .Dd December 19, 1997 .Dt LOCKF 3 @@ -173,10 +173,22 @@ .Pp The .Fn lockf , -.Xr fcntl 2 +.Xr fcntl 2 , and .Xr flock 2 -locks may be safely used concurrently. +locks are compatible. +Processes using different locking interfaces can cooperate +over the same file safely. +However, only one of such interfaces should be used within +the same process. +If a file is locked by a process through +.Xr flock 2 , +any record within the file will be seen as locked +from the viewpoint of another process using +.Xr fcntl 2 +or +.Fn lockf , +and vice versa. .Pp Blocking on a section is interrupted by any signal. .Sh RETURN VALUES ==== //depot/projects/hammer/lib/libc/sys/fcntl.2#3 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)fcntl.2 8.2 (Berkeley) 1/12/94 -.\" $FreeBSD: src/lib/libc/sys/fcntl.2,v 1.42 2003/02/05 13:36:13 charnier Exp $ +.\" $FreeBSD: src/lib/libc/sys/fcntl.2,v 1.43 2004/05/17 23:09:10 yar Exp $ .\" .Dd January 12, 1994 .Dt FCNTL 2 @@ -341,11 +341,26 @@ system call is recommended for applications that want to ensure the integrity of their locks when using library routines or wish to pass locks to their children. -Note that -.Xr flock 2 +.Pp +The +.Fn fcntl , +.Xr flock 2 , and +.Xr lockf 3 +locks are compatible. +Processes using different locking interfaces can cooperate +over the same file safely. +However, only one of such interfaces should be used within +the same process. +If a file is locked by a process through +.Xr flock 2 , +any record within the file will be seen as locked +from the viewpoint of another process using .Fn fcntl -locks may be safely used concurrently but +or +.Xr lockf 3 , +and vice versa. +Note that .Fn fcntl F_GETLK returns \-1 in .Fa l_pid @@ -558,6 +573,7 @@ .Xr getdtablesize 2 , .Xr open 2 , .Xr sigvec 2 , +.Xr lockf 3 , .Xr tcgetpgrp 3 , .Xr tcsetpgrp 3 .Sh HISTORY ==== //depot/projects/hammer/lib/libc/sys/flock.2#3 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)flock.2 8.2 (Berkeley) 12/11/93 -.\" $FreeBSD: src/lib/libc/sys/flock.2,v 1.21 2002/12/19 09:40:24 ru Exp $ +.\" $FreeBSD: src/lib/libc/sys/flock.2,v 1.22 2004/05/17 23:09:10 yar Exp $ .\" .Dd December 11, 1993 .Dt FLOCK 2 @@ -112,6 +112,25 @@ forks and the child explicitly unlocks the file, the parent will lose its lock. .Pp +The +.Fn flock , +.Xr fcntl 2 , +and +.Xr lockf 3 +locks are compatible. +Processes using different locking interfaces can cooperate +over the same file safely. +However, only one of such interfaces should be used within +the same process. +If a file is locked by a process through +.Fn flock , +any record within the file will be seen as locked +from the viewpoint of another process using +.Xr fcntl 2 +or +.Xr lockf 3 , +and vice versa. +.Pp Processes blocked awaiting a lock may be awakened by signals. .Sh RETURN VALUES .Rv -std flock @@ -141,8 +160,10 @@ .Xr close 2 , .Xr dup 2 , .Xr execve 2 , +.Xr fcntl 2 , .Xr fork 2 , -.Xr open 2 +.Xr open 2 , +.Xr lockf 3 .Sh HISTORY The .Fn flock ==== //depot/projects/hammer/lib/libutil/pw_util.c#8 (text+ko) ==== @@ -43,7 +43,7 @@ static const char sccsid[] = "@(#)pw_util.c 8.3 (Berkeley) 4/2/94"; #endif static const char rcsid[] = - "$FreeBSD: src/lib/libutil/pw_util.c,v 1.34 2003/10/18 10:04:16 markm Exp $"; + "$FreeBSD: src/lib/libutil/pw_util.c,v 1.35 2004/05/18 15:53:58 stefanf Exp $"; #endif /* not lint */ /* @@ -266,10 +266,11 @@ /* child */ if (user == NULL) execl(_PATH_PWD_MKDB, "pwd_mkdb", "-p", - "-d", passwd_dir, tempname, NULL); + "-d", passwd_dir, tempname, (char *)NULL); else execl(_PATH_PWD_MKDB, "pwd_mkdb", "-p", - "-d", passwd_dir, "-u", user, tempname, NULL); + "-d", passwd_dir, "-u", user, tempname, + (char *)NULL); _exit(1); /* NOTREACHED */ default: @@ -321,7 +322,7 @@ (void)setuid(getuid()); } errno = 0; - execlp(editor, basename(editor), tempname, NULL); + execlp(editor, basename(editor), tempname, (char *)NULL); _exit(errno); default: /* parent */ ==== //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#51 (text+ko) ==== @@ -29,7 +29,7 @@ - $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml,v 1.218 2004/05/09 21:27:15 simon Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml,v 1.221 2004/05/18 12:02:38 nyan Exp $ Supported Devices @@ -86,7 +86,7 @@ Adaptec FSA family RAID controllers (&man.aac.4; driver) - NEC PC-9801-55, 92 and their compatible C-Bus SCSI interfaces (ct driver) + NEC PC-9801-55, 92 and their compatible C-Bus SCSI interfaces (&man.ct.4; driver) NEC PC-9801-55, 92 and their compatibles @@ -895,6 +895,27 @@ + Cronyx Tau-PCI synchronous serial adapters for PCI bus + (&man.cp.4; driver) + + + Cronyx Tau-PCI (dual RS-232/V.35) and Cronyx Tau-PCI/R (dual RS-530(RS-449)/X.21) + + + Cronyx Tau-PCI/E1 (dual fractional E1) and Cronyx Tau-PCI/G703 (dual unframed E1) + + + Cronyx Tau-PCI/2E1 (dual fractional/unframed E1) + + + Cronyx Tau-PCI/4E1 (four fractional/unframed E1) + + + Cronyx Tau-PCI/E3 (one E3) + + + + Cronyx Tau synchronous serial adapters for ISA bus (&man.ctau.4; driver) ==== //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#69 (text+ko) ==== @@ -3,7 +3,7 @@ The FreeBSD Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.728 2004/05/17 17:55:19 yar Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.731 2004/05/18 12:02:39 nyan Exp $ 2000 @@ -207,7 +207,7 @@ control display switching and backlight brightness using the ACPI Video Extensions. - The &man.ctau.4; driver has been added for Cronyx-Tau + The &man.ctau.4; driver has been added for Cronyx Tau synchronous serial adapters. This driver was known for a long time as ct in its previous life outside the &os; source tree. &merged; @@ -217,6 +217,10 @@ + The &man.cp.4; driver has been added for Cronyx Tau-PCI + synchronous serial adapters. + + &man.devfs.5; path rules now work correctly on directories. @@ -381,6 +385,10 @@ a simple packet distribution that acts like an Ethernet hub has been added. &merged; + The &man.ng.sppp.4; Netgraph node type, which is a &man.netgraph.4 + interface to the original &man.sppp.4 network module for synchronous + lines has been added. + The &man.ng.vlan.4; Netgraph node type, which supports IEEE 802.1Q VLAN tagging has been added. &merged; ==== //depot/projects/hammer/sbin/atm/atmconfig/atmconfig.8#2 (text+ko) ==== @@ -24,9 +24,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" Author: Hartmut Brandt +.\" Author: Hartmut Brandt .\" -.\" $FreeBSD: src/sbin/atm/atmconfig/atmconfig.8,v 1.1 2003/08/12 14:25:56 harti Exp $ +.\" $FreeBSD: src/sbin/atm/atmconfig/atmconfig.8,v 1.2 2004/05/17 20:45:21 ru Exp $ .\" .Dd August 11, 2003 .Dt ATMCONFIG 8 @@ -37,88 +37,83 @@ .Sh SYNOPSIS .Nm .Op Fl htv -.Op command Op sub-command Op ... -.Op options -.Op arg ... +.Op Ar command Op Ar sub-command Op ... +.Op Ar options +.Op Ar arg ... .Sh DESCRIPTION The .Nm -tool is used to configure the Netgraph ATM network sub-system. +tool is used to configure the Netgraph ATM network sub-system. .Pp The command line of .Nm generally consists of common options followed by a command string, optionally followed by sub-command strings, optional command specific options and -command specific arguments. Commands and sub-commands as well as command +command specific arguments. +Commands and sub-commands as well as command specific options may be abbreviated as long as there is only one match possible. -.Ss COMMON OPTIONS +.Ss Common Options The following common options change the overall behaviour of .Nm : -.Bl -tag -width XXXX +.Bl -tag -width indent .It Fl h Print a very short usage info and exit. .It Fl t Several show-type commands output a header and then several lines of information. -If this option is given the header is omitted, simplifying the parsing +If this option is given, the header is omitted, simplifying the parsing of the output. .It Fl v Be more verbose. .El -.Ss OBTAINING HELP +.Ss Obtaining Help The -.Sq help +.Ic help command has a number of useful sub-commands. +.Pp To get general help use: +.D1 Nm Ic help .Pp -.Dl atmconfig help -.Pp To get a list of available commands use: -.Pp -.Dl atmconfig help commands +.D1 Nm Ic help Cm commands .Pp To get a list of available sub-commands use: +.D1 Nm Ic help Ar command .Pp -.Dl atmconfig help Ar command +or (if there are deeper levels of sub-commands): +.D1 Nm Ic help Ar command sub-command ... .Pp -or (if there are deeper levels of sub-commands +To get a list of options and arguments for a command use: +.D1 Nm Ic help Ar command sub-command ... +(given that there are no further sub-command levels). .Pp -.Dl atmconfig help Ar command Ar sub-command ... -.Pp -To get a list of options and arguments for a command use -.Pp -.Dl atmconfig help Ar command Ar sub-command ... -.Pp -(given, that there are no further sub-command levels). -To get a list of common options use -.Pp -.Dl atmconfig help options -.Ss DIAG COMMAND +To get a list of common options use: +.D1 Nm Ic help Cm options +.Ss The Ic diag Ss Command The .Ic diag command allows the inspection of the ATM interfaces on the local host and the modification of device parameters. Sub-commands are: -.Ic list +.Cm list (print a list of interfaces), -.Ic config +.Cm config (print hardware configuration), -.Ic phy +.Cm phy (access PHY chip), -.Ic stats +.Cm stats (print statistics) and -.Ic vcc +.Cm vcc (print list of VCCs). -.Pp -.Bl -tag -width XXXX +.Bl -tag -width indent .\"---------------------------------------- -.It Ic atmconfig diag list +.It Nm Ic diag Cm list This sub-command lists all ATM interfaces in the system. It takes no options or arguments. .\"---------------------------------------- .It Xo -.Ic atmconfig diag config +.Nm Ic diag Cm config .Op Fl atm .Op Fl hardware .Op Ar device ... @@ -126,7 +121,7 @@ This command prints the configuration of ATM interfaces. If no .Ar device -is given all devices are listed, otherwise only the specified devices. +is given, all devices are listed, otherwise only the specified devices. The option .Fl atm instructs the command to print ATM layer configuration parameters like @@ -134,11 +129,11 @@ .Fl hardware option requests card specific information like the vendor or the serial number. -If none of the options is given the defaults is to assume +If none of the options is given, the defaults is to assume .Fl atm . .\"---------------------------------------- .It Xo -.Ic atmconfig diag phy print +.Nm Ic diag Cm phy print .Op Fl numeric .Ar device .Xc @@ -146,18 +141,15 @@ human comprehensible format. If .Fl numeric -is given the format are hex bytes. -Otherwise textual representation will be printed. +is given, the format is hex bytes. +Otherwise, textual representation will be printed. .\"---------------------------------------- -.It Xo -.Ic atmconfig diag phy show -.Op Ar device ... -.Xc +.It Nm Ic diag Cm phy show Op Ar device ... This sub-command prints static information about the PHY device used in the ATM card like the type of the PHY and the media. .\"---------------------------------------- .It Xo -.Ic atmconfig diag phy set +.Nm Ic diag Cm phy set .Ar device .Ar reg .Ar mask @@ -174,7 +166,7 @@ are written back with their original value. .\"---------------------------------------- .It Xo -.Ic atmconfig diag phy stats +.Nm Ic diag Cm phy stats .Op Fl clear .Ar device .Xc @@ -185,7 +177,7 @@ is given, the statistics are cleared atomically. .\"---------------------------------------- .It Xo -.Ic atmconfig diag vcc +.Nm Ic diag Cm vcc .Op Fl abr .Op Fl channel .Op Fl traffic @@ -193,12 +185,10 @@ .Xc Retrieve the list of currently active channels on either all or the specified interfaces. -For each channel the following information is printed depending +For each channel, the following information is printed depending on the options (default is -.Fl channel -). -.Pp -.Bl -tag -width XXXX +.Fl channel ) . +.Bl -tag -width ".Fl traffic" .It Fl abr Print ABR specific traffic parameters: ICR, TBE, NRM, TRM, ADTF, RIF, RDF, CDF. @@ -208,30 +198,27 @@ Print traffic parameters: PCR, SCR, MBS, MCR. .El .\"---------------------------------------- -.It Xo -.Ic atmconfig diag stats -.Ar device -.Xc +.It Nm Ic diag Cm stats Ar device Print driver specific statistics. .El -.Ss NATM COMMAND +.Ss The Ic natm Ss Command The .Ic natm command is used to change .Xr natmip 4 routes on the local host. The sub-commands for the routing table are: -.Ic add +.Cm add (to add a new route), -.Ic delete +.Cm delete (to delete an existing route) and -.Ic show +.Cm show (to print the currently installed NATM routes). .Pp -.Bl -tag -width XXXX +.Bl -tag -width indent -compact .\"---------------------------------------- .It Xo -.Ic atmconfig natm add +.Nm Ic natm Cm add .Ar dest .Ar device .Ar vpi @@ -239,55 +226,59 @@ .Ar encaps .Xc .It Xo -.Ic atmconfig natm add +.Nm Ic natm Cm add .Ar dest .Ar device .Ar vpi .Ar vci .Ar encaps -.Ic ubr Oo Ar pcr Oc +.Cm ubr Op Ar pcr .Xc .It Xo -.Ic atmconfig natm add +.Nm Ic natm Cm add .Ar dest .Ar device .Ar vpi .Ar vci .Ar encaps -.Ic cbr Ar pcr +.Cm cbr Ar pcr .Xc .It Xo -.Ic atmconfig natm add +.Nm Ic natm Cm add .Ar dest .Ar device .Ar vpi .Ar vci .Ar encaps -.Ic vbr Ar pcr Ar scr Ar mbs +.Cm vbr Ar pcr scr mbs .Xc .It Xo -.Ic atmconfig natm add +.Nm Ic natm Cm add .Ar dest .Ar device .Ar vpi .Ar vci .Ar encaps -.Ic abr Ar pcr Ar mcr Ar icr Ar tbe Ar nrm Ar trm Ar adtf Ar rif Ar rdf Ar cdf +.Cm abr Ar pcr mcr icr tbe nrm trm adtf rif rdf cdf .Xc -.Pp -Add a new route to the routing table. The destination address (the address +Add a new route to the routing table. +The destination address (the address on the other end of the link) is given in .Ar dest . +The .Ar device , .Ar vpi and .Ar vci +arguments are the name of the ATM device and the VPI and VCI values for the link. +The .Ar encaps +argument may be either -.Ic AAL5 +.Cm AAL5 or -.Ic LLC/SNAP +.Cm LLC/SNAP both of which specify AAL5 encapsulation, the first one without additional encapsulation, the second one with LLC/SNAP headers. The first two forms of the command add an UBR (unspecified bit rate) channel, @@ -300,28 +291,24 @@ maximum bursts size. The last form of the command adds an ABR (available bit rate) channel. .\"---------------------------------------- +.Pp +.It Nm Ic natm Cm delete Ar dest .It Xo -.Ic atmconfig natm delete -.Ar dest -.Xc -.It Xo -.Ic atmconfig natm delete +.Nm Ic natm Cm delete .Ar device .Ar vpi .Ar vci .Xc -.Pp This commands deletes an NATM route. The route may be specified either by the destination address or by the -.Ar device , -.Ar vpi and +.Ar device , vpi +and .Ar vci triple. .\"---------------------------------------- -.It Xo -.Ic atmconfig natm show -.Xc +.Pp +.It Nm Ic natm Cm show List all NATM routes. .El .Sh SEE ALSO @@ -329,4 +316,4 @@ .Xr natmip 4 , .Xr atm 8 .Sh AUTHORS -.An Hartmut Brandt Aq harti@freebsd.org +.An Hartmut Brandt Aq harti@FreeBSD.org ==== //depot/projects/hammer/sbin/fsck_ffs/fsutil.c#8 (text+ko) ==== @@ -33,7 +33,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/sbin/fsck_ffs/fsutil.c,v 1.23 2004/04/09 19:58:28 markm Exp $"); +__FBSDID("$FreeBSD: src/sbin/fsck_ffs/fsutil.c,v 1.24 2004/05/18 19:51:41 scottl Exp $"); #include #include @@ -478,10 +478,9 @@ slowio_start() { - /* Delay one in every 8 operations by 16 times the average IO delay */ + /* Delay one in every 8 operations */ slowio_pollcnt = (slowio_pollcnt + 1) & 7; if (slowio_pollcnt == 0) { - usleep(slowio_delay_usec * 16); gettimeofday(&slowio_starttime, NULL); } } @@ -501,9 +500,12 @@ (tv.tv_usec - slowio_starttime.tv_usec); if (delay_usec < 64) delay_usec = 64; - if (delay_usec > 1000000) - delay_usec = 1000000; + if (delay_usec > 2500000) + delay_usec = 2500000; slowio_delay_usec = (slowio_delay_usec * 63 + delay_usec) >> 6; + /* delay by 8 times the average IO delay */ + if (slowio_delay_usec > 64) + usleep(slowio_delay_usec * 8); } /* ==== //depot/projects/hammer/sbin/gconcat/gconcat.8#2 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sbin/gconcat/gconcat.8,v 1.1 2004/02/23 12:44:08 pjd Exp $ +.\" $FreeBSD: src/sbin/gconcat/gconcat.8,v 1.2 2004/05/17 20:58:42 ru Exp $ .\" .Dd February 22, 2004 .Dt GCONCAT 8 @@ -32,30 +32,30 @@ .Nd "disk concatenation control utility" .Sh SYNOPSIS .Nm -.Ar create +.Cm create .Op Fl v .Ar name .Ar dev1 .Ar dev2 .Op Ar dev3 Op Ar ... .Nm -.Ar label +.Cm label .Op Fl v .Ar name .Ar dev1 .Ar dev2 .Op Ar dev3 Op Ar ... .Nm -.Ar destroy +.Cm destroy .Op Fl fv .Ar name .Nm -.Ar clear +.Cm clear .Op Fl v .Ar dev1 .Op Ar dev2 Op Ar ... .Nm -.Ar list +.Cm list .Sh DESCRIPTION The .Nm @@ -66,19 +66,19 @@ .Dq automatic . When using the .Dq manual -method no metadata are stored on the devices, so the concatenated +method, no metadata are stored on the devices, so the concatenated device has to be configured by hand every time it is needed. The .Dq automatic -method use on\-disk metadata to detect devices. -Once devices are labeled they will be automatically detected and +method use on-disk metadata to detect devices. +Once devices are labeled, they will be automatically detected and configured. .Pp The first argument to .Nm -indicate an action to be performed: -.Bl -tag -width ".Ar destroy" -.It Ar create +indicates an action to be performed: +.Bl -tag -width ".Cm destroy" +.It Cm create Concatenate the given devices with specified .Ar name . This is the @@ -87,7 +87,7 @@ The kernel module .Pa geom_concat.ko will be loaded if it is not loaded already. -.It Ar label +.It Cm label Concatenate the given devices with the specified .Ar name . This is the @@ -96,26 +96,25 @@ The kernel module .Pa geom_concat.ko will be loaded if it is not loaded already. -.It Ar destroy +.It Cm destroy Turn off existing concatenate device by its .Ar name . -.It Ar clear -Clear metadata on given device(s). -.It Ar list -List currently configured device(s). +.It Cm clear +Clear metadata on given devices. +.It Cm list +List currently configured devices. .El .Pp Additional options: -.Bl -tag -width ".Fl f" +.Bl -tag -width indent .It Fl f -Force removal of specified concatenated device. +Force the removal of the specified concatenated device. .It Fl v Be more verbose. .El .Sh EXAMPLES -The following example show how to configure four disks for automatic +The following example shows how to configure four disks for automatic concatenation, create file system on it, and mount it: -.Pp .Bd -literal -offset indent gconcat label -v data /dev/da0 /dev/da1 /dev/da2 /dev/da3 newfs /dev/data.concat @@ -129,11 +128,7 @@ .Xr newfs 8 , .Xr vinum 8 .Sh AUTHORS -.An -split -The -.Nm -utility as well as this manual page was written by -.An Pawel Jakub Dawidek Aq pjd@FreeBSD.org . +.An Pawel Jakub Dawidek Aq pjd@FreeBSD.org .Sh HISTORY The .Nm ==== //depot/projects/hammer/sbin/idmapd/idmapd.8#3 (text+ko) ==== @@ -1,7 +1,7 @@ .\" copyright (c) 2003 >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue May 18 16:34:55 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BEC5816A4D0; Tue, 18 May 2004 16:34:54 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9879816A4CE for ; Tue, 18 May 2004 16:34:54 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7849843D31 for ; Tue, 18 May 2004 16:34:54 -0700 (PDT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4INYhGe057236 for ; Tue, 18 May 2004 16:34:43 -0700 (PDT) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4INYgLd057233 for perforce@freebsd.org; Tue, 18 May 2004 16:34:42 -0700 (PDT) (envelope-from julian@freebsd.org) Date: Tue, 18 May 2004 16:34:42 -0700 (PDT) Message-Id: <200405182334.i4INYgLd057233@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 53017 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 May 2004 23:34:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=53017 Change 53017 by julian@julian_desk on 2004/05/18 16:33:49 rename a function. add comments Affected files ... .. //depot/projects/nsched/sys/kern/kern_exit.c#7 edit .. //depot/projects/nsched/sys/sparc64/sparc64/vm_machdep.c#3 edit .. //depot/projects/nsched/sys/sys/proc.h#8 edit Differences ... ==== //depot/projects/nsched/sys/kern/kern_exit.c#7 (text+ko) ==== @@ -485,7 +485,7 @@ * Finally, call machine-dependent code to release the remaining * resources including address space. * The address space is released by "vmspace_exitfree(p)" in - * vm_waitproc(). + * vm_waitproc(). To be called BEFORE taking the final schedlock. */ cpu_exit(td); @@ -516,17 +516,21 @@ binuptime(PCPU_PTR(switchtime)); PCPU_SET(switchticks, ticks); - cpu_sched_exit(td); /* XXXKSE check if this should be in thread_exit */ + /* + * CPU specific things that need to be done + * after taking the final schedlock before calling cpu_throw(). + * Currently only used on sparc64. + */ + cpu_exit2(td); + /* * Allow the scheduler to adjust the priority of the * parent when a process is exiting. */ - if (p->p_pptr != initproc) - sched_exit(p->p_pptr, td); + sched_exit(p->p_pptr, td); /* - * Make sure the scheduler takes this thread out of its tables etc. - * This will also release this thread's reference to the ucred. + * Make sure the system takes this thread out of its tables etc. * Other thread parts to release include pcb bits and such. */ thread_exit(); ==== //depot/projects/nsched/sys/sparc64/sparc64/vm_machdep.c#3 (text+ko) ==== @@ -120,8 +120,17 @@ } } +/* + * Must be called after the final schedlock has been + * procured in the glidepath for thread/process destruction. + * This removes some values checked by the optimisation that allows + * the change of vmspace to be short-circuited in some cases. + * by making these values NULL the switch() code will be + * forced to load a new vmspace in each cpu, thus making this one + * free for recycling etc. + */ void -cpu_sched_exit(struct thread *td) +cpu_exit2(struct thread *td) { struct vmspace *vm; struct pcpu *pc; ==== //depot/projects/nsched/sys/sys/proc.h#8 (text+ko) ==== @@ -787,7 +787,7 @@ void userret(struct thread *, struct trapframe *, u_int); void cpu_exit(struct thread *); -void cpu_sched_exit(struct thread *); +void cpu_exit2(struct thread *); void exit1(struct thread *, int) __dead2; void cpu_fork(struct thread *, struct proc *, struct thread *, int); void cpu_set_fork_handler(struct thread *, void (*)(void *), void *); From owner-p4-projects@FreeBSD.ORG Tue May 18 16:40:14 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AC9AB16A4D0; Tue, 18 May 2004 16:40:14 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 66F0216A4CE for ; Tue, 18 May 2004 16:40:14 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 55D4B43D3F for ; Tue, 18 May 2004 16:40:14 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4INblGe057355 for ; Tue, 18 May 2004 16:37:47 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4INblxe057352 for perforce@freebsd.org; Tue, 18 May 2004 16:37:47 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Tue, 18 May 2004 16:37:47 -0700 (PDT) Message-Id: <200405182337.i4INblxe057352@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 53018 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 May 2004 23:40:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=53018 Change 53018 by peter@peter_hammer on 2004/05/18 16:37:26 IFC @53016 Affected files ... .. //depot/projects/hammer/sys/amd64/include/profile.h#15 integrate .. //depot/projects/hammer/usr.bin/kdump/kdump.1#6 integrate .. //depot/projects/hammer/usr.bin/killall/killall.1#6 integrate Differences ... ==== //depot/projects/hammer/sys/amd64/include/profile.h#15 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)profile.h 8.1 (Berkeley) 6/11/93 - * $FreeBSD: src/sys/amd64/include/profile.h,v 1.34 2004/04/05 21:25:51 imp Exp $ + * $FreeBSD: src/sys/amd64/include/profile.h,v 1.35 2004/05/18 22:52:32 peter Exp $ */ #ifndef _MACHINE_PROFILE_H_ ==== //depot/projects/hammer/usr.bin/kdump/kdump.1#6 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)kdump.1 8.1 (Berkeley) 6/6/93 -.\" $FreeBSD: src/usr.bin/kdump/kdump.1,v 1.10 2003/12/08 22:47:59 peter Exp $ +.\" $FreeBSD: src/usr.bin/kdump/kdump.1,v 1.11 2004/05/18 20:42:36 ru Exp $ .\" -.Dd June 6, 1993 +.Dd December 8, 2003 .Dt KDUMP 1 .Os .Sh NAME ==== //depot/projects/hammer/usr.bin/killall/killall.1#6 (text+ko) ==== @@ -22,9 +22,9 @@ .\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/usr.bin/killall/killall.1,v 1.31 2004/03/27 23:45:33 gad Exp $ +.\" $FreeBSD: src/usr.bin/killall/killall.1,v 1.32 2004/05/18 20:45:32 ru Exp $ .\" -.Dd April 8, 2003 +.Dd January 26, 2004 .Os .Dt KILLALL 1 .Sh NAME @@ -64,7 +64,7 @@ printed, or a message indicating that no matching processes have been found. .It Fl e -Use the effective user id instead of the (default) real user id for matching +Use the effective user ID instead of the (default) real user ID for matching processes specified with the .Fl u option. From owner-p4-projects@FreeBSD.ORG Tue May 18 17:49:17 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3DEBF16A4D1; Tue, 18 May 2004 17:49:17 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0F28D16A4CE for ; Tue, 18 May 2004 17:49:17 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 080FB43D48 for ; Tue, 18 May 2004 17:49:17 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4J0nGGe078328 for ; Tue, 18 May 2004 17:49:16 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4J0nGh8078325 for perforce@freebsd.org; Tue, 18 May 2004 17:49:16 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Tue, 18 May 2004 17:49:16 -0700 (PDT) Message-Id: <200405190049.i4J0nGh8078325@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 53022 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 May 2004 00:49:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=53022 Change 53022 by peter@peter_hammer on 2004/05/18 17:48:54 clear the kernel/direct map/recursive mapping pml4 entries and put the pml4 page in the zero queue. Move the PHYS_TO_VM_PAGE() outside the queues lock, just like on i386. Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/pmap.c#67 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/pmap.c#67 (text+ko) ==== @@ -1287,6 +1287,8 @@ pmap_release(pmap_t pmap) { vm_page_t m; + int i; + static int j; KASSERT(pmap->pm_stats.resident_count == 0, ("pmap_release: pmap resident count %ld != 0", @@ -1296,12 +1298,16 @@ LIST_REMOVE(pmap, pm_list); mtx_unlock_spin(&allpmaps_lock); + m = PHYS_TO_VM_PAGE(pmap->pm_pml4[PML4PML4I]); + + pmap->pm_pml4[KPML4I] = 0; /* KVA */ + pmap->pm_pml4[DMPML4I] = 0; /* Direct Map */ + pmap->pm_pml4[PML4PML4I] = 0; /* Recursive Mapping */ + vm_page_lock_queues(); - m = PHYS_TO_VM_PAGE(pmap->pm_pml4[PML4PML4I]); m->wire_count--; atomic_subtract_int(&cnt.v_wire_count, 1); - /* XXX check if we can vm_page_free_zero here! */ - vm_page_free(m); + vm_page_free_zero(m); vm_page_unlock_queues(); } From owner-p4-projects@FreeBSD.ORG Tue May 18 18:04:57 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D563716A4D0; Tue, 18 May 2004 18:04:56 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 922E316A4CE for ; Tue, 18 May 2004 18:04:56 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8A1C743D45 for ; Tue, 18 May 2004 18:04:56 -0700 (PDT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4J14aGe083133 for ; Tue, 18 May 2004 18:04:36 -0700 (PDT) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4J14ZLZ083130 for perforce@freebsd.org; Tue, 18 May 2004 18:04:35 -0700 (PDT) (envelope-from julian@freebsd.org) Date: Tue, 18 May 2004 18:04:35 -0700 (PDT) Message-Id: <200405190104.i4J14ZLZ083130@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 53023 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 May 2004 01:04:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=53023 Change 53023 by julian@julian_desk on 2004/05/18 18:04:05 further cleanups in thread exiting. Affected files ... .. //depot/projects/nsched/sys/kern/kern_kse.c#6 edit .. //depot/projects/nsched/sys/kern/kern_thread.c#14 edit .. //depot/projects/nsched/sys/kern/sched_4bsd.c#9 edit .. //depot/projects/nsched/sys/kern/sched_ule.c#4 edit .. //depot/projects/nsched/sys/sys/proc.h#9 edit Differences ... ==== //depot/projects/nsched/sys/kern/kern_kse.c#6 (text+ko) ==== @@ -244,10 +244,24 @@ int error, count; p = td->td_proc; + /* + * Ensure that this is only called from the UTS + */ if ((ku = td->td_upcall) == NULL || TD_CAN_UNBIND(td)) return (EINVAL); + kg = td->td_ksegrp; count = 0; + + /* + * Calculate the existing non-exiting upcalls in this ksegroup. + * If we are the last upcall but there are still other threads, + * then do not exit. We need the other threads to be able to + * complete whatever they are doing. + * XXX This relies on the userland knowing what to do if we return. + * It may be a better choice to convert ourselves into a kse_release + * ( or similar) and wait in the kernel to be needed. + */ PROC_LOCK(p); mtx_lock_spin(&sched_lock); FOREACH_UPCALL_IN_GROUP(kg, ku2) { @@ -263,27 +277,51 @@ ku->ku_flags |= KUF_EXITING; mtx_unlock_spin(&sched_lock); PROC_UNLOCK(p); + + /* + * Mark the UTS mailbox as having been finished with. + * If that fails then just go for a segfault. + * XXX need to check it that can be deliverred without a mailbox. + */ error = suword(&ku->ku_mailbox->km_flags, ku->ku_mflags|KMF_DONE); PROC_LOCK(p); if (error) psignal(p, SIGSEGV); mtx_lock_spin(&sched_lock); upcall_remove(td); - if (p->p_numthreads == 1) { - thread_purge(p, td); - p->p_flag &= ~P_SA; - mtx_unlock_spin(&sched_lock); - PROC_UNLOCK(p); - } else { - if (kg->kg_numthreads == 1) { /* Shutdown a group */ - thread_purge_group(td); - sched_exit_ksegrp(p->p_pptr, td); - } + + if (p->p_numthreads != 1) { + /* + * If we are not the last thread, but we are the last + * thread in this ksegrp, then by definition this is not + * the last group and we need to clean it up as well. + * thread_exit will clean up the kseg as needed. + */ thread_stopped(p); thread_exit(); /* NOTREACHED */ } + /* + * This is the last thread. Just return to the user. + * We know that there is only one ksegrp too, as any others + * would have been discarded in previous calls to thread_exit(). + * Effectively we have left threading mode.. + * The only real thing left to do is ensure that the + * scheduler sets out concurrancy back to 1 as that may be a + * resource leak otherwise. + * This is an A[PB]I issue.. what SHOULD we do? + * One possibility is to return to the user. It may not cope well. + * The other possibility would be to let the process exit. + */ + p->p_flag &= ~P_SA; + mtx_unlock_spin(&sched_lock); + sched_set_concurrancy(td->td_ksegrp, 1); + PROC_UNLOCK(p); +#if 1 return (0); +#else + exit1(td, 0); +#endif } /* @@ -327,7 +365,8 @@ PROC_LOCK(p); if (ku->ku_mflags & KMF_WAITSIGEVENT) { /* UTS wants to wait for signal event */ - if (!(p->p_flag & P_SIGEVENT) && !(ku->ku_flags & KUF_DOUPCALL)) { + if (!(p->p_flag & P_SIGEVENT) && + !(ku->ku_flags & KUF_DOUPCALL)) { td->td_kflags |= TDK_KSERELSIG; error = msleep(&p->p_siglist, &p->p_mtx, PPAUSE|PCATCH, "ksesigwait", (uap->timeout ? tvtohz(&tv) : 0)); ==== //depot/projects/nsched/sys/kern/kern_thread.c#14 (text+ko) ==== @@ -546,6 +546,12 @@ * Of course in the end, they end up coming here through exit1 * anyhow.. After fixing 'thr' to play by the rules we should be able * to merge these two functions together. + +from kse_exit().. check if we need to do all this here now.. + + if (kg->kg_numthreads == 1) { /* Shutdown a group */ + } + */ void thread_exit(void) @@ -609,6 +615,7 @@ if (kg->kg_numthreads == 0) { /* This kseg is kaput */ sched_set_concurrancy(kg, 0); + sched_exit_ksegrp(p, td); /* XXX fix */ ksegrp_unlink(kg); } @@ -704,54 +711,6 @@ } /* - * Purge a ksegrp resource. When a ksegrp is preparing to - * exit, it calls this function. - */ -void -thread_purge_group(struct thread *td) -{ - struct ksegrp *kg; - - kg = td->td_ksegrp; - KASSERT(kg->kg_numthreads == 1, ("%s: bad thread number", __func__)); - sched_clean_ksegrp(kg, td); - KASSERT((kg->kg_numupcalls == 0), - ("%s: ksegrp still has %d upcall datas", - __func__, kg->kg_numupcalls)); -} - -/* - * Purge a process's KSE resource. When a process is preparing to - * exit, it calls thread_purge to release any extra KSE resources in - * the process. - */ -void -thread_purge(struct proc *p, struct thread *td) -{ - struct ksegrp *kg; - - KASSERT(p->p_numthreads == 1, ("bad thread number")); - while ((kg = TAILQ_FIRST(&p->p_ksegrps)) != NULL) { - TAILQ_REMOVE(&p->p_ksegrps, kg, kg_ksegrp); - p->p_numksegrps--; - /* - * There is no ownership for KSE, after all threads - * in the group exited, it is possible that some KSEs - * were left in idle queue, gc them now. - */ - sched_clean_ksegrp(kg, td); - KASSERT((kg->kg_numupcalls == 0), - ("%s: ksegrp still has %d upcall datas", - __func__, kg->kg_numupcalls)); - - if (kg != td->td_ksegrp) - ksegrp_stash(kg); - } - TAILQ_INSERT_HEAD(&p->p_ksegrps, td->td_ksegrp, kg_ksegrp); - p->p_numksegrps++; -} - -/* * Enforce single-threading. * * Returns 1 if the caller must abort (another thread is waiting to @@ -839,7 +798,6 @@ if (force_exit == SINGLE_EXIT) { if (td->td_upcall) upcall_remove(td); - thread_purge(p, td); } mtx_unlock_spin(&sched_lock); return (0); ==== //depot/projects/nsched/sys/kern/sched_4bsd.c#9 (text+ko) ==== @@ -654,7 +654,10 @@ sched_exit_thread(parent, childtd); } -/* This PROBABLY gives the estcpu to the wrong kseg */ +/* + * This PROBABLY gives the estcpu to the wrong kseg + * should have a proc estcpu that gathers for exited ksegrps.. (& children) + */ void sched_exit_ksegrp(struct proc *parent, struct thread *child) { @@ -1208,25 +1211,6 @@ kse_stash(ke); } -/* need the thread to know if we are on that ksegrp or not. */ -void -sched_clean_ksegrp(struct ksegrp *kg, struct thread *td) -{ - struct kse *ke; - - while ((ke = TAILQ_FIRST(&kg->kg_iq)) != NULL) { - KASSERT(ke->ke_state == KES_IDLE, - ("%s: wrong idle KSE state", __func__)); - kse_unlink(ke); - } - KASSERT((kg->kg_kses == 1), - ("%s: ksegrp still has %d KSEs", __func__, kg->kg_kses)); - KASSERT(((kg->kg_kses == 0) && (kg != td->td_ksegrp)) || - ((kg->kg_kses == 1) && (kg == td->td_ksegrp)), - ("ksegrp has wrong kg_kses: %d", kg->kg_kses)); -} - - #define RANGEOF(type, start, end) (offsetof(type, end) - offsetof(type, start)) /* new version of sched-fork() */ ==== //depot/projects/nsched/sys/kern/sched_ule.c#4 (text+ko) ==== ==== //depot/projects/nsched/sys/sys/proc.h#9 (text+ko) ==== @@ -813,8 +813,6 @@ void thread_free(struct thread *td); void thread_link(struct thread *td, struct ksegrp *kg); int thread_new_tid(void); -void thread_purge(struct proc *p, struct thread *td); -void thread_purge_group(struct thread *td); void thread_reap(void); struct thread *thread_schedule_upcall(struct thread *td, struct kse_upcall *ku); int thread_single(int how); From owner-p4-projects@FreeBSD.ORG Tue May 18 18:15:05 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DEBCF16A4D2; Tue, 18 May 2004 18:15:04 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9507716A4D0 for ; Tue, 18 May 2004 18:15:04 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8DE2E43D48 for ; Tue, 18 May 2004 18:15:04 -0700 (PDT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4J1EnGe085167 for ; Tue, 18 May 2004 18:14:49 -0700 (PDT) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4J1Emxe085164 for perforce@freebsd.org; Tue, 18 May 2004 18:14:48 -0700 (PDT) (envelope-from julian@freebsd.org) Date: Tue, 18 May 2004 18:14:48 -0700 (PDT) Message-Id: <200405190114.i4J1Emxe085164@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 53024 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 May 2004 01:15:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=53024 Change 53024 by julian@julian_desk on 2004/05/18 18:14:03 remove "crud" Affected files ... .. //depot/projects/nsched/sys/kern/kern_thread.c#15 edit Differences ... ==== //depot/projects/nsched/sys/kern/kern_thread.c#15 (text+ko) ==== @@ -546,12 +546,6 @@ * Of course in the end, they end up coming here through exit1 * anyhow.. After fixing 'thr' to play by the rules we should be able * to merge these two functions together. - -from kse_exit().. check if we need to do all this here now.. - - if (kg->kg_numthreads == 1) { /* Shutdown a group */ - } - */ void thread_exit(void) From owner-p4-projects@FreeBSD.ORG Tue May 18 18:22:07 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DECDA16A4D0; Tue, 18 May 2004 18:22:06 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B5C6816A4CE for ; Tue, 18 May 2004 18:22:06 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 98C2943D48 for ; Tue, 18 May 2004 18:22:06 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4J1LwGe086656 for ; Tue, 18 May 2004 18:21:58 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4J1Lwie086647 for perforce@freebsd.org; Tue, 18 May 2004 18:21:58 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Tue, 18 May 2004 18:21:58 -0700 (PDT) Message-Id: <200405190121.i4J1Lwie086647@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 53025 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 May 2004 01:22:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=53025 Change 53025 by peter@peter_hammer on 2004/05/18 18:21:06 -Wunused Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/pmap.c#68 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/pmap.c#68 (text+ko) ==== @@ -1287,8 +1287,6 @@ pmap_release(pmap_t pmap) { vm_page_t m; - int i; - static int j; KASSERT(pmap->pm_stats.resident_count == 0, ("pmap_release: pmap resident count %ld != 0", From owner-p4-projects@FreeBSD.ORG Tue May 18 21:29:56 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4D42216A4D1; Tue, 18 May 2004 21:29:56 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1D7FF16A4CE for ; Tue, 18 May 2004 21:29:56 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F411D43D3F for ; Tue, 18 May 2004 21:29:55 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4J4TkGe032307 for ; Tue, 18 May 2004 21:29:47 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4J4Tk1m032303 for perforce@freebsd.org; Tue, 18 May 2004 21:29:46 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Tue, 18 May 2004 21:29:46 -0700 (PDT) Message-Id: <200405190429.i4J4Tk1m032303@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 53028 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 May 2004 04:29:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=53028 Change 53028 by peter@peter_hammer on 2004/05/18 21:29:29 add panic(2)/panic(8) combo Affected files ... .. //depot/projects/hammer/sys/modules/panic/Makefile#1 add .. //depot/projects/hammer/sys/modules/panic/panic.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Tue May 18 22:40:27 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1562416A4D0; Tue, 18 May 2004 22:40:27 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DA47B16A4CE for ; Tue, 18 May 2004 22:40:26 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BE12E43D3F for ; Tue, 18 May 2004 22:40:26 -0700 (PDT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4J5eHGe047276 for ; Tue, 18 May 2004 22:40:17 -0700 (PDT) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4J5eGFN047273 for perforce@freebsd.org; Tue, 18 May 2004 22:40:16 -0700 (PDT) (envelope-from julian@freebsd.org) Date: Tue, 18 May 2004 22:40:16 -0700 (PDT) Message-Id: <200405190540.i4J5eGFN047273@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 53034 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 May 2004 05:40:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=53034 Change 53034 by julian@julian_ref on 2004/05/18 22:40:14 compile Affected files ... .. //depot/projects/nsched/sys/i386/i386/vm_machdep.c#4 edit .. //depot/projects/nsched/sys/kern/kern_thread.c#16 edit Differences ... ==== //depot/projects/nsched/sys/i386/i386/vm_machdep.c#4 (text+ko) ==== @@ -337,8 +337,7 @@ } void -cpu_sched_exit(td) - register struct thread *td; +cpu_exit2(struct thread *td) { } ==== //depot/projects/nsched/sys/kern/kern_thread.c#16 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Wed May 19 10:16:44 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2ECF016A4D0; Wed, 19 May 2004 10:16:44 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0339316A4CE for ; Wed, 19 May 2004 10:16:44 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F0ECA43D53 for ; Wed, 19 May 2004 10:16:43 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i4JHGPcN013198 for ; Wed, 19 May 2004 10:16:25 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i4JHGOiS013195 for perforce@freebsd.org; Wed, 19 May 2004 10:16:24 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Wed, 19 May 2004 10:16:24 -0700 (PDT) Message-Id: <200405191716.i4JHGOiS013195@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 53056 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 May 2004 17:16:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=53056 Change 53056 by peter@peter_hammer on 2004/05/19 10:15:57 Add a Debugger() call if we have busy buffers. This seems to be the only way to catch it since things hang solid right after this. Affected files ... .. //depot/projects/hammer/sys/kern/kern_shutdown.c#12 edit Differences ... ==== //depot/projects/hammer/sys/kern/kern_shutdown.c#12 (text+ko) ==== @@ -345,6 +345,9 @@ * unmount filesystems (thus forcing an fsck on reboot). */ printf("giving up on %d buffers\n", nbusy); +#ifdef DDB + Debugger("busy buffers"); +#endif DELAY(5000000); /* 5 seconds */ } else { printf("done\n"); From owner-p4-projects@FreeBSD.ORG Wed May 19 10:19:30 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1E6AD16A4D0; Wed, 19 May 2004 10:19:30 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EC68516A4CE for ; Wed, 19 May 2004 10:19:29 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E3EB543D39 for ; Wed, 19 May 2004 10:19:29 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i4JHJThC013259 for ; Wed, 19 May 2004 10:19:29 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i4JHJTWY013256 for perforce@freebsd.org; Wed, 19 May 2004 10:19:29 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Wed, 19 May 2004 10:19:29 -0700 (PDT) Message-Id: <200405191719.i4JHJTWY013256@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 53057 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 May 2004 17:19:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=53057 Change 53057 by peter@peter_daintree on 2004/05/19 10:18:42 IFC @53055 Affected files ... .. //depot/projects/hammer/contrib/cvs/src/server.c#6 integrate .. //depot/projects/hammer/etc/defaults/periodic.conf#9 integrate .. //depot/projects/hammer/etc/periodic/weekly/400.status-pkg#3 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_support_format_tar.c#10 integrate .. //depot/projects/hammer/lib/libarchive/tar.5#4 integrate .. //depot/projects/hammer/lib/libc/gmon/Makefile.inc#6 integrate .. //depot/projects/hammer/lib/libc/sys/mlock.2#4 integrate .. //depot/projects/hammer/share/man/man4/ng_hole.4#2 integrate .. //depot/projects/hammer/sys/alpha/include/profile.h#2 integrate .. //depot/projects/hammer/sys/amd64/amd64/machdep.c#86 integrate .. //depot/projects/hammer/sys/amd64/include/profile.h#16 integrate .. //depot/projects/hammer/sys/arm/include/profile.h#2 integrate .. //depot/projects/hammer/sys/i386/include/profile.h#8 integrate .. //depot/projects/hammer/sys/ia64/include/profile.h#2 integrate .. //depot/projects/hammer/sys/kern/link_elf.c#18 integrate .. //depot/projects/hammer/sys/kern/uipc_socket2.c#15 integrate .. //depot/projects/hammer/sys/netgraph/ng_hole.c#2 integrate .. //depot/projects/hammer/sys/netgraph/ng_hole.h#3 integrate .. //depot/projects/hammer/sys/pci/agp_sis.c#9 integrate .. //depot/projects/hammer/sys/pci/if_sk.c#25 integrate .. //depot/projects/hammer/sys/powerpc/include/profile.h#2 integrate .. //depot/projects/hammer/sys/powerpc/powerpc/trap.c#7 integrate .. //depot/projects/hammer/sys/sparc64/include/profile.h#2 integrate .. //depot/projects/hammer/sys/sys/gmon.h#3 integrate .. //depot/projects/hammer/usr.bin/bluetooth/bthost/bthost.1#2 integrate .. //depot/projects/hammer/usr.bin/bluetooth/btsockstat/btsockstat.1#6 integrate .. //depot/projects/hammer/usr.bin/colldef/colldef.1#7 integrate .. //depot/projects/hammer/usr.bin/env/env.1#4 integrate .. //depot/projects/hammer/usr.bin/fetch/fetch.1#8 integrate .. //depot/projects/hammer/usr.bin/fetch/fetch.c#9 integrate .. //depot/projects/hammer/usr.bin/find/find.1#9 integrate .. //depot/projects/hammer/usr.bin/indent/indent.1#3 integrate .. //depot/projects/hammer/usr.bin/locale/locale.1#4 integrate .. //depot/projects/hammer/usr.bin/mail/mail.1#5 integrate .. //depot/projects/hammer/usr.bin/make/make.1#10 integrate .. //depot/projects/hammer/usr.bin/netstat/netstat.1#8 integrate .. //depot/projects/hammer/usr.bin/pkill/pkill.1#2 integrate .. //depot/projects/hammer/usr.bin/script/script.1#4 integrate .. //depot/projects/hammer/usr.bin/su/su.1#6 integrate .. //depot/projects/hammer/usr.bin/tar/bsdtar.c#6 integrate .. //depot/projects/hammer/usr.bin/tar/write.c#7 integrate .. //depot/projects/hammer/usr.bin/tftp/tftp.1#5 integrate .. //depot/projects/hammer/usr.bin/vmstat/vmstat.8#6 integrate Differences ... ==== //depot/projects/hammer/contrib/cvs/src/server.c#6 (text+ko) ==== @@ -9,7 +9,7 @@ GNU General Public License for more details. */ /* - * $FreeBSD: src/contrib/cvs/src/server.c,v 1.21 2004/04/15 01:17:27 peter Exp $ + * $FreeBSD: src/contrib/cvs/src/server.c,v 1.22 2004/05/19 06:17:52 des Exp $ */ #include @@ -1645,7 +1645,7 @@ && strncmp (arg, name, cp - name) == 0) { timefield = strchr (cp + 1, '/') + 1; - if (*timefield != '=') + if (*timefield == '/') { cp = timefield + strlen (timefield); cp[1] = '\0'; @@ -1689,7 +1689,7 @@ && strncmp (arg, name, cp - name) == 0) { timefield = strchr (cp + 1, '/') + 1; - if (!(timefield[0] == 'M' && timefield[1] == '/')) + if (*timefield == '/') { cp = timefield + strlen (timefield); cp[1] = '\0'; ==== //depot/projects/hammer/etc/defaults/periodic.conf#9 (text+ko) ==== @@ -10,7 +10,7 @@ # values set in this file. This eases the upgrade path when defaults # are changed and new features are added. # -# $FreeBSD: src/etc/defaults/periodic.conf,v 1.28 2004/04/20 13:44:57 darrenr Exp $ +# $FreeBSD: src/etc/defaults/periodic.conf,v 1.29 2004/05/19 09:18:07 joe Exp $ # # What files override these defaults ? @@ -204,6 +204,7 @@ # 400.status-pkg weekly_status_pkg_enable="NO" # Find out-of-date pkgs pkg_version=pkg_version # Use this program +pkg_version_index=/usr/ports/INDEX-5 # Use this index file # 999.local weekly_local="/etc/weekly.local" # Local scripts ==== //depot/projects/hammer/etc/periodic/weekly/400.status-pkg#3 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh - # -# $FreeBSD: src/etc/periodic/weekly/400.status-pkg,v 1.8 2002/09/25 03:01:42 brian Exp $ +# $FreeBSD: src/etc/periodic/weekly/400.status-pkg,v 1.9 2004/05/19 09:18:08 joe Exp $ # # If there is a global system configuration file, suck it in. @@ -16,7 +16,7 @@ echo "" echo "Check for out of date packages:" - rc=$(${pkg_version:-pkg_version} -v | + rc=$(${pkg_version:-pkg_version} -v ${pkg_version_index} | sed -n -e 's/^\([^ ]*\) *< */ \1 /p' \ -e '/^[^ ]*-\([^ ]*\) *\* *multiple versions.*[ ,]\1[,)].*/d' \ -e 's/^\([^ ]*\) *\* *multiple versions.*\((.*\)/ \1 needs updating \2/p' \ ==== //depot/projects/hammer/lib/libarchive/archive_read_support_format_tar.c#10 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_tar.c,v 1.12 2004/05/18 18:16:30 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_tar.c,v 1.13 2004/05/19 06:35:47 kientzle Exp $"); #include #include @@ -593,21 +593,32 @@ */ if (st->st_size > 0) st->st_mode |= S_IFREG; + /* - * A tricky point: Traditionally, tar programs have + * A tricky point: Traditionally, tar readers have * ignored the size field when reading hardlink - * entries. As a result, some programs write non-zero - * sizes, even though the body is empty and expect the - * reader to ignore that. POSIX.1-2001 broke this by - * permitting hardlink entries to store valid bodies - * in pax interchange format. Since there is no hard - * and fast way to distinguish pax interchange from + * entries, and some writers put non-zero sizes even + * though the body is empty. POSIX.1-2001 broke with + * this tradition by permitting hardlink entries to + * store valid bodies in pax interchange format, but + * not in ustar format. Since there is no hard and + * fast way to distinguish pax interchange from * earlier archives (the 'x' and 'g' entries are * optional, after all), we need a heuristic. Here, I * use the bid function to test whether or not there's - * a valid header following. + * a valid header following. Of course, if we know + * this is pax interchange format, then we must obey + * the size. + * + * This heuristic will only fail for a pax interchange + * archive that is storing hardlink bodies, no pax + * extended attribute entries have yet occurred, and + * we encounter a hardlink entry for a file that is + * itself an uncompressed tar archive. */ - if (st->st_size > 0 && archive_read_format_tar_bid(a) > 50) + if (st->st_size > 0 && + a->archive_format != ARCHIVE_FORMAT_TAR_PAX_INTERCHANGE && + archive_read_format_tar_bid(a) > 50) st->st_size = 0; break; case '2': /* Symlink */ ==== //depot/projects/hammer/lib/libarchive/tar.5#4 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libarchive/tar.5,v 1.3 2004/03/23 03:14:01 kientzle Exp $ +.\" $FreeBSD: src/lib/libarchive/tar.5,v 1.4 2004/05/19 06:38:38 kientzle Exp $ .\" -.Dd October 1, 2003 +.Dd May 20, 2004 .Dt TAR 5 .Os .Sh NAME @@ -68,10 +68,8 @@ The original tar archive format has been extended many times to include additional information that various implementors found necessary. -This section describes a variant that is compatible with -most historic -.Nm -implementations. +This section describes the variant implemented by the tar command +included in Seventh Edition Unix. .Pp The header record for an old-style .Nm @@ -85,22 +83,30 @@ char size[12]; char mtime[12]; char checksum[8]; +char linkflag[1]; +char linkname[100]; }; .Ed -The remaining bytes in the header record are filled with nulls. +All unused bytes in the header record are filled with nulls. .Bl -tag -width indent .It Va name Pathname, stored as a null-terminated string. -Some very early implementations only supported regular files. -However, a common early convention added +The Unix V7 tar command only stored regular files (including +hardlinks to those files). +One common early convention added a trailing "/" character to indicate a directory name, allowing directory permissions and owner information to be archived and restored. .It Va mode File mode, stored as an octal number in ASCII. .It Va uid , Va gid -User id and group id of owner, as octal number in ASCII. +User id and group id of owner, as octal numbers in ASCII. .It Va size Size of file, as octal number in ASCII. +For regular files only, this indicates the amount of data +that follows the header. +In particular, this field was ignored by early tar implementations +when extracting hardlinks. +Modern writers should always store a zero length for hardlink entries. .It Va mtime Modification time of file, as an octal number in ASCII. This indicates the number of seconds since the start of the epoch, @@ -113,72 +119,41 @@ then sum all bytes in the header using unsigned arithmetic. This field should be stored as six octal digits followed by a null and a space character. -Note that for many years, Sun tar used signed arithmetic +Note that many early implementations of tar used signed arithmetic for the checksum field, which can cause interoperability problems when transferring archives between systems. -This error was propagated to other implementations that used Sun -tar as a reference. Modern robust readers compute the checksum both ways and accept the header if either computation matches. +.It Va linkflag , Va linkname +In order to preserve hardlinks and conserve tape, a file +with multiple links is only written to the archive the first +time it is encountered. +The next time it is encountered, the +.Va linkflag +is set to an ASCII +.Sq 1 +and the +.Va linkname +field holds the first name under which this file appears. +(Note that regular files have a null value in the +.Va linkflag +field.) .El .Pp Early implementations of .Nm varied in how they terminated these fields. -Early BSD documentation specified the following: the pathname must -be null-terminated; the mode, uid, and gid fields must end in a space and a -null byte; the size and mtime fields must end in a space; the checksum is -terminated by a null and a space. +The +.Nm +command in Seventh Edition Unix used the following conventions +(this is also documented in early BSD manpages): +the pathname must be null-terminated; +the mode, uid, and gid fields must end in a space and a null byte; +the size and mtime fields must end in a space; +the checksum is terminated by a null and a space. For best portability, writers of .Nm archives should fill the numeric fields with leading zeros. -.Ss Early Extensions -Very early -.Nm -implementations only supported regular files. -Two early extensions added support for directories, hard links, and -symbolic links. -.Pp -Early -.Nm -archives indicated directories by adding a trailing -.Pa / -to the name. -The size field was often used to indicate the total size of all files -in the directory. -This was intended to facilitate extraction on systems that pre-allocated -directory storage; most modern readers should simply ignore the -size field for directories. -.Pp -To support hard links and symbolic links, -.Va linktype -and -.Va linkname -fields were added: -.Bd -literal -offset indent -struct tarfile_entry_common { -char name[100]; -char mode[8]; -char uid[8]; -char gid[8]; -char size[12]; -char mtime[12]; -char checksum[8]; -char linktype[1]; -char linkname[100]; -}; -.Ed -.Pp -The -.Va linktype -field indicates the type of entry. -For backwards compatibility, a NULL -character here indicates a regular file or directory. -An ASCII "1" here indicates a hard link entry, ASCII "2" indicates -a symbolic link. -The -.Va linkname -field holds the name of the file linked to. .Ss POSIX Standard Archives POSIX 1003.1 defines a standard .Nm @@ -216,12 +191,13 @@ .Ed .Bl -tag -width indent .It Va typeflag -Type of entry. POSIX adopted the BSD -.Va linktype -field and extended it with several new type values: +Type of entry. POSIX extended the earlier +.Va linkflag +field with several new type values: .Bl -tag -width indent -compact .It Dq 0 -Regular file. NULL should be treated as a synonym, for compatibility purposes. +Regular file. +NULL should be treated as a synonym, for compatibility purposes. .It Dq 1 Hard link. .It Dq 2 @@ -245,6 +221,16 @@ Uppercase letters "A" through "Z" are reserved for custom extensions. Note that sockets and whiteout entries are not archivable. .El +It is worth noting that the +.Va size +field, in particular, has different meanings depending on the type. +For regular files, of course, it indicates the amount of data +following the header. +For directories, it may be used to indicate the total size of all +files in the directory, for use by operating systems that pre-allocate +directory space. +For all other types, it should be set to zero by writers and ignored +by readers. .It Va magic Contains the magic value .Dq ustar @@ -407,15 +393,28 @@ The .Cm g entry is not widely used. +.Pp +Besides the new +.Cm x +and +.Cm g +entries, the pax interchange format has a few other minor variations +from the earlier ustar format. +The most troubling one is that hardlinks are permitted to have +data following them. +This allows readers to restore any hardlink to a file without +having to rewind the archive to find an earlier entry. +However, it creates complications for robust readers, as it is +no longer clear whether or not they should ignore the size +field for hardlink entries. .Ss GNU Tar Archives -The GNU tar program added new features by starting with an early draft -of POSIX and using three different extension mechanisms: They added -new fields to the empty space in the header (some of which was later +The GNU tar program has used a variety of different extension +mechanisms over the years: +They added new fields to the empty space in the header (some of which was later used by POSIX for conflicting purposes); -they allowed the header to -be continued over multiple records; -and they defined new entries -that modify following entries (similar in principle to the +they allowed the header to be continued over multiple records; +and they defined new entries that modify following entries +(similar in principle to the .Cm x entry described above, but each GNU special entry is single-purpose, unlike the general-purpose @@ -456,7 +455,8 @@ .Ed .Bl -tag -width indent .It Va typeflag -GNU tar uses the following special entry types. +GNU tar uses the following special entry types, in addition to +those defined by POSIX: .Bl -tag -width indent .It "7" GNU tar treats type "7" records identically to type "0" records, @@ -634,8 +634,10 @@ .Sh STANDARDS The .Nm tar -utility is no longer a part of any official standard. -It last appeared in SUSv2. +utility is no longer a part of POSIX or the Single Unix Standard. +It last appeared in +.St -p 1003.1-1997 +(SUSv2). It has been supplanted in subsequent standards by .Xr pax 1 . The ustar format is defined in @@ -648,7 +650,7 @@ .Sh HISTORY A .Nm tar -command appeared in Sixth Edition Unix. +command appeared in Seventh Edition Unix, which was released in January, 1979. John Gilmore's .Nm pdtar public-domain implementation (circa 1987) was highly influential ==== //depot/projects/hammer/lib/libc/gmon/Makefile.inc#6 (text+ko) ==== @@ -1,5 +1,5 @@ # from @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 -# $FreeBSD: src/lib/libc/gmon/Makefile.inc,v 1.9 2002/11/18 09:50:55 ru Exp $ +# $FreeBSD: src/lib/libc/gmon/Makefile.inc,v 1.10 2004/05/18 22:49:15 peter Exp $ # gmon sources .PATH: ${.CURDIR}/gmon ==== //depot/projects/hammer/lib/libc/sys/mlock.2#4 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)mlock.2 8.2 (Berkeley) 12/11/93 -.\" $FreeBSD: src/lib/libc/sys/mlock.2,v 1.14 2002/12/19 09:40:25 ru Exp $ +.\" $FreeBSD: src/lib/libc/sys/mlock.2,v 1.15 2004/05/19 03:25:17 alc Exp $ .\" .Dd June 2, 1993 .Dt MLOCK 2 @@ -148,16 +148,6 @@ .Xr setrlimit 2 , .Xr getpagesize 3 .Sh BUGS -Unlike The Sun implementation, multiple -.Fn mlock -calls on the same address range require the corresponding number of -.Fn munlock -calls to actually unlock the pages, i.e.\& -.Fn mlock -nests. -This should be considered a consequence of the implementation -and not a feature. -.Pp The per-process resource limit is a limit on the amount of virtual memory locked, while the system-wide limit is for the number of locked physical pages. ==== //depot/projects/hammer/share/man/man4/ng_hole.4#2 (text+ko) ==== @@ -32,10 +32,10 @@ .\" .\" Author: Archie Cobbs .\" -.\" $FreeBSD: src/share/man/man4/ng_hole.4,v 1.10 2001/10/01 16:09:21 ru Exp $ +.\" $FreeBSD: src/share/man/man4/ng_hole.4,v 1.11 2004/05/19 11:26:33 ru Exp $ .\" $Whistle: ng_hole.8,v 1.4 1999/01/25 23:46:26 archie Exp $ .\" -.Dd January 19, 1999 +.Dd May 19, 2004 .Dt NG_HOLE 4 .Os .Sh NAME @@ -54,8 +54,25 @@ node accepts any request to connect, regardless of the hook name, as long as the name is unique. .Sh CONTROL MESSAGES -This node type supports only the generic control messages. -Other control messages are silently discarded. +This node type supports the generic control messages, plus the +following: +.Bl -tag -width indent +.It Dv NGM_BPF_GET_STATS +This command takes an +.Tn ASCII +string argument, the hook name, and returns the statistics +associated with the hook as a +.Vt "struct ng_hole_hookstat" . +.It Dv NGM_BPF_CLR_STATS +This command takes an +.Tn ASCII +string argument, the hook name, and clears the statistics +associated with the hook. +.It Dv NGM_BPF_GETCLR_STATS +This command is identical to +.Dv NGM_BPF_GET_STATS , +except that the statistics are also atomically cleared. +.El .Sh SHUTDOWN This node shuts down upon receipt of a .Dv NGM_SHUTDOWN ==== //depot/projects/hammer/sys/alpha/include/profile.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/alpha/include/profile.h,v 1.5 2002/03/20 18:58:45 obrien Exp $ */ +/* $FreeBSD: src/sys/alpha/include/profile.h,v 1.6 2004/05/19 15:41:25 bde Exp $ */ /* From: NetBSD: profile.h,v 1.9 1997/04/06 08:47:37 cgd Exp */ /* @@ -220,18 +220,6 @@ #define MCOUNT_EXIT(s) \ (void)_alpha_pal_swpipl(s); #define MCOUNT_DECL(s) u_long s; -#ifdef GUPROF -struct gmonparam; - -void nullfunc_loop_profiled(void); -void nullfunc_profiled(void); -void startguprof(struct gmonparam *p); -void stopguprof(struct gmonparam *p); -#else -#define startguprof(p) -#define stopguprof(p) -#endif /* GUPROF */ - #else /* !_KERNEL */ typedef u_long uintfptr_t; #endif ==== //depot/projects/hammer/sys/amd64/amd64/machdep.c#86 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.606 2004/05/18 05:30:06 bde Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.607 2004/05/19 01:23:48 peter Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -1138,8 +1138,10 @@ kmdp = preload_search_by_type("elf64 kernel"); boothowto = MD_FETCH(kmdp, MODINFOMD_HOWTO, int); kern_envp = MD_FETCH(kmdp, MODINFOMD_ENVP, char *) + KERNBASE; +#ifdef DDB ksym_start = MD_FETCH(kmdp, MODINFOMD_SSYM, void *); ksym_end = MD_FETCH(kmdp, MODINFOMD_ESYM, void *); +#endif /* Init basic tunables, hz etc */ init_param1(); ==== //depot/projects/hammer/sys/amd64/include/profile.h#16 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)profile.h 8.1 (Berkeley) 6/11/93 - * $FreeBSD: src/sys/amd64/include/profile.h,v 1.35 2004/05/18 22:52:32 peter Exp $ + * $FreeBSD: src/sys/amd64/include/profile.h,v 1.38 2004/05/19 16:19:11 bde Exp $ */ #ifndef _MACHINE_PROFILE_H_ @@ -50,13 +50,9 @@ #define MCOUNT #ifdef GUPROF -#define CALIB_SCALE 1000 -#define KCOUNT(p,index) ((p)->kcount[(index) \ - / (HISTFRACTION * sizeof(HISTCOUNTER))]) #define MCOUNT_DECL(s) #define MCOUNT_ENTER(s) #define MCOUNT_EXIT(s) -#define PC_TO_I(p, pc) ((uintfptr_t)(pc) - (uintfptr_t)(p)->lowpc) #else #define MCOUNT_DECL(s) u_long s; #ifdef SMP @@ -81,12 +77,12 @@ static void _mcount #ifdef __GNUC__ -#define MCOUNT __asm (" \n\ +#define MCOUNT __asm(" \n\ .globl .mcount \n\ .type .mcount @function \n\ .mcount: \n\ pushq %rbp \n\ - movq %rsp, %rbp \n\ + movq %rsp,%rbp \n\ pushq %rdi \n\ pushq %rsi \n\ pushq %rdx \n\ @@ -127,7 +123,7 @@ __asm("movq 8(%%rbp),%0" : "=r" (selfpc)); \ /* \ * frompc = pc pushed by call to mcount's caller. \ - * The caller's stack frame has already been built, so %ebp is \ + * The caller's stack frame has already been built, so %rbp is \ * the caller's frame pointer. The caller's raddr is in the \ * caller's frame following the caller's caller's frame pointer.\ */ \ @@ -136,15 +132,15 @@ _mcount(frompc, selfpc); \ } #endif -#else /* __GNUC__ */ -#define MCOUNT \ -void \ -mcount() \ -{ \ +#else /* !__GNUC__ */ +#define MCOUNT \ +void \ +mcount() \ +{ \ } -#endif /* __GNUC__ */ +#endif /* __GNUC__ */ -typedef unsigned long uintfptr_t; +typedef u_long uintfptr_t; #endif /* _KERNEL */ @@ -152,24 +148,11 @@ * An unsigned integral type that can hold non-negative difference between * function pointers. */ -typedef u_int fptrdiff_t; +typedef u_long fptrdiff_t; #ifdef _KERNEL void mcount(uintfptr_t frompc, uintfptr_t selfpc); -void kmupetext(uintfptr_t nhighpc); - -#ifdef GUPROF -struct gmonparam; - -void nullfunc_loop_profiled(void); -void nullfunc_profiled(void); -void startguprof(struct gmonparam *p); -void stopguprof(struct gmonparam *p); -#else -#define startguprof(p) -#define stopguprof(p) -#endif /* GUPROF */ #else /* !_KERNEL */ @@ -183,17 +166,4 @@ #endif /* _KERNEL */ -#ifdef GUPROF -/* XXX doesn't quite work outside kernel yet. */ -extern int cputime_bias; - -__BEGIN_DECLS -int cputime(void); -void empty_loop(void); -void mexitcount(uintfptr_t selfpc); -void nullfunc(void); -void nullfunc_loop(void); -__END_DECLS -#endif - #endif /* !_MACHINE_PROFILE_H_ */ ==== //depot/projects/hammer/sys/arm/include/profile.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)profile.h 8.1 (Berkeley) 6/11/93 - * $FreeBSD: src/sys/arm/include/profile.h,v 1.1 2004/05/14 11:46:44 cognet Exp $ + * $FreeBSD: src/sys/arm/include/profile.h,v 1.2 2004/05/19 15:41:25 bde Exp $ */ #ifndef _MACHINE_PROFILE_H_ @@ -54,13 +54,9 @@ #define MCOUNT #ifdef GUPROF -#define CALIB_SCALE 1000 -#define KCOUNT(p,index) ((p)->kcount[(index) \ - / (HISTFRACTION * sizeof(HISTCOUNTER))]) #define MCOUNT_DECL(s) #define MCOUNT_ENTER(s) #define MCOUNT_EXIT(s) -#define PC_TO_I(p, pc) ((uintfptr_t)(pc) - (uintfptr_t)(p)->lowpc) #else #define MCOUNT_DECL(s) u_long s; #ifdef SMP @@ -97,19 +93,6 @@ #ifdef _KERNEL void mcount(uintfptr_t frompc, uintfptr_t selfpc); -void kmupetext(uintfptr_t nhighpc); - -#ifdef GUPROF -struct gmonparam; - -void nullfunc_loop_profiled(void); -void nullfunc_profiled(void); -void startguprof(struct gmonparam *p); -void stopguprof(struct gmonparam *p); -#else -#define startguprof(p) -#define stopguprof(p) -#endif /* GUPROF */ #else /* !_KERNEL */ @@ -123,17 +106,4 @@ #endif /* _KERNEL */ -#ifdef GUPROF -/* XXX doesn't quite work outside kernel yet. */ -extern int cputime_bias; - -__BEGIN_DECLS -int cputime(void); -void empty_loop(void); -void mexitcount(uintfptr_t selfpc); -void nullfunc(void); -void nullfunc_loop(void); -__END_DECLS -#endif - #endif /* !_MACHINE_PROFILE_H_ */ ==== //depot/projects/hammer/sys/i386/include/profile.h#8 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)profile.h 8.1 (Berkeley) 6/11/93 - * $FreeBSD: src/sys/i386/include/profile.h,v 1.34 2004/04/07 20:46:05 imp Exp $ + * $FreeBSD: src/sys/i386/include/profile.h,v 1.36 2004/05/19 16:04:26 bde Exp $ */ #ifndef _MACHINE_PROFILE_H_ @@ -50,13 +50,9 @@ #define MCOUNT #ifdef GUPROF -#define CALIB_SCALE 1000 -#define KCOUNT(p,index) ((p)->kcount[(index) \ - / (HISTFRACTION * sizeof(HISTCOUNTER))]) #define MCOUNT_DECL(s) #define MCOUNT_ENTER(s) #define MCOUNT_EXIT(s) -#define PC_TO_I(p, pc) ((uintfptr_t)(pc) - (uintfptr_t)(p)->lowpc) #else #define MCOUNT_DECL(s) u_long s; #ifdef SMP @@ -97,19 +93,19 @@ * the caller's frame pointer. The caller's raddr is in the \ * caller's frame following the caller's caller's frame pointer.\ */ \ - __asm("movl (%%ebp),%0" : "=r" (frompc)); \ + __asm("movl (%%ebp),%0" : "=r" (frompc)); \ frompc = ((uintfptr_t *)frompc)[1]; \ _mcount(frompc, selfpc); \ } -#else /* !(__GNUC__ || __INTEL_COMPILER) */ -#define MCOUNT \ -void \ -mcount() \ -{ \ +#else /* !(__GNUC__ || __INTEL_COMPILER) */ +void \ +#define MCOUNT \ +mcount() \ +{ \ } -#endif /* __GNUC__ || __INTEL_COMPILER */ +#endif /* __GNUC__ || __INTEL_COMPILER */ -typedef unsigned int uintfptr_t; +typedef u_int uintfptr_t; #endif /* _KERNEL */ @@ -122,19 +118,6 @@ #ifdef _KERNEL void mcount(uintfptr_t frompc, uintfptr_t selfpc); -void kmupetext(uintfptr_t nhighpc); - -#ifdef GUPROF -struct gmonparam; - -void nullfunc_loop_profiled(void); -void nullfunc_profiled(void); -void startguprof(struct gmonparam *p); -void stopguprof(struct gmonparam *p); -#else -#define startguprof(p) -#define stopguprof(p) -#endif /* GUPROF */ #else /* !_KERNEL */ @@ -148,17 +131,4 @@ #endif /* _KERNEL */ -#ifdef GUPROF -/* XXX doesn't quite work outside kernel yet. */ -extern int cputime_bias; - -__BEGIN_DECLS -int cputime(void); -void empty_loop(void); -void mexitcount(uintfptr_t selfpc); -void nullfunc(void); -void nullfunc_loop(void); -__END_DECLS -#endif - #endif /* !_MACHINE_PROFILE_H_ */ ==== //depot/projects/hammer/sys/ia64/include/profile.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/ia64/include/profile.h,v 1.7 2002/03/21 09:50:11 dfr Exp $ */ +/* $FreeBSD: src/sys/ia64/include/profile.h,v 1.8 2004/05/19 15:41:25 bde Exp $ */ /* From: NetBSD: profile.h,v 1.9 1997/04/06 08:47:37 cgd Exp */ /* @@ -104,18 +104,6 @@ #define MCOUNT_EXIT(s) \n\ intr_restore(_c) #define MCOUNT_DECL(s) register_t c; -#ifdef GUPROF -struct gmonparam; - -void nullfunc_loop_profiled(void); -void nullfunc_profiled(void); -void startguprof(struct gmonparam *p); -void stopguprof(struct gmonparam *p); -#else -#define startguprof(p) -#define stopguprof(p) -#endif /* GUPROF */ - #else /* !_KERNEL */ typedef u_long uintfptr_t; #endif ==== //depot/projects/hammer/sys/kern/link_elf.c#18 (text+ko) ==== @@ -25,13 +25,16 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/link_elf.c,v 1.77 2004/05/16 20:00:28 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/link_elf.c,v 1.78 2004/05/19 14:36:38 bde Exp $"); #include "opt_ddb.h" #include "opt_mac.h" #include #include +#ifdef GPROF +#include +#endif #include #include #include @@ -44,9 +47,6 @@ #include #include -#ifdef GPROF -#include -#endif #include #include ==== //depot/projects/hammer/sys/kern/uipc_socket2.c#15 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_socket2.c,v 1.123 2004/04/05 21:03:36 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_socket2.c,v 1.124 2004/05/19 00:22:10 ps Exp $"); #include "opt_mac.h" #include "opt_param.h" @@ -223,7 +223,7 @@ } if (connstatus) { sorwakeup(head); - wakeup(&head->so_timeo); + wakeup_one(&head->so_timeo); so->so_state |= connstatus; } return (so); ==== //depot/projects/hammer/sys/netgraph/ng_hole.c#2 (text+ko) ==== @@ -36,7 +36,7 @@ * * Author: Julian Elisher * - * $FreeBSD: src/sys/netgraph/ng_hole.c,v 1.10 2001/01/08 05:34:06 julian Exp $ + * $FreeBSD: src/sys/netgraph/ng_hole.c,v 1.11 2004/05/19 11:26:33 ru Exp $ * $Whistle: ng_hole.c,v 1.10 1999/11/01 09:24:51 julian Exp $ */ @@ -51,10 +51,53 @@ #include #include #include +#include #include +/* Per hook private info. */ +struct ng_hole_hookinfo { + struct ng_hole_hookstat stats; +}; +typedef struct ng_hole_hookinfo *hinfo_p; + +/* Parse type for struct ng_hole_hookstat. */ +static const struct ng_parse_struct_field ng_hole_hookstat_type_fields[] = + NG_HOLE_HOOKSTAT_TYPE_INFO; +static const struct ng_parse_type ng_hole_hookstat_type = { + &ng_parse_struct_type, + &ng_hole_hookstat_type_fields +}; + +/* List of commands and how to convert arguments to/from ASCII. */ +static const struct ng_cmdlist ng_hole_cmdlist[] = { + { + NGM_HOLE_COOKIE, + NGM_HOLE_GET_STATS, + "getstats", + &ng_parse_hookbuf_type, + &ng_hole_hookstat_type + }, + { + NGM_HOLE_COOKIE, + NGM_HOLE_CLR_STATS, + "clrstats", + &ng_parse_hookbuf_type, + NULL + }, + { + NGM_HOLE_COOKIE, + NGM_HOLE_GETCLR_STATS, + "getclrstats", + &ng_parse_hookbuf_type, + &ng_hole_hookstat_type + }, + { 0 } +}; + /* Netgraph methods */ static ng_constructor_t ngh_cons; +static ng_rcvmsg_t ngh_rcvmsg; +static ng_newhook_t ngh_newhook; static ng_rcvdata_t ngh_rcvdata; static ng_disconnect_t ngh_disconnect; @@ -63,14 +106,14 @@ NG_HOLE_NODE_TYPE, NULL, /* modeventhand_t */ ngh_cons, /* ng_constructor_t */ - NULL, /* ng_rcvmsg_t */ + ngh_rcvmsg, /* ng_rcvmsg_t */ NULL, /* ng_shutdown_t */ - NULL, /* ng_newhook_t */ + ngh_newhook, /* ng_newhook_t */ NULL, /* ng_findhook_t */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed May 19 10:21:44 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0A76916A4D0; Wed, 19 May 2004 10:21:44 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D921616A4CE for ; Wed, 19 May 2004 10:21:43 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D286543D2F for ; Wed, 19 May 2004 10:21:43 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i4JHLWji014432 for ; Wed, 19 May 2004 10:21:32 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i4JHLWlU014423 for perforce@freebsd.org; Wed, 19 May 2004 10:21:32 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Wed, 19 May 2004 10:21:32 -0700 (PDT) Message-Id: <200405191721.i4JHLWlU014423@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 53058 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 May 2004 17:21:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=53058 Change 53058 by peter@peter_hammer on 2004/05/19 10:21:28 Check in jhb's ithread_preempt.patch change. Unfortunately, it doesn't seem to help the post-panic situation. Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/intr_machdep.c#18 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/intr_machdep.c#18 (text+ko) ==== @@ -183,7 +183,6 @@ if (vector == 0) clkintr_pending = 1; - critical_enter(); if (ih != NULL && ih->ih_flags & IH_FAST) { /* * Execute fast interrupt handlers directly. @@ -191,6 +190,7 @@ * with a NULL argument, then we pass it a pointer to * a trapframe as its argument. */ + critical_enter(); TAILQ_FOREACH(ih, &it->it_handlers, ih_next) { MPASS(ih->ih_flags & IH_FAST); CTR3(KTR_INTR, "%s: executing handler %p(%p)", @@ -204,6 +204,7 @@ } isrc->is_pic->pic_eoi_source(isrc); error = 0; + critical_exit(); } else { /* * For stray and threaded interrupts, we mask and EOI the @@ -216,7 +217,6 @@ else error = ithread_schedule(it, !cold); } - critical_exit(); if (error == EINVAL) { atomic_add_long(isrc->is_straycount, 1); if (*isrc->is_straycount < MAX_STRAY_LOG) From owner-p4-projects@FreeBSD.ORG Wed May 19 11:00:34 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8400716A4D0; Wed, 19 May 2004 11:00:34 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5EE0C16A4CE for ; Wed, 19 May 2004 11:00:34 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 58C8043D39 for ; Wed, 19 May 2004 11:00:34 -0700 (PDT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i4JI0NjP021512 for ; Wed, 19 May 2004 11:00:23 -0700 (PDT) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i4JI0MDs021509 for perforce@freebsd.org; Wed, 19 May 2004 11:00:23 -0700 (PDT) (envelope-from julian@freebsd.org) Date: Wed, 19 May 2004 11:00:23 -0700 (PDT) Message-Id: <200405191800.i4JI0MDs021509@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 53062 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 May 2004 18:00:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=53062 Change 53062 by julian@julian_desk on 2004/05/19 10:59:42 Need to initialise the kse upcall zone etc. Affected files ... .. //depot/projects/nsched/sys/kern/init_main.c#7 edit .. //depot/projects/nsched/sys/kern/kern_kse.c#7 edit .. //depot/projects/nsched/sys/sys/proc.h#10 edit Differences ... ==== //depot/projects/nsched/sys/kern/init_main.c#7 (text+ko) ==== @@ -336,6 +336,7 @@ */ procinit(); /* set up proc zone */ threadinit(); /* set up thead, upcall and KSEGRP zones */ + kseinit(); /* set up kse specific stuff e.g. upcall zone*/ /* * initialise scheduler resources. ==== //depot/projects/nsched/sys/kern/kern_kse.c#7 (text+ko) ==== @@ -82,8 +82,6 @@ static int thread_update_usr_ticks(struct thread *td, int user); static void thread_alloc_spare(struct thread *td, struct thread *spare); -void kse_initialise(void); -void kse_GC(void); struct kse_upcall * @@ -633,7 +631,7 @@ * Initialize global thread allocation resources. */ void -kse_initialise(void) +kseinit(void) { upcall_zone = uma_zcreate("UPCALL", sizeof(struct kse_upcall), ==== //depot/projects/nsched/sys/sys/proc.h#10 (text+ko) ==== @@ -840,6 +840,9 @@ void thread_stopped(struct proc *p); void thread_switchout(struct thread *td); void thr_exit1(void); +void kseinit(void); +void kse_GC(void); + #endif /* _KERNEL */ #endif /* !_SYS_PROC_H_ */ From owner-p4-projects@FreeBSD.ORG Wed May 19 11:13:02 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 85E8616A4D0; Wed, 19 May 2004 11:13:02 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 60C5A16A4CE for ; Wed, 19 May 2004 11:13:02 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 451F343D45 for ; Wed, 19 May 2004 11:13:02 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i4JICddI026433 for ; Wed, 19 May 2004 11:12:39 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i4JICdiv026430 for perforce@freebsd.org; Wed, 19 May 2004 11:12:39 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Wed, 19 May 2004 11:12:39 -0700 (PDT) Message-Id: <200405191812.i4JICdiv026430@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 53065 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 May 2004 18:13:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=53065 Change 53065 by peter@peter_hammer on 2004/05/19 11:12:00 checkpoint Affected files ... .. //depot/projects/hammer/lib/libkvm/kvm_amd64.c#4 edit Differences ... ==== //depot/projects/hammer/lib/libkvm/kvm_amd64.c#4 (text+ko) ==== @@ -71,15 +71,15 @@ #endif struct vmstate { - pd_entry_t *PTD; + pml4_entry_t *PML4; }; void _kvm_freevtop(kvm_t *kd) { if (kd->vmst != 0) { - if (kd->vmst->PTD) { - free(kd->vmst->PTD); + if (kd->vmst->PML4) { + free(kd->vmst->PML4); } free(kd->vmst); } @@ -92,7 +92,7 @@ struct nlist nlist[2]; u_long pa; u_long kernbase; - pd_entry_t *PTD; + pml4_entry_t *PML4; vm = (struct vmstate *)_kvm_malloc(kd, sizeof(*vm)); if (vm == 0) { @@ -100,34 +100,35 @@ return (-1); } kd->vmst = vm; - vm->PTD = 0; + vm->PML4 = 0; nlist[0].n_name = "kernbase"; nlist[1].n_name = 0; - if (kvm_nlist(kd, nlist) != 0) - kernbase = KERNBASE; /* for old kernels */ - else - kernbase = nlist[0].n_value; + if (kvm_nlist(kd, nlist) != 0) { + _kvm_err(kd, kd->program, "bad namelist - no kernbase"); + return (-1); + } + kernbase = nlist[0].n_value; - nlist[0].n_name = "IdlePTD"; + nlist[0].n_name = "KPML4phys"; nlist[1].n_name = 0; if (kvm_nlist(kd, nlist) != 0) { - _kvm_err(kd, kd->program, "bad namelist"); + _kvm_err(kd, kd->program, "bad namelist - no KPML4phys"); return (-1); } if (kvm_read(kd, (nlist[0].n_value - kernbase), &pa, sizeof(pa)) != sizeof(pa)) { - _kvm_err(kd, kd->program, "cannot read IdlePTD"); + _kvm_err(kd, kd->program, "cannot read KPML4phys"); return (-1); } - PTD = _kvm_malloc(kd, PAGE_SIZE); - if (kvm_read(kd, pa, PTD, PAGE_SIZE) != PAGE_SIZE) { - _kvm_err(kd, kd->program, "cannot read PTD"); + PML4 = _kvm_malloc(kd, PAGE_SIZE); + if (kvm_read(kd, pa, PML4, PAGE_SIZE) != PAGE_SIZE) { + _kvm_err(kd, kd->program, "cannot read KPML4phys"); return (-1); } - vm->PTD = PTD; + vm->PML4 = PML4; return (0); } @@ -136,15 +137,21 @@ { struct vmstate *vm; u_long offset; + u_long pdpe_pa; + u_long pde_pa; u_long pte_pa; + pml4_entry_t pml4e; + pdp_entry_t pdpe; pd_entry_t pde; pt_entry_t pte; + u_long pml4eindex; + u_long pdpeindex; u_long pdeindex; u_long pteindex; int i; if (ISALIVE(kd)) { - _kvm_err(kd, 0, "vatop called in live kernel!"); + _kvm_err(kd, 0, "kvm_vatop called in live kernel!"); return((off_t)0); } @@ -155,27 +162,55 @@ * If we are initializing (kernel page table descriptor pointer * not yet set) then return pa == va to avoid infinite recursion. */ - if (vm->PTD == 0) { + if (vm->PML4 == 0) { *pa = va; return (PAGE_SIZE - offset); } - pdeindex = va >> PDRSHIFT; - pde = vm->PTD[pdeindex]; + pml4eindex = va >> PML4SHIFT; + pml4e = vm->PML4[pml4eindex]; + if (((u_long)pml4e & PG_V) == 0) + goto invalid; + + pdpeindex = (va >> PDPSHIFT) & (NPDPEPG-1); + pdpe_pa = ((u_long)pml4e & PG_FRAME) + (pdpeindex * sizeof(pdp_entry_t)); + + /* XXX This has to be a physical address read, kvm_read is virtual */ + if (lseek(kd->pmfd, pdpe_pa, 0) == -1) { + _kvm_syserr(kd, kd->program, "_kvm_vatop: lseek pdpe_pa"); + goto invalid; + } + if (read(kd->pmfd, &pdpe, sizeof pdpe) != sizeof pdpe) { + _kvm_syserr(kd, kd->program, "_kvm_vatop: read pdpe"); + goto invalid; + } + if (((u_long)pdpe & PG_V) == 0) + goto invalid; + + + pdeindex = (va >> PDRSHIFT) & (NPDEPG-1); + pde_pa = ((u_long)pdpe & PG_FRAME) + (pdeindex * sizeof(pd_entry_t)); + + /* XXX This has to be a physical address read, kvm_read is virtual */ + if (lseek(kd->pmfd, pde_pa, 0) == -1) { + _kvm_syserr(kd, kd->program, "_kvm_vatop: lseek pde_pa"); + goto invalid; + } + if (read(kd->pmfd, &pde, sizeof pde) != sizeof pde) { + _kvm_syserr(kd, kd->program, "_kvm_vatop: read pde"); + goto invalid; + } if (((u_long)pde & PG_V) == 0) goto invalid; if ((u_long)pde & PG_PS) { /* - * No second-level page table; ptd describes one 4MB page. - * (We assume that the kernel wouldn't set PG_PS without enabling - * it cr0, and that the kernel doesn't support 36-bit physical - * addresses). + * No final-level page table; ptd describes one 2MB page. */ -#define PAGE4M_MASK (NBPDR - 1) -#define PG_FRAME4M (~PAGE4M_MASK) - *pa = ((u_long)pde & PG_FRAME4M) + (va & PAGE4M_MASK); - return (NBPDR - (va & PAGE4M_MASK)); +#define PAGE2M_MASK (NBPDR - 1) +#define PG_FRAME2M (~PAGE2M_MASK) + *pa = ((u_long)pde & PG_FRAME2M) + (va & PAGE2M_MASK); + return (NBPDR - (va & PAGE2M_MASK)); } pteindex = (va >> PAGE_SHIFT) & (NPTEPG-1); From owner-p4-projects@FreeBSD.ORG Wed May 19 11:23:01 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9950D16A4D1; Wed, 19 May 2004 11:23:01 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 738D416A4CE for ; Wed, 19 May 2004 11:23:01 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5799643D39 for ; Wed, 19 May 2004 11:23:01 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i4JIMqEZ028442 for ; Wed, 19 May 2004 11:22:52 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i4JIMq3w028439 for perforce@freebsd.org; Wed, 19 May 2004 11:22:52 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Wed, 19 May 2004 11:22:52 -0700 (PDT) Message-Id: <200405191822.i4JIMq3w028439@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 53066 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 May 2004 18:23:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=53066 Change 53066 by peter@peter_hammer on 2004/05/19 11:21:59 make libkvm work - mask off upper bits of address space. Affected files ... .. //depot/projects/hammer/lib/libkvm/kvm_amd64.c#5 edit Differences ... ==== //depot/projects/hammer/lib/libkvm/kvm_amd64.c#5 (text+ko) ==== @@ -167,7 +167,7 @@ return (PAGE_SIZE - offset); } - pml4eindex = va >> PML4SHIFT; + pml4eindex = (va >> PML4SHIFT) & (NPML4EPG - 1); pml4e = vm->PML4[pml4eindex]; if (((u_long)pml4e & PG_V) == 0) goto invalid; From owner-p4-projects@FreeBSD.ORG Wed May 19 12:25:28 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9DD6216A4D1; Wed, 19 May 2004 12:25:27 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5D66D16A4CE for ; Wed, 19 May 2004 12:25:27 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 552EE43D41 for ; Wed, 19 May 2004 12:25:27 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i4JJPBQu041712 for ; Wed, 19 May 2004 12:25:11 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i4JJPADe041709 for perforce@freebsd.org; Wed, 19 May 2004 12:25:10 -0700 (PDT) (envelope-from marcel@freebsd.org) Date: Wed, 19 May 2004 12:25:10 -0700 (PDT) Message-Id: <200405191925.i4JJPADe041709@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 53070 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 May 2004 19:25:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=53070 Change 53070 by marcel@marcel_nfs on 2004/05/19 12:24:11 IFC @53068 Affected files ... .. //depot/projects/gdb/contrib/cvs/src/server.c#4 integrate .. //depot/projects/gdb/etc/defaults/periodic.conf#3 integrate .. //depot/projects/gdb/etc/periodic/weekly/400.status-pkg#2 integrate .. //depot/projects/gdb/lib/libarchive/archive_read_support_format_tar.c#11 integrate .. //depot/projects/gdb/lib/libarchive/tar.5#4 integrate .. //depot/projects/gdb/lib/libc/gmon/Makefile.inc#2 integrate .. //depot/projects/gdb/lib/libc/sys/mlock.2#2 integrate .. //depot/projects/gdb/lib/libkvm/kvm_amd64.c#2 integrate .. //depot/projects/gdb/lib/libutil/pw_util.c#2 integrate .. //depot/projects/gdb/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#8 integrate .. //depot/projects/gdb/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#19 integrate .. //depot/projects/gdb/sbin/fsck_ffs/fsutil.c#3 integrate .. //depot/projects/gdb/sbin/ipfw/ipfw2.c#6 integrate .. //depot/projects/gdb/sbin/sconfig/sconfig.8#3 integrate .. //depot/projects/gdb/share/man/man4/ng_hole.4#2 integrate .. //depot/projects/gdb/share/man/man7/security.7#3 integrate .. //depot/projects/gdb/share/man/man9/g_access.9#3 integrate .. //depot/projects/gdb/share/man/man9/g_attach.9#4 integrate .. //depot/projects/gdb/share/man/man9/g_bio.9#3 integrate .. //depot/projects/gdb/share/man/man9/g_consumer.9#4 integrate .. //depot/projects/gdb/share/man/man9/g_data.9#3 integrate .. //depot/projects/gdb/share/man/man9/g_event.9#3 integrate .. //depot/projects/gdb/share/man/man9/g_geom.9#4 integrate .. //depot/projects/gdb/share/man/man9/g_provider.9#4 integrate .. //depot/projects/gdb/share/man/man9/g_provider_by_name.9#3 integrate .. //depot/projects/gdb/share/man/man9/g_wither_geom.9#3 integrate .. //depot/projects/gdb/sys/alpha/include/_stdint.h#2 integrate .. //depot/projects/gdb/sys/alpha/include/profile.h#2 integrate .. //depot/projects/gdb/sys/amd64/amd64/machdep.c#10 integrate .. //depot/projects/gdb/sys/amd64/include/_stdint.h#2 integrate .. //depot/projects/gdb/sys/amd64/include/profile.h#3 integrate .. //depot/projects/gdb/sys/arm/include/_stdint.h#2 integrate .. //depot/projects/gdb/sys/arm/include/profile.h#2 integrate .. //depot/projects/gdb/sys/conf/files.pc98#11 integrate .. //depot/projects/gdb/sys/conf/options.pc98#4 integrate .. //depot/projects/gdb/sys/dev/acpica/acpivar.h#11 integrate .. //depot/projects/gdb/sys/dev/iir/iir.c#2 integrate .. //depot/projects/gdb/sys/dev/iir/iir.h#5 integrate .. //depot/projects/gdb/sys/dev/iir/iir_ctrl.c#4 integrate .. //depot/projects/gdb/sys/dev/md/md.c#9 integrate .. //depot/projects/gdb/sys/i386/include/_stdint.h#2 integrate .. //depot/projects/gdb/sys/i386/include/profile.h#4 integrate .. //depot/projects/gdb/sys/ia64/include/_stdint.h#2 integrate .. //depot/projects/gdb/sys/ia64/include/profile.h#2 integrate .. //depot/projects/gdb/sys/kern/link_elf.c#3 integrate .. //depot/projects/gdb/sys/kern/link_elf_obj.c#3 integrate .. //depot/projects/gdb/sys/kern/uipc_socket2.c#6 integrate .. //depot/projects/gdb/sys/netgraph/ng_hole.c#2 integrate .. //depot/projects/gdb/sys/netgraph/ng_hole.h#2 integrate .. //depot/projects/gdb/sys/pc98/conf/NOTES#11 integrate .. //depot/projects/gdb/sys/pci/agp_sis.c#3 integrate .. //depot/projects/gdb/sys/pci/if_sk.c#6 integrate .. //depot/projects/gdb/sys/powerpc/include/_stdint.h#2 integrate .. //depot/projects/gdb/sys/powerpc/include/profile.h#2 integrate .. //depot/projects/gdb/sys/powerpc/powerpc/trap.c#3 integrate .. //depot/projects/gdb/sys/sparc64/include/_stdint.h#2 integrate .. //depot/projects/gdb/sys/sparc64/include/profile.h#2 integrate .. //depot/projects/gdb/sys/sys/gmon.h#3 integrate .. //depot/projects/gdb/sys/sys/mbuf.h#7 integrate .. //depot/projects/gdb/sys/ufs/ffs/ffs_alloc.c#5 integrate .. //depot/projects/gdb/usr.bin/Makefile#8 integrate .. //depot/projects/gdb/usr.bin/bluetooth/bthost/bthost.1#2 integrate .. //depot/projects/gdb/usr.bin/bluetooth/btsockstat/btsockstat.1#2 integrate .. //depot/projects/gdb/usr.bin/colldef/colldef.1#2 integrate .. //depot/projects/gdb/usr.bin/env/env.1#3 integrate .. //depot/projects/gdb/usr.bin/fetch/fetch.1#4 integrate .. //depot/projects/gdb/usr.bin/fetch/fetch.c#4 integrate .. //depot/projects/gdb/usr.bin/find/find.1#6 integrate .. //depot/projects/gdb/usr.bin/gprof/amd64.c#1 branch .. //depot/projects/gdb/usr.bin/gprof/amd64.h#1 branch .. //depot/projects/gdb/usr.bin/gprof/gprof.h#3 integrate .. //depot/projects/gdb/usr.bin/id/id.1#3 integrate .. //depot/projects/gdb/usr.bin/indent/indent.1#3 integrate .. //depot/projects/gdb/usr.bin/ipcs/ipcs.1#3 integrate .. //depot/projects/gdb/usr.bin/kdump/kdump.1#2 integrate .. //depot/projects/gdb/usr.bin/killall/killall.1#4 integrate .. //depot/projects/gdb/usr.bin/locale/locale.1#2 integrate .. //depot/projects/gdb/usr.bin/m4/gnum4.c#2 integrate .. //depot/projects/gdb/usr.bin/mail/mail.1#4 integrate .. //depot/projects/gdb/usr.bin/make/make.1#4 integrate .. //depot/projects/gdb/usr.bin/netstat/netstat.1#3 integrate .. //depot/projects/gdb/usr.bin/pkill/pkill.1#2 integrate .. //depot/projects/gdb/usr.bin/script/script.1#3 integrate .. //depot/projects/gdb/usr.bin/su/su.1#2 integrate .. //depot/projects/gdb/usr.bin/tar/bsdtar.c#9 integrate .. //depot/projects/gdb/usr.bin/tar/write.c#11 integrate .. //depot/projects/gdb/usr.bin/tftp/tftp.1#2 integrate .. //depot/projects/gdb/usr.bin/vmstat/vmstat.8#3 integrate .. //depot/projects/gdb/usr.sbin/sysinstall/menus.c#4 integrate Differences ... ==== //depot/projects/gdb/contrib/cvs/src/server.c#4 (text+ko) ==== @@ -9,7 +9,7 @@ GNU General Public License for more details. */ /* - * $FreeBSD: src/contrib/cvs/src/server.c,v 1.21 2004/04/15 01:17:27 peter Exp $ + * $FreeBSD: src/contrib/cvs/src/server.c,v 1.22 2004/05/19 06:17:52 des Exp $ */ #include @@ -1645,7 +1645,7 @@ && strncmp (arg, name, cp - name) == 0) { timefield = strchr (cp + 1, '/') + 1; - if (*timefield != '=') + if (*timefield == '/') { cp = timefield + strlen (timefield); cp[1] = '\0'; @@ -1689,7 +1689,7 @@ && strncmp (arg, name, cp - name) == 0) { timefield = strchr (cp + 1, '/') + 1; - if (!(timefield[0] == 'M' && timefield[1] == '/')) + if (*timefield == '/') { cp = timefield + strlen (timefield); cp[1] = '\0'; ==== //depot/projects/gdb/etc/defaults/periodic.conf#3 (text+ko) ==== @@ -10,7 +10,7 @@ # values set in this file. This eases the upgrade path when defaults # are changed and new features are added. # -# $FreeBSD: src/etc/defaults/periodic.conf,v 1.28 2004/04/20 13:44:57 darrenr Exp $ +# $FreeBSD: src/etc/defaults/periodic.conf,v 1.29 2004/05/19 09:18:07 joe Exp $ # # What files override these defaults ? @@ -204,6 +204,7 @@ # 400.status-pkg weekly_status_pkg_enable="NO" # Find out-of-date pkgs pkg_version=pkg_version # Use this program +pkg_version_index=/usr/ports/INDEX-5 # Use this index file # 999.local weekly_local="/etc/weekly.local" # Local scripts ==== //depot/projects/gdb/etc/periodic/weekly/400.status-pkg#2 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh - # -# $FreeBSD: src/etc/periodic/weekly/400.status-pkg,v 1.8 2002/09/25 03:01:42 brian Exp $ +# $FreeBSD: src/etc/periodic/weekly/400.status-pkg,v 1.9 2004/05/19 09:18:08 joe Exp $ # # If there is a global system configuration file, suck it in. @@ -16,7 +16,7 @@ echo "" echo "Check for out of date packages:" - rc=$(${pkg_version:-pkg_version} -v | + rc=$(${pkg_version:-pkg_version} -v ${pkg_version_index} | sed -n -e 's/^\([^ ]*\) *< */ \1 /p' \ -e '/^[^ ]*-\([^ ]*\) *\* *multiple versions.*[ ,]\1[,)].*/d' \ -e 's/^\([^ ]*\) *\* *multiple versions.*\((.*\)/ \1 needs updating \2/p' \ ==== //depot/projects/gdb/lib/libarchive/archive_read_support_format_tar.c#11 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_tar.c,v 1.11 2004/04/26 23:37:54 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_tar.c,v 1.14 2004/05/19 17:09:24 kientzle Exp $"); #include #include @@ -209,12 +209,12 @@ header = h; - /* This distinguishes POSIX formats from GNU tar formats. */ + /* Recognize POSIX formats. */ if ((memcmp(header->magic, "ustar\0", 6) == 0) &&(memcmp(header->version, "00", 2)==0)) bid += 56; - /* Recognize GNU tar format as well. */ + /* Recognize GNU tar format. */ if ((memcmp(header->magic, "ustar ", 6) == 0) &&(memcmp(header->version, " \0", 2)==0)) bid += 56; @@ -593,6 +593,33 @@ */ if (st->st_size > 0) st->st_mode |= S_IFREG; + + /* + * A tricky point: Traditionally, tar readers have + * ignored the size field when reading hardlink + * entries, and some writers put non-zero sizes even + * though the body is empty. POSIX.1-2001 broke with + * this tradition by permitting hardlink entries to + * store valid bodies in pax interchange format, but + * not in ustar format. Since there is no hard and + * fast way to distinguish pax interchange from + * earlier archives (the 'x' and 'g' entries are + * optional, after all), we need a heuristic. Here, I + * use the bid function to test whether or not there's + * a valid header following. Of course, if we know + * this is pax interchange format, then we must obey + * the size. + * + * This heuristic will only fail for a pax interchange + * archive that is storing hardlink bodies, no pax + * extended attribute entries have yet occurred, and + * we encounter a hardlink entry for a file that is + * itself an uncompressed tar archive. + */ + if (st->st_size > 0 && + a->archive_format != ARCHIVE_FORMAT_TAR_PAX_INTERCHANGE && + archive_read_format_tar_bid(a) > 50) + st->st_size = 0; break; case '2': /* Symlink */ st->st_mode |= S_IFLNK; @@ -737,21 +764,21 @@ struct stat *st, const void *h) { const struct archive_entry_header_ustar *header; + struct archive_string *as; header = h; /* Copy name into an internal buffer to ensure null-termination. */ + as = &(tar->entry_name); if (header->prefix[0]) { - archive_strncpy(&(tar->entry_name), header->prefix, - sizeof(header->prefix)); - archive_strappend_char(&(tar->entry_name), '/'); - archive_strncat(&(tar->entry_name), header->name, - sizeof(header->name)); + archive_strncpy(as, header->prefix, sizeof(header->prefix)); + if (as->s[archive_strlen(as) - 1] != '/') + archive_strappend_char(as, '/'); + archive_strncat(as, header->name, sizeof(header->name)); } else - archive_strncpy(&(tar->entry_name), header->name, - sizeof(header->name)); + archive_strncpy(as, header->name, sizeof(header->name)); - archive_entry_set_pathname(entry, tar->entry_name.s); + archive_entry_set_pathname(entry, as->s); /* Handle rest of common fields. */ header_common(a, tar, entry, st, h); ==== //depot/projects/gdb/lib/libarchive/tar.5#4 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libarchive/tar.5,v 1.3 2004/03/23 03:14:01 kientzle Exp $ +.\" $FreeBSD: src/lib/libarchive/tar.5,v 1.4 2004/05/19 06:38:38 kientzle Exp $ .\" -.Dd October 1, 2003 +.Dd May 20, 2004 .Dt TAR 5 .Os .Sh NAME @@ -68,10 +68,8 @@ The original tar archive format has been extended many times to include additional information that various implementors found necessary. -This section describes a variant that is compatible with -most historic -.Nm -implementations. +This section describes the variant implemented by the tar command +included in Seventh Edition Unix. .Pp The header record for an old-style .Nm @@ -85,22 +83,30 @@ char size[12]; char mtime[12]; char checksum[8]; +char linkflag[1]; +char linkname[100]; }; .Ed -The remaining bytes in the header record are filled with nulls. +All unused bytes in the header record are filled with nulls. .Bl -tag -width indent .It Va name Pathname, stored as a null-terminated string. -Some very early implementations only supported regular files. -However, a common early convention added +The Unix V7 tar command only stored regular files (including +hardlinks to those files). +One common early convention added a trailing "/" character to indicate a directory name, allowing directory permissions and owner information to be archived and restored. .It Va mode File mode, stored as an octal number in ASCII. .It Va uid , Va gid -User id and group id of owner, as octal number in ASCII. +User id and group id of owner, as octal numbers in ASCII. .It Va size Size of file, as octal number in ASCII. +For regular files only, this indicates the amount of data +that follows the header. +In particular, this field was ignored by early tar implementations +when extracting hardlinks. +Modern writers should always store a zero length for hardlink entries. .It Va mtime Modification time of file, as an octal number in ASCII. This indicates the number of seconds since the start of the epoch, @@ -113,72 +119,41 @@ then sum all bytes in the header using unsigned arithmetic. This field should be stored as six octal digits followed by a null and a space character. -Note that for many years, Sun tar used signed arithmetic +Note that many early implementations of tar used signed arithmetic for the checksum field, which can cause interoperability problems when transferring archives between systems. -This error was propagated to other implementations that used Sun -tar as a reference. Modern robust readers compute the checksum both ways and accept the header if either computation matches. +.It Va linkflag , Va linkname +In order to preserve hardlinks and conserve tape, a file +with multiple links is only written to the archive the first +time it is encountered. +The next time it is encountered, the +.Va linkflag +is set to an ASCII +.Sq 1 +and the +.Va linkname +field holds the first name under which this file appears. +(Note that regular files have a null value in the +.Va linkflag +field.) .El .Pp Early implementations of .Nm varied in how they terminated these fields. -Early BSD documentation specified the following: the pathname must -be null-terminated; the mode, uid, and gid fields must end in a space and a -null byte; the size and mtime fields must end in a space; the checksum is -terminated by a null and a space. +The +.Nm +command in Seventh Edition Unix used the following conventions +(this is also documented in early BSD manpages): +the pathname must be null-terminated; +the mode, uid, and gid fields must end in a space and a null byte; +the size and mtime fields must end in a space; +the checksum is terminated by a null and a space. For best portability, writers of .Nm archives should fill the numeric fields with leading zeros. -.Ss Early Extensions -Very early -.Nm -implementations only supported regular files. -Two early extensions added support for directories, hard links, and -symbolic links. -.Pp -Early -.Nm -archives indicated directories by adding a trailing -.Pa / -to the name. -The size field was often used to indicate the total size of all files -in the directory. -This was intended to facilitate extraction on systems that pre-allocated -directory storage; most modern readers should simply ignore the -size field for directories. -.Pp -To support hard links and symbolic links, -.Va linktype -and -.Va linkname -fields were added: -.Bd -literal -offset indent -struct tarfile_entry_common { -char name[100]; -char mode[8]; -char uid[8]; -char gid[8]; -char size[12]; -char mtime[12]; -char checksum[8]; -char linktype[1]; -char linkname[100]; -}; -.Ed -.Pp -The -.Va linktype -field indicates the type of entry. -For backwards compatibility, a NULL -character here indicates a regular file or directory. -An ASCII "1" here indicates a hard link entry, ASCII "2" indicates -a symbolic link. -The -.Va linkname -field holds the name of the file linked to. .Ss POSIX Standard Archives POSIX 1003.1 defines a standard .Nm @@ -216,12 +191,13 @@ .Ed .Bl -tag -width indent .It Va typeflag -Type of entry. POSIX adopted the BSD -.Va linktype -field and extended it with several new type values: +Type of entry. POSIX extended the earlier +.Va linkflag +field with several new type values: .Bl -tag -width indent -compact .It Dq 0 -Regular file. NULL should be treated as a synonym, for compatibility purposes. +Regular file. +NULL should be treated as a synonym, for compatibility purposes. .It Dq 1 Hard link. .It Dq 2 @@ -245,6 +221,16 @@ Uppercase letters "A" through "Z" are reserved for custom extensions. Note that sockets and whiteout entries are not archivable. .El +It is worth noting that the +.Va size +field, in particular, has different meanings depending on the type. +For regular files, of course, it indicates the amount of data +following the header. +For directories, it may be used to indicate the total size of all +files in the directory, for use by operating systems that pre-allocate +directory space. +For all other types, it should be set to zero by writers and ignored +by readers. .It Va magic Contains the magic value .Dq ustar @@ -407,15 +393,28 @@ The .Cm g entry is not widely used. +.Pp +Besides the new +.Cm x +and +.Cm g +entries, the pax interchange format has a few other minor variations +from the earlier ustar format. +The most troubling one is that hardlinks are permitted to have +data following them. +This allows readers to restore any hardlink to a file without +having to rewind the archive to find an earlier entry. +However, it creates complications for robust readers, as it is +no longer clear whether or not they should ignore the size +field for hardlink entries. .Ss GNU Tar Archives -The GNU tar program added new features by starting with an early draft -of POSIX and using three different extension mechanisms: They added -new fields to the empty space in the header (some of which was later +The GNU tar program has used a variety of different extension +mechanisms over the years: +They added new fields to the empty space in the header (some of which was later used by POSIX for conflicting purposes); -they allowed the header to -be continued over multiple records; -and they defined new entries -that modify following entries (similar in principle to the +they allowed the header to be continued over multiple records; +and they defined new entries that modify following entries +(similar in principle to the .Cm x entry described above, but each GNU special entry is single-purpose, unlike the general-purpose @@ -456,7 +455,8 @@ .Ed .Bl -tag -width indent .It Va typeflag -GNU tar uses the following special entry types. +GNU tar uses the following special entry types, in addition to +those defined by POSIX: .Bl -tag -width indent .It "7" GNU tar treats type "7" records identically to type "0" records, @@ -634,8 +634,10 @@ .Sh STANDARDS The .Nm tar -utility is no longer a part of any official standard. -It last appeared in SUSv2. +utility is no longer a part of POSIX or the Single Unix Standard. +It last appeared in +.St -p 1003.1-1997 +(SUSv2). It has been supplanted in subsequent standards by .Xr pax 1 . The ustar format is defined in @@ -648,7 +650,7 @@ .Sh HISTORY A .Nm tar -command appeared in Sixth Edition Unix. +command appeared in Seventh Edition Unix, which was released in January, 1979. John Gilmore's .Nm pdtar public-domain implementation (circa 1987) was highly influential ==== //depot/projects/gdb/lib/libc/gmon/Makefile.inc#2 (text+ko) ==== @@ -1,5 +1,5 @@ # from @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 -# $FreeBSD: src/lib/libc/gmon/Makefile.inc,v 1.9 2002/11/18 09:50:55 ru Exp $ +# $FreeBSD: src/lib/libc/gmon/Makefile.inc,v 1.10 2004/05/18 22:49:15 peter Exp $ # gmon sources .PATH: ${.CURDIR}/gmon @@ -10,6 +10,12 @@ MLINKS+=moncontrol.3 monstartup.3 +.if ${MACHINE_ARCH} == amd64 +# mcount needs to be compiled with frame pointers and without profiling +mcount.po: mcount.c + ${CC} ${CFLAGS} -fno-omit-frame-pointer -c ${.IMPSRC} -o ${.TARGET} +.else # mcount cannot be compiled with profiling mcount.po: mcount.o cp mcount.o mcount.po +.endif ==== //depot/projects/gdb/lib/libc/sys/mlock.2#2 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)mlock.2 8.2 (Berkeley) 12/11/93 -.\" $FreeBSD: src/lib/libc/sys/mlock.2,v 1.14 2002/12/19 09:40:25 ru Exp $ +.\" $FreeBSD: src/lib/libc/sys/mlock.2,v 1.15 2004/05/19 03:25:17 alc Exp $ .\" .Dd June 2, 1993 .Dt MLOCK 2 @@ -148,16 +148,6 @@ .Xr setrlimit 2 , .Xr getpagesize 3 .Sh BUGS -Unlike The Sun implementation, multiple -.Fn mlock -calls on the same address range require the corresponding number of -.Fn munlock -calls to actually unlock the pages, i.e.\& -.Fn mlock -nests. -This should be considered a consequence of the implementation -and not a feature. -.Pp The per-process resource limit is a limit on the amount of virtual memory locked, while the system-wide limit is for the number of locked physical pages. ==== //depot/projects/gdb/lib/libkvm/kvm_amd64.c#2 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libkvm/kvm_amd64.c,v 1.16 2003/04/30 21:05:33 peter Exp $"); +__FBSDID("$FreeBSD: src/lib/libkvm/kvm_amd64.c,v 1.17 2004/05/19 18:24:13 peter Exp $"); #if defined(LIBC_SCCS) && !defined(lint) #if 0 @@ -71,15 +71,15 @@ #endif struct vmstate { - pd_entry_t *PTD; + pml4_entry_t *PML4; }; void _kvm_freevtop(kvm_t *kd) { if (kd->vmst != 0) { - if (kd->vmst->PTD) { - free(kd->vmst->PTD); + if (kd->vmst->PML4) { + free(kd->vmst->PML4); } free(kd->vmst); } @@ -92,7 +92,7 @@ struct nlist nlist[2]; u_long pa; u_long kernbase; - pd_entry_t *PTD; + pml4_entry_t *PML4; vm = (struct vmstate *)_kvm_malloc(kd, sizeof(*vm)); if (vm == 0) { @@ -100,34 +100,35 @@ return (-1); } kd->vmst = vm; - vm->PTD = 0; + vm->PML4 = 0; nlist[0].n_name = "kernbase"; nlist[1].n_name = 0; - if (kvm_nlist(kd, nlist) != 0) - kernbase = KERNBASE; /* for old kernels */ - else - kernbase = nlist[0].n_value; + if (kvm_nlist(kd, nlist) != 0) { + _kvm_err(kd, kd->program, "bad namelist - no kernbase"); + return (-1); + } + kernbase = nlist[0].n_value; - nlist[0].n_name = "IdlePTD"; + nlist[0].n_name = "KPML4phys"; nlist[1].n_name = 0; if (kvm_nlist(kd, nlist) != 0) { - _kvm_err(kd, kd->program, "bad namelist"); + _kvm_err(kd, kd->program, "bad namelist - no KPML4phys"); return (-1); } if (kvm_read(kd, (nlist[0].n_value - kernbase), &pa, sizeof(pa)) != sizeof(pa)) { - _kvm_err(kd, kd->program, "cannot read IdlePTD"); + _kvm_err(kd, kd->program, "cannot read KPML4phys"); return (-1); } - PTD = _kvm_malloc(kd, PAGE_SIZE); - if (kvm_read(kd, pa, PTD, PAGE_SIZE) != PAGE_SIZE) { - _kvm_err(kd, kd->program, "cannot read PTD"); + PML4 = _kvm_malloc(kd, PAGE_SIZE); + if (kvm_read(kd, pa, PML4, PAGE_SIZE) != PAGE_SIZE) { + _kvm_err(kd, kd->program, "cannot read KPML4phys"); return (-1); } - vm->PTD = PTD; + vm->PML4 = PML4; return (0); } @@ -136,15 +137,21 @@ { struct vmstate *vm; u_long offset; + u_long pdpe_pa; + u_long pde_pa; u_long pte_pa; + pml4_entry_t pml4e; + pdp_entry_t pdpe; pd_entry_t pde; pt_entry_t pte; + u_long pml4eindex; + u_long pdpeindex; u_long pdeindex; u_long pteindex; int i; if (ISALIVE(kd)) { - _kvm_err(kd, 0, "vatop called in live kernel!"); + _kvm_err(kd, 0, "kvm_vatop called in live kernel!"); return((off_t)0); } @@ -155,27 +162,55 @@ * If we are initializing (kernel page table descriptor pointer * not yet set) then return pa == va to avoid infinite recursion. */ - if (vm->PTD == 0) { + if (vm->PML4 == 0) { *pa = va; return (PAGE_SIZE - offset); } - pdeindex = va >> PDRSHIFT; - pde = vm->PTD[pdeindex]; + pml4eindex = (va >> PML4SHIFT) & (NPML4EPG - 1); + pml4e = vm->PML4[pml4eindex]; + if (((u_long)pml4e & PG_V) == 0) + goto invalid; + + pdpeindex = (va >> PDPSHIFT) & (NPDPEPG-1); + pdpe_pa = ((u_long)pml4e & PG_FRAME) + (pdpeindex * sizeof(pdp_entry_t)); + + /* XXX This has to be a physical address read, kvm_read is virtual */ + if (lseek(kd->pmfd, pdpe_pa, 0) == -1) { + _kvm_syserr(kd, kd->program, "_kvm_vatop: lseek pdpe_pa"); + goto invalid; + } + if (read(kd->pmfd, &pdpe, sizeof pdpe) != sizeof pdpe) { + _kvm_syserr(kd, kd->program, "_kvm_vatop: read pdpe"); + goto invalid; + } + if (((u_long)pdpe & PG_V) == 0) + goto invalid; + + + pdeindex = (va >> PDRSHIFT) & (NPDEPG-1); + pde_pa = ((u_long)pdpe & PG_FRAME) + (pdeindex * sizeof(pd_entry_t)); + + /* XXX This has to be a physical address read, kvm_read is virtual */ + if (lseek(kd->pmfd, pde_pa, 0) == -1) { + _kvm_syserr(kd, kd->program, "_kvm_vatop: lseek pde_pa"); + goto invalid; + } + if (read(kd->pmfd, &pde, sizeof pde) != sizeof pde) { + _kvm_syserr(kd, kd->program, "_kvm_vatop: read pde"); + goto invalid; + } if (((u_long)pde & PG_V) == 0) goto invalid; if ((u_long)pde & PG_PS) { /* - * No second-level page table; ptd describes one 4MB page. - * (We assume that the kernel wouldn't set PG_PS without enabling - * it cr0, and that the kernel doesn't support 36-bit physical - * addresses). + * No final-level page table; ptd describes one 2MB page. */ -#define PAGE4M_MASK (NBPDR - 1) -#define PG_FRAME4M (~PAGE4M_MASK) - *pa = ((u_long)pde & PG_FRAME4M) + (va & PAGE4M_MASK); - return (NBPDR - (va & PAGE4M_MASK)); +#define PAGE2M_MASK (NBPDR - 1) +#define PG_FRAME2M (~PAGE2M_MASK) + *pa = ((u_long)pde & PG_FRAME2M) + (va & PAGE2M_MASK); + return (NBPDR - (va & PAGE2M_MASK)); } pteindex = (va >> PAGE_SHIFT) & (NPTEPG-1); ==== //depot/projects/gdb/lib/libutil/pw_util.c#2 (text+ko) ==== @@ -43,7 +43,7 @@ static const char sccsid[] = "@(#)pw_util.c 8.3 (Berkeley) 4/2/94"; #endif static const char rcsid[] = - "$FreeBSD: src/lib/libutil/pw_util.c,v 1.34 2003/10/18 10:04:16 markm Exp $"; + "$FreeBSD: src/lib/libutil/pw_util.c,v 1.35 2004/05/18 15:53:58 stefanf Exp $"; #endif /* not lint */ /* @@ -266,10 +266,11 @@ /* child */ if (user == NULL) execl(_PATH_PWD_MKDB, "pwd_mkdb", "-p", - "-d", passwd_dir, tempname, NULL); + "-d", passwd_dir, tempname, (char *)NULL); else execl(_PATH_PWD_MKDB, "pwd_mkdb", "-p", - "-d", passwd_dir, "-u", user, tempname, NULL); + "-d", passwd_dir, "-u", user, tempname, + (char *)NULL); _exit(1); /* NOTREACHED */ default: @@ -321,7 +322,7 @@ (void)setuid(getuid()); } errno = 0; - execlp(editor, basename(editor), tempname, NULL); + execlp(editor, basename(editor), tempname, (char *)NULL); _exit(errno); default: /* parent */ ==== //depot/projects/gdb/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#8 (text+ko) ==== @@ -29,7 +29,7 @@ - $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml,v 1.218 2004/05/09 21:27:15 simon Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml,v 1.221 2004/05/18 12:02:38 nyan Exp $ Supported Devices @@ -86,7 +86,7 @@ Adaptec FSA family RAID controllers (&man.aac.4; driver) - NEC PC-9801-55, 92 and their compatible C-Bus SCSI interfaces (ct driver) + NEC PC-9801-55, 92 and their compatible C-Bus SCSI interfaces (&man.ct.4; driver) NEC PC-9801-55, 92 and their compatibles @@ -895,6 +895,27 @@ + Cronyx Tau-PCI synchronous serial adapters for PCI bus + (&man.cp.4; driver) + + + Cronyx Tau-PCI (dual RS-232/V.35) and Cronyx Tau-PCI/R (dual RS-530(RS-449)/X.21) + + + Cronyx Tau-PCI/E1 (dual fractional E1) and Cronyx Tau-PCI/G703 (dual unframed E1) + + + Cronyx Tau-PCI/2E1 (dual fractional/unframed E1) + + + Cronyx Tau-PCI/4E1 (four fractional/unframed E1) + + + Cronyx Tau-PCI/E3 (one E3) + + + + Cronyx Tau synchronous serial adapters for ISA bus (&man.ctau.4; driver) ==== //depot/projects/gdb/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#19 (text+ko) ==== @@ -3,7 +3,7 @@ The FreeBSD Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.728 2004/05/17 17:55:19 yar Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.731 2004/05/18 12:02:39 nyan Exp $ 2000 @@ -207,7 +207,7 @@ control display switching and backlight brightness using the ACPI Video Extensions. - The &man.ctau.4; driver has been added for Cronyx-Tau + The &man.ctau.4; driver has been added for Cronyx Tau synchronous serial adapters. This driver was known for a long time as ct in its previous life outside the &os; source tree. &merged; @@ -217,6 +217,10 @@ + The &man.cp.4; driver has been added for Cronyx Tau-PCI + synchronous serial adapters. + + &man.devfs.5; path rules now work correctly on directories. @@ -381,6 +385,10 @@ a simple packet distribution that acts like an Ethernet hub has been added. &merged; + The &man.ng.sppp.4; Netgraph node type, which is a &man.netgraph.4 + interface to the original &man.sppp.4 network module for synchronous + lines has been added. + The &man.ng.vlan.4; Netgraph node type, which supports IEEE 802.1Q VLAN tagging has been added. &merged; ==== //depot/projects/gdb/sbin/fsck_ffs/fsutil.c#3 (text+ko) ==== @@ -33,7 +33,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/sbin/fsck_ffs/fsutil.c,v 1.23 2004/04/09 19:58:28 markm Exp $"); +__FBSDID("$FreeBSD: src/sbin/fsck_ffs/fsutil.c,v 1.24 2004/05/18 19:51:41 scottl Exp $"); #include #include @@ -478,10 +478,9 @@ slowio_start() { - /* Delay one in every 8 operations by 16 times the average IO delay */ + /* Delay one in every 8 operations */ slowio_pollcnt = (slowio_pollcnt + 1) & 7; if (slowio_pollcnt == 0) { - usleep(slowio_delay_usec * 16); gettimeofday(&slowio_starttime, NULL); } } @@ -501,9 +500,12 @@ (tv.tv_usec - slowio_starttime.tv_usec); if (delay_usec < 64) delay_usec = 64; - if (delay_usec > 1000000) - delay_usec = 1000000; + if (delay_usec > 2500000) + delay_usec = 2500000; slowio_delay_usec = (slowio_delay_usec * 63 + delay_usec) >> 6; + /* delay by 8 times the average IO delay */ + if (slowio_delay_usec > 64) + usleep(slowio_delay_usec * 8); } /* ==== //depot/projects/gdb/sbin/ipfw/ipfw2.c#6 (text+ko) ==== @@ -17,7 +17,7 @@ * * NEW command line interface for IP firewall facility * - * $FreeBSD: src/sbin/ipfw/ipfw2.c,v 1.48 2004/05/09 01:53:31 csjp Exp $ + * $FreeBSD: src/sbin/ipfw/ipfw2.c,v 1.49 2004/05/18 13:57:37 stefanf Exp $ */ #include @@ -360,7 +360,7 @@ bcopy (pll, &ret, sizeof(ret)); return ret; -}; +} /* * conditionally runs the command. @@ -402,7 +402,7 @@ if (strlen(pt->s) == i && !bcmp(string, pt->s, i)) return pt->x; return -1; -}; +} /** * match_value takes a table and a value, returns the string associated ==== //depot/projects/gdb/sbin/sconfig/sconfig.8#3 (text+ko) ==== @@ -1,14 +1,14 @@ -.\" $FreeBSD: src/sbin/sconfig/sconfig.8,v 1.3 2004/01/21 13:24:38 ru Exp $ +.\" $FreeBSD: src/sbin/sconfig/sconfig.8,v 1.4 2004/05/18 07:23:37 ru Exp $ .Dd November 21, 2003 .Dt SCONFIG 8 i386 -.Os FreeBSD +.Os .Sh NAME .Nm sconfig .Nd channel configuration utility for Cronyx adapters .Sh SYNOPSIS .Nm .Op Fl aimsxeftuc -.Op Ar device name +.Op Ar device .Op Ar data rate options .Op Ar protocol options ... .Op Ar interface options ... @@ -16,14 +16,15 @@ The .Nm utility is used for configuring the channel options of the Cronyx -adapters. In asynchronous mode all the parameters should be set by standard +adapters. +In asynchronous mode all the parameters should be set by standard .Xr stty 1 utility, with .Nm you could set only few of them (see below). .Pp Some of the options could be set only on free channels, that is the -corresponding network interface in +corresponding network interface in .Ar down state in the synchronous mode, and in the asynchronous mode the asynchronous terminal device @@ -31,8 +32,7 @@ closed. .Pp Other channel options could be changed -.Do on the fly -.Dc . +.Dq "on the fly" . Generally, the channel options are set up during the operating system startup, for example from the .Pa /etc/rc @@ -42,259 +42,359 @@ case, and an attempt to set some of them can hang up the channel or the whole adapter. .\"-------------------------------------------------------------- -.Ss "Information options" >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed May 19 12:43:52 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CF60516A4D1; Wed, 19 May 2004 12:43:51 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 792EC16A4CF for ; Wed, 19 May 2004 12:43:51 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7266843D2D for ; Wed, 19 May 2004 12:43:51 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i4JJhXhn045855 for ; Wed, 19 May 2004 12:43:33 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i4JJhX4R045846 for perforce@freebsd.org; Wed, 19 May 2004 12:43:33 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Wed, 19 May 2004 12:43:33 -0700 (PDT) Message-Id: <200405191943.i4JJhX4R045846@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 53071 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 May 2004 19:43:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=53071 Change 53071 by peter@peter_daintree on 2004/05/19 12:42:36 IFC @53068 Affected files ... .. //depot/projects/hammer/lib/libarchive/archive_read_support_format_tar.c#11 integrate .. //depot/projects/hammer/lib/libkvm/kvm_amd64.c#6 integrate .. //depot/projects/hammer/sys/dev/iir/iir.c#8 integrate .. //depot/projects/hammer/sys/dev/iir/iir.h#7 integrate .. //depot/projects/hammer/sys/dev/iir/iir_ctrl.c#8 integrate .. //depot/projects/hammer/sys/ufs/ffs/ffs_alloc.c#11 integrate Differences ... ==== //depot/projects/hammer/lib/libarchive/archive_read_support_format_tar.c#11 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_tar.c,v 1.13 2004/05/19 06:35:47 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_format_tar.c,v 1.14 2004/05/19 17:09:24 kientzle Exp $"); #include #include @@ -764,21 +764,21 @@ struct stat *st, const void *h) { const struct archive_entry_header_ustar *header; + struct archive_string *as; header = h; /* Copy name into an internal buffer to ensure null-termination. */ + as = &(tar->entry_name); if (header->prefix[0]) { - archive_strncpy(&(tar->entry_name), header->prefix, - sizeof(header->prefix)); - archive_strappend_char(&(tar->entry_name), '/'); - archive_strncat(&(tar->entry_name), header->name, - sizeof(header->name)); + archive_strncpy(as, header->prefix, sizeof(header->prefix)); + if (as->s[archive_strlen(as) - 1] != '/') + archive_strappend_char(as, '/'); + archive_strncat(as, header->name, sizeof(header->name)); } else - archive_strncpy(&(tar->entry_name), header->name, - sizeof(header->name)); + archive_strncpy(as, header->name, sizeof(header->name)); - archive_entry_set_pathname(entry, tar->entry_name.s); + archive_entry_set_pathname(entry, as->s); /* Handle rest of common fields. */ header_common(a, tar, entry, st, h); ==== //depot/projects/hammer/lib/libkvm/kvm_amd64.c#6 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libkvm/kvm_amd64.c,v 1.16 2003/04/30 21:05:33 peter Exp $"); +__FBSDID("$FreeBSD: src/lib/libkvm/kvm_amd64.c,v 1.17 2004/05/19 18:24:13 peter Exp $"); #if defined(LIBC_SCCS) && !defined(lint) #if 0 ==== //depot/projects/hammer/sys/dev/iir/iir.c#8 (text+ko) ==== @@ -1,7 +1,7 @@ /* - * Copyright (c) 2000-03 ICP vortex GmbH - * Copyright (c) 2002-03 Intel Corporation - * Copyright (c) 2003 Adaptec Inc. + * Copyright (c) 2000-04 ICP vortex GmbH + * Copyright (c) 2002-04 Intel Corporation + * Copyright (c) 2003-04 Adaptec Inc. * All Rights Reserved * * Redistribution and use in source and binary forms, with or without @@ -39,11 +39,11 @@ * Mike Smith; Some driver source code. * FreeBSD.ORG; Great O/S to work on and for. * - * $Id: iir.c 1.4 2003/08/26 12:29:44 achim Exp $" + * $Id: iir.c 1.5 2004/03/30 10:17:53 achim Exp $" */ #include -__FBSDID("$FreeBSD: src/sys/dev/iir/iir.c,v 1.9 2003/09/26 15:36:47 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/iir/iir.c,v 1.10 2004/05/19 17:46:34 scottl Exp $"); #define _IIR_C_ @@ -291,27 +291,12 @@ return (1); } - if (!gdt_internal_cmd(gdt, gccb, GDT_CACHESERVICE, GDT_INIT, - GDT_LINUX_OS, 0, 0)) { - printf("iir%d: Cache service initialization error %d\n", - gdt->sc_hanum, gdt->sc_status); - gdt_free_ccb(gdt, gccb); - return (1); - } gdt_internal_cmd(gdt, gccb, GDT_CACHESERVICE, GDT_UNFREEZE_IO, 0, 0, 0); - if (!gdt_internal_cmd(gdt, gccb, GDT_CACHESERVICE, GDT_MOUNT, - 0xffff, 1, 0)) { - printf("iir%d: Cache service mount error %d\n", - gdt->sc_hanum, gdt->sc_status); - gdt_free_ccb(gdt, gccb); - return (1); - } - if (!gdt_internal_cmd(gdt, gccb, GDT_CACHESERVICE, GDT_INIT, GDT_LINUX_OS, 0, 0)) { - printf("iir%d: Cache service post-mount initialization error %d\n", + printf("iir%d: Cache service initialization error %d\n", gdt->sc_hanum, gdt->sc_status); gdt_free_ccb(gdt, gccb); return (1); ==== //depot/projects/hammer/sys/dev/iir/iir.h#7 (text+ko) ==== @@ -1,8 +1,8 @@ -/* $FreeBSD: src/sys/dev/iir/iir.h,v 1.8 2004/03/20 19:02:46 scottl Exp $ */ +/* $FreeBSD: src/sys/dev/iir/iir.h,v 1.9 2004/05/19 17:46:34 scottl Exp $ */ /* - * Copyright (c) 2000-03 ICP vortex GmbH - * Copyright (c) 2002-03 Intel Corporation - * Copyright (c) 2003 Adaptec Inc. + * Copyright (c) 2000-04 ICP vortex GmbH + * Copyright (c) 2002-04 Intel Corporation + * Copyright (c) 2003-04 Adaptec Inc. * All Rights Reserved * * Redistribution and use in source and binary forms, with or without @@ -41,14 +41,14 @@ * credits: Niklas Hallqvist; OpenBSD driver for the ICP Controllers. * FreeBSD.ORG; Great O/S to work on and for. * - * $Id: iir.h 1.5 2003/08/26 12:28:21 achim Exp $" + * $Id: iir.h 1.6 2004/03/30 10:19:44 achim Exp $" */ #ifndef _IIR_H #define _IIR_H #define IIR_DRIVER_VERSION 1 -#define IIR_DRIVER_SUBVERSION 4 +#define IIR_DRIVER_SUBVERSION 5 /* OEM IDs */ #define OEM_ID_ICP 0x941c @@ -152,8 +152,10 @@ /* IOCTLs */ #define GDT_IOCTL_GENERAL _IOWR('J', 0, gdt_ucmd_t) /* general IOCTL */ -#define GDT_IOCTL_DRVERS _IOWR('J', 1, int) /* get driver version */ -#define GDT_IOCTL_CTRTYPE _IOR('J', 2, gdt_ctrt_t) /* get ctr. type */ +#define GDT_IOCTL_DRVERS _IOR('J', 1, int) /* get driver version */ +#define GDT_IOCTL_CTRTYPE _IOWR('J', 2, gdt_ctrt_t) /* get ctr. type */ +#define GDT_IOCTL_DRVERS_OLD _IOWR('J', 1, int) /* get driver version */ +#define GDT_IOCTL_CTRTYPE_OLD _IOR('J', 2, gdt_ctrt_t) /* get ctr. type */ #define GDT_IOCTL_OSVERS _IOR('J', 3, gdt_osv_t) /* get OS version */ #define GDT_IOCTL_CTRCNT _IOR('J', 5, int) /* get ctr. count */ #define GDT_IOCTL_EVENT _IOWR('J', 8, gdt_event_t) /* get event */ ==== //depot/projects/hammer/sys/dev/iir/iir_ctrl.c#8 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/iir/iir_ctrl.c,v 1.13 2004/02/21 21:10:42 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/iir/iir_ctrl.c,v 1.14 2004/05/19 17:46:34 scottl Exp $"); #include #include @@ -261,11 +261,13 @@ } case GDT_IOCTL_DRVERS: + case GDT_IOCTL_DRVERS_OLD: *(int *)cmdarg = (IIR_DRIVER_VERSION << 8) | IIR_DRIVER_SUBVERSION; break; case GDT_IOCTL_CTRTYPE: + case GDT_IOCTL_CTRTYPE_OLD: { gdt_ctrt_t *p; struct gdt_softc *gdt; ==== //depot/projects/hammer/sys/ufs/ffs/ffs_alloc.c#11 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ufs/ffs/ffs_alloc.c,v 1.119 2004/05/14 22:00:08 kensmith Exp $"); +__FBSDID("$FreeBSD: src/sys/ufs/ffs/ffs_alloc.c,v 1.120 2004/05/19 18:06:21 kensmith Exp $"); #include "opt_quota.h" @@ -261,8 +261,7 @@ allocbuf(bp, nsize); bp->b_flags |= B_DONE; if ((bp->b_flags & (B_MALLOC | B_VMIO)) != B_VMIO) - bzero((char *)bp->b_data + osize, - (u_int)nsize - osize); + bzero((char *)bp->b_data + osize, nsize - osize); else vfs_bio_clrbuf(bp); *bpp = bp; @@ -330,8 +329,7 @@ allocbuf(bp, nsize); bp->b_flags |= B_DONE; if ((bp->b_flags & (B_MALLOC | B_VMIO)) != B_VMIO) - bzero((char *)bp->b_data + osize, - (u_int)nsize - osize); + bzero((char *)bp->b_data + osize, nsize - osize); else vfs_bio_clrbuf(bp); *bpp = bp; From owner-p4-projects@FreeBSD.ORG Wed May 19 13:25:25 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7658B16A4D0; Wed, 19 May 2004 13:25:25 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5280516A4CE for ; Wed, 19 May 2004 13:25:25 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4C8FD43D48 for ; Wed, 19 May 2004 13:25:25 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i4JKPPJ8061047 for ; Wed, 19 May 2004 13:25:25 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i4JKPOLv061043 for perforce@freebsd.org; Wed, 19 May 2004 13:25:24 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Wed, 19 May 2004 13:25:24 -0700 (PDT) Message-Id: <200405192025.i4JKPOLv061043@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 53073 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 May 2004 20:25:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=53073 Change 53073 by peter@peter_hammer on 2004/05/19 13:25:23 stop the system locking up quite so hard after a panic. ata never gets interrupts, so it can't service the buffers nor the commands to flush the cache. Affected files ... .. //depot/projects/hammer/sys/dev/ata/ata-all.c#25 edit Differences ... ==== //depot/projects/hammer/sys/dev/ata/ata-all.c#25 (text+ko) ==== @@ -343,6 +343,9 @@ struct ata_channel *ch; int ctlr; + if (panicstr) + return; + /* flush cache on all devices */ for (ctlr = 0; ctlr < devclass_get_maxunit(ata_devclass); ctlr++) { if (!(ch = devclass_get_softc(ata_devclass, ctlr))) From owner-p4-projects@FreeBSD.ORG Wed May 19 15:48:55 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CEC7916A4D1; Wed, 19 May 2004 15:48:54 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9EFC616A4CF for ; Wed, 19 May 2004 15:48:54 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 95CE943D49 for ; Wed, 19 May 2004 15:48:54 -0700 (PDT) (envelope-from cvance@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i4JMmsJf092405 for ; Wed, 19 May 2004 15:48:54 -0700 (PDT) (envelope-from cvance@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i4JMmPeu092402 for perforce@freebsd.org; Wed, 19 May 2004 15:48:25 -0700 (PDT) (envelope-from cvance@nailabs.com) Date: Wed, 19 May 2004 15:48:25 -0700 (PDT) Message-Id: <200405192248.i4JMmPeu092402@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cvance@nailabs.com using -f From: Chris Vance To: Perforce Change Reviews Subject: PERFORCE change 53085 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 May 2004 22:48:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=53085 Change 53085 by cvance@cvance_sony on 2004/05/19 15:48:06 Integrate TrustedBSD SEBSD branch from the TrustedBSD Mac branch See Robert's integration (changeset 52174) from the FreeBSD vendor branch to the Mac branch for more details. Affected files ... .. //depot/projects/trustedbsd/sebsd/MAINTAINERS#5 integrate .. //depot/projects/trustedbsd/sebsd/MERGE#3 integrate .. //depot/projects/trustedbsd/sebsd/Makefile#9 integrate .. //depot/projects/trustedbsd/sebsd/Makefile.inc1#9 integrate .. //depot/projects/trustedbsd/sebsd/TODO#1 branch .. //depot/projects/trustedbsd/sebsd/UPDATING#9 integrate .. //depot/projects/trustedbsd/sebsd/bin/cat/cat.1#3 integrate .. //depot/projects/trustedbsd/sebsd/bin/cat/cat.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/chflags/chflags.1#3 integrate .. //depot/projects/trustedbsd/sebsd/bin/chflags/chflags.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/chmod/chmod.1#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/chmod/chmod.c#6 integrate .. //depot/projects/trustedbsd/sebsd/bin/cp/cp.1#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/cp/cp.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/cp/extern.h#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/cp/utils.c#5 integrate .. //depot/projects/trustedbsd/sebsd/bin/csh/USD.doc/csh.1#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/csh/USD.doc/csh.2#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/csh/USD.doc/csh.3#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/csh/USD.doc/csh.4#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/csh/USD.doc/csh.a#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/csh/USD.doc/csh.g#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/csh/USD.doc/tabs#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/csh/host.defs#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/date/date.1#5 integrate .. //depot/projects/trustedbsd/sebsd/bin/date/date.c#6 integrate .. //depot/projects/trustedbsd/sebsd/bin/date/extern.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/date/netdate.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/dd/Makefile#5 integrate .. //depot/projects/trustedbsd/sebsd/bin/dd/args.c#5 integrate .. //depot/projects/trustedbsd/sebsd/bin/dd/conv.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/dd/conv_tab.c#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/dd/dd.1#3 integrate .. //depot/projects/trustedbsd/sebsd/bin/dd/dd.c#5 integrate .. //depot/projects/trustedbsd/sebsd/bin/dd/dd.h#5 integrate .. //depot/projects/trustedbsd/sebsd/bin/dd/extern.h#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/dd/misc.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/dd/position.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/df/Makefile#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/df/df.1#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/df/df.c#7 integrate .. //depot/projects/trustedbsd/sebsd/bin/domainname/domainname.1#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/domainname/domainname.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/echo/echo.1#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/echo/echo.c#5 integrate .. //depot/projects/trustedbsd/sebsd/bin/ed/cbc.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/hostname/hostname.1#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/hostname/hostname.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/kenv/kenv.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/kill/kill.1#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/kill/kill.c#5 integrate .. //depot/projects/trustedbsd/sebsd/bin/ln/ln.1#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/ln/ln.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/ln/symlink.7#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/ls/cmp.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/ls/extern.h#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/ls/ls.1#7 integrate .. //depot/projects/trustedbsd/sebsd/bin/ls/ls.c#7 integrate .. //depot/projects/trustedbsd/sebsd/bin/ls/ls.h#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/ls/print.c#7 integrate .. //depot/projects/trustedbsd/sebsd/bin/ls/util.c#5 integrate .. //depot/projects/trustedbsd/sebsd/bin/mkdir/mkdir.1#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/mkdir/mkdir.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/mv/mv.1#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/mv/mv.c#5 integrate .. //depot/projects/trustedbsd/sebsd/bin/pax/ar_io.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/pax/ar_subs.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/pax/buf_subs.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/pax/cache.c#5 integrate .. //depot/projects/trustedbsd/sebsd/bin/pax/cache.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/pax/cpio.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/pax/cpio.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/pax/extern.h#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/pax/file_subs.c#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/pax/ftree.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/pax/ftree.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/pax/gen_subs.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/pax/options.c#5 integrate .. //depot/projects/trustedbsd/sebsd/bin/pax/options.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/pax/pat_rep.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/pax/pat_rep.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/pax/pax.1#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/pax/pax.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/pax/pax.h#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/pax/sel_subs.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/pax/sel_subs.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/pax/tables.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/pax/tables.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/pax/tar.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/pax/tar.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/pax/tty_subs.c#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/ps/extern.h#5 integrate .. //depot/projects/trustedbsd/sebsd/bin/ps/fmt.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/ps/keyword.c#6 integrate .. //depot/projects/trustedbsd/sebsd/bin/ps/nlist.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/ps/print.c#5 integrate .. //depot/projects/trustedbsd/sebsd/bin/ps/ps.1#6 integrate .. //depot/projects/trustedbsd/sebsd/bin/ps/ps.c#5 integrate .. //depot/projects/trustedbsd/sebsd/bin/ps/ps.h#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/pwd/pwd.1#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/pwd/pwd.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/rcp/extern.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/rcp/rcp.1#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/rcp/util.c#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/realpath/realpath.1#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/realpath/realpath.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/rm/rm.1#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/rm/rm.c#6 integrate .. //depot/projects/trustedbsd/sebsd/bin/rmdir/rmdir.1#3 integrate .. //depot/projects/trustedbsd/sebsd/bin/rmdir/rmdir.c#5 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/alias.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/alias.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/arith.h#3 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/arith.y#5 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/arith_lex.l#5 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/bltin/bltin.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/bltin/echo.1#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/bltin/echo.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/builtins.def#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/cd.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/cd.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/error.c#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/error.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/eval.c#6 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/eval.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/exec.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/exec.h#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/expand.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/expand.h#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/funcs/cmv#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/funcs/dirs#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/funcs/kill#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/funcs/login#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/funcs/newgrp#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/funcs/popd#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/funcs/pushd#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/funcs/suspend#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/histedit.c#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/init.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/input.c#5 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/input.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/jobs.c#5 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/jobs.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/mail.c#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/mail.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/main.c#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/main.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/memalloc.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/memalloc.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/miscbltin.c#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/mkbuiltins#3 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/mkinit.c#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/mknodes.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/mksyntax.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/mktokens#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/myhistedit.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/mystring.c#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/mystring.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/nodes.c.pat#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/nodetypes#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/options.c#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/options.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/output.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/output.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/parser.c#5 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/parser.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/redir.c#5 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/redir.h#3 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/sh.1#5 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/shell.h#3 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/show.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/show.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/trap.c#3 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/trap.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/var.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/sh/var.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sleep/sleep.1#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sleep/sleep.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/stty/cchar.c#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/stty/extern.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/stty/gfmt.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/stty/key.c#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/stty/modes.c#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/stty/print.c#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/stty/stty.1#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/stty/stty.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/stty/stty.h#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/stty/util.c#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sync/sync.8#2 integrate .. //depot/projects/trustedbsd/sebsd/bin/sync/sync.c#4 integrate .. //depot/projects/trustedbsd/sebsd/bin/test/test.1#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/NEWS#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/VERSION#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/gensnmpdef/gensnmpdef.1#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/gensnmpdef/gensnmpdef.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/gensnmptree/gensnmptree.c#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/lib/asn1.3#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/lib/bsnmpagent.3#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/lib/bsnmpclient.3#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/lib/bsnmplib.3#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/lib/snmpagent.c#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/lib/snmpagent.h#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmp_mibII/mibII.c#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmp_mibII/mibII_interfaces.c#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmp_mibII/mibII_ipaddr.c#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmp_mibII/snmp_mibII.3#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmpd/BEGEMOT-SNMPD.txt#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmpd/action.c#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmpd/bsnmpd.1#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmpd/config.c#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmpd/main.c#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmpd/snmpd.config#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmpd/snmpmod.3#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmpd/trans_lsock.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/bsnmp/snmpd/trap.c#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/com_err/ChangeLog#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/com_err/Makefile.am#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/com_err/Makefile.in#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/com_err/com_err.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/com_err/com_err.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/com_err/com_right.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/com_err/compile_et.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/com_err/compile_et.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/com_err/error.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/com_err/lex.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/com_err/lex.l#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/com_err/parse.y#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/com_err/roken_rename.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/AUTHORS#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/BUGS#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/ChangeLog#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/FAQ#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/INSTALL#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/Makefile.am#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/Makefile.in#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/NEWS#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/README#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/TESTS#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/TODO#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/acinclude.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/aclocal.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/config.h.in#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/configure#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/configure.in#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/contrib/ChangeLog#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/contrib/Makefile.am#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/contrib/Makefile.in#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/contrib/check_cvs.in#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/contrib/commit_prep.in#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/contrib/cvs2vendor.sh#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/contrib/log_accum.in#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/contrib/rcs2log.sh#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/contrib/rcs2sccs.sh#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/contrib/sccs2rcs.in#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/depcomp#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/diff/ChangeLog#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/diff/Makefile.in#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/diff/diff.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/diff/diff3.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/diff/diffrun.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/diff/io.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/diff/system.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/diff/util.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/doc/ChangeLog#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/doc/Makefile.am#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/doc/Makefile.in#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/doc/cvs.texinfo#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/doc/cvsclient.texi#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/doc/stamp-1#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/doc/stamp-vti#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/doc/version-client.texi#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/doc/version.texi#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/lib/ChangeLog#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/lib/Makefile.am#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/lib/Makefile.in#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/lib/fncase.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/lib/getdate.y#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/lib/getpass.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/cvs/lib/mkdir.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/lib/regex.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/lib/system.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/lib/wait.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/man/ChangeLog#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/man/Makefile.am#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/man/Makefile.in#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/man/cvs.1#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/man/cvs.5#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/mktemp.sh#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/cvs/noautomake.sh#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/ChangeLog#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/Makefile.am#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/Makefile.in#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/add.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/admin.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/annotate.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/buffer.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/buffer.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/checkin.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/checkout.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/classify.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/client.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/client.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/commit.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/create_adm.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/cvs.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/cvsbug.in#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/cvsrc.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/diff.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/edit.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/edit.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/entries.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/error.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/expand_path.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/fileattr.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/fileattr.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/filesubr.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/find_names.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/hardlink.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/hash.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/hash.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/history.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/history.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/ignore.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/import.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/lock.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/log.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/login.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/logmsg.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/main.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/mkmodules.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/modules.c#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/myndbm.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/no_diff.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/parseinfo.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/patch.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/rcs.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/rcs.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/rcscmds.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/recurse.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/release.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/remove.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/repos.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/root.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/root.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/run.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/sanity.sh#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/server.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/server.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/stack.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/stack.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/status.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/subr.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/tag.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/update.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/update.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/vers_ts.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/watch.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/watch.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/wrapper.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/src/zlib.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/tools/ChangeLog#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/tools/Makefile.am#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/cvs/tools/Makefile.in#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/groff/tmac/doc-common#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/groff/tmac/doc-syms#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/LICENSE#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/Makefile.aut#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/Makefile.dsg#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/Makefile.in#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/NEWS#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/README#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/acconfig.h#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/less/brac.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/ch.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/charset.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/cmd.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/cmdbuf.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/command.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/configure#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/configure.ac#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/less/configure.in#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/less/decode.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/defines.ds#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/defines.h.in#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/defines.h.top#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/less/defines.o2#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/defines.wn#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/edit.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/filename.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/forwback.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/funcs.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/help.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/ifile.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/input.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/jump.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/less.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/less.hlp#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/less.man#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/less.nro#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/lessecho.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/lesskey.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/lesskey.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/lesskey.man#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/lesskey.nro#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/lglob.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/line.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/linenum.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/lsystem.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/main.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/mark.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/mkhelp.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/optfunc.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/option.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/option.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/opttbl.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/os.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/output.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/pckeys.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/position.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/position.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/prompt.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/screen.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/scrsize.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/search.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/signal.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/tags.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/ttyin.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/less/version.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/.cvsignore#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/CHANGES#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/CREDITS#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/FILES#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/INSTALL.txt#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/Makefile.in#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/README#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/README.Win32#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/README.aix#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/README.dag#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/README.hpux#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/VERSION#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/atmuni31.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/bpf/net/bpf.h#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/bpf/net/bpf_filter.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/bpf_dump.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/bpf_image.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/config.guess#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/config.h.in#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/config.sub#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/configure#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/configure.in#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/etherent.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/fad-getad.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/fad-gifc.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/fad-glifc.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/fad-null.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/fad-win32.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/gencode.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/gencode.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/grammar.y#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/inet.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/lbl/os-aix4.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/lbl/os-hpux11.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/lbl/os-osf5.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/nametoaddr.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/nlpid.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/optimize.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/pcap-bpf.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/pcap-bpf.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/pcap-dag.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/pcap-dag.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/pcap-dlpi.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/pcap-enet.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/pcap-int.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/pcap-linux.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/pcap-nit.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/pcap-null.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/pcap-pf.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/pcap-snit.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/pcap-snoop.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/pcap-stdinc.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/pcap-win32.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/pcap.3#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/pcap.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/pcap.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/pf.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/rawss7.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/savefile.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/scanner.l#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/sll.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/snprintf.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/libpcap/sunatmpos.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/lukemftp/src/fetch.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/lukemftp/src/ftp.1#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/lukemftp/src/ftp.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/lukemftp/src/progressbar.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/lukemftp/src/progressbar.h#3 integrate .. //depot/projects/trustedbsd/sebsd/contrib/lukemftp/src/util.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/lukemftp/src/version.h#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/patch/COPYING#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/ChangeLog#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/FREEBSD-upgrade#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/INSTALL#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/Makefile.in#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/NEWS#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/README#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/acconfig.h#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/addext.c#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/argmatch.c#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/argmatch.h#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/backupfile.c#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/backupfile.h#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/basename.c#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/common.h#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/config.hin#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/configure#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/configure.in#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/getopt.c#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/getopt.h#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/getopt1.c#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/inp.c#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/inp.h#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/install-sh#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/maketime.c#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/maketime.h#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/partime.c#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/partime.h#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/patch.1#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/patch.c#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/pch.c#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/pch.h#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/quotearg.c#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/quotearg.h#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/util.c#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/util.h#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/version.c#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/patch/version.h#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/pf/man/pf.4#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/pf/man/pflog.4#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/pf/man/pfsync.4#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/sendmail/FREEBSD-upgrade#7 integrate .. //depot/projects/trustedbsd/sebsd/contrib/smbfs/mount_smbfs/mount_smbfs.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/CHANGES#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/CREDITS#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/FILES#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/INSTALL#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/Makefile.in#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/README#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/Readme.Win32#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/VERSION#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/acconfig.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/addrtoname.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/aodv.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/appletalk.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/arcnet.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/atm.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/atmuni31.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/bootp.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/bpf_dump.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/config.guess#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/config.h.in#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/config.sub#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/configure#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/configure.in#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/decnet.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/enc.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/ether.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/ethertype.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/extract.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/fddi.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/gmpls.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/gmpls.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/gmt2local.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/icmp6.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/ieee802_11.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/igrp.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/interface.h#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/ip.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/ip6.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/ipfc.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/ipproto.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/ipsec_doi.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/ipx.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/isakmp.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/lane.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/lbl/os-osf4.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/llc.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/machdep.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/missing/addrinfo.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/missing/addrsize.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/missing/bittypes.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/missing/datalinks.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/missing/dlnames.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/missing/getaddrinfo.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/missing/getnameinfo.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/missing/inet_aton.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/missing/inet_ntop.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/missing/inet_pton.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/missing/resolv6.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/missing/resolv_ext.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/missing/snprintf.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/missing/sockstorage.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/missing/strlcat.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/missing/strlcpy.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/missing/strsep.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/nameser.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/netbios.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/nfs.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/nfsfh.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/ntp.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/oakley.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/ospf.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/ospf6.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/oui.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/oui.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/parsenfsfh.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/pcap-missing.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/pf.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/ppp.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-802_11.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-ah.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-aodv.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-ap1394.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-arcnet.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-arp.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-ascii.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-atalk.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-atm.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-beep.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-bfd.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-bgp.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-bootp.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-cdp.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-chdlc.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-cip.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-cnfp.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-decnet.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-dhcp6.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-domain.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-dvmrp.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-egp.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-enc.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-esp.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-ether.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-fddi.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-fr.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-frag6.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-gre.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-hsrp.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-icmp.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-icmp6.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-igmp.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-igrp.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-ip.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-ip6.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-ip6opts.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-ipcomp.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-ipfc.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-ipx.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-isakmp.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-isoclns.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-krb.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-l2tp.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-lane.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-lcp.c#2 delete .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-ldp.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-llc.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-lwres.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-mobile.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-mobility.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-mpls.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-msdp.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-netbios.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-nfs.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-ntp.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-null.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-ospf.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-ospf6.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-pflog.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-pim.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-ppp.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-pppoe.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-pptp.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-radius.c#5 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-raw.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-rip.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-ripng.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-rsvp.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-rt6.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-rx.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-sctp.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-sl.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-sll.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-smb.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-snmp.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-stp.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-sunatm.c#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-sunrpc.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-tcp.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-telnet.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-tftp.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-timed.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-token.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-udp.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-vjc.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-vrrp.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-wb.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/print-zephyr.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/route6d.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/rx.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/sctpConstants.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/sctpHeader.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/setsignal.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/sll.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/smb.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/smbutil.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/strcasecmp.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/tcp.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/tcpdump-stdinc.h#1 branch .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/tcpdump.1#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/tcpdump.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/telnet.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/timed.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/token.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/udp.h#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/util.c#4 integrate .. //depot/projects/trustedbsd/sebsd/contrib/tcpdump/vfprintf.c#2 integrate .. //depot/projects/trustedbsd/sebsd/contrib/traceroute/traceroute.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/ChangeLog#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/NEWS#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/TODO#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/acinclude.m4#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/aclocal.m4#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/admin/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/admin/ktutil.cat8#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/afsutil/ChangeLog#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/afsutil/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/afsutil/afslog.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/ftp/ChangeLog#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/ftp/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/ftp/common/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/ftp/ftp/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/ftp/ftp/ftp.1#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/ftp/ftp/ftp.cat1#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/ftp/ftp/gssapi.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/ftp/ftp/main.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/ftp/ftp/security.h#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/ftp/ftpd/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/ftp/ftpd/ftpd.8#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/ftp/ftpd/ftpd.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/ftp/ftpd/ftpd.cat8#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/ftp/ftpd/ftpusers.cat5#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/kf/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/kf/kf.cat1#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/kf/kfd.cat8#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/login/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/push/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/push/pfrom.cat1#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/push/push.cat8#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/rcp/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/rsh/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/rsh/rshd.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/su/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/telnet/ChangeLog#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/telnet/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/telnet/libtelnet/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/telnet/telnet/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/telnet/telnet/main.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/telnet/telnet/telnet.cat1#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/telnet/telnetd/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/telnet/telnetd/telnetd.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/telnet/telnetd/telnetd.cat8#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/appl/test/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/ChangeLog#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/Makefile.am.common#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/aix.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/auth-modules.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/broken-getaddrinfo.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/broken-getnameinfo.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/broken-glob.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/broken-realloc.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/broken-snprintf.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/c-attribute.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/c-function.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/capabilities.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/check-compile-et.m4#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/check-declaration.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/check-getpwnam_r-posix.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/check-man.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/check-netinet-ip-and-tcp.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/check-type-extra.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/check-x.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/check-xau.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/find-func-no-libs.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/find-func-no-libs2.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/find-func.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/find-if-not-broken.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/have-pragma-weak.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/have-struct-field.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/have-type.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/have-types.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/krb-bigendian.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/krb-func-getcwd-broken.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/krb-func-getlogin.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/krb-ipv6.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/krb-prog-ln-s.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/krb-prog-ranlib.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/krb-prog-yacc.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/krb-readline.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/krb-struct-spwd.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/krb-struct-winsize.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/krb-sys-aix.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/krb-sys-nextstep.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/krb-version.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/mips-abi.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/need-proto.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/osfc2.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/proto-compat.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/retsigtype.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/roken-frag.m4#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/roken.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/test-package.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/cf/wflags.m4#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/config.guess#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/config.sub#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/configure#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/configure.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/doc/Makefile.am#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/doc/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/doc/ack.texi#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/doc/setup.texi#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/include/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/include/config.h.in#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/include/kadm5/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/install-sh#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/kadmin/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/kadmin/kadmin.cat8#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/kadmin/kadmind.cat8#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/kdc/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/kdc/config.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/kdc/connect.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/kdc/hprop.cat8#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/kdc/hpropd.cat8#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/kdc/kaserver.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/kdc/kdc.8#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/kdc/kdc.cat8#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/kdc/kdc_locl.h#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/kdc/kerberos4.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/kdc/kerberos5.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/kdc/kstash.cat8#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/kdc/string2key.cat8#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/kpasswd/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/kpasswd/kpasswd.cat1#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/kpasswd/kpasswdd.cat8#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/kuser/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/kuser/kdestroy.cat1#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/kuser/kgetcred.cat1#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/kuser/kinit.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/kuser/kinit.cat1#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/kuser/klist.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/kuser/klist.cat1#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/45/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/asn1/Makefile.am#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/asn1/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/asn1/der_free.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/asn1/der_length.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/asn1/der_locl.h#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/asn1/gen_free.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/asn1/gen_length.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/auth/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/auth/afskauthlib/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/auth/pam/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/auth/sia/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/com_err/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/gssapi/8003.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/gssapi/ChangeLog#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/gssapi/Makefile.am#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/gssapi/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/gssapi/accept_sec_context.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/gssapi/acquire_cred.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/gssapi/add_cred.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/gssapi/arcfour.c#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/gssapi/arcfour.h#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/gssapi/context_time.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/gssapi/decapsulate.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/gssapi/encapsulate.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/gssapi/get_mic.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/gssapi/gssapi_locl.h#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/gssapi/init_sec_context.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/gssapi/release_cred.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/gssapi/unwrap.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/gssapi/verify_mic.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/gssapi/wrap.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/hdb/Makefile.am#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/hdb/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/hdb/db3.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/hdb/hdb-ldap.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/hdb/hdb_locl.h#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/kadm5/ChangeLog#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/kadm5/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/kadm5/chpass_s.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/kadm5/init_c.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/kadm5/ipropd_slave.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/kadm5/truncate_log.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/kafs/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/kafs/kafs.cat3#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/krb5/Makefile.am#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/krb5/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/krb5/config_file.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/krb5/crypto.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/krb5/eai_to_heim_errno.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/krb5/fcache.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/krb5/get_cred.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/krb5/get_for_creds.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/krb5/get_in_tkt.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/krb5/krb5-private.h#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/krb5/krb5-protos.h#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/krb5/krb5.conf.5#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/krb5/krb5.h#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/krb5/mcache.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/krb5/mk_req_ext.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/krb5/mk_safe.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/krb5/parse-name-test.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/krb5/principal.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/krb5/rd_req.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/krb5/store.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/krb5/ticket.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/krb5/transited.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/krb5/verify_krb5_conf.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/roken/ChangeLog#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/roken/Makefile.am#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/roken/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/roken/config.h.in#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/roken/gai_strerror.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/roken/ndbm_wrap.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/roken/roken-common.h#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/sl/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/vers/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/lib/vers/print_version.c#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/ltconfig#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/ltmain.sh#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/missing#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/mkinstalldirs#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/tools/Makefile.in#3 integrate .. //depot/projects/trustedbsd/sebsd/crypto/heimdal/tools/krb5-config.cat1#2 delete .. //depot/projects/trustedbsd/sebsd/crypto/openssh/.cvsignore#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/ChangeLog#6 integrate .. //depot/projects/trustedbsd/sebsd/crypto/openssh/README#5 integrate .. //depot/projects/trustedbsd/sebsd/crypto/openssh/acconfig.h#6 integrate .. //depot/projects/trustedbsd/sebsd/crypto/openssh/auth-krb5.c#6 integrate .. //depot/projects/trustedbsd/sebsd/crypto/openssh/auth-pam.c#6 integrate .. //depot/projects/trustedbsd/sebsd/crypto/openssh/auth-pam.h#4 integrate .. //depot/projects/trustedbsd/sebsd/crypto/openssh/auth-passwd.c#6 integrate .. //depot/projects/trustedbsd/sebsd/crypto/openssh/auth-sia.c#6 integrate .. //depot/projects/trustedbsd/sebsd/crypto/openssh/auth-sia.h#5 integrate .. //depot/projects/trustedbsd/sebsd/crypto/openssh/auth-skey.c#2 integrate .. //depot/projects/trustedbsd/sebsd/crypto/openssh/auth.h#6 integrate .. //depot/projects/trustedbsd/sebsd/crypto/openssh/auth1.c#6 integrate .. //depot/projects/trustedbsd/sebsd/crypto/openssh/auth2.c#6 integrate .. //depot/projects/trustedbsd/sebsd/crypto/openssh/canohost.c#6 integrate .. //depot/projects/trustedbsd/sebsd/crypto/openssh/config.h#6 integrate .. //depot/projects/trustedbsd/sebsd/crypto/openssh/configure.ac#6 integrate .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/Makefile#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/README#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/aix/README#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/aix/buildbff.sh#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/aix/inventory.sh#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/aix/pam.conf#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/caldera/openssh.spec#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/caldera/ssh-host-keygen#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/caldera/sshd.init#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/caldera/sshd.pam#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/cygwin/Makefile#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/cygwin/README#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/cygwin/ssh-host-config#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/cygwin/ssh-user-config#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/findssl.sh#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/gnome-ssh-askpass1.c#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/gnome-ssh-askpass2.c#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/hpux/README#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/hpux/egd#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/hpux/egd.rc#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/hpux/sshd#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/hpux/sshd.rc#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/redhat/gnome-ssh-askpass.csh#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/redhat/gnome-ssh-askpass.sh#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/redhat/openssh.spec#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/redhat/sshd.init#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/redhat/sshd.pam#1 branch .. //depot/projects/trustedbsd/sebsd/crypto/openssh/contrib/solaris/README#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed May 19 16:48:07 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C5AE216A4D0; Wed, 19 May 2004 16:48:06 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9F9CD16A4CE for ; Wed, 19 May 2004 16:48:06 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 989C543D41 for ; Wed, 19 May 2004 16:48:06 -0700 (PDT) (envelope-from cvance@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i4JNm6JQ011379 for ; Wed, 19 May 2004 16:48:06 -0700 (PDT) (envelope-from cvance@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i4JNm5VX011376 for perforce@freebsd.org; Wed, 19 May 2004 16:48:05 -0700 (PDT) (envelope-from cvance@nailabs.com) Date: Wed, 19 May 2004 16:48:05 -0700 (PDT) Message-Id: <200405192348.i4JNm5VX011376@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cvance@nailabs.com using -f From: Chris Vance To: Perforce Change Reviews Subject: PERFORCE change 53086 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 May 2004 23:48:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=53086 Change 53086 by cvance@cvance_sony on 2004/05/19 16:47:52 On second thought, I should leave the thread argument in the cap_check_cred function until I can figure out why it was added in the first place. Affected files ... .. //depot/projects/trustedbsd/sebsd/sys/kern/kern_cap.c#5 edit .. //depot/projects/trustedbsd/sebsd/sys/sys/capability.h#4 edit Differences ... ==== //depot/projects/trustedbsd/sebsd/sys/kern/kern_cap.c#5 (text+ko) ==== @@ -134,7 +134,8 @@ } int -cap_check_cred(struct ucred *cred, cap_value_t cap, int jailflags) +cap_check_cred(struct ucred *cred, struct thread *td, cap_value_t cap, + int jailflags) { int error; ==== //depot/projects/trustedbsd/sebsd/sys/sys/capability.h#4 (text+ko) ==== @@ -195,7 +195,8 @@ struct ucred; struct vnode; -int cap_check_cred(struct ucred *, cap_value_t, int jailflag); +int cap_check_cred(struct ucred *, struct thread *, cap_value_t, + int jailflag); int cap_check(struct thread *, cap_value_t); const char *capv_to_text(cap_value_t capv); From owner-p4-projects@FreeBSD.ORG Thu May 20 23:23:56 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3FD0016A4D0; Thu, 20 May 2004 23:23:56 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1858116A4CE for ; Thu, 20 May 2004 23:23:56 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1094A43D2D for ; Thu, 20 May 2004 23:23:56 -0700 (PDT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i4L6NiL7056727 for ; Thu, 20 May 2004 23:23:44 -0700 (PDT) (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i4L6NhxW056724 for perforce@freebsd.org; Thu, 20 May 2004 23:23:43 -0700 (PDT) (envelope-from imp@freebsd.org) Date: Thu, 20 May 2004 23:23:43 -0700 (PDT) Message-Id: <200405210623.i4L6NhxW056724@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Subject: PERFORCE change 53150 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 May 2004 06:23:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=53150 Change 53150 by imp@imp_pacopaco on 2004/05/20 23:23:32 IFC @53147 Affected files ... .. //depot/projects/power/sys/alpha/include/profile.h#2 integrate .. //depot/projects/power/sys/amd64/amd64/machdep.c#9 integrate .. //depot/projects/power/sys/amd64/amd64/pmap.c#11 integrate .. //depot/projects/power/sys/amd64/include/profile.h#4 integrate .. //depot/projects/power/sys/arm/include/profile.h#2 integrate .. //depot/projects/power/sys/boot/pc98/boot2/serial_16550.S#4 integrate .. //depot/projects/power/sys/boot/pc98/boot2/serial_8251.S#4 integrate .. //depot/projects/power/sys/boot/pc98/btx/btx/btx.S#4 integrate .. //depot/projects/power/sys/boot/pc98/btx/btxldr/btxldr.S#4 integrate .. //depot/projects/power/sys/conf/NOTES#18 integrate .. //depot/projects/power/sys/conf/files#15 integrate .. //depot/projects/power/sys/conf/options#18 integrate .. //depot/projects/power/sys/dev/ata/ata-all.c#9 integrate .. //depot/projects/power/sys/dev/em/if_em.c#7 integrate .. //depot/projects/power/sys/dev/iir/iir.c#3 integrate .. //depot/projects/power/sys/dev/iir/iir.h#4 integrate .. //depot/projects/power/sys/dev/iir/iir_ctrl.c#4 integrate .. //depot/projects/power/sys/dev/pccbb/pccbb.c#13 integrate .. //depot/projects/power/sys/dev/pccbb/pccbbvar.h#3 integrate .. //depot/projects/power/sys/dev/pci/pci.c#17 integrate .. //depot/projects/power/sys/dev/usb/umodem.c#3 integrate .. //depot/projects/power/sys/dev/usb/usbdevs#13 integrate .. //depot/projects/power/sys/dev/usb/usbdevs.h#13 integrate .. //depot/projects/power/sys/dev/usb/usbdevs_data.h#13 integrate .. //depot/projects/power/sys/geom/concat/g_concat.c#4 integrate .. //depot/projects/power/sys/geom/concat/g_concat.h#2 integrate .. //depot/projects/power/sys/geom/nop/g_nop.c#1 branch .. //depot/projects/power/sys/geom/nop/g_nop.h#1 branch .. //depot/projects/power/sys/geom/stripe/g_stripe.c#1 branch .. //depot/projects/power/sys/geom/stripe/g_stripe.h#1 branch .. //depot/projects/power/sys/i386/include/profile.h#5 integrate .. //depot/projects/power/sys/ia64/include/profile.h#2 integrate .. //depot/projects/power/sys/kern/kern_jail.c#4 integrate .. //depot/projects/power/sys/kern/kern_sig.c#12 integrate .. //depot/projects/power/sys/kern/link_elf.c#3 integrate .. //depot/projects/power/sys/kern/subr_prof.c#4 integrate .. //depot/projects/power/sys/kern/uipc_socket2.c#7 integrate .. //depot/projects/power/sys/modules/geom/Makefile#4 integrate .. //depot/projects/power/sys/modules/geom/geom_nop/Makefile#1 branch .. //depot/projects/power/sys/modules/geom/geom_stripe/Makefile#1 branch .. //depot/projects/power/sys/netgraph/ng_hole.c#2 integrate .. //depot/projects/power/sys/netgraph/ng_hole.h#3 integrate .. //depot/projects/power/sys/netinet/in_pcb.c#10 integrate .. //depot/projects/power/sys/pci/agp_sis.c#4 integrate .. //depot/projects/power/sys/pci/if_sk.c#10 integrate .. //depot/projects/power/sys/powerpc/include/profile.h#2 integrate .. //depot/projects/power/sys/powerpc/powerpc/trap.c#2 integrate .. //depot/projects/power/sys/sparc64/include/profile.h#2 integrate .. //depot/projects/power/sys/sparc64/sparc64/vm_machdep.c#6 integrate .. //depot/projects/power/sys/sys/ata.h#3 integrate .. //depot/projects/power/sys/sys/gmon.h#3 integrate .. //depot/projects/power/sys/ufs/ffs/ffs_alloc.c#6 integrate Differences ... ==== //depot/projects/power/sys/alpha/include/profile.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/alpha/include/profile.h,v 1.5 2002/03/20 18:58:45 obrien Exp $ */ +/* $FreeBSD: src/sys/alpha/include/profile.h,v 1.6 2004/05/19 15:41:25 bde Exp $ */ /* From: NetBSD: profile.h,v 1.9 1997/04/06 08:47:37 cgd Exp */ /* @@ -220,18 +220,6 @@ #define MCOUNT_EXIT(s) \ (void)_alpha_pal_swpipl(s); #define MCOUNT_DECL(s) u_long s; -#ifdef GUPROF -struct gmonparam; - -void nullfunc_loop_profiled(void); -void nullfunc_profiled(void); -void startguprof(struct gmonparam *p); -void stopguprof(struct gmonparam *p); -#else -#define startguprof(p) -#define stopguprof(p) -#endif /* GUPROF */ - #else /* !_KERNEL */ typedef u_long uintfptr_t; #endif ==== //depot/projects/power/sys/amd64/amd64/machdep.c#9 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.606 2004/05/18 05:30:06 bde Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.607 2004/05/19 01:23:48 peter Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -1138,8 +1138,10 @@ kmdp = preload_search_by_type("elf64 kernel"); boothowto = MD_FETCH(kmdp, MODINFOMD_HOWTO, int); kern_envp = MD_FETCH(kmdp, MODINFOMD_ENVP, char *) + KERNBASE; +#ifdef DDB ksym_start = MD_FETCH(kmdp, MODINFOMD_SSYM, void *); ksym_end = MD_FETCH(kmdp, MODINFOMD_ESYM, void *); +#endif /* Init basic tunables, hz etc */ init_param1(); ==== //depot/projects/power/sys/amd64/amd64/pmap.c#11 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.459 2004/05/16 22:11:50 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.460 2004/05/19 21:55:37 peter Exp $"); /* * Manages physical address maps. @@ -1296,11 +1296,16 @@ LIST_REMOVE(pmap, pm_list); mtx_unlock_spin(&allpmaps_lock); + m = PHYS_TO_VM_PAGE(pmap->pm_pml4[PML4PML4I]); + + pmap->pm_pml4[KPML4I] = 0; /* KVA */ + pmap->pm_pml4[DMPML4I] = 0; /* Direct Map */ + pmap->pm_pml4[PML4PML4I] = 0; /* Recursive Mapping */ + vm_page_lock_queues(); - m = PHYS_TO_VM_PAGE(pmap->pm_pml4[PML4PML4I]); m->wire_count--; atomic_subtract_int(&cnt.v_wire_count, 1); - vm_page_free(m); + vm_page_free_zero(m); vm_page_unlock_queues(); } ==== //depot/projects/power/sys/amd64/include/profile.h#4 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)profile.h 8.1 (Berkeley) 6/11/93 - * $FreeBSD: src/sys/amd64/include/profile.h,v 1.34 2004/04/05 21:25:51 imp Exp $ + * $FreeBSD: src/sys/amd64/include/profile.h,v 1.39 2004/05/20 16:22:57 bde Exp $ */ #ifndef _MACHINE_PROFILE_H_ @@ -50,14 +50,29 @@ #define MCOUNT #ifdef GUPROF -#define CALIB_SCALE 1000 -#define KCOUNT(p,index) ((p)->kcount[(index) \ - / (HISTFRACTION * sizeof(HISTCOUNTER))]) #define MCOUNT_DECL(s) #define MCOUNT_ENTER(s) #define MCOUNT_EXIT(s) -#define PC_TO_I(p, pc) ((uintfptr_t)(pc) - (uintfptr_t)(p)->lowpc) +#ifdef __GNUC__ +#define MCOUNT_OVERHEAD(label) \ + __asm __volatile("pushq %0; call __mcount; popq %%rcx" \ + : \ + : "i" (profil) \ + : "ax", "dx", "cx", "di", "si", "r8", "r9", "memory") +#define MEXITCOUNT_OVERHEAD() \ + __asm __volatile("call .mexitcount; 1:" \ + : : \ + : "ax", "dx", "cx", "di", "si", "r8", "r9", "memory") +#define MEXITCOUNT_OVERHEAD_GETLABEL(labelp) \ + __asm __volatile("movq $1b,%0" : "=rm" (labelp)) +#elif defined(lint) +#define MCOUNT_OVERHEAD(label) +#define MEXITCOUNT_OVERHEAD() +#define MEXITCOUNT_OVERHEAD_GETLABEL() #else +#error +#endif /* __GNUC */ +#else /* !GUPROF */ #define MCOUNT_DECL(s) u_long s; #ifdef SMP extern int mcount_lock; @@ -76,9 +91,43 @@ #define FUNCTION_ALIGNMENT 4 -#define _MCOUNT_DECL static __inline void _mcount +#define _MCOUNT_DECL \ +static void _mcount(uintfptr_t frompc, uintfptr_t selfpc) __unused; \ +static void _mcount #ifdef __GNUC__ +#define MCOUNT __asm(" \n\ + .globl .mcount \n\ + .type .mcount @function \n\ +.mcount: \n\ + pushq %rbp \n\ + movq %rsp,%rbp \n\ + pushq %rdi \n\ + pushq %rsi \n\ + pushq %rdx \n\ + pushq %rcx \n\ + pushq %r8 \n\ + pushq %r9 \n\ + movq 8(%rbp),%rsi \n\ + movq (%rbp),%rdi \n\ + movq 8(%rdi),%rdi \n\ + call _mcount \n\ + popq %r9 \n\ + popq %r8 \n\ + popq %rcx \n\ + popq %rdx \n\ + popq %rsi \n\ + popq %rdi \n\ + leave \n\ + ret \n\ + .size .mcount, . - .mcount"); +#if 0 +/* + * We could use this, except it doesn't preserve the registers that were + * being passed with arguments to the function that we were inserted + * into. I've left it here as documentation of what the code above is + * supposed to do. + */ #define MCOUNT \ void \ mcount() \ @@ -93,23 +142,24 @@ __asm("movq 8(%%rbp),%0" : "=r" (selfpc)); \ /* \ * frompc = pc pushed by call to mcount's caller. \ - * The caller's stack frame has already been built, so %ebp is \ + * The caller's stack frame has already been built, so %rbp is \ * the caller's frame pointer. The caller's raddr is in the \ * caller's frame following the caller's caller's frame pointer.\ */ \ - __asm("movq (%%rbp),%0" : "=r" (frompc)); \ + __asm("movq (%%rbp),%0" : "=r" (frompc)); \ frompc = ((uintfptr_t *)frompc)[1]; \ _mcount(frompc, selfpc); \ } -#else /* __GNUC__ */ -#define MCOUNT \ -void \ -mcount() \ -{ \ +#endif +#else /* !__GNUC__ */ +#define MCOUNT \ +void \ +mcount() \ +{ \ } -#endif /* __GNUC__ */ +#endif /* __GNUC__ */ -typedef unsigned long uintfptr_t; +typedef u_long uintfptr_t; #endif /* _KERNEL */ @@ -117,24 +167,11 @@ * An unsigned integral type that can hold non-negative difference between * function pointers. */ -typedef u_int fptrdiff_t; +typedef u_long fptrdiff_t; #ifdef _KERNEL void mcount(uintfptr_t frompc, uintfptr_t selfpc); -void kmupetext(uintfptr_t nhighpc); - -#ifdef GUPROF -struct gmonparam; - -void nullfunc_loop_profiled(void); -void nullfunc_profiled(void); -void startguprof(struct gmonparam *p); -void stopguprof(struct gmonparam *p); -#else -#define startguprof(p) -#define stopguprof(p) -#endif /* GUPROF */ #else /* !_KERNEL */ @@ -148,17 +185,4 @@ #endif /* _KERNEL */ -#ifdef GUPROF -/* XXX doesn't quite work outside kernel yet. */ -extern int cputime_bias; - -__BEGIN_DECLS -int cputime(void); -void empty_loop(void); -void mexitcount(uintfptr_t selfpc); -void nullfunc(void); -void nullfunc_loop(void); -__END_DECLS -#endif - #endif /* !_MACHINE_PROFILE_H_ */ ==== //depot/projects/power/sys/arm/include/profile.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)profile.h 8.1 (Berkeley) 6/11/93 - * $FreeBSD: src/sys/arm/include/profile.h,v 1.1 2004/05/14 11:46:44 cognet Exp $ + * $FreeBSD: src/sys/arm/include/profile.h,v 1.2 2004/05/19 15:41:25 bde Exp $ */ #ifndef _MACHINE_PROFILE_H_ @@ -54,13 +54,9 @@ #define MCOUNT #ifdef GUPROF -#define CALIB_SCALE 1000 -#define KCOUNT(p,index) ((p)->kcount[(index) \ - / (HISTFRACTION * sizeof(HISTCOUNTER))]) #define MCOUNT_DECL(s) #define MCOUNT_ENTER(s) #define MCOUNT_EXIT(s) -#define PC_TO_I(p, pc) ((uintfptr_t)(pc) - (uintfptr_t)(p)->lowpc) #else #define MCOUNT_DECL(s) u_long s; #ifdef SMP @@ -97,19 +93,6 @@ #ifdef _KERNEL void mcount(uintfptr_t frompc, uintfptr_t selfpc); -void kmupetext(uintfptr_t nhighpc); - -#ifdef GUPROF -struct gmonparam; - -void nullfunc_loop_profiled(void); -void nullfunc_profiled(void); -void startguprof(struct gmonparam *p); -void stopguprof(struct gmonparam *p); -#else -#define startguprof(p) -#define stopguprof(p) -#endif /* GUPROF */ #else /* !_KERNEL */ @@ -123,17 +106,4 @@ #endif /* _KERNEL */ -#ifdef GUPROF -/* XXX doesn't quite work outside kernel yet. */ -extern int cputime_bias; - -__BEGIN_DECLS -int cputime(void); -void empty_loop(void); -void mexitcount(uintfptr_t selfpc); -void nullfunc(void); -void nullfunc_loop(void); -__END_DECLS -#endif - #endif /* !_MACHINE_PROFILE_H_ */ ==== //depot/projects/power/sys/boot/pc98/boot2/serial_16550.S#4 (text+ko) ==== @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.2 92/04/04 11:34:26 rpd - * $FreeBSD: src/sys/boot/pc98/boot2/serial_16550.S,v 1.6 2004/05/14 20:29:30 ru Exp $ + * $FreeBSD: src/sys/boot/pc98/boot2/serial_16550.S,v 1.7 2004/05/20 20:48:29 markm Exp $ */ /* ==== //depot/projects/power/sys/boot/pc98/boot2/serial_8251.S#4 (text+ko) ==== @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.2 92/04/04 11:34:26 rpd - * $FreeBSD: src/sys/boot/pc98/boot2/serial_8251.S,v 1.3 2004/05/14 20:29:30 ru Exp $ + * $FreeBSD: src/sys/boot/pc98/boot2/serial_8251.S,v 1.4 2004/05/20 20:52:04 markm Exp $ */ /* ==== //depot/projects/power/sys/boot/pc98/btx/btx/btx.S#4 (text+ko) ==== @@ -12,7 +12,7 @@ * warranties of merchantability and fitness for a particular * purpose. * - * $FreeBSD: src/sys/boot/pc98/btx/btx/btx.S,v 1.18 2004/05/14 20:29:31 ru Exp $ + * $FreeBSD: src/sys/boot/pc98/btx/btx/btx.S,v 1.19 2004/05/20 20:30:59 markm Exp $ */ /* ==== //depot/projects/power/sys/boot/pc98/btx/btxldr/btxldr.S#4 (text+ko) ==== @@ -12,7 +12,7 @@ * warranties of merchantability and fitness for a particular * purpose. * - * $FreeBSD: src/sys/boot/pc98/btx/btxldr/btxldr.S,v 1.10 2004/05/14 20:29:31 ru Exp $ + * $FreeBSD: src/sys/boot/pc98/btx/btxldr/btxldr.S,v 1.11 2004/05/20 20:24:18 markm Exp $ */ /* ==== //depot/projects/power/sys/conf/NOTES#18 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1225 2004/05/03 22:35:27 ambrisko Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1226 2004/05/20 10:37:10 pjd Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -126,7 +126,9 @@ options GEOM_GATE # Userland services. options GEOM_GPT # GPT partitioning options GEOM_MBR # DOS/MBR partitioning +options GEOM_NOP # Test class. options GEOM_PC98 # NEC PC9800 partitioning +options GEOM_STRIPE # Disk striping. options GEOM_SUNLABEL # Sun/Solaris partitioning options GEOM_VOL # Volume names from UFS superblock ==== //depot/projects/power/sys/conf/files#15 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.893 2004/05/03 21:18:56 pjd Exp $ +# $FreeBSD: src/sys/conf/files,v 1.894 2004/05/20 10:37:11 pjd Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -919,6 +919,8 @@ crypto/sha2/sha2.c optional geom_bde geom/concat/g_concat.c optional geom_concat geom/gate/g_gate.c optional geom_gate +geom/nop/g_nop.c optional geom_nop +geom/stripe/g_stripe.c optional geom_stripe geom/geom_aes.c optional geom_aes geom/geom_apple.c optional geom_apple geom/geom_bsd.c optional geom_bsd ==== //depot/projects/power/sys/conf/options#18 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.450 2004/05/13 03:15:04 imp Exp $ +# $FreeBSD: src/sys/conf/options,v 1.451 2004/05/20 10:37:11 pjd Exp $ # # On the handling of kernel options # @@ -74,7 +74,9 @@ GEOM_GPT opt_geom.h GEOM_MBR opt_geom.h GEOM_MIRROR opt_geom.h +GEOM_NOP opt_geom.h GEOM_PC98 opt_geom.h +GEOM_STRIPE opt_geom.h GEOM_SUNLABEL opt_geom.h GEOM_VOL opt_geom.h HW_WDOG ==== //depot/projects/power/sys/dev/ata/ata-all.c#9 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.209 2004/04/30 16:21:34 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.210 2004/05/20 14:49:12 des Exp $"); #include "opt_ata.h" #include @@ -58,7 +58,7 @@ /* device structures */ static d_ioctl_t ata_ioctl; -static struct cdevsw ata_cdevsw = { +static struct cdevsw ata_cdevsw = { .d_version = D_VERSION, .d_flags = D_NEEDGIANT, .d_ioctl = ata_ioctl, @@ -80,7 +80,7 @@ struct intr_config_hook *ata_delayed_attach = NULL; devclass_t ata_devclass; uma_zone_t ata_zone; -int ata_wc = 1; +int ata_wc = 1; /* local vars */ static int ata_dma = 1; @@ -179,7 +179,7 @@ ata_detach(device_t dev) { struct ata_channel *ch; - + if (!dev || !(ch = device_get_softc(dev)) || !ch->r_irq) return ENXIO; @@ -229,7 +229,7 @@ { struct ata_request *request = ch->running; int devices, misdev, newdev; - + if (!ch->r_irq) return ENXIO; @@ -271,7 +271,7 @@ ch->device[SLAVE].param = NULL; } } - + /* identify what is present on the channel now */ ata_identify_devices(ch); @@ -382,7 +382,7 @@ error = ENXIO; break; } - iocmd->u.param.type[MASTER] = + iocmd->u.param.type[MASTER] = ch->devices & (ATA_ATA_MASTER | ATA_ATAPI_MASTER); iocmd->u.param.type[SLAVE] = ch->devices & (ATA_ATA_SLAVE | ATA_ATAPI_SLAVE); @@ -418,7 +418,7 @@ ch->device[MASTER].setmode(&ch->device[MASTER], iocmd->u.mode.mode[MASTER]); iocmd->u.mode.mode[MASTER] = ch->device[MASTER].mode; - if (iocmd->u.mode.mode[SLAVE] >= 0 && ch->device[SLAVE].param) + if (iocmd->u.mode.mode[SLAVE] >= 0 && ch->device[SLAVE].param) ch->device[SLAVE].setmode(&ch->device[SLAVE], iocmd->u.mode.mode[SLAVE]); iocmd->u.mode.mode[SLAVE] = ch->device[SLAVE].mode; @@ -451,7 +451,7 @@ break; } } - + request->device = atadev; if (iocmd->u.request.flags & ATA_CMD_ATAPI) { @@ -518,25 +518,25 @@ error = ata_detach(device); /* SOS should disable channel HW on controller XXX */ break; - + #ifdef DEV_ATARAID case ATARAIDCREATE: error = ata_raid_create(&iocmd->u.raid_setup); break; - + case ATARAIDDELETE: error = ata_raid_delete(iocmd->channel); break; - + case ATARAIDSTATUS: error = ata_raid_status(iocmd->channel, &iocmd->u.raid_status); break; - + case ATARAIDADDSPARE: error = ata_raid_addspare(iocmd->channel, iocmd->u.raid_spare.disk); break; - + case ATARAIDREBUILD: error = ata_raid_rebuild(iocmd->channel); break; @@ -549,7 +549,7 @@ /* * device probe functions */ -static int +static int ata_getparam(struct ata_device *atadev, u_int8_t command) { struct ata_request *request; @@ -558,7 +558,7 @@ if (!atadev->param) atadev->param = malloc(sizeof(struct ata_params), M_ATA, M_NOWAIT); if (atadev->param) { - request = ata_alloc_request(); + request = ata_alloc_request(); if (request) { int retries = 2; while (retries-- > 0) { @@ -689,7 +689,7 @@ ch->device[MASTER].setmode(&ch->device[MASTER], ATA_PIO_MAX); if ((((ch->devices & ATA_ATAPI_MASTER) && atapi_dma && (ch->device[MASTER].param->config&ATA_DRQ_MASK) != ATA_DRQ_INTR)|| - ((ch->devices & ATA_ATA_MASTER) && ata_dma)) && ch->dma) + ((ch->devices & ATA_ATA_MASTER) && ata_dma)) && ch->dma) ch->device[MASTER].setmode(&ch->device[MASTER], ATA_DMA_MAX); } @@ -697,12 +697,12 @@ ch->device[SLAVE].setmode(&ch->device[SLAVE], ATA_PIO_MAX); if ((((ch->devices & ATA_ATAPI_SLAVE) && atapi_dma && (ch->device[SLAVE].param->config&ATA_DRQ_MASK) != ATA_DRQ_INTR) || - ((ch->devices & ATA_ATA_SLAVE) && ata_dma)) && ch->dma) + ((ch->devices & ATA_ATA_SLAVE) && ata_dma)) && ch->dma) ch->device[SLAVE].setmode(&ch->device[SLAVE], ATA_DMA_MAX); } } -static void +static void ata_boot_attach(void) { struct ata_channel *ch; @@ -742,17 +742,17 @@ bswap(int8_t *buf, int len) { u_int16_t *ptr = (u_int16_t*)(buf + len); - + while (--ptr >= (u_int16_t*)buf) *ptr = ntohs(*ptr); } static void btrim(int8_t *buf, int len) -{ +{ int8_t *ptr; - for (ptr = buf; ptr < buf+len; ++ptr) + for (ptr = buf; ptr < buf+len; ++ptr) if (!*ptr) *ptr = ' '; for (ptr = buf + len - 1; ptr >= buf && *ptr == ' '; --ptr) @@ -778,7 +778,7 @@ } dst[j++] = src[i]; } - if (j < len) + if (j < len) dst[j] = 0x00; } @@ -835,7 +835,7 @@ free(atadev->name, M_ATA); atadev->name = NULL; } - + int ata_get_lun(u_int32_t *map) { @@ -856,7 +856,7 @@ { *map &= ~(1 << lun); } - + char * ata_mode2str(int mode) { @@ -889,9 +889,9 @@ if (ap->atavalid & ATA_FLAG_64_70) { if (ap->apiomodes & 0x02) return ATA_PIO4; - if (ap->apiomodes & 0x01) + if (ap->apiomodes & 0x01) return ATA_PIO3; - } + } if (ap->mwdmamodes & 0x04) return ATA_PIO4; if (ap->mwdmamodes & 0x02) @@ -904,8 +904,8 @@ return ATA_PIO1; if ((ap->retired_piomode & ATA_RETIRED_PIO_MASK) == 0x000) return ATA_PIO0; - return ATA_PIO0; -} + return ATA_PIO0; +} int ata_wmode(struct ata_params *ap) @@ -953,7 +953,7 @@ if (mode >= ATA_WDMA0 && ata_wmode(atadev->param) > 0) return min(mode, ata_wmode(atadev->param)); - if (mode > ata_pmode(atadev->param)) + if (mode > ata_pmode(atadev->param)) return min(mode, ata_pmode(atadev->param)); return mode; ==== //depot/projects/power/sys/dev/em/if_em.c#7 (text+ko) ==== @@ -31,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.39 2004/04/11 21:01:12 ru Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.41 2004/05/20 11:04:09 yar Exp $*/ #include @@ -1855,9 +1855,11 @@ ether_ifattach(ifp, adapter->interface_data.ac_enaddr); #endif + ifp->if_capabilities = ifp->if_capenable = 0; + if (adapter->hw.mac_type >= em_82543) { - ifp->if_capabilities = IFCAP_HWCSUM; - ifp->if_capenable = ifp->if_capabilities; + ifp->if_capabilities |= IFCAP_HWCSUM; + ifp->if_capenable |= IFCAP_HWCSUM; } /* @@ -1865,7 +1867,8 @@ */ ifp->if_data.ifi_hdrlen = sizeof(struct ether_vlan_header); #if __FreeBSD_version >= 500000 - ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_MTU; + ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_MTU; + ifp->if_capenable |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_MTU; #endif #ifdef DEVICE_POLLING ==== //depot/projects/power/sys/dev/iir/iir.c#3 (text+ko) ==== @@ -1,7 +1,7 @@ /* - * Copyright (c) 2000-03 ICP vortex GmbH - * Copyright (c) 2002-03 Intel Corporation - * Copyright (c) 2003 Adaptec Inc. + * Copyright (c) 2000-04 ICP vortex GmbH + * Copyright (c) 2002-04 Intel Corporation + * Copyright (c) 2003-04 Adaptec Inc. * All Rights Reserved * * Redistribution and use in source and binary forms, with or without @@ -39,11 +39,11 @@ * Mike Smith; Some driver source code. * FreeBSD.ORG; Great O/S to work on and for. * - * $Id: iir.c 1.4 2003/08/26 12:29:44 achim Exp $" + * $Id: iir.c 1.5 2004/03/30 10:17:53 achim Exp $" */ #include -__FBSDID("$FreeBSD: src/sys/dev/iir/iir.c,v 1.9 2003/09/26 15:36:47 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/iir/iir.c,v 1.10 2004/05/19 17:46:34 scottl Exp $"); #define _IIR_C_ @@ -291,27 +291,12 @@ return (1); } - if (!gdt_internal_cmd(gdt, gccb, GDT_CACHESERVICE, GDT_INIT, - GDT_LINUX_OS, 0, 0)) { - printf("iir%d: Cache service initialization error %d\n", - gdt->sc_hanum, gdt->sc_status); - gdt_free_ccb(gdt, gccb); - return (1); - } gdt_internal_cmd(gdt, gccb, GDT_CACHESERVICE, GDT_UNFREEZE_IO, 0, 0, 0); - if (!gdt_internal_cmd(gdt, gccb, GDT_CACHESERVICE, GDT_MOUNT, - 0xffff, 1, 0)) { - printf("iir%d: Cache service mount error %d\n", - gdt->sc_hanum, gdt->sc_status); - gdt_free_ccb(gdt, gccb); - return (1); - } - if (!gdt_internal_cmd(gdt, gccb, GDT_CACHESERVICE, GDT_INIT, GDT_LINUX_OS, 0, 0)) { - printf("iir%d: Cache service post-mount initialization error %d\n", + printf("iir%d: Cache service initialization error %d\n", gdt->sc_hanum, gdt->sc_status); gdt_free_ccb(gdt, gccb); return (1); ==== //depot/projects/power/sys/dev/iir/iir.h#4 (text+ko) ==== @@ -1,8 +1,8 @@ -/* $FreeBSD: src/sys/dev/iir/iir.h,v 1.8 2004/03/20 19:02:46 scottl Exp $ */ +/* $FreeBSD: src/sys/dev/iir/iir.h,v 1.9 2004/05/19 17:46:34 scottl Exp $ */ /* - * Copyright (c) 2000-03 ICP vortex GmbH - * Copyright (c) 2002-03 Intel Corporation - * Copyright (c) 2003 Adaptec Inc. + * Copyright (c) 2000-04 ICP vortex GmbH + * Copyright (c) 2002-04 Intel Corporation + * Copyright (c) 2003-04 Adaptec Inc. * All Rights Reserved * * Redistribution and use in source and binary forms, with or without @@ -41,14 +41,14 @@ * credits: Niklas Hallqvist; OpenBSD driver for the ICP Controllers. * FreeBSD.ORG; Great O/S to work on and for. * - * $Id: iir.h 1.5 2003/08/26 12:28:21 achim Exp $" + * $Id: iir.h 1.6 2004/03/30 10:19:44 achim Exp $" */ #ifndef _IIR_H #define _IIR_H #define IIR_DRIVER_VERSION 1 -#define IIR_DRIVER_SUBVERSION 4 +#define IIR_DRIVER_SUBVERSION 5 /* OEM IDs */ #define OEM_ID_ICP 0x941c @@ -152,8 +152,10 @@ /* IOCTLs */ #define GDT_IOCTL_GENERAL _IOWR('J', 0, gdt_ucmd_t) /* general IOCTL */ -#define GDT_IOCTL_DRVERS _IOWR('J', 1, int) /* get driver version */ -#define GDT_IOCTL_CTRTYPE _IOR('J', 2, gdt_ctrt_t) /* get ctr. type */ +#define GDT_IOCTL_DRVERS _IOR('J', 1, int) /* get driver version */ +#define GDT_IOCTL_CTRTYPE _IOWR('J', 2, gdt_ctrt_t) /* get ctr. type */ +#define GDT_IOCTL_DRVERS_OLD _IOWR('J', 1, int) /* get driver version */ +#define GDT_IOCTL_CTRTYPE_OLD _IOR('J', 2, gdt_ctrt_t) /* get ctr. type */ #define GDT_IOCTL_OSVERS _IOR('J', 3, gdt_osv_t) /* get OS version */ #define GDT_IOCTL_CTRCNT _IOR('J', 5, int) /* get ctr. count */ #define GDT_IOCTL_EVENT _IOWR('J', 8, gdt_event_t) /* get event */ ==== //depot/projects/power/sys/dev/iir/iir_ctrl.c#4 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/iir/iir_ctrl.c,v 1.13 2004/02/21 21:10:42 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/iir/iir_ctrl.c,v 1.14 2004/05/19 17:46:34 scottl Exp $"); #include #include @@ -261,11 +261,13 @@ } case GDT_IOCTL_DRVERS: + case GDT_IOCTL_DRVERS_OLD: *(int *)cmdarg = (IIR_DRIVER_VERSION << 8) | IIR_DRIVER_SUBVERSION; break; case GDT_IOCTL_CTRTYPE: + case GDT_IOCTL_CTRTYPE_OLD: { gdt_ctrt_t *p; struct gdt_softc *gdt; ==== //depot/projects/power/sys/dev/pccbb/pccbb.c#13 (text+ko) ==== @@ -73,7 +73,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/pccbb/pccbb.c,v 1.110 2004/05/04 02:25:00 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/pccbb/pccbb.c,v 1.111 2004/05/21 06:10:13 imp Exp $"); #include #include @@ -687,7 +687,7 @@ static int cbb_attach(device_t brdev) { - static int curr_bus_number = 1; /* XXX EVILE BAD (see below) */ + static int curr_bus_number = 2; /* XXX EVILE BAD (see below) */ struct cbb_softc *sc = (struct cbb_softc *)device_get_softc(brdev); int rid, bus, pribus; device_t parent; ==== //depot/projects/power/sys/dev/pccbb/pccbbvar.h#3 (text+ko) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/pccbb/pccbbvar.h,v 1.19 2003/06/12 03:37:28 imp Exp $ + * $FreeBSD: src/sys/dev/pccbb/pccbbvar.h,v 1.20 2004/05/21 06:10:13 imp Exp $ */ /* ==== //depot/projects/power/sys/dev/pci/pci.c#17 (text+ko) ==== @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/pci/pci.c,v 1.250 2004/04/28 13:43:11 tmm Exp $ + * $FreeBSD: src/sys/dev/pci/pci.c,v 1.251 2004/05/21 06:03:26 imp Exp $ * */ @@ -1091,7 +1091,8 @@ struct pci_devinfo *dinfo; int i; - device_printf(dev, "driver added\n"); + if (bootverbose) + device_printf(dev, "driver added\n"); DEVICE_IDENTIFY(driver, dev); device_get_children(dev, &devlist, &numdevs); for (i = 0; i < numdevs; i++) { @@ -1101,8 +1102,9 @@ dinfo = device_get_ivars(child); pci_print_verbose(dinfo); /*XXX???*/ /* resource_list_init(&dinfo->cfg.resources); */ - printf("pci%d:%d:%d: reprobing on driver added\n", - dinfo->cfg.bus, dinfo->cfg.slot, dinfo->cfg.func); + if (bootverbose) + printf("pci%d:%d:%d: reprobing on driver added\n", + dinfo->cfg.bus, dinfo->cfg.slot, dinfo->cfg.func); pci_cfg_restore(child, dinfo); if (device_probe_and_attach(child) != 0) pci_cfg_save(child, dinfo, 1); @@ -1582,9 +1584,10 @@ if (rle == NULL) panic("pci_alloc_map: unexpedly can't find resource."); rle->res = res; - /* if (bootverbose) */ - device_printf(child, "Lazy allocation of %#lx bytes rid %#x type %d at %#lx\n", - count, *rid, type, rman_get_start(res)); + if (bootverbose) + device_printf(child, + "Lazy allocation of %#lx bytes rid %#x type %d at %#lx\n", + count, *rid, type, rman_get_start(res)); map = rman_get_start(res); out:; pci_write_config(child, *rid, map, 4); @@ -1653,11 +1656,11 @@ */ rle = resource_list_find(rl, type, *rid); if (rle != NULL && rle->res != NULL) { - /* if (bootverbose) */ - device_printf(child, + if (bootverbose) + device_printf(child, "Reserved %#lx bytes for rid %#x type %d at %#lx\n", - rman_get_size(rle->res), *rid, type, - rman_get_start(rle->res)); + rman_get_size(rle->res), *rid, type, + rman_get_start(rle->res)); if ((flags & RF_ACTIVE) && bus_generic_activate_resource(dev, child, type, *rid, rle->res) != 0) @@ -1817,9 +1820,11 @@ * state D0. */ if (pci_do_powerstate && (pci_get_powerstate(dev) != PCI_POWERSTATE_D0)) { - printf("pci%d:%d:%d: Transition from D%d to D0\n", dinfo->cfg.bus, - dinfo->cfg.slot, dinfo->cfg.func, - pci_get_powerstate(dev)); + if (bootverbose) + printf( + "pci%d:%d:%d: Transition from D%d to D0\n", + dinfo->cfg.bus, dinfo->cfg.slot, dinfo->cfg.func, + pci_get_powerstate(dev)); pci_set_powerstate(dev, PCI_POWERSTATE_D0); } for (i = 0; i < dinfo->cfg.nummaps; i++) @@ -1888,13 +1893,19 @@ */ ps = pci_get_powerstate(dev); if (ps != PCI_POWERSTATE_D0 && ps != PCI_POWERSTATE_D3) { - printf("pci%d:%d:%d: Transition from D%d to D0\n", dinfo->cfg.bus, - dinfo->cfg.slot, dinfo->cfg.func, ps); + if (bootverbose) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri May 21 22:05:40 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E770A16A4D0; Fri, 21 May 2004 22:05:39 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BF80A16A4CE for ; Fri, 21 May 2004 22:05:39 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B6C0043D45 for ; Fri, 21 May 2004 22:05:39 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i4M55dPL088954 for ; Fri, 21 May 2004 22:05:39 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i4M55cec088951 for perforce@freebsd.org; Fri, 21 May 2004 22:05:38 -0700 (PDT) (envelope-from marcel@freebsd.org) Date: Fri, 21 May 2004 22:05:38 -0700 (PDT) Message-Id: <200405220505.i4M55cec088951@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 53210 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 May 2004 05:05:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=53210 Change 53210 by marcel@marcel_nfs on 2004/05/21 22:05:29 IFC @53208 Affected files ... .. //depot/projects/gdb/MAINTAINERS#10 integrate .. //depot/projects/gdb/contrib/cvs/src/server.c#5 integrate .. //depot/projects/gdb/etc/mtree/BSD.include.dist#5 integrate .. //depot/projects/gdb/etc/mtree/BSD.root.dist#2 integrate .. //depot/projects/gdb/etc/rc.d/dhclient#5 integrate .. //depot/projects/gdb/etc/rc.d/netif#5 integrate .. //depot/projects/gdb/games/fortune/datfiles/fortunes2#5 integrate .. //depot/projects/gdb/include/Makefile#5 integrate .. //depot/projects/gdb/lib/libarchive/archive_entry.c#13 integrate .. //depot/projects/gdb/lib/libarchive/tar.5#5 integrate .. //depot/projects/gdb/lib/libc/sys/mlock.2#3 integrate .. //depot/projects/gdb/lib/libthr/thread/Makefile.inc#4 integrate .. //depot/projects/gdb/lib/libthr/thread/thr_barrier.c#2 integrate .. //depot/projects/gdb/lib/libthr/thread/thr_cancel.c#3 integrate .. //depot/projects/gdb/lib/libthr/thread/thr_cond.c#4 integrate .. //depot/projects/gdb/lib/libthr/thread/thr_create.c#4 integrate .. //depot/projects/gdb/lib/libthr/thread/thr_detach.c#3 integrate .. //depot/projects/gdb/lib/libthr/thread/thr_exit.c#4 integrate .. //depot/projects/gdb/lib/libthr/thread/thr_init.c#4 integrate .. //depot/projects/gdb/lib/libthr/thread/thr_join.c#3 integrate .. //depot/projects/gdb/lib/libthr/thread/thr_mutex.c#5 integrate .. //depot/projects/gdb/lib/libthr/thread/thr_private.h#5 integrate .. //depot/projects/gdb/lib/libthr/thread/thr_resume_np.c#3 integrate .. //depot/projects/gdb/lib/libthr/thread/thr_setschedparam.c#3 integrate .. //depot/projects/gdb/lib/libthr/thread/thr_sig.c#5 integrate .. //depot/projects/gdb/lib/libthr/thread/thr_syscalls.c#3 integrate .. //depot/projects/gdb/release/doc/en_US.ISO8859-1/hardware/common/artheader.sgml#2 integrate .. //depot/projects/gdb/release/doc/ru_RU.KOI8-R/Makefile#1 branch .. //depot/projects/gdb/release/doc/ru_RU.KOI8-R/relnotes/Makefile#1 branch .. //depot/projects/gdb/release/doc/ru_RU.KOI8-R/relnotes/Makefile.inc#1 branch .. //depot/projects/gdb/release/doc/ru_RU.KOI8-R/relnotes/alpha/Makefile#1 branch .. //depot/projects/gdb/release/doc/ru_RU.KOI8-R/relnotes/alpha/article.sgml#1 branch .. //depot/projects/gdb/release/doc/ru_RU.KOI8-R/relnotes/amd64/Makefile#1 branch .. //depot/projects/gdb/release/doc/ru_RU.KOI8-R/relnotes/amd64/article.sgml#1 branch .. //depot/projects/gdb/release/doc/ru_RU.KOI8-R/relnotes/common/new.sgml#1 branch .. //depot/projects/gdb/release/doc/ru_RU.KOI8-R/relnotes/common/relnotes.ent#1 branch .. //depot/projects/gdb/release/doc/ru_RU.KOI8-R/relnotes/i386/Makefile#1 branch .. //depot/projects/gdb/release/doc/ru_RU.KOI8-R/relnotes/i386/article.sgml#1 branch .. //depot/projects/gdb/release/doc/ru_RU.KOI8-R/relnotes/ia64/Makefile#1 branch .. //depot/projects/gdb/release/doc/ru_RU.KOI8-R/relnotes/ia64/article.sgml#1 branch .. //depot/projects/gdb/release/doc/ru_RU.KOI8-R/relnotes/pc98/Makefile#1 branch .. //depot/projects/gdb/release/doc/ru_RU.KOI8-R/relnotes/pc98/article.sgml#1 branch .. //depot/projects/gdb/release/doc/ru_RU.KOI8-R/relnotes/sparc64/Makefile#1 branch .. //depot/projects/gdb/release/doc/ru_RU.KOI8-R/relnotes/sparc64/article.sgml#1 branch .. //depot/projects/gdb/release/doc/ru_RU.KOI8-R/share/sgml/catalog#1 branch .. //depot/projects/gdb/release/doc/ru_RU.KOI8-R/share/sgml/release.dsl#1 branch .. //depot/projects/gdb/release/scripts/src-install.sh#2 integrate .. //depot/projects/gdb/sbin/Makefile#8 integrate .. //depot/projects/gdb/sbin/atacontrol/atacontrol.c#4 integrate .. //depot/projects/gdb/sbin/dump/optr.c#3 integrate .. //depot/projects/gdb/sbin/gconcat/Makefile#4 delete .. //depot/projects/gdb/sbin/gconcat/gconcat.8#3 delete .. //depot/projects/gdb/sbin/gconcat/gconcat.c#5 delete .. //depot/projects/gdb/sbin/geom/Makefile#1 branch .. //depot/projects/gdb/sbin/geom/Makefile.inc#1 branch .. //depot/projects/gdb/sbin/geom/class/Makefile#1 branch .. //depot/projects/gdb/sbin/geom/class/Makefile.inc#1 branch .. //depot/projects/gdb/sbin/geom/class/concat/Makefile#1 branch .. //depot/projects/gdb/sbin/geom/class/concat/gconcat.8#1 branch .. //depot/projects/gdb/sbin/geom/class/concat/geom_concat.c#1 branch .. //depot/projects/gdb/sbin/geom/class/nop/Makefile#1 branch .. //depot/projects/gdb/sbin/geom/class/nop/geom_nop.c#1 branch .. //depot/projects/gdb/sbin/geom/class/nop/gnop.8#1 branch .. //depot/projects/gdb/sbin/geom/class/stripe/Makefile#1 branch .. //depot/projects/gdb/sbin/geom/class/stripe/geom_stripe.c#1 branch .. //depot/projects/gdb/sbin/geom/class/stripe/gstripe.8#1 branch .. //depot/projects/gdb/sbin/geom/core/Makefile#1 branch .. //depot/projects/gdb/sbin/geom/core/geom.c#1 branch .. //depot/projects/gdb/sbin/geom/core/geom.h#1 branch .. //depot/projects/gdb/sbin/geom/misc/subr.c#1 branch .. //depot/projects/gdb/sbin/geom/misc/subr.h#1 branch .. //depot/projects/gdb/sbin/ggate/Makefile.inc#1 branch .. //depot/projects/gdb/sbin/ggate/ggatec/Makefile#3 integrate .. //depot/projects/gdb/sbin/ggate/ggated/Makefile#3 integrate .. //depot/projects/gdb/sbin/sconfig/sconfig.8#4 integrate .. //depot/projects/gdb/share/man/man4/bpf.4#2 integrate .. //depot/projects/gdb/share/man/man7/hier.7#4 integrate .. //depot/projects/gdb/share/man/man9/Makefile#8 integrate .. //depot/projects/gdb/share/man/man9/bpf.9#1 branch .. //depot/projects/gdb/share/man/man9/mbuf.9#7 integrate .. //depot/projects/gdb/share/man/man9/mbuf_tags.9#1 branch .. //depot/projects/gdb/sys/amd64/amd64/pmap.c#9 integrate .. //depot/projects/gdb/sys/amd64/amd64/support.S#6 integrate .. //depot/projects/gdb/sys/amd64/include/profile.h#4 integrate .. //depot/projects/gdb/sys/boot/pc98/boot2/serial_16550.S#4 integrate .. //depot/projects/gdb/sys/boot/pc98/boot2/serial_8251.S#4 integrate .. //depot/projects/gdb/sys/boot/pc98/btx/btx/btx.S#4 integrate .. //depot/projects/gdb/sys/boot/pc98/btx/btxldr/btxldr.S#4 integrate .. //depot/projects/gdb/sys/conf/NOTES#20 integrate .. //depot/projects/gdb/sys/conf/files#24 integrate .. //depot/projects/gdb/sys/conf/options#20 integrate .. //depot/projects/gdb/sys/ddb/db_elf.c#4 branch .. //depot/projects/gdb/sys/dev/ata/ata-all.c#7 integrate .. //depot/projects/gdb/sys/dev/em/if_em.c#5 integrate .. //depot/projects/gdb/sys/dev/firewire/firewire.c#6 integrate .. //depot/projects/gdb/sys/dev/firewire/fwohci.c#4 integrate .. //depot/projects/gdb/sys/dev/firewire/iec13213.h#2 integrate .. //depot/projects/gdb/sys/dev/firewire/if_fwe.c#3 integrate .. //depot/projects/gdb/sys/dev/fxp/if_fxp.c#5 integrate .. //depot/projects/gdb/sys/dev/hme/if_hme.c#4 integrate .. //depot/projects/gdb/sys/dev/hme/if_hmereg.h#2 integrate .. //depot/projects/gdb/sys/dev/pccbb/pccbb.c#9 integrate .. //depot/projects/gdb/sys/dev/pccbb/pccbbvar.h#2 integrate .. //depot/projects/gdb/sys/dev/pci/pci.c#10 integrate .. //depot/projects/gdb/sys/dev/usb/umodem.c#3 integrate .. //depot/projects/gdb/sys/dev/usb/usbdevs#10 integrate .. //depot/projects/gdb/sys/dev/usb/usbdevs.h#10 integrate .. //depot/projects/gdb/sys/dev/usb/usbdevs_data.h#10 integrate .. //depot/projects/gdb/sys/geom/concat/g_concat.c#6 integrate .. //depot/projects/gdb/sys/geom/concat/g_concat.h#4 integrate .. //depot/projects/gdb/sys/geom/nop/g_nop.c#1 branch .. //depot/projects/gdb/sys/geom/nop/g_nop.h#1 branch .. //depot/projects/gdb/sys/geom/stripe/g_stripe.c#1 branch .. //depot/projects/gdb/sys/geom/stripe/g_stripe.h#1 branch .. //depot/projects/gdb/sys/i386/i386/support.s#4 integrate .. //depot/projects/gdb/sys/i386/include/profile.h#5 integrate .. //depot/projects/gdb/sys/kern/kern_exec.c#8 integrate .. //depot/projects/gdb/sys/kern/kern_exit.c#7 integrate .. //depot/projects/gdb/sys/kern/kern_jail.c#5 integrate .. //depot/projects/gdb/sys/kern/kern_sig.c#7 integrate .. //depot/projects/gdb/sys/kern/kern_thread.c#10 integrate .. //depot/projects/gdb/sys/kern/subr_prof.c#4 integrate .. //depot/projects/gdb/sys/modules/geom/Makefile#4 integrate .. //depot/projects/gdb/sys/modules/geom/geom_nop/Makefile#1 branch .. //depot/projects/gdb/sys/modules/geom/geom_stripe/Makefile#1 branch .. //depot/projects/gdb/sys/net/if_vlan.c#4 integrate .. //depot/projects/gdb/sys/netinet/in_pcb.c#7 integrate .. //depot/projects/gdb/sys/pci/agp.c#6 integrate .. //depot/projects/gdb/sys/sparc64/include/atomic.h#2 integrate .. //depot/projects/gdb/sys/sparc64/include/cpufunc.h#2 integrate .. //depot/projects/gdb/sys/sparc64/sparc64/vm_machdep.c#6 integrate .. //depot/projects/gdb/sys/sys/ata.h#3 integrate .. //depot/projects/gdb/sys/tools/miidevs2h.awk#1 branch .. //depot/projects/gdb/sys/tools/pccarddevs2h.awk#1 branch .. //depot/projects/gdb/sys/tools/usbdevs2h.awk#1 branch .. //depot/projects/gdb/sys/ufs/ffs/ffs_vnops.c#4 integrate .. //depot/projects/gdb/sys/vm/vm_extern.h#5 integrate .. //depot/projects/gdb/sys/vm/vm_fault.c#5 integrate .. //depot/projects/gdb/sys/vm/vm_map.c#8 integrate .. //depot/projects/gdb/sys/vm/vm_page.c#9 integrate .. //depot/projects/gdb/usr.bin/id/Makefile#2 integrate .. //depot/projects/gdb/usr.bin/id/id.c#3 integrate .. //depot/projects/gdb/usr.bin/ktrdump/ktrdump.8#2 integrate .. //depot/projects/gdb/usr.bin/ktrdump/ktrdump.c#3 integrate .. //depot/projects/gdb/usr.bin/lastcomm/lastcomm.c#2 integrate .. //depot/projects/gdb/usr.bin/rusers/Makefile#2 integrate .. //depot/projects/gdb/usr.bin/rusers/rusers.c#2 integrate .. //depot/projects/gdb/usr.bin/tar/bsdtar.c#10 integrate .. //depot/projects/gdb/usr.sbin/jail/jail.8#4 integrate .. //depot/projects/gdb/usr.sbin/pccard/pccardd/pccard.conf.5#2 integrate .. //depot/projects/gdb/usr.sbin/ppp/radius.c#2 integrate Differences ... ==== //depot/projects/gdb/MAINTAINERS#10 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/MAINTAINERS,v 1.90 2004/05/16 22:05:25 njl Exp $ +$FreeBSD: src/MAINTAINERS,v 1.91 2004/05/20 12:44:23 pjd Exp $ subsystem login notes ----------------------------- @@ -93,6 +93,9 @@ binutils obrien Insists on BU blocked from unapproved commits geom_concat pjd Pre-commit review requested. geom_gate pjd Pre-commit review requested. +geom_nop pjd Pre-commit review requested. +geom_stripe pjd Pre-commit review requested. +sbin/geom pjd Pre-commit review requested. Following are the entries from the Makefiles, and a few other sources. ==== //depot/projects/gdb/contrib/cvs/src/server.c#5 (text+ko) ==== @@ -9,7 +9,7 @@ GNU General Public License for more details. */ /* - * $FreeBSD: src/contrib/cvs/src/server.c,v 1.22 2004/05/19 06:17:52 des Exp $ + * $FreeBSD: src/contrib/cvs/src/server.c,v 1.23 2004/05/20 13:12:46 des Exp $ */ #include @@ -1645,8 +1645,18 @@ && strncmp (arg, name, cp - name) == 0) { timefield = strchr (cp + 1, '/') + 1; + /* If the time field is not currently empty, then one of + * serve_modified, serve_is_modified, & serve_unchanged were + * already called for this file. We would like to ignore the + * reinvocation silently or, better yet, exit with an error + * message, but we just avoid the copy-forward and overwrite the + * value from the last invocation instead. See the comment below + * for more. + */ if (*timefield == '/') { + /* Copy forward one character. Space was allocated for this + * already in serve_entry(). */ cp = timefield + strlen (timefield); cp[1] = '\0'; while (cp > timefield) @@ -1654,8 +1664,17 @@ *cp = cp[-1]; --cp; } - *timefield = '='; } + /* If *TIMEFIELD wasn't "/", we assume that it was because of + * multiple calls to Is-Modified & Unchanged by the client and + * just overwrite the value from the last call. Technically, we + * should probably either ignore calls after the first or send the + * client an error, since the client/server protocol specification + * specifies that only one call to either Is-Modified or Unchanged + * is allowed, but broken versions of WinCVS & TortoiseCVS rely on + * this behavior. + */ + *timefield = '='; break; } } @@ -1689,8 +1708,18 @@ && strncmp (arg, name, cp - name) == 0) { timefield = strchr (cp + 1, '/') + 1; + /* If the time field is not currently empty, then one of + * serve_modified, serve_is_modified, & serve_unchanged were + * already called for this file. We would like to ignore the + * reinvocation silently or, better yet, exit with an error + * message, but we just avoid the copy-forward and overwrite the + * value from the last invocation instead. See the comment below + * for more. + */ if (*timefield == '/') { + /* Copy forward one character. Space was allocated for this + * already in serve_entry(). */ cp = timefield + strlen (timefield); cp[1] = '\0'; while (cp > timefield) @@ -1698,8 +1727,17 @@ *cp = cp[-1]; --cp; } - *timefield = 'M'; } + /* If *TIMEFIELD wasn't "/", we assume that it was because of + * multiple calls to Is-Modified & Unchanged by the client and + * just overwrite the value from the last call. Technically, we + * should probably either ignore calls after the first or send the + * client an error, since the client/server protocol specification + * specifies that only one call to either Is-Modified or Unchanged + * is allowed, but broken versions of WinCVS & TortoiseCVS rely on + * this behavior. + */ + *timefield = 'M'; if (kopt != NULL) { if (alloc_pending (strlen (name) + 80)) ==== //depot/projects/gdb/etc/mtree/BSD.include.dist#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.81 2004/04/30 16:21:39 pjd Exp $ +# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.82 2004/05/20 10:29:26 pjd Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -82,6 +82,10 @@ .. gate .. + nop + .. + stripe + .. .. gnu posix ==== //depot/projects/gdb/etc/mtree/BSD.root.dist#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.root.dist,v 1.65 2003/10/26 19:09:11 emax Exp $ +# $FreeBSD: src/etc/mtree/BSD.root.dist,v 1.66 2004/05/20 10:29:26 pjd Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -62,6 +62,8 @@ .. .. lib + geom + .. .. libexec .. ==== //depot/projects/gdb/etc/rc.d/dhclient#5 (text+ko) ==== @@ -1,7 +1,7 @@ #!/bin/sh # # $NetBSD: dhclient,v 1.8 2002/03/22 04:33:58 thorpej Exp $ -# $FreeBSD: src/etc/rc.d/dhclient,v 1.15 2004/03/08 12:25:05 pjd Exp $ +# $FreeBSD: src/etc/rc.d/dhclient,v 1.16 2004/05/20 14:16:04 mtm Exp $ # # PROVIDE: dhclient @@ -37,8 +37,7 @@ if [ -n "$_cmdifn" ]; then eval _cooked_list=\"`expr "$dhcp_list" : ".*\($_cmdifn\).*"`\" if [ -z "$_cooked_list" ]; then - err "No such network interface: $_cmdifn" - return 1 + err 1 "No such network interface: $_cmdifn" fi fi } ==== //depot/projects/gdb/etc/rc.d/netif#5 (text+ko) ==== @@ -22,7 +22,7 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # -# $FreeBSD: src/etc/rc.d/netif,v 1.7 2004/04/28 13:20:15 phk Exp $ +# $FreeBSD: src/etc/rc.d/netif,v 1.9 2004/05/20 15:53:49 mtm Exp $ # # PROVIDE: netif @@ -85,7 +85,7 @@ _verbose= if [ -z "$1" ]; then - err "network_common(): No function name specified." + err 1 "network_common(): No function name specified." else _func="$1" fi @@ -100,8 +100,7 @@ if [ -n "$_cmdifn" ]; then eval _cooked_list=\"`expr "$_ifn_list" : ".*\($_cmdifn\).*"`\" if [ -z "$_cooked_list" ]; then - err "No such network interface: $_cmdifn" - return 1 + err 1 "No such network interface: $_cmdifn" fi fi ==== //depot/projects/gdb/games/fortune/datfiles/fortunes2#5 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes2,v 1.69 2004/05/11 17:43:36 fanf Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes2,v 1.70 2004/05/20 08:15:58 schweikh Exp $ % ======================================================================= || || @@ -48213,27 +48213,27 @@ To a Californian, a person must prove himself criminally insane before he is allowed to drive a taxi in New York. For New York cabbies, honesty and stopping at red lights are both optional. - -- From "East vs. West: The War Between the Coasts + -- From "East vs. West: The War Between the Coasts" % To a Californian, all New Yorkers are cold; even in heat they rarely go above fifty-eight degrees. If you collapse on a street in New York, plan to spend a few days there. - -- From "East vs. West: The War Between the Coasts + -- From "East vs. West: The War Between the Coasts" % To a Californian, the basic difference between the people and the pigeons in New York is that the pigeons don't shit on each other. - -- From "East vs. West: The War Between the Coasts + -- From "East vs. West: The War Between the Coasts" % To a New Yorker, all Californians are blond, even the blacks. There are, in fact, whole neighborhoods that are zoned only for blond people. The only way to tell the difference between California and Sweden is that the -Swedes speak better English." - -- From "East vs. West: The War Between the Coasts +Swedes speak better English. + -- From "East vs. West: The War Between the Coasts" % To a New Yorker, the only California houses on the market for less than a million dollars are those on fire. These generally go for six hundred thousand. - -- From "East vs. West: The War Between the Coasts + -- From "East vs. West: The War Between the Coasts" % To accuse others for one's own misfortunes is a sign of want of education. To accuse oneself shows that one's education has begun. To accuse neither ==== //depot/projects/gdb/include/Makefile#5 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 1/4/94 -# $FreeBSD: src/include/Makefile,v 1.212 2004/04/30 16:23:08 pjd Exp $ +# $FreeBSD: src/include/Makefile,v 1.213 2004/05/20 10:29:26 pjd Exp $ # # Doing a "make install" builds /usr/include. @@ -35,7 +35,7 @@ dev/ofw dev/ppbus dev/smbus dev/usb dev/wi dev/utopia fs/devfs \ fs/fdescfs fs/fifofs fs/msdosfs fs/ntfs fs/nullfs fs/nwfs fs/portalfs \ fs/procfs fs/smbfs fs/udf fs/umapfs fs/unionfs \ - geom/concat geom/gate \ + geom/concat geom/gate geom/nop geom/stripe \ isofs/cd9660 netatm/ipatm netatm/sigpvc netatm/spans netatm/uni \ netgraph/atm security/mac_biba security/mac_bsdextended \ security/mac_lomac security/mac_mls security/mac_partition \ ==== //depot/projects/gdb/lib/libarchive/archive_entry.c#13 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_entry.c,v 1.12 2004/05/03 01:40:34 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_entry.c,v 1.13 2004/05/21 09:01:13 kientzle Exp $"); #include #include @@ -1058,11 +1058,13 @@ if (sep != L':') goto fail; - if (prefix_w(start, end, L"default")) { + /* + * Solaris extension: "defaultuser::rwx" is the + * default ACL corresponding to "user::rwx", etc. + */ + if (end-start > 7 && wmemcmp(start, L"default", 7) == 0) { type = ARCHIVE_ENTRY_ACL_TYPE_DEFAULT; - next_field_w(&text, &start, &end, &sep); - if (sep != L':') - goto fail; + start += 7; } else type = default_type; ==== //depot/projects/gdb/lib/libarchive/tar.5#5 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libarchive/tar.5,v 1.4 2004/05/19 06:38:38 kientzle Exp $ +.\" $FreeBSD: src/lib/libarchive/tar.5,v 1.6 2004/05/20 06:22:42 kientzle Exp $ .\" .Dd May 20, 2004 .Dt TAR 5 @@ -34,7 +34,7 @@ The .Nm archive format collects any number of files, directories, and other -filesystem objects (symbolic links, device nodes, etc.) into a single +filesystem objects (symbolic links, device nodes, etc.) into a single stream of bytes. The format was originally designed to be used with tape drives that operate with fixed-size blocks, but is widely used as @@ -55,8 +55,8 @@ These .Dq blocks are always a multiple of the record size. -The most common block size---and the maximum supported by historical -implementations---is 10240 bytes or 20 records. +The most common block size\(emand the maximum supported by historic +implementations\(emis 10240 bytes or 20 records. (Note: the terms .Dq block and @@ -69,33 +69,36 @@ include additional information that various implementors found necessary. This section describes the variant implemented by the tar command -included in Seventh Edition Unix. +included in +.At v7 , +which is one of the earliest widely-used versions of the tar program. .Pp The header record for an old-style .Nm archive consists of the following: .Bd -literal -offset indent -struct tarfile_header_old { -char name[100]; -char mode[8]; -char uid[8]; -char gid[8]; -char size[12]; -char mtime[12]; -char checksum[8]; -char linkflag[1]; -char linkname[100]; +struct header_old_tar { + char name[100]; + char mode[8]; + char uid[8]; + char gid[8]; + char size[12]; + char mtime[12]; + char checksum[8]; + char linkflag[1]; + char linkname[100]; + char pad[255]; }; .Ed All unused bytes in the header record are filled with nulls. .Bl -tag -width indent .It Va name Pathname, stored as a null-terminated string. -The Unix V7 tar command only stored regular files (including +Early tar implementations only stored regular files (including hardlinks to those files). -One common early convention added -a trailing "/" character to indicate a directory name, allowing -directory permissions and owner information to be archived and restored. +One common early convention used a trailing "/" character to indicate +a directory name, allowing directory permissions and owner information +to be archived and restored. .It Va mode File mode, stored as an octal number in ASCII. .It Va uid , Va gid @@ -140,53 +143,75 @@ field.) .El .Pp -Early implementations of -.Nm -varied in how they terminated these fields. -The -.Nm -command in Seventh Edition Unix used the following conventions -(this is also documented in early BSD manpages): +Early tar implementations varied in how they terminated these fields. +The tar command in +.At v7 +used the following conventions (this is also documented in early BSD manpages): the pathname must be null-terminated; the mode, uid, and gid fields must end in a space and a null byte; the size and mtime fields must end in a space; the checksum is terminated by a null and a space. -For best portability, writers of -.Nm -archives should fill the numeric fields with leading zeros. -.Ss POSIX Standard Archives -POSIX 1003.1 defines a standard -.Nm -file format that is read and written -by POSIX-compliant implementations -of +Early implementations filled the numeric fields with leading spaces. +This seems to have been common practice until the +.St -p1003.1 +standard was released. +For best portability, modern implementations should fill the numeric +fields with leading zeros. +.Ss Pre-POSIX Archives +An early draft of +.St -p1003.1-88 +served as the basis for John Gilmore's +.Nm pdtar +program and many system implementations from the late 1980s +and early 1990s. +These archives generally follow the POSIX ustar +format described below with the following variations: +.Bl -bullet -compact -width indent +.It +The magic value is +.Dq ustar\ \& +(note the following space). +The version field contains a space character followed by a null. +.It +The numeric fields are generally filled with leading spaces +(not leading zeros as recommended in the final standard). +.It +The prefix field is often not used, limiting pathnames to +the 100 characters of old-style archives. +.El +.Ss POSIX ustar Archives +.St -p1003.1-88 +defined a standard tar file format to be read and written +by compliant implementations of +.Xr tar 1 +and .Xr pax 1 . This format is often called the .Dq ustar format, after the magic value used in the header. (The name is an acronym for -.Dq Unix Standard TAR . ) -It extends the format above -with new fields: +.Dq Unix Standard TAR. ) +It extends the historic format with new fields: .Bd -literal -offset indent -struct tarfile_entry_posix { -char name[100]; -char mode[8]; -char uid[8]; -char gid[8]; -char size[12]; -char mtime[12]; -char checksum[8]; -char typeflag[1]; -char linkname[100]; -char magic[6]; -char version[2]; -char uname[32]; -char gname[32]; -char devmajor[8]; -char devminor[8]; -char prefix[155]; +struct header_posix_ustar { + char name[100]; + char mode[8]; + char uid[8]; + char gid[8]; + char size[12]; + char mtime[12]; + char checksum[8]; + char typeflag[1]; + char linkname[100]; + char magic[6]; + char version[2]; + char uname[32]; + char gname[32]; + char devmajor[8]; + char devminor[8]; + char prefix[155]; + char pad[12]; }; .Ed .Bl -tag -width indent @@ -236,13 +261,10 @@ .Dq ustar followed by a NULL byte to indicate that this is a POSIX standard archive. Full compliance requires the uname and gname fields be properly set. -(Note that GNU tar archives uses a trailing space rather than a trailing -NULL here and are therefore not POSIX standard archives.) .It Va version Version. This should be .Dq 00 (two copies of the ASCII digit zero) for POSIX standard archives. -(Note that GNU tar archives fill this with a space and a null.) .It Va uname , Va gname User and group names, as null-terminated ASCII strings. These should be used in preference to the uid/gid values @@ -290,10 +312,15 @@ them to be terminated with either space or .Dv NULL characters. +.Pp +Currently, most tar implementations comply with the ustar +format, occasionally extending it by adding new fields to the +blank area at the end of the header record. .Ss Pax Interchange Format There are many attributes that cannot be portably stored in a POSIX ustar archive. -POSIX defined a +.St -p1003.1-2001 +defined a .Dq pax interchange format that uses two new types of entries to hold text-formatted metadata that applies to following entries. @@ -309,9 +336,9 @@ metadata can be examined as necessary. .Pp An entry in a pax interchange format archive consists of one or -two standard entries, each with its own header and data. +two standard ustar entries, each with its own header and data. The first optional entry stores the extended attributes -for the second entry. +for the following entry. This optional first entry has an "x" typeflag and a size field that indicates the total size of the extended attributes. The extended attributes themselves are stored as a series of text-format @@ -320,32 +347,34 @@ sign, a value string, and a new line. The decimal number indicates the length of the entire line, including the initial length field and the trailing newline. -Keys are always encoded in portable 7-bit ASCII. -Keys in all lowercase are reserved for future standardization. +An example of such a field is: +.Dl 25 ctime=1084839148.1212\en +Keys in all lowercase are standard keys. Vendors can add their own keys by prefixing them with an all uppercase vendor name and a period. Note that, unlike the historic header, numeric values are stored using decimal, not octal. +A description of some common keys follows: .Bl -tag -width indent .It Cm atime , Cm ctime , Cm mtime File access, inode change, and modification times. These fields can be negative or include a decimal point and a fractional value. .It Cm uname , Cm uid , Cm gname , Cm gid -User name, group name, and numeric UID and GID values. The user name -and group name stored here are encoded in UTF8 and can thus include -non-ASCII characters. The UID and GID fields can be of arbitrary length. +User name, group name, and numeric UID and GID values. +The user name and group name stored here are encoded in UTF8 +and can thus include non-ASCII characters. +The UID and GID fields can be of arbitrary length. .It Cm linkpath -The full path of the linked-to file. Note that this is encoded in UTF8 -and can thus include non-ASCII characters. +The full path of the linked-to file. +Note that this is encoded in UTF8 and can thus include non-ASCII characters. .It Cm path -The full pathname of the entry. Note that this is encoded in UTF8 -and can thus include non-ASCII characters. +The full pathname of the entry. +Note that this is encoded in UTF8 and can thus include non-ASCII characters. .It Cm realtime.* , Cm security.* -These keys are reserved by SUSv3 and may be used for future standardization. +These keys are reserved and may be used for future standardization. .It Cm size -The size of the file. Note that there is no length limit on this field, -allowing -.Nm +The size of the file. +Note that there is no length limit on this field, allowing conforming archives to store files much larger than the historic 8GB limit. .It Cm SCHILY.* Vendor-specific attributes used by Joerg Schilling's @@ -353,16 +382,21 @@ implementation. .It Cm SCHILY.acl.access , Cm SCHILY.acl.default Stores the access and default ACLs as textual strings in a format -that's an extension of the format specified by POSIX XXXX draft 17. +that's an extension of the format specified by POSIX.1e draft 17. In particular, each user or group access specification can include a fourth -field with the integer UID or GID. +colon-separated field with the numeric UID or GID. This allows ACLs to be restored on systems that may not have complete user or group information available (such as when NIS/YP or LDAP services are temporarily unavailable). .It Cm SCHILY.devminor , Cm SCHILY.devmajor The full minor and major numbers for device nodes. -.It Cm SCHILY.ino -The inode number for the entry. +.It Cm SCHILY.dev, Cm SCHILY.ino , Cm SCHILY.nlinks +The device number, inode number, and link count for the entry. +In particular, note that a pax interchange format archive using Joerg +Schilling's +Cm SCHILY.* +extensions can store all of the data from +.Va struct stat . .It Cm VENDOR.* XXX document other vendor-specific extensions XXX .El @@ -404,16 +438,15 @@ data following them. This allows readers to restore any hardlink to a file without having to rewind the archive to find an earlier entry. -However, it creates complications for robust readers, as it is -no longer clear whether or not they should ignore the size -field for hardlink entries. +However, it creates complications for robust readers, as it is no longer +clear whether or not they should ignore the size field for hardlink entries. .Ss GNU Tar Archives -The GNU tar program has used a variety of different extension -mechanisms over the years: -They added new fields to the empty space in the header (some of which was later +The GNU tar program started with a pre-POSIX format similar to that +described earlier and has extended it using several different mechanisms: +It added new fields to the empty space in the header (some of which was later used by POSIX for conflicting purposes); -they allowed the header to be continued over multiple records; -and they defined new entries that modify following entries +it allowed the header to be continued over multiple records; +and it defined new entries that modify following entries (similar in principle to the .Cm x entry described above, but each GNU special entry is single-purpose, @@ -424,33 +457,34 @@ more lenient POSIX-compliant readers can successfully extract most GNU tar archives. .Bd -literal -offset indent -struct tarfile_entry_gnu { -char name[100]; -char mode[8]; -char uid[8]; -char gid[8]; -char size[12]; -char mtime[12]; -char checksum[8]; -char typeflag[1]; -char linkname[100]; -char magic[6]; -char version[2]; -char uname[32]; -char gname[32]; -char devmajor[8]; -char devminor[8]; -char atime[12]; -char ctime[12]; -char offset[12]; -char longnames[4]; -char unused[1]; -struct { -char offset[12]; -char numbytes[12]; -} sparse[4]; -char isextended[1]; -char realsize[12]; +struct header_gnu_tar { + char name[100]; + char mode[8]; + char uid[8]; + char gid[8]; + char size[12]; + char mtime[12]; + char checksum[8]; + char typeflag[1]; + char linkname[100]; + char magic[6]; + char version[2]; + char uname[32]; + char gname[32]; + char devmajor[8]; + char devminor[8]; + char atime[12]; + char ctime[12]; + char offset[12]; + char longnames[4]; + char unused[1]; + struct { + char offset[12]; + char numbytes[12]; + } sparse[4]; + char isextended[1]; + char realsize[12]; + char pad[17]; }; .Ed .Bl -tag -width indent @@ -483,12 +517,11 @@ The data for this entry is a long pathname for the following regular entry. .It "M" This is a continuation of the last file on the previous volume. -GNU multi-volume archives gaurantee that each volume begins with a valid +GNU multi-volume archives guarantee that each volume begins with a valid entry header. To ensure this, a file may be split, with part stored at the end of one volume, and part stored at the beginning of the next volume. -The "M" typeflag indicates that this entry continues -an existing file. +The "M" typeflag indicates that this entry continues an existing file. Such entries can only occur as the first or second entry in an archive (the latter only if the first entry is a volume label). The @@ -508,7 +541,7 @@ expecting, that the header offset is in the correct sequence, and that the sum of offset and size is equal to realsize. FreeBSD's version of GNU tar does not handle the corner case of an -archive being continued in the middle of a long name or other +archive's being continued in the middle of a long name or other extension header. .It "N" Type "N" records are no longer generated by GNU tar. They contained a @@ -545,7 +578,7 @@ Note that POSIX ustar archives have a trailing null. .It Va version The version field holds a space character followed by a null. -Note that POSIX ustar archive use two copies of the ASCII digit +Note that POSIX ustar archives use two copies of the ASCII digit .Dq 0 . .It Va atime , Va ctime The time the file was last accessed and the time of @@ -582,7 +615,7 @@ .Ss Solaris Tar XXX More Details Needed XXX .Pp -Solaris tar supports an +Solaris tar (beginning with SunOS XXX 5.7 ?? XXX) supports an .Dq extended format that is fundamentally similar to pax interchange format, with the following differences: @@ -636,13 +669,10 @@ .Nm tar utility is no longer a part of POSIX or the Single Unix Standard. It last appeared in -.St -p 1003.1-1997 -(SUSv2). +.St -susv2 . It has been supplanted in subsequent standards by .Xr pax 1 . -The ustar format is defined in -.St -p1003.1 -as part of the specification for the +The ustar format is currently part of the specification for the .Xr pax 1 utility. The pax interchange file format is new with ==== //depot/projects/gdb/lib/libc/sys/mlock.2#3 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)mlock.2 8.2 (Berkeley) 12/11/93 -.\" $FreeBSD: src/lib/libc/sys/mlock.2,v 1.15 2004/05/19 03:25:17 alc Exp $ +.\" $FreeBSD: src/lib/libc/sys/mlock.2,v 1.16 2004/05/20 18:47:15 alc Exp $ .\" -.Dd June 2, 1993 +.Dd May 18, 2004 .Dt MLOCK 2 .Os .Sh NAME ==== //depot/projects/gdb/lib/libthr/thread/Makefile.inc#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libthr/thread/Makefile.inc,v 1.6 2004/03/28 14:05:28 mtm Exp $ +# $FreeBSD: src/lib/libthr/thread/Makefile.inc,v 1.7 2004/05/20 12:06:16 mtm Exp $ # thr sources .PATH: ${.CURDIR}/thread @@ -20,7 +20,6 @@ thr_exit.c \ thr_find_thread.c \ thr_getprio.c \ - thr_info.c \ thr_init.c \ thr_join.c \ thr_kern.c \ ==== //depot/projects/gdb/lib/libthr/thread/thr_barrier.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/lib/libthr/thread/thr_barrier.c,v 1.1 2004/02/19 13:51:52 mtm Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_barrier.c,v 1.2 2004/05/20 12:06:16 mtm Exp $ */ #include @@ -85,11 +85,12 @@ UMTX_LOCK(&b->b_lock); if (b->b_subtotal == (b->b_total - 1)) { TAILQ_FOREACH(ptd, &b->b_barrq, sqe) { - _thread_critical_enter(ptd); - PTHREAD_NEW_STATE(ptd, PS_RUNNING); + PTHREAD_LOCK(ptd); TAILQ_REMOVE(&b->b_barrq, ptd, sqe); + ptd->flags &= ~PTHREAD_FLAGS_IN_BARRQ; ptd->flags |= PTHREAD_FLAGS_BARR_REL; - _thread_critical_exit(ptd); + PTHREAD_WAKE(ptd); + PTHREAD_UNLOCK(ptd); } b->b_subtotal = 0; UMTX_UNLOCK(&b->b_lock); @@ -99,10 +100,10 @@ /* * More threads need to reach the barrier. Suspend this thread. */ - _thread_critical_enter(curthread); + PTHREAD_LOCK(curthread); TAILQ_INSERT_HEAD(&b->b_barrq, curthread, sqe); - PTHREAD_NEW_STATE(curthread, PS_BARRIER_WAIT); - _thread_critical_exit(curthread); + curthread->flags |= PTHREAD_FLAGS_IN_BARRQ; + PTHREAD_UNLOCK(curthread); b->b_subtotal++; PTHREAD_ASSERT(b->b_subtotal < b->b_total, "the number of threads waiting at a barrier is too large"); @@ -114,15 +115,14 @@ * Make sure this thread wasn't released from * the barrier while it was handling the signal. */ - _thread_critical_enter(curthread); + PTHREAD_LOCK(curthread); if ((curthread->flags & PTHREAD_FLAGS_BARR_REL) != 0) { curthread->flags &= ~PTHREAD_FLAGS_BARR_REL; - _thread_critical_exit(curthread); + PTHREAD_UNLOCK(curthread); error = 0; break; } - PTHREAD_NEW_STATE(curthread, PS_BARRIER_WAIT); - _thread_critical_exit(curthread); + PTHREAD_UNLOCK(curthread); } } while (error == EINTR); return (error); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri May 21 22:08:57 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E553D16A4D0; Fri, 21 May 2004 22:08:56 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BFA7016A4CE for ; Fri, 21 May 2004 22:08:56 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A2FDF43D41 for ; Fri, 21 May 2004 22:08:56 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i4M58hkp089045 for ; Fri, 21 May 2004 22:08:43 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i4M58hEe089042 for perforce@freebsd.org; Fri, 21 May 2004 22:08:43 -0700 (PDT) (envelope-from marcel@freebsd.org) Date: Fri, 21 May 2004 22:08:43 -0700 (PDT) Message-Id: <200405220508.i4M58hEe089042@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 53211 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 May 2004 05:08:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=53211 Change 53211 by marcel@marcel_nfs on 2004/05/21 22:08:00 Delete again after integ. Affected files ... .. //depot/projects/gdb/sys/ddb/db_elf.c#5 delete Differences ... From owner-p4-projects@FreeBSD.ORG Sat May 22 15:23:57 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6C3F216A4D0; Sat, 22 May 2004 15:23:57 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2B69316A4CE for ; Sat, 22 May 2004 15:23:57 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 228D543D3F for ; Sat, 22 May 2004 15:23:57 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i4MMNvjJ042709 for ; Sat, 22 May 2004 15:23:57 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i4MMNu8E042706 for perforce@freebsd.org; Sat, 22 May 2004 15:23:56 -0700 (PDT) (envelope-from marcel@freebsd.org) Date: Sat, 22 May 2004 15:23:56 -0700 (PDT) Message-Id: <200405222223.i4MMNu8E042706@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 53256 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 May 2004 22:23:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=53256 Change 53256 by marcel@marcel_nfs on 2004/05/22 15:23:55 IFC @53255 Affected files ... .. //depot/projects/gdb/lib/libc/stdio/fgetwc.c#3 integrate .. //depot/projects/gdb/lib/libc/stdio/findfp.c#2 integrate .. //depot/projects/gdb/lib/libc/stdio/fputwc.c#3 integrate .. //depot/projects/gdb/lib/libc/stdio/freopen.c#2 integrate .. //depot/projects/gdb/lib/libc/stdio/fseek.c#2 integrate .. //depot/projects/gdb/lib/libc/stdio/local.h#3 integrate .. //depot/projects/gdb/lib/libc/stdio/ungetwc.c#3 integrate .. //depot/projects/gdb/sbin/geom/class/concat/gconcat.8#2 integrate .. //depot/projects/gdb/sbin/geom/class/nop/gnop.8#2 integrate .. //depot/projects/gdb/sbin/geom/class/stripe/gstripe.8#2 integrate .. //depot/projects/gdb/sbin/geom/core/geom.c#2 integrate .. //depot/projects/gdb/sbin/ggate/ggatel/Makefile#3 integrate .. //depot/projects/gdb/sys/arm/arm/nexus.c#2 integrate .. //depot/projects/gdb/sys/dev/acpica/acpivar.h#12 integrate .. //depot/projects/gdb/sys/dev/firewire/firewire.c#7 integrate .. //depot/projects/gdb/sys/dev/firewire/firewire.h#3 integrate .. //depot/projects/gdb/sys/dev/firewire/firewirereg.h#3 integrate .. //depot/projects/gdb/sys/dev/firewire/fwcrom.c#3 integrate .. //depot/projects/gdb/sys/dev/firewire/fwdev.c#5 integrate .. //depot/projects/gdb/sys/dev/firewire/fwmem.c#3 integrate .. //depot/projects/gdb/sys/dev/firewire/fwmem.h#2 integrate .. //depot/projects/gdb/sys/dev/firewire/fwohci.c#5 integrate .. //depot/projects/gdb/sys/dev/firewire/fwohci_pci.c#5 integrate .. //depot/projects/gdb/sys/dev/firewire/fwohcireg.h#3 integrate .. //depot/projects/gdb/sys/dev/firewire/fwohcivar.h#3 integrate .. //depot/projects/gdb/sys/dev/firewire/fwphyreg.h#2 integrate .. //depot/projects/gdb/sys/dev/firewire/iec13213.h#3 integrate .. //depot/projects/gdb/sys/dev/firewire/iec68113.h#2 integrate .. //depot/projects/gdb/sys/dev/firewire/if_fwe.c#4 integrate .. //depot/projects/gdb/sys/dev/firewire/sbp.c#3 integrate .. //depot/projects/gdb/sys/dev/firewire/sbp.h#2 integrate .. //depot/projects/gdb/sys/dev/firewire/sbp_targ.c#4 integrate .. //depot/projects/gdb/sys/dev/gx/if_gx.c#4 integrate .. //depot/projects/gdb/sys/dev/ofw/openfirm.c#2 integrate .. //depot/projects/gdb/sys/dev/ofw/openfirmio.c#4 integrate .. //depot/projects/gdb/sys/dev/ofw/openfirmio.h#3 integrate .. //depot/projects/gdb/sys/dev/usb/ehci_pci.c#3 integrate .. //depot/projects/gdb/sys/dev/usb/umass.c#4 integrate .. //depot/projects/gdb/sys/pci/agp.c#7 integrate .. //depot/projects/gdb/sys/pci/agp_ali.c#3 integrate .. //depot/projects/gdb/sys/pci/agp_amd.c#4 integrate .. //depot/projects/gdb/sys/pci/agp_i810.c#5 integrate .. //depot/projects/gdb/sys/pci/agp_intel.c#5 integrate .. //depot/projects/gdb/sys/pci/agp_nvidia.c#3 integrate .. //depot/projects/gdb/sys/pci/agp_sis.c#4 integrate .. //depot/projects/gdb/sys/pci/agp_via.c#4 integrate .. //depot/projects/gdb/sys/pci/agppriv.h#2 integrate .. //depot/projects/gdb/tools/regression/geom_nop/Makefile#1 branch .. //depot/projects/gdb/tools/regression/geom_nop/runtests.sh#1 branch .. //depot/projects/gdb/tools/regression/geom_nop/test-1.sh#1 branch .. //depot/projects/gdb/tools/regression/geom_nop/test-2.sh#1 branch .. //depot/projects/gdb/tools/regression/geom_stripe/Makefile#1 branch .. //depot/projects/gdb/tools/regression/geom_stripe/runtests.sh#1 branch .. //depot/projects/gdb/tools/regression/geom_stripe/test-1.sh#1 branch .. //depot/projects/gdb/tools/regression/geom_stripe/test-2.sh#1 branch .. //depot/projects/gdb/usr.bin/ktrdump/ktrdump.8#3 integrate .. //depot/projects/gdb/usr.bin/ktrdump/ktrdump.c#4 integrate .. //depot/projects/gdb/usr.bin/tar/bsdtar.c#11 integrate .. //depot/projects/gdb/usr.sbin/Makefile#7 integrate .. //depot/projects/gdb/usr.sbin/eeprom/Makefile#1 branch .. //depot/projects/gdb/usr.sbin/eeprom/eeprom.8#1 branch .. //depot/projects/gdb/usr.sbin/eeprom/eeprom.c#1 branch .. //depot/projects/gdb/usr.sbin/eeprom/ofw_options.c#1 branch .. //depot/projects/gdb/usr.sbin/eeprom/ofw_options.h#1 branch .. //depot/projects/gdb/usr.sbin/ofwdump/Makefile#3 integrate .. //depot/projects/gdb/usr.sbin/ofwdump/ofw_util.c#3 integrate .. //depot/projects/gdb/usr.sbin/ofwdump/ofw_util.h#2 integrate .. //depot/projects/gdb/usr.sbin/ofwdump/ofwdump.8#3 integrate .. //depot/projects/gdb/usr.sbin/ofwdump/ofwdump.c#2 integrate Differences ... ==== //depot/projects/gdb/lib/libc/stdio/fgetwc.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002 Tim J. Robbins. + * Copyright (c) 2002-2004 Tim J. Robbins. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/stdio/fgetwc.c,v 1.8 2004/04/07 09:55:05 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdio/fgetwc.c,v 1.10 2004/05/22 15:41:03 tjr Exp $"); #include "namespace.h" #include @@ -77,34 +77,32 @@ static __inline wint_t __fgetwc_nbf(FILE *fp) { - static const mbstate_t initial; - mbstate_t mbs; - char buf[MB_LEN_MAX]; - size_t n, nconv; - int c; wchar_t wc; + size_t nconv; - n = 0; - while (n < MB_CUR_MAX) { - if ((c = __sgetc(fp)) == EOF) { - if (n == 0) - return (WEOF); + if (fp->_r <= 0 && __srefill(fp)) + return (WEOF); + do { + nconv = mbrtowc(&wc, fp->_p, fp->_r, &fp->_extra->mbstate); + if (nconv == (size_t)-1) break; + else if (nconv == (size_t)-2) + continue; + else if (nconv == 0) { + /* + * Assume that the only valid representation of + * the null wide character is a single null byte. + */ + fp->_p++; + fp->_r--; + return (L'\0'); + } else { + fp->_p += nconv; + fp->_r -= nconv; + return (wc); } - buf[n++] = (char)c; - mbs = initial; - nconv = mbrtowc(&wc, buf, n, &mbs); - if (nconv == n) - return (wc); - else if (nconv == 0) - return (L'\0'); - else if (nconv == (size_t)-1) - break; - } - - while (n-- != 0) - __ungetc((unsigned char)buf[n], fp); + } while (__srefill(fp) == 0); + fp->_flags |= __SERR; errno = EILSEQ; - fp->_flags |= __SERR; return (WEOF); } ==== //depot/projects/gdb/lib/libc/stdio/findfp.c#2 (text+ko) ==== @@ -38,7 +38,7 @@ static char sccsid[] = "@(#)findfp.c 8.2 (Berkeley) 1/4/94"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/stdio/findfp.c,v 1.28 2002/11/14 14:06:14 imp Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdio/findfp.c,v 1.29 2004/05/22 15:19:41 tjr Exp $"); #include #include @@ -180,11 +180,7 @@ fp->_lb._size = 0; /* fp->_lock = NULL; */ /* once set always set (reused) */ fp->_extra->orientation = 0; -#ifdef notdef - /* Stateful encoding/decoding is not yet supported. */ - memset(&fp->_extra->wstate, 0, sizeof(mbstate_t)); - memset(&fp->_extra->rstate, 0, sizeof(mbstate_t)); -#endif + memset(&fp->_extra->mbstate, 0, sizeof(mbstate_t)); return (fp); } ==== //depot/projects/gdb/lib/libc/stdio/fputwc.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002 Tim J. Robbins. + * Copyright (c) 2002-2004 Tim J. Robbins. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/stdio/fputwc.c,v 1.8 2004/04/07 09:55:05 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdio/fputwc.c,v 1.9 2004/05/22 15:19:41 tjr Exp $"); #include "namespace.h" #include @@ -43,8 +43,6 @@ wint_t __fputwc(wchar_t wc, FILE *fp) { - static const mbstate_t initial; - mbstate_t mbs; char buf[MB_LEN_MAX]; size_t i, len; @@ -57,8 +55,8 @@ *buf = (unsigned char)wc; len = 1; } else { - mbs = initial; - if ((len = wcrtomb(buf, wc, &mbs)) == (size_t)-1) { + if ((len = wcrtomb(buf, wc, &fp->_extra->mbstate)) == + (size_t)-1) { fp->_flags |= __SERR; return (WEOF); } ==== //depot/projects/gdb/lib/libc/stdio/freopen.c#2 (text+ko) ==== @@ -38,7 +38,7 @@ static char sccsid[] = "@(#)freopen.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/stdio/freopen.c,v 1.12 2003/01/26 11:45:54 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdio/freopen.c,v 1.13 2004/05/22 15:19:41 tjr Exp $"); #include "namespace.h" #include @@ -188,6 +188,7 @@ FREELB(fp); fp->_lb._size = 0; fp->_extra->orientation = 0; + memset(&fp->_extra->mbstate, 0, sizeof(mbstate_t)); if (f < 0) { /* did not get it after all */ fp->_flags = 0; /* set it free */ ==== //depot/projects/gdb/lib/libc/stdio/fseek.c#2 (text+ko) ==== @@ -38,7 +38,7 @@ static char sccsid[] = "@(#)fseek.c 8.3 (Berkeley) 1/2/94"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/stdio/fseek.c,v 1.40 2002/03/22 21:53:04 obrien Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdio/fseek.c,v 1.41 2004/05/22 15:19:41 tjr Exp $"); #include "namespace.h" #include @@ -259,6 +259,7 @@ if (HASUB(fp)) FREEUB(fp); fp->_flags &= ~__SEOF; + memset(&fp->_extra->mbstate, 0, sizeof(mbstate_t)); return (0); } @@ -303,6 +304,7 @@ fp->_r = 0; /* fp->_w = 0; */ /* unnecessary (I think...) */ fp->_flags &= ~__SEOF; + memset(&fp->_extra->mbstate, 0, sizeof(mbstate_t)); if (ltest && ret > LONG_MAX) { fp->_flags |= __SERR; errno = EOVERFLOW; ==== //depot/projects/gdb/lib/libc/stdio/local.h#3 (text+ko) ==== @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)local.h 8.3 (Berkeley) 7/3/94 - * $FreeBSD: src/lib/libc/stdio/local.h,v 1.23 2004/03/09 04:51:58 jb Exp $ + * $FreeBSD: src/lib/libc/stdio/local.h,v 1.24 2004/05/22 15:19:41 tjr Exp $ */ #include /* for off_t */ @@ -89,15 +89,7 @@ pthread_t fl_owner; /* current owner */ int fl_count; /* recursive lock count */ int orientation; /* orientation for fwide() */ -#ifdef notdef - /* - * XXX These are not used yet -- they will be used to store the - * multibyte conversion state for writing and reading when - * stateful encodings are supported by the locale framework. - */ - mbstate_t wstate; /* write conversion state */ - mbstate_t rstate; /* read conversion state */ -#endif + mbstate_t mbstate; /* multibyte conversion state */ }; /* @@ -134,8 +126,7 @@ (fp)->_extra->fl_owner = NULL; \ (fp)->_extra->fl_count = 0; \ (fp)->_extra->orientation = 0; \ - /* memset(&(fp)->_extra->wstate, 0, sizeof(mbstate_t)); */ \ - /* memset(&(fp)->_extra->rstate, 0, sizeof(mbstate_t)); */ \ + memset(&(fp)->_extra->mbstate, 0, sizeof(mbstate_t)); \ } /* ==== //depot/projects/gdb/lib/libc/stdio/ungetwc.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002 Tim J. Robbins. + * Copyright (c) 2002-2004 Tim J. Robbins. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/stdio/ungetwc.c,v 1.7 2004/04/07 09:55:05 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdio/ungetwc.c,v 1.8 2004/05/22 15:19:41 tjr Exp $"); #include "namespace.h" #include @@ -42,15 +42,12 @@ wint_t __ungetwc(wint_t wc, FILE *fp) { - static const mbstate_t initial; - mbstate_t mbs; char buf[MB_LEN_MAX]; size_t len; if (wc == WEOF) return (WEOF); - mbs = initial; - if ((len = wcrtomb(buf, wc, &mbs)) == (size_t)-1) { + if ((len = wcrtomb(buf, wc, &fp->_extra->mbstate)) == (size_t)-1) { fp->_flags |= __SERR; return (WEOF); } ==== //depot/projects/gdb/sbin/geom/class/concat/gconcat.8#2 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sbin/geom/class/concat/gconcat.8,v 1.2 2004/05/21 22:18:04 pjd Exp $ +.\" $FreeBSD: src/sbin/geom/class/concat/gconcat.8,v 1.3 2004/05/22 16:17:57 pjd Exp $ .\" .Dd May 21, 2004 .Dt GCONCAT 8 @@ -57,6 +57,7 @@ .Op Ar dev2 Op Ar ... .Nm .Cm list +.Op Ar prov Op Ar ... .Nm .Cm load .Op Fl v @@ -109,7 +110,7 @@ .It Cm clear Clear metadata on the given devices. .It Cm list -List currently configured devices. +List all or the given currently configured devices. .It Cm load Load .Pa geom_concat.ko ==== //depot/projects/gdb/sbin/geom/class/nop/gnop.8#2 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sbin/geom/class/nop/gnop.8,v 1.2 2004/05/21 22:18:05 pjd Exp $ +.\" $FreeBSD: src/sbin/geom/class/nop/gnop.8,v 1.4 2004/05/22 16:17:57 pjd Exp $ .\" .Dd May 21, 2004 .Dt GNOP 8 @@ -41,15 +41,16 @@ .Cm configure .Op Fl v .Op Fl f Ar failprob -.Ar dev1 -.Op Ar dev2 Op Ar ... +.Ar prov1 +.Op Ar prov2 Op Ar ... .Nm .Cm destroy .Op Fl fv -.Ar dev1 -.Op Ar dev2 Op Ar ... +.Ar prov1 +.Op Ar prov2 Op Ar ... .Nm .Cm list +.Op Ar prov Op Ar ... .Nm .Cm load .Op Fl v @@ -82,9 +83,9 @@ .Pa geom_nop.ko will be loaded if it is not loaded already. .It Cm destroy -Turn off transparent providers for the given devices. +Turn off the given transparent providers. .It Cm list -List currently configured providers. +List all or the given currently configured providers. .It Cm load Load .Pa geom_nop.ko @@ -107,9 +108,10 @@ .Sh EXAMPLES The following example shows how to create transparent provider for disk .Pa /dev/da0 -with 50% failure probability. +with 50% failure probability and destroy it. .Bd -literal -offset indent -gnop create -v -f 50 /dev/da0 +gnop create -v -f 50 da0 +gnop destroy -v da0.nop .Ed .Sh DIAGNOSTICS Exit status is 0 on success, and 1 if the command fails. ==== //depot/projects/gdb/sbin/geom/class/stripe/gstripe.8#2 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sbin/geom/class/stripe/gstripe.8,v 1.3 2004/05/21 22:35:18 pjd Exp $ +.\" $FreeBSD: src/sbin/geom/class/stripe/gstripe.8,v 1.4 2004/05/22 16:17:57 pjd Exp $ .\" .Dd May 21, 2004 .Dt GSTRIPE 8 @@ -59,6 +59,7 @@ .Op Ar dev2 Op Ar ... .Nm .Cm list +.Op Ar prov Op Ar ... .Nm .Cm load .Op Fl v @@ -111,7 +112,7 @@ .It Cm clear Clear metadata on the given devices. .It Cm list -List currently configured devices. +List all or the given currently configured devices. .It Cm load Load .Pa geom_stripe.ko ==== //depot/projects/gdb/sbin/geom/core/geom.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sbin/geom/core/geom.c,v 1.1 2004/05/20 10:09:55 pjd Exp $"); +__FBSDID("$FreeBSD: src/sbin/geom/core/geom.c,v 1.2 2004/05/22 16:57:39 pjd Exp $"); #include #include @@ -60,11 +60,13 @@ static struct g_command *find_command(const char *cmdstr, int all); static int std_available(const char *name); +static void std_help(struct gctl_req *req, unsigned flags); static void std_list(struct gctl_req *req, unsigned flags); static void std_load(struct gctl_req *req, unsigned flags); static void std_unload(struct gctl_req *req, unsigned flags); struct g_command std_commands[] = { + { "help", 0, std_help, G_NULL_OPTS }, { "list", 0, std_list, G_NULL_OPTS }, { "load", G_FLAG_VERBOSE | G_FLAG_LOADKLD, std_load, G_NULL_OPTS }, { "unload", G_FLAG_VERBOSE, std_unload, G_NULL_OPTS }, @@ -110,8 +112,8 @@ { if (class_name == NULL) { - errx(EXIT_FAILURE, "usage: %s " - "[options]", "geom"); + errx(EXIT_FAILURE, "usage: %s [options]", + "geom"); } else { const char *prefix; unsigned i; @@ -597,6 +599,13 @@ printf("\n"); } +static void +std_help(struct gctl_req *req __unused, unsigned flags __unused) +{ + + geom_usage(); +} + static int std_list_available(void) { @@ -743,7 +752,9 @@ std_available(const char *name) { - if (strcmp(name, "list") == 0) + if (strcmp(name, "help") == 0) + return (1); + else if (strcmp(name, "list") == 0) return (std_list_available()); else if (strcmp(name, "load") == 0) return (std_load_available()); ==== //depot/projects/gdb/sbin/ggate/ggatel/Makefile#3 (text+ko) ==== @@ -1,15 +1,15 @@ -# $FreeBSD: src/sbin/ggate/ggatel/Makefile,v 1.2 2004/05/03 07:21:59 pjd Exp $ +# $FreeBSD: src/sbin/ggate/ggatel/Makefile,v 1.3 2004/05/22 10:33:18 pjd Exp $ -.PATH: ${.CURDIR}/../shared +.PATH: ${.CURDIR}/../shared -BINDIR= /sbin PROG= ggatel +MAN= ggatel.8 SRCS= ggatel.c ggate.c -MAN= ggatel.8 + +CFLAGS+= -DLIBGEOM +CFLAGS+= -I${.CURDIR}/../shared + DPADD= ${LIBGEOM} ${LIBSBUF} ${LIBBSDXML} LDADD= -lgeom -lsbuf -lbsdxml -WARNS= 6 -CFLAGS+=-I${.CURDIR}/../shared -CFLAGS+=-DLIBGEOM .include ==== //depot/projects/gdb/sys/arm/arm/nexus.c#2 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/nexus.c,v 1.1 2004/05/14 11:46:42 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/nexus.c,v 1.2 2004/05/22 13:15:14 mux Exp $"); #include #include @@ -135,10 +135,8 @@ /* * First, deal with the children we know about already */ - printf("avant\n"); bus_generic_probe(dev); bus_generic_attach(dev); - printf("nexus_attach\n"); return 0; } ==== //depot/projects/gdb/sys/dev/acpica/acpivar.h#12 (text+ko) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/acpica/acpivar.h,v 1.65 2004/05/18 16:53:29 njl Exp $ + * $FreeBSD: src/sys/dev/acpica/acpivar.h,v 1.66 2004/05/22 17:19:59 njl Exp $ */ #include "bus_if.h" @@ -139,9 +139,62 @@ #define ACPI_IVAR_MAGIC 0x101 #define ACPI_IVAR_PRIVATE 0x102 -__BUS_ACCESSOR(acpi, handle, ACPI, HANDLE, ACPI_HANDLE); -__BUS_ACCESSOR(acpi, magic, ACPI, MAGIC, int); -__BUS_ACCESSOR(acpi, private, ACPI, PRIVATE, void *); +static __inline ACPI_HANDLE +acpi_get_handle(device_t dev) +{ + uintptr_t up; + + if (BUS_READ_IVAR(device_get_parent(dev), dev, ACPI_IVAR_HANDLE, &up)) + return (NULL); + return ((ACPI_HANDLE)up); +} + +static __inline int +acpi_set_handle(device_t dev, ACPI_HANDLE h) +{ + uintptr_t up; + + up = (uintptr_t)h; + return (BUS_WRITE_IVAR(device_get_parent(dev), dev, ACPI_IVAR_HANDLE, up)); +} + +static __inline int +acpi_get_magic(device_t dev) +{ + uintptr_t up; + + if (BUS_READ_IVAR(device_get_parent(dev), dev, ACPI_IVAR_MAGIC, &up)) + return(0); + return ((int)up); +} + +static __inline int +acpi_set_magic(device_t dev, int m) +{ + uintptr_t up; + + up = (uintptr_t)m; + return (BUS_WRITE_IVAR(device_get_parent(dev), dev, ACPI_IVAR_MAGIC, up)); +} + +static __inline void * +acpi_get_private(device_t dev) +{ + uintptr_t up; + + if (BUS_READ_IVAR(device_get_parent(dev), dev, ACPI_IVAR_PRIVATE, &up)) + return (NULL); + return ((void *)up); +} + +static __inline int +acpi_set_private(device_t dev, void *p) +{ + uintptr_t up; + + up = (uintptr_t)p; + return (BUS_WRITE_IVAR(device_get_parent(dev), dev, ACPI_IVAR_PRIVATE, up)); +} static __inline ACPI_OBJECT_TYPE acpi_get_type(device_t dev) ==== //depot/projects/gdb/sys/dev/firewire/firewire.c#7 (text+ko) ==== @@ -31,7 +31,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/firewire/firewire.c,v 1.73 2004/05/21 09:12:06 dfr Exp $ + * $FreeBSD: src/sys/dev/firewire/firewire.c,v 1.74 2004/05/22 16:14:17 dfr Exp $ * */ @@ -108,8 +108,8 @@ #ifdef FW_VMACCESS static void fw_vmaccess (struct fw_xfer *); #endif -struct fw_xfer *asyreqq (struct firewire_comm *, u_int8_t, u_int8_t, u_int8_t, - u_int32_t, u_int32_t, void (*)(struct fw_xfer *)); +struct fw_xfer *asyreqq (struct firewire_comm *, uint8_t, uint8_t, uint8_t, + uint32_t, uint32_t, void (*)(struct fw_xfer *)); static int fw_bmr (struct firewire_comm *); static device_method_t firewire_methods[] = { @@ -686,14 +686,14 @@ newrom = malloc(CROMSIZE, M_FW, M_NOWAIT | M_ZERO); src = &fc->crom_src_buf->src; - crom_load(src, (u_int32_t *)newrom, CROMSIZE); + crom_load(src, (uint32_t *)newrom, CROMSIZE); if (bcmp(newrom, fc->config_rom, CROMSIZE) != 0) { /* bump generation and reload */ src->businfo.generation ++; /* generation must be between 0x2 and 0xF */ if (src->businfo.generation < 2) src->businfo.generation ++; - crom_load(src, (u_int32_t *)newrom, CROMSIZE); + crom_load(src, (uint32_t *)newrom, CROMSIZE); bcopy(newrom, (void *)fc->config_rom, CROMSIZE); } free(newrom, M_FW); @@ -831,7 +831,7 @@ * To lookup bound process from IEEE1394 address. */ struct fw_bind * -fw_bindlookup(struct firewire_comm *fc, u_int16_t dest_hi, u_int32_t dest_lo) +fw_bindlookup(struct firewire_comm *fc, uint16_t dest_hi, uint32_t dest_lo) { u_int64_t addr; struct fw_bind *tfw; @@ -1135,7 +1135,7 @@ * Dump self ID. */ static void -fw_print_sid(u_int32_t sid) +fw_print_sid(uint32_t sid) { union fw_self_id *s; s = (union fw_self_id *) &sid; @@ -1151,16 +1151,16 @@ /* * To receive self ID. */ -void fw_sidrcv(struct firewire_comm* fc, u_int32_t *sid, u_int len) +void fw_sidrcv(struct firewire_comm* fc, uint32_t *sid, u_int len) { - u_int32_t *p; + uint32_t *p; union fw_self_id *self_id; u_int i, j, node, c_port = 0, i_branch = 0; - fc->sid_cnt = len /(sizeof(u_int32_t) * 2); + fc->sid_cnt = len /(sizeof(uint32_t) * 2); fc->status = FWBUSINIT; fc->max_node = fc->nodeid & 0x3f; - CSRARC(fc, NODE_IDS) = ((u_int32_t)fc->nodeid) << 16; + CSRARC(fc, NODE_IDS) = ((uint32_t)fc->nodeid) << 16; fc->status = FWBUSCYMELECT; fc->topology_map->crc_len = 2; fc->topology_map->generation ++; @@ -1220,19 +1220,19 @@ device_printf(fc->bdev, "%d nodes", fc->max_node + 1); /* CRC */ fc->topology_map->crc = fw_crc16( - (u_int32_t *)&fc->topology_map->generation, + (uint32_t *)&fc->topology_map->generation, fc->topology_map->crc_len * 4); fc->speed_map->crc = fw_crc16( - (u_int32_t *)&fc->speed_map->generation, + (uint32_t *)&fc->speed_map->generation, fc->speed_map->crc_len * 4); /* byteswap and copy to CSR */ - p = (u_int32_t *)fc->topology_map; + p = (uint32_t *)fc->topology_map; for (i = 0; i <= fc->topology_map->crc_len; i++) CSRARC(fc, TOPO_MAP + i * 4) = htonl(*p++); - p = (u_int32_t *)fc->speed_map; + p = (uint32_t *)fc->speed_map; CSRARC(fc, SPED_MAP) = htonl(*p++); CSRARC(fc, SPED_MAP + 4) = htonl(*p++); - /* don't byte-swap u_int8_t array */ + /* don't byte-swap uint8_t array */ bcopy(p, &CSRARC(fc, SPED_MAP + 8), (fc->speed_map->crc_len - 1)*4); fc->max_hop = fc->max_node - i_branch; @@ -1319,7 +1319,7 @@ { int err = 0; struct fw_device *fwdev, *pfwdev, *tfwdev; - u_int32_t addr; + uint32_t addr; struct fw_xfer *xfer; struct fw_pkt *fp; @@ -1442,8 +1442,8 @@ /* Portable Async. request read quad */ struct fw_xfer * -asyreqq(struct firewire_comm *fc, u_int8_t spd, u_int8_t tl, u_int8_t rt, - u_int32_t addr_hi, u_int32_t addr_lo, +asyreqq(struct firewire_comm *fc, uint8_t spd, uint8_t tl, uint8_t rt, + uint32_t addr_hi, uint32_t addr_lo, void (*hand) (struct fw_xfer*)) { struct fw_xfer *xfer; @@ -1489,7 +1489,7 @@ struct csrhdr *chdr; struct csrdir *csrd; struct csrreg *csrreg; - u_int32_t offset; + uint32_t offset; if(xfer == NULL) { @@ -1517,9 +1517,9 @@ rfp = &xfer->recv.hdr; #if 0 { - u_int32_t *qld; + uint32_t *qld; int i; - qld = (u_int32_t *)xfer->recv.buf; + qld = (uint32_t *)xfer->recv.buf; printf("len:%d\n", xfer->recv.len); for( i = 0 ; i <= xfer->recv.len && i < 32; i+= 4){ printf("0x%08x ", rfp->mode.ld[i/4]); @@ -1710,7 +1710,7 @@ u_int i; struct tlabel *tl, *tmptl; int s; - static u_int32_t label = 0; + static uint32_t label = 0; s = splfw(); for( i = 0 ; i < 0x40 ; i ++){ @@ -1767,9 +1767,9 @@ /* special handling for RRESQ */ if (pkt->mode.hdr.tcode == FWTCODE_RRESQ && - p != NULL && res >= sizeof(u_int32_t)) { - *(u_int32_t *)p = pkt->mode.rresq.data; - rb->xfer->recv.pay_len = sizeof(u_int32_t); + p != NULL && res >= sizeof(uint32_t)) { + *(uint32_t *)p = pkt->mode.rresq.data; + rb->xfer->recv.pay_len = sizeof(uint32_t); return; } @@ -1808,9 +1808,9 @@ int i, len, oldstate; #if 0 { - u_int32_t *qld; + uint32_t *qld; int i; - qld = (u_int32_t *)buf; + qld = (uint32_t *)buf; printf("spd %d len:%d\n", spd, len); for( i = 0 ; i <= len && i < 32; i+= 4){ printf("0x%08x ", ntohl(qld[i/4])); @@ -2108,7 +2108,7 @@ static void fw_vmaccess(struct fw_xfer *xfer){ struct fw_pkt *rfp, *sfp = NULL; - u_int32_t *ld = (u_int32_t *)xfer->recv.buf; + uint32_t *ld = (uint32_t *)xfer->recv.buf; printf("vmaccess spd:%2x len:%03x data:%08x %08x %08x %08x\n", xfer->spd, xfer->recv.len, ntohl(ld[0]), ntohl(ld[1]), ntohl(ld[2]), ntohl(ld[3])); @@ -2137,7 +2137,7 @@ xfer->send.buf = malloc(12, M_FW, M_NOWAIT); xfer->send.len = 12; sfp->mode.wres.tcode = FWTCODE_WRES; - *((u_int32_t *)(ntohl(rfp->mode.wreqb.dest_lo))) = rfp->mode.wreqq.data; + *((uint32_t *)(ntohl(rfp->mode.wreqb.dest_lo))) = rfp->mode.wreqq.data; sfp->mode.wres.rtcode = 0; break; case FWTCODE_RREQB: @@ -2145,7 +2145,7 @@ xfer->send.len = 16 + ntohs(rfp->mode.rreqb.len); sfp = (struct fw_pkt *)xfer->send.buf; bcopy((caddr_t)ntohl(rfp->mode.rreqb.dest_lo), - sfp->mode.rresb.payload, (u_int16_t)ntohs(rfp->mode.rreqb.len)); + sfp->mode.rresb.payload, (uint16_t)ntohs(rfp->mode.rreqb.len)); sfp->mode.rresb.tcode = FWTCODE_RRESB; sfp->mode.rresb.len = rfp->mode.rreqb.len; sfp->mode.rresb.rtcode = 0; @@ -2155,7 +2155,7 @@ xfer->send.buf = malloc(16, M_FW, M_NOWAIT); xfer->send.len = 16; sfp = (struct fw_pkt *)xfer->send.buf; - sfp->mode.rresq.data = *(u_int32_t *)(ntohl(rfp->mode.rreqq.dest_lo)); + sfp->mode.rresq.data = *(uint32_t *)(ntohl(rfp->mode.rreqq.dest_lo)); sfp->mode.wres.tcode = FWTCODE_RRESQ; sfp->mode.rresb.rtcode = 0; break; @@ -2180,9 +2180,9 @@ /* * CRC16 check-sum for IEEE1394 register blocks. */ -u_int16_t -fw_crc16(u_int32_t *ptr, u_int32_t len){ - u_int32_t i, sum, crc = 0; +uint16_t +fw_crc16(uint32_t *ptr, uint32_t len){ + uint32_t i, sum, crc = 0; int shift; len = (len + 3) & ~3; for(i = 0 ; i < len ; i+= 4){ @@ -2192,7 +2192,7 @@ } crc &= 0xffff; } - return((u_int16_t) crc); + return((uint16_t) crc); } static int @@ -2201,7 +2201,7 @@ struct fw_device fwdev; union fw_self_id *self_id; int cmstr; - u_int32_t quad; + uint32_t quad; /* Check to see if the current root node is cycle master capable */ self_id = fw_find_self_id(fc, fc->max_node); ==== //depot/projects/gdb/sys/dev/firewire/firewire.h#3 (text+ko) ==== @@ -31,7 +31,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/firewire/firewire.h,v 1.18 2004/03/26 23:17:10 simokawa Exp $ + * $FreeBSD: src/sys/dev/firewire/firewire.h,v 1.19 2004/05/22 16:14:17 dfr Exp $ * */ @@ -55,8 +55,8 @@ }; struct fw_addr { - unsigned long hi; - unsigned long lo; + uint32_t hi; + uint32_t lo; }; struct fw_asybindreq { @@ -65,8 +65,8 @@ }; struct fw_reg_req_t { - unsigned long addr; - unsigned long data; + uint32_t addr; + uint32_t data; }; #define MAXREC(x) (2 << (x)) @@ -106,39 +106,39 @@ #define FWP_TL_VALID (1 << 7) struct fw_isohdr { - u_int32_t hdr[1]; + uint32_t hdr[1]; }; struct fw_asyhdr { - u_int32_t hdr[4]; + uint32_t hdr[4]; }; #if BYTE_ORDER == BIG_ENDIAN -#define BIT4x2(x,y) u_int8_t x:4, y:4 -#define BIT16x2(x,y) u_int32_t x:16, y:16 +#define BIT4x2(x,y) uint8_t x:4, y:4 +#define BIT16x2(x,y) uint32_t x:16, y:16 #else -#define BIT4x2(x,y) u_int8_t y:4, x:4 -#define BIT16x2(x,y) u_int32_t y:16, x:16 +#define BIT4x2(x,y) uint8_t y:4, x:4 +#define BIT16x2(x,y) uint32_t y:16, x:16 #endif #if BYTE_ORDER == BIG_ENDIAN -#define COMMON_HDR(a,b,c,d) u_int32_t a:16,b:8,c:4,d:4 -#define COMMON_RES(a,b,c,d) u_int32_t a:16,b:4,c:4,d:8 +#define COMMON_HDR(a,b,c,d) uint32_t a:16,b:8,c:4,d:4 +#define COMMON_RES(a,b,c,d) uint32_t a:16,b:4,c:4,d:8 #else -#define COMMON_HDR(a,b,c,d) u_int32_t d:4,c:4,b:8,a:16 -#define COMMON_RES(a,b,c,d) u_int32_t d:8,c:4,b:4,a:16 +#define COMMON_HDR(a,b,c,d) uint32_t d:4,c:4,b:8,a:16 +#define COMMON_RES(a,b,c,d) uint32_t d:8,c:4,b:4,a:16 #endif struct fw_pkt { union { - u_int32_t ld[0]; + uint32_t ld[0]; struct { COMMON_HDR(, , tcode, ); } common; struct { COMMON_HDR(len, chtag, tcode, sy); - u_int32_t payload[0]; + uint32_t payload[0]; } stream; struct { COMMON_HDR(dst, tlrt, tcode, pri); @@ -147,64 +147,64 @@ struct { COMMON_HDR(dst, tlrt, tcode, pri); BIT16x2(src, dest_hi); - u_int32_t dest_lo; + uint32_t dest_lo; } rreqq; struct { COMMON_HDR(dst, tlrt, tcode, pri); COMMON_RES(src, rtcode, , ); - u_int32_t :32; + uint32_t :32; } wres; struct { COMMON_HDR(dst, tlrt, tcode, pri); BIT16x2(src, dest_hi); - u_int32_t dest_lo; + uint32_t dest_lo; BIT16x2(len, extcode); } rreqb; struct { COMMON_HDR(dst, tlrt, tcode, pri); BIT16x2(src, dest_hi); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat May 22 19:04:03 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DF2A016A4D0; Sat, 22 May 2004 19:04:02 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A798616A4CE for ; Sat, 22 May 2004 19:04:02 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 83BFE43D41 for ; Sat, 22 May 2004 19:04:02 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i4N23RmM097280 for ; Sat, 22 May 2004 19:03:27 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i4N23REm097277 for perforce@freebsd.org; Sat, 22 May 2004 19:03:27 -0700 (PDT) (envelope-from marcel@freebsd.org) Date: Sat, 22 May 2004 19:03:27 -0700 (PDT) Message-Id: <200405230203.i4N23REm097277@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 53266 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 May 2004 02:04:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=53266 Change 53266 by marcel@marcel_nfs on 2004/05/22 19:02:57 Add db_trace_thread() for producing backtraces given a struct thread. Add db_trace_self() to replace db_print_backtrace(). Move the actual backtrace logic out of db_stack_trace_cmd(). Protect db_read_bytes() and db_write_bytes() with a jmpbuf. Affected files ... .. //depot/projects/gdb/sys/alpha/alpha/db_interface.c#6 edit .. //depot/projects/gdb/sys/alpha/alpha/db_trace.c#2 edit .. //depot/projects/gdb/sys/ddb/db_access.c#2 edit .. //depot/projects/gdb/sys/ddb/db_main.c#7 edit .. //depot/projects/gdb/sys/ddb/db_thread.c#4 edit .. //depot/projects/gdb/sys/ddb/ddb.h#7 edit .. //depot/projects/gdb/sys/i386/i386/db_interface.c#8 edit .. //depot/projects/gdb/sys/i386/i386/db_trace.c#4 edit .. //depot/projects/gdb/sys/i386/include/frame.h#4 edit .. //depot/projects/gdb/sys/i386/isa/clock.c#9 edit .. //depot/projects/gdb/sys/ia64/ia64/db_interface.c#7 edit .. //depot/projects/gdb/sys/ia64/ia64/db_trace.c#2 edit .. //depot/projects/gdb/sys/ia64/ia64/unwind.c#3 edit .. //depot/projects/gdb/sys/sparc64/sparc64/db_interface.c#6 edit .. //depot/projects/gdb/sys/sparc64/sparc64/db_trace.c#2 edit Differences ... ==== //depot/projects/gdb/sys/alpha/alpha/db_interface.c#6 (text+ko) ==== @@ -50,14 +50,12 @@ __FBSDID("$FreeBSD: src/sys/alpha/alpha/db_interface.c,v 1.28 2003/08/22 07:20:25 imp Exp $"); #include -#include -#include #include +#include +#include #include -#include -#include -#include #include +#include #include #include @@ -73,11 +71,7 @@ #include #include #include -#include -static jmp_buf *db_nofault = 0; -extern jmp_buf db_jmpbuf; - struct db_variable db_regs[] = { { "v0", &ddb_regs.tf_regs[FRAME_V0], FCN_NULL }, { "t0", &ddb_regs.tf_regs[FRAME_T0], FCN_NULL }, @@ -120,42 +114,46 @@ /* * Read bytes from kernel address space for debugger. */ -void -db_read_bytes(addr, size, data) - vm_offset_t addr; - register size_t size; - register char *data; +int +db_read_bytes(vm_offset_t addr, size_t size, char *data) { - register char *src; + jmp_buf jb; + void *prev_jb; + char *src; + int ret; - db_nofault = &db_jmpbuf; - - src = (char *)addr; - while (size-- > 0) - *data++ = *src++; - - db_nofault = 0; + prev_jb = kdb_jmpbuf(jb); + ret = setjmp(jb); + if (ret == 0) { + src = (char *)addr; + while (size-- > 0) + *data++ = *src++; + } + (void)kdb_jmpbuf(prev_jb); + return (ret); } /* * Write bytes to kernel address space for debugger. */ -void -db_write_bytes(addr, size, data) - vm_offset_t addr; - register size_t size; - register char *data; +int +db_write_bytes(vm_offset_t addr, size_t size, char *data) { - register char *dst; + jmp_buf jb; + void *prev_jb; + char *dst; + int ret; - db_nofault = &db_jmpbuf; - - dst = (char *)addr; - while (size-- > 0) - *dst++ = *data++; - alpha_pal_imb(); - - db_nofault = 0; + prev_jb = kdb_jmpbuf(jb); + ret = setjmp(jb); + if (ret == 0) { + dst = (char *)addr; + while (size-- > 0) + *dst++ = *data++; + alpha_pal_imb(); + } + (void)kdb_jmpbuf(prev_jb); + return (ret); } /* ==== //depot/projects/gdb/sys/alpha/alpha/db_trace.c#2 (text+ko) ==== @@ -46,6 +46,7 @@ #include #include +#include #include #include #include @@ -60,11 +61,6 @@ #include #include -struct trace_request { - register_t ksp; - register_t pc; -}; - /* * Information about the `standard' Alpha function prologue. */ @@ -186,13 +182,15 @@ } static void -decode_syscall(int number, struct proc *p) +decode_syscall(int number, struct thread *td) { + struct proc *p; c_db_sym_t sym; db_expr_t diff; sy_call_t *f; const char *symname; + p = (td != NULL) ? td->td_proc : NULL; db_printf(" (%d", number); if (p != NULL && 0 <= number && number < p->p_sysent->sv_size) { f = p->p_sysent->sv_table[number].sy_call; @@ -205,99 +203,33 @@ db_printf(")"); } -void -db_stack_trace_cmd(db_expr_t addr, boolean_t have_addr, db_expr_t count, char *modif) +static int +db_backtrace(struct thread *td, struct trapframe *tf, db_addr_t frame, + db_addr_t pc, int count) { - db_addr_t callpc = 0, frame = 0, symval; struct prologue_info pi; + const char *symname; + c_db_sym_t sym; db_expr_t diff; - c_db_sym_t sym; + db_addr_t symval; + u_long last_ipl, tfps; int i; - u_long tfps; - const char *symname; - struct pcb *pcbp; - struct trapframe *tf = NULL; - boolean_t ra_from_tf = FALSE; - boolean_t ra_from_pcb; - u_long last_ipl = ~0L; - struct proc *p = NULL; - struct thread *td = NULL; - boolean_t have_trapframe = FALSE; - pid_t pid; if (count == -1) - count = 65535; + count = 1024; - if (!have_addr) { - td = curthread; - p = td->td_proc; - addr = DDB_REGS->tf_regs[FRAME_SP] - FRAME_SIZE * 8; - tf = (struct trapframe *)addr; - have_trapframe = 1; - } else if (addr < KERNBASE) { - pid = (addr % 16) + ((addr >> 4) % 16) * 10 + - ((addr >> 8) % 16) * 100 + ((addr >> 12) % 16) * 1000 + - ((addr >> 16) % 16) * 10000; - /* - * The pcb for curproc is not valid at this point, - * so fall back to the default case. - */ - if (pid == curthread->td_proc->p_pid) { - td = curthread; - p = td->td_proc; - addr = DDB_REGS->tf_regs[FRAME_SP] - FRAME_SIZE * 8; - tf = (struct trapframe *)addr; - have_trapframe = 1; - } else { - /* sx_slock(&allproc_lock); */ - LIST_FOREACH(p, &allproc, p_list) { - if (p->p_pid == pid) - break; - } - /* sx_sunlock(&allproc_lock); */ - if (p == NULL) { - db_printf("pid %d not found\n", pid); - return; - } - if ((p->p_sflag & PS_INMEM) == 0) { - db_printf("pid %d swapped out\n", pid); - return; - } - pcbp = FIRST_THREAD_IN_PROC(p)->td_pcb; /* XXXKSE */ - addr = (db_expr_t)pcbp->pcb_hw.apcb_ksp; - callpc = pcbp->pcb_context[7]; - frame = addr; - } - } else { - struct trace_request *tr; - - tr = (struct trace_request *)addr; - if (tr->ksp < KERNBASE || tr->pc < KERNBASE) { - db_printf("alpha trace requires known PC =eject=\n"); - return; - } - callpc = tr->pc; - addr = tr->ksp; - frame = addr; - } - + last_ipl = ~0L; while (count--) { - if (have_trapframe) { - frame = (db_addr_t)tf + FRAME_SIZE * 8; - callpc = tf->tf_regs[FRAME_PC]; - ra_from_tf = TRUE; - have_trapframe = 0; - } - sym = db_search_symbol(callpc, DB_STGY_ANY, &diff); + sym = db_search_symbol(pc, DB_STGY_ANY, &diff); if (sym == DB_SYM_NULL) - break; + return (ENOENT); db_symbol_values(sym, &symname, (db_expr_t *)&symval); - if (callpc < symval) { - db_printf("symbol botch: callpc 0x%lx < " - "func 0x%lx (%s)\n", callpc, symval, symname); - return; + if (pc < symval) { + db_printf("symbol botch: pc 0x%lx < " + "func 0x%lx (%s)\n", pc, symval, symname); + return (0); } /* @@ -328,7 +260,7 @@ * debugger (for serious debugging). */ db_printf("%s() at ", symname); - db_printsym(callpc, DB_STGY_PROC); + db_printsym(pc, DB_STGY_PROC); db_printf("\n"); /* @@ -337,7 +269,6 @@ */ if (sym_is_trapsymbol(symval)) { tf = (struct trapframe *)frame; - for (i = 0; special_symbols[i].ss_val != 0; ++i) if (symval == special_symbols[i].ss_val) db_printf("--- %s", @@ -345,7 +276,7 @@ tfps = tf->tf_regs[FRAME_PS]; if (symval == (uintptr_t)&XentSys) - decode_syscall(tf->tf_regs[FRAME_V0], p); + decode_syscall(tf->tf_regs[FRAME_V0], td); if ((tfps & ALPHA_PSL_IPL_MASK) != last_ipl) { last_ipl = tfps & ALPHA_PSL_IPL_MASK; if (symval != (uintptr_t)&XentSys) @@ -356,7 +287,8 @@ db_printf("--- user mode ---\n"); break; /* Terminate search. */ } - have_trapframe = 1; + frame = (db_addr_t)(tf + 1); + pc = tf->tf_regs[FRAME_PC]; continue; } @@ -366,8 +298,8 @@ * * XXX How does this interact w/ alloca()?! */ - if (decode_prologue(callpc, symval, &pi)) - return; + if (decode_prologue(pc, symval, &pi)) + return (0); if ((pi.pi_regmask & (1 << 26)) == 0) { /* * No saved RA found. We might have RA from @@ -375,37 +307,59 @@ * in a leaf call). If not, we've found the * root of the call graph. */ - if (ra_from_tf) - callpc = tf->tf_regs[FRAME_RA]; + if (tf) + pc = tf->tf_regs[FRAME_RA]; else { db_printf("--- root of call graph ---\n"); break; } } else - callpc = *(u_long *)(frame + pi.pi_reg_offset[26]); - ra_from_tf = ra_from_pcb = FALSE; -#if 0 - /* - * The call was actually made at RA - 4; the PC is - * updated before being stored in RA. - */ - callpc -= 4; -#endif + pc = *(u_long *)(frame + pi.pi_reg_offset[26]); frame += pi.pi_frame_size; + tf = NULL; + } + + return (0); +} + +void +db_stack_trace_cmd(db_expr_t addr, boolean_t have_addr, db_expr_t count, + char *modif) +{ + struct trapframe *tf; + struct thread *td; + + td = (have_addr) ? kdb_thr_lookup(addr) : kdb_thread; + if (td == NULL) { + db_printf("Thread %d not found\n", (int)addr); + return; } + tf = td->td_last_frame; + db_backtrace(td, tf, (db_addr_t)(tf + 1), tf->tf_regs[FRAME_PC], + count); } void -db_print_backtrace(void) +db_trace_self(void) { - struct trace_request tr; + register_t pc, sp; __asm __volatile( " mov $30,%0 \n" " lda %1,1f \n" "1:\n" - : "=r" (tr.ksp), "=r" (tr.pc)); - db_stack_trace_cmd((db_addr_t)&tr, 1, -1, NULL); + : "=r" (sp), "=r" (pc)); + db_backtrace(curthread, NULL, sp, pc, -1); +} + +int +db_trace_thread(struct thread *thr, int count) +{ + struct trapframe *tf; + + tf = thr->td_last_frame; + return (db_backtrace(thr, tf, (db_addr_t)(tf + 1), + tf->tf_regs[FRAME_PC], count)); } int ==== //depot/projects/gdb/sys/ddb/db_access.c#2 (text+ko) ==== @@ -32,6 +32,7 @@ __FBSDID("$FreeBSD: src/sys/ddb/db_access.c,v 1.17 2003/08/12 13:24:21 harti Exp $"); #include +#include #include #include @@ -58,7 +59,11 @@ register db_expr_t value; register int i; - db_read_bytes(addr, size, data); + if (db_read_bytes(addr, size, data) != 0) { + db_printf("*** error reading from address %llx ***\n", + (long long)addr); + kdb_reenter(); + } value = 0; #if BYTE_MSF @@ -96,6 +101,9 @@ value >>= 8; } - db_write_bytes(addr, size, data); + if (db_write_bytes(addr, size, data) != 0) { + db_printf("*** error writing to address %llx ***\n", + (long long)addr); + kdb_reenter(); + } } - ==== //depot/projects/gdb/sys/ddb/db_main.c#7 (text+ko) ==== @@ -45,10 +45,9 @@ #include static dbbe_init_f db_init; -static dbbe_trace_f db_trace; static dbbe_trap_f db_trap; -KDB_BACKEND(ddb, db_init, db_trace, db_trap); +KDB_BACKEND(ddb, db_init, db_trace_self, db_trap); db_regs_t ddb_regs; vm_offset_t ksym_start, ksym_end; @@ -183,12 +182,6 @@ return (1); /* We're the default debugger. */ } -static void -db_trace(void) -{ - db_print_backtrace(); -} - static int db_trap(int type, int code) { ==== //depot/projects/gdb/sys/ddb/db_thread.c#4 (text+ko) ==== @@ -84,6 +84,8 @@ void db_show_threads(db_expr_t addr, boolean_t hasaddr, db_expr_t cnt, char *mod) { + jmp_buf jb; + void *prev_jb; struct thread *thr; int pager_quit; @@ -92,9 +94,11 @@ pager_quit = 0; thr = kdb_thr_first(); while (!pager_quit && thr != NULL) { - db_printf(" %6d (%p) ", (int)thr->td_tid, thr); - db_printsym(PC_REGS(thr->td_last_frame), DB_STGY_PROC); - db_printf("\n"); + db_printf(" %6d (%p) ", (int)thr->td_tid, thr); + prev_jb = kdb_jmpbuf(jb); + if (setjmp(jb) == 0) + db_trace_thread(thr, 1); + kdb_jmpbuf(prev_jb); thr = kdb_thr_next(thr); } } ==== //depot/projects/gdb/sys/ddb/ddb.h#7 (text+ko) ==== @@ -79,6 +79,7 @@ extern db_expr_t db_max_width; extern db_expr_t db_tab_stop_width; +struct thread; struct vm_map; void db_check_interrupt(void); @@ -95,7 +96,7 @@ void db_print_loc_and_inst(db_addr_t loc); void db_print_thread(void); void db_printf(const char *fmt, ...) __printflike(1, 2); -void db_read_bytes(vm_offset_t addr, size_t size, char *data); +int db_read_bytes(vm_offset_t addr, size_t size, char *data); /* machine-dependent */ int db_readline(char *lstart, int lsize); void db_restart_at_pc(boolean_t watchpt); @@ -105,8 +106,10 @@ void db_skip_to_eol(void); boolean_t db_stop_at_pc(boolean_t *is_breakpoint); #define db_strcpy strcpy +void db_trace_self(void); +int db_trace_thread(struct thread *, int); int db_value_of_name(const char *name, db_expr_t *valuep); -void db_write_bytes(vm_offset_t addr, size_t size, char *data); +int db_write_bytes(vm_offset_t addr, size_t size, char *data); db_cmdfcn_t db_breakpoint_cmd; db_cmdfcn_t db_continue_cmd; @@ -132,9 +135,6 @@ db_page_calloutfcn_t db_simple_pager; -/* Scare the user with backtrace of curthread to console. */ -void db_print_backtrace(void); - /* * Command table. */ ==== //depot/projects/gdb/sys/i386/i386/db_interface.c#8 (text+ko) ==== @@ -32,16 +32,12 @@ */ #include #include -#include #include +#include #include #include -#include #include -#ifdef SMP -#include /** CPUSTOP_ON_DDBBREAK */ -#endif #include #include @@ -51,78 +47,92 @@ /* * Read bytes from kernel address space for debugger. */ -void +int db_read_bytes(vm_offset_t addr, size_t size, char *data) { - char *src; + jmp_buf jb; + void *prev_jb; + char *src; + int ret; - /* db_nofault = &db_jmpbuf; */ - - src = (char *)addr; - while (size-- > 0) - *data++ = *src++; - - /* db_nofault = 0; */ + prev_jb = kdb_jmpbuf(jb); + ret = setjmp(jb); + if (ret == 0) { + src = (char *)addr; + while (size-- > 0) + *data++ = *src++; + } + (void)kdb_jmpbuf(prev_jb); + return (ret); } /* * Write bytes to kernel address space for debugger. */ -void +int db_write_bytes(vm_offset_t addr, size_t size, char *data) { - char *dst; + jmp_buf jb; + void *prev_jb; + char *dst; + pt_entry_t *ptep0 = NULL; + pt_entry_t oldmap0 = 0; + vm_offset_t addr1; + pt_entry_t *ptep1 = NULL; + pt_entry_t oldmap1 = 0; + int ret; - pt_entry_t *ptep0 = NULL; - pt_entry_t oldmap0 = 0; - vm_offset_t addr1; - pt_entry_t *ptep1 = NULL; - pt_entry_t oldmap1 = 0; + prev_jb = kdb_jmpbuf(jb); + ret = setjmp(jb); + if (ret == 0) { + if (addr > trunc_page((vm_offset_t)btext) - size && + addr < round_page((vm_offset_t)etext)) { - /* db_nofault = &db_jmpbuf; */ + ptep0 = pmap_pte(kernel_pmap, addr); + oldmap0 = *ptep0; + *ptep0 |= PG_RW; - if (addr > trunc_page((vm_offset_t)btext) - size && - addr < round_page((vm_offset_t)etext)) { + /* + * Map another page if the data crosses a page + * boundary. + */ + if ((*ptep0 & PG_PS) == 0) { + addr1 = trunc_page(addr + size - 1); + if (trunc_page(addr) != addr1) { + ptep1 = pmap_pte(kernel_pmap, addr1); + oldmap1 = *ptep1; + *ptep1 |= PG_RW; + } + } else { + addr1 = trunc_4mpage(addr + size - 1); + if (trunc_4mpage(addr) != addr1) { + ptep1 = pmap_pte(kernel_pmap, addr1); + oldmap1 = *ptep1; + *ptep1 |= PG_RW; + } + } - ptep0 = pmap_pte(kernel_pmap, addr); - oldmap0 = *ptep0; - *ptep0 |= PG_RW; + invltlb(); + } - /* Map another page if the data crosses a page boundary. */ - if ((*ptep0 & PG_PS) == 0) { - addr1 = trunc_page(addr + size - 1); - if (trunc_page(addr) != addr1) { - ptep1 = pmap_pte(kernel_pmap, addr1); - oldmap1 = *ptep1; - *ptep1 |= PG_RW; - } - } else { - addr1 = trunc_4mpage(addr + size - 1); - if (trunc_4mpage(addr) != addr1) { - ptep1 = pmap_pte(kernel_pmap, addr1); - oldmap1 = *ptep1; - *ptep1 |= PG_RW; - } - } + dst = (char *)addr; - invltlb(); + while (size-- > 0) + *dst++ = *data++; } - dst = (char *)addr; + (void)kdb_jmpbuf(prev_jb); - while (size-- > 0) - *dst++ = *data++; - - /* db_nofault = 0; */ - if (ptep0) { - *ptep0 = oldmap0; + *ptep0 = oldmap0; - if (ptep1) - *ptep1 = oldmap1; + if (ptep1) + *ptep1 = oldmap1; - invltlb(); + invltlb(); } + + return (ret); } void ==== //depot/projects/gdb/sys/i386/i386/db_trace.c#4 (text+ko) ==== @@ -325,61 +325,26 @@ *fp = (struct i386_frame *) ebp; } -void -db_stack_trace_cmd(addr, have_addr, count, modif) - db_expr_t addr; - boolean_t have_addr; - db_expr_t count; - char *modif; +static int +db_backtrace(struct thread *td, struct trapframe *tf, struct i386_frame *frame, + db_addr_t pc, int count) { - struct trapframe *tf; - struct i386_frame *frame; - struct thread *td; + struct i386_frame *actframe; +#define MAXNARG 16 + char *argnames[MAXNARG], **argnp = NULL; + const char *name; int *argp; - db_addr_t callpc; - pid_t tid; + db_expr_t offset; + c_db_sym_t sym; + int narg; boolean_t first; if (count == -1) count = 1024; - if (!have_addr) { - td = kdb_thread; - tf = kdb_frame; - frame = (void *)tf->tf_ebp; - callpc = (db_addr_t)tf->tf_eip; - } else if (!INKERNEL(addr)) { - tid = (addr % 16) + ((addr >> 4) % 16) * 10 + - ((addr >> 8) % 16) * 100 + ((addr >> 12) % 16) * 1000 + - ((addr >> 16) % 16) * 10000; - td = kdb_thr_lookup(tid); - if (td == NULL) { - db_printf("Thread %d not found\n", tid); - return; - } - tf = td->td_last_frame; - frame = (void *)tf->tf_ebp; - callpc = (db_addr_t)tf->tf_eip; - } else { - td = NULL; - tf = NULL; - frame = (struct i386_frame *)addr; - callpc = (db_addr_t)db_get_value((int)&frame->f_retaddr, 4, - FALSE); - frame = frame->f_frame; - } - first = TRUE; while (count--) { - struct i386_frame *actframe; - int narg; - const char * name; - db_expr_t offset; - c_db_sym_t sym; -#define MAXNARG 16 - char *argnames[MAXNARG], **argnp = NULL; - - sym = db_search_symbol(callpc, DB_STGY_ANY, &offset); + sym = db_search_symbol(pc, DB_STGY_ANY, &offset); db_symbol_values(sym, &name, NULL); /* @@ -395,10 +360,10 @@ */ actframe = frame; if (first) { - if (!have_addr) { + if (tf != NULL) { int instr; - instr = db_get_value(callpc, 4, FALSE); + instr = db_get_value(pc, 4, FALSE); if ((instr & 0xffffff) == 0x00e58955) { /* pushl %ebp; movl %esp, %ebp */ actframe = (void *)(get_esp() - 4); @@ -421,7 +386,7 @@ * Don't try to walk back on a stack for a * process that hasn't actually been run yet. */ - db_print_stack_entry(name, 0, 0, 0, callpc); + db_print_stack_entry(name, 0, 0, 0, pc); break; } first = FALSE; @@ -435,36 +400,70 @@ narg = db_numargs(frame); } - db_print_stack_entry(name, narg, argnp, argp, callpc); + db_print_stack_entry(name, narg, argnp, argp, pc); if (actframe != frame) { /* `frame' belongs to caller. */ - callpc = (db_addr_t) + pc = (db_addr_t) db_get_value((int)&actframe->f_retaddr, 4, FALSE); continue; } - db_nextframe(&frame, &callpc, td); + db_nextframe(&frame, &pc, td); - if (INKERNEL((int) callpc) && !INKERNEL((int) frame)) { - sym = db_search_symbol(callpc, DB_STGY_ANY, &offset); + if (INKERNEL((int)pc) && !INKERNEL((int) frame)) { + sym = db_search_symbol(pc, DB_STGY_ANY, &offset); db_symbol_values(sym, &name, NULL); - db_print_stack_entry(name, 0, 0, 0, callpc); + db_print_stack_entry(name, 0, 0, 0, pc); break; } if (!INKERNEL((int) frame)) { break; } } + + return (0); +} + +void +db_stack_trace_cmd(db_expr_t addr, boolean_t have_addr, db_expr_t count, + char *modif) +{ + struct trapframe *tf; + struct thread *td; + + td = (have_addr) ? kdb_thr_lookup(addr) : kdb_thread; + if (td == NULL) { + db_printf("Thread %d not found\n", addr); + return; + } + tf = td->td_last_frame; + db_backtrace(td, tf, (struct i386_frame *)tf->tf_ebp, + (db_addr_t)tf->tf_eip, count); } void -db_print_backtrace(void) +db_trace_self(void) { + struct i386_frame *frame; + db_addr_t callpc; register_t ebp; __asm __volatile("movl %%ebp,%0" : "=r" (ebp)); - db_stack_trace_cmd(ebp, 1, -1, NULL); + frame = (struct i386_frame *)ebp; + callpc = (db_addr_t)db_get_value((int)&frame->f_retaddr, 4, FALSE); + frame = frame->f_frame; + db_backtrace(curthread, NULL, frame, callpc, -1); +} + +int +db_trace_thread(struct thread *thr, int count) +{ + struct trapframe *tf; + + tf = thr->td_last_frame; + return (db_backtrace(thr, tf, (struct i386_frame *)tf->tf_ebp, + (db_addr_t)tf->tf_eip, count)); } int ==== //depot/projects/gdb/sys/i386/include/frame.h#4 (text+ko) ==== @@ -149,6 +149,7 @@ int cf_ss; }; +#define CLOCK_TO_TRAPFRAME(frame) ((struct trapframe *)&(frame)->cf_fs) #define INTR_TO_TRAPFRAME(frame) ((struct trapframe *)&(frame)->if_fs) #endif /* _MACHINE_FRAME_H_ */ ==== //depot/projects/gdb/sys/i386/isa/clock.c#9 (text+ko) ==== @@ -176,6 +176,8 @@ clkintr(struct clockframe *frame) { + curthread->td_last_frame = CLOCK_TO_TRAPFRAME(frame); + if (timecounter->tc_get_timecount == i8254_get_timecount) { mtx_lock_spin(&clock_lock); if (i8254_ticked) @@ -367,6 +369,9 @@ static void rtcintr(struct clockframe *frame) { + + curthread->td_last_frame = CLOCK_TO_TRAPFRAME(frame); + while (rtcin(RTC_INTR) & RTCIR_PERIOD) { if (profprocs != 0) { if (--pscnt == 0) ==== //depot/projects/gdb/sys/ia64/ia64/db_interface.c#7 (text+ko) ==== @@ -33,13 +33,14 @@ * Interface to DDB. */ #include +#include +#include +#include +#include +#include #include #include -#include -#include #include -#include -#include #include @@ -61,9 +62,6 @@ #define SLOT_MASK ((1ULL << SLOT_BITS) - 1ULL) #define SLOT_SHIFT(i) (TMPL_BITS+((i)<<3)+(i)) -static jmp_buf *db_nofault = 0; -extern jmp_buf db_jmpbuf; - static int db_get_rse_reg(struct db_variable *vp, db_expr_t *valuep, int op); static int db_get_ip_reg(struct db_variable *vp, db_expr_t *valuep, int op); @@ -259,35 +257,45 @@ /* * Read bytes from kernel address space for debugger. */ -void +int db_read_bytes(vm_offset_t addr, size_t size, char *data) { + jmp_buf jb; + void *prev_jb; + char *src; + int ret; - db_nofault = &db_jmpbuf; - - if (addr < VM_MAX_ADDRESS) - copyin((char *)addr, data, size); - else - bcopy((char *)addr, data, size); - - db_nofault = 0; + prev_jb = kdb_jmpbuf(jb); + ret = setjmp(jb); + if (ret == 0) { + src = (char *)addr; + while (size-- > 0) + *data++ = *src++; + } + (void)kdb_jmpbuf(prev_jb); + return (ret); } /* * Write bytes to kernel address space for debugger. */ -void +int db_write_bytes(vm_offset_t addr, size_t size, char *data) { + jmp_buf jb; + void *prev_jb; + char *dst; + int ret; - db_nofault = &db_jmpbuf; - - if (addr < VM_MAX_ADDRESS) - copyout(data, (char *)addr, size); - else >>> TRUNCATED FOR MAIL (1000 lines) <<<