From owner-p4-projects@FreeBSD.ORG Sun Oct 29 05:48:33 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B2BD016A492; Sun, 29 Oct 2006 05:48:33 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 8B25416A40F for ; Sun, 29 Oct 2006 05:48:33 +0000 (UTC) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D510C43D4C for ; Sun, 29 Oct 2006 05:48:32 +0000 (GMT) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9T5mW4I083097 for ; Sun, 29 Oct 2006 05:48:32 GMT (envelope-from scottl@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9T5mARs083068 for perforce@freebsd.org; Sun, 29 Oct 2006 05:48:10 GMT (envelope-from scottl@freebsd.org) Date: Sun, 29 Oct 2006 05:48:10 GMT Message-Id: <200610290548.k9T5mARs083068@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to scottl@freebsd.org using -f From: Scott Long To: Perforce Change Reviews Cc: Subject: PERFORCE change 108641 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Oct 2006 05:48:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=108641 Change 108641 by scottl@scottl-x64 on 2006/10/29 05:47:51 IFC Affected files ... .. //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.8#3 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/busdma_machdep.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/db_trace.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/intr_machdep.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/io_apic.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/local_apic.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/machdep.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/mp_machdep.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/nexus.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/pmap.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/prof_machdep.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/support.S#7 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/trap.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/vm_machdep.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/conf/DEFAULTS#4 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/conf/GENERIC#12 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/conf/GENERIC.hints#3 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/conf/NOTES#11 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/ia32/ia32_signal.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/ia32/ia32_sigtramp.S#2 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/include/apicvar.h#9 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/include/asmacros.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/include/clock.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/include/elf.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/include/intr_machdep.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/include/profile.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/include/stdarg.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/isa/atpic.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/isa/atpic_vector.S#4 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/isa/clock.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/linux32/linux.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/linux32/linux32_dummy.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/linux32/linux32_machdep.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/linux32/linux32_proto.h#9 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/linux32/linux32_syscall.h#9 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/linux32/linux32_sysent.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/linux32/linux32_sysvec.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/linux32/syscalls.master#9 integrate .. //depot/projects/scottl-camlock/src/sys/arm/arm/cpufunc.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/arm/arm/elf_trampoline.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/arm/arm/fusu.S#5 integrate .. //depot/projects/scottl-camlock/src/sys/arm/arm/nexus.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/arm/arm/nexus_io.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/arm/arm/trap.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/arm/arm/undefined.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/arm/arm/vm_machdep.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/arm/at91/at91_mci.c#1 branch .. //depot/projects/scottl-camlock/src/sys/arm/at91/at91_mcireg.h#1 branch .. //depot/projects/scottl-camlock/src/sys/arm/at91/at91_spi.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/arm/at91/at91_ssc.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/arm/at91/at91_sscreg.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/arm/at91/at91_twi.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/arm/at91/if_ate.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/arm/at91/kb920x_machdep.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/arm/at91/std.at91#3 integrate .. //depot/projects/scottl-camlock/src/sys/arm/at91/std.kb920x#3 integrate .. //depot/projects/scottl-camlock/src/sys/arm/conf/EP80219#2 integrate .. //depot/projects/scottl-camlock/src/sys/arm/conf/IQ31244#6 integrate .. //depot/projects/scottl-camlock/src/sys/arm/conf/KB920X#6 integrate .. //depot/projects/scottl-camlock/src/sys/arm/conf/SIMICS#6 integrate .. //depot/projects/scottl-camlock/src/sys/arm/conf/SKYEYE#5 integrate .. //depot/projects/scottl-camlock/src/sys/arm/include/clock.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/arm/include/elf.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/arm/include/stdarg.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/arm/sa11x0/assabet_machdep.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/arm/sa11x0/sa11x0.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/arm/sa11x0/sa11x0_io.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/arm/sa11x0/sa11x0_irqhandler.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/arm/sa11x0/sa11x0_ost.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/arm/xscale/i80321/ep80219_machdep.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/arm/xscale/i80321/iq31244_machdep.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/boot/Makefile#8 integrate .. //depot/projects/scottl-camlock/src/sys/boot/arm/Makefile#2 integrate .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/Makefile.inc#3 integrate .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/boot0spi/main.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/boot2/Makefile#1 branch .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/boot2/boot2.c#1 branch .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/boot2/kb920x_board.c#1 branch .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/bootiic/env_vars.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/bootiic/loader_prompt.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/bootspi/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/bootspi/arm_init.S#2 integrate .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/bootspi/ee.c#1 branch .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/bootspi/ee.h#1 branch .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/bootspi/env_vars.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/bootspi/loader_prompt.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/bootspi/main.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/libat91/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/libat91/at91rm9200.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/libat91/emac.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/libat91/emac.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/libat91/emac_init.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/libat91/lib.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/libat91/lib_AT91RM9200.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/libat91/mci_device.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/libat91/mci_device.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/libat91/memcmp.c#1 branch .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/libat91/memcpy.c#1 branch .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/libat91/memset.c#1 branch .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/libat91/p_string.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/libat91/printf.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/libat91/putchar.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/libat91/sd-card.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/libat91/spi_flash.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/libat91/strcmp.c#1 branch .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/libat91/strcpy.c#1 branch .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/libat91/strcvt.c#1 branch .. //depot/projects/scottl-camlock/src/sys/boot/arm/at91/libat91/strlen.c#1 branch .. //depot/projects/scottl-camlock/src/sys/boot/common/help.common#6 integrate .. //depot/projects/scottl-camlock/src/sys/boot/common/loader.8#9 integrate .. //depot/projects/scottl-camlock/src/sys/boot/common/merge_help.awk#2 integrate .. //depot/projects/scottl-camlock/src/sys/boot/common/panic.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/boot/ficl/Makefile#5 integrate .. //depot/projects/scottl-camlock/src/sys/boot/forth/loader.conf#9 integrate .. //depot/projects/scottl-camlock/src/sys/boot/forth/support.4th#2 integrate .. //depot/projects/scottl-camlock/src/sys/boot/i386/Makefile.inc#3 integrate .. //depot/projects/scottl-camlock/src/sys/boot/i386/boot2/boot2.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/boot/i386/btx/btx/btx.S#4 integrate .. //depot/projects/scottl-camlock/src/sys/boot/i386/libi386/biospci.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/boot/i386/libi386/biossmap.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/boot/i386/libi386/bootinfo64.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/boot/i386/libi386/elf32_freebsd.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/boot/i386/libi386/elf64_freebsd.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/boot/i386/libi386/libi386.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/boot/i386/loader/help.i386#3 integrate .. //depot/projects/scottl-camlock/src/sys/boot/i386/pxeldr/pxeboot.8#2 integrate .. //depot/projects/scottl-camlock/src/sys/boot/ofw/libofw/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/sys/boot/ofw/libofw/openfirm.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/boot/ofw/libofw/openfirm_mmu.c#1 branch .. //depot/projects/scottl-camlock/src/sys/boot/pc98/boot2/inode.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/boot/sparc64/loader/hcall.S#1 branch .. //depot/projects/scottl-camlock/src/sys/boot/sparc64/loader/main.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/bsm/audit.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/bsm/audit_internal.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/bsm/audit_kevents.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/bsm/audit_record.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/cam/cam_periph.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/cam/cam_xpt.c#42 integrate .. //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_da.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_misc.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_proto.h#11 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_signal.h#1 branch .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_syscall.h#11 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_syscalls.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_sysent.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/syscalls.master#11 integrate .. //depot/projects/scottl-camlock/src/sys/compat/ia32/ia32_genassym.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/compat/ia32/ia32_signal.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/compat/ia32/ia32_sysvec.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/compat/linprocfs/linprocfs.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/compat/linux/linux_aio.c#1 branch .. //depot/projects/scottl-camlock/src/sys/compat/linux/linux_aio.h#1 branch .. //depot/projects/scottl-camlock/src/sys/compat/linux/linux_emul.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/compat/linux/linux_emul.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/compat/linux/linux_file.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/compat/linux/linux_futex.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/compat/linux/linux_getcwd.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/compat/linux/linux_ipc.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/compat/linux/linux_misc.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/compat/linux/linux_misc.h#1 branch .. //depot/projects/scottl-camlock/src/sys/compat/linux/linux_signal.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/compat/linux/linux_signal.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/compat/linux/linux_socket.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/compat/linux/linux_stats.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/compat/svr4/svr4_fcntl.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/compat/svr4/svr4_misc.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/conf/Makefile.sun4v#1 branch .. //depot/projects/scottl-camlock/src/sys/conf/NOTES#15 integrate .. //depot/projects/scottl-camlock/src/sys/conf/files#14 integrate .. //depot/projects/scottl-camlock/src/sys/conf/files.amd64#11 integrate .. //depot/projects/scottl-camlock/src/sys/conf/files.i386#11 integrate .. //depot/projects/scottl-camlock/src/sys/conf/files.ia64#10 integrate .. //depot/projects/scottl-camlock/src/sys/conf/files.pc98#10 integrate .. //depot/projects/scottl-camlock/src/sys/conf/files.powerpc#9 integrate .. //depot/projects/scottl-camlock/src/sys/conf/files.sparc64#8 integrate .. //depot/projects/scottl-camlock/src/sys/conf/files.sun4v#1 branch .. //depot/projects/scottl-camlock/src/sys/conf/kern.post.mk#10 integrate .. //depot/projects/scottl-camlock/src/sys/conf/kern.pre.mk#8 integrate .. //depot/projects/scottl-camlock/src/sys/conf/kmod.mk#12 integrate .. //depot/projects/scottl-camlock/src/sys/conf/options#13 integrate .. //depot/projects/scottl-camlock/src/sys/conf/options.sun4v#1 branch .. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/freebsd/ah_if.m#5 delete .. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/freebsd/ah_osdep.c#8 delete .. //depot/projects/scottl-camlock/src/sys/contrib/dev/ath/freebsd/ah_osdep.h#5 delete .. //depot/projects/scottl-camlock/src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/contrib/pf/net/pf.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/crypto/sha2/sha2.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/crypto/via/padlock_cipher.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/ddb/db_command.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/ddb/db_examine.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/ddb/db_output.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/ddb/db_output.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/ddb/db_ps.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/acpica/Osd/OsdHardware.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/acpica/acpi.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/dev/aic/aic_pccard.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-all.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-chipset.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-disk.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-pci.h#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-raid.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-usb.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ath/ah_osdep.c#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/ath/ah_osdep.h#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/ath/if_ath.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ath/if_athvar.h#11 integrate .. //depot/projects/scottl-camlock/src/sys/dev/atkbdc/atkbd.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/awi/if_awi_pccard.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/bce/if_bce.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/bce/if_bcereg.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/bge/if_bge.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/dev/bge/if_bgereg.h#11 integrate .. //depot/projects/scottl-camlock/src/sys/dev/bktr/bktr_i2c.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/bktr/bktr_i2c.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cs/if_cs.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cs/if_csvar.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/dc/if_dc.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/dc/if_dcreg.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/de/if_de.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/de/if_devar.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/digi/digi.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/em/if_em.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/dev/em/if_em.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/em/if_em_hw.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/em/if_em_hw.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/em/if_em_osdep.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/en/if_en_pci.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/en/midway.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/exca/exca.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/fdc/fdc.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/fxp/if_fxp.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/hwpmc/hwpmc_mod.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ic/nec765.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ichsmb/ichsmb.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/iicbus/iicsmb.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ipmi/ipmi.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ipmi/ipmi_acpi.c#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/ipmi/ipmi_isa.c#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/ipmi/ipmi_kcs.c#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/ipmi/ipmi_pci.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ipmi/ipmi_smbios.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ipmi/ipmi_smbus.c#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/ipmi/ipmi_smic.c#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/ipmi/ipmi_ssif.c#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/ipmi/ipmivars.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ips/ips.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ips/ipsreg.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/isp/isp_freebsd.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/dev/isp/isp_freebsd.h#10 integrate .. //depot/projects/scottl-camlock/src/sys/dev/iwi/if_iwi.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/iwi/if_iwireg.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ixgb/if_ixgb.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/kbdmux/kbdmux.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/lge/if_lge.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/lge/if_lgereg.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mfi/mfi.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mfi/mfi_debug.c#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/mfi/mfi_disk.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mfi/mfireg.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mfi/mfivar.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mmc/bridge.h#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/mmc/mmc.c#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/mmc/mmcbr_if.m#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/mmc/mmcbrvar.h#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/mmc/mmcbus_if.m#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/mmc/mmcreg.h#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/mmc/mmcsd.c#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/mmc/mmcvar.h#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_cam.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_pci.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mxge/eth_z8e.dat.gz.uu#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mxge/ethp_z8e.dat.gz.uu#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mxge/if_mxge.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mxge/if_mxge_var.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mxge/mxge_mcp.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/my/if_my.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/my/if_myreg.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/nfe/if_nfe.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/nfe/if_nfereg.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/nge/if_nge.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/nge/if_ngereg.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ofw/openfirm.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ofw/openfirm.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/pci/pci.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/dev/pci/pci_if.m#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/pci/pci_pci.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/pci/pci_private.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/pci/pci_user.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/pci/pcivar.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ray/if_ray.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/re/if_re.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sio/sio_pccard.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sk/if_sk.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sk/if_skreg.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/smbus/smb.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/smbus/smb.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/smbus/smbconf.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/smbus/smbconf.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/smbus/smbus.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/smbus/smbus.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/smbus/smbus_if.m#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/driver.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/midi/sequencer.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/pci/ak452x.c#2 delete .. //depot/projects/scottl-camlock/src/sys/dev/sound/pci/ak452x.h#2 delete .. //depot/projects/scottl-camlock/src/sys/dev/sound/pci/atiixp.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/pci/atiixp.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/pci/envy24.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/pci/envy24ht.c#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/sound/pci/envy24ht.h#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/sound/pci/hda/hda_reg.h#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/sound/pci/hda/hdac.c#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/sound/pci/hda/hdac.h#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/sound/pci/hda/hdac_private.h#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/sound/pci/hda/hdac_reg.h#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/sound/pci/spicds.c#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/sound/pci/spicds.h#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/sound/pcm/ac97.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/pcm/ac97_patch.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/pcm/ac97_patch.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/pcm/buffer.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/pcm/buffer.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/pcm/channel.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/pcm/channel.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/pcm/channel_if.m#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/pcm/dsp.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/pcm/dsp.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/pcm/mixer.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/pcm/mixer.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/pcm/sound.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/pcm/sound.h#10 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/usb/uaudio.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/usb/uaudio_pcm.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/spibus/spibus.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/stge/if_stge.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/syscons/scmouse.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/syscons/scvidctl.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/syscons/syscons.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/syscons/syscons.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ti/if_ti.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/twa/tw_osl_includes.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/twa/tw_osl_inline.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/twa/tw_osl_share.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/txp/if_txp.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/uart/uart_kbd_sun.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ubsec/ubsec.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/ehci.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/if_aue.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/if_axe.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/if_cdce.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/if_kue.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/if_udav.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/if_ural.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/ohci.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/uhci.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/ukbd.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/umass.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_quirks.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_subr.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usbdevs#13 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usbdi.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usbdi.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/uscanner.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/vge/if_vge.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/vkbd/vkbd.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/fs/devfs/devfs.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/fs/devfs/devfs_devs.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/fs/devfs/devfs_int.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/fs/devfs/devfs_vfsops.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/fs/devfs/devfs_vnops.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/fs/hpfs/hpfs_vfsops.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/fs/msdosfs/denode.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/fs/msdosfs/direntry.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/fs/msdosfs/msdosfs_conv.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/fs/msdosfs/msdosfs_denode.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/fs/msdosfs/msdosfs_vfsops.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/fs/msdosfs/msdosfs_vnops.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/fs/ntfs/ntfs_vfsops.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/fs/ntfs/ntfs_vnops.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/fs/nullfs/null_vfsops.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/fs/nwfs/nwfs_subr.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/fs/nwfs/nwfs_vfsops.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/fs/portalfs/portal_vfsops.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/fs/procfs/procfs_ioctl.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/fs/procfs/procfs_status.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/fs/smbfs/smbfs_subr.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/fs/smbfs/smbfs_vfsops.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/fs/udf/osta.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/fs/udf/udf_vfsops.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/fs/umapfs/umap_vfsops.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/fs/unionfs/union_vfsops.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/geom/cache/g_cache.c#1 branch .. //depot/projects/scottl-camlock/src/sys/geom/cache/g_cache.h#1 branch .. //depot/projects/scottl-camlock/src/sys/geom/eli/g_eli.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/geom/eli/g_eli.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/geom/eli/g_eli_ctl.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/geom/gate/g_gate.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/geom/gate/g_gate.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/geom/geom.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/geom/geom_event.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/geom/geom_subr.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/geom/label/g_label_msdosfs.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/geom/label/g_label_msdosfs.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/geom/label/g_label_ufs.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/geom/mirror/g_mirror.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/geom/nop/g_nop.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/geom/nop/g_nop.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/geom/raid3/g_raid3.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/geom/raid3/g_raid3_ctl.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/gnu/fs/ext2fs/ext2_inode.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/gnu/fs/ext2fs/ext2_vfsops.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/gnu/fs/reiserfs/reiserfs_vfsops.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/i386/acpica/Makefile#4 integrate .. //depot/projects/scottl-camlock/src/sys/i386/bios/apm.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/i386/conf/DEFAULTS#4 integrate .. //depot/projects/scottl-camlock/src/sys/i386/conf/GENERIC#13 integrate .. //depot/projects/scottl-camlock/src/sys/i386/conf/NOTES#13 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/busdma_machdep.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/db_trace.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/intr_machdep.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/io_apic.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/local_apic.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/machdep.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/mp_machdep.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/nexus.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/pmap.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/support.s#6 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/sys_machdep.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/trap.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/i386/ibcs2/ibcs2_misc.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/i386/ibcs2/ibcs2_xenix.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/i386/include/apicvar.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/i386/include/asmacros.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/i386/include/clock.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/i386/include/elf.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/i386/include/intr_machdep.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/i386/include/profile.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/i386/include/stdarg.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/i386/isa/atpic.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/i386/isa/atpic_vector.s#4 integrate .. //depot/projects/scottl-camlock/src/sys/i386/isa/clock.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/i386/isa/pmtimer.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/i386/isa/prof_machdep.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/i386/linux/linux.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/i386/linux/linux_dummy.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/i386/linux/linux_machdep.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/i386/linux/linux_proto.h#12 integrate .. //depot/projects/scottl-camlock/src/sys/i386/linux/linux_syscall.h#12 integrate .. //depot/projects/scottl-camlock/src/sys/i386/linux/linux_sysent.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/i386/linux/linux_sysvec.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/i386/linux/syscalls.master#12 integrate .. //depot/projects/scottl-camlock/src/sys/ia64/conf/DEFAULTS#5 integrate .. //depot/projects/scottl-camlock/src/sys/ia64/conf/GENERIC#10 integrate .. //depot/projects/scottl-camlock/src/sys/ia64/conf/NOTES#8 integrate .. //depot/projects/scottl-camlock/src/sys/ia64/ia32/ia32_signal.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/ia64/ia32/ia32_trap.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/ia64/ia64/busdma_machdep.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/ia64/ia64/clock.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/ia64/ia64/machdep.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/ia64/ia64/nexus.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/ia64/ia64/pmap.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/ia64/ia64/support.S#4 integrate .. //depot/projects/scottl-camlock/src/sys/ia64/ia64/trap.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/ia64/include/clock.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/ia64/include/elf.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/ia64/include/stdarg.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/isofs/cd9660/cd9660_vfsops.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/kern/bus_if.m#5 integrate .. //depot/projects/scottl-camlock/src/sys/kern/init_main.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/kern/init_sysent.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_acct.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_acl.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_alq.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_clock.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_conf.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_descrip.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_environment.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_event.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_exec.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_exit.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_fork.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_idle.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_intr.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_jail.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_kse.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_ktr.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_ktrace.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_linker.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_lock.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_mac.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_malloc.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_mbuf.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_poll.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_proc.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_prot.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_resource.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_shutdown.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_sig.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_subr.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_switch.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_synch.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_sysctl.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_thr.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_thread.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_time.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_timeout.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_umtx.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/kern/link_elf.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/kern/link_elf_obj.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sched_4bsd.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sched_ule.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/kern/subr_bus.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/kern/subr_clock.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/kern/subr_fattime.c#1 branch .. //depot/projects/scottl-camlock/src/sys/kern/subr_prf.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/kern/subr_rman.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/kern/subr_rtc.c#1 branch .. //depot/projects/scottl-camlock/src/sys/kern/subr_trap.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/kern/subr_witness.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sys_generic.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sys_pipe.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sys_process.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sys_socket.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/kern/syscalls.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/kern/syscalls.master#11 integrate .. //depot/projects/scottl-camlock/src/sys/kern/systrace_args.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sysv_msg.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sysv_sem.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/kern/sysv_shm.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/kern/tty.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/kern/tty_pts.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/kern/tty_pty.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/kern/tty_tty.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/kern/uipc_mbuf.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/kern/uipc_mbuf2.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/kern/uipc_mqueue.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/kern/uipc_sem.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/kern/uipc_socket.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/kern/uipc_syscalls.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/kern/uipc_usrreq.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_aio.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_bio.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_cluster.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_default.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_export.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_lookup.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_mount.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_subr.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_syscalls.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_vnops.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/modules/Makefile#14 integrate .. //depot/projects/scottl-camlock/src/sys/modules/aio/Makefile#2 integrate .. //depot/projects/scottl-camlock/src/sys/modules/ath/Makefile#4 integrate .. //depot/projects/scottl-camlock/src/sys/modules/ath_hal/Makefile#5 integrate .. //depot/projects/scottl-camlock/src/sys/modules/ath_rate_amrr/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/sys/modules/ath_rate_onoe/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/sys/modules/ath_rate_sample/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/sys/modules/digi/digi/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/sys/modules/geom/Makefile#6 integrate .. //depot/projects/scottl-camlock/src/sys/modules/geom/geom_cache/Makefile#1 branch .. //depot/projects/scottl-camlock/src/sys/modules/if_tap/Makefile#4 integrate .. //depot/projects/scottl-camlock/src/sys/modules/ipfw/Makefile#5 integrate .. //depot/projects/scottl-camlock/src/sys/modules/ipmi/Makefile#2 integrate .. //depot/projects/scottl-camlock/src/sys/modules/kbdmux/Makefile#4 integrate .. //depot/projects/scottl-camlock/src/sys/modules/libalias/Makefile#2 integrate .. //depot/projects/scottl-camlock/src/sys/modules/libalias/libalias/Makefile#1 branch .. //depot/projects/scottl-camlock/src/sys/modules/libalias/modules/Makefile#1 branch .. //depot/projects/scottl-camlock/src/sys/modules/libalias/modules/Makefile.inc#1 branch .. //depot/projects/scottl-camlock/src/sys/modules/libalias/modules/cuseeme/Makefile#1 branch .. //depot/projects/scottl-camlock/src/sys/modules/libalias/modules/dummy/Makefile#1 branch .. //depot/projects/scottl-camlock/src/sys/modules/libalias/modules/ftp/Makefile#1 branch .. //depot/projects/scottl-camlock/src/sys/modules/libalias/modules/irc/Makefile#1 branch .. //depot/projects/scottl-camlock/src/sys/modules/libalias/modules/modules.inc#1 branch .. //depot/projects/scottl-camlock/src/sys/modules/libalias/modules/nbt/Makefile#1 branch .. //depot/projects/scottl-camlock/src/sys/modules/libalias/modules/pptp/Makefile#1 branch .. //depot/projects/scottl-camlock/src/sys/modules/libalias/modules/skinny/Makefile#1 branch .. //depot/projects/scottl-camlock/src/sys/modules/libalias/modules/smedia/Makefile#1 branch .. //depot/projects/scottl-camlock/src/sys/modules/linux/Makefile#7 integrate .. //depot/projects/scottl-camlock/src/sys/modules/mem/Makefile#2 integrate .. //depot/projects/scottl-camlock/src/sys/modules/mfi/Makefile#4 integrate .. //depot/projects/scottl-camlock/src/sys/modules/mmc/Makefile#1 branch .. //depot/projects/scottl-camlock/src/sys/modules/mmcsd/Makefile#1 branch .. //depot/projects/scottl-camlock/src/sys/modules/pf/Makefile#7 integrate .. //depot/projects/scottl-camlock/src/sys/modules/procfs/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/sys/modules/sound/driver/Makefile#6 integrate .. //depot/projects/scottl-camlock/src/sys/modules/sound/driver/ak452x/Makefile#2 delete .. //depot/projects/scottl-camlock/src/sys/modules/sound/driver/envy24/Makefile#2 integrate .. //depot/projects/scottl-camlock/src/sys/modules/sound/driver/envy24ht/Makefile#1 branch .. //depot/projects/scottl-camlock/src/sys/modules/sound/driver/hda/Makefile#1 branch .. //depot/projects/scottl-camlock/src/sys/modules/sound/driver/spicds/Makefile#1 branch .. //depot/projects/scottl-camlock/src/sys/modules/uart/Makefile#7 integrate .. //depot/projects/scottl-camlock/src/sys/modules/ukbd/Makefile#6 integrate .. //depot/projects/scottl-camlock/src/sys/modules/vkbd/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/sys/modules/wlan/Makefile#5 integrate .. //depot/projects/scottl-camlock/src/sys/net/bpf.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/net/bridgestp.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/net/bsd_comp.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/net/if.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_atmsubr.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_bridge.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_ethersubr.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_fddisubr.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_fwsubr.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_gif.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_iso88025subr.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_loop.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_ppp.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_stf.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_tap.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_tap.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_tun.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_vlan.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_vlan_var.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211_input.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211_ioctl.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211_output.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/netatalk/aarp.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/netatalk/ddp_input.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/netatalk/ddp_output.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/netgraph/atm/ccatm/ng_ccatm.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/netgraph/netflow/netflow.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/netgraph/netflow/ng_netflow.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/netgraph/netgraph.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/netgraph/ng_base.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/netgraph/ng_eiface.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/netgraph/ng_fec.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/netgraph/ng_message.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/netgraph/ng_nat.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/netgraph/ng_socket.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/netgraph/ng_socket.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/netgraph/ng_vlan.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/if_ether.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/igmp.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/in.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/in_pcb.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/in_var.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_carp.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_divert.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_dummynet.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_fw2.c#13 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_fw_pfil.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_icmp.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_input.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_mroute.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_mroute.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_options.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_output.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ip_var.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/libalias/alias.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/libalias/alias.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/libalias/alias_cuseeme.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/libalias/alias_db.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/libalias/alias_dummy.c#1 branch .. //depot/projects/scottl-camlock/src/sys/netinet/libalias/alias_ftp.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/libalias/alias_irc.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/libalias/alias_local.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/libalias/alias_mod.c#1 branch .. //depot/projects/scottl-camlock/src/sys/netinet/libalias/alias_mod.h#1 branch .. //depot/projects/scottl-camlock/src/sys/netinet/libalias/alias_nbt.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/libalias/alias_old.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/libalias/alias_pptp.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/libalias/alias_proxy.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/libalias/alias_skinny.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/libalias/alias_smedia.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/libalias/alias_util.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/libalias/libalias.3#4 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/raw_ip.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/tcp_input.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/tcp_output.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/tcp_subr.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/tcp_syncache.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/tcp_timer.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/tcp_usrreq.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/tcp_var.h#12 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/udp_usrreq.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/in6.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/in6_ifattach.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/in6_proto.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/ip6_mroute.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/nd6.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/nfs4client/nfs4_vfsops.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/nfs4client/nfs4_vnops.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_node.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_subs.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_vfsops.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_vnops.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfsnode.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/nfsserver/nfs_serv.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/nfsserver/nfs_srvsock.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/nfsserver/nfs_syscalls.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/pc98/cbus/clock.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/pc98/cbus/fdc.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/pc98/cbus/pckbd.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/pc98/conf/DEFAULTS#4 integrate .. //depot/projects/scottl-camlock/src/sys/pc98/conf/GENERIC#10 integrate .. //depot/projects/scottl-camlock/src/sys/pc98/conf/NOTES#11 integrate .. //depot/projects/scottl-camlock/src/sys/pc98/pc98/machdep.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/pci/agp.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/pci/agp_amd64.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/pci/agp_i810.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/pci/alpm.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/pci/amdpm.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/pci/amdsmb.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/pci/if_rl.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/pci/if_sf.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/pci/if_sfreg.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/pci/if_sis.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/pci/if_sisreg.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/pci/if_ste.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/pci/if_tl.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/pci/if_tlreg.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/pci/if_vr.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/pci/if_vrreg.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/pci/if_wb.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/pci/if_wbreg.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/pci/if_xl.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/pci/if_xlreg.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/pci/intpm.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/pci/intpmreg.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/pci/nfsmb.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/pci/viapm.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/posix4/ksched.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/conf/DEFAULTS#3 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/conf/GENERIC#11 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/conf/NOTES#3 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/include/clock.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/include/elf.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/include/stdarg.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/powerpc/clock.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/powerpc/copyinout.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/powerpc/db_interface.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/powerpc/machdep.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/powerpc/trap.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/security/audit/audit.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/security/audit/audit_bsm.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/security/audit/audit_bsm_token.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/security/audit/audit_private.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/security/audit/audit_syscalls.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/security/audit/audit_worker.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/security/mac/mac_framework.h#1 branch .. //depot/projects/scottl-camlock/src/sys/security/mac/mac_inet.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/security/mac/mac_internal.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/security/mac/mac_label.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/security/mac/mac_net.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/security/mac/mac_pipe.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/security/mac/mac_posix_sem.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/security/mac/mac_process.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/security/mac/mac_socket.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/security/mac/mac_system.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/security/mac/mac_sysv_msg.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/security/mac/mac_sysv_sem.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/security/mac/mac_sysv_shm.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/security/mac/mac_vfs.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/security/mac_biba/mac_biba.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/security/mac_lomac/mac_lomac.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/security/mac_mls/mac_mls.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/security/mac_portacl/mac_portacl.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/conf/DEFAULTS#3 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/conf/GENERIC#12 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/conf/NOTES#9 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/include/asi.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/include/clock.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/include/elf.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/include/stdarg.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/pci/ofw_pcib.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/pci/ofw_pcib_subr.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/pci/ofw_pcibus.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/sparc64/db_interface.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/sparc64/genassym.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/sparc64/machdep.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/sparc64/pmap.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/sparc64/support.S#3 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/sparc64/trap.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/sparc64/tsb.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/sun4v/compile/.cvsignore#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/conf/DEFAULTS#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/conf/GENERIC#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/conf/GENERIC.hints#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/conf/MAC#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/conf/Makefile#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/conf/NOTES#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/_bus.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/_inttypes.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/_limits.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/_stdint.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/_types.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/asi.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/asm.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/asmacros.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/atomic.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/bus.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/bus_common.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/bus_dma.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/bus_private.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/cache.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/ccr.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/cddl/mdesc.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/cddl/mdesc_impl.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/clock.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/cpu.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/cpufunc.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/db_machdep.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/elf.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/endian.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/exec.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/float.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/floatingpoint.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/fp.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/frame.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/fsr.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/gdb_machdep.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/hv_pcivar.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/hviommu.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/hypervisor_api.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/hypervisorvar.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/idprom.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/ieee.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/ieeefp.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/in_cksum.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/instr.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/intr_machdep.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/iommureg.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/iommuvar.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/kdb.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/kerneldump.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/ktr.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/limits.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/lsu.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/md_var.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/mdesc_bus.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/mdesc_bus_subr.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/memdev.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/metadata.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/mmu.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/mutex.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/nexusvar.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/ofw_bus.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/ofw_machdep.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/ofw_mem.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/ofw_nexus.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/ofw_upa.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/param.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/pcb.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/pcpu.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/pmap.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/pmc_mdep.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/proc.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/profile.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/pstate.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/ptrace.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/reg.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/reloc.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/resource.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/runq.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/sc_machdep.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/setjmp.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/sf_buf.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/sigframe.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/signal.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/smp.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/stdarg.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/sun4v_cpufunc.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/sysarch.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/tick.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/tlb.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/trap.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/tsb.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/tstate.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/tte.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/tte_hash.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/ucontext.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/upa.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/utrap.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/varargs.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/ver.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/vmparam.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/watch.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/include/wstate.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/mdesc/mdesc_bus_if.m#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/mdesc/mdesc_bus_subr.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/mdesc/mdesc_diff.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/mdesc/mdesc_findname.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/mdesc/mdesc_findnodeprop.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/mdesc/mdesc_fini.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/mdesc/mdesc_getbinsize.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/mdesc/mdesc_getgen.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/mdesc/mdesc_getpropdata.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/mdesc/mdesc_getpropstr.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/mdesc/mdesc_getpropval.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/mdesc/mdesc_init.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/mdesc/mdesc_init_intern.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/mdesc/mdesc_nodecount.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/mdesc/mdesc_rootnode.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/mdesc/mdesc_scandag.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/mdesc/mdesc_subr.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/mdesc/mdesc_vdevfindval.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/autoconf.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/bus_machdep.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/clock.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/counter.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/db_disasm.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/db_hwwatch.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/db_interface.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/db_trace.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/dump_machdep.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/eeprom.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/elf_machdep.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/exception.S#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/gdb_machdep.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/hcall.S#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/hv_pci.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/hvcons.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/hviommu.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/identcpu.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/in_cksum.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/interrupt.S#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/intr_machdep.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/iommu.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/locore.S#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/machdep.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/mem.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/mp_exception.S#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/mp_locore.S#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/mp_machdep.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/nexus.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/ofw_bus.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/ofw_machdep.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/pmap.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/prof_machdep.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/rtc.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/rwindow.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/simdisk.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/support.S#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/swtch.S#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/sys_machdep.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/t1_copy.S#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/tick.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/tlb.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/trap.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/trap_trace.S#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/tsb.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/tte.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/tte_hash.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/uio_machdep.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/vm_machdep.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/vnex.c#1 branch .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/wbuf.S#1 branch .. //depot/projects/scottl-camlock/src/sys/sys/_elf_solaris.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sys/buf.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/sys/bus.h#9 integrate .. //depot/projects/scottl-camlock/src/sys/sys/cdefs.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/sys/clock.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/sys/conf.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/sys/consio.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/sys/copyright.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/sys/digiio.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/sys/elf.h#1 branch .. //depot/projects/scottl-camlock/src/sys/sys/elf32.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/sys/elf64.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/sys/elf_common.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/sys/event.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/sys/ioccom.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/sys/ipmi.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/sys/kbio.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/sys/kernel.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/sys/lockmgr.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/sys/mac.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/sys/mac_policy.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/sys/mbuf.h#9 integrate .. //depot/projects/scottl-camlock/src/sys/sys/mount.h#10 integrate .. //depot/projects/scottl-camlock/src/sys/sys/param.h#10 integrate .. //depot/projects/scottl-camlock/src/sys/sys/pioctl.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/sys/proc.h#11 integrate .. //depot/projects/scottl-camlock/src/sys/sys/queue.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/sys/rtprio.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/sys/rwlock.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/sys/sched.h#9 integrate .. //depot/projects/scottl-camlock/src/sys/sys/sem.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/sys/signalvar.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/sys/soundcard.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/sys/syscall.h#11 integrate .. //depot/projects/scottl-camlock/src/sys/sys/syscall.mk#11 integrate .. //depot/projects/scottl-camlock/src/sys/sys/sysctl.h#9 integrate .. //depot/projects/scottl-camlock/src/sys/sys/sysproto.h#11 integrate .. //depot/projects/scottl-camlock/src/sys/sys/systm.h#10 integrate .. //depot/projects/scottl-camlock/src/sys/sys/thr.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/sys/time.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/sys/ttycom.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/sys/umtx.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/ufs/ffs/ffs_inode.c#5 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Oct 29 17:21:34 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1114C16A412; Sun, 29 Oct 2006 17:21:34 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 DAD6D16A407 for ; Sun, 29 Oct 2006 17:21:33 +0000 (UTC) (envelope-from netchild@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6D9BC43D5E for ; Sun, 29 Oct 2006 17:21:33 +0000 (GMT) (envelope-from netchild@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9THLN3f069756 for ; Sun, 29 Oct 2006 17:21:23 GMT (envelope-from netchild@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9THLMuJ069742 for perforce@freebsd.org; Sun, 29 Oct 2006 17:21:22 GMT (envelope-from netchild@freebsd.org) Date: Sun, 29 Oct 2006 17:21:22 GMT Message-Id: <200610291721.k9THLMuJ069742@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to netchild@freebsd.org using -f From: Alexander Leidinger To: Perforce Change Reviews Cc: Subject: PERFORCE change 108669 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Oct 2006 17:21:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=108669 Change 108669 by netchild@netchild_magellan on 2006/10/29 17:21:09 IFC except for the linux aio removal, we put it into shape here in p4. Only the module build is enabled ATM, so that we can check stuff quickly. The linux emulation statically compiled into the kernel will not work ATM. The not so distant goal is to move the linux aio stuff into a separate module (idea and hints by rwatson) so that it doesn't has to call the kernel linker itself to look up some symbols. Affected files ... .. //depot/projects/linuxolator/src/sys/amd64/amd64/prof_machdep.c#3 integrate .. //depot/projects/linuxolator/src/sys/amd64/linux32/linux.h#7 integrate .. //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_proto.h#9 integrate .. //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_syscall.h#9 integrate .. //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_sysent.c#8 integrate .. //depot/projects/linuxolator/src/sys/amd64/linux32/syscalls.master#9 integrate .. //depot/projects/linuxolator/src/sys/boot/common/load_elf.c#2 integrate .. //depot/projects/linuxolator/src/sys/boot/i386/boot2/boot2.c#3 integrate .. //depot/projects/linuxolator/src/sys/boot/i386/libi386/elf32_freebsd.c#3 integrate .. //depot/projects/linuxolator/src/sys/boot/pc98/boot2/boot.c#2 integrate .. //depot/projects/linuxolator/src/sys/compat/linprocfs/linprocfs.c#5 integrate .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#19 integrate .. //depot/projects/linuxolator/src/sys/conf/files.amd64#7 integrate .. //depot/projects/linuxolator/src/sys/conf/files.i386#6 integrate .. //depot/projects/linuxolator/src/sys/conf/files.pc98#4 integrate .. //depot/projects/linuxolator/src/sys/i386/isa/prof_machdep.c#3 integrate .. //depot/projects/linuxolator/src/sys/i386/linux/linux.h#6 integrate .. //depot/projects/linuxolator/src/sys/i386/linux/linux_proto.h#8 integrate .. //depot/projects/linuxolator/src/sys/i386/linux/linux_syscall.h#8 integrate .. //depot/projects/linuxolator/src/sys/i386/linux/linux_sysent.c#8 integrate .. //depot/projects/linuxolator/src/sys/i386/linux/syscalls.master#7 integrate .. //depot/projects/linuxolator/src/sys/kern/vfs_bio.c#4 integrate .. //depot/projects/linuxolator/src/sys/modules/linux/Makefile#4 integrate .. //depot/projects/linuxolator/src/sys/netinet/ip_dummynet.c#3 integrate Differences ... ==== //depot/projects/linuxolator/src/sys/amd64/amd64/prof_machdep.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/prof_machdep.c,v 1.27 2006/10/28 06:38:51 bde Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/prof_machdep.c,v 1.28 2006/10/29 09:48:44 bde Exp $"); #ifdef GUPROF #if 0 @@ -37,6 +37,7 @@ #include #include #include +#include #include #include @@ -54,7 +55,7 @@ int cputime_bias = 1; /* initialize for locality of reference */ static int cputime_clock = CPUTIME_CLOCK_UNINITIALIZED; -#ifdef I586_PMC_GUPROF +#if defined(PERFMON) && defined(I586_PMC_GUPROF) static u_int cputime_clock_pmc_conf = I586_PMC_GUPROF; static int cputime_clock_pmc_init; static struct gmonparam saved_gmp; @@ -204,7 +205,6 @@ u_char high, low; static u_int prev_count; -#ifndef SMP if (cputime_clock == CPUTIME_CLOCK_TSC) { /* * Scale the TSC a little to make cputime()'s frequency @@ -218,7 +218,7 @@ prev_count = count; return (delta); } -#if defined(PERFMON) && defined(I586_PMC_GUPROF) +#if defined(PERFMON) && defined(I586_PMC_GUPROF) && !defined(SMP) if (cputime_clock == CPUTIME_CLOCK_I586_PMC) { /* * XXX permon_read() should be inlined so that the @@ -232,8 +232,7 @@ prev_count = count; return (delta); } -#endif /* PERFMON && I586_PMC_GUPROF */ -#endif /* !SMP */ +#endif /* PERFMON && I586_PMC_GUPROF && !SMP */ /* * Read the current value of the 8254 timer counter 0. @@ -315,13 +314,10 @@ { if (cputime_clock == CPUTIME_CLOCK_UNINITIALIZED) { cputime_clock = CPUTIME_CLOCK_I8254; -#ifndef SMP - if (tsc_freq != 0) + if (tsc_freq != 0 && !tsc_is_broken && mp_ncpus < 2) cputime_clock = CPUTIME_CLOCK_TSC; -#endif } gp->profrate = timer_freq << CPUTIME_CLOCK_I8254_SHIFT; -#ifndef SMP if (cputime_clock == CPUTIME_CLOCK_TSC) gp->profrate = tsc_freq >> 1; #if defined(PERFMON) && defined(I586_PMC_GUPROF) @@ -350,7 +346,6 @@ } } #endif /* PERFMON && I586_PMC_GUPROF */ -#endif /* !SMP */ cputime_bias = 0; cputime(); } ==== //depot/projects/linuxolator/src/sys/amd64/linux32/linux.h#7 (text+ko) ==== ==== //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_proto.h#9 (text+ko) ==== ==== //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_syscall.h#9 (text+ko) ==== ==== //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_sysent.c#8 (text+ko) ==== ==== //depot/projects/linuxolator/src/sys/amd64/linux32/syscalls.master#9 (text+ko) ==== ==== //depot/projects/linuxolator/src/sys/boot/common/load_elf.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/common/load_elf.c,v 1.34 2006/05/12 04:09:52 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/common/load_elf.c,v 1.35 2006/10/29 14:50:57 ru Exp $"); #include #include @@ -263,7 +263,7 @@ #if __ELF_WORD_SIZE == 64 off = - (off & 0xffffffffff000000ull);/* x86_64 relocates after locore */ #else - off = - (off & 0xff000000u); /* i386 relocates after locore */ + off = - (off & 0xc0000000u); /* i386 relocates after locore */ #endif #else off = 0; /* other archs use direct mapped kernels */ ==== //depot/projects/linuxolator/src/sys/boot/i386/boot2/boot2.c#3 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.81 2006/10/26 19:41:02 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.82 2006/10/29 14:50:57 ru Exp $"); #include #include @@ -334,7 +334,7 @@ return; } if (fmt == 0) { - addr = hdr.ex.a_entry & 0xffffff; + addr = hdr.ex.a_entry & 0x3fffffff; p = PTOV(addr); fs_off = PAGE_SIZE; if (xfsread(ino, p, hdr.ex.a_text)) @@ -368,7 +368,7 @@ j++; } for (i = 0; i < 2; i++) { - p = PTOV(ep[i].p_paddr & 0xffffff); + p = PTOV(ep[i].p_paddr & 0x3fffffff); fs_off = ep[i].p_offset; if (xfsread(ino, p, ep[i].p_filesz)) return; @@ -389,7 +389,7 @@ p += es[i].sh_size; } } - addr = hdr.eh.e_entry & 0xffffff; + addr = hdr.eh.e_entry & 0x3fffffff; } bootinfo.bi_esymtab = VTOP(p); bootinfo.bi_kernelname = VTOP(kname); ==== //depot/projects/linuxolator/src/sys/boot/i386/libi386/elf32_freebsd.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/elf32_freebsd.c,v 1.15 2006/10/26 20:04:22 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/elf32_freebsd.c,v 1.16 2006/10/29 14:50:58 ru Exp $"); #include #include @@ -65,7 +65,7 @@ err = bi_load32(fp->f_args, &boothowto, &bootdev, &bootinfop, &modulep, &kernend); if (err != 0) return(err); - entry = ehdr->e_entry & 0xffffff; + entry = ehdr->e_entry & 0x3fffffff; #ifdef DEBUG printf("Start @ 0x%lx ...\n", entry); ==== //depot/projects/linuxolator/src/sys/boot/pc98/boot2/boot.c#2 (text+ko) ==== @@ -49,7 +49,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/pc98/boot2/boot.c,v 1.14 2005/05/27 19:26:11 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/pc98/boot2/boot.c,v 1.15 2006/10/29 14:50:58 ru Exp $"); #include "boot.h" #include @@ -199,9 +199,9 @@ /* * We assume that the entry address is the same as the lowest text * address and that the kernel startup code handles relocation by - * this address rounded down to a multiple of 16M. + * this address rounded down to a multiple of 1G. */ - startaddr = head.a_entry & 0x00FFFFFF; + startaddr = head.a_entry & 0x3FFFFFFF; addr = startaddr; printf("Booting %d:%s(%d,%c)%s @ 0x%x\n" , dosdev & 0x0f ==== //depot/projects/linuxolator/src/sys/compat/linprocfs/linprocfs.c#5 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.99 2006/10/11 20:32:46 keramida Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.100 2006/10/29 09:50:55 netchild Exp $"); #include #include @@ -930,6 +930,7 @@ static int linprocfs_dopid_max(PFS_FILL_ARGS) { + sbuf_printf(sb, "%i\n", PID_MAX); return (0); ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#19 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.190 2006/10/28 10:59:59 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.191 2006/10/28 16:47:38 netchild Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -1572,35 +1572,35 @@ #endif switch (args->option) { - case LINUX_PR_SET_PDEATHSIG: - if (!LINUX_SIG_VALID(args->arg2)) - return (EINVAL); - em = em_find(p, EMUL_UNLOCKED); - KASSERT(em != NULL, ("prctl: emuldata not found.\n")); - em->pdeath_signal = args->arg2; - EMUL_UNLOCK(&emul_lock); - break; - case LINUX_PR_GET_PDEATHSIG: - em = em_find(p, EMUL_UNLOCKED); - KASSERT(em != NULL, ("prctl: emuldata not found.\n")); - error = copyout(&em->pdeath_signal, (void *)(register_t) args->arg2, sizeof(em->pdeath_signal)); - EMUL_UNLOCK(&emul_lock); - break; - case LINUX_PR_SET_NAME: - comm[LINUX_MAX_COMM_LEN-1] = 0; - error = copyin(comm, (void *)(register_t) args->arg2, LINUX_MAX_COMM_LEN-1); - if (error) - return (error); - PROC_LOCK(p); - strcpy(p->p_comm, comm); - PROC_UNLOCK(p); - break; - case LINUX_PR_GET_NAME: - error = copyout(&p->p_comm, (void *)(register_t) args->arg2, MAXCOMLEN+1); - break; - default: - error = EINVAL; - break; + case LINUX_PR_SET_PDEATHSIG: + if (!LINUX_SIG_VALID(args->arg2)) + return (EINVAL); + em = em_find(p, EMUL_UNLOCKED); + KASSERT(em != NULL, ("prctl: emuldata not found.\n")); + em->pdeath_signal = args->arg2; + EMUL_UNLOCK(&emul_lock); + break; + case LINUX_PR_GET_PDEATHSIG: + em = em_find(p, EMUL_UNLOCKED); + KASSERT(em != NULL, ("prctl: emuldata not found.\n")); + error = copyout(&em->pdeath_signal, (void *)(register_t) args->arg2, sizeof(em->pdeath_signal)); + EMUL_UNLOCK(&emul_lock); + break; + case LINUX_PR_SET_NAME: + comm[LINUX_MAX_COMM_LEN-1] = 0; + error = copyin(comm, (void *)(register_t) args->arg2, LINUX_MAX_COMM_LEN-1); + if (error) + return (error); + PROC_LOCK(p); + strcpy(p->p_comm, comm); + PROC_UNLOCK(p); + break; + case LINUX_PR_GET_NAME: + error = copyout(&p->p_comm, (void *)(register_t) args->arg2, MAXCOMLEN+1); + break; + default: + error = EINVAL; + break; } return (error); ==== //depot/projects/linuxolator/src/sys/conf/files.amd64#7 (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.97 2006/10/23 13:23:12 ru Exp $ +# $FreeBSD: src/sys/conf/files.amd64,v 1.98 2006/10/29 14:02:39 netchild Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -232,7 +232,6 @@ amd64/linux32/linux32_machdep.c optional compat_linux32 amd64/linux32/linux32_sysent.c optional compat_linux32 amd64/linux32/linux32_sysvec.c optional compat_linux32 -compat/linux/linux_aio.c optional compat_linux32 compat/linux/linux_emul.c optional compat_linux32 compat/linux/linux_file.c optional compat_linux32 compat/linux/linux_futex.c optional compat_linux32 ==== //depot/projects/linuxolator/src/sys/conf/files.i386#6 (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.i386,v 1.569 2006/10/23 13:23:12 ru Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.570 2006/10/29 14:02:39 netchild Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -85,7 +85,6 @@ # compat/linprocfs/linprocfs.c optional linprocfs compat/linsysfs/linsysfs.c optional linsysfs -compat/linux/linux_aio.c optional compat_linux compat/linux/linux_emul.c optional compat_linux compat/linux/linux_file.c optional compat_linux compat/linux/linux_futex.c optional compat_linux ==== //depot/projects/linuxolator/src/sys/conf/files.pc98#4 (text+ko) ==== @@ -3,7 +3,7 @@ # # modified for PC-9801/PC-9821 # -# $FreeBSD: src/sys/conf/files.pc98,v 1.348 2006/10/23 13:23:12 ru Exp $ +# $FreeBSD: src/sys/conf/files.pc98,v 1.349 2006/10/29 14:02:39 netchild Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -55,7 +55,6 @@ # compat/linprocfs/linprocfs.c optional linprocfs compat/linsysfs/linsysfs.c optional linsysfs -compat/linux/linux_aio.c optional compat_linux compat/linux/linux_emul.c optional compat_linux compat/linux/linux_file.c optional compat_linux compat/linux/linux_futex.c optional compat_linux ==== //depot/projects/linuxolator/src/sys/i386/isa/prof_machdep.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/isa/prof_machdep.c,v 1.28 2006/10/28 06:38:51 bde Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/isa/prof_machdep.c,v 1.29 2006/10/29 09:48:44 bde Exp $"); #ifdef GUPROF #include "opt_i586_guprof.h" @@ -35,6 +35,7 @@ #include #include #include +#include #include #include @@ -50,7 +51,7 @@ int cputime_bias = 1; /* initialize for locality of reference */ static int cputime_clock = CPUTIME_CLOCK_UNINITIALIZED; -#ifdef I586_PMC_GUPROF +#if defined(PERFMON) && defined(I586_PMC_GUPROF) static u_int cputime_clock_pmc_conf = I586_PMC_GUPROF; static int cputime_clock_pmc_init; static struct gmonparam saved_gmp; @@ -174,7 +175,7 @@ u_char high, low; static u_int prev_count; -#if (defined(I586_CPU) || defined(I686_CPU)) && !defined(SMP) +#if defined(I586_CPU) || defined(I686_CPU) if (cputime_clock == CPUTIME_CLOCK_TSC) { /* * Scale the TSC a little to make cputime()'s frequency @@ -188,7 +189,7 @@ prev_count = count; return (delta); } -#if defined(PERFMON) && defined(I586_PMC_GUPROF) +#if defined(PERFMON) && defined(I586_PMC_GUPROF) && !defined(SMP) if (cputime_clock == CPUTIME_CLOCK_I586_PMC) { /* * XXX permon_read() should be inlined so that the @@ -202,8 +203,8 @@ prev_count = count; return (delta); } -#endif /* PERFMON && I586_PMC_GUPROF */ -#endif /* (I586_CPU || I686_CPU) && !SMP */ +#endif /* PERFMON && I586_PMC_GUPROF && !SMP */ +#endif /* I586_CPU || I686_CPU */ /* * Read the current value of the 8254 timer counter 0. @@ -285,13 +286,13 @@ { if (cputime_clock == CPUTIME_CLOCK_UNINITIALIZED) { cputime_clock = CPUTIME_CLOCK_I8254; -#if (defined(I586_CPU) || defined(I686_CPU)) && !defined(SMP) - if (tsc_freq != 0) +#if defined(I586_CPU) || defined(I686_CPU) + if (tsc_freq != 0 && !tsc_is_broken && mp_ncpus < 2) cputime_clock = CPUTIME_CLOCK_TSC; #endif } gp->profrate = timer_freq << CPUTIME_CLOCK_I8254_SHIFT; -#if (defined(I586_CPU) || defined(I686_CPU)) && !defined(SMP) +#if defined(I586_CPU) || defined(I686_CPU) if (cputime_clock == CPUTIME_CLOCK_TSC) gp->profrate = tsc_freq >> 1; #if defined(PERFMON) && defined(I586_PMC_GUPROF) @@ -320,7 +321,7 @@ } } #endif /* PERFMON && I586_PMC_GUPROF */ -#endif /* (I586_CPU || I686_CPU) && !SMP */ +#endif /* I586_CPU || I686_CPU */ cputime_bias = 0; cputime(); } ==== //depot/projects/linuxolator/src/sys/i386/linux/linux.h#6 (text+ko) ==== ==== //depot/projects/linuxolator/src/sys/i386/linux/linux_proto.h#8 (text+ko) ==== ==== //depot/projects/linuxolator/src/sys/i386/linux/linux_syscall.h#8 (text+ko) ==== ==== //depot/projects/linuxolator/src/sys/i386/linux/linux_sysent.c#8 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/linux/linux_sysent.c,v 1.86 2006/10/28 11:24:38 netchild Exp $ - * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.82 2006/10/28 10:59:59 netchild Exp + * $FreeBSD: src/sys/i386/linux/linux_sysent.c,v 1.87 2006/10/29 14:12:44 netchild Exp $ + * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.83 2006/10/29 14:02:39 netchild Exp */ #include @@ -264,11 +264,11 @@ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 242 = linux_sched_getaffinity */ { AS(linux_set_thread_area_args), (sy_call_t *)linux_set_thread_area, AUE_NULL, NULL, 0, 0 }, /* 243 = linux_set_thread_area */ { AS(linux_get_thread_area_args), (sy_call_t *)linux_get_thread_area, AUE_NULL, NULL, 0, 0 }, /* 244 = linux_get_thread_area */ - { AS(linux_io_setup_args), (sy_call_t *)linux_io_setup, AUE_NULL, NULL, 0, 0 }, /* 245 = linux_io_setup */ - { AS(linux_io_destroy_args), (sy_call_t *)linux_io_destroy, AUE_NULL, NULL, 0, 0 }, /* 246 = linux_io_destroy */ - { AS(linux_io_getevents_args), (sy_call_t *)linux_io_getevents, AUE_NULL, NULL, 0, 0 }, /* 247 = linux_io_getevents */ - { AS(linux_io_submit_args), (sy_call_t *)linux_io_submit, AUE_NULL, NULL, 0, 0 }, /* 248 = linux_io_submit */ - { AS(linux_io_cancel_args), (sy_call_t *)linux_io_cancel, AUE_NULL, NULL, 0, 0 }, /* 249 = linux_io_cancel */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 245 = linux_io_setup */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 246 = linux_io_destroy */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 247 = linux_io_getevents */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 248 = linux_io_submit */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 249 = linux_io_cancel */ { 0, (sy_call_t *)linux_fadvise64, AUE_NULL, NULL, 0, 0 }, /* 250 = linux_fadvise64 */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 251 = */ { AS(linux_exit_group_args), (sy_call_t *)linux_exit_group, AUE_EXIT, NULL, 0, 0 }, /* 252 = linux_exit_group */ ==== //depot/projects/linuxolator/src/sys/i386/linux/syscalls.master#7 (text+ko) ==== ==== //depot/projects/linuxolator/src/sys/kern/vfs_bio.c#4 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_bio.c,v 1.511 2006/10/22 04:28:13 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_bio.c,v 1.513 2006/10/29 00:04:39 alc Exp $"); #include #include @@ -99,6 +99,7 @@ int pageno, vm_page_t m); static void vfs_clean_pages(struct buf *bp); static void vfs_setdirty(struct buf *bp); +static void vfs_setdirty_locked_object(struct buf *bp); static void vfs_vmio_release(struct buf *bp); static int vfs_bio_clcheck(struct vnode *vp, int size, daddr_t lblkno, daddr_t blkno); @@ -2284,8 +2285,6 @@ static void vfs_setdirty(struct buf *bp) { - int i; - vm_object_t object; /* * Degenerate case - empty buffer @@ -2302,8 +2301,19 @@ if ((bp->b_flags & B_VMIO) == 0) return; - object = bp->b_pages[0]->object; - VM_OBJECT_LOCK(object); + VM_OBJECT_LOCK(bp->b_bufobj->bo_object); + vfs_setdirty_locked_object(bp); + VM_OBJECT_UNLOCK(bp->b_bufobj->bo_object); +} + +static void +vfs_setdirty_locked_object(struct buf *bp) +{ + vm_object_t object; + int i; + + object = bp->b_bufobj->bo_object; + VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); if (object->flags & (OBJ_MIGHTBEDIRTY|OBJ_CLEANING)) { vm_offset_t boffset; vm_offset_t eoffset; @@ -2354,7 +2364,6 @@ bp->b_dirtyend = eoffset; } } - VM_OBJECT_UNLOCK(object); } /* @@ -3167,6 +3176,7 @@ vm_object_t obj; int iosize; struct vnode *vp = bp->b_vp; + boolean_t are_queues_locked; obj = bp->b_bufobj->bo_object; @@ -3203,7 +3213,11 @@ !(bp->b_ioflags & BIO_ERROR)) { bp->b_flags |= B_CACHE; } - vm_page_lock_queues(); + if (bp->b_iocmd == BIO_READ) { + vm_page_lock_queues(); + are_queues_locked = TRUE; + } else + are_queues_locked = FALSE; for (i = 0; i < bp->b_npages; i++) { int bogusflag = 0; int resid; @@ -3272,7 +3286,8 @@ foff = (foff + PAGE_SIZE) & ~(off_t)PAGE_MASK; iosize -= resid; } - vm_page_unlock_queues(); + if (are_queues_locked) + vm_page_unlock_queues(); vm_object_pip_wakeupn(obj, 0); VM_OBJECT_UNLOCK(obj); } @@ -3392,8 +3407,9 @@ foff = bp->b_offset; KASSERT(bp->b_offset != NOOFFSET, ("vfs_busy_pages: no buffer offset")); - vfs_setdirty(bp); VM_OBJECT_LOCK(obj); + if (bp->b_bufsize != 0) + vfs_setdirty_locked_object(bp); retry: for (i = 0; i < bp->b_npages; i++) { m = bp->b_pages[i]; ==== //depot/projects/linuxolator/src/sys/modules/linux/Makefile#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/modules/linux/Makefile,v 1.69 2006/10/15 14:22:14 netchild Exp $ +# $FreeBSD: src/sys/modules/linux/Makefile,v 1.70 2006/10/29 14:02:39 netchild Exp $ .if ${MACHINE_ARCH} == "amd64" SFX= 32 ==== //depot/projects/linuxolator/src/sys/netinet/ip_dummynet.c#3 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/netinet/ip_dummynet.c,v 1.104 2006/10/27 13:05:37 oleg Exp $ + * $FreeBSD: src/sys/netinet/ip_dummynet.c,v 1.105 2006/10/29 12:09:24 oleg Exp $ */ #define DUMMYNET_DEBUG @@ -68,6 +68,7 @@ #include #include #include +#include #include #include #include @@ -197,13 +198,8 @@ static void dummynet_task(void *, int); static struct mtx dummynet_mtx; -/* - * NB: Recursion is needed to deal with re-entry via ICMP. That is, - * a packet may be dispatched via ip_input from dummynet_io and - * re-enter through ip_output. Yech. - */ #define DUMMYNET_LOCK_INIT() \ - mtx_init(&dummynet_mtx, "dummynet", NULL, MTX_DEF | MTX_RECURSE) + mtx_init(&dummynet_mtx, "dummynet", NULL, MTX_DEF) #define DUMMYNET_LOCK_DESTROY() mtx_destroy(&dummynet_mtx) #define DUMMYNET_LOCK() mtx_lock(&dummynet_mtx) #define DUMMYNET_UNLOCK() mtx_unlock(&dummynet_mtx) @@ -852,11 +848,11 @@ ip = mtod(m, struct ip *); ip->ip_len = htons(ip->ip_len); ip->ip_off = htons(ip->ip_off); - ip_input(m); + netisr_dispatch(NETISR_IP, m); break; #ifdef INET6 case DN_TO_IP6_IN: - ip6_input(m); + netisr_dispatch(NETISR_IPV6, m); break; case DN_TO_IP6_OUT: @@ -1407,36 +1403,37 @@ static void purge_flow_set(struct dn_flow_set *fs, int all) { - struct dn_flow_queue *q, *qn ; - int i ; + struct dn_flow_queue *q, *qn; + int i; + + DUMMYNET_LOCK_ASSERT(); - DUMMYNET_LOCK_ASSERT(); + for (i = 0; i <= fs->rq_size; i++) { + for (q = fs->rq[i]; q != NULL; q = qn) { + struct mbuf *m, *mnext; - for (i = 0 ; i <= fs->rq_size ; i++ ) { - for (q = fs->rq[i] ; q ; q = qn ) { - struct mbuf *m, *mnext; + mnext = q->head; + while ((m = mnext) != NULL) { + mnext = m->m_nextpkt; + DN_FREE_PKT(m); + } + qn = q->next; + free(q, M_DUMMYNET); + } + fs->rq[i] = NULL; + } - mnext = q->head; - while ((m = mnext) != NULL) { - mnext = m->m_nextpkt; - DN_FREE_PKT(m); - } - qn = q->next ; - free(q, M_DUMMYNET); + fs->rq_elements = 0; + if (all) { + /* RED - free lookup table. */ + if (fs->w_q_lookup != NULL) + free(fs->w_q_lookup, M_DUMMYNET); + if (fs->rq != NULL) + free(fs->rq, M_DUMMYNET); + /* If this fs is not part of a pipe, free it. */ + if (fs->pipe == NULL || fs != &(fs->pipe->fs)) + free(fs, M_DUMMYNET); } - fs->rq[i] = NULL ; - } - fs->rq_elements = 0 ; - if (all) { - /* RED - free lookup table */ - if (fs->w_q_lookup) - free(fs->w_q_lookup, M_DUMMYNET); - if (fs->rq) - free(fs->rq, M_DUMMYNET); - /* if this fs is not part of a pipe, free it */ - if (fs->pipe && fs != &(fs->pipe->fs) ) - free(fs, M_DUMMYNET); - } } /* From owner-p4-projects@FreeBSD.ORG Sun Oct 29 17:29:41 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E8C1716A417; Sun, 29 Oct 2006 17:29:40 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 C3E9516A403 for ; Sun, 29 Oct 2006 17:29:40 +0000 (UTC) (envelope-from netchild@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1831643D46 for ; Sun, 29 Oct 2006 17:29:35 +0000 (GMT) (envelope-from netchild@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9THTYIc070933 for ; Sun, 29 Oct 2006 17:29:34 GMT (envelope-from netchild@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9THTYvY070930 for perforce@freebsd.org; Sun, 29 Oct 2006 17:29:34 GMT (envelope-from netchild@freebsd.org) Date: Sun, 29 Oct 2006 17:29:34 GMT Message-Id: <200610291729.k9THTYvY070930@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to netchild@freebsd.org using -f From: Alexander Leidinger To: Perforce Change Reviews Cc: Subject: PERFORCE change 108671 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Oct 2006 17:29:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=108671 Change 108671 by netchild@netchild_magellan on 2006/10/29 17:28:38 Add the linux rt_sigpending function from PR 93199. The PR is against 6.x, which is a little bit different. I changed the code to compile on -current, but didn't had time to test it or to review it word by word yet (so there may be dragons...). PR: 93199 Submitted by: Bruce Becker Affected files ... .. //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_dummy.c#4 edit .. //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_proto.h#10 edit .. //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_syscall.h#10 edit .. //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_sysent.c#9 edit .. //depot/projects/linuxolator/src/sys/amd64/linux32/syscalls.master#10 edit .. //depot/projects/linuxolator/src/sys/compat/linux/linux_signal.c#4 edit .. //depot/projects/linuxolator/src/sys/i386/linux/linux_dummy.c#4 edit .. //depot/projects/linuxolator/src/sys/i386/linux/linux_proto.h#9 edit .. //depot/projects/linuxolator/src/sys/i386/linux/linux_syscall.h#9 edit .. //depot/projects/linuxolator/src/sys/i386/linux/linux_sysent.c#9 edit .. //depot/projects/linuxolator/src/sys/i386/linux/syscalls.master#8 edit Differences ... ==== //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_dummy.c#4 (text+ko) ==== @@ -53,7 +53,6 @@ DUMMY(sysfs); DUMMY(query_module); DUMMY(nfsservctl); -DUMMY(rt_sigtimedwait); DUMMY(rt_sigqueueinfo); DUMMY(capget); DUMMY(capset); ==== //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_proto.h#10 (text+ko) ==== @@ -2,7 +2,7 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.24 2006/10/28 11:24:38 netchild Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.22 2006/10/28 10:59:59 netchild Exp */ @@ -547,7 +547,10 @@ char sigsetsize_l_[PADL_(l_size_t)]; l_size_t sigsetsize; char sigsetsize_r_[PADR_(l_size_t)]; }; struct linux_rt_sigtimedwait_args { - register_t dummy; + char mask_l_[PADL_(l_sigset_t *)]; l_sigset_t * mask; char mask_r_[PADR_(l_sigset_t *)]; + char ptr_l_[PADL_(l_siginfo_t *)]; l_siginfo_t * ptr; char ptr_r_[PADR_(l_siginfo_t *)]; + char timeout_l_[PADL_(struct l_timeval *)]; struct l_timeval * timeout; char timeout_r_[PADR_(struct l_timeval *)]; + char sigsetsize_l_[PADL_(l_size_t)]; l_size_t sigsetsize; char sigsetsize_r_[PADR_(l_size_t)]; }; struct linux_rt_sigqueueinfo_args { register_t dummy; ==== //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_syscall.h#10 (text+ko) ==== @@ -2,7 +2,7 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.24 2006/10/28 11:24:38 netchild Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.22 2006/10/28 10:59:59 netchild Exp */ ==== //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_sysent.c#9 (text+ko) ==== @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.24 2006/10/28 11:24:38 netchild Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.22 2006/10/28 10:59:59 netchild Exp */ @@ -197,7 +197,7 @@ { AS(linux_rt_sigaction_args), (sy_call_t *)linux_rt_sigaction, AUE_NULL, NULL, 0, 0 }, /* 174 = linux_rt_sigaction */ { AS(linux_rt_sigprocmask_args), (sy_call_t *)linux_rt_sigprocmask, AUE_NULL, NULL, 0, 0 }, /* 175 = linux_rt_sigprocmask */ { AS(linux_rt_sigpending_args), (sy_call_t *)linux_rt_sigpending, AUE_NULL, NULL, 0, 0 }, /* 176 = linux_rt_sigpending */ - { 0, (sy_call_t *)linux_rt_sigtimedwait, AUE_NULL, NULL, 0, 0 }, /* 177 = linux_rt_sigtimedwait */ + { AS(linux_rt_sigtimedwait_args), (sy_call_t *)linux_rt_sigtimedwait, AUE_NULL, NULL, 0, 0 }, /* 177 = linux_rt_sigtimedwait */ { 0, (sy_call_t *)linux_rt_sigqueueinfo, AUE_NULL, NULL, 0, 0 }, /* 178 = linux_rt_sigqueueinfo */ { AS(linux_rt_sigsuspend_args), (sy_call_t *)linux_rt_sigsuspend, AUE_NULL, NULL, 0, 0 }, /* 179 = linux_rt_sigsuspend */ { AS(linux_pread_args), (sy_call_t *)linux_pread, AUE_PREAD, NULL, 0, 0 }, /* 180 = linux_pread */ ==== //depot/projects/linuxolator/src/sys/amd64/linux32/syscalls.master#10 (text+ko) ==== @@ -310,7 +310,10 @@ l_size_t sigsetsize); } 176 AUE_NULL STD { int linux_rt_sigpending(l_sigset_t *set, \ l_size_t sigsetsize); } -177 AUE_NULL STD { int linux_rt_sigtimedwait(void); } +177 AUE_NULL STD { int linux_rt_sigtimedwait(l_sigset_t *mask, \ + l_siginfo_t *ptr, \ + struct l_timeval *timeout, \ + l_size_t sigsetsize); } 178 AUE_NULL STD { int linux_rt_sigqueueinfo(void); } 179 AUE_NULL STD { int linux_rt_sigsuspend( \ l_sigset_t *newset, \ ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_signal.c#4 (text+ko) ==== @@ -422,6 +422,95 @@ return (copyout(&lset, args->set, args->sigsetsize)); } +/* + * MPSAFE + */ +int +linux_rt_sigtimedwait(struct thread *td, + struct linux_rt_sigtimedwait_args *args) +{ +#ifdef DEBUG + struct proc *p = td->td_proc; +#endif + int error; + l_timeval ltv; + struct timeval tv; + struct timespec ts, *tsa; + l_sigset_t lset; + sigset_t bset; + l_siginfo_t linfo; + ksiginfo_t info; + +#ifdef DEBUG + if (ldebug(rt_sigtimedwait)) + printf(ARGS(rt_sigtimedwait, "*")); +#endif + if (args->sigsetsize != sizeof(l_sigset_t)) + return(EINVAL); + + if ((error = copyin(args->mask, &lset, sizeof(lset)))) + return(error); + linux_to_bsd_sigset(&lset, &bset); + + tsa = NULL; + if (args->timeout) { + if ((error = copyin(args->timeout, <v, sizeof(ltv)))) + return(error); +#ifdef DEBUG + if (ldebug(rt_sigtimedwait)) + printf("Linux-emul rt_sigtimedwait (%ld): incoming timeout (%ld/%ld)\n", + (long)p->p_pid, ltv.tv_sec, ltv.tv_usec); +#endif + tv.tv_sec = (long)ltv.tv_sec; + tv.tv_usec = (suseconds_t)ltv.tv_usec; + if (itimerfix(&tv)) { + /* The timeout was invalid. Convert it to something + * valid that will act as it does under Linux. + */ + tv.tv_sec += tv.tv_usec / 1000000; + tv.tv_usec %= 1000000; + if (tv.tv_usec < 0) { + tv.tv_sec -= 1; + tv.tv_usec += 1000000; + } + if (tv.tv_sec < 0) + timevalclear(&tv); +#ifdef DEBUG + if (ldebug(rt_sigtimedwait)) + printf("Linux-emul rt_sigtimedwait (%ld): converted timeout (%ld/%ld)\n", + (long)p->p_pid, tv.tv_sec, tv.tv_usec); +#endif + } + TIMEVAL_TO_TIMESPEC(&tv, &ts); + tsa = &ts; + } + error = kern_sigtimedwait(td, bset, &info, tsa); +#ifdef DEBUG + if (ldebug(rt_sigtimedwait)) + printf("Linux-emul rt_sigtimedwait (%ld): sigtimedwait returning (%d)\n", + (long)p->p_pid, error); +#endif + if (error) + return error; + + if (args->ptr) { + memset(&linfo, 0, sizeof(linfo)); + linfo.lsi_signo = info.ksi_signo; + error = copyout(&linfo, args->ptr, sizeof(linfo)); + } + + /* Repost if we got an error. */ + if (error && info.ksi_signo) { + PROC_LOCK(td->td_proc); + tdsignal(td->td_proc, td, info.ksi_signo, &info); + PROC_UNLOCK(td->td_proc); + } else { + td->td_retval[0] = info.ksi_signo; + } + + return error; +} + int linux_kill(struct thread *td, struct linux_kill_args *args) { ==== //depot/projects/linuxolator/src/sys/i386/linux/linux_dummy.c#4 (text+ko) ==== @@ -56,7 +56,6 @@ DUMMY(vm86); DUMMY(query_module); DUMMY(nfsservctl); -DUMMY(rt_sigtimedwait); DUMMY(rt_sigqueueinfo); DUMMY(capget); DUMMY(capset); ==== //depot/projects/linuxolator/src/sys/i386/linux/linux_proto.h#9 (text+ko) ==== @@ -2,7 +2,7 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/linux/linux_proto.h,v 1.85 2006/10/28 11:24:38 netchild Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.82 2006/10/28 10:59:59 netchild Exp */ @@ -538,7 +538,10 @@ char sigsetsize_l_[PADL_(l_size_t)]; l_size_t sigsetsize; char sigsetsize_r_[PADR_(l_size_t)]; }; struct linux_rt_sigtimedwait_args { - register_t dummy; + char mask_l_[PADL_(l_sigset_t *)]; l_sigset_t * mask; char mask_r_[PADR_(l_sigset_t *)]; + char ptr_l_[PADL_(l_siginfo_t *)]; l_siginfo_t * ptr; char ptr_r_[PADR_(l_siginfo_t *)]; + char timeout_l_[PADL_(struct l_timeval *)]; struct l_timeval * timeout; char timeout_r_[PADR_(struct l_timeval *)]; + char sigsetsize_l_[PADL_(l_size_t)]; l_size_t sigsetsize; char sigsetsize_r_[PADR_(l_size_t)]; }; struct linux_rt_sigqueueinfo_args { register_t dummy; ==== //depot/projects/linuxolator/src/sys/i386/linux/linux_syscall.h#9 (text+ko) ==== @@ -2,7 +2,7 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/linux/linux_syscall.h,v 1.79 2006/10/28 11:24:38 netchild Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.82 2006/10/28 10:59:59 netchild Exp */ ==== //depot/projects/linuxolator/src/sys/i386/linux/linux_sysent.c#9 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/linux/linux_sysent.c,v 1.87 2006/10/29 14:12:44 netchild Exp $ - * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.83 2006/10/29 14:02:39 netchild Exp + * $FreeBSD$ + * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.82 2006/10/28 10:59:59 netchild Exp */ #include @@ -196,7 +196,7 @@ { AS(linux_rt_sigaction_args), (sy_call_t *)linux_rt_sigaction, AUE_NULL, NULL, 0, 0 }, /* 174 = linux_rt_sigaction */ { AS(linux_rt_sigprocmask_args), (sy_call_t *)linux_rt_sigprocmask, AUE_NULL, NULL, 0, 0 }, /* 175 = linux_rt_sigprocmask */ { AS(linux_rt_sigpending_args), (sy_call_t *)linux_rt_sigpending, AUE_NULL, NULL, 0, 0 }, /* 176 = linux_rt_sigpending */ - { 0, (sy_call_t *)linux_rt_sigtimedwait, AUE_NULL, NULL, 0, 0 }, /* 177 = linux_rt_sigtimedwait */ + { AS(linux_rt_sigtimedwait_args), (sy_call_t *)linux_rt_sigtimedwait, AUE_NULL, NULL, 0, 0 }, /* 177 = linux_rt_sigtimedwait */ { 0, (sy_call_t *)linux_rt_sigqueueinfo, AUE_NULL, NULL, 0, 0 }, /* 178 = linux_rt_sigqueueinfo */ { AS(linux_rt_sigsuspend_args), (sy_call_t *)linux_rt_sigsuspend, AUE_NULL, NULL, 0, 0 }, /* 179 = linux_rt_sigsuspend */ { AS(linux_pread_args), (sy_call_t *)linux_pread, AUE_PREAD, NULL, 0, 0 }, /* 180 = linux_pread */ @@ -264,11 +264,11 @@ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 242 = linux_sched_getaffinity */ { AS(linux_set_thread_area_args), (sy_call_t *)linux_set_thread_area, AUE_NULL, NULL, 0, 0 }, /* 243 = linux_set_thread_area */ { AS(linux_get_thread_area_args), (sy_call_t *)linux_get_thread_area, AUE_NULL, NULL, 0, 0 }, /* 244 = linux_get_thread_area */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 245 = linux_io_setup */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 246 = linux_io_destroy */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 247 = linux_io_getevents */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 248 = linux_io_submit */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 249 = linux_io_cancel */ + { AS(linux_io_setup_args), (sy_call_t *)linux_io_setup, AUE_NULL, NULL, 0, 0 }, /* 245 = linux_io_setup */ + { AS(linux_io_destroy_args), (sy_call_t *)linux_io_destroy, AUE_NULL, NULL, 0, 0 }, /* 246 = linux_io_destroy */ + { AS(linux_io_getevents_args), (sy_call_t *)linux_io_getevents, AUE_NULL, NULL, 0, 0 }, /* 247 = linux_io_getevents */ + { AS(linux_io_submit_args), (sy_call_t *)linux_io_submit, AUE_NULL, NULL, 0, 0 }, /* 248 = linux_io_submit */ + { AS(linux_io_cancel_args), (sy_call_t *)linux_io_cancel, AUE_NULL, NULL, 0, 0 }, /* 249 = linux_io_cancel */ { 0, (sy_call_t *)linux_fadvise64, AUE_NULL, NULL, 0, 0 }, /* 250 = linux_fadvise64 */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 251 = */ { AS(linux_exit_group_args), (sy_call_t *)linux_exit_group, AUE_EXIT, NULL, 0, 0 }, /* 252 = linux_exit_group */ ==== //depot/projects/linuxolator/src/sys/i386/linux/syscalls.master#8 (text+ko) ==== @@ -313,7 +313,10 @@ l_size_t sigsetsize); } 176 AUE_NULL STD { int linux_rt_sigpending(l_sigset_t *set, \ l_size_t sigsetsize); } -177 AUE_NULL STD { int linux_rt_sigtimedwait(void); } +177 AUE_NULL STD { int linux_rt_sigtimedwait(l_sigset_t *mask, \ + l_siginfo_t *ptr, \ + struct l_timeval *timeout, \ + l_size_t sigsetsize); } 178 AUE_NULL STD { int linux_rt_sigqueueinfo(void); } 179 AUE_NULL STD { int linux_rt_sigsuspend( \ l_sigset_t *newset, \ From owner-p4-projects@FreeBSD.ORG Sun Oct 29 17:33:41 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C202916A416; Sun, 29 Oct 2006 17:33:41 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 9C43F16A412 for ; Sun, 29 Oct 2006 17:33:41 +0000 (UTC) (envelope-from netchild@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 53A4E43D46 for ; Sun, 29 Oct 2006 17:33:41 +0000 (GMT) (envelope-from netchild@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9THXflj072051 for ; Sun, 29 Oct 2006 17:33:41 GMT (envelope-from netchild@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9THXfIa072047 for perforce@freebsd.org; Sun, 29 Oct 2006 17:33:41 GMT (envelope-from netchild@freebsd.org) Date: Sun, 29 Oct 2006 17:33:41 GMT Message-Id: <200610291733.k9THXfIa072047@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to netchild@freebsd.org using -f From: Alexander Leidinger To: Perforce Change Reviews Cc: Subject: PERFORCE change 108672 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Oct 2006 17:33:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=108672 Change 108672 by netchild@netchild_magellan on 2006/10/29 17:32:47 style(9) Noticed by: rwatson Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#20 edit .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.h#2 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#20 (text+ko) ==== @@ -1567,8 +1567,8 @@ #ifdef DEBUG if (ldebug(prctl)) - printf(ARGS(prctl, "%d, %d, %d, %d, %d"), args->option, args->arg2, - args->arg3, args->arg4, args->arg5); + printf(ARGS(prctl, "%d, %d, %d, %d, %d"), args->option, + args->arg2, args->arg3, args->arg4, args->arg5); #endif switch (args->option) { @@ -1583,7 +1583,9 @@ case LINUX_PR_GET_PDEATHSIG: em = em_find(p, EMUL_UNLOCKED); KASSERT(em != NULL, ("prctl: emuldata not found.\n")); - error = copyout(&em->pdeath_signal, (void *)(register_t) args->arg2, sizeof(em->pdeath_signal)); + error = copyout(&em->pdeath_signal, + (void *)(register_t) args->arg2, + sizeof(em->pdeath_signal)); EMUL_UNLOCK(&emul_lock); break; case LINUX_PR_SET_NAME: ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.h#2 (text+ko) ==== @@ -29,15 +29,15 @@ */ #ifndef _LINUX_MISC_H_ -#define _LINUX_MISC_H_ +#define _LINUX_MISC_H_ /* defines for prctl */ -#define LINUX_PR_SET_PDEATHSIG 1 /* Second arg is a signal */ -#define LINUX_PR_GET_PDEATHSIG 2 /* Second arg is a ptr to return the signal */ -#define LINUX_PR_SET_NAME 15 /* Set process name */ -#define LINUX_PR_GET_NAME 16 /* Get process name */ +#define LINUX_PR_SET_PDEATHSIG 1 /* Second arg is a signal. */ +#define LINUX_PR_GET_PDEATHSIG 2 /* Second arg is a ptr to return the signal. */ +#define LINUX_PR_SET_NAME 15 /* Set process name. */ +#define LINUX_PR_GET_NAME 16 /* Get process name. */ -#define LINUX_MAX_COMM_LEN 16 /* max length of the proc name */ +#define LINUX_MAX_COMM_LEN 16 /* Maximum length of the process name. */ #endif /* _LINUX_MISC_H_ */ From owner-p4-projects@FreeBSD.ORG Sun Oct 29 17:41:55 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3B82216A47E; Sun, 29 Oct 2006 17:41:55 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 EFED616A416 for ; Sun, 29 Oct 2006 17:41:54 +0000 (UTC) (envelope-from netchild@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5DB2743D49 for ; Sun, 29 Oct 2006 17:41:54 +0000 (GMT) (envelope-from netchild@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9THfqXW073173 for ; Sun, 29 Oct 2006 17:41:52 GMT (envelope-from netchild@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9THfpvn073170 for perforce@freebsd.org; Sun, 29 Oct 2006 17:41:51 GMT (envelope-from netchild@freebsd.org) Date: Sun, 29 Oct 2006 17:41:51 GMT Message-Id: <200610291741.k9THfpvn073170@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to netchild@freebsd.org using -f From: Alexander Leidinger To: Perforce Change Reviews Cc: Subject: PERFORCE change 108673 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Oct 2006 17:41:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=108673 Change 108673 by netchild@netchild_magellan on 2006/10/29 17:41:35 linux_prctl(): - Currently LINUX_MAX_COMM_LEN is smaller than MAXCOMLEN, but in case this will change we have a buffer overflow. Apply some defensive programming to DTRT when this should happen. - Use strlcpy instead of strcpy. - Use copyinstr instead of copyin (and while I'm here fix a copy&paste bug in the order of the arguments). - Properly lock the read case (PR_GET_NAME) like the write case. Discussed with: rwatson X-MFP4 after: review from rwatson Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#21 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#21 (text+ko) ==== @@ -1560,7 +1560,7 @@ int linux_prctl(struct thread *td, struct linux_prctl_args *args) { - int error = 0; + int error = 0, max_size; struct proc *p = td->td_proc; char comm[LINUX_MAX_COMM_LEN]; struct linux_emuldata *em; @@ -1589,16 +1589,22 @@ EMUL_UNLOCK(&emul_lock); break; case LINUX_PR_SET_NAME: - comm[LINUX_MAX_COMM_LEN-1] = 0; - error = copyin(comm, (void *)(register_t) args->arg2, LINUX_MAX_COMM_LEN-1); + max_size = (LINUX_MAX_COMM_LEN <= MAXCOMLEN + 1) ? + LINUX_MAX_COMM_LEN : (MAXCOMLEN + 1); + error = copyinstr((void *)(register_t) args->arg2, comm, + max_size, NULL); if (error) return (error); PROC_LOCK(p); - strcpy(p->p_comm, comm); + strlcpy(p->p_comm, comm, MAXCOMLEN + 1); PROC_UNLOCK(p); break; case LINUX_PR_GET_NAME: - error = copyout(&p->p_comm, (void *)(register_t) args->arg2, MAXCOMLEN+1); + PROC_LOCK(p); + strlcpy(comm, p->p_comm, LINUX_MAX_COMM_LEN); + PROC_UNLOCK(p); + error = copyout(comm, (void *)(register_t) args->arg2, + strlen(comm)+1); break; default: error = EINVAL; From owner-p4-projects@FreeBSD.ORG Sun Oct 29 17:59:31 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BA99716A416; Sun, 29 Oct 2006 17:59:31 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 93FC716A412 for ; Sun, 29 Oct 2006 17:59:31 +0000 (UTC) (envelope-from netchild@freebsd.org) Received: from redbull.bpaserver.net (redbullneu.bpaserver.net [213.198.78.217]) by mx1.FreeBSD.org (Postfix) with ESMTP id 014A943D68 for ; Sun, 29 Oct 2006 17:59:26 +0000 (GMT) (envelope-from netchild@freebsd.org) Received: from outgoing.leidinger.net (p54A5D902.dip.t-dialin.net [84.165.217.2]) by redbull.bpaserver.net (Postfix) with ESMTP id D3FAA2E1B1 for ; Sun, 29 Oct 2006 18:59:15 +0100 (CET) Received: from Magellan.Leidinger.net (Magellan.Leidinger.net [192.168.1.1]) by outgoing.leidinger.net (Postfix) with ESMTP id 81F0C5B61AB for ; Sun, 29 Oct 2006 18:59:08 +0100 (CET) Date: Sun, 29 Oct 2006 18:59:08 +0100 From: Alexander Leidinger To: Perforce Change Reviews Message-ID: <20061029185908.1d52e371@Magellan.Leidinger.net> In-Reply-To: <200610291729.k9THTYvY070930@repoman.freebsd.org> References: <200610291729.k9THTYvY070930@repoman.freebsd.org> Organization: FreeBSD X-Mailer: Sylpheed-Claws 2.5.6 (GTK+ 2.10.6; i386-portbld-freebsd7.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-BPAnet-MailScanner-Information: Please contact the ISP for more information X-BPAnet-MailScanner: Found to be clean X-BPAnet-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-2.286, required 6, BAYES_00 -2.60, DK_POLICY_SIGNSOME 0.00, FORGED_RCVD_HELO 0.14, SARE_FROM_SPAM_WORD3 0.10, TW_GT 0.08) X-BPAnet-MailScanner-From: netchild@freebsd.org X-Spam-Status: No Cc: Subject: Re: PERFORCE change 108671 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Oct 2006 17:59:32 -0000 Quoting Alexander Leidinger (Sun, 29 Oct 2006 17:29:34 GMT): > http://perforce.freebsd.org/chv.cgi?CH=108671 > > Change 108671 by netchild@netchild_magellan on 2006/10/29 17:28:38 > > Add the linux rt_sigpending function from PR 93199. The PR is against This was supposed to read: Add the linux_rt_timedwait function, but not the linux_rt_sigpending function (already in current) from PR 93199. I notice some hickups where anything I type in my gtk based mailer does not show up for a moment and then starts to appear after this short hang. This does only happen from time to time. Sometimes the disk does something at the same time, but not always. Does this sound familiar to someone? Bye, Alexander. -- ...and that is how we know the Earth to be banana-shaped. http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID = B0063FE7 http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137 From owner-p4-projects@FreeBSD.ORG Sun Oct 29 19:44:36 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 70A2116A416; Sun, 29 Oct 2006 19:44:36 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 4839D16A403 for ; Sun, 29 Oct 2006 19:44:36 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0F33843D45 for ; Sun, 29 Oct 2006 19:44:36 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9TJiZYg097129 for ; Sun, 29 Oct 2006 19:44:35 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9TJiVSd097126 for perforce@freebsd.org; Sun, 29 Oct 2006 19:44:31 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 29 Oct 2006 19:44:31 GMT Message-Id: <200610291944.k9TJiVSd097126@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 108682 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Oct 2006 19:44:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=108682 Change 108682 by rwatson@rwatson_zoo on 2006/10/29 19:43:38 Integrate TrustedBSD priv branch up to TrustedBSD @108496. Affected files ... .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/db_trace.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/pmap.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/amd64/conf/GENERIC.hints#2 integrate .. //depot/projects/trustedbsd/priv/sys/amd64/conf/NOTES#4 integrate .. //depot/projects/trustedbsd/priv/sys/arm/arm/cpufunc.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/arm/elf_trampoline.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/arm/nexus.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/arm/nexus_io.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/arm/trap.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/arm/undefined.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/arm/vm_machdep.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_mci.c#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_mcireg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_spi.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_ssc.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_sscreg.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/at91/at91_twi.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/arm/at91/if_ate.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/at91/kb920x_machdep.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/arm/at91/std.at91#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/at91/std.kb920x#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/sa11x0.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/sa11x0_io.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/sa11x0_irqhandler.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/sa11x0_ost.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/Makefile#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/Makefile.inc#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/boot0spi/main.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/boot2/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/boot2/boot2.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/boot2/kb920x_board.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootiic/env_vars.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootiic/loader_prompt.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootspi/Makefile#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootspi/arm_init.S#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootspi/ee.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootspi/ee.h#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootspi/env_vars.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootspi/loader_prompt.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/bootspi/main.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/Makefile#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/at91rm9200.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/emac.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/emac.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/emac_init.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/lib.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/lib_AT91RM9200.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/mci_device.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/mci_device.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/memcmp.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/memcpy.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/memset.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/p_string.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/printf.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/putchar.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/sd-card.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/spi_flash.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/strcmp.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/strcpy.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/strcvt.c#1 branch .. //depot/projects/trustedbsd/priv/sys/boot/arm/at91/libat91/strlen.c#1 branch .. //depot/projects/trustedbsd/priv/sys/compat/freebsd32/freebsd32_proto.h#7 integrate .. //depot/projects/trustedbsd/priv/sys/compat/freebsd32/freebsd32_syscall.h#7 integrate .. //depot/projects/trustedbsd/priv/sys/compat/freebsd32/freebsd32_syscalls.c#7 integrate .. //depot/projects/trustedbsd/priv/sys/compat/freebsd32/freebsd32_sysent.c#7 integrate .. //depot/projects/trustedbsd/priv/sys/compat/freebsd32/syscalls.master#7 integrate .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_file.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_getcwd.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_misc.c#7 integrate .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_stats.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_fcntl.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/compat/svr4/svr4_misc.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/conf/NOTES#5 integrate .. //depot/projects/trustedbsd/priv/sys/conf/files#6 integrate .. //depot/projects/trustedbsd/priv/sys/conf/files.amd64#5 integrate .. //depot/projects/trustedbsd/priv/sys/conf/files.i386#4 integrate .. //depot/projects/trustedbsd/priv/sys/conf/files.ia64#2 integrate .. //depot/projects/trustedbsd/priv/sys/conf/files.pc98#3 integrate .. //depot/projects/trustedbsd/priv/sys/conf/files.powerpc#2 integrate .. //depot/projects/trustedbsd/priv/sys/conf/files.sparc64#2 integrate .. //depot/projects/trustedbsd/priv/sys/conf/kern.pre.mk#3 integrate .. //depot/projects/trustedbsd/priv/sys/conf/kmod.mk#3 integrate .. //depot/projects/trustedbsd/priv/sys/contrib/pf/net/pf.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/crypto/sha2/sha2.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/atkbdc/atkbd.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/bce/if_bce.c#5 integrate .. //depot/projects/trustedbsd/priv/sys/dev/bce/if_bcereg.h#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/iwi/if_iwi.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/iwi/if_iwireg.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/mmc/bridge.h#1 branch .. //depot/projects/trustedbsd/priv/sys/dev/mmc/mmc.c#1 branch .. //depot/projects/trustedbsd/priv/sys/dev/mmc/mmcbr_if.m#1 branch .. //depot/projects/trustedbsd/priv/sys/dev/mmc/mmcbrvar.h#1 branch .. //depot/projects/trustedbsd/priv/sys/dev/mmc/mmcbus_if.m#1 branch .. //depot/projects/trustedbsd/priv/sys/dev/mmc/mmcreg.h#1 branch .. //depot/projects/trustedbsd/priv/sys/dev/mmc/mmcsd.c#1 branch .. //depot/projects/trustedbsd/priv/sys/dev/mmc/mmcvar.h#1 branch .. //depot/projects/trustedbsd/priv/sys/dev/pci/pci.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/spibus/spibus.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/ubsec/ubsec.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/usb/ukbd.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/fs/devfs/devfs_devs.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/fs/devfs/devfs_vnops.c#5 integrate .. //depot/projects/trustedbsd/priv/sys/fs/msdosfs/denode.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/fs/msdosfs/direntry.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/fs/msdosfs/msdosfs_conv.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/fs/msdosfs/msdosfs_denode.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/fs/msdosfs/msdosfs_vnops.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/fs/ntfs/ntfs_vnops.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/fs/nwfs/nwfs_subr.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/fs/smbfs/smbfs_subr.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/i386/conf/NOTES#5 integrate .. //depot/projects/trustedbsd/priv/sys/i386/i386/db_trace.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/i386/i386/pmap.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/i386/i386/sys_machdep.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/i386/ibcs2/ibcs2_misc.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/i386/linux/linux_machdep.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/ia64/conf/NOTES#2 integrate .. //depot/projects/trustedbsd/priv/sys/ia64/ia64/nexus.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/ia64/ia64/pmap.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/init_main.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_acct.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_acl.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_alq.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_conf.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_environment.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_exec.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_exit.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_fork.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_jail.c#10 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_ktrace.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_linker.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_mac.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_malloc.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_mbuf.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_prot.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_shutdown.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_sig.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_sysctl.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_time.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_umtx.c#7 integrate .. //depot/projects/trustedbsd/priv/sys/kern/link_elf.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/link_elf_obj.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/subr_fattime.c#1 branch .. //depot/projects/trustedbsd/priv/sys/kern/subr_trap.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/sys_pipe.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/sys_process.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/sys_socket.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/sysv_msg.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/kern/sysv_sem.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/sysv_shm.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/uipc_mbuf.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/uipc_mbuf2.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/uipc_sem.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/uipc_socket.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/kern/uipc_syscalls.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/uipc_usrreq.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/vfs_bio.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/vfs_cluster.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/vfs_lookup.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/vfs_mount.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/kern/vfs_subr.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/kern/vfs_syscalls.c#7 integrate .. //depot/projects/trustedbsd/priv/sys/kern/vfs_vnops.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/modules/mmc/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/modules/mmcsd/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/net/bpf.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/net/bsd_comp.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/net/if.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/net/if_atmsubr.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/net/if_ethersubr.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/net/if_fddisubr.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/net/if_fwsubr.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/net/if_gif.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/net/if_iso88025subr.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/net/if_ppp.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/net/if_stf.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/net/if_tun.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/netatalk/aarp.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/netatalk/ddp_input.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/netatalk/ddp_output.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/if_ether.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/igmp.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/in_pcb.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/ip_divert.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/ip_fw2.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/ip_fw_pfil.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/ip_icmp.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/ip_input.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/ip_mroute.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/ip_options.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/ip_output.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/raw_ip.c#5 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/tcp_input.c#5 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/tcp_output.c#5 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/tcp_subr.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/tcp_syncache.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/udp_usrreq.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/netinet6/nd6.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/nfsserver/nfs_serv.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/nfsserver/nfs_srvsock.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/nfsserver/nfs_syscalls.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/pc98/conf/NOTES#3 integrate .. //depot/projects/trustedbsd/priv/sys/pci/agp.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/powerpc/conf/NOTES#2 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_framework.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_inet.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_label.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_net.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_pipe.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_posix_sem.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_process.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_socket.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_system.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_sysv_msg.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_sysv_sem.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_sysv_shm.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_vfs.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/security/mac_lomac/mac_lomac.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/sparc64/conf/NOTES#2 integrate .. //depot/projects/trustedbsd/priv/sys/sun4v/conf/NOTES#3 integrate .. //depot/projects/trustedbsd/priv/sys/sun4v/sun4v/pmap.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/sys/clock.h#3 integrate .. //depot/projects/trustedbsd/priv/sys/sys/conf.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/sys/mac.h#4 integrate .. //depot/projects/trustedbsd/priv/sys/sys/mac_policy.h#4 integrate .. //depot/projects/trustedbsd/priv/sys/sys/queue.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/ufs/ffs/ffs_vfsops.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/ufs/ufs/ufs_vnops.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/vm/device_pager.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/vm/phys_pager.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/vm/swap_pager.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/vm/uma_core.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_contig.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_fault.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_glue.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_kern.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_map.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_mmap.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_object.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_page.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_page.h#3 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_pageout.c#2 integrate Differences ... ==== //depot/projects/trustedbsd/priv/sys/amd64/amd64/db_trace.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.75 2006/07/12 21:22:42 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.76 2006/10/20 09:44:20 bde Exp $"); #include #include @@ -91,6 +91,7 @@ { "r15", DB_OFFSET(tf_r15), db_frame }, { "rip", DB_OFFSET(tf_rip), db_frame }, { "rflags", DB_OFFSET(tf_rflags), db_frame }, +#define DB_N_SHOW_REGS 20 /* Don't show registers after here. */ { "dr0", NULL, db_dr0 }, { "dr1", NULL, db_dr1 }, { "dr2", NULL, db_dr2 }, @@ -100,7 +101,7 @@ { "dr6", NULL, db_dr6 }, { "dr7", NULL, db_dr7 }, }; -struct db_variable *db_eregs = db_regs + sizeof(db_regs)/sizeof(db_regs[0]); +struct db_variable *db_eregs = db_regs + DB_N_SHOW_REGS; #define DB_DRX_FUNC(reg) \ static int \ ==== //depot/projects/trustedbsd/priv/sys/amd64/amd64/pmap.c#2 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.571 2006/08/14 15:39:41 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.572 2006/10/22 04:18:01 alc Exp $"); /* * Manages physical address maps. @@ -1665,7 +1665,7 @@ vm_page_t m; TAILQ_FOREACH(m, &vpq->pl, pageq) { - if (m->hold_count || m->busy || (m->flags & PG_BUSY)) + if (m->hold_count || m->busy) continue; TAILQ_FOREACH_SAFE(pv, &m->md.pv_list, pv_list, next_pv) { va = pv->pv_va; ==== //depot/projects/trustedbsd/priv/sys/amd64/conf/GENERIC.hints#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.15 2004/07/22 22:28:34 imp Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.16 2006/10/21 12:52:46 ru Exp $ hint.fdc.0.at="isa" hint.fdc.0.port="0x3F0" hint.fdc.0.irq="6" @@ -11,7 +11,6 @@ hint.atkbdc.0.port="0x060" hint.atkbd.0.at="atkbdc" hint.atkbd.0.irq="1" -hint.atkbd.0.flags="0x1" hint.psm.0.at="atkbdc" hint.psm.0.irq="12" hint.vga.0.at="isa" ==== //depot/projects/trustedbsd/priv/sys/amd64/conf/NOTES#4 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.60 2006/10/19 05:17:55 imp Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.63 2006/10/23 13:23:13 ru Exp $ # # @@ -202,6 +202,61 @@ # Optional devices: # +# PS/2 mouse +device psm +hint.psm.0.at="atkbdc" +hint.psm.0.irq="12" + +# Options for psm: +options PSM_HOOKRESUME #hook the system resume event, useful + #for some laptops +options PSM_RESETAFTERSUSPEND #reset the device at the resume event + +# The keyboard controller; it controls the keyboard and the PS/2 mouse. +device atkbdc +hint.atkbdc.0.at="isa" +hint.atkbdc.0.port="0x060" + +# The AT keyboard +device atkbd +hint.atkbd.0.at="atkbdc" +hint.atkbd.0.irq="1" + +# Options for atkbd: +options ATKBD_DFLT_KEYMAP # specify the built-in keymap +makeoptions ATKBD_DFLT_KEYMAP=jp.106 + +# `flags' for atkbd: +# 0x01 Force detection of keyboard, else we always assume a keyboard +# 0x02 Don't reset keyboard, useful for some newer ThinkPads +# 0x03 Force detection and avoid reset, might help with certain +# dockingstations +# 0x04 Old-style (XT) keyboard support, useful for older ThinkPads + +# Video card driver for VGA adapters. +device vga +hint.vga.0.at="isa" + +# Options for vga: +# Try the following option if the mouse pointer is not drawn correctly +# or font does not seem to be loaded properly. May cause flicker on +# some systems. +options VGA_ALT_SEQACCESS + +# If you can dispense with some vga driver features, you may want to +# use the following options to save some memory. +#options VGA_NO_FONT_LOADING # don't save/load font +#options VGA_NO_MODE_CHANGE # don't change video modes + +# Older video cards may require this option for proper operation. +options VGA_SLOW_IOACCESS # do byte-wide i/o's to TS and GDC regs + +# The following option probably won't work with the LCD displays. +options VGA_WIDTH90 # support 90 column modes + +# Debugging. +options VGA_DEBUG + # 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support. This will create # the /dev/3dfx0 device to work with glide implementations. This should get # linked to /dev/3dfx and /dev/voodoo. Note that this is not the same as @@ -609,7 +664,3 @@ # Enable NDIS binary driver support options NDISAPI device ndis - - -# The I/O device -device io ==== //depot/projects/trustedbsd/priv/sys/arm/arm/cpufunc.c#2 (text+ko) ==== @@ -45,11 +45,8 @@ * Created : 30/01/97 */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.11 2006/08/24 23:51:27 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.12 2006/10/21 04:25:00 kevlo Exp $"); -#include - -#include #include #include #include ==== //depot/projects/trustedbsd/priv/sys/arm/arm/elf_trampoline.c#2 (text+ko) ==== @@ -23,9 +23,8 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.13 2006/08/24 23:51:27 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.14 2006/10/21 04:25:00 kevlo Exp $"); #include -#include #include #include #include ==== //depot/projects/trustedbsd/priv/sys/arm/arm/nexus.c#2 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/nexus.c,v 1.7 2006/04/20 04:12:02 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/nexus.c,v 1.9 2006/10/25 21:11:46 cognet Exp $"); #include #include @@ -127,8 +127,11 @@ nexus_setup_intr(device_t dev, device_t child, struct resource *res, int flags, driver_intr_t *intr, void *arg, void **cookiep) { - arm_setup_irqhandler(device_get_nameunit(child), - intr, arg, rman_get_start(res), flags, cookiep); + int i; + + for (i = rman_get_start(res); i <= rman_get_end(res); i++) + arm_setup_irqhandler(device_get_nameunit(child), + intr, arg, i, flags, cookiep); return (0); } @@ -136,8 +139,10 @@ nexus_teardown_intr(device_t dev, device_t child, struct resource *r, void *ih) { int error; + int i; - arm_mask_irq(rman_get_start(r)); + for (i = rman_get_start(r); i <= rman_get_end(r); i++) + arm_mask_irq(rman_get_start(r)); error = arm_remove_irqhandler(ih); return (error); } ==== //depot/projects/trustedbsd/priv/sys/arm/arm/nexus_io.c#2 (text+ko) ==== @@ -37,12 +37,11 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/nexus_io.c,v 1.5 2005/01/05 21:58:47 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/nexus_io.c,v 1.6 2006/10/21 04:25:00 kevlo Exp $"); #include #include #include -#include #include #include #include ==== //depot/projects/trustedbsd/priv/sys/arm/arm/trap.c#2 (text+ko) ==== @@ -82,9 +82,7 @@ #include "opt_ktrace.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.27 2006/07/28 20:22:57 jhb Exp $"); - -#include +__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.31 2006/10/21 04:25:00 kevlo Exp $"); #include #include @@ -900,9 +898,9 @@ nap--; } else if (code == SYS___syscall) { - code = *ap++; + code = ap[_QUAD_LOWWORD]; nap -= 2; - ap++; + ap += 2; } if (p->p_sysent->sv_mask) code &= p->p_sysent->sv_mask; @@ -941,21 +939,22 @@ switch (error) { case 0: #ifdef __ARMEB__ - if ((insn & 0x000fffff) && + if ((insn & 0x000fffff) == SYS___syscall && (code != SYS_lseek)) { /* * 64-bit return, 32-bit syscall. Fixup byte order - */ + */ frame->tf_r0 = 0; frame->tf_r1 = td->td_retval[0]; } else { - frame->tf_r0 = td->td_retval[0]; - frame->tf_r1 = td->td_retval[1]; + frame->tf_r0 = td->td_retval[0]; + frame->tf_r1 = td->td_retval[1]; } #else - frame->tf_r0 = td->td_retval[0]; - frame->tf_r1 = td->td_retval[1]; -#endif + frame->tf_r0 = td->td_retval[0]; + frame->tf_r1 = td->td_retval[1]; +#endif + frame->tf_spsr &= ~PSR_C_bit; /* carry bit */ break; ==== //depot/projects/trustedbsd/priv/sys/arm/arm/undefined.c#2 (text+ko) ==== @@ -48,7 +48,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/undefined.c,v 1.13 2006/04/09 20:16:47 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/undefined.c,v 1.14 2006/10/21 04:25:00 kevlo Exp $"); #include #include @@ -58,7 +58,6 @@ #include #include #include -#include #include #include #include ==== //depot/projects/trustedbsd/priv/sys/arm/arm/vm_machdep.c#2 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.27 2006/08/08 20:59:38 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.28 2006/10/24 23:27:52 cognet Exp $"); #include #include @@ -465,13 +465,13 @@ vm_offset_t addr = alloc_firstaddr; KASSERT(alloc_firstaddr != 0, ("arm_ptovirt called to early ?")); - for (i = 0; dump_avail[i]; i += 2) { + for (i = 0; dump_avail[i + 1]; i += 2) { if (pa >= dump_avail[i] && pa < dump_avail[i + 1]) break; addr += (dump_avail[i + 1] & L1_S_FRAME) + L1_S_SIZE - (dump_avail[i] & L1_S_FRAME); } - KASSERT(dump_avail[i] != 0, ("Trying to access invalid physical address")); + KASSERT(dump_avail[i + 1] != 0, ("Trying to access invalid physical address")); return (addr + (pa - (dump_avail[i] & L1_S_FRAME))); } @@ -487,12 +487,12 @@ * to be able to do a pa => va association for any address. */ - for (i = 0; dump_avail[i]; i+= 2) { + for (i = 0; dump_avail[i + 1]; i+= 2) { to_map += (dump_avail[i + 1] & L1_S_FRAME) + L1_S_SIZE - (dump_avail[i] & L1_S_FRAME); } alloc_firstaddr = mapaddr = KERNBASE - to_map; - for (i = 0; dump_avail[i]; i+= 2) { + for (i = 0; dump_avail[i + 1]; i+= 2) { vm_offset_t size = (dump_avail[i + 1] & L1_S_FRAME) + L1_S_SIZE - (dump_avail[i] & L1_S_FRAME); vm_offset_t did = 0; ==== //depot/projects/trustedbsd/priv/sys/arm/at91/at91_spi.c#2 (text) ==== @@ -23,14 +23,13 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91_spi.c,v 1.2 2006/07/14 21:35:59 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91_spi.c,v 1.3 2006/10/20 07:10:13 imp Exp $"); #include #include #include #include #include -#include #include #include #include @@ -50,9 +49,9 @@ void *intrhand; /* Interrupt handle */ struct resource *irq_res; /* IRQ resource */ struct resource *mem_res; /* Memory resource */ - struct mtx sc_mtx; /* basically a perimeter lock */ bus_dma_tag_t dmatag; /* bus dma tag for mbufs */ bus_dmamap_t map[4]; /* Maps for the transaction */ + int rxdone; }; static inline uint32_t @@ -67,19 +66,7 @@ bus_write_4(sc->mem_res, off, val); } -#define AT91_SPI_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx) -#define AT91_SPI_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx) -#define AT91_SPI_LOCK_INIT(_sc) \ - mtx_init(&_sc->sc_mtx, device_get_nameunit(_sc->dev), \ - "spi", MTX_DEF) -#define AT91_SPI_LOCK_DESTROY(_sc) mtx_destroy(&_sc->sc_mtx); -#define AT91_SPI_ASSERT_LOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_OWNED); -#define AT91_SPI_ASSERT_UNLOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_NOTOWNED); - -static devclass_t at91_spi_devclass; - /* bus entry points */ - static int at91_spi_probe(device_t dev); static int at91_spi_attach(device_t dev); static int at91_spi_detach(device_t dev); @@ -87,6 +74,7 @@ /* helper routines */ static int at91_spi_activate(device_t dev); static void at91_spi_deactivate(device_t dev); +static void at91_spi_intr(void *arg); static int at91_spi_probe(device_t dev) @@ -106,8 +94,6 @@ if (err) goto out; - AT91_SPI_LOCK_INIT(sc); - /* * Allocate DMA tags and maps */ @@ -124,6 +110,7 @@ // reset the SPI WR4(sc, SPI_CR, SPI_CR_SWRST); + WR4(sc, SPI_IDR, 0xffffffff); WR4(sc, SPI_MR, (0xf << 24) | SPI_MR_MSTR | SPI_MR_MODFDIS | (0xE << 16)); @@ -141,8 +128,6 @@ WR4(sc, PDC_RCR, 0); WR4(sc, PDC_TPR, 0); WR4(sc, PDC_TCR, 0); - WR4(sc, PDC_PTCR, PDC_PTCR_RXTEN); - WR4(sc, PDC_PTCR, PDC_PTCR_TXTEN); RD4(sc, SPI_RDR); RD4(sc, SPI_SR); @@ -164,7 +149,7 @@ at91_spi_activate(device_t dev) { struct at91_spi_softc *sc; - int rid; + int rid, err = ENOMEM; sc = device_get_softc(dev); rid = 0; @@ -175,12 +160,16 @@ rid = 0; sc->irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, RF_ACTIVE); - if (sc->mem_res == NULL) + if (sc->irq_res == NULL) + goto errout; + err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_MISC | INTR_MPSAFE, + at91_spi_intr, sc, &sc->intrhand); + if (err != 0) goto errout; return (0); errout: at91_spi_deactivate(dev); - return (ENOMEM); + return (err); } static void @@ -216,7 +205,7 @@ at91_spi_transfer(device_t dev, device_t child, struct spi_command *cmd) { struct at91_spi_softc *sc; - int i; + int i, j, rxdone, err, mode[4]; bus_addr_t addr; sc = device_get_softc(dev); @@ -228,49 +217,73 @@ WR4(sc, PDC_TPR, addr); WR4(sc, PDC_TCR, cmd->tx_cmd_sz); bus_dmamap_sync(sc->dmatag, sc->map[i], BUS_DMASYNC_PREWRITE); - i++; - if (bus_dmamap_load(sc->dmatag, sc->map[i], cmd->tx_data, - cmd->tx_data_sz, at91_getaddr, &addr, 0) != 0) - goto out; - WR4(sc, PDC_TNPR, addr); - WR4(sc, PDC_TNCR, cmd->tx_cmd_sz); - bus_dmamap_sync(sc->dmatag, sc->map[i], BUS_DMASYNC_PREWRITE); - i++; + mode[i++] = BUS_DMASYNC_POSTWRITE; + if (cmd->tx_data_sz > 0) { + if (bus_dmamap_load(sc->dmatag, sc->map[i], cmd->tx_data, + cmd->tx_data_sz, at91_getaddr, &addr, 0) != 0) + goto out; + WR4(sc, PDC_TNPR, addr); + WR4(sc, PDC_TNCR, cmd->tx_cmd_sz); + bus_dmamap_sync(sc->dmatag, sc->map[i], BUS_DMASYNC_PREWRITE); + mode[i++] = BUS_DMASYNC_POSTWRITE; + } if (bus_dmamap_load(sc->dmatag, sc->map[i], cmd->rx_cmd, cmd->tx_cmd_sz, at91_getaddr, &addr, 0) != 0) goto out; WR4(sc, PDC_RPR, addr); WR4(sc, PDC_RCR, cmd->tx_cmd_sz); bus_dmamap_sync(sc->dmatag, sc->map[i], BUS_DMASYNC_PREREAD); - i++; - if (bus_dmamap_load(sc->dmatag, sc->map[i], cmd->rx_data, - cmd->tx_data_sz, at91_getaddr, &addr, 0) != 0) - goto out; - WR4(sc, PDC_RNPR, addr); - WR4(sc, PDC_RNCR, cmd->tx_data_sz); - bus_dmamap_sync(sc->dmatag, sc->map[i], BUS_DMASYNC_PREREAD); - + mode[i++] = BUS_DMASYNC_POSTREAD; + if (cmd->tx_data_sz > 0) { + if (bus_dmamap_load(sc->dmatag, sc->map[i], cmd->rx_data, + cmd->tx_data_sz, at91_getaddr, &addr, 0) != 0) + goto out; + WR4(sc, PDC_RNPR, addr); + WR4(sc, PDC_RNCR, cmd->tx_data_sz); + bus_dmamap_sync(sc->dmatag, sc->map[i], BUS_DMASYNC_PREREAD); + mode[i++] = BUS_DMASYNC_POSTREAD; + } + WR4(sc, SPI_IER, SPI_SR_ENDRX); WR4(sc, PDC_PTCR, PDC_PTCR_TXTEN | PDC_PTCR_RXTEN); - // wait for completion - // XXX should be done as an ISR of some sort. - while (RD4(sc, SPI_SR) & SPI_SR_ENDRX) - DELAY(700); - - // Sync the buffers after the DMA is done, and unload them. - bus_dmamap_sync(sc->dmatag, sc->map[0], BUS_DMASYNC_POSTWRITE); - bus_dmamap_sync(sc->dmatag, sc->map[1], BUS_DMASYNC_POSTWRITE); - bus_dmamap_sync(sc->dmatag, sc->map[2], BUS_DMASYNC_POSTREAD); - bus_dmamap_sync(sc->dmatag, sc->map[3], BUS_DMASYNC_POSTREAD); - for (i = 0; i < 4; i++) - bus_dmamap_unload(sc->dmatag, sc->map[i]); - return (0); + rxdone = sc->rxdone; + do { + err = msleep(&sc->rxdone, NULL, PCATCH | PZERO, "spi", hz); + } while (rxdone == sc->rxdone && err != EINTR); + WR4(sc, PDC_PTCR, PDC_PTCR_TXTDIS | PDC_PTCR_RXTDIS); + if (err == 0) { + for (j = 0; j < i; j++) + bus_dmamap_sync(sc->dmatag, sc->map[j], mode[j]); + } + for (j = 0; j < i; j++) + bus_dmamap_unload(sc->dmatag, sc->map[j]); + return (err); out:; - while (i-- > 0) - bus_dmamap_unload(sc->dmatag, sc->map[i]); + for (j = 0; j < i; j++) + bus_dmamap_unload(sc->dmatag, sc->map[j]); return (EIO); } +static void +at91_spi_intr(void *arg) +{ + struct at91_spi_softc *sc = (struct at91_spi_softc*)arg; + uint32_t sr; + + sr = RD4(sc, SPI_SR) & RD4(sc, SPI_IMR); + if (sr & SPI_SR_ENDRX) { + sc->rxdone++; + WR4(sc, SPI_IDR, SPI_SR_ENDRX); + wakeup(&sc->rxdone); + } + if (sr & ~SPI_SR_ENDRX) { + device_printf(sc->dev, "Unexpected ISR %#x\n", sr); + WR4(sc, SPI_IDR, sr & ~SPI_SR_ENDRX); + } +} + +static devclass_t at91_spi_devclass; + static device_method_t at91_spi_methods[] = { /* Device interface */ DEVMETHOD(device_probe, at91_spi_probe), ==== //depot/projects/trustedbsd/priv/sys/arm/at91/at91_ssc.c#2 (text) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91_ssc.c,v 1.2 2006/07/14 22:30:44 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91_ssc.c,v 1.3 2006/10/20 07:08:59 imp Exp $"); #include #include @@ -88,14 +88,16 @@ /* cdev routines */ static d_open_t at91_ssc_open; static d_close_t at91_ssc_close; -static d_ioctl_t at91_ssc_ioctl; +static d_read_t at91_ssc_read; +static d_write_t at91_ssc_write; static struct cdevsw at91_ssc_cdevsw = { .d_version = D_VERSION, .d_open = at91_ssc_open, .d_close = at91_ssc_close, - .d_ioctl = at91_ssc_ioctl + .d_read = at91_ssc_read, + .d_write = at91_ssc_write, }; static int @@ -134,6 +136,19 @@ goto out; } sc->cdev->si_drv1 = sc; + + // Init for TSC needs + WR4(sc, SSC_CR, SSC_CR_SWRST); + WR4(sc, SSC_CMR, 0); // clock divider unused + WR4(sc, SSC_RCMR, + SSC_RCMR_CKS_RK | SSC_RCMR_CKO_NONE | SSC_RCMR_START_FALL_EDGE_RF); + WR4(sc, SSC_RFMR, + 0x1f | SSC_RFMR_MSFBF | SSC_RFMR_FSOS_NONE); + WR4(sc, SSC_TCMR, + SSC_TCMR_CKS_TK | SSC_TCMR_CKO_NONE | SSC_RCMR_START_CONT); + WR4(sc, SSC_TFMR, + 0x1f | SSC_TFMR_DATDEF | SSC_TFMR_MSFBF | SSC_TFMR_FSOS_NEG_PULSE); + out:; if (err) at91_ssc_deactivate(dev); @@ -161,7 +176,7 @@ rid = 0; sc->irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, RF_ACTIVE); - if (sc->mem_res == NULL) + if (sc->irq_res == NULL) goto errout; return (0); errout: @@ -241,10 +256,15 @@ } static int -at91_ssc_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int fflag, - struct thread *td) +at91_ssc_read(struct cdev *dev, struct uio *uio, int flag) +{ + return EIO; +} + +static int +at91_ssc_write(struct cdev *dev, struct uio *uio, int flag) { - return (ENXIO); + return EIO; } static device_method_t at91_ssc_methods[] = { ==== //depot/projects/trustedbsd/priv/sys/arm/at91/at91_sscreg.h#2 (text) ==== @@ -22,9 +22,128 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* $FreeBSD: src/sys/arm/at91/at91_sscreg.h,v 1.1 2006/03/24 07:42:33 imp Exp $ */ +/* $FreeBSD: src/sys/arm/at91/at91_sscreg.h,v 1.3 2006/10/25 07:58:18 imp Exp $ */ #ifndef ARM_AT91_AT91_SSCREG_H #define ARM_AT91_AT91_SSCREG_H +/* Registers */ +#define SSC_CR 0x00 /* Control Register */ +#define SSC_CMR 0x04 /* Clock Mode Register */ + /* 0x08 Reserved */ + /* 0x0c Reserved */ +#define SSC_RCMR 0x10 /* Receive Clock Mode Register */ +#define SSC_RFMR 0x14 /* Receive Frame Mode Register */ +#define SSC_TCMR 0x18 /* Transmit Clock Mode Register */ +#define SSC_TFMR 0x1c /* Transmit Frame Mode register */ +#define SSC_RHR 0x20 /* Receive Holding Register */ +#define SSC_THR 0x24 /* Transmit Holding Register */ + /* 0x28 Reserved */ + /* 0x2c Reserved */ +#define SSC_RSHR 0x30 /* Receive Sync Holding Register */ +#define SSC_TSHR 0x34 /* Transmit Sync Holding Register */ + /* 0x38 Reserved */ + /* 0x3c Reserved */ +#define SSC_SR 0x40 /* Status Register */ +#define SSC_IER 0x44 /* Interrupt Enable Register */ +#define SSC_IDR 0x48 /* Interrupt Disable Register */ +#define SSC_IMR 0x4c /* Interrupt Mask Register */ +/* And PDC registers */ + +/* SSC_CR */ +#define SSC_CR_RXEN (1u << 0) /* RXEN: Receive Enable */ +#define SSC_CR_RXDIS (1u << 1) /* RXDIS: Receive Disable */ +#define SSC_CR_TXEN (1u << 8) /* TXEN: Transmit Enable */ +#define SSC_CR_TXDIS (1u << 9) /* TXDIS: Transmit Disable */ +#define SSC_CR_SWRST (1u << 15) /* SWRST: Software Reset */ + +/* SSC_CMR */ +#define SSC_CMR_DIV 0xfffu /* DIV: Clock Divider mask */ + +/* SSC_RCMR */ +#define SSC_RCMR_PERIOD (0xffu << 24) /* PERIOD: Receive Period Divider sel*/ +#define SSC_RCMR_STTDLY (0xffu << 16) /* STTDLY: Receive Start Delay */ +#define SSC_RCMR_START (0xfu << 8) /* START: Receive Start Sel */ +#define SSC_RCMR_START_CONT (0u << 8) +#define SSC_RCMR_START_TX_START (1u << 8) +#define SSC_RCMR_START_LOW_RF (2u << 8) +#define SSC_RCMR_START_HIGH_RF (3u << 8) +#define SSC_RCMR_START_FALL_EDGE_RF (4u << 8) +#define SSC_RCMR_START_RISE_EDGE_RF (5u << 8) +#define SSC_RCMR_START_LEVEL_CHANGE_RF (6u << 8) +#define SSC_RCMR_START_ANY_EDGE_RF (7u << 8) +#define SSC_RCMR_CKI (1u << 5) /* CKI: Receive Clock Inversion */ +#define SSC_RCMR_CKO (7u << 2) /* CKO: Receive Clock Output Mode Sel*/ +#define SSC_RCMR_CKO_NONE (0u << 2) +#define SSC_RCMR_CKO_CONTINUOUS (1u << 2) +#define SSC_RCMR_CKS (3u) /* CKS: Receive Clock Selection */ +#define SSC_RCMR_CKS_DIVIDED (0) +#define SSC_RCMR_CKS_TK_CLOCK (1) +#define SSC_RCMR_CKS_RK (2) + +/* SSC_RFMR */ +#define SSC_RFMR_FSEDGE (1u << 24) /* FSEDGE: Frame Sync Edge Detection */ +#define SSC_RFMR_FSOS (7u << 20) /* FSOS: Receive frame Sync Out sel */ +#define SSC_RFMR_FSOS_NONE (0u << 20) +#define SSC_RFMR_FSOS_NEG_PULSE (1u << 20) +#define SSC_RFMR_FSOS_POS_PULSE (2u << 20) +#define SSC_RFMR_FSOS_LOW (3u << 20) +#define SSC_RFMR_FSOS_HIGH (4u << 20) +#define SSC_RFMR_FSOS_TOGGLE (5u << 20) +#define SSC_RFMR_FSLEN (0xfu << 16) /* FSLEN: Receive Frame Sync Length */ +#define SSC_RFMR_DATNB (0xfu << 8) /* DATNB: Data Number per Frame */ +#define SSC_RFMR_MSFBF (1u << 7) /* MSBF: Most Significant Bit First */ +#define SSC_RFMR_LOOP (1u << 5) /* LOOP: Loop Mode */ +#define SSC_RFMR_DATLEN (0x1fu << 0) /* DATLEN: Data Length */ + +/* SSC_TCMR */ +#define SSC_TCMR_PERIOD (0xffu << 24) /* PERIOD: Receive Period Divider sel*/ +#define SSC_TCMR_STTDLY (0xffu << 16) /* STTDLY: Receive Start Delay */ +#define SSC_TCMR_START (0xfu << 8) /* START: Receive Start Sel */ +#define SSC_TCMR_START_CONT (0u << 8) +#define SSC_TCMR_START_RX_START (1u << 8) +#define SSC_TCMR_START_LOW_RF (2u << 8) +#define SSC_TCMR_START_HIGH_RF (3u << 8) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Oct 29 19:45:38 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3C01E16A4A7; Sun, 29 Oct 2006 19:45:38 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 E8F7E16A492 for ; Sun, 29 Oct 2006 19:45:37 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B8C9F43D45 for ; Sun, 29 Oct 2006 19:45:37 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9TJjbaH097272 for ; Sun, 29 Oct 2006 19:45:37 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9TJjbJw097269 for perforce@freebsd.org; Sun, 29 Oct 2006 19:45:37 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 29 Oct 2006 19:45:37 GMT Message-Id: <200610291945.k9TJjbJw097269@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 108683 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Oct 2006 19:45:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=108683 Change 108683 by rwatson@rwatson_zoo on 2006/10/29 19:45:14 Migrate addition of new priv(9)-related entry points to mac_framework.h, the new world order. Affected files ... .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_framework.h#3 edit Differences ... ==== //depot/projects/trustedbsd/priv/sys/security/mac/mac_framework.h#3 (text+ko) ==== @@ -51,6 +51,7 @@ #endif #include +#include /* XXXRW: Until name space issues resolved. */ struct bpf_d; struct cdev; @@ -407,6 +408,8 @@ struct label *label); void mac_cred_mmapped_drop_perms(struct thread *td, struct ucred *cred); void mac_associate_nfsd_label(struct ucred *cred); +int mac_priv_check(struct ucred *cred, enum priv priv); +int mac_priv_grant(struct ucred *cred, enum priv priv); /* * Calls to help various file systems implement labeling functionality From owner-p4-projects@FreeBSD.ORG Sun Oct 29 20:55:18 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E700D16A412; Sun, 29 Oct 2006 20:55:17 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 A91ED16A407 for ; Sun, 29 Oct 2006 20:55:17 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 625AA43D4C for ; Sun, 29 Oct 2006 20:55:17 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9TKtHP6020305 for ; Sun, 29 Oct 2006 20:55:17 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9TKt8dh020301 for perforce@freebsd.org; Sun, 29 Oct 2006 20:55:08 GMT (envelope-from marcel@freebsd.org) Date: Sun, 29 Oct 2006 20:55:08 GMT Message-Id: <200610292055.k9TKt8dh020301@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 Cc: Subject: PERFORCE change 108689 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Oct 2006 20:55:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=108689 Change 108689 by marcel@marcel_cluster on 2006/10/29 20:54:12 IFC @108686 Affected files ... .. //depot/projects/ia64/UPDATING#90 integrate .. //depot/projects/ia64/bin/cp/cp.1#13 integrate .. //depot/projects/ia64/contrib/gcc/function.c#14 integrate .. //depot/projects/ia64/etc/defaults/rc.conf#73 integrate .. //depot/projects/ia64/etc/network.subr#17 integrate .. //depot/projects/ia64/etc/pf.os#4 integrate .. //depot/projects/ia64/etc/rc.d/auto_linklocal#3 integrate .. //depot/projects/ia64/etc/rc.d/ppp#5 integrate .. //depot/projects/ia64/etc/rc.firewall#6 integrate .. //depot/projects/ia64/games/fortune/datfiles/fortunes#60 integrate .. //depot/projects/ia64/lib/libc/gmon/Makefile.inc#5 integrate .. //depot/projects/ia64/lib/libc/net/inet.3#8 integrate .. //depot/projects/ia64/lib/libc/resolv/res_send.c#3 integrate .. //depot/projects/ia64/lib/libc/stdio/xprintf.c#4 integrate .. //depot/projects/ia64/lib/libkvm/kvm_proc.c#30 integrate .. //depot/projects/ia64/lib/libtacplus/libtacplus.3#6 integrate .. //depot/projects/ia64/release/Makefile#99 integrate .. //depot/projects/ia64/sbin/adjkerntz/adjkerntz.c#7 integrate .. //depot/projects/ia64/sbin/devd/devd.conf.5#10 integrate .. //depot/projects/ia64/sbin/mount/mount.c#28 integrate .. //depot/projects/ia64/share/man/man4/if_bridge.4#12 integrate .. //depot/projects/ia64/share/man/man4/ng_pppoe.4#13 integrate .. //depot/projects/ia64/share/man/man4/ng_source.4#10 integrate .. //depot/projects/ia64/share/man/man4/sis.4#11 integrate .. //depot/projects/ia64/share/man/man4/syscons.4#15 integrate .. //depot/projects/ia64/share/man/man7/ports.7#20 integrate .. //depot/projects/ia64/share/man/man9/kobj.9#7 integrate .. //depot/projects/ia64/share/misc/usb_hid_usages#2 integrate .. //depot/projects/ia64/share/mk/bsd.lib.mk#39 integrate .. //depot/projects/ia64/sys/amd64/amd64/machdep.c#41 integrate .. //depot/projects/ia64/sys/amd64/amd64/prof_machdep.c#5 integrate .. //depot/projects/ia64/sys/amd64/amd64/trap.c#29 integrate .. //depot/projects/ia64/sys/amd64/conf/DEFAULTS#5 integrate .. //depot/projects/ia64/sys/amd64/conf/GENERIC#38 integrate .. //depot/projects/ia64/sys/amd64/conf/NOTES#23 integrate .. //depot/projects/ia64/sys/amd64/include/asmacros.h#7 integrate .. //depot/projects/ia64/sys/amd64/include/profile.h#10 integrate .. //depot/projects/ia64/sys/amd64/linux32/linux.h#5 integrate .. //depot/projects/ia64/sys/amd64/linux32/linux32_dummy.c#5 integrate .. //depot/projects/ia64/sys/amd64/linux32/linux32_proto.h#11 integrate .. //depot/projects/ia64/sys/amd64/linux32/linux32_syscall.h#11 integrate .. //depot/projects/ia64/sys/amd64/linux32/linux32_sysent.c#11 integrate .. //depot/projects/ia64/sys/amd64/linux32/syscalls.master#11 integrate .. //depot/projects/ia64/sys/arm/arm/nexus.c#7 integrate .. //depot/projects/ia64/sys/arm/arm/trap.c#19 integrate .. //depot/projects/ia64/sys/arm/arm/vm_machdep.c#15 integrate .. //depot/projects/ia64/sys/arm/at91/at91_sscreg.h#3 integrate .. //depot/projects/ia64/sys/arm/at91/kb920x_machdep.c#5 integrate .. //depot/projects/ia64/sys/arm/at91/std.at91#3 integrate .. //depot/projects/ia64/sys/arm/at91/std.kb920x#3 integrate .. //depot/projects/ia64/sys/arm/conf/EP80219#2 integrate .. //depot/projects/ia64/sys/arm/conf/IQ31244#9 integrate .. //depot/projects/ia64/sys/arm/conf/KB920X#4 integrate .. //depot/projects/ia64/sys/arm/conf/SIMICS#8 integrate .. //depot/projects/ia64/sys/arm/conf/SKYEYE#3 integrate .. //depot/projects/ia64/sys/arm/sa11x0/assabet_machdep.c#12 integrate .. //depot/projects/ia64/sys/arm/xscale/i80321/ep80219_machdep.c#2 integrate .. //depot/projects/ia64/sys/arm/xscale/i80321/iq31244_machdep.c#14 integrate .. //depot/projects/ia64/sys/boot/common/load_elf.c#18 integrate .. //depot/projects/ia64/sys/boot/i386/boot2/boot2.c#25 integrate .. //depot/projects/ia64/sys/boot/i386/libi386/elf32_freebsd.c#4 integrate .. //depot/projects/ia64/sys/boot/i386/libi386/elf64_freebsd.c#6 integrate .. //depot/projects/ia64/sys/boot/pc98/boot2/boot.c#8 integrate .. //depot/projects/ia64/sys/compat/freebsd32/freebsd32_proto.h#21 integrate .. //depot/projects/ia64/sys/compat/freebsd32/freebsd32_syscall.h#21 integrate .. //depot/projects/ia64/sys/compat/freebsd32/freebsd32_syscalls.c#21 integrate .. //depot/projects/ia64/sys/compat/freebsd32/freebsd32_sysent.c#21 integrate .. //depot/projects/ia64/sys/compat/freebsd32/syscalls.master#21 integrate .. //depot/projects/ia64/sys/compat/linprocfs/linprocfs.c#45 integrate .. //depot/projects/ia64/sys/compat/linux/linux_aio.c#2 delete .. //depot/projects/ia64/sys/compat/linux/linux_aio.h#2 delete .. //depot/projects/ia64/sys/compat/linux/linux_emul.c#3 integrate .. //depot/projects/ia64/sys/compat/linux/linux_emul.h#2 integrate .. //depot/projects/ia64/sys/compat/linux/linux_misc.c#48 integrate .. //depot/projects/ia64/sys/compat/linux/linux_misc.h#1 branch .. //depot/projects/ia64/sys/conf/NOTES#106 integrate .. //depot/projects/ia64/sys/conf/files#147 integrate .. //depot/projects/ia64/sys/conf/files.amd64#41 integrate .. //depot/projects/ia64/sys/conf/files.i386#80 integrate .. //depot/projects/ia64/sys/conf/files.ia64#67 integrate .. //depot/projects/ia64/sys/conf/files.pc98#67 integrate .. //depot/projects/ia64/sys/conf/files.powerpc#29 integrate .. //depot/projects/ia64/sys/conf/files.sparc64#49 integrate .. //depot/projects/ia64/sys/conf/kern.post.mk#63 integrate .. //depot/projects/ia64/sys/conf/kern.pre.mk#41 integrate .. //depot/projects/ia64/sys/ddb/db_ps.c#31 integrate .. //depot/projects/ia64/sys/dev/atkbdc/atkbd.c#6 integrate .. //depot/projects/ia64/sys/dev/bce/if_bcereg.h#6 integrate .. //depot/projects/ia64/sys/dev/dc/if_dc.c#8 integrate .. //depot/projects/ia64/sys/dev/em/if_em.c#54 integrate .. //depot/projects/ia64/sys/dev/em/if_em.h#34 integrate .. //depot/projects/ia64/sys/dev/em/if_em_hw.c#21 integrate .. //depot/projects/ia64/sys/dev/em/if_em_hw.h#20 integrate .. //depot/projects/ia64/sys/dev/em/if_em_osdep.h#19 integrate .. //depot/projects/ia64/sys/dev/sound/pcm/dsp.c#27 integrate .. //depot/projects/ia64/sys/dev/ubsec/ubsec.c#29 integrate .. //depot/projects/ia64/sys/dev/usb/ukbd.c#19 integrate .. //depot/projects/ia64/sys/fs/msdosfs/denode.h#12 integrate .. //depot/projects/ia64/sys/fs/msdosfs/direntry.h#8 integrate .. //depot/projects/ia64/sys/fs/msdosfs/msdosfs_conv.c#15 integrate .. //depot/projects/ia64/sys/fs/msdosfs/msdosfs_denode.c#25 integrate .. //depot/projects/ia64/sys/fs/msdosfs/msdosfs_vnops.c#35 integrate .. //depot/projects/ia64/sys/fs/nwfs/nwfs_subr.c#9 integrate .. //depot/projects/ia64/sys/fs/procfs/procfs_status.c#20 integrate .. //depot/projects/ia64/sys/fs/smbfs/smbfs_subr.c#9 integrate .. //depot/projects/ia64/sys/i386/conf/DEFAULTS#5 integrate .. //depot/projects/ia64/sys/i386/conf/GENERIC#68 integrate .. //depot/projects/ia64/sys/i386/conf/NOTES#78 integrate .. //depot/projects/ia64/sys/i386/i386/machdep.c#73 integrate .. //depot/projects/ia64/sys/i386/i386/trap.c#56 integrate .. //depot/projects/ia64/sys/i386/include/asmacros.h#7 integrate .. //depot/projects/ia64/sys/i386/include/profile.h#14 integrate .. //depot/projects/ia64/sys/i386/isa/prof_machdep.c#8 integrate .. //depot/projects/ia64/sys/i386/linux/linux.h#11 integrate .. //depot/projects/ia64/sys/i386/linux/linux_dummy.c#12 integrate .. //depot/projects/ia64/sys/i386/linux/linux_proto.h#21 integrate .. //depot/projects/ia64/sys/i386/linux/linux_syscall.h#21 integrate .. //depot/projects/ia64/sys/i386/linux/linux_sysent.c#22 integrate .. //depot/projects/ia64/sys/i386/linux/syscalls.master#20 integrate .. //depot/projects/ia64/sys/ia64/conf/DEFAULTS#5 integrate .. //depot/projects/ia64/sys/ia64/conf/GENERIC#51 integrate .. //depot/projects/ia64/sys/ia64/conf/NOTES#11 integrate .. //depot/projects/ia64/sys/ia64/ia64/machdep.c#120 integrate .. //depot/projects/ia64/sys/ia64/ia64/trap.c#85 integrate .. //depot/projects/ia64/sys/kern/init_main.c#58 integrate .. //depot/projects/ia64/sys/kern/kern_clock.c#40 integrate .. //depot/projects/ia64/sys/kern/kern_exit.c#74 integrate .. //depot/projects/ia64/sys/kern/kern_fork.c#67 integrate .. //depot/projects/ia64/sys/kern/kern_idle.c#19 integrate .. //depot/projects/ia64/sys/kern/kern_intr.c#42 integrate .. //depot/projects/ia64/sys/kern/kern_kse.c#17 integrate .. //depot/projects/ia64/sys/kern/kern_malloc.c#41 integrate .. //depot/projects/ia64/sys/kern/kern_poll.c#19 integrate .. //depot/projects/ia64/sys/kern/kern_proc.c#68 integrate .. //depot/projects/ia64/sys/kern/kern_resource.c#40 integrate .. //depot/projects/ia64/sys/kern/kern_sig.c#95 integrate .. //depot/projects/ia64/sys/kern/kern_subr.c#35 integrate .. //depot/projects/ia64/sys/kern/kern_switch.c#47 integrate .. //depot/projects/ia64/sys/kern/kern_synch.c#66 integrate .. //depot/projects/ia64/sys/kern/kern_thr.c#28 integrate .. //depot/projects/ia64/sys/kern/kern_thread.c#97 integrate .. //depot/projects/ia64/sys/kern/kern_umtx.c#23 integrate .. //depot/projects/ia64/sys/kern/sched_4bsd.c#36 integrate .. //depot/projects/ia64/sys/kern/sched_ule.c#50 integrate .. //depot/projects/ia64/sys/kern/subr_fattime.c#2 integrate .. //depot/projects/ia64/sys/kern/subr_trap.c#53 integrate .. //depot/projects/ia64/sys/kern/sys_process.c#39 integrate .. //depot/projects/ia64/sys/kern/tty.c#49 integrate .. //depot/projects/ia64/sys/kern/vfs_bio.c#87 integrate .. //depot/projects/ia64/sys/kern/vfs_syscalls.c#76 integrate .. //depot/projects/ia64/sys/modules/linux/Makefile#16 integrate .. //depot/projects/ia64/sys/modules/powermac_nvram/Makefile#2 integrate .. //depot/projects/ia64/sys/netinet/ip_dummynet.c#43 integrate .. //depot/projects/ia64/sys/nfsserver/nfs_serv.c#39 integrate .. //depot/projects/ia64/sys/pc98/conf/DEFAULTS#5 integrate .. //depot/projects/ia64/sys/pc98/conf/GENERIC#58 integrate .. //depot/projects/ia64/sys/pc98/conf/NOTES#39 integrate .. //depot/projects/ia64/sys/pc98/pc98/machdep.c#11 integrate .. //depot/projects/ia64/sys/pci/if_sis.c#47 integrate .. //depot/projects/ia64/sys/posix4/ksched.c#15 integrate .. //depot/projects/ia64/sys/powerpc/conf/DEFAULTS#3 integrate .. //depot/projects/ia64/sys/powerpc/conf/GENERIC#37 integrate .. //depot/projects/ia64/sys/powerpc/conf/NOTES#3 integrate .. //depot/projects/ia64/sys/powerpc/powerpc/machdep.c#49 integrate .. //depot/projects/ia64/sys/powerpc/powerpc/trap.c#38 integrate .. //depot/projects/ia64/sys/security/mac/mac_framework.h#3 integrate .. //depot/projects/ia64/sys/sparc64/conf/DEFAULTS#3 integrate .. //depot/projects/ia64/sys/sparc64/conf/GENERIC#62 integrate .. //depot/projects/ia64/sys/sparc64/conf/NOTES#19 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/machdep.c#62 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/trap.c#41 integrate .. //depot/projects/ia64/sys/sun4v/conf/DEFAULTS#2 integrate .. //depot/projects/ia64/sys/sun4v/conf/NOTES#3 integrate .. //depot/projects/ia64/sys/sun4v/sun4v/machdep.c#3 integrate .. //depot/projects/ia64/sys/sys/clock.h#5 integrate .. //depot/projects/ia64/sys/sys/param.h#77 integrate .. //depot/projects/ia64/sys/sys/proc.h#104 integrate .. //depot/projects/ia64/sys/sys/queue.h#16 integrate .. //depot/projects/ia64/sys/sys/rtprio.h#6 integrate .. //depot/projects/ia64/sys/sys/sched.h#14 integrate .. //depot/projects/ia64/sys/sys/soundcard.h#11 integrate .. //depot/projects/ia64/sys/vm/swap_pager.c#62 integrate .. //depot/projects/ia64/sys/vm/uma_core.c#74 integrate .. //depot/projects/ia64/sys/vm/vm_fault.c#58 integrate .. //depot/projects/ia64/sys/vm/vm_glue.c#52 integrate .. //depot/projects/ia64/sys/vm/vm_kern.c#39 integrate .. //depot/projects/ia64/sys/vm/vm_zeroidle.c#20 integrate .. //depot/projects/ia64/usr.bin/awk/Makefile#11 integrate .. //depot/projects/ia64/usr.bin/awk/tran.c.diff#1 branch .. //depot/projects/ia64/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.musik#5 integrate .. //depot/projects/ia64/usr.bin/lorder/lorder.1#6 integrate .. //depot/projects/ia64/usr.bin/su/su.c#21 integrate .. //depot/projects/ia64/usr.sbin/config/config.5#3 integrate .. //depot/projects/ia64/usr.sbin/config/config.h#11 integrate .. //depot/projects/ia64/usr.sbin/config/config.y#15 integrate .. //depot/projects/ia64/usr.sbin/config/main.c#15 integrate .. //depot/projects/ia64/usr.sbin/config/mkmakefile.c#16 integrate .. //depot/projects/ia64/usr.sbin/fdcontrol/fdcontrol.8#8 integrate .. //depot/projects/ia64/usr.sbin/fwcontrol/Makefile#5 integrate .. //depot/projects/ia64/usr.sbin/fwcontrol/fwcontrol.8#15 integrate .. //depot/projects/ia64/usr.sbin/fwcontrol/fwcontrol.c#18 integrate .. //depot/projects/ia64/usr.sbin/fwcontrol/fwdv.c#4 integrate .. //depot/projects/ia64/usr.sbin/fwcontrol/fwmethods.h#1 branch .. //depot/projects/ia64/usr.sbin/fwcontrol/fwmpegts.c#1 branch .. //depot/projects/ia64/usr.sbin/smbmsg/smbmsg.8#4 integrate .. //depot/projects/ia64/usr.sbin/sysinstall/dist.c#36 integrate .. //depot/projects/ia64/usr.sbin/sysinstall/install.c#37 integrate .. //depot/projects/ia64/usr.sbin/sysinstall/sysinstall.h#39 integrate Differences ... ==== //depot/projects/ia64/UPDATING#90 (text+ko) ==== @@ -21,6 +21,14 @@ developers choose to disable these features on build machines to maximize performance. +20061026: + KSE in the kernel has now been made optional and turned on by + default. Use 'nooption KSE' in your kernel config to turn it + off. All kernel modules *must* be recompiled after this change. + There-after, modules from a KSE kernel should be compatible with + modules from a NOKSE kernel due to the temporary padding fields + added to 'struct proc'. + 20060929: mrouted and its utilities have been removed from the base system. @@ -631,4 +639,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.460 2006/09/30 20:01:15 ru Exp $ +$FreeBSD: src/UPDATING,v 1.462 2006/10/26 22:05:24 jb Exp $ ==== //depot/projects/ia64/bin/cp/cp.1#13 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)cp.1 8.3 (Berkeley) 4/18/94 -.\" $FreeBSD: src/bin/cp/cp.1,v 1.36 2006/10/07 22:14:43 trhodes Exp $ +.\" $FreeBSD: src/bin/cp/cp.1,v 1.38 2006/10/27 08:26:24 trhodes Exp $ .\" -.Dd October 7, 2006 +.Dd October 27, 2006 .Dt CP 1 .Os .Sh NAME @@ -251,38 +251,24 @@ utility had a .Fl r option. -This implementation supports that option, however, its use is strongly -discouraged as its behavior is very implementation dependent. -In this version of -.Nm , +This implementation supports that option, however, its behavior +is different from historical +.Fx +behavior. +Use of this option +is strongly discouraged as the behavior is +implementation-dependent. +In +.Fx , .Fl r -is just a synonym for -.Fl RL . -The -.Fl R -option gives the correct behavior while -.Fl L -preserves the sometimes-useful historical behavior of following symbolic links. -The +is a synonym for +.Fl RL +and works the same unless modified by other flags. +Historical implemenations +of .Fl r -option is deprecated in -.Tn POSIX - and its behavior is likely to be different -in future versions of -.Nm -and its behavior is likely to be different -in future versions of -.Fx . -Previous versions of -.Nm -in -.Fx , -the -.Fl r -behavior was to not correctly copy special files, symbolic links -or fifos. -Symbolic links were followed, and the contents of special -files and fifos were copied to regular files. +differ as they copy special files as normal +files while recreating a hierarchy. .Pp The .Fl v ==== //depot/projects/ia64/contrib/gcc/function.c#14 (text+ko) ==== @@ -19,7 +19,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* $FreeBSD: src/contrib/gcc/function.c,v 1.22 2005/06/03 04:02:19 kan Exp $ */ +/* $FreeBSD: src/contrib/gcc/function.c,v 1.23 2006/10/25 07:29:22 bde Exp $ */ /* This file handles the generation of rtl code from tree structure at the level of the function as a whole. @@ -7129,7 +7129,9 @@ if (!initialized) { mexitcount_libfunc = init_one_libfunc (".mexitcount"); +#if 0 /* Turn this off to prevent erroneous garbage collection. */ initialized = 1; +#endif } emit_library_call (mexitcount_libfunc, LCT_NORMAL, VOIDmode, 0); } ==== //depot/projects/ia64/etc/defaults/rc.conf#73 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.300 2006/10/15 15:55:00 ceri Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.301 2006/10/28 20:08:12 phk Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -104,6 +104,16 @@ firewall_quiet="NO" # Set to YES to suppress rule display firewall_logging="NO" # Set to YES to enable events logging firewall_flags="" # Flags passed to ipfw when type is a file +firewall_myservices="" # List of TCP ports on which this host + # offers services +firewall_allowservices="" # List of IPs which has access to + # $firewall_myservices +firewall_trusted="" # List of IPs which has full access to this host +firewall_logdeny="NO" # Set to YES to log default denied incoming + # packets. +firewall_nologports="135-139,445 1026,1027 1433,1434" # List of TCP/UDP ports + # for which denied incoming packets are not + # logged. ip_portrange_first="NO" # Set first dynamically allocated port ip_portrange_last="NO" # Set last dynamically allocated port ike_enable="NO" # Enable IKE daemon (usually racoon or isakmpd) ==== //depot/projects/ia64/etc/network.subr#17 (text+ko) ==== @@ -22,7 +22,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/etc/network.subr,v 1.175 2006/10/07 15:45:56 ume Exp $ +# $FreeBSD: src/etc/network.subr,v 1.176 2006/10/29 13:29:49 mlaier Exp $ # # @@ -690,7 +690,7 @@ if [ ${rtsol_available} = yes -a ${rtsol_interface} = yes ] then case ${i} in - lo0|gif[0-9]*|stf[0-9]*|faith[0-9]*|lp[0-9]*|sl[0-9]*|tun[0-9]*) + lo0|gif[0-9]*|stf[0-9]*|faith[0-9]*|lp[0-9]*|sl[0-9]*|tun[0-9]*|pflog[0-9]*|pfsync[0-9]*) ;; *) rtsol_interfaces="${rtsol_interfaces} ${i}" ==== //depot/projects/ia64/etc/pf.os#4 (text+ko) ==== @@ -1,5 +1,5 @@ -# $FreeBSD: src/etc/pf.os,v 1.3 2004/09/14 00:30:14 mlaier Exp $ -# $OpenBSD: pf.os,v 1.17 2004/04/28 01:01:27 deraadt Exp $ +# $FreeBSD: src/etc/pf.os,v 1.4 2006/10/23 05:09:44 delphij Exp $ +# $OpenBSD: pf.os,v 1.21 2006/07/28 21:51:12 david Exp $ # passive OS fingerprinting # ------------------------- # @@ -223,9 +223,10 @@ S4:64:1:60:M1360,S,T,N,W0: Linux:google::Linux (Google crawlbot) S2:64:1:60:M*,S,T,N,W0: Linux:2.4::Linux 2.4 (big boy) -S3:64:1:60:M*,S,T,N,W0: Linux:2.4:18-21:Linux 2.4.18 and newer -S4:64:1:60:M*,S,T,N,W0: Linux:2.4::Linux 2.4/2.6 -S4:64:1:60:M*,S,T,N,W0: Linux:2.6::Linux 2.4/2.6 +S3:64:1:60:M*,S,T,N,W0: Linux:2.4:.18-21:Linux 2.4.18 and newer +S4:64:1:60:M*,S,T,N,W0: Linux:2.4::Linux 2.4/2.6 <= 2.6.7 +S4:64:1:60:M*,S,T,N,W0: Linux:2.6:.1-7:Linux 2.4/2.6 <= 2.6.7 +S4:64:1:60:M*,S,T,N,W7: Linux:2.6:8:Linux 2.6.8 and newer (?) S3:64:1:60:M*,S,T,N,W1: Linux:2.5::Linux 2.5 (sometimes 2.4) S4:64:1:60:M*,S,T,N,W1: Linux:2.5-2.6::Linux 2.5/2.6 @@ -260,27 +261,28 @@ # ----------------- FreeBSD ----------------- -16384:64:1:44:M*: FreeBSD:2.0-2.2::FreeBSD 2.0-4.1 -16384:64:1:44:M*: FreeBSD:3.0-3.5::FreeBSD 2.0-4.1 -16384:64:1:44:M*: FreeBSD:4.0-4.1::FreeBSD 2.0-4.1 +16384:64:1:44:M*: FreeBSD:2.0-2.2::FreeBSD 2.0-4.2 +16384:64:1:44:M*: FreeBSD:3.0-3.5::FreeBSD 2.0-4.2 +16384:64:1:44:M*: FreeBSD:4.0-4.2::FreeBSD 2.0-4.2 16384:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.4::FreeBSD 4.4 1024:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.4::FreeBSD 4.4 57344:64:1:44:M*: FreeBSD:4.6-4.8:noRFC1323:FreeBSD 4.6-4.8 (no RFC1323) -57344:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.6-4.8::FreeBSD 4.6-4.8 +57344:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.6-4.9::FreeBSD 4.6-4.9 -32768:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.8-4.9::FreeBSD 4.8-5.1 (or MacOS X) +32768:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.8-4.11::FreeBSD 4.8-5.1 (or MacOS X) 32768:64:1:60:M*,N,W0,N,N,T: FreeBSD:5.0-5.1::FreeBSD 4.8-5.1 (or MacOS X) -65535:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.8-4.9::FreeBSD 4.8-5.1 (or MacOS X) -65535:64:1:60:M*,N,W0,N,N,T: FreeBSD:5.0-5.1::FreeBSD 4.8-5.1 (or MacOS X) -65535:64:1:60:M*,N,W1,N,N,T: FreeBSD:4.7-4.9::FreeBSD 4.7-5.1 -65535:64:1:60:M*,N,W1,N,N,T: FreeBSD:5.0-5.1::FreeBSD 4.7-5.1 +65535:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.8-4.11::FreeBSD 4.8-5.2 (or MacOS X) +65535:64:1:60:M*,N,W0,N,N,T: FreeBSD:5.0-5.2::FreeBSD 4.8-5.2 (or MacOS X) +65535:64:1:60:M*,N,W1,N,N,T: FreeBSD:4.7-4.11::FreeBSD 4.7-5.2 +65535:64:1:60:M*,N,W1,N,N,T: FreeBSD:5.0-5.2::FreeBSD 4.7-5.2 # XXX need quirks support -# 65535:64:1:60:M*,N,W0,N,N,T:Z:FreeBSD:5.1-current (1) -# 65535:64:1:60:M*,N,W1,N,N,T:Z:FreeBSD:5.1-current (2) -# 65535:64:1:60:M*,N,W2,N,N,T:Z:FreeBSD:5.1-current (3) +# 65535:64:1:60:M*,N,W0,N,N,T:Z:FreeBSD:5.1-5.4::5.1-current (1) +# 65535:64:1:60:M*,N,W1,N,N,T:Z:FreeBSD:5.1-5.4::5.1-current (2) +# 65535:64:1:60:M*,N,W2,N,N,T:Z:FreeBSD:5.1-5.4::5.1-current (3) +# 65535:64:1:44:M*:Z:FreeBSD:5.2::FreeBSD 5.2 (no RFC1323) # 16384:64:1:60:M*,N,N,N,N,N,N,T:FreeBSD:4.4:noTS:FreeBSD 4.4 (w/o timestamps) @@ -297,12 +299,12 @@ # ----------------- OpenBSD ----------------- 16384:64:0:60:M*,N,W0,N,N,T: OpenBSD:2.6::NetBSD 1.3 (or OpenBSD 2.6) -16384:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-3.5::OpenBSD 3.0-3.5 -16384:64:0:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-3.5:no-df:OpenBSD 3.0-3.5 (scrub no-df) -57344:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.3-3.5::OpenBSD 3.3-3.5 -57344:64:0:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.3-3.5:no-df:OpenBSD 3.3-3.5 (scrub no-df) +16384:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-4.0::OpenBSD 3.0-4.0 +16384:64:0:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-4.0:no-df:OpenBSD 3.0-4.0 (scrub no-df) +57344:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.3-4.0::OpenBSD 3.3-4.0 +57344:64:0:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.3-4.0:no-df:OpenBSD 3.3-4.0 (scrub no-df) -65535:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-3.5:opera:OpenBSD 3.0-3.5 (Opera) +65535:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-4.0:opera:OpenBSD 3.0-4.0 (Opera) # ----------------- Solaris ----------------- @@ -317,7 +319,8 @@ 4096:64:0:44:M1460: SunOS:4.1::SunOS 4.1.x -S34:64:1:52:M*,N,W0,N,N,S: Solaris:10::Solaris 10 (beta) +S34:64:1:52:M*,N,W0,N,N,S: Solaris:10:beta:Solaris 10 (beta) +32850:64:1:64:M*,N,N,T,N,W1,N,N,S: Solaris:10::Solaris 10 1203 # ----------------- IRIX -------------------- @@ -329,6 +332,9 @@ 61440:64:0:48:M*,N,N,S: IRIX:6.5:12-21:IRIX 6.5.12 - 6.5.21 49152:64:0:48:M*,N,N,S: IRIX:6.5:15-21:IRIX 6.5.15 - 6.5.21 +49152:60:0:64:M*,N,W2,N,N,T,N,N,S: IRIX:6.5:IP27:IRIX 6.5 IP27 + + # ----------------- Tru64 ------------------- 32768:64:1:48:M*,N,W0: Tru64:4.0::Tru64 4.0 (or OS/2 Warp 4) @@ -428,6 +434,11 @@ 16384:128:1:52:M536,N,W0,N,N,S: Windows:2000:ZoneAlarm:Windows 2000 w/ZoneAlarm? 2048:255:0:40:.: Windows:.NET::Windows .NET Enterprise Server +44620:64:0:48:M*,N,N,S: Windows:ME::Windows ME no SP (?) +S6:255:1:48:M536,N,N,S: Windows:95:winsock2:Windows 95 winsock 2 +32768:32:1:52:M1460,N,W0,N,N,S: Windows:2003:AS:Windows 2003 AS + + # No need to be more specific, it passes: # *:128:1:48:M*,N,N,S:U:-Windows:XP/2000 while downloading (leak!) XXX quirk # there is an equiv similar generic sig w/o the quirk @@ -442,7 +453,6 @@ # Whoa. Hardcore WSS. 0:64:0:48:M*,W0,N: HP-UX:B.11.00:A:HP-UX B.11.00 A (RFC1323) - # ----------------- RiscOS ------------------ # We don't yet support the ?12 TCP option @@ -453,6 +463,7 @@ # 4096:64:1:56:M1460,N,N,T:T: RISC OS:3.70:freenet:RISC OS 3.70 freenet 2.00 + # ----------------- BSD/OS ------------------ # Once again, power of two WSS is also shared by MacOS X with DF set @@ -466,6 +477,7 @@ # ---------------- NeXTSTEP ----------------- +S4:64:0:44:M1024: NeXTSTEP:3.3::NeXTSTEP 3.3 S8:64:0:44:M512: NeXTSTEP:3.3::NeXTSTEP 3.3 # ------------------ BeOS ------------------- @@ -501,15 +513,18 @@ # ----------------- SCO ------------------ S3:64:1:60:M1460,N,W0,N,N,T: SCO:UnixWare:7.1:SCO UnixWare 7.1 +S17:64:1:60:M1380,N,W0,N,N,T: SCO:UnixWare:7.1:SCO UnixWare 7.1.3 MP3 S23:64:1:44:M1380: SCO:OpenServer:5.0:SCO OpenServer 5.0 # ------------------- DOS ------------------- 2048:255:0:44:M536: DOS:WATTCP:1.05:DOS Arachne via WATTCP/1.05 +T2:255:0:44:M984: DOS:WATTCP:1.05Arachne:Arachne via WATTCP/1.05 (eepro) # ------------------ OS/2 ------------------- S56:64:0:44:M512: OS/2:4::OS/2 4 +28672:64:0:44:M1460: OS/2:4::OS/2 Warp 4.0 # ----------------- TOPS-20 ----------------- @@ -517,6 +532,10 @@ # XXX QUIRK 0:64:0:44:M1460:A:TOPS-20:version 7 0:64:0:44:M1460: TOPS-20:7::TOPS-20 version 7 +# ----------------- FreeMiNT ---------------- + +S44:255:0:44:M536: FreeMiNT:1:16A:FreeMiNT 1 patch 16A (Atari) + # ------------------ AMIGA ------------------ # XXX TCP option 12 @@ -539,7 +558,6 @@ S12:64:1:44:M1460: @Checkpoint:::Checkpoint (unknown 1) S12:64:1:48:N,N,S,M1460: @Checkpoint:::Checkpoint (unknown 2) 4096:32:0:44:M1460: ExtremeWare:4.x::ExtremeWare 4.x -60352:64:0:52:M1460,N,W2,N,N,S: Clavister:7::Clavister firewall 7.x # XXX TCP option 12 # S32:64:0:68:M512,N,W0,N,N,T,N,N,?12:.:Nokia:IPSO w/Checkpoint NG FP3 @@ -549,6 +567,9 @@ 8192:64:1:44:M1460: Eagle:::Eagle Secure Gateway +S52:128:1:48:M1260,N,N,N,N: LinkSys:WRV54G::LinkSys WRV54G VPN router + + # ------- Switches and other stuff ---------- @@ -581,6 +602,10 @@ 16384:255:0:40:.: Proxyblocker:::Proxyblocker (what's this?) +65535:255:0:48:M*,N,N,S: Redline:::Redline T|X 2200 + +32696:128:0:40:M1460: Spirent:Avalanche::Spirent Web Avalanche HTTP benchmarking engine + # ----------- Embedded systems -------------- S9:255:0:44:M536: PalmOS:Tungsten:C:PalmOS Tungsten C @@ -589,10 +614,15 @@ S4:255:0:44:M536: PalmOS:3:5:PalmOS 3.5 2948:255:0:44:M536: PalmOS:3:5:PalmOS 3.5.3 (Handera) S29:255:0:44:M536: PalmOS:5::PalmOS 5.0 +16384:255:0:44:M1398: PalmOS:5.2:Clie:PalmOS 5.2 (Clie) +S14:255:0:44:M1350: PalmOS:5.2:Treo:PalmOS 5.2.1 (Treo) S23:64:1:64:N,W1,N,N,T,N,N,S,M1460: SymbianOS:7::SymbianOS 7 -8192:255:0:44:M1460: SymbianOS:6048::SymbianOS 6048 (on Nokia 7650?) -8192:255:0:44:M536: SymbianOS:::SymbianOS (on Nokia 9210?) + +8192:255:0:44:M1460: SymbianOS:6048::Symbian OS 6048 (Nokia 7650?) +8192:255:0:44:M536: SymbianOS:9210::Symbian OS (Nokia 9210?) +S22:64:1:56:M1460,T,S: SymbianOS:P800::Symbian OS ? (SE P800?) +S36:64:1:56:M1360,T,S: SymbianOS:6600::Symbian OS 60xx (Nokia 6600?) # Perhaps S4? @@ -608,8 +638,8 @@ S12:64:0:44:M1452: AXIS:5600:v5.64:AXIS Printer Server 5600 v5.64 +3100:32:1:44:M1460: Windows:CE:2.0:Windows CE 2.0 - #################### # Fancy signatures # #################### @@ -619,11 +649,23 @@ 3072:64:0:40:.: *NMAP:syn scan:3:NMAP syn scan (3) 4096:64:0:40:.: *NMAP:syn scan:4:NMAP syn scan (4) +# Requires quirks support +# 1024:64:0:40:.:A:*NMAP:TCP sweep probe (1) +# 2048:64:0:40:.:A:*NMAP:TCP sweep probe (2) +# 3072:64:0:40:.:A:*NMAP:TCP sweep probe (3) +# 4096:64:0:40:.:A:*NMAP:TCP sweep probe (4) + 1024:64:0:60:W10,N,M265,T: *NMAP:OS:1:NMAP OS detection probe (1) 2048:64:0:60:W10,N,M265,T: *NMAP:OS:2:NMAP OS detection probe (2) 3072:64:0:60:W10,N,M265,T: *NMAP:OS:3:NMAP OS detection probe (3) 4096:64:0:60:W10,N,M265,T: *NMAP:OS:4:NMAP OS detection probe (4) +32767:64:0:40:.: *NAST:::NASTsyn scan + +# Requires quirks support +# 12345:255:0:40:.:A:-p0f:sendsyn utility + + ##################################### # Generic signatures - just in case # ##################################### @@ -633,6 +675,8 @@ *:128:1:52:M*,N,W0,N,N,S: @Windows:XP:RFC1323:Windows XP/2000 (RFC1323 no tstamp) *:128:1:52:M*,N,W0,N,N,S: @Windows:2000:RFC1323:Windows XP/2000 (RFC1323 no tstamp) +*:128:1:52:M*,N,W*,N,N,S: @Windows:XP:RFC1323:Windows XP/2000 (RFC1323 no tstamp) +*:128:1:52:M*,N,W*,N,N,S: @Windows:2000:RFC1323:Windows XP/2000 (RFC1323 no tstamp) *:128:1:64:M*,N,W0,N,N,T0,N,N,S: @Windows:XP:RFC1323:Windows XP/2000 (RFC1323) *:128:1:64:M*,N,W0,N,N,T0,N,N,S: @Windows:2000:RFC1323:Windows XP/2000 (RFC1323) *:128:1:64:M*,N,W*,N,N,T0,N,N,S: @Windows:XP:RFC1323:Windows XP (RFC1323, w+) ==== //depot/projects/ia64/etc/rc.d/auto_linklocal#3 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/auto_linklocal,v 1.2 2006/10/13 12:41:35 ume Exp $ +# $FreeBSD: src/etc/rc.d/auto_linklocal,v 1.3 2006/10/22 17:21:03 hrs Exp $ # # PROVIDE: auto_linklocal @@ -15,7 +15,7 @@ auto_linklocal_start() { - if ! checkyesno ipv6_enable; then + if ! checkyesno ipv6_enable && ${SYSCTL} net.inet6 > /dev/null 2>&1; then ${SYSCTL_W} net.inet6.ip6.auto_linklocal=0 fi } ==== //depot/projects/ia64/etc/rc.d/ppp#5 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/ppp,v 1.11 2005/10/29 05:00:25 yar Exp $ +# $FreeBSD: src/etc/rc.d/ppp,v 1.12 2006/10/26 00:29:43 avatar Exp $ # # PROVIDE: ppp @@ -40,9 +40,10 @@ ppp_postcmd() { - # Re-Sync ipfilter so it picks up any new network interfaces + # Re-Sync ipfilter and pf so they pick up any new network interfaces # /etc/rc.d/ipfilter resync + /etc/rc.d/pf resync } load_rc_config $name ==== //depot/projects/ia64/etc/rc.firewall#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/etc/rc.firewall,v 1.48 2005/11/18 02:23:59 ume Exp $ +# $FreeBSD: src/etc/rc.firewall,v 1.49 2006/10/28 20:08:12 phk Exp $ # # @@ -42,12 +42,14 @@ ############ # Define the firewall type in /etc/rc.conf. Valid values are: -# open - will allow anyone in -# client - will try to protect just this machine -# simple - will try to protect a whole network -# closed - totally disables IP services except via lo0 interface -# UNKNOWN - disables the loading of firewall rules. -# filename - will load the rules in the given filename (full path required) +# open - will allow anyone in +# client - will try to protect just this machine +# simple - will try to protect a whole network +# closed - totally disables IP services except via lo0 interface +# workstation - will try to protect just this machine using statefull +# firewalling. See below for rc.conf variables used +# UNKNOWN - disables the loading of firewall rules. +# filename - will load the rules in the given filename (full path required) # # For ``client'' and ``simple'' the entries below should be customized # appropriately. @@ -107,6 +109,8 @@ # ${fwcmd} -f flush +setup_loopback + ############ # Network Address Translation. All packets are passed to natd(8) # before they encounter your remaining rules. The firewall rules @@ -140,7 +144,6 @@ # case ${firewall_type} in [Oo][Pp][Ee][Nn]) - setup_loopback ${fwcmd} add 65000 pass all from any to any ;; @@ -155,8 +158,6 @@ mask="255.255.255.0" ip="192.0.2.1" - setup_loopback - # Allow any traffic to or from my own net. ${fwcmd} add pass all from ${ip} to ${net}:${mask} ${fwcmd} add pass all from ${net}:${mask} to ${ip} @@ -168,19 +169,19 @@ ${fwcmd} add pass all from any to any frag # Allow setup of incoming email - ${fwcmd} add pass tcp from any to ${ip} 25 setup + ${fwcmd} add pass tcp from any to me 25 setup # Allow setup of outgoing TCP connections only - ${fwcmd} add pass tcp from ${ip} to any setup + ${fwcmd} add pass tcp from me to any setup # Disallow setup of all other TCP connections ${fwcmd} add deny tcp from any to any setup # Allow DNS queries out in the world - ${fwcmd} add pass udp from ${ip} to any 53 keep-state + ${fwcmd} add pass udp from me to any 53 keep-state # Allow NTP queries out in the world - ${fwcmd} add pass udp from ${ip} to any 123 keep-state + ${fwcmd} add pass udp from me to any 123 keep-state # Everything else is denied by default, unless the # IPFIREWALL_DEFAULT_TO_ACCEPT option is set in your kernel @@ -206,8 +207,6 @@ imask="255.255.255.240" iip="192.0.2.17" - setup_loopback - # Stop spoofing ${fwcmd} add deny all from ${inet}:${imask} to any in via ${oif} ${fwcmd} add deny all from ${onet}:${omask} to any in via ${iif} @@ -289,8 +288,100 @@ # config file. ;; +[Ww][Oo][Rr][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]) + # Configuration: + # firewall_myservices: List of TCP ports on which this host + # offers services. + # firewall_allowservices: List of IPs which has access to + # $firewall_myservices. + # firewall_trusted: List of IPs which has full access + # to this host. Be very carefull + # when setting this. This option can + # seriously degrade the level of + # protection provided by the firewall. + # firewall_logdeny: Boolean (YES/NO) specifying if the + # default denied packets should be + # logged (in /var/log/security). + # firewall_nologports: List of TCP/UDP ports for which + # denied incomming packets are not + # logged. + + # Allow packets for which a state has been built. + ${fwcmd} add check-state + + # For services permitted below. + ${fwcmd} add pass tcp from me to any established + + # Allow any connection out, adding state for each. + ${fwcmd} add pass tcp from me to any setup keep-state + ${fwcmd} add pass udp from me to any keep-state + ${fwcmd} add pass icmp from me to any keep-state + + # Allow DHCP. + ${fwcmd} add pass udp from 0.0.0.0 68 to 255.255.255.255 67 out + ${fwcmd} add pass udp from any 67 to me 68 in + ${fwcmd} add pass udp from any 67 to 255.255.255.255 68 in + # Some servers will ping the IP while trying to decide if it's + # still in use. + ${fwcmd} add pass icmp from any to any icmptype 8 + + # Allow "mandatory" ICMP in. + ${fwcmd} add pass icmp from any to any icmptype 3,4,11 + + # Add permits for this workstations published services below + # Only IPs and nets in firewall_allowservices is allowed in. + # If you really wish to let anyone use services on your + # workstation, then set "firewall_allowservices='any'" in /etc/rc.conf + # + # Note: We don't use keep-state as that would allow DoS of + # our statetable. + # You can add 'keep-state' to the lines for slightly + # better performance if you fell that DoS of your + # workstation won't be a problem. + # + for i in ${firewall_allowservices} ; do + for j in ${firewall_myservices} ; do + ${fwcmd} add pass tcp from $i to me $j + done + done + + # Allow all connections from trusted IPs. + # Playing with the content of firewall_trusted could seriously + # degrade the level of protection provided by the firewall. + for i in ${firewall_trusted} ; do + ${fwcmd} add pass ip from $i to me + done + + ${fwcmd} add 65000 count ip from any to any + + # Drop packets to ports where we don't want logging + for i in ${firewall_nologports} ; do + ${fwcmd} add deny { tcp or udp } from any to any $i in + done + + # Broadcasts and muticasts + ${fwcmd} add deny ip from any to 255.255.255.255 + ${fwcmd} add deny ip from any to 224.0.0.0/24 in # XXX + + # Noise from routers + ${fwcmd} add deny udp from any to any 520 in + + # Noise from webbrowsing. + # The statefull filter is a bit agressive, and will cause some + # connection teardowns to be logged. + ${fwcmd} add deny tcp from any 80,443 to any 1024-65535 in + + # Deny and (if wanted) log the rest unconditionally. + log="" + if [ ${firewall_logdeny:-x} = "YES" -o ${firewall_logdeny:-x} = "yes" ] ; then + log="log logamount 500" # The default of 100 is too low. + sysctl net.inet.ip.fw.verbose=1 >/dev/null + fi + ${fwcmd} add deny $log ip from any to any + ;; + [Cc][Ll][Oo][Ss][Ee][Dd]) - setup_loopback + ${fwcmd} add 65000 deny ip from any to any ;; [Uu][Nn][Kk][Nn][Oo][Ww][Nn]) ;; ==== //depot/projects/ia64/games/fortune/datfiles/fortunes#60 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.228 2006/10/20 18:12:25 phk Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.229 2006/10/23 13:25:17 phk Exp $ % ======================================================================= @@ -30223,6 +30223,9 @@ municipality. -- Local ordinance, Euclid Ohio % +It so happens that everything that is stupid is not unconstitutional. + -- Supreme Court Justice Antonio Scalia +% It takes a smart husband to have the last word and not use it. % It takes a special kind of courage to face what we all have to face. ==== //depot/projects/ia64/lib/libc/gmon/Makefile.inc#5 (text+ko) ==== @@ -1,5 +1,5 @@ # from @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 -# $FreeBSD: src/lib/libc/gmon/Makefile.inc,v 1.11 2006/03/13 01:14:56 deischen Exp $ +# $FreeBSD: src/lib/libc/gmon/Makefile.inc,v 1.12 2006/10/28 13:34:35 bde Exp $ # gmon sources .PATH: ${.CURDIR}/gmon @@ -12,12 +12,6 @@ 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/ia64/lib/libc/net/inet.3#8 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)inet.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/net/inet.3,v 1.30 2005/02/13 22:25:12 ru Exp $ +.\" $FreeBSD: src/lib/libc/net/inet.3,v 1.31 2006/10/28 13:05:10 ru Exp $ .\" .Dd June 14, 2004 .Dt INET 3 @@ -299,5 +299,7 @@ .Fn inet_ntoa resides in a static memory area. .Pp -Inet_addr should return a +The +.Fn inet_addr +function should return a .Fa struct in_addr . ==== //depot/projects/ia64/lib/libc/resolv/res_send.c#3 (text) ==== @@ -70,10 +70,10 @@ #if defined(LIBC_SCCS) && !defined(lint) static const char sccsid[] = "@(#)res_send.c 8.1 (Berkeley) 6/4/93"; -static const char rcsid[] = "$Id: res_send.c,v 1.5.2.2.4.7 2005/08/15 02:04:41 marka Exp $"; +static const char rcsid[] = "$Id: res_send.c,v 1.5.2.2.4.8 2006/03/08 04:13:31 marka Exp $"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/resolv/res_send.c,v 1.3 2006/08/04 12:26:07 ume Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/resolv/res_send.c,v 1.4 2006/10/24 14:41:43 ume Exp $"); /* * Send query to name server and wait for reply. @@ -145,7 +145,7 @@ int kq, #endif const u_char *, int, - u_char *, int, int *, int, + u_char *, int, int *, int, int, int *, int *); static void Aerror(const res_state, FILE *, const char *, int, const struct sockaddr *, int); @@ -490,7 +490,7 @@ kq, #endif buf, buflen, ans, anssiz, &terrno, - ns, &v_circuit, &gotsomewhere); + ns, try, &v_circuit, &gotsomewhere); if (n < 0) goto fail; if (n == 0) @@ -812,8 +812,9 @@ #ifdef USE_KQUEUE int kq, #endif - const u_char *buf, int buflen, u_char *ans, int anssiz, - int *terrno, int ns, int *v_circuit, int *gotsomewhere) + const u_char *buf, int buflen, u_char *ans, + int anssiz, int *terrno, int ns, int try, int *v_circuit, + int *gotsomewhere) { const HEADER *hp = (const HEADER *) buf; HEADER *anhp = (HEADER *) ans; @@ -914,7 +915,7 @@ /* * Wait for reply. */ - seconds = (statp->retrans << ns); + seconds = (statp->retrans << try); if (ns > 0) seconds /= statp->nscount; if (seconds <= 0) ==== //depot/projects/ia64/lib/libc/stdio/xprintf.c#4 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Oct 29 21:15:45 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ADA9C16A416; Sun, 29 Oct 2006 21:15:45 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 6DE6A16A415 for ; Sun, 29 Oct 2006 21:15:45 +0000 (UTC) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 44A0D43D45 for ; Sun, 29 Oct 2006 21:15:45 +0000 (GMT) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9TLFjUl026671 for ; Sun, 29 Oct 2006 21:15:45 GMT (envelope-from csjp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9TLFiGr026668 for perforce@freebsd.org; Sun, 29 Oct 2006 21:15:44 GMT (envelope-from csjp@freebsd.org) Date: Sun, 29 Oct 2006 21:15:44 GMT Message-Id: <200610292115.k9TLFiGr026668@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to csjp@freebsd.org using -f From: "Christian S.J. Peron" To: Perforce Change Reviews Cc: Subject: PERFORCE change 108692 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Oct 2006 21:15:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=108692 Change 108692 by csjp@csjp_xor on 2006/10/29 21:14:45 Change the type of ar_arg_sockaddr from struct sockaddr to struct sockaddr_storage. This structure is defined in RFC 2553 and is a more semantically correct structure for holding IP and IP6 sockaddr information. struct sockaddr is not big enough to hold all the required information for IP6, resulting in truncated addresses et al when auditing IP6 sockaddr information. We also need to assume that the sa->sa_len has been validated before the call to audit_arg_sockaddr() is made, otherwise it could result in a buffer overflow. This is being done to accomidate auditing of network related arguments (like connect, bind et al) that will be added soon. Affected files ... .. //depot/projects/trustedbsd/audit3/sys/security/audit/audit_arg.c#22 edit .. //depot/projects/trustedbsd/audit3/sys/security/audit/audit_private.h#35 edit Differences ... ==== //depot/projects/trustedbsd/audit3/sys/security/audit/audit_arg.c#22 (text+ko) ==== @@ -417,8 +417,7 @@ if (ar == NULL) return; - bcopy(sa, &ar->k_ar.ar_arg_sockaddr, - sizeof(ar->k_ar.ar_arg_sockaddr)); + bcopy(sa, &ar->k_ar.ar_arg_sockaddr, sa->sa_len); switch (sa->sa_family) { case AF_INET: ARG_SET_VALID(ar, ARG_SADDRINET); ==== //depot/projects/trustedbsd/audit3/sys/security/audit/audit_private.h#35 (text+ko) ==== @@ -208,7 +208,6 @@ u_int ar_arg_signum; char ar_arg_login[MAXLOGNAME]; int ar_arg_ctlname[CTL_MAXNAME]; - struct sockaddr ar_arg_sockaddr; struct socket_au_info ar_arg_sockinfo; char *ar_arg_upath1; char *ar_arg_upath2; @@ -230,6 +229,7 @@ int ar_arg_envc; int ar_arg_exitstatus; int ar_arg_exitretval; + struct sockaddr_storage ar_arg_sockaddr; }; /* From owner-p4-projects@FreeBSD.ORG Sun Oct 29 21:37:20 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E4FC416A47C; Sun, 29 Oct 2006 21:37:19 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 7DE7116A407 for ; Sun, 29 Oct 2006 21:37:19 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 304CF43D6D for ; Sun, 29 Oct 2006 21:37:19 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9TLbJtx029858 for ; Sun, 29 Oct 2006 21:37:19 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9TLbHcL029855 for perforce@freebsd.org; Sun, 29 Oct 2006 21:37:17 GMT (envelope-from jb@freebsd.org) Date: Sun, 29 Oct 2006 21:37:17 GMT Message-Id: <200610292137.k9TLbHcL029855@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 108698 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Oct 2006 21:37:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=108698 Change 108698 by jb@jb_freebsd8 on 2006/10/29 21:37:14 IFC Affected files ... .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/rc-scripting/article.sgml#3 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#29 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/advanced-networking/chapter.sgml#9 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/book.sgml#6 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/config/chapter.sgml#8 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/eresources/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/firewalls/chapter.sgml#8 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/geom/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/kernelconfig/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/l10n/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/multimedia/chapter.sgml#4 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/network-servers/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/ports/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/preface/preface.sgml#5 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/security/chapter.sgml#9 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/serialcomms/chapter.sgml#7 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/x11/chapter.sgml#9 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/porters-handbook/book.sgml#12 integrate .. //depot/projects/dtrace/src/UPDATING#9 integrate .. //depot/projects/dtrace/src/bin/cp/cp.1#6 integrate .. //depot/projects/dtrace/src/etc/defaults/rc.conf#19 integrate .. //depot/projects/dtrace/src/etc/network.subr#9 integrate .. //depot/projects/dtrace/src/etc/rc.firewall#4 integrate .. //depot/projects/dtrace/src/lib/libc/gmon/Makefile.inc#4 integrate .. //depot/projects/dtrace/src/lib/libc/net/inet.3#4 integrate .. //depot/projects/dtrace/src/lib/libkvm/kvm_proc.c#6 integrate .. //depot/projects/dtrace/src/lib/libtacplus/libtacplus.3#4 integrate .. //depot/projects/dtrace/src/share/man/man4/sis.4#6 integrate .. //depot/projects/dtrace/src/share/man/man9/kobj.9#4 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/prof_machdep.c#4 integrate .. //depot/projects/dtrace/src/sys/amd64/include/asmacros.h#4 integrate .. //depot/projects/dtrace/src/sys/amd64/include/profile.h#4 integrate .. //depot/projects/dtrace/src/sys/amd64/linux32/linux.h#6 integrate .. //depot/projects/dtrace/src/sys/amd64/linux32/linux32_dummy.c#7 integrate .. //depot/projects/dtrace/src/sys/amd64/linux32/linux32_proto.h#11 integrate .. //depot/projects/dtrace/src/sys/amd64/linux32/linux32_syscall.h#11 integrate .. //depot/projects/dtrace/src/sys/amd64/linux32/linux32_sysent.c#11 integrate .. //depot/projects/dtrace/src/sys/amd64/linux32/syscalls.master#11 integrate .. //depot/projects/dtrace/src/sys/boot/common/load_elf.c#5 integrate .. //depot/projects/dtrace/src/sys/boot/i386/boot2/boot2.c#5 integrate .. //depot/projects/dtrace/src/sys/boot/i386/libi386/elf32_freebsd.c#5 integrate .. //depot/projects/dtrace/src/sys/boot/pc98/boot2/boot.c#4 integrate .. //depot/projects/dtrace/src/sys/compat/linprocfs/linprocfs.c#9 integrate .. //depot/projects/dtrace/src/sys/compat/linux/linux_aio.c#2 delete .. //depot/projects/dtrace/src/sys/compat/linux/linux_aio.h#2 delete .. //depot/projects/dtrace/src/sys/compat/linux/linux_emul.c#5 integrate .. //depot/projects/dtrace/src/sys/compat/linux/linux_emul.h#3 integrate .. //depot/projects/dtrace/src/sys/compat/linux/linux_misc.c#11 integrate .. //depot/projects/dtrace/src/sys/compat/linux/linux_misc.h#1 branch .. //depot/projects/dtrace/src/sys/conf/files.amd64#13 integrate .. //depot/projects/dtrace/src/sys/conf/files.i386#17 integrate .. //depot/projects/dtrace/src/sys/conf/files.pc98#11 integrate .. //depot/projects/dtrace/src/sys/dev/dc/if_dc.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/sound/pcm/dsp.c#6 integrate .. //depot/projects/dtrace/src/sys/i386/include/asmacros.h#4 integrate .. //depot/projects/dtrace/src/sys/i386/include/profile.h#4 integrate .. //depot/projects/dtrace/src/sys/i386/isa/prof_machdep.c#4 integrate .. //depot/projects/dtrace/src/sys/i386/linux/linux.h#6 integrate .. //depot/projects/dtrace/src/sys/i386/linux/linux_dummy.c#7 integrate .. //depot/projects/dtrace/src/sys/i386/linux/linux_proto.h#13 integrate .. //depot/projects/dtrace/src/sys/i386/linux/linux_syscall.h#13 integrate .. //depot/projects/dtrace/src/sys/i386/linux/linux_sysent.c#13 integrate .. //depot/projects/dtrace/src/sys/i386/linux/syscalls.master#13 integrate .. //depot/projects/dtrace/src/sys/kern/kern_thread.c#8 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_bio.c#8 integrate .. //depot/projects/dtrace/src/sys/modules/linux/Makefile#7 integrate .. //depot/projects/dtrace/src/sys/modules/powermac_nvram/Makefile#3 integrate .. //depot/projects/dtrace/src/sys/netinet/ip_dummynet.c#4 integrate .. //depot/projects/dtrace/src/sys/pci/if_sis.c#5 integrate .. //depot/projects/dtrace/src/sys/sys/param.h#13 integrate .. //depot/projects/dtrace/src/sys/sys/proc.h#16 integrate .. //depot/projects/dtrace/src/sys/sys/soundcard.h#5 integrate .. //depot/projects/dtrace/src/usr.sbin/fwcontrol/Makefile#4 integrate .. //depot/projects/dtrace/src/usr.sbin/fwcontrol/fwcontrol.8#4 integrate .. //depot/projects/dtrace/src/usr.sbin/fwcontrol/fwcontrol.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/fwcontrol/fwdv.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/fwcontrol/fwmethods.h#1 branch .. //depot/projects/dtrace/src/usr.sbin/fwcontrol/fwmpegts.c#1 branch .. //depot/projects/dtrace/www/en/docs/books.sgml#8 integrate .. //depot/projects/dtrace/www/en/donations/donors.sgml#17 integrate .. //depot/projects/dtrace/www/en/gnome/docs/bugging.sgml#5 integrate .. //depot/projects/dtrace/www/en/gnome/docs/develfaq.sgml#6 integrate .. //depot/projects/dtrace/www/en/gnome/docs/faq2.sgml#8 integrate .. //depot/projects/dtrace/www/en/gnome/docs/faq216.sgml#3 integrate .. //depot/projects/dtrace/www/en/gnome/news.xml#13 integrate .. //depot/projects/dtrace/www/share/sgml/events.xml#4 integrate .. //depot/projects/dtrace/www/share/sgml/press.xml#8 integrate .. //depot/projects/dtrace/www/zh_CN/about.sgml#5 integrate .. //depot/projects/dtrace/www/zh_CN/applications.sgml#4 integrate .. //depot/projects/dtrace/www/zh_CN/developers.sgml#3 integrate .. //depot/projects/dtrace/www/zh_CN/index.xsl#4 integrate .. //depot/projects/dtrace/www/zh_CN/internet.sgml#4 integrate .. //depot/projects/dtrace/www/zh_CN/security/security.sgml#4 integrate .. //depot/projects/dtrace/www/zh_CN/send-pr.sgml#4 integrate .. //depot/projects/dtrace/www/zh_CN/share/sgml/libcommon.xsl#4 integrate .. //depot/projects/dtrace/www/zh_CN/share/sgml/news.xml#4 integrate .. //depot/projects/dtrace/www/zh_CN/share/sgml/press.xml#3 integrate .. //depot/projects/dtrace/www/zh_CN/where.sgml#4 integrate Differences ... ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/rc-scripting/article.sgml#3 (text+ko) ==== @@ -25,7 +25,7 @@ The FreeBSD Project - $FreeBSD: doc/en_US.ISO8859-1/articles/rc-scripting/article.sgml,v 1.6 2006/10/26 17:09:29 yar Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/rc-scripting/article.sgml,v 1.7 2006/10/27 10:30:52 yar Exp $ &tm-attrib.freebsd; @@ -240,13 +240,17 @@ (for the system) or /usr/local/sbin (for ports) and call it from a &man.sh.1; script in the appropriate rc.d directory. + - If you would like to know the details about why + + If you would like to learn the details of why rc.d scripts must be written in the &man.sh.1; language, see how /etc/rc - invokes them, then study the internals of - run_rc_script. - + invokes them by means of run_rc_script, + then study the implementation of + run_rc_script in + /etc/rc.subr. + @@ -284,6 +288,11 @@ set name before it calls &man.rc.subr.8; functions. + Now it is the right time to choose a unique name for + our script once and for all. We will use it in a number + of places while developing the script. For a start, let + us give the same name to the script file, too. + The current style of rc.d scripting is to enclose values assigned to variables @@ -331,6 +340,14 @@ The body of a sophisticated method can be implemented as a function. It is a good idea to make the function name meaningful. + + + It is strongly recommended to add the prefix + ${name} to the names of all functions + defined in our script so they never clash with the + functions from &man.rc.subr.8; or another common include + file. + @@ -463,10 +480,19 @@ This is a trivial example of how &man.rc.conf.5; variables can control an rc.d script. + + The names of all &man.rc.conf.5; variables used + exclusively by our script must + have the same prefix: ${name}. For + example: dummy_mode, + dummy_state_file, and so on. + + While it is possible to use a shorter name internally, - e.g., just msg, prepending a unique - prefix to global names will save us from possible + e.g., just msg, adding the unique prefix + ${name} to all global names introduced by + our script will save us from possible collisions with the &man.rc.subr.8; namespace. As long as an &man.rc.conf.5; variable and its @@ -980,7 +1006,7 @@ #!/bin/sh -# PROVIDE: mumble mumbled +# PROVIDE: mumbled oldmumble # REQUIRE: DAEMON cleanvar frotz # BEFORE: LOGIN # KEYWORD: nojail shutdown @@ -1019,27 +1045,9 @@ several conditions there, e.g., for compatibility reasons. - The best style is to use the same name for the - following entities: - - - - the script's file; - - - - its main PROVIDE: condition; - - - - its ${name}; - - - - the prefix of its &man.rc.conf.5; variables, - as well as of its private variables and functions. - - + In any case, the name of the main, or the only, + PROVIDE: condition should be the + same as ${name}. ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#29 (text+ko) ==== @@ -1,7 +1,7 @@ + + Using <application>Lua</application> + + This section describes the status of the + Lua libraries in the ports tree and its + integration with the ports system. + + + Introduction + + There are many versions of the Lua + libraries and corresponding interpreters, which conflict between + them (install files under the same name). In the ports tree this + problem has been solved by installing each version under a different + name using version number suffixes. + + The obvious disadvantage of this is that each application has to + be modified to found the expected version. But it can be solved by + adding some additional flags to the compiler and linker. + + + + Version selection + + To make your port use a specific version of + Lua there are two variables available + for defining (if only one is defined the other will be set to a + default value): + + + Variables to select <application>Lua</application> + versions + + + + + Variable + + Description + + Default value + + + + + + USE_LUA + + List of versions the port can use + + All available versions + + + + USE_LUA_NOT + + List of versions the port can not use + + None + + + +
+ + The following is a list of available + Lua versions and the corresponding port + in the tree: + + + Available <application>Lua</application> versions + + + + + Version + + Port + + + + + + 4.0 + + lang/lua4 + + + + 5.0 + + lang/lua50 + + + + 5.1 + + lang/lua + + + +
+ + The variables in can be set + to one or more of the following combinations separated by + spaces: + + + <application>Lua</application> version specifications + + + + + Description + + Example + + + + + + Single version + + 4.0 + + + + Ascending range + + 5.0+ + + + + Descending range + + 5.0- + + + + Full range (must be ascending) + + 5.0-5.1 + + + +
+ + There are also some variables to select the preferred versions + from the available ones. They can be set to a list of versions, the + first ones will have higher priority. + + + Variables to select preferred <application>Lua</application> + versions + + + + + Name + + Designed for + + + + + + WANT_LUA_VER + + the port + + + + WITH_LUA_VER + + the user + + + +
+ + + Selecting the <application>Lua</application> version + + The following fragment is from a port which can use + Lua version 5.0 or + 5.1, and uses 5.0 by + default. It can be overriden by the user using + WITH_LUA_VER. + + USE_LUA= 5.0-5.1 +WANT_LUA_VER= 5.0 + +
+ + + Component selection + + There are other applications that, while not being + Lua libraries, are related to them. These + applications can be specified in the LUA_COMPS + variable. The following components are available: + + + Available <application>Lua</application> components + + + + + Name + + Description + + Version restriction + + + + + + lua + + main library + + none + + + + tolua + + Library for accesing C/C++ code + + 4.0-5.0 + + + + ruby + + Ruby bindings + + 4.0-5.0 + + + +
+ + + There are more components but they are modules for the + interpreter, not used by applications (only by other + modules). + + + The dependency type added when you select each component can be + manually specified by adding a suffix separated by a + :, or a default value will be used. The available + dependency types are: + + + Available <application>Lua</application> dependency + types + + + + + Name + + Description + + + + + + build + + Component is required for building, equivalent to + BUILD_DEPENDS + + + + run + + Component is required for running, equivalent to + RUN_DEPENDS + + + + lib + + Component is required for building and running, + equivalent to LIB_DEPENDS + + + +
+ + The default values for the components are detailed in the + following table: + + + Default <application>Lua</application> dependency + types + + + + + Name + + Value + + + + + + lua + + lib for 4.0-5.0 + (shared) and build for + 5.1 (static) + + + + tolua + + build (static) + + + + ruby + + lib (shared) + + + +
+ + + Selecting <application>Lua</application> components + + The following fragment corresponds to a port which uses + Lua version 4.0 and + its Ruby bindings. + + USE_LUA= 4.0 +LUA_COMPS= lua ruby + +
+ + + Detecting installed versions + + To detect an installed version you have to define + WANT_LUA. If you do not set it to a specific + version then the components will have a version suffix. The + HAVE_LUA variable will be filled after + detection. + + + Detecting installed <application>Lua</application> versions + and components + + The following fragment can be used in a port that uses + Lua if it is installed, or an option is + selected. + + WANT_LUA= yes + +.include <bsd.port.pre.mk> + +.if defined(WITH_LUA5) || ${HAVE_LUA:Mlua-5.[01]} != "" +USE_LUA= 5.0-5.1 +CONFIGURE_ARGS+=--enable-lua5 +.endif + + The following fragment can be used in a port that enables + tolua support if it is installed or if + an option is selected, in addition to + Lua, both version + 4.0. + + USE_LUA= 4.0 +LUA_COMPS= lua +WANT_LUA= 4.0 + +.include <bsd.port.pre.mk> + +.if defined(WITH_TOLUA) || ${HAVE_LUA:Mtolua} != "" +LUA_COMPS+= tolua +CONFIGURE_ARGS+=--enable-tolua +.endif + + + + + Defined variables + + The following variables are defined after defining one of the + variables from . + + + Variables defined for ports that use + <application>Lua</application> + + + + + Name + + Description + + + + + + LUA_VER + + The Lua version that is + going to be used (e.g., 5.1) + + + + LUA_VER_SH + The Lua shared library major + version (e.g., 1) + + + + LUA_VER_STR + + The Lua version without the + dots (e.g., 51) + + + + LUA_PREFIX + + The prefix where Lua (and + components) is installed + + + + LUA_SUBDIR + + The directory under ${PREFIX}/bin, + ${PREFIX}/share and + ${PREFIX}/lib where + Lua is installed + + + + LUA_INCDIR + + The directory where Lua and + tolua header files are + installed + + + + LUA_LIBDIR + + The directory where Lua and + tolua libraries are + installed + + + + LUA_MODLIBDIR + + The directory where Lua + module libraries (.so) are + installed + + + + LUA_MODSHAREDIR + + The directory where Lua + modules (.lua) are installed + + + + LUA_PKGNAMEPREFIX + + The package name prefix used by + Lua modules + + + +
+ + + Telling the port where to find + <application>Lua</application> + + The following fragment shows how to tell a port that uses a + configure script where the Lua header + files and libraries are. + + +USE_LUA= 4.0 +GNU_CONFIGURE= yes +CONFIGURE_ENV= CPPFLAGS="-I${LUA_INCDIR}" LDFLAGS="-L${LUA_LIBDIR}" + +
+ + + Processing in <filename>bsd.port.pre.mk</filename> + + If you need to use the variables for running commands right + after including bsd.port.pre.mk you need to + define LUA_PREMK. + + + If you define LUA_PREMK, then the version, + dependencies, components and defined variables will not change if + you modify the Lua port variables + after including + bsd.port.pre.mk. + + + + Using <application>Lua</application> variables in + commands + + The following fragment illustrates the use of + LUA_PREMK by running the + Lua interpreter to obtain the full + version string, assign it to a variable and pass it to the + program. + + USE_LUA= 5.0 +LUA_PREMK= yes + +.include <bsd.port.pre.mk> + +VER_STR!= lua${LUA_VER} -v + +CFLAGS+= -DLUA_VERSION_STRING="${VER_STR}" + + + + The Lua variables can be safely + used in commands when they are inside targets without the need of + LUA_PREMK. + + +
+ Starting and stopping services (rc scripts) ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/advanced-networking/chapter.sgml#9 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD Chinese Documentation Project - Original revision: 1.384 - $FreeBSD: doc/zh_CN.GB2312/books/handbook/advanced-networking/chapter.sgml,v 1.10 2006/09/15 04:28:30 delphij Exp $ + Original revision: 1.387 + $FreeBSD: doc/zh_CN.GB2312/books/handbook/advanced-networking/chapter.sgml,v 1.11 2006/10/27 06:37:47 delphij Exp $ --> @@ -2309,11 +2309,28 @@ Çë²Î¿¼ ÒÔÁ˽â¹ØÓÚ½«ÍøÇÅÅäÖÃΪ·À»ðǽµÄÆäËüÐÅÏ¢¡£ - Èç¹ûÔÊÐí·ÇIP(non-IP)Êý¾Ý°ü (±ÈÈç ARP) ´©¹ýÍøÇÅ£¬ - ±ØÐëÉèÖÃÒ»¸ö·À»ðǽ (firewall) Ñ¡Ïî¡£Õâ¸öÑ¡ÏîÊÇ - IPFIREWALL_DEFAULT_TO_ACCEPT¡£ - ×¢Ò⣺Õâ¸öÑ¡Ïî¸Ä±äÁËĬÈϵĹæÔòʹµÃ·À»ðǽ½ÓÊÜÈκεÄÊý¾Ý°ü¡£ - ÔÚÄúÉèÖÃÕâЩ¹æÔòÇ°£¬ÇëÈ·ÈÏÕâЩ¹æÔò¿ÉÄÜ»á²úÉúʲôºó¹û¡£ + Èç¹ûÐèÒªÔÊÐí·Ç IP Êý¾Ý°ü (ÀýÈç ARP) ´©¹ýÍøÇÅ£¬ + ÓÐÈýÖÖ·½·¨¿É¹©Ñ¡Ôñ¡£ µÚÒ»ÖÖÊÇÔÚÄÚºËÅäÖÃÖмÓÈëÏÂÁÐÑ¡Ï + ²¢ÖØÐÂÁª±à£º + + option IPFIREWALL_DEFAULT_TO_ACCEPT + + µÚ¶þÖÖ·½·¨£¬ ÊÇÔÚ + rc.conf ÎļþÖн«·À»ðǽÀàÐÍÉèÖÃΪ open£º + + firewall_type="open" + + ×¢Ò⣬ ÕâЩѡÏî»áÈ÷À»ðǽ¿´ÆðÀ´Ïñ͸Ã÷µÄÒ»Ñù£» + ĬÈÏÇé¿öÏ£¬ ËùÓаü»òÁ¬½Ó¶¼»á±»ÔÊÐí¡£ + Èç¹ûÑ¡ÔñÕâÑù×öµÄ»°£¬ ¿ÉÄÜ»áÐèÒª¶Ô·À»ðǽ¹æÔò½øÐдó·ùµ÷Õû¡£ + + µÚÈýÖÖ·½·¨ÊÇÓ¦ÓÃÏÂÊö &man.ipfw.8; + ¹æÔò£º + + &prompt.root; ipfw add allow mac-type arp layer2 + + »ò½«Æä¼ÓÈëÔÚÓõķÀ»ðǽ¹æÔò¼¯¡£ Õâ¸ö¹æÔòʵ¼ÊÉÏÊÇÔÊÐí &man.arp.8; °üͨ¹ý£¬ + Òò´Ë×îºÃ°ÑËü·ÅÔÚ¹æÔò¼¯Ç°Ã棬 ÒÔ±ãÄܹ»¾¡ÔçµØÓ¦Óô˹æÔò£¬ ¶ø±ÜÃâÓÉ´Ë´øÀ´µÄÐÔÄÜÓ°Ïì¡£ ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/book.sgml#6 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Documentation Project - Original Revision: 1.166 - $FreeBSD: doc/zh_CN.GB2312/books/handbook/book.sgml,v 1.7 2006/08/14 02:26:09 delphij Exp $ + Original Revision: 1.168 + $FreeBSD: doc/zh_CN.GB2312/books/handbook/book.sgml,v 1.8 2006/10/27 06:37:47 delphij Exp $ --> »¶Ó­Ê¹Óà FreeBSD£¡ ±¾ÊÖ²áÊÊÓÃÓÚ°²×° FreeBSD &rel2.current;-RELEASE ºÍ FreeBSD &rel.current;-RELEASE ÒÔ¼°ËüÃǵÄÈÕ³£Ê¹Óᣠ- Õâ¸öÊÖ²áÄ¿Ç°ÓɺܶàÈË ³ÖÐøµØ ά»¤¡£ÆäÖеÄÄÚÈÝÐèÒª²»¶ÏµÄÌí¼ÓºÍ¸üС£ + Õâ¸öÊÖ²áÄ¿Ç°ÓɺܶàÈË ³ÖÐøµØ ά»¤¡£ ÆäÖеÄÄÚÈÝÐèÒª²»¶ÏµØ¸üС£ Èç¹ûÄúÓÐÐËȤ²Î¼ÓÕâ¸öÏîÄ¿£¬Çë·¢Óʼþµ½ &a.doc;¡£´ËÎĵµ×îеÄÓ¢ÎÄԭʼ°æ±¾¿ÉÒÔ´Ó FreeBSD WebÕ¾µã ÉÏ»ñµÃ (Õâ±¾ÊÖ²áµÄ½ÏÔçÆÚ°æ±¾¿ÉÒÔÔÚ @@ -632,12 +632,11 @@ ÖÐµÄ sshd_enable ÉèÖÃ³É µÄʱºò¹¤×÷¡£²»¹ÜÊÇ·ñÔÚ /etc/rc.conf ÖÐÉèÖÃÁË£¬Òª ¡¢ »òÕß - Ò»¸ö·þÎñ£¬ÃüÁîÇ°¿ÉÒÔ¼ÓÉÏÒ»¸öforceǰ׺¡£ÀýÈçÒª²»¹Ëµ±Ç° + Ò»¸ö·þÎñ£¬ÃüÁîÇ°¿ÉÒÔ¼ÓÉÏÒ»¸öoneǰ׺¡£ÀýÈçÒª²»¹Ëµ±Ç° /etc/rc.conf µÄÉèÖÃÖØÐÂÆô¶¯ - sshd£¬Ö´ÐÐÏÂÃæµÄÃüÁ - + sshd£¬Ö´ÐÐÏÂÃæµÄÃüÁ - &prompt.root; /etc/rc.d/sshd forcerestart + &prompt.root; /etc/rc.d/sshd onerestart ÓÃÑ¡Ïî ¿ÉÒÔ¼òµ¥À´µÄ¼ì²é /etc/rc.conf ÖÐÓÃÊʵ±µÄ rc.d @@ -703,7 +702,10 @@ &unix; ²Ù×÷ϵͳһÑùÒªÓà runlevels À´¿ØÖÆ¡£ ¸ü¶à¹ØÓÚ rc.d ϵͳµÄÐÅÏ¢£¬ ¿ÉÒÔÔÚ - &man.rc.8; ºÍ &man.rc.subr.8; Áª»úÊÖ²áÖÐÕÒµ½¡£ + &man.rc.8; ºÍ &man.rc.subr.8; Áª»úÊÖ²áÖÐÕÒµ½¡£ + Èç¹ûÄúÓÐÒâ׫д×Ô¼ºµÄ rc.d ½Å±¾£¬ + »ò¶ÔÏÖÓеĽű¾½øÐÐһЩ¸Ä½ø£¬ Ò²¿ÉÒԲο¼ + ÕâƪÎÄÕ¡£ ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/eresources/chapter.sgml#5 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Project - Original Revision: 1.178 - $FreeBSD: doc/zh_CN.GB2312/books/handbook/eresources/chapter.sgml,v 1.6 2006/10/08 16:13:05 delphij Exp $ + Original Revision: 1.181 + $FreeBSD: doc/zh_CN.GB2312/books/handbook/eresources/chapter.sgml,v 1.7 2006/10/27 06:37:47 delphij Exp $ --> @@ -241,6 +241,12 @@ + &a.eol.name; + ¹ØÓÚÓë FreeBSD Óйأ¬ µ«ÒѲ»ÔÙΪ FreeBSD Project + Ëùά»¤µÄÈí¼þµÄ»¥ÖúÖ§³Ö¡£ + + + &a.emulation.name; ÔÚ FreeBSD ÉÏÄ£ÄâÆäËüϵͳ£¬ Èç Linux/&ms-dos;/&windows; @@ -450,6 +456,11 @@ + &a.sun4v.name; + ½« FreeBSD ÒÆÖ²µ½»ùÓÚ &ultrasparc; T1 µÄϵͳÉÏ + + + &a.threads.name; Ïß³Ì @@ -881,6 +892,18 @@ + &a.eol.name; + + + ¹ØÓÚÓë FreeBSD Óйأ¬ µ«ÒѲ»ÔÙΪ FreeBSD Project + Ëùά»¤µÄÈí¼þµÄ»¥ÖúÖ§³Ö¡£ + + Õâ¸öÓʼþÁбíÖ÷ÒªÓÃÓÚÄÇЩÓÐÐËȤÌṩ»òʹÓÃÕë¶ÔÒѲ»ÔÙΪ FreeBSD Project + ¹Ù·½ËùÖ§³Ö (ÀýÈ磬 ÒÔ°²È«¸üлò²¹¶¡µÄÐÎʽ) µÄ FreeBSD Ïà¹ØÈí¼þµÄÓû§»ò¹«Ë¾ÌÖÂÛ¡£ + + + + &a.firewire.name; ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/firewalls/chapter.sgml#8 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Project - Original Revision: 1.72 - $FreeBSD: doc/zh_CN.GB2312/books/handbook/firewalls/chapter.sgml,v 1.9 2006/10/08 16:16:16 delphij Exp $ + Original Revision: 1.73 + $FreeBSD: doc/zh_CN.GB2312/books/handbook/firewalls/chapter.sgml,v 1.10 2006/10/27 06:37:47 delphij Exp $ --> @@ -1963,8 +1963,7 @@ <filename>/etc/rc.conf</filename> Options - Èç¹ûûÓн« IPFW ±àÈëÄںˣ¬ ÔòÄúÐèÒªÔÚ - /etc/rc.conf ÖмÓÈëÏÂÁÐÓï¾äÀ´¼ÓÔØËü£º + ÆôÓ÷À»ðǽ£º firewall_enable="YES" ==== //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/geom/chapter.sgml#5 (text+ko) ==== @@ -2,8 +2,8 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Project - Original Revision: 1.24 - $FreeBSD: doc/zh_CN.GB2312/books/handbook/geom/chapter.sgml,v 1.4 2006/07/20 10:59:28 delphij Exp $ + Original Revision: 1.25 + $FreeBSD: doc/zh_CN.GB2312/books/handbook/geom/chapter.sgml,v 1.5 2006/10/27 06:37:47 delphij Exp $ --> >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Oct 29 21:39:22 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CA0DA16A415; Sun, 29 Oct 2006 21:39:22 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 A6DF016A407 for ; Sun, 29 Oct 2006 21:39:22 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6978243D45 for ; Sun, 29 Oct 2006 21:39:22 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9TLdMcC029942 for ; Sun, 29 Oct 2006 21:39:22 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9TLdM95029939 for perforce@freebsd.org; Sun, 29 Oct 2006 21:39:22 GMT (envelope-from jb@freebsd.org) Date: Sun, 29 Oct 2006 21:39:22 GMT Message-Id: <200610292139.k9TLdM95029939@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 108699 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Oct 2006 21:39:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=108699 Change 108699 by jb@jb_freebsd8 on 2006/10/29 21:38:21 IFlibbsdelf Affected files ... .. //depot/projects/dtrace/src/lib/libelf/elf_update.3#3 integrate Differences ... ==== //depot/projects/dtrace/src/lib/libelf/elf_update.3#3 (text+ko) ==== @@ -194,10 +194,6 @@ The argument .Ar elf was not a descriptor for an ELF object. -.It Bq Er ELF_E_ARGUMENT -ELF descriptor -.Ar elf -was not associated with a file. .It Bq Er ELF_E_CLASS The .Va e_ident[EI_CLASS] From owner-p4-projects@FreeBSD.ORG Mon Oct 30 04:56:57 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1CB5716A417; Mon, 30 Oct 2006 04:56:57 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 B366416A403 for ; Mon, 30 Oct 2006 04:56:56 +0000 (UTC) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9796443D91 for ; Mon, 30 Oct 2006 04:56:52 +0000 (GMT) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9U4uqSv021072 for ; Mon, 30 Oct 2006 04:56:52 GMT (envelope-from scottl@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9U4upYp021069 for perforce@freebsd.org; Mon, 30 Oct 2006 04:56:51 GMT (envelope-from scottl@freebsd.org) Date: Mon, 30 Oct 2006 04:56:51 GMT Message-Id: <200610300456.k9U4upYp021069@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to scottl@freebsd.org using -f From: Scott Long To: Perforce Change Reviews Cc: Subject: PERFORCE change 108710 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 04:56:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=108710 Change 108710 by scottl@scottl-x64 on 2006/10/30 04:56:49 Conver the MPT driver to use CAM locking. Some attempt was made to keep the driver portable, mainly with the differences in callout vs timeout, but other things were left until later. The locking structure of the driver was not significantly changed, other than assertions were changed on entry to mpt_action since the lock is already held there, and the mpt<->cam lock switch macros were nulled out since they aren't needed. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt.c#12 edit .. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt.h#13 edit .. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_cam.c#13 edit .. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_pci.c#15 edit .. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_raid.c#8 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt.c#12 (text+ko) ==== @@ -1167,7 +1167,7 @@ } KASSERT(req->state != REQ_STATE_FREE, ("freeing free request")); KASSERT(!(req->state & REQ_STATE_LOCKED), ("freeing locked request")); - KASSERT(MPT_OWNED(mpt), ("mpt_free_request: mpt not locked\n")); + mtx_assert(&mpt->mpt_lock, MA_OWNED); KASSERT(mpt_req_on_free_list(mpt, req) == 0, ("mpt_free_request: req %p:%u func %x already on freelist", req, req->serno, ((MSG_REQUEST_HEADER *)req->req_vbuf)->Function)); @@ -1216,7 +1216,7 @@ request_t *req; retry: - KASSERT(MPT_OWNED(mpt), ("mpt_get_request: mpt not locked\n")); + mtx_assert(&mpt->mpt_lock, MA_OWNED); req = TAILQ_FIRST(&mpt->request_free_list); if (req != NULL) { KASSERT(req == &mpt->request_pool[req->index], ==== //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt.h#13 (text+ko) ==== @@ -234,7 +234,7 @@ bus_dma_tag_create(parent_tag, alignment, boundary, \ lowaddr, highaddr, filter, filterarg, \ maxsize, nsegments, maxsegsz, flags, \ - busdma_lock_mutex, &Giant, \ + busdma_lock_mutex, &(mpt)->mpt_lock, \ dma_tagp) #else #define mpt_dma_tag_create(mpt, parent_tag, alignment, boundary, \ @@ -766,8 +766,7 @@ } #else -#ifdef LOCKING_WORKED_AS_IT_SHOULD -#error "Shouldn't Be Here!" +#if 1 #define MPT_IFLAGS INTR_TYPE_CAM | INTR_ENTROPY | INTR_MPSAFE #define MPT_LOCK_SETUP(mpt) \ mtx_init(&mpt->mpt_lock, "mpt", NULL, MTX_DEF); \ @@ -781,12 +780,16 @@ #define MPT_LOCK(mpt) mtx_lock(&(mpt)->mpt_lock) #define MPT_UNLOCK(mpt) mtx_unlock(&(mpt)->mpt_lock) #define MPT_OWNED(mpt) mtx_owned(&(mpt)->mpt_lock) -#define MPTLOCK_2_CAMLOCK(mpt) \ - mtx_unlock(&(mpt)->mpt_lock); mtx_lock(&Giant) -#define CAMLOCK_2_MPTLOCK(mpt) \ - mtx_unlock(&Giant); mtx_lock(&(mpt)->mpt_lock) +#define MPTLOCK_2_CAMLOCK(mpt) +#define CAMLOCK_2_MPTLOCK(mpt) #define mpt_sleep(mpt, ident, priority, wmesg, timo) \ msleep(ident, &(mpt)->mpt_lock, priority, wmesg, timo) +#define mpt_ccb_timeout(ccb, ticks, func, arg) \ + callout_reset(&(ccb)->ccb_h.callout, (ticks), (func), (arg)); +#define mpt_ccb_untimeout(ccb, func, arg) \ + callout_stop(&(ccb)->ccb_h.callout) +#define mpt_ccb_timeout_init(ccb) \ + callout_init(&(ccb)->ccb_h.callout, 1) #else @@ -821,6 +824,15 @@ static __inline int mpt_sleep(struct mpt_softc *, void *, int, const char *, int); +#define mpt_ccb_timeout(ccb, ticks, func, arg) \ + do { \ + (ccb)->ccb_h.timeout_ch = timeout((func), (arg), (ticks)); \ + } while (0) +#define mpt_ccb_untimeout(ccb, func, arg) \ + untimeout((func), (arg), (ccb)->ccb_h.timeout_ch) +#define mpt_ccb_timeout_init(ccb) \ + callout_handle_init(&(ccb)->ccb_h.timeout_ch) + static __inline int mpt_sleep(struct mpt_softc *mpt, void *i, int p, const char *w, int t) { ==== //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_cam.c#13 (text+ko) ==== @@ -304,7 +304,7 @@ * Construct our SIM entry. */ mpt->sim = cam_sim_alloc(mpt_action, mpt_poll, "mpt", mpt, - mpt->unit, &Giant, M_NOWAIT, 1, maxq, devq); + mpt->unit, &mpt->mpt_lock, M_NOWAIT, 1, maxq, devq); if (mpt->sim == NULL) { mpt_prt(mpt, "Unable to allocate CAM SIM!\n"); cam_simq_free(devq); @@ -341,7 +341,7 @@ * Create a "bus" to export all hidden disks to CAM. */ mpt->phydisk_sim = cam_sim_alloc(mpt_action, mpt_poll, "mpt", mpt, - mpt->unit, &Giant, M_NOWAIT, 1, maxq, devq); + mpt->unit, &mpt->mpt_lock, M_NOWAIT, 1, maxq, devq); if (mpt->phydisk_sim == NULL) { mpt_prt(mpt, "Unable to allocate Physical Disk CAM SIM!\n"); error = ENOMEM; @@ -1295,11 +1295,10 @@ ccb->ccb_h.status |= CAM_SIM_QUEUED; if (ccb->ccb_h.timeout != CAM_TIME_INFINITY) { - ccb->ccb_h.timeout_ch = - timeout(mpt_timeout, (caddr_t)ccb, - (ccb->ccb_h.timeout * hz) / 1000); + mpt_ccb_timeout(ccb, (ccb->ccb_h.timeout * hz) / 1000, + mpt_timeout, ccb); } else { - callout_handle_init(&ccb->ccb_h.timeout_ch); + mpt_ccb_timeout_init(ccb); } if (mpt->verbose > MPT_PRT_DEBUG) { int nc = 0; @@ -1694,11 +1693,10 @@ ccb->ccb_h.status |= CAM_SIM_QUEUED; if (ccb->ccb_h.timeout != CAM_TIME_INFINITY) { - ccb->ccb_h.timeout_ch = - timeout(mpt_timeout, (caddr_t)ccb, - (ccb->ccb_h.timeout * hz) / 1000); + mpt_ccb_timeout(ccb, (ccb->ccb_h.timeout * hz) / 1000, + mpt_timeout, ccb); } else { - callout_handle_init(&ccb->ccb_h.timeout_ch); + mpt_ccb_timeout_init(ccb); } if (mpt->verbose > MPT_PRT_DEBUG) { int nc = 0; @@ -2236,7 +2234,7 @@ } tgt = scsi_req->TargetID; - untimeout(mpt_timeout, ccb, ccb->ccb_h.timeout_ch); + mpt_ccb_untimeout(ccb, mpt_timeout, ccb); ccb->ccb_h.status &= ~CAM_SIM_QUEUED; if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE) { @@ -2857,7 +2855,6 @@ CAM_DEBUG(ccb->ccb_h.path, CAM_DEBUG_TRACE, ("mpt_action\n")); mpt = (struct mpt_softc *)cam_sim_softc(sim); - KASSERT(MPT_OWNED(mpt) == 0, ("mpt owned on entrance to mpt_action")); raid_passthru = (sim == mpt->phydisk_sim); tgt = ccb->ccb_h.target_id; @@ -3534,9 +3531,6 @@ { struct mpt_softc *mpt; -#if __FreeBSD_version >= 500000 - mtx_lock(&Giant); -#endif mpt = (struct mpt_softc *)arg; MPT_LOCK(mpt); for (;;) { @@ -3553,9 +3547,6 @@ mpt->recovery_thread = NULL; wakeup(&mpt->recovery_thread); MPT_UNLOCK(mpt); -#if __FreeBSD_version >= 500000 - mtx_unlock(&Giant); -#endif kthread_exit(0); } @@ -4485,7 +4476,7 @@ req->serno, tgt->resid); if (ccb) { ccb->ccb_h.status = CAM_SIM_QUEUED | CAM_REQ_INPROG; - ccb->ccb_h.timeout_ch = timeout(mpt_timeout, ccb, 60 * hz); + mpt_ccb_timeout(ccb, 60 * hz, mpt_timeout, ccb); } mpt_send_cmd(mpt, req); } @@ -4884,7 +4875,7 @@ } tgt->ccb = NULL; tgt->nxfers++; - untimeout(mpt_timeout, ccb, ccb->ccb_h.timeout_ch); + mpt_ccb_untimeout(ccb, mpt_timeout, ccb); mpt_lprt(mpt, MPT_PRT_DEBUG, "TARGET_ASSIST %p (req %p:%u) done tag 0x%x\n", ccb, tgt->req, tgt->req->serno, ccb->csio.tag_id); @@ -4949,8 +4940,7 @@ TGT_STATE_MOVING_DATA_AND_STATUS) { tgt->nxfers++; } - untimeout(mpt_timeout, ccb, - ccb->ccb_h.timeout_ch); + mpt_ccb_untimeout(ccb, mpt_timeout, ccb); if (ccb->ccb_h.flags & CAM_SEND_SENSE) { ccb->ccb_h.status |= CAM_SENT_SENSE; } ==== //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_pci.c#15 (text+ko) ==== @@ -580,7 +580,6 @@ MPT_UNLOCK(mpt); goto bad; } - KASSERT(MPT_OWNED(mpt) == 0, ("leaving attach with device locked")); return (0); bad: ==== //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_raid.c#8 (text+ko) ==== @@ -658,9 +658,6 @@ struct mpt_softc *mpt; int firstrun; -#if __FreeBSD_version >= 500000 - mtx_lock(&Giant); -#endif mpt = (struct mpt_softc *)arg; firstrun = 1; MPT_LOCK(mpt); @@ -717,9 +714,6 @@ mpt->raid_thread = NULL; wakeup(&mpt->raid_thread); MPT_UNLOCK(mpt); -#if __FreeBSD_version >= 500000 - mtx_unlock(&Giant); -#endif kthread_exit(0); } @@ -756,8 +750,7 @@ if (rv != 0) return (CAM_REQ_CMP_ERR); - ccb->ccb_h.timeout_ch = - timeout(mpt_raid_quiesce_timeout, (caddr_t)ccb, 5 * hz); + mpt_ccb_timeout(ccb, mpt_raid_quiesce_timeout, ccb, 5 * hz); #if 0 if (rv == ETIMEDOUT) { mpt_disk_prt(mpt, mpt_disk, "mpt_raid_quiesce_disk: " From owner-p4-projects@FreeBSD.ORG Mon Oct 30 05:05:03 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 71B0216A415; Mon, 30 Oct 2006 05:05:03 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 4A82616A403 for ; Mon, 30 Oct 2006 05:05:03 +0000 (UTC) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1E6B543D49 for ; Mon, 30 Oct 2006 05:05:03 +0000 (GMT) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9U5538Y023716 for ; Mon, 30 Oct 2006 05:05:03 GMT (envelope-from scottl@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9U5524B023713 for perforce@freebsd.org; Mon, 30 Oct 2006 05:05:02 GMT (envelope-from scottl@freebsd.org) Date: Mon, 30 Oct 2006 05:05:02 GMT Message-Id: <200610300505.k9U5524B023713@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to scottl@freebsd.org using -f From: Scott Long To: Perforce Change Reviews Cc: Subject: PERFORCE change 108711 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 05:05:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=108711 Change 108711 by scottl@scottl-x64 on 2006/10/30 05:04:42 Use msleep instead of tsleep Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/cam_periph.c#13 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/cam_periph.c#13 (text+ko) ==== @@ -770,7 +770,7 @@ if ((SLIST_FIRST(&periph->ccb_list) != NULL) && (SLIST_FIRST(&periph->ccb_list)->pinfo.priority == priority)) break; - tsleep(&periph->ccb_list, PRIBIO, "cgticb", 0); + msleep(&periph->ccb_list, periph->sim->mtx, PRIBIO, "cgticb", 0); } ccb_h = SLIST_FIRST(&periph->ccb_list); @@ -782,12 +782,14 @@ void cam_periph_ccbwait(union ccb *ccb) { + struct cam_sim *sim; int s; s = splsoftcam(); + sim = xpt_path_sim(ccb->ccb_h.path); if ((ccb->ccb_h.pinfo.index != CAM_UNQUEUED_INDEX) || ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_INPROG)) - tsleep(&ccb->ccb_h.cbfcnp, PRIBIO, "cbwait", 0); + msleep(&ccb->ccb_h.cbfcnp, sim->mtx, PRIBIO, "cbwait", 0); splx(s); } From owner-p4-projects@FreeBSD.ORG Mon Oct 30 05:11:11 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C933116A416; Mon, 30 Oct 2006 05:11:11 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 9B6DF16A407 for ; Mon, 30 Oct 2006 05:11:11 +0000 (UTC) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 74B6C43D45 for ; Mon, 30 Oct 2006 05:11:11 +0000 (GMT) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9U5BBRm024044 for ; Mon, 30 Oct 2006 05:11:11 GMT (envelope-from scottl@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9U5BANJ024035 for perforce@freebsd.org; Mon, 30 Oct 2006 05:11:10 GMT (envelope-from scottl@freebsd.org) Date: Mon, 30 Oct 2006 05:11:10 GMT Message-Id: <200610300511.k9U5BANJ024035@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to scottl@freebsd.org using -f From: Scott Long To: Perforce Change Reviews Cc: Subject: PERFORCE change 108712 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 05:11:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=108712 Change 108712 by scottl@scottl-x64 on 2006/10/30 05:10:43 Remove the last of the GIANT_REQUIRED tags and shuffle some assertions so that a locked SIM will boot and do simple I/O. There are some ugly hacks here that will need to be re-thought. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/cam_xpt.c#43 edit .. //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_da.c#15 edit .. //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_pass.c#13 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/cam_xpt.c#43 (text+ko) ==== @@ -1500,7 +1500,7 @@ int32_t status; struct periph_list *periph_head; - GIANT_REQUIRED; + mtx_assert(periph->sim->mtx, MA_OWNED); device = periph->path->device; @@ -1537,7 +1537,7 @@ { struct cam_ed *device; - GIANT_REQUIRED; + mtx_assert(periph->sim->mtx, MA_OWNED); device = periph->path->device; @@ -1575,7 +1575,7 @@ u_int mb; int s; - GIANT_REQUIRED; + mtx_assert(periph->sim->mtx, MA_OWNED); path = periph->path; /* @@ -1706,7 +1706,7 @@ struct cam_path *path; struct ccb_trans_settings cts; - GIANT_REQUIRED; + mtx_assert(periph->sim->mtx, MA_OWNED); path = periph->path; /* @@ -3011,8 +3011,6 @@ { int iopl; - GIANT_REQUIRED; - CAM_DEBUG(start_ccb->ccb_h.path, CAM_DEBUG_TRACE, ("xpt_action\n")); start_ccb->ccb_h.status = CAM_REQ_INPROG; @@ -3653,13 +3651,13 @@ struct cam_devq *devq; struct cam_ed *dev; - GIANT_REQUIRED; timeout = start_ccb->ccb_h.timeout; sim = start_ccb->ccb_h.path->bus->sim; devq = sim->devq; dev = start_ccb->ccb_h.path->device; + mtx_assert(sim->mtx, MA_OWNED); s = splcam(); /* @@ -3716,7 +3714,7 @@ int s; int runq; - GIANT_REQUIRED; + mtx_assert(perph->sim->mtx, MA_OWNED); CAM_DEBUG(perph->path, CAM_DEBUG_TRACE, ("xpt_schedule\n")); device = perph->path->device; @@ -4042,7 +4040,9 @@ void xpt_setup_ccb(struct ccb_hdr *ccb_h, struct cam_path *path, u_int32_t priority) { +#if 0 mtx_assert(path->bus->sim->mtx, MA_OWNED); +#endif CAM_DEBUG(path, CAM_DEBUG_TRACE, ("xpt_setup_ccb\n")); ccb_h->pinfo.priority = priority; @@ -4070,7 +4070,10 @@ struct cam_path *path; cam_status status; - GIANT_REQUIRED; +#if 0 + if (perph != NULL) + mtx_assert(perph->sim->mtx, MA_OWNED); +#endif path = (struct cam_path *)malloc(sizeof(*path), M_CAMXPT, M_NOWAIT); @@ -4182,7 +4185,9 @@ void xpt_free_path(struct cam_path *path) { +#if 0 mtx_assert(path->bus->sim->mtx, MA_OWNED); +#endif CAM_DEBUG(path, CAM_DEBUG_TRACE, ("xpt_free_path\n")); xpt_release_path(path); @@ -4334,7 +4339,9 @@ struct cam_sim * xpt_path_sim(struct cam_path *path) { +#if 0 mtx_assert(path->bus->sim->mtx, MA_OWNED); +#endif return (path->bus->sim); } @@ -4478,7 +4485,6 @@ union ccb *work_ccb; cam_status status; - GIANT_REQUIRED; status = xpt_compile_path(&bus_path, NULL, pathid, CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD); @@ -4619,7 +4625,7 @@ struct cam_ed *device, *next_device; int s; - GIANT_REQUIRED; + mtx_assert(path->bus->sim->mtx, MA_OWNED); CAM_DEBUG(path, CAM_DEBUG_TRACE, ("xpt_async\n")); ==== //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_da.c#15 (text+ko) ==== @@ -956,6 +956,7 @@ case AC_FOUND_DEVICE: { struct ccb_getdev *cgd; + struct cam_sim *sim; cam_status status; cgd = (struct ccb_getdev *)arg; @@ -972,11 +973,14 @@ * this device and start the probe * process. */ + sim = xpt_path_sim(cgd->ccb_h.path); + mtx_lock(sim->mtx); status = cam_periph_alloc(daregister, daoninvalidate, dacleanup, dastart, "da", CAM_PERIPH_BIO, cgd->ccb_h.path, daasync, AC_FOUND_DEVICE, cgd); + mtx_unlock(sim->mtx); if (status != CAM_REQ_CMP && status != CAM_REQ_INPROG) ==== //depot/projects/scottl-camlock/src/sys/cam/scsi/scsi_pass.c#13 (text+ko) ==== @@ -204,6 +204,7 @@ struct cam_path *path, void *arg) { struct cam_periph *periph; + struct cam_sim *sim; periph = (struct cam_periph *)callback_arg; @@ -222,10 +223,13 @@ * this device and start the probe * process. */ + sim = xpt_path_sim(cgd->ccb_h.path); + mtx_lock(sim->mtx); status = cam_periph_alloc(passregister, passoninvalidate, passcleanup, passstart, "pass", CAM_PERIPH_BIO, cgd->ccb_h.path, passasync, AC_FOUND_DEVICE, cgd); + mtx_unlock(sim->mtx); if (status != CAM_REQ_CMP && status != CAM_REQ_INPROG) { From owner-p4-projects@FreeBSD.ORG Mon Oct 30 09:01:34 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CC68816A505; Mon, 30 Oct 2006 09:01:34 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 6A47B16A508 for ; Mon, 30 Oct 2006 09:01:34 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 90C5B43D78 for ; Mon, 30 Oct 2006 09:01:33 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9U91XYg075292 for ; Mon, 30 Oct 2006 09:01:33 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9U91Csh075175 for perforce@freebsd.org; Mon, 30 Oct 2006 09:01:12 GMT (envelope-from piso@freebsd.org) Date: Mon, 30 Oct 2006 09:01:12 GMT Message-Id: <200610300901.k9U91Csh075175@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 108716 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 09:01:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=108716 Change 108716 by piso@piso_newluxor on 2006/10/30 09:00:52 IFC@108715 Affected files ... .. //depot/projects/soc2005/libalias/Makefile#8 integrate .. //depot/projects/soc2005/libalias/Makefile.inc1#8 integrate .. //depot/projects/soc2005/libalias/ObsoleteFiles.inc#9 integrate .. //depot/projects/soc2005/libalias/UPDATING#10 integrate .. //depot/projects/soc2005/libalias/bin/cp/cp.1#4 integrate .. //depot/projects/soc2005/libalias/bin/ls/print.c#2 integrate .. //depot/projects/soc2005/libalias/bin/rm/rm.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gcc/function.c#2 integrate .. //depot/projects/soc2005/libalias/etc/defaults/rc.conf#10 integrate .. //depot/projects/soc2005/libalias/etc/network.subr#6 integrate .. //depot/projects/soc2005/libalias/etc/pf.os#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/amd#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/auto_linklocal#3 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/cleartmp#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/ppp#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.firewall#2 integrate .. //depot/projects/soc2005/libalias/games/fortune/datfiles/fortunes#7 integrate .. //depot/projects/soc2005/libalias/gnu/usr.bin/gdb/Makefile#4 integrate .. //depot/projects/soc2005/libalias/gnu/usr.bin/gdb/kgdb/kgdb.1#3 integrate .. //depot/projects/soc2005/libalias/gnu/usr.bin/gdb/kgdb/kthr.c#3 integrate .. //depot/projects/soc2005/libalias/gnu/usr.bin/gdb/kgdb/trgt.c#2 integrate .. //depot/projects/soc2005/libalias/gnu/usr.bin/gdb/kgdb/trgt_arm.c#3 integrate .. //depot/projects/soc2005/libalias/gnu/usr.bin/gdb/kgdb/trgt_powerpc.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libc/gmon/Makefile.inc#2 integrate .. //depot/projects/soc2005/libalias/lib/libc/net/inet.3#2 integrate .. //depot/projects/soc2005/libalias/lib/libc/resolv/res_send.c#3 integrate .. //depot/projects/soc2005/libalias/lib/libc/stdio/freopen.c#3 integrate .. //depot/projects/soc2005/libalias/lib/libc/stdio/xprintf.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libc/sys/read.2#3 integrate .. //depot/projects/soc2005/libalias/lib/libc/sys/write.2#2 integrate .. //depot/projects/soc2005/libalias/lib/libkvm/kvm_proc.c#3 integrate .. //depot/projects/soc2005/libalias/lib/libnetgraph/msg.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libnetgraph/sock.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libtacplus/libtacplus.3#2 integrate .. //depot/projects/soc2005/libalias/lib/libthread_db/thread_db.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libvgl/vgl.3#2 integrate .. //depot/projects/soc2005/libalias/release/Makefile#4 integrate .. //depot/projects/soc2005/libalias/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#13 integrate .. //depot/projects/soc2005/libalias/release/scripts/package-split.py#3 integrate .. //depot/projects/soc2005/libalias/sbin/adjkerntz/adjkerntz.c#2 integrate .. //depot/projects/soc2005/libalias/sbin/bsdlabel/bsdlabel.c#2 integrate .. //depot/projects/soc2005/libalias/sbin/devd/devd.conf.5#3 integrate .. //depot/projects/soc2005/libalias/sbin/mdmfs/mdmfs.8#4 integrate .. //depot/projects/soc2005/libalias/sbin/mount/mount.c#3 integrate .. //depot/projects/soc2005/libalias/share/examples/etc/README.examples#2 integrate .. //depot/projects/soc2005/libalias/share/man/man3/pthread_schedparam.3#3 integrate .. //depot/projects/soc2005/libalias/share/man/man4/gre.4#2 integrate .. //depot/projects/soc2005/libalias/share/man/man4/if_bridge.4#6 integrate .. //depot/projects/soc2005/libalias/share/man/man4/ipfirewall.4#3 integrate .. //depot/projects/soc2005/libalias/share/man/man4/ng_pppoe.4#4 integrate .. //depot/projects/soc2005/libalias/share/man/man4/ng_source.4#2 integrate .. //depot/projects/soc2005/libalias/share/man/man4/sis.4#3 integrate .. //depot/projects/soc2005/libalias/share/man/man4/syscons.4#3 integrate .. //depot/projects/soc2005/libalias/share/man/man5/rc.conf.5#8 integrate .. //depot/projects/soc2005/libalias/share/man/man7/ports.7#4 integrate .. //depot/projects/soc2005/libalias/share/man/man8/intro.8#2 integrate .. //depot/projects/soc2005/libalias/share/man/man9/hash.9#3 integrate .. //depot/projects/soc2005/libalias/share/man/man9/kobj.9#2 integrate .. //depot/projects/soc2005/libalias/share/man/man9/ktr.9#4 integrate .. //depot/projects/soc2005/libalias/share/man/man9/zone.9#3 integrate .. //depot/projects/soc2005/libalias/share/misc/iso3166#2 integrate .. //depot/projects/soc2005/libalias/share/misc/usb_hid_usages#2 integrate .. //depot/projects/soc2005/libalias/share/mk/bsd.cpu.mk#5 integrate .. //depot/projects/soc2005/libalias/share/mk/bsd.lib.mk#4 integrate .. //depot/projects/soc2005/libalias/sys/amd64/amd64/db_trace.c#3 integrate .. //depot/projects/soc2005/libalias/sys/amd64/amd64/intr_machdep.c#5 integrate .. //depot/projects/soc2005/libalias/sys/amd64/amd64/machdep.c#6 integrate .. //depot/projects/soc2005/libalias/sys/amd64/amd64/pmap.c#4 integrate .. //depot/projects/soc2005/libalias/sys/amd64/amd64/prof_machdep.c#2 integrate .. //depot/projects/soc2005/libalias/sys/amd64/amd64/support.S#5 integrate .. //depot/projects/soc2005/libalias/sys/amd64/amd64/trap.c#4 integrate .. //depot/projects/soc2005/libalias/sys/amd64/conf/DEFAULTS#2 integrate .. //depot/projects/soc2005/libalias/sys/amd64/conf/GENERIC#5 integrate .. //depot/projects/soc2005/libalias/sys/amd64/conf/GENERIC.hints#2 integrate .. //depot/projects/soc2005/libalias/sys/amd64/conf/NOTES#5 integrate .. //depot/projects/soc2005/libalias/sys/amd64/include/asmacros.h#2 integrate .. //depot/projects/soc2005/libalias/sys/amd64/include/profile.h#2 integrate .. //depot/projects/soc2005/libalias/sys/amd64/linux32/linux.h#5 integrate .. //depot/projects/soc2005/libalias/sys/amd64/linux32/linux32_dummy.c#4 integrate .. //depot/projects/soc2005/libalias/sys/amd64/linux32/linux32_proto.h#7 integrate .. //depot/projects/soc2005/libalias/sys/amd64/linux32/linux32_syscall.h#7 integrate .. //depot/projects/soc2005/libalias/sys/amd64/linux32/linux32_sysent.c#7 integrate .. //depot/projects/soc2005/libalias/sys/amd64/linux32/syscalls.master#7 integrate .. //depot/projects/soc2005/libalias/sys/arm/arm/cpufunc.c#3 integrate .. //depot/projects/soc2005/libalias/sys/arm/arm/elf_trampoline.c#4 integrate .. //depot/projects/soc2005/libalias/sys/arm/arm/fusu.S#3 integrate .. //depot/projects/soc2005/libalias/sys/arm/arm/nexus.c#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/arm/nexus_io.c#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/arm/trap.c#3 integrate .. //depot/projects/soc2005/libalias/sys/arm/arm/undefined.c#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/arm/vm_machdep.c#4 integrate .. //depot/projects/soc2005/libalias/sys/arm/at91/at91_mci.c#1 branch .. //depot/projects/soc2005/libalias/sys/arm/at91/at91_mcireg.h#1 branch .. //depot/projects/soc2005/libalias/sys/arm/at91/at91_spi.c#3 integrate .. //depot/projects/soc2005/libalias/sys/arm/at91/at91_ssc.c#3 integrate .. //depot/projects/soc2005/libalias/sys/arm/at91/at91_sscreg.h#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/at91/at91_twi.c#4 integrate .. //depot/projects/soc2005/libalias/sys/arm/at91/if_ate.c#4 integrate .. //depot/projects/soc2005/libalias/sys/arm/at91/kb920x_machdep.c#5 integrate .. //depot/projects/soc2005/libalias/sys/arm/at91/std.at91#3 integrate .. //depot/projects/soc2005/libalias/sys/arm/at91/std.kb920x#3 integrate .. //depot/projects/soc2005/libalias/sys/arm/conf/EP80219#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/conf/IQ31244#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/conf/KB920X#3 integrate .. //depot/projects/soc2005/libalias/sys/arm/conf/SIMICS#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/conf/SKYEYE#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/sa11x0/assabet_machdep.c#3 integrate .. //depot/projects/soc2005/libalias/sys/arm/sa11x0/sa11x0.c#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/sa11x0/sa11x0_io.c#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/sa11x0/sa11x0_irqhandler.c#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/sa11x0/sa11x0_ost.c#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/xscale/i80321/ep80219_machdep.c#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/xscale/i80321/iq31244_machdep.c#4 integrate .. //depot/projects/soc2005/libalias/sys/boot/arm/Makefile#3 integrate .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/Makefile.inc#3 integrate .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/boot0spi/main.c#3 integrate .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/boot2/Makefile#1 branch .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/boot2/boot2.c#1 branch .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/boot2/kb920x_board.c#1 branch .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/bootiic/env_vars.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/bootiic/loader_prompt.c#3 integrate .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/bootspi/Makefile#3 integrate .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/bootspi/arm_init.S#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/bootspi/ee.c#1 branch .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/bootspi/ee.h#1 branch .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/bootspi/env_vars.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/bootspi/loader_prompt.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/bootspi/main.c#3 integrate .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/libat91/Makefile#4 integrate .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/libat91/at91rm9200.h#3 integrate .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/libat91/emac.c#4 integrate .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/libat91/emac.h#4 integrate .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/libat91/emac_init.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/libat91/lib.h#3 integrate .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/libat91/lib_AT91RM9200.h#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/libat91/mci_device.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/libat91/mci_device.h#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/libat91/memcmp.c#1 branch .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/libat91/memcpy.c#1 branch .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/libat91/memset.c#1 branch .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/libat91/p_string.c#3 integrate .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/libat91/printf.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/libat91/putchar.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/libat91/sd-card.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/libat91/spi_flash.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/libat91/strcmp.c#1 branch .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/libat91/strcpy.c#1 branch .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/libat91/strcvt.c#1 branch .. //depot/projects/soc2005/libalias/sys/boot/arm/at91/libat91/strlen.c#1 branch .. //depot/projects/soc2005/libalias/sys/boot/common/load_elf.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/i386/boot2/boot2.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/i386/libi386/elf32_freebsd.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/i386/libi386/elf64_freebsd.c#3 integrate .. //depot/projects/soc2005/libalias/sys/boot/pc98/boot2/boot.c#2 integrate .. //depot/projects/soc2005/libalias/sys/compat/freebsd32/freebsd32_proto.h#11 integrate .. //depot/projects/soc2005/libalias/sys/compat/freebsd32/freebsd32_syscall.h#11 integrate .. //depot/projects/soc2005/libalias/sys/compat/freebsd32/freebsd32_syscalls.c#11 integrate .. //depot/projects/soc2005/libalias/sys/compat/freebsd32/freebsd32_sysent.c#11 integrate .. //depot/projects/soc2005/libalias/sys/compat/freebsd32/syscalls.master#11 integrate .. //depot/projects/soc2005/libalias/sys/compat/linprocfs/linprocfs.c#5 integrate .. //depot/projects/soc2005/libalias/sys/compat/linux/linux_aio.c#2 delete .. //depot/projects/soc2005/libalias/sys/compat/linux/linux_aio.h#2 delete .. //depot/projects/soc2005/libalias/sys/compat/linux/linux_emul.c#6 integrate .. //depot/projects/soc2005/libalias/sys/compat/linux/linux_emul.h#3 integrate .. //depot/projects/soc2005/libalias/sys/compat/linux/linux_file.c#5 integrate .. //depot/projects/soc2005/libalias/sys/compat/linux/linux_getcwd.c#2 integrate .. //depot/projects/soc2005/libalias/sys/compat/linux/linux_misc.c#8 integrate .. //depot/projects/soc2005/libalias/sys/compat/linux/linux_misc.h#1 branch .. //depot/projects/soc2005/libalias/sys/compat/linux/linux_stats.c#3 integrate .. //depot/projects/soc2005/libalias/sys/compat/svr4/svr4_fcntl.c#2 integrate .. //depot/projects/soc2005/libalias/sys/compat/svr4/svr4_misc.c#3 integrate .. //depot/projects/soc2005/libalias/sys/conf/NOTES#11 integrate .. //depot/projects/soc2005/libalias/sys/conf/files#15 integrate .. //depot/projects/soc2005/libalias/sys/conf/files.amd64#8 integrate .. //depot/projects/soc2005/libalias/sys/conf/files.i386#7 integrate .. //depot/projects/soc2005/libalias/sys/conf/files.ia64#3 integrate .. //depot/projects/soc2005/libalias/sys/conf/files.pc98#5 integrate .. //depot/projects/soc2005/libalias/sys/conf/files.powerpc#5 integrate .. //depot/projects/soc2005/libalias/sys/conf/files.sparc64#2 integrate .. //depot/projects/soc2005/libalias/sys/conf/kern.post.mk#4 integrate .. //depot/projects/soc2005/libalias/sys/conf/kern.pre.mk#5 integrate .. //depot/projects/soc2005/libalias/sys/conf/kmod.mk#5 integrate .. //depot/projects/soc2005/libalias/sys/contrib/pf/net/pf.c#3 integrate .. //depot/projects/soc2005/libalias/sys/crypto/sha2/sha2.c#3 integrate .. //depot/projects/soc2005/libalias/sys/ddb/db_ps.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/acpi_support/acpi_aiboost.c#1 branch .. //depot/projects/soc2005/libalias/sys/dev/atkbdc/atkbd.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/awi/if_awi_pccard.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/bce/if_bce.c#7 integrate .. //depot/projects/soc2005/libalias/sys/dev/bce/if_bcereg.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/bge/if_bge.c#11 integrate .. //depot/projects/soc2005/libalias/sys/dev/dc/if_dc.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/if_em.c#12 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/if_em.h#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/if_em_hw.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/if_em_hw.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/if_em_osdep.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/iwi/if_iwi.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/iwi/if_iwireg.h#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/mmc/bridge.h#1 branch .. //depot/projects/soc2005/libalias/sys/dev/mmc/mmc.c#1 branch .. //depot/projects/soc2005/libalias/sys/dev/mmc/mmcbr_if.m#1 branch .. //depot/projects/soc2005/libalias/sys/dev/mmc/mmcbrvar.h#1 branch .. //depot/projects/soc2005/libalias/sys/dev/mmc/mmcbus_if.m#1 branch .. //depot/projects/soc2005/libalias/sys/dev/mmc/mmcreg.h#1 branch .. //depot/projects/soc2005/libalias/sys/dev/mmc/mmcsd.c#1 branch .. //depot/projects/soc2005/libalias/sys/dev/mmc/mmcvar.h#1 branch .. //depot/projects/soc2005/libalias/sys/dev/mxge/if_mxge.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/nfe/if_nfe.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/nfe/if_nfereg.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/pci/pci.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/ray/if_ray.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/sound/pcm/dsp.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/spibus/spibus.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/ubsec/ubsec.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/ehci.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/if_axe.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/if_udav.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/if_ural.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/ohci.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/uhci.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/ukbd.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/usb.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/usbdi.h#3 integrate .. //depot/projects/soc2005/libalias/sys/fs/devfs/devfs.h#3 integrate .. //depot/projects/soc2005/libalias/sys/fs/devfs/devfs_devs.c#4 integrate .. //depot/projects/soc2005/libalias/sys/fs/devfs/devfs_int.h#2 integrate .. //depot/projects/soc2005/libalias/sys/fs/devfs/devfs_vnops.c#4 integrate .. //depot/projects/soc2005/libalias/sys/fs/msdosfs/denode.h#3 integrate .. //depot/projects/soc2005/libalias/sys/fs/msdosfs/direntry.h#2 integrate .. //depot/projects/soc2005/libalias/sys/fs/msdosfs/msdosfs_conv.c#3 integrate .. //depot/projects/soc2005/libalias/sys/fs/msdosfs/msdosfs_denode.c#2 integrate .. //depot/projects/soc2005/libalias/sys/fs/msdosfs/msdosfs_vnops.c#2 integrate .. //depot/projects/soc2005/libalias/sys/fs/ntfs/ntfs_vnops.c#2 integrate .. //depot/projects/soc2005/libalias/sys/fs/nwfs/nwfs_subr.c#3 integrate .. //depot/projects/soc2005/libalias/sys/fs/procfs/procfs_status.c#2 integrate .. //depot/projects/soc2005/libalias/sys/fs/smbfs/smbfs_subr.c#2 integrate .. //depot/projects/soc2005/libalias/sys/i386/acpica/Makefile#3 integrate .. //depot/projects/soc2005/libalias/sys/i386/conf/DEFAULTS#2 integrate .. //depot/projects/soc2005/libalias/sys/i386/conf/GENERIC#5 integrate .. //depot/projects/soc2005/libalias/sys/i386/conf/NOTES#6 integrate .. //depot/projects/soc2005/libalias/sys/i386/i386/db_trace.c#3 integrate .. //depot/projects/soc2005/libalias/sys/i386/i386/machdep.c#8 integrate .. //depot/projects/soc2005/libalias/sys/i386/i386/pmap.c#4 integrate .. //depot/projects/soc2005/libalias/sys/i386/i386/support.s#4 integrate .. //depot/projects/soc2005/libalias/sys/i386/i386/sys_machdep.c#3 integrate .. //depot/projects/soc2005/libalias/sys/i386/i386/trap.c#4 integrate .. //depot/projects/soc2005/libalias/sys/i386/ibcs2/ibcs2_misc.c#3 integrate .. //depot/projects/soc2005/libalias/sys/i386/include/asmacros.h#2 integrate .. //depot/projects/soc2005/libalias/sys/i386/include/profile.h#2 integrate .. //depot/projects/soc2005/libalias/sys/i386/isa/prof_machdep.c#2 integrate .. //depot/projects/soc2005/libalias/sys/i386/linux/linux.h#5 integrate .. //depot/projects/soc2005/libalias/sys/i386/linux/linux_dummy.c#4 integrate .. //depot/projects/soc2005/libalias/sys/i386/linux/linux_machdep.c#7 integrate .. //depot/projects/soc2005/libalias/sys/i386/linux/linux_proto.h#8 integrate .. //depot/projects/soc2005/libalias/sys/i386/linux/linux_syscall.h#8 integrate .. //depot/projects/soc2005/libalias/sys/i386/linux/linux_sysent.c#8 integrate .. //depot/projects/soc2005/libalias/sys/i386/linux/syscalls.master#8 integrate .. //depot/projects/soc2005/libalias/sys/ia64/conf/DEFAULTS#3 integrate .. //depot/projects/soc2005/libalias/sys/ia64/conf/GENERIC#5 integrate .. //depot/projects/soc2005/libalias/sys/ia64/conf/NOTES#3 integrate .. //depot/projects/soc2005/libalias/sys/ia64/ia64/clock.c#3 integrate .. //depot/projects/soc2005/libalias/sys/ia64/ia64/machdep.c#2 integrate .. //depot/projects/soc2005/libalias/sys/ia64/ia64/nexus.c#2 integrate .. //depot/projects/soc2005/libalias/sys/ia64/ia64/pmap.c#4 integrate .. //depot/projects/soc2005/libalias/sys/ia64/ia64/support.S#3 integrate .. //depot/projects/soc2005/libalias/sys/ia64/ia64/trap.c#5 integrate .. //depot/projects/soc2005/libalias/sys/kern/init_main.c#4 integrate .. //depot/projects/soc2005/libalias/sys/kern/init_sysent.c#10 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_acct.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_acl.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_alq.c#2 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_clock.c#2 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_conf.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_environment.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_exec.c#4 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_exit.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_fork.c#4 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_idle.c#2 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_intr.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_jail.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_kse.c#2 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_ktrace.c#4 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_linker.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_mac.c#4 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_malloc.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_mbuf.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_poll.c#2 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_proc.c#5 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_prot.c#4 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_resource.c#4 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_shutdown.c#2 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_sig.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_subr.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_switch.c#2 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_synch.c#2 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_sysctl.c#2 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_thr.c#6 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_thread.c#4 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_time.c#4 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_umtx.c#8 integrate .. //depot/projects/soc2005/libalias/sys/kern/link_elf.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/link_elf_obj.c#2 integrate .. //depot/projects/soc2005/libalias/sys/kern/sched_4bsd.c#4 integrate .. //depot/projects/soc2005/libalias/sys/kern/sched_ule.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/subr_fattime.c#1 branch .. //depot/projects/soc2005/libalias/sys/kern/subr_trap.c#2 integrate .. //depot/projects/soc2005/libalias/sys/kern/sys_pipe.c#2 integrate .. //depot/projects/soc2005/libalias/sys/kern/sys_process.c#4 integrate .. //depot/projects/soc2005/libalias/sys/kern/sys_socket.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/syscalls.c#10 integrate .. //depot/projects/soc2005/libalias/sys/kern/syscalls.master#11 integrate .. //depot/projects/soc2005/libalias/sys/kern/systrace_args.c#7 integrate .. //depot/projects/soc2005/libalias/sys/kern/sysv_msg.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/sysv_sem.c#4 integrate .. //depot/projects/soc2005/libalias/sys/kern/sysv_shm.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/tty.c#5 integrate .. //depot/projects/soc2005/libalias/sys/kern/uipc_mbuf.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/uipc_mbuf2.c#2 integrate .. //depot/projects/soc2005/libalias/sys/kern/uipc_sem.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/uipc_socket.c#7 integrate .. //depot/projects/soc2005/libalias/sys/kern/uipc_syscalls.c#5 integrate .. //depot/projects/soc2005/libalias/sys/kern/uipc_usrreq.c#5 integrate .. //depot/projects/soc2005/libalias/sys/kern/vfs_bio.c#5 integrate .. //depot/projects/soc2005/libalias/sys/kern/vfs_cluster.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/vfs_lookup.c#4 integrate .. //depot/projects/soc2005/libalias/sys/kern/vfs_mount.c#7 integrate .. //depot/projects/soc2005/libalias/sys/kern/vfs_subr.c#7 integrate .. //depot/projects/soc2005/libalias/sys/kern/vfs_syscalls.c#7 integrate .. //depot/projects/soc2005/libalias/sys/kern/vfs_vnops.c#2 integrate .. //depot/projects/soc2005/libalias/sys/modules/acpi/Makefile#2 integrate .. //depot/projects/soc2005/libalias/sys/modules/acpi/acpi_aiboost/Makefile#1 branch .. //depot/projects/soc2005/libalias/sys/modules/linux/Makefile#4 integrate .. //depot/projects/soc2005/libalias/sys/modules/mem/Makefile#2 integrate .. //depot/projects/soc2005/libalias/sys/modules/mmc/Makefile#1 branch .. //depot/projects/soc2005/libalias/sys/modules/mmcsd/Makefile#1 branch .. //depot/projects/soc2005/libalias/sys/modules/powermac_nvram/Makefile#2 integrate .. //depot/projects/soc2005/libalias/sys/modules/uart/Makefile#2 integrate .. //depot/projects/soc2005/libalias/sys/net/bpf.c#4 integrate .. //depot/projects/soc2005/libalias/sys/net/bsd_comp.c#2 integrate .. //depot/projects/soc2005/libalias/sys/net/if.c#4 integrate .. //depot/projects/soc2005/libalias/sys/net/if_atmsubr.c#3 integrate .. //depot/projects/soc2005/libalias/sys/net/if_ethersubr.c#5 integrate .. //depot/projects/soc2005/libalias/sys/net/if_fddisubr.c#2 integrate .. //depot/projects/soc2005/libalias/sys/net/if_fwsubr.c#2 integrate .. //depot/projects/soc2005/libalias/sys/net/if_gif.c#6 integrate .. //depot/projects/soc2005/libalias/sys/net/if_iso88025subr.c#2 integrate .. //depot/projects/soc2005/libalias/sys/net/if_ppp.c#3 integrate .. //depot/projects/soc2005/libalias/sys/net/if_stf.c#4 integrate .. //depot/projects/soc2005/libalias/sys/net/if_tun.c#4 integrate .. //depot/projects/soc2005/libalias/sys/netatalk/aarp.c#2 integrate .. //depot/projects/soc2005/libalias/sys/netatalk/ddp_input.c#2 integrate .. //depot/projects/soc2005/libalias/sys/netatalk/ddp_output.c#2 integrate .. //depot/projects/soc2005/libalias/sys/netgraph/netgraph.h#2 integrate .. //depot/projects/soc2005/libalias/sys/netgraph/ng_message.h#2 integrate .. //depot/projects/soc2005/libalias/sys/netgraph/ng_socket.c#3 integrate .. //depot/projects/soc2005/libalias/sys/netgraph/ng_socket.h#2 integrate .. //depot/projects/soc2005/libalias/sys/netinet/if_ether.c#5 integrate .. //depot/projects/soc2005/libalias/sys/netinet/igmp.c#2 integrate .. //depot/projects/soc2005/libalias/sys/netinet/in_pcb.c#4 integrate .. //depot/projects/soc2005/libalias/sys/netinet/ip_divert.c#3 integrate .. //depot/projects/soc2005/libalias/sys/netinet/ip_dummynet.c#2 integrate .. //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#25 integrate .. //depot/projects/soc2005/libalias/sys/netinet/ip_fw_pfil.c#3 integrate .. //depot/projects/soc2005/libalias/sys/netinet/ip_icmp.c#2 integrate .. //depot/projects/soc2005/libalias/sys/netinet/ip_input.c#3 integrate .. //depot/projects/soc2005/libalias/sys/netinet/ip_mroute.c#3 integrate .. //depot/projects/soc2005/libalias/sys/netinet/ip_options.c#2 integrate .. //depot/projects/soc2005/libalias/sys/netinet/ip_output.c#7 integrate .. //depot/projects/soc2005/libalias/sys/netinet/raw_ip.c#5 integrate .. //depot/projects/soc2005/libalias/sys/netinet/tcp_input.c#6 integrate .. //depot/projects/soc2005/libalias/sys/netinet/tcp_output.c#4 integrate .. //depot/projects/soc2005/libalias/sys/netinet/tcp_subr.c#7 integrate .. //depot/projects/soc2005/libalias/sys/netinet/tcp_syncache.c#4 integrate .. //depot/projects/soc2005/libalias/sys/netinet/udp_usrreq.c#5 integrate .. //depot/projects/soc2005/libalias/sys/netinet6/nd6.c#5 integrate .. //depot/projects/soc2005/libalias/sys/nfsclient/nfs.h#2 integrate .. //depot/projects/soc2005/libalias/sys/nfsserver/nfs_serv.c#2 integrate .. //depot/projects/soc2005/libalias/sys/nfsserver/nfs_srvsock.c#3 integrate .. //depot/projects/soc2005/libalias/sys/nfsserver/nfs_syscalls.c#3 integrate .. //depot/projects/soc2005/libalias/sys/pc98/conf/DEFAULTS#2 integrate .. //depot/projects/soc2005/libalias/sys/pc98/conf/GENERIC#5 integrate .. //depot/projects/soc2005/libalias/sys/pc98/conf/NOTES#3 integrate .. //depot/projects/soc2005/libalias/sys/pc98/pc98/machdep.c#5 integrate .. //depot/projects/soc2005/libalias/sys/pci/agp.c#4 integrate .. //depot/projects/soc2005/libalias/sys/pci/if_sis.c#3 integrate .. //depot/projects/soc2005/libalias/sys/pci/nfsmb.c#4 integrate .. //depot/projects/soc2005/libalias/sys/posix4/ksched.c#3 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/conf/DEFAULTS#2 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/conf/GENERIC#7 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/conf/NOTES#4 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/powerpc/copyinout.c#3 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/powerpc/machdep.c#3 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/powerpc/trap.c#4 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_framework.h#2 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_inet.c#4 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_label.c#2 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_net.c#3 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_pipe.c#3 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_posix_sem.c#3 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_process.c#3 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_socket.c#3 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_system.c#2 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_sysv_msg.c#3 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_sysv_sem.c#3 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_sysv_shm.c#3 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_vfs.c#4 integrate .. //depot/projects/soc2005/libalias/sys/security/mac_lomac/mac_lomac.c#3 integrate .. //depot/projects/soc2005/libalias/sys/sparc64/conf/DEFAULTS#2 integrate .. //depot/projects/soc2005/libalias/sys/sparc64/conf/GENERIC#5 integrate .. //depot/projects/soc2005/libalias/sys/sparc64/conf/NOTES#3 integrate .. //depot/projects/soc2005/libalias/sys/sparc64/sparc64/machdep.c#2 integrate .. //depot/projects/soc2005/libalias/sys/sparc64/sparc64/support.S#3 integrate .. //depot/projects/soc2005/libalias/sys/sparc64/sparc64/trap.c#3 integrate .. //depot/projects/soc2005/libalias/sys/sun4v/conf/DEFAULTS#2 integrate .. //depot/projects/soc2005/libalias/sys/sun4v/conf/NOTES#4 integrate .. //depot/projects/soc2005/libalias/sys/sun4v/sun4v/machdep.c#3 integrate .. //depot/projects/soc2005/libalias/sys/sun4v/sun4v/pmap.c#2 integrate .. //depot/projects/soc2005/libalias/sys/sun4v/sun4v/support.S#2 integrate .. //depot/projects/soc2005/libalias/sys/sun4v/sun4v/trap.c#2 integrate .. //depot/projects/soc2005/libalias/sys/sys/clock.h#3 integrate .. //depot/projects/soc2005/libalias/sys/sys/conf.h#2 integrate .. //depot/projects/soc2005/libalias/sys/sys/elf32.h#3 integrate .. //depot/projects/soc2005/libalias/sys/sys/elf64.h#3 integrate .. //depot/projects/soc2005/libalias/sys/sys/mac.h#3 integrate .. //depot/projects/soc2005/libalias/sys/sys/mac_policy.h#4 integrate .. //depot/projects/soc2005/libalias/sys/sys/param.h#10 integrate .. //depot/projects/soc2005/libalias/sys/sys/proc.h#4 integrate .. //depot/projects/soc2005/libalias/sys/sys/queue.h#2 integrate .. //depot/projects/soc2005/libalias/sys/sys/rtprio.h#3 integrate .. //depot/projects/soc2005/libalias/sys/sys/sched.h#3 integrate .. //depot/projects/soc2005/libalias/sys/sys/sem.h#2 integrate .. //depot/projects/soc2005/libalias/sys/sys/soundcard.h#3 integrate .. //depot/projects/soc2005/libalias/sys/sys/syscall.h#10 integrate .. //depot/projects/soc2005/libalias/sys/sys/syscall.mk#10 integrate .. //depot/projects/soc2005/libalias/sys/sys/sysproto.h#10 integrate .. //depot/projects/soc2005/libalias/sys/sys/systm.h#6 integrate .. //depot/projects/soc2005/libalias/sys/sys/umtx.h#5 integrate .. //depot/projects/soc2005/libalias/sys/ufs/ffs/ffs_vfsops.c#4 integrate .. //depot/projects/soc2005/libalias/sys/ufs/ufs/ufs_vnops.c#5 integrate .. //depot/projects/soc2005/libalias/sys/vm/device_pager.c#3 integrate .. //depot/projects/soc2005/libalias/sys/vm/phys_pager.c#2 integrate .. //depot/projects/soc2005/libalias/sys/vm/swap_pager.c#3 integrate .. //depot/projects/soc2005/libalias/sys/vm/uma_core.c#3 integrate .. //depot/projects/soc2005/libalias/sys/vm/vm_contig.c#5 integrate .. //depot/projects/soc2005/libalias/sys/vm/vm_fault.c#4 integrate .. //depot/projects/soc2005/libalias/sys/vm/vm_glue.c#2 integrate .. //depot/projects/soc2005/libalias/sys/vm/vm_kern.c#2 integrate .. //depot/projects/soc2005/libalias/sys/vm/vm_map.c#3 integrate .. //depot/projects/soc2005/libalias/sys/vm/vm_mmap.c#2 integrate .. //depot/projects/soc2005/libalias/sys/vm/vm_object.c#5 integrate .. //depot/projects/soc2005/libalias/sys/vm/vm_page.c#7 integrate .. //depot/projects/soc2005/libalias/sys/vm/vm_page.h#5 integrate .. //depot/projects/soc2005/libalias/sys/vm/vm_pageout.c#3 integrate .. //depot/projects/soc2005/libalias/sys/vm/vm_zeroidle.c#3 integrate .. //depot/projects/soc2005/libalias/usr.bin/awk/Makefile#3 integrate .. //depot/projects/soc2005/libalias/usr.bin/awk/tran.c.diff#1 branch .. //depot/projects/soc2005/libalias/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.musik#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/jot/jot.1#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/lam/lam.1#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/lorder/lorder.1#3 integrate .. //depot/projects/soc2005/libalias/usr.bin/quota/Makefile#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/quota/quota.1#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/quota/quota.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/rs/rs.1#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/su/su.c#4 integrate .. //depot/projects/soc2005/libalias/usr.bin/tail/forward.c#3 integrate .. //depot/projects/soc2005/libalias/usr.bin/vmstat/vmstat.8#3 integrate .. //depot/projects/soc2005/libalias/usr.bin/vmstat/vmstat.c#2 integrate .. //depot/projects/soc2005/libalias/usr.sbin/Makefile#8 integrate .. //depot/projects/soc2005/libalias/usr.sbin/config/config.5#2 integrate .. //depot/projects/soc2005/libalias/usr.sbin/config/config.8#2 integrate .. //depot/projects/soc2005/libalias/usr.sbin/config/config.h#2 integrate .. //depot/projects/soc2005/libalias/usr.sbin/config/config.y#3 integrate .. //depot/projects/soc2005/libalias/usr.sbin/config/main.c#2 integrate .. //depot/projects/soc2005/libalias/usr.sbin/config/mkmakefile.c#4 integrate .. //depot/projects/soc2005/libalias/usr.sbin/fdcontrol/fdcontrol.8#2 integrate .. //depot/projects/soc2005/libalias/usr.sbin/freebsd-update/freebsd-update.sh#3 integrate .. //depot/projects/soc2005/libalias/usr.sbin/fwcontrol/Makefile#2 integrate .. //depot/projects/soc2005/libalias/usr.sbin/fwcontrol/fwcontrol.8#2 integrate .. //depot/projects/soc2005/libalias/usr.sbin/fwcontrol/fwcontrol.c#2 integrate .. //depot/projects/soc2005/libalias/usr.sbin/fwcontrol/fwdv.c#2 integrate .. //depot/projects/soc2005/libalias/usr.sbin/fwcontrol/fwmethods.h#1 branch .. //depot/projects/soc2005/libalias/usr.sbin/fwcontrol/fwmpegts.c#1 branch .. //depot/projects/soc2005/libalias/usr.sbin/mountd/mountd.c#4 integrate .. //depot/projects/soc2005/libalias/usr.sbin/pccard/Makefile#2 integrate .. //depot/projects/soc2005/libalias/usr.sbin/pccard/dumpcis/Makefile#1 branch .. //depot/projects/soc2005/libalias/usr.sbin/pccard/dumpcis/dumpcis.8#1 branch .. //depot/projects/soc2005/libalias/usr.sbin/pccard/dumpcis/main.c#1 branch .. //depot/projects/soc2005/libalias/usr.sbin/pccard/pccardd/Makefile#2 delete .. //depot/projects/soc2005/libalias/usr.sbin/pccard/pccardd/cardd.c#2 delete .. //depot/projects/soc2005/libalias/usr.sbin/pccard/pccardd/cardd.h#2 delete .. //depot/projects/soc2005/libalias/usr.sbin/pccard/pccardd/file.c#2 delete .. //depot/projects/soc2005/libalias/usr.sbin/pccard/pccardd/pccard.conf.5#2 delete .. //depot/projects/soc2005/libalias/usr.sbin/pccard/pccardd/pccardd.8#2 delete .. //depot/projects/soc2005/libalias/usr.sbin/pccard/pccardd/pccardd.c#2 delete .. //depot/projects/soc2005/libalias/usr.sbin/pccard/pccardd/server.c#2 delete .. //depot/projects/soc2005/libalias/usr.sbin/pccard/pccardd/util.c#2 delete .. //depot/projects/soc2005/libalias/usr.sbin/portsnap/portsnap/portsnap.sh#2 integrate .. //depot/projects/soc2005/libalias/usr.sbin/smbmsg/smbmsg.8#2 integrate .. //depot/projects/soc2005/libalias/usr.sbin/sysinstall/dist.c#2 integrate .. //depot/projects/soc2005/libalias/usr.sbin/sysinstall/install.c#4 integrate .. //depot/projects/soc2005/libalias/usr.sbin/sysinstall/sysinstall.h#3 integrate .. //depot/projects/soc2005/libalias/usr.sbin/zic/zdump/Makefile#2 integrate .. //depot/projects/soc2005/libalias/usr.sbin/zic/zic/Makefile#2 integrate Differences ... ==== //depot/projects/soc2005/libalias/Makefile#8 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile,v 1.335 2006/09/08 10:13:15 ru Exp $ +# $FreeBSD: src/Makefile,v 1.336 2006/10/16 22:18:59 jb Exp $ # # The user-driven targets are: # @@ -266,7 +266,7 @@ @echo "--------------------------------------------------------------" @echo ">>> make universe started on ${STARTTIME}" @echo "--------------------------------------------------------------" -.for target in amd64 i386 ia64 pc98 sparc64 +.for target in amd64 i386 ia64 pc98 sparc64 sun4v KERNCONFS!= cd ${.CURDIR}/sys/${target}/conf && \ find [A-Z]*[A-Z] -type f -maxdepth 0 \ ! -name DEFAULTS ! -name LINT ==== //depot/projects/soc2005/libalias/Makefile.inc1#8 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.562 2006/10/09 04:58:44 kmacy Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.563 2006/10/16 22:18:13 jb Exp $ # # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir @@ -98,7 +98,7 @@ # Guess machine architecture from machine type, and vice versa. .if !defined(TARGET_ARCH) && defined(TARGET) -TARGET_ARCH= ${TARGET:S/pc98/i386/} +TARGET_ARCH= ${TARGET:S/pc98/i386/:S/sun4v/sparc64/} .elif !defined(TARGET) && defined(TARGET_ARCH) && \ ${TARGET_ARCH} != ${MACHINE_ARCH} TARGET= ${TARGET_ARCH} ==== //depot/projects/soc2005/libalias/ObsoleteFiles.inc#9 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.55 2006/10/01 17:48:43 ru Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.56 2006/10/21 14:19:52 ru Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20061018: pccardc removed +OLD_FILES+=usr/sbin/pccardc usr/share/man/man8/pccardc.8.gz # 20060930: demangle.h from contrib/libstdc++/include/ext/ OLD_FILES+=usr/include/c++/3.4/ext/demangle.h # 20060929: mrouted removed ==== //depot/projects/soc2005/libalias/UPDATING#10 (text+ko) ==== @@ -21,6 +21,14 @@ developers choose to disable these features on build machines to maximize performance. +20061026: + KSE in the kernel has now been made optional and turned on by + default. Use 'nooption KSE' in your kernel config to turn it + off. All kernel modules *must* be recompiled after this change. + There-after, modules from a KSE kernel should be compatible with + modules from a NOKSE kernel due to the temporary padding fields + added to 'struct proc'. + 20060929: mrouted and its utilities have been removed from the base system. @@ -631,4 +639,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.460 2006/09/30 20:01:15 ru Exp $ +$FreeBSD: src/UPDATING,v 1.462 2006/10/26 22:05:24 jb Exp $ ==== //depot/projects/soc2005/libalias/bin/cp/cp.1#4 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)cp.1 8.3 (Berkeley) 4/18/94 -.\" $FreeBSD: src/bin/cp/cp.1,v 1.36 2006/10/07 22:14:43 trhodes Exp $ +.\" $FreeBSD: src/bin/cp/cp.1,v 1.38 2006/10/27 08:26:24 trhodes Exp $ .\" -.Dd October 7, 2006 +.Dd October 27, 2006 .Dt CP 1 .Os .Sh NAME @@ -251,38 +251,24 @@ utility had a .Fl r option. -This implementation supports that option, however, its use is strongly -discouraged as its behavior is very implementation dependent. -In this version of -.Nm , +This implementation supports that option, however, its behavior +is different from historical +.Fx +behavior. +Use of this option +is strongly discouraged as the behavior is +implementation-dependent. +In +.Fx , .Fl r -is just a synonym for -.Fl RL . -The -.Fl R -option gives the correct behavior while -.Fl L -preserves the sometimes-useful historical behavior of following symbolic links. -The +is a synonym for +.Fl RL +and works the same unless modified by other flags. +Historical implemenations +of .Fl r -option is deprecated in -.Tn POSIX - and its behavior is likely to be different -in future versions of -.Nm -and its behavior is likely to be different -in future versions of -.Fx . -Previous versions of -.Nm -in -.Fx , -the -.Fl r -behavior was to not correctly copy special files, symbolic links -or fifos. -Symbolic links were followed, and the contents of special -files and fifos were copied to regular files. +differ as they copy special files as normal +files while recreating a hierarchy. .Pp The .Fl v ==== //depot/projects/soc2005/libalias/bin/ls/print.c#2 (text+ko) ==== @@ -36,7 +36,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/ls/print.c,v 1.75 2006/03/24 16:38:02 jhb Exp $"); +__FBSDID("$FreeBSD: src/bin/ls/print.c,v 1.76 2006/10/18 10:58:27 ru Exp $"); #include #include @@ -628,9 +628,10 @@ p->fts_parent->fts_accpath, p->fts_name); /* * We have no way to tell whether a symbolic link has an ACL since - * pathconf() and acl_get_file() both follow them. + * pathconf() and acl_get_file() both follow them. They also don't + * support whiteouts. */ - if (S_ISLNK(p->fts_statp->st_mode)) { + if (S_ISLNK(p->fts_statp->st_mode) || S_ISWHT(p->fts_statp->st_mode)) { *haveacls = 1; return; } ==== //depot/projects/soc2005/libalias/bin/rm/rm.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/rm/rm.c,v 1.54 2006/04/15 09:26:23 maxim Exp $"); +__FBSDID("$FreeBSD: src/bin/rm/rm.c,v 1.56 2006/10/18 13:16:06 maxim Exp $"); #include #include @@ -347,7 +347,7 @@ if (!fflag && !S_ISWHT(sb.st_mode) && !check(f, f, &sb)) continue; rval = 0; - if (!uid && + if (!uid && !S_ISWHT(sb.st_mode) && (sb.st_flags & (UF_APPEND|UF_IMMUTABLE)) && !(sb.st_flags & (SF_APPEND|SF_IMMUTABLE))) rval = chflags(f, sb.st_flags & ~(UF_APPEND|UF_IMMUTABLE)); ==== //depot/projects/soc2005/libalias/contrib/gcc/function.c#2 (text+ko) ==== @@ -19,7 +19,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* $FreeBSD: src/contrib/gcc/function.c,v 1.22 2005/06/03 04:02:19 kan Exp $ */ +/* $FreeBSD: src/contrib/gcc/function.c,v 1.23 2006/10/25 07:29:22 bde Exp $ */ /* This file handles the generation of rtl code from tree structure at the level of the function as a whole. @@ -7129,7 +7129,9 @@ if (!initialized) { mexitcount_libfunc = init_one_libfunc (".mexitcount"); +#if 0 /* Turn this off to prevent erroneous garbage collection. */ initialized = 1; +#endif } emit_library_call (mexitcount_libfunc, LCT_NORMAL, VOIDmode, 0); } ==== //depot/projects/soc2005/libalias/etc/defaults/rc.conf#10 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.300 2006/10/15 15:55:00 ceri Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.301 2006/10/28 20:08:12 phk Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -104,6 +104,16 @@ firewall_quiet="NO" # Set to YES to suppress rule display firewall_logging="NO" # Set to YES to enable events logging firewall_flags="" # Flags passed to ipfw when type is a file +firewall_myservices="" # List of TCP ports on which this host + # offers services +firewall_allowservices="" # List of IPs which has access to + # $firewall_myservices +firewall_trusted="" # List of IPs which has full access to this host +firewall_logdeny="NO" # Set to YES to log default denied incoming + # packets. +firewall_nologports="135-139,445 1026,1027 1433,1434" # List of TCP/UDP ports + # for which denied incoming packets are not + # logged. ip_portrange_first="NO" # Set first dynamically allocated port ip_portrange_last="NO" # Set last dynamically allocated port ike_enable="NO" # Enable IKE daemon (usually racoon or isakmpd) ==== //depot/projects/soc2005/libalias/etc/network.subr#6 (text+ko) ==== @@ -22,7 +22,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/etc/network.subr,v 1.175 2006/10/07 15:45:56 ume Exp $ +# $FreeBSD: src/etc/network.subr,v 1.176 2006/10/29 13:29:49 mlaier Exp $ # # @@ -690,7 +690,7 @@ if [ ${rtsol_available} = yes -a ${rtsol_interface} = yes ] then case ${i} in - lo0|gif[0-9]*|stf[0-9]*|faith[0-9]*|lp[0-9]*|sl[0-9]*|tun[0-9]*) + lo0|gif[0-9]*|stf[0-9]*|faith[0-9]*|lp[0-9]*|sl[0-9]*|tun[0-9]*|pflog[0-9]*|pfsync[0-9]*) ;; *) rtsol_interfaces="${rtsol_interfaces} ${i}" ==== //depot/projects/soc2005/libalias/etc/pf.os#2 (text+ko) ==== @@ -1,5 +1,5 @@ -# $FreeBSD: src/etc/pf.os,v 1.3 2004/09/14 00:30:14 mlaier Exp $ -# $OpenBSD: pf.os,v 1.17 2004/04/28 01:01:27 deraadt Exp $ +# $FreeBSD: src/etc/pf.os,v 1.4 2006/10/23 05:09:44 delphij Exp $ +# $OpenBSD: pf.os,v 1.21 2006/07/28 21:51:12 david Exp $ # passive OS fingerprinting # ------------------------- # @@ -223,9 +223,10 @@ S4:64:1:60:M1360,S,T,N,W0: Linux:google::Linux (Google crawlbot) S2:64:1:60:M*,S,T,N,W0: Linux:2.4::Linux 2.4 (big boy) -S3:64:1:60:M*,S,T,N,W0: Linux:2.4:18-21:Linux 2.4.18 and newer -S4:64:1:60:M*,S,T,N,W0: Linux:2.4::Linux 2.4/2.6 -S4:64:1:60:M*,S,T,N,W0: Linux:2.6::Linux 2.4/2.6 +S3:64:1:60:M*,S,T,N,W0: Linux:2.4:.18-21:Linux 2.4.18 and newer +S4:64:1:60:M*,S,T,N,W0: Linux:2.4::Linux 2.4/2.6 <= 2.6.7 +S4:64:1:60:M*,S,T,N,W0: Linux:2.6:.1-7:Linux 2.4/2.6 <= 2.6.7 +S4:64:1:60:M*,S,T,N,W7: Linux:2.6:8:Linux 2.6.8 and newer (?) S3:64:1:60:M*,S,T,N,W1: Linux:2.5::Linux 2.5 (sometimes 2.4) S4:64:1:60:M*,S,T,N,W1: Linux:2.5-2.6::Linux 2.5/2.6 @@ -260,27 +261,28 @@ # ----------------- FreeBSD ----------------- -16384:64:1:44:M*: FreeBSD:2.0-2.2::FreeBSD 2.0-4.1 -16384:64:1:44:M*: FreeBSD:3.0-3.5::FreeBSD 2.0-4.1 -16384:64:1:44:M*: FreeBSD:4.0-4.1::FreeBSD 2.0-4.1 +16384:64:1:44:M*: FreeBSD:2.0-2.2::FreeBSD 2.0-4.2 +16384:64:1:44:M*: FreeBSD:3.0-3.5::FreeBSD 2.0-4.2 +16384:64:1:44:M*: FreeBSD:4.0-4.2::FreeBSD 2.0-4.2 16384:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.4::FreeBSD 4.4 1024:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.4::FreeBSD 4.4 57344:64:1:44:M*: FreeBSD:4.6-4.8:noRFC1323:FreeBSD 4.6-4.8 (no RFC1323) -57344:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.6-4.8::FreeBSD 4.6-4.8 +57344:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.6-4.9::FreeBSD 4.6-4.9 -32768:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.8-4.9::FreeBSD 4.8-5.1 (or MacOS X) +32768:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.8-4.11::FreeBSD 4.8-5.1 (or MacOS X) 32768:64:1:60:M*,N,W0,N,N,T: FreeBSD:5.0-5.1::FreeBSD 4.8-5.1 (or MacOS X) -65535:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.8-4.9::FreeBSD 4.8-5.1 (or MacOS X) -65535:64:1:60:M*,N,W0,N,N,T: FreeBSD:5.0-5.1::FreeBSD 4.8-5.1 (or MacOS X) -65535:64:1:60:M*,N,W1,N,N,T: FreeBSD:4.7-4.9::FreeBSD 4.7-5.1 -65535:64:1:60:M*,N,W1,N,N,T: FreeBSD:5.0-5.1::FreeBSD 4.7-5.1 +65535:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.8-4.11::FreeBSD 4.8-5.2 (or MacOS X) +65535:64:1:60:M*,N,W0,N,N,T: FreeBSD:5.0-5.2::FreeBSD 4.8-5.2 (or MacOS X) +65535:64:1:60:M*,N,W1,N,N,T: FreeBSD:4.7-4.11::FreeBSD 4.7-5.2 +65535:64:1:60:M*,N,W1,N,N,T: FreeBSD:5.0-5.2::FreeBSD 4.7-5.2 # XXX need quirks support -# 65535:64:1:60:M*,N,W0,N,N,T:Z:FreeBSD:5.1-current (1) -# 65535:64:1:60:M*,N,W1,N,N,T:Z:FreeBSD:5.1-current (2) -# 65535:64:1:60:M*,N,W2,N,N,T:Z:FreeBSD:5.1-current (3) +# 65535:64:1:60:M*,N,W0,N,N,T:Z:FreeBSD:5.1-5.4::5.1-current (1) +# 65535:64:1:60:M*,N,W1,N,N,T:Z:FreeBSD:5.1-5.4::5.1-current (2) +# 65535:64:1:60:M*,N,W2,N,N,T:Z:FreeBSD:5.1-5.4::5.1-current (3) +# 65535:64:1:44:M*:Z:FreeBSD:5.2::FreeBSD 5.2 (no RFC1323) # 16384:64:1:60:M*,N,N,N,N,N,N,T:FreeBSD:4.4:noTS:FreeBSD 4.4 (w/o timestamps) @@ -297,12 +299,12 @@ # ----------------- OpenBSD ----------------- 16384:64:0:60:M*,N,W0,N,N,T: OpenBSD:2.6::NetBSD 1.3 (or OpenBSD 2.6) -16384:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-3.5::OpenBSD 3.0-3.5 -16384:64:0:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-3.5:no-df:OpenBSD 3.0-3.5 (scrub no-df) -57344:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.3-3.5::OpenBSD 3.3-3.5 -57344:64:0:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.3-3.5:no-df:OpenBSD 3.3-3.5 (scrub no-df) +16384:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-4.0::OpenBSD 3.0-4.0 +16384:64:0:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-4.0:no-df:OpenBSD 3.0-4.0 (scrub no-df) +57344:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.3-4.0::OpenBSD 3.3-4.0 +57344:64:0:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.3-4.0:no-df:OpenBSD 3.3-4.0 (scrub no-df) -65535:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-3.5:opera:OpenBSD 3.0-3.5 (Opera) +65535:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-4.0:opera:OpenBSD 3.0-4.0 (Opera) # ----------------- Solaris ----------------- @@ -317,7 +319,8 @@ 4096:64:0:44:M1460: SunOS:4.1::SunOS 4.1.x -S34:64:1:52:M*,N,W0,N,N,S: Solaris:10::Solaris 10 (beta) +S34:64:1:52:M*,N,W0,N,N,S: Solaris:10:beta:Solaris 10 (beta) +32850:64:1:64:M*,N,N,T,N,W1,N,N,S: Solaris:10::Solaris 10 1203 # ----------------- IRIX -------------------- @@ -329,6 +332,9 @@ 61440:64:0:48:M*,N,N,S: IRIX:6.5:12-21:IRIX 6.5.12 - 6.5.21 49152:64:0:48:M*,N,N,S: IRIX:6.5:15-21:IRIX 6.5.15 - 6.5.21 +49152:60:0:64:M*,N,W2,N,N,T,N,N,S: IRIX:6.5:IP27:IRIX 6.5 IP27 + + # ----------------- Tru64 ------------------- 32768:64:1:48:M*,N,W0: Tru64:4.0::Tru64 4.0 (or OS/2 Warp 4) @@ -428,6 +434,11 @@ 16384:128:1:52:M536,N,W0,N,N,S: Windows:2000:ZoneAlarm:Windows 2000 w/ZoneAlarm? 2048:255:0:40:.: Windows:.NET::Windows .NET Enterprise Server +44620:64:0:48:M*,N,N,S: Windows:ME::Windows ME no SP (?) +S6:255:1:48:M536,N,N,S: Windows:95:winsock2:Windows 95 winsock 2 +32768:32:1:52:M1460,N,W0,N,N,S: Windows:2003:AS:Windows 2003 AS + + # No need to be more specific, it passes: # *:128:1:48:M*,N,N,S:U:-Windows:XP/2000 while downloading (leak!) XXX quirk # there is an equiv similar generic sig w/o the quirk @@ -442,7 +453,6 @@ # Whoa. Hardcore WSS. 0:64:0:48:M*,W0,N: HP-UX:B.11.00:A:HP-UX B.11.00 A (RFC1323) - # ----------------- RiscOS ------------------ # We don't yet support the ?12 TCP option @@ -453,6 +463,7 @@ # 4096:64:1:56:M1460,N,N,T:T: RISC OS:3.70:freenet:RISC OS 3.70 freenet 2.00 + # ----------------- BSD/OS ------------------ # Once again, power of two WSS is also shared by MacOS X with DF set @@ -466,6 +477,7 @@ # ---------------- NeXTSTEP ----------------- +S4:64:0:44:M1024: NeXTSTEP:3.3::NeXTSTEP 3.3 S8:64:0:44:M512: NeXTSTEP:3.3::NeXTSTEP 3.3 # ------------------ BeOS ------------------- @@ -501,15 +513,18 @@ # ----------------- SCO ------------------ S3:64:1:60:M1460,N,W0,N,N,T: SCO:UnixWare:7.1:SCO UnixWare 7.1 +S17:64:1:60:M1380,N,W0,N,N,T: SCO:UnixWare:7.1:SCO UnixWare 7.1.3 MP3 S23:64:1:44:M1380: SCO:OpenServer:5.0:SCO OpenServer 5.0 # ------------------- DOS ------------------- 2048:255:0:44:M536: DOS:WATTCP:1.05:DOS Arachne via WATTCP/1.05 +T2:255:0:44:M984: DOS:WATTCP:1.05Arachne:Arachne via WATTCP/1.05 (eepro) # ------------------ OS/2 ------------------- S56:64:0:44:M512: OS/2:4::OS/2 4 +28672:64:0:44:M1460: OS/2:4::OS/2 Warp 4.0 # ----------------- TOPS-20 ----------------- @@ -517,6 +532,10 @@ # XXX QUIRK 0:64:0:44:M1460:A:TOPS-20:version 7 0:64:0:44:M1460: TOPS-20:7::TOPS-20 version 7 +# ----------------- FreeMiNT ---------------- + +S44:255:0:44:M536: FreeMiNT:1:16A:FreeMiNT 1 patch 16A (Atari) + # ------------------ AMIGA ------------------ # XXX TCP option 12 @@ -539,7 +558,6 @@ S12:64:1:44:M1460: @Checkpoint:::Checkpoint (unknown 1) S12:64:1:48:N,N,S,M1460: @Checkpoint:::Checkpoint (unknown 2) 4096:32:0:44:M1460: ExtremeWare:4.x::ExtremeWare 4.x -60352:64:0:52:M1460,N,W2,N,N,S: Clavister:7::Clavister firewall 7.x # XXX TCP option 12 # S32:64:0:68:M512,N,W0,N,N,T,N,N,?12:.:Nokia:IPSO w/Checkpoint NG FP3 @@ -549,6 +567,9 @@ 8192:64:1:44:M1460: Eagle:::Eagle Secure Gateway +S52:128:1:48:M1260,N,N,N,N: LinkSys:WRV54G::LinkSys WRV54G VPN router + + # ------- Switches and other stuff ---------- @@ -581,6 +602,10 @@ 16384:255:0:40:.: Proxyblocker:::Proxyblocker (what's this?) +65535:255:0:48:M*,N,N,S: Redline:::Redline T|X 2200 + +32696:128:0:40:M1460: Spirent:Avalanche::Spirent Web Avalanche HTTP benchmarking engine + # ----------- Embedded systems -------------- S9:255:0:44:M536: PalmOS:Tungsten:C:PalmOS Tungsten C @@ -589,10 +614,15 @@ S4:255:0:44:M536: PalmOS:3:5:PalmOS 3.5 2948:255:0:44:M536: PalmOS:3:5:PalmOS 3.5.3 (Handera) S29:255:0:44:M536: PalmOS:5::PalmOS 5.0 +16384:255:0:44:M1398: PalmOS:5.2:Clie:PalmOS 5.2 (Clie) +S14:255:0:44:M1350: PalmOS:5.2:Treo:PalmOS 5.2.1 (Treo) S23:64:1:64:N,W1,N,N,T,N,N,S,M1460: SymbianOS:7::SymbianOS 7 -8192:255:0:44:M1460: SymbianOS:6048::SymbianOS 6048 (on Nokia 7650?) -8192:255:0:44:M536: SymbianOS:::SymbianOS (on Nokia 9210?) + +8192:255:0:44:M1460: SymbianOS:6048::Symbian OS 6048 (Nokia 7650?) +8192:255:0:44:M536: SymbianOS:9210::Symbian OS (Nokia 9210?) +S22:64:1:56:M1460,T,S: SymbianOS:P800::Symbian OS ? (SE P800?) +S36:64:1:56:M1360,T,S: SymbianOS:6600::Symbian OS 60xx (Nokia 6600?) # Perhaps S4? >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Oct 30 09:15:52 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3F4D316A407; Mon, 30 Oct 2006 09:15:52 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 12FDC16A4A0 for ; Mon, 30 Oct 2006 09:15:52 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BB84143D45 for ; Mon, 30 Oct 2006 09:15:51 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9U9FpPF079196 for ; Mon, 30 Oct 2006 09:15:51 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9U9Fpp4079193 for perforce@freebsd.org; Mon, 30 Oct 2006 09:15:51 GMT (envelope-from piso@freebsd.org) Date: Mon, 30 Oct 2006 09:15:51 GMT Message-Id: <200610300915.k9U9Fpp4079193@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 108717 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 09:15:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=108717 Change 108717 by piso@piso_newluxor on 2006/10/30 09:15:47 Axe old /lib/libalias*.so.4 and /usr/lib symlinks to them. Affected files ... .. //depot/projects/soc2005/libalias/ObsoleteFiles.inc#10 edit Differences ... ==== //depot/projects/soc2005/libalias/ObsoleteFiles.inc#10 (text+ko) ==== @@ -14,6 +14,15 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20061030: remove symlink to libalias modules like /lib/libalias*.so.4 +OLD_FILES+=usr/lib/libalias_cuseeme.so +OLD_FILES+=usr/lib/libalias_dummy.so +OLD_FILES+=usr/lib/libalias_ftp.so +OLD_FILES+=usr/lib/libalias_irc.so +OLD_FILES+=usr/lib/libalias_nbt.so +OLD_FILES+=usr/lib/libalias_pptp.so +OLD_FILES+=usr/lib/libalias_skinny.so +OLD_FILES+=usr/lib/libalias_smedia.so # 20061018: pccardc removed OLD_FILES+=usr/sbin/pccardc usr/share/man/man8/pccardc.8.gz # 20060930: demangle.h from contrib/libstdc++/include/ext/ @@ -2951,7 +2960,15 @@ # - usr/share/tmac/mm/se_locale # - var/yp/Makefile - +# 20061030: move liablias modules from *.so.4 to *.so +OLD_LIBS+=lib/libalias_cuseeme.so.4 +OLD_LIBS+=lib/libalias_dummy.so.4 +OLD_LIBS+=lib/libalias_ftp.so.4 +OLD_LIBS+=lib/libalias_irc.so.4 +OLD_LIBS+=lib/libalias_nbt.so.4 +OLD_LIBS+=lib/libalias_pptp.so.4 +OLD_LIBS+=lib/libalias_skinny.so.4 +OLD_LIBS+=lib/libalias_smedia.so.4 # 20060729: OpenSSL 0.9.7e -> 0.9.8b upgrade OLD_LIBS+=lib/libcrypto.so.4 OLD_LIBS+=usr/lib/libssl.so.4 From owner-p4-projects@FreeBSD.ORG Mon Oct 30 09:29:09 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 379C616A412; Mon, 30 Oct 2006 09:29:09 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 118FC16A407 for ; Mon, 30 Oct 2006 09:29:09 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B45E743D53 for ; Mon, 30 Oct 2006 09:29:08 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9U9T8KD080847 for ; Mon, 30 Oct 2006 09:29:08 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9U9T8Cm080844 for perforce@freebsd.org; Mon, 30 Oct 2006 09:29:08 GMT (envelope-from bushman@freebsd.org) Date: Mon, 30 Oct 2006 09:29:08 GMT Message-Id: <200610300929.k9U9T8Cm080844@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 108718 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 09:29:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=108718 Change 108718 by bushman@bushman_nss_ldap_cached on 2006/10/30 09:28:15 IFC Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/etc/defaults/rc.conf#10 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/network.subr#5 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.firewall#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/gmon/Makefile.inc#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/net/inet.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/fwcontrol/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/fwcontrol/fwcontrol.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/fwcontrol/fwcontrol.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/fwcontrol/fwdv.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/fwcontrol/fwmethods.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/fwcontrol/fwmpegts.c#1 branch Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/defaults/rc.conf#10 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.300 2006/10/15 15:55:00 ceri Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.301 2006/10/28 20:08:12 phk Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -104,6 +104,16 @@ firewall_quiet="NO" # Set to YES to suppress rule display firewall_logging="NO" # Set to YES to enable events logging firewall_flags="" # Flags passed to ipfw when type is a file +firewall_myservices="" # List of TCP ports on which this host + # offers services +firewall_allowservices="" # List of IPs which has access to + # $firewall_myservices +firewall_trusted="" # List of IPs which has full access to this host +firewall_logdeny="NO" # Set to YES to log default denied incoming + # packets. +firewall_nologports="135-139,445 1026,1027 1433,1434" # List of TCP/UDP ports + # for which denied incoming packets are not + # logged. ip_portrange_first="NO" # Set first dynamically allocated port ip_portrange_last="NO" # Set last dynamically allocated port ike_enable="NO" # Enable IKE daemon (usually racoon or isakmpd) ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/network.subr#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/etc/network.subr,v 1.175 2006/10/07 15:45:56 ume Exp $ +# $FreeBSD: src/etc/network.subr,v 1.176 2006/10/29 13:29:49 mlaier Exp $ # # @@ -690,7 +690,7 @@ if [ ${rtsol_available} = yes -a ${rtsol_interface} = yes ] then case ${i} in - lo0|gif[0-9]*|stf[0-9]*|faith[0-9]*|lp[0-9]*|sl[0-9]*|tun[0-9]*) + lo0|gif[0-9]*|stf[0-9]*|faith[0-9]*|lp[0-9]*|sl[0-9]*|tun[0-9]*|pflog[0-9]*|pfsync[0-9]*) ;; *) rtsol_interfaces="${rtsol_interfaces} ${i}" ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/rc.firewall#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/etc/rc.firewall,v 1.48 2005/11/18 02:23:59 ume Exp $ +# $FreeBSD: src/etc/rc.firewall,v 1.49 2006/10/28 20:08:12 phk Exp $ # # @@ -42,12 +42,14 @@ ############ # Define the firewall type in /etc/rc.conf. Valid values are: -# open - will allow anyone in -# client - will try to protect just this machine -# simple - will try to protect a whole network -# closed - totally disables IP services except via lo0 interface -# UNKNOWN - disables the loading of firewall rules. -# filename - will load the rules in the given filename (full path required) +# open - will allow anyone in +# client - will try to protect just this machine +# simple - will try to protect a whole network +# closed - totally disables IP services except via lo0 interface +# workstation - will try to protect just this machine using statefull +# firewalling. See below for rc.conf variables used +# UNKNOWN - disables the loading of firewall rules. +# filename - will load the rules in the given filename (full path required) # # For ``client'' and ``simple'' the entries below should be customized # appropriately. @@ -107,6 +109,8 @@ # ${fwcmd} -f flush +setup_loopback + ############ # Network Address Translation. All packets are passed to natd(8) # before they encounter your remaining rules. The firewall rules @@ -140,7 +144,6 @@ # case ${firewall_type} in [Oo][Pp][Ee][Nn]) - setup_loopback ${fwcmd} add 65000 pass all from any to any ;; @@ -155,8 +158,6 @@ mask="255.255.255.0" ip="192.0.2.1" - setup_loopback - # Allow any traffic to or from my own net. ${fwcmd} add pass all from ${ip} to ${net}:${mask} ${fwcmd} add pass all from ${net}:${mask} to ${ip} @@ -168,19 +169,19 @@ ${fwcmd} add pass all from any to any frag # Allow setup of incoming email - ${fwcmd} add pass tcp from any to ${ip} 25 setup + ${fwcmd} add pass tcp from any to me 25 setup # Allow setup of outgoing TCP connections only - ${fwcmd} add pass tcp from ${ip} to any setup + ${fwcmd} add pass tcp from me to any setup # Disallow setup of all other TCP connections ${fwcmd} add deny tcp from any to any setup # Allow DNS queries out in the world - ${fwcmd} add pass udp from ${ip} to any 53 keep-state + ${fwcmd} add pass udp from me to any 53 keep-state # Allow NTP queries out in the world - ${fwcmd} add pass udp from ${ip} to any 123 keep-state + ${fwcmd} add pass udp from me to any 123 keep-state # Everything else is denied by default, unless the # IPFIREWALL_DEFAULT_TO_ACCEPT option is set in your kernel @@ -206,8 +207,6 @@ imask="255.255.255.240" iip="192.0.2.17" - setup_loopback - # Stop spoofing ${fwcmd} add deny all from ${inet}:${imask} to any in via ${oif} ${fwcmd} add deny all from ${onet}:${omask} to any in via ${iif} @@ -289,8 +288,100 @@ # config file. ;; +[Ww][Oo][Rr][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]) + # Configuration: + # firewall_myservices: List of TCP ports on which this host + # offers services. + # firewall_allowservices: List of IPs which has access to + # $firewall_myservices. + # firewall_trusted: List of IPs which has full access + # to this host. Be very carefull + # when setting this. This option can + # seriously degrade the level of + # protection provided by the firewall. + # firewall_logdeny: Boolean (YES/NO) specifying if the + # default denied packets should be + # logged (in /var/log/security). + # firewall_nologports: List of TCP/UDP ports for which + # denied incomming packets are not + # logged. + + # Allow packets for which a state has been built. + ${fwcmd} add check-state + + # For services permitted below. + ${fwcmd} add pass tcp from me to any established + + # Allow any connection out, adding state for each. + ${fwcmd} add pass tcp from me to any setup keep-state + ${fwcmd} add pass udp from me to any keep-state + ${fwcmd} add pass icmp from me to any keep-state + + # Allow DHCP. + ${fwcmd} add pass udp from 0.0.0.0 68 to 255.255.255.255 67 out + ${fwcmd} add pass udp from any 67 to me 68 in + ${fwcmd} add pass udp from any 67 to 255.255.255.255 68 in + # Some servers will ping the IP while trying to decide if it's + # still in use. + ${fwcmd} add pass icmp from any to any icmptype 8 + + # Allow "mandatory" ICMP in. + ${fwcmd} add pass icmp from any to any icmptype 3,4,11 + + # Add permits for this workstations published services below + # Only IPs and nets in firewall_allowservices is allowed in. + # If you really wish to let anyone use services on your + # workstation, then set "firewall_allowservices='any'" in /etc/rc.conf + # + # Note: We don't use keep-state as that would allow DoS of + # our statetable. + # You can add 'keep-state' to the lines for slightly + # better performance if you fell that DoS of your + # workstation won't be a problem. + # + for i in ${firewall_allowservices} ; do + for j in ${firewall_myservices} ; do + ${fwcmd} add pass tcp from $i to me $j + done + done + + # Allow all connections from trusted IPs. + # Playing with the content of firewall_trusted could seriously + # degrade the level of protection provided by the firewall. + for i in ${firewall_trusted} ; do + ${fwcmd} add pass ip from $i to me + done + + ${fwcmd} add 65000 count ip from any to any + + # Drop packets to ports where we don't want logging + for i in ${firewall_nologports} ; do + ${fwcmd} add deny { tcp or udp } from any to any $i in + done + + # Broadcasts and muticasts + ${fwcmd} add deny ip from any to 255.255.255.255 + ${fwcmd} add deny ip from any to 224.0.0.0/24 in # XXX + + # Noise from routers + ${fwcmd} add deny udp from any to any 520 in + + # Noise from webbrowsing. + # The statefull filter is a bit agressive, and will cause some + # connection teardowns to be logged. + ${fwcmd} add deny tcp from any 80,443 to any 1024-65535 in + + # Deny and (if wanted) log the rest unconditionally. + log="" + if [ ${firewall_logdeny:-x} = "YES" -o ${firewall_logdeny:-x} = "yes" ] ; then + log="log logamount 500" # The default of 100 is too low. + sysctl net.inet.ip.fw.verbose=1 >/dev/null + fi + ${fwcmd} add deny $log ip from any to any + ;; + [Cc][Ll][Oo][Ss][Ee][Dd]) - setup_loopback + ${fwcmd} add 65000 deny ip from any to any ;; [Uu][Nn][Kk][Nn][Oo][Ww][Nn]) ;; ==== //depot/projects/soc2006/nss_ldap_cached/src/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.11 2006/03/13 01:14:56 deischen Exp $ +# $FreeBSD: src/lib/libc/gmon/Makefile.inc,v 1.12 2006/10/28 13:34:35 bde Exp $ # gmon sources .PATH: ${.CURDIR}/gmon @@ -12,12 +12,6 @@ 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/soc2006/nss_ldap_cached/src/lib/libc/net/inet.3#2 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)inet.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/net/inet.3,v 1.30 2005/02/13 22:25:12 ru Exp $ +.\" $FreeBSD: src/lib/libc/net/inet.3,v 1.31 2006/10/28 13:05:10 ru Exp $ .\" .Dd June 14, 2004 .Dt INET 3 @@ -299,5 +299,7 @@ .Fn inet_ntoa resides in a static memory area. .Pp -Inet_addr should return a +The +.Fn inet_addr +function should return a .Fa struct in_addr . ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/fwcontrol/Makefile#2 (text+ko) ==== @@ -1,8 +1,9 @@ -# $FreeBSD: src/usr.sbin/fwcontrol/Makefile,v 1.4 2003/04/30 03:39:25 simokawa Exp $ +# $FreeBSD: src/usr.sbin/fwcontrol/Makefile,v 1.5 2006/10/26 22:33:38 imp Exp $ PROG= fwcontrol -SRCS= fwcontrol.c fwcrom.c fwdv.c +SRCS= fwcontrol.c fwcrom.c fwdv.c fwmpegts.c MAN= fwcontrol.8 +WARNS= 3 .PATH: ${.CURDIR}/../../sys/dev/firewire ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/fwcontrol/fwcontrol.8#2 (text+ko) ==== @@ -22,9 +22,9 @@ .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/usr.sbin/fwcontrol/fwcontrol.8,v 1.16 2005/01/18 20:02:34 ru Exp $ +.\" $FreeBSD: src/usr.sbin/fwcontrol/fwcontrol.8,v 1.17 2006/10/26 22:33:38 imp Exp $ .\" -.Dd December 14, 2004 +.Dd October 24, 2006 .Dt FWCONTROL 8 .Os .Sh NAME @@ -41,6 +41,7 @@ .Op Fl l Ar file .Op Fl g Ar gap_count .Op Fl b Ar pri_req +.Op Fl M Ar mode .Op Fl R Ar filename .Op Fl S Ar filename .Op Fl m Ar EUI64 | hostname @@ -84,8 +85,18 @@ Set the .Dv PRIORITY_BUDGET register on all supported nodes. +.It Fl M Ar mode +Explicitly specify either +.Ar dv +or +.Ar mpeg +mode for the incoming stream. +Only meaningful in case of and must preceed the +.Fl R +option. If not specified, the program will try to guess. If you get +an error complaining about "format 0x20", try to force the "mpeg" mode. .It Fl R Ar filename -Receive DV stream and dump it to a file. +Receive DV or MPEG TS stream and dump it to a file. Use Ctrl-C to stop the receiving. Some DV cameras seem not to send the stream if a bus manager exits. If you cannot get the stream, try the following commands: @@ -100,7 +111,14 @@ .Nm libdv in the .Fx -Ports Collection. +Ports Collection. Resulting MPEG TS stream can be played and sent over a +network using the VideoLAN +.Nm vlc +tool in the +.Fx +Ports Collection. The stream can be piped directly to +.Nm vlc, +see EXAMPLES. .It Fl S Ar filename Send a DV file as isochronous stream. .It Fl m Ar EUI64 | hostname @@ -117,7 +135,7 @@ .Pp .Dl "fwcontrol -R original.dv" .Pp -Receive stream. +Receive a DV stream with DV camera attached. .Pp .Dl "dd if=original.dv of=first.dv bs=120000 count=30" .Pp @@ -135,12 +153,42 @@ .Dq Li bs=120000 with .Dq Li bs=144000 . +.Pp +.Dl "fwcontrol -R file.m2t +.Pp +Receive an MPEG TS stream from a camera producing MPEG transport stream. This +has been tested with SONY HDR-FX1E camera that produces HD MPEG-2 stream at +25 Mbps bandwidth. +.Pp +To send the stream from the camera over the network using TCP (which supprisingly works better with vlc), you can use +.Dl "fwcontrol -R - | nc 192.168.10.11 9000 +with +.Nm netcat +from ports and to receive the stream, use +.Dl nc -l -p 9000 | vlc - +.Pp +To netcast via UDP, you need to use +.Nm buffer +program from ports, since vlc is not fast enough to read UDP packets from +buffers and thus it experiences dropouts when run directly. The sending side +can use +.Dl "fwcontrol -R - | nc 192.168.10.11 9000 +and to receive the stream, use +.Dl nc -l -u -p 9000 | buffer -s 10k -b 1000 -m 20m -p 5 | vlc - +.Pp + +.Pp +For more information on how to work with +.Nm vlc +see its docs. .Sh SEE ALSO .Xr firewire 4 , .Xr fwe 4 , .Xr fwip 4 , .Xr fwohci 4 , -.Xr sbp 4 +.Xr sbp 4 , +.Xr mplayer 1 , +.Xr vlc 1 .Sh HISTORY The .Nm @@ -148,5 +196,9 @@ .Fx 5.0 . .Sh AUTHORS .An Hidetoshi Shimokawa Aq simokawa@FreeBSD.org +.An Petr Holub Aq hopet@ics.muni.cz +- MPEG TS mode. .Sh BUGS This utility is still under development and provided for debugging purposes. +Especially MPEG TS reception support is very rudimental and supports only +high-bandwidth MPEG-2 streams (fn field in CIP header equals 3). ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/fwcontrol/fwcontrol.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/usr.sbin/fwcontrol/fwcontrol.c,v 1.22 2005/05/20 12:50:47 charnier Exp $"); +__FBSDID("$FreeBSD: src/usr.sbin/fwcontrol/fwcontrol.c,v 1.23 2006/10/26 22:33:38 imp Exp $"); #include #include @@ -46,6 +46,7 @@ #include #include #include +#include #include #include @@ -53,12 +54,11 @@ #include #include #include +#include #include +#include "fwmethods.h" -extern int dvrecv(int, char *, char, int); -extern int dvsend(int, char *, char, int); - -int sysctl_set_int(const char *, int); +static void sysctl_set_int(const char *, int); static void usage(void) @@ -77,10 +77,10 @@ "\t-t: read topology map\n" "\t-d: hex dump of configuration ROM\n" "\t-l: load and parse hex dump file of configuration ROM\n" - "\t-R: Receive DV stream\n" + "\t-R: Receive DV or MPEG TS stream\n" "\t-S: Send DV stream\n" "\t-m: set fwmem target\n"); - exit(0); + exit(EX_USAGE); } static void @@ -276,7 +276,7 @@ } static void -set_pri_req(int fd, int pri_req) +set_pri_req(int fd, u_int32_t pri_req) { struct fw_devlstreq *data; struct fw_devinfo *devinfo; @@ -296,7 +296,7 @@ eui64_ntoa(&eui, addr, sizeof(addr)); printf("%d %s, %08x", devinfo->dst, addr, reg); - if (reg > 0 && pri_req >= 0) { + if (reg > 0) { old = (reg & 0x3f); max = (reg & 0x3f00) >> 8; if (pri_req > max) @@ -311,7 +311,7 @@ } static void -parse_bus_info_block(u_int32_t *p, int info_len) +parse_bus_info_block(u_int32_t *p) { char addr[EUI64_SIZ]; struct bus_info *bi; @@ -392,7 +392,7 @@ printf("(OK)\n"); else printf("(NG)\n"); - parse_bus_info_block(crom_buf+1, hdr->info_len); + parse_bus_info_block(crom_buf+1); crom_init_context(&cc, crom_buf); dir = cc.stack[0].dir; @@ -603,21 +603,71 @@ } } -int +static void sysctl_set_int(const char *name, int val) { if (sysctlbyname(name, NULL, NULL, &val, sizeof(int)) < 0) err(1, "sysctl %s failed.", name); } +static fwmethod * +detect_recv_fn(int fd, char ich) +{ + char *buf; + struct fw_isochreq isoreq; + struct fw_isobufreq bufreq; + int len; + u_int32_t *ptr; + struct ciphdr *ciph; + fwmethod *retfn; + + bufreq.rx.nchunk = 8; + bufreq.rx.npacket = 16; + bufreq.rx.psize = 1024; + bufreq.tx.nchunk = 0; + bufreq.tx.npacket = 0; + bufreq.tx.psize = 0; + + if (ioctl(fd, FW_SSTBUF, &bufreq) < 0) + err(1, "ioctl FW_SSTBUF"); + + isoreq.ch = ich & 0x3f; + isoreq.tag = (ich >> 6) & 3; + + if (ioctl(fd, FW_SRSTREAM, &isoreq) < 0) + err(1, "ioctl FW_SRSTREAM"); + + buf = (char *)malloc(1024*16); + len = read(fd, buf, 1024*16); + ptr = (u_int32_t *) buf; + ciph = (struct ciphdr *)(ptr + 1); + + switch(ciph->fmt) { + case CIP_FMT_DVCR: + fprintf(stderr, "Detected DV format on input.\n"); + retfn = dvrecv; + break; + case CIP_FMT_MPEG: + fprintf(stderr, "Detected MPEG TS format on input.\n"); + retfn = mpegtsrecv; + break; + default: + errx(1, "Unsupported format for receiving: fmt=0x%x", ciph->fmt); + } + free(buf); + return retfn; +} + int main(int argc, char **argv) { u_int32_t crom_buf[1024/4]; char devbase[1024] = "/dev/fw0"; - int fd, tmp, ch, len=1024; + int fd, ch, len=1024; + long tmp; struct fw_eui64 eui; struct eui64 target; + fwmethod *recvfn = NULL; fd = -1; @@ -626,10 +676,12 @@ list_dev(fd); } - while ((ch = getopt(argc, argv, "g:m:o:s:b:prtc:d:l:u:R:S:")) != -1) + while ((ch = getopt(argc, argv, "M:g:m:o:s:b:prtc:d:l:u:R:S:")) != -1) switch(ch) { case 'b': tmp = strtol(optarg, NULL, 0); + if (tmp < 0 || tmp > (long)0xffffffff) + errx(EX_USAGE, "invalid number: %s", optarg); open_dev(&fd, devbase); set_pri_req(fd, tmp); break; @@ -657,7 +709,7 @@ case 'm': if (eui64_hostton(optarg, &target) != 0 && eui64_aton(optarg, &target) != 0) - errx(1, "invalid target: %s", optarg); + errx(EX_USAGE, "invalid target: %s", optarg); eui.hi = ntohl(*(u_int32_t*)&(target.octet[0])); eui.lo = ntohl(*(u_int32_t*)&(target.octet[4])); sysctl_set_int("hw.firewire.fwmem.eui64_hi", eui.hi); @@ -688,7 +740,7 @@ break; case 'u': tmp = strtol(optarg, NULL, 0); - snprintf(devbase, sizeof(devbase), "/dev/fw%d", tmp); + snprintf(devbase, sizeof(devbase), "/dev/fw%ld", tmp); if (fd > 0) { close(fd); fd = -1; @@ -700,9 +752,27 @@ break; #define TAG (1<<6) #define CHANNEL 63 + case 'M': + switch (optarg[0]) { + case 'm': + recvfn = mpegtsrecv; + break; + case 'd': + recvfn = dvrecv; + break; + default: + errx(EX_USAGE, "unrecognized method: %s", + optarg); + } + break; case 'R': open_dev(&fd, devbase); - dvrecv(fd, optarg, TAG | CHANNEL, -1); + if (recvfn == NULL) /* guess... */ + recvfn = detect_recv_fn(fd, TAG | CHANNEL); + close(fd); + fd = -1; + open_dev(&fd, devbase); + (*recvfn)(fd, optarg, TAG | CHANNEL, -1); break; case 'S': open_dev(&fd, devbase); ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/fwcontrol/fwdv.c#2 (text+ko) ==== @@ -1,7 +1,7 @@ /* * Copyright (C) 2003 * Hidetoshi Shimokawa. All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -18,7 +18,7 @@ * 4. Neither the name of the author nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. - * + * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -30,8 +30,8 @@ * LIABILITY, OR TORT (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/usr.sbin/fwcontrol/fwdv.c,v 1.5 2003/04/17 03:38:03 simokawa Exp $ + * + * $FreeBSD: src/usr.sbin/fwcontrol/fwdv.c,v 1.6 2006/10/26 22:33:38 imp Exp $ */ #include #include @@ -50,15 +50,18 @@ #include #include #include +#include #include #include +#include "fwmethods.h" + #define DEBUG 0 #define FIX_FRAME 1 struct frac { - int n,d; + int n,d; }; struct frac frame_cycle[2] = { @@ -88,8 +91,8 @@ #define MAXBLOCKS (300) #define CYCLE_FRAC 0xc00 -int -dvrecv(int d, char *filename, char ich, int count) +void +dvrecv(int d, const char *filename, char ich, int count) { struct fw_isochreq isoreq; struct fw_isobufreq bufreq; @@ -102,9 +105,15 @@ int nblocks[] = {250 /* NTSC */, 300 /* PAL */}; struct iovec wbuf[NPACKET_R]; - fd = open(filename, O_CREAT | O_WRONLY | O_TRUNC, 0660); - buf = (char *)malloc(RBUFSIZE); - pad = (char *)malloc(DSIZE*MAXBLOCKS); + if(strcmp(filename, "-") == 0) { + fd = STDOUT_FILENO; + } else { + fd = open(filename, O_CREAT | O_WRONLY | O_TRUNC, 0660); + if (fd == -1) + err(EX_NOINPUT, filename); + } + buf = malloc(RBUFSIZE); + pad = malloc(DSIZE*MAXBLOCKS); memset(pad, 0xff, DSIZE*MAXBLOCKS); bzero(wbuf, sizeof(wbuf)); @@ -114,14 +123,13 @@ bufreq.tx.nchunk = 0; bufreq.tx.npacket = 0; bufreq.tx.psize = 0; - if (ioctl(d, FW_SSTBUF, &bufreq) < 0) { - err(1, "ioctl"); - } + if (ioctl(d, FW_SSTBUF, &bufreq) < 0) + err(1, "ioctl FW_SSTBUF"); isoreq.ch = ich & 0x3f; isoreq.tag = (ich >> 6) & 3; - if( ioctl(d, FW_SRSTREAM, &isoreq) < 0) + if (ioctl(d, FW_SRSTREAM, &isoreq) < 0) err(1, "ioctl"); k = m = 0; @@ -147,7 +155,7 @@ tlen = len = read(d, buf, RBUFSIZE); if (len < 0) { if (errno == EAGAIN) { - fprintf(stderr, "(EAGAIN)\n"); + fprintf(stderr, "(EAGAIN) - push 'Play'?\n"); fflush(stderr); if (len <= 0) continue; @@ -158,7 +166,7 @@ vec = 0; ptr = (u_int32_t *) buf; again: - pkt = (struct fw_pkt *) ptr; + pkt = (struct fw_pkt *) ptr; #if DEBUG fprintf(stderr, "%08x %08x %08x %08x\n", htonl(ptr[0]), htonl(ptr[1]), @@ -186,7 +194,7 @@ if (dv->sct == DV_SCT_HEADER && dv->dseq == 0) { if (system < 0) { system = ciph->fdf.dv.fs; - printf("%s\n", system_name[system]); + fprintf(stderr, "%s\n", system_name[system]); } /* Fix DSF bit */ @@ -237,21 +245,22 @@ if (vec > 0) writev(fd, wbuf, vec); } - close(fd); + if(fd != STDOUT_FILENO) { + close(fd); + } fprintf(stderr, "\n"); - return 0; } -int -dvsend(int d, char *filename, char ich, int count) +void +dvsend(int d, const char *filename, char ich, int count) { struct fw_isochreq isoreq; struct fw_isobufreq bufreq; struct dvdbc *dv; struct fw_pkt *pkt; int len, tlen, header, fd, frames, packets, vec, offset, nhdr, i; - int system=-1, pad_acc, cycle_acc, cycle, f_cycle, f_frac; + int system=-1, pad_acc, cycle_acc, cycle, f_cycle, f_frac; struct iovec wbuf[TNBUF*2 + NEMPTY]; char *pbuf; u_int32_t iso_data, iso_empty, hdr[TNBUF + NEMPTY][3]; @@ -260,7 +269,10 @@ double rtime; fd = open(filename, O_RDONLY); - pbuf = (char *)malloc(DSIZE * TNBUF); + if (fd == -1) + err(EX_NOINPUT, filename); + + pbuf = malloc(DSIZE * TNBUF); bzero(wbuf, sizeof(wbuf)); bufreq.rx.nchunk = 0; @@ -269,15 +281,14 @@ bufreq.tx.nchunk = NCHUNK; bufreq.tx.npacket = NPACKET_T; bufreq.tx.psize = PSIZE; - if (ioctl(d, FW_SSTBUF, &bufreq) < 0) { - err(1, "ioctl"); - } + if (ioctl(d, FW_SSTBUF, &bufreq) < 0) + err(1, "ioctl FW_SSTBUF"); isoreq.ch = ich & 0x3f; isoreq.tag = (ich >> 6) & 3; - if( ioctl(d, FW_STSTREAM, &isoreq) < 0) - err(1, "ioctl"); + if (ioctl(d, FW_STSTREAM, &isoreq) < 0) + err(1, "ioctl FW_STSTREAM"); iso_data = 0; pkt = (struct fw_pkt *) &iso_data; @@ -298,9 +309,8 @@ ciph->eoh1 = 1; ciph->fdf.dv.cyc = 0xffff; - for (i = 1; i < TNBUF; i++) { + for (i = 1; i < TNBUF; i++) bcopy(hdr[0], hdr[i], sizeof(hdr[0])); - } gettimeofday(&start, NULL); #if DEBUG @@ -320,7 +330,7 @@ if (len < 0) warn("read"); else - printf("\nend of file\n"); + fprintf(stderr, "\nend of file\n"); goto send_end; } tlen += len; @@ -391,8 +401,7 @@ len = writev(d, wbuf, vec); if (len < 0) { if (errno == EAGAIN) { - fprintf(stderr, "(EAGAIN)\n"); - fflush(stderr); + fprintf(stderr, "(EAGAIN) - push 'Play'?\n"); goto again; } err(1, "write failed"); @@ -402,9 +411,8 @@ fprintf(stderr, "\n"); send_end: gettimeofday(&end, NULL); - rtime = end.tv_sec - start.tv_sec + rtime = end.tv_sec - start.tv_sec + (end.tv_usec - start.tv_usec) * 1e-6; fprintf(stderr, "%d frames, %.2f secs, %.2f frames/sec\n", frames, rtime, frames/rtime); - return 0; } From owner-p4-projects@FreeBSD.ORG Mon Oct 30 09:46:31 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C1B8316A40F; Mon, 30 Oct 2006 09:46:31 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 98C5716A403 for ; Mon, 30 Oct 2006 09:46:31 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 42D5943D4C for ; Mon, 30 Oct 2006 09:46:31 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9U9kVSQ083763 for ; Mon, 30 Oct 2006 09:46:31 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9U9kUi2083760 for perforce@freebsd.org; Mon, 30 Oct 2006 09:46:30 GMT (envelope-from bushman@freebsd.org) Date: Mon, 30 Oct 2006 09:46:30 GMT Message-Id: <200610300946.k9U9kUi2083760@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 108719 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 09:46:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=108719 Change 108719 by bushman@bushman_nss_ldap_cached on 2006/10/30 09:45:51 IFC Affected files ... .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/defaults/rc.conf#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/network.subr#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/pf.os#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/ppp#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.firewall#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/gmon/Makefile.inc#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/net/inet.3#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/resolv/res_send.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/stdio/xprintf.c#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/hashtable.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldap_group.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldap_group.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldap_passwd.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldap_passwd.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldap_serv.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldap_serv.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldapconf.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldapconf.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldapconn.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldapsearch.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldapsearch.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldaputil.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldaputil.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/nss_ldap.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/nss_ldap.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/share/mk/bsd.lib.mk#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/config/config.5#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/config/config.h#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/config/config.y#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/config/main.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/config/mkmakefile.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/fdcontrol/fdcontrol.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/fwcontrol/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/fwcontrol/fwcontrol.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/fwcontrol/fwcontrol.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/fwcontrol/fwdv.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/fwcontrol/fwmethods.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/fwcontrol/fwmpegts.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/smbmsg/smbmsg.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/sysinstall/dist.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/sysinstall/install.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/usr.sbin/sysinstall/sysinstall.h#2 integrate Differences ... ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/defaults/rc.conf#3 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.300 2006/10/15 15:55:00 ceri Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.301 2006/10/28 20:08:12 phk Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -104,6 +104,16 @@ firewall_quiet="NO" # Set to YES to suppress rule display firewall_logging="NO" # Set to YES to enable events logging firewall_flags="" # Flags passed to ipfw when type is a file +firewall_myservices="" # List of TCP ports on which this host + # offers services +firewall_allowservices="" # List of IPs which has access to + # $firewall_myservices +firewall_trusted="" # List of IPs which has full access to this host +firewall_logdeny="NO" # Set to YES to log default denied incoming + # packets. +firewall_nologports="135-139,445 1026,1027 1433,1434" # List of TCP/UDP ports + # for which denied incoming packets are not + # logged. ip_portrange_first="NO" # Set first dynamically allocated port ip_portrange_last="NO" # Set last dynamically allocated port ike_enable="NO" # Enable IKE daemon (usually racoon or isakmpd) ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/network.subr#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/etc/network.subr,v 1.175 2006/10/07 15:45:56 ume Exp $ +# $FreeBSD: src/etc/network.subr,v 1.176 2006/10/29 13:29:49 mlaier Exp $ # # @@ -690,7 +690,7 @@ if [ ${rtsol_available} = yes -a ${rtsol_interface} = yes ] then case ${i} in - lo0|gif[0-9]*|stf[0-9]*|faith[0-9]*|lp[0-9]*|sl[0-9]*|tun[0-9]*) + lo0|gif[0-9]*|stf[0-9]*|faith[0-9]*|lp[0-9]*|sl[0-9]*|tun[0-9]*|pflog[0-9]*|pfsync[0-9]*) ;; *) rtsol_interfaces="${rtsol_interfaces} ${i}" ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/pf.os#2 (text+ko) ==== @@ -1,5 +1,5 @@ -# $FreeBSD: src/etc/pf.os,v 1.3 2004/09/14 00:30:14 mlaier Exp $ -# $OpenBSD: pf.os,v 1.17 2004/04/28 01:01:27 deraadt Exp $ +# $FreeBSD: src/etc/pf.os,v 1.4 2006/10/23 05:09:44 delphij Exp $ +# $OpenBSD: pf.os,v 1.21 2006/07/28 21:51:12 david Exp $ # passive OS fingerprinting # ------------------------- # @@ -223,9 +223,10 @@ S4:64:1:60:M1360,S,T,N,W0: Linux:google::Linux (Google crawlbot) S2:64:1:60:M*,S,T,N,W0: Linux:2.4::Linux 2.4 (big boy) -S3:64:1:60:M*,S,T,N,W0: Linux:2.4:18-21:Linux 2.4.18 and newer -S4:64:1:60:M*,S,T,N,W0: Linux:2.4::Linux 2.4/2.6 -S4:64:1:60:M*,S,T,N,W0: Linux:2.6::Linux 2.4/2.6 +S3:64:1:60:M*,S,T,N,W0: Linux:2.4:.18-21:Linux 2.4.18 and newer +S4:64:1:60:M*,S,T,N,W0: Linux:2.4::Linux 2.4/2.6 <= 2.6.7 +S4:64:1:60:M*,S,T,N,W0: Linux:2.6:.1-7:Linux 2.4/2.6 <= 2.6.7 +S4:64:1:60:M*,S,T,N,W7: Linux:2.6:8:Linux 2.6.8 and newer (?) S3:64:1:60:M*,S,T,N,W1: Linux:2.5::Linux 2.5 (sometimes 2.4) S4:64:1:60:M*,S,T,N,W1: Linux:2.5-2.6::Linux 2.5/2.6 @@ -260,27 +261,28 @@ # ----------------- FreeBSD ----------------- -16384:64:1:44:M*: FreeBSD:2.0-2.2::FreeBSD 2.0-4.1 -16384:64:1:44:M*: FreeBSD:3.0-3.5::FreeBSD 2.0-4.1 -16384:64:1:44:M*: FreeBSD:4.0-4.1::FreeBSD 2.0-4.1 +16384:64:1:44:M*: FreeBSD:2.0-2.2::FreeBSD 2.0-4.2 +16384:64:1:44:M*: FreeBSD:3.0-3.5::FreeBSD 2.0-4.2 +16384:64:1:44:M*: FreeBSD:4.0-4.2::FreeBSD 2.0-4.2 16384:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.4::FreeBSD 4.4 1024:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.4::FreeBSD 4.4 57344:64:1:44:M*: FreeBSD:4.6-4.8:noRFC1323:FreeBSD 4.6-4.8 (no RFC1323) -57344:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.6-4.8::FreeBSD 4.6-4.8 +57344:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.6-4.9::FreeBSD 4.6-4.9 -32768:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.8-4.9::FreeBSD 4.8-5.1 (or MacOS X) +32768:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.8-4.11::FreeBSD 4.8-5.1 (or MacOS X) 32768:64:1:60:M*,N,W0,N,N,T: FreeBSD:5.0-5.1::FreeBSD 4.8-5.1 (or MacOS X) -65535:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.8-4.9::FreeBSD 4.8-5.1 (or MacOS X) -65535:64:1:60:M*,N,W0,N,N,T: FreeBSD:5.0-5.1::FreeBSD 4.8-5.1 (or MacOS X) -65535:64:1:60:M*,N,W1,N,N,T: FreeBSD:4.7-4.9::FreeBSD 4.7-5.1 -65535:64:1:60:M*,N,W1,N,N,T: FreeBSD:5.0-5.1::FreeBSD 4.7-5.1 +65535:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.8-4.11::FreeBSD 4.8-5.2 (or MacOS X) +65535:64:1:60:M*,N,W0,N,N,T: FreeBSD:5.0-5.2::FreeBSD 4.8-5.2 (or MacOS X) +65535:64:1:60:M*,N,W1,N,N,T: FreeBSD:4.7-4.11::FreeBSD 4.7-5.2 +65535:64:1:60:M*,N,W1,N,N,T: FreeBSD:5.0-5.2::FreeBSD 4.7-5.2 # XXX need quirks support -# 65535:64:1:60:M*,N,W0,N,N,T:Z:FreeBSD:5.1-current (1) -# 65535:64:1:60:M*,N,W1,N,N,T:Z:FreeBSD:5.1-current (2) -# 65535:64:1:60:M*,N,W2,N,N,T:Z:FreeBSD:5.1-current (3) +# 65535:64:1:60:M*,N,W0,N,N,T:Z:FreeBSD:5.1-5.4::5.1-current (1) +# 65535:64:1:60:M*,N,W1,N,N,T:Z:FreeBSD:5.1-5.4::5.1-current (2) +# 65535:64:1:60:M*,N,W2,N,N,T:Z:FreeBSD:5.1-5.4::5.1-current (3) +# 65535:64:1:44:M*:Z:FreeBSD:5.2::FreeBSD 5.2 (no RFC1323) # 16384:64:1:60:M*,N,N,N,N,N,N,T:FreeBSD:4.4:noTS:FreeBSD 4.4 (w/o timestamps) @@ -297,12 +299,12 @@ # ----------------- OpenBSD ----------------- 16384:64:0:60:M*,N,W0,N,N,T: OpenBSD:2.6::NetBSD 1.3 (or OpenBSD 2.6) -16384:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-3.5::OpenBSD 3.0-3.5 -16384:64:0:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-3.5:no-df:OpenBSD 3.0-3.5 (scrub no-df) -57344:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.3-3.5::OpenBSD 3.3-3.5 -57344:64:0:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.3-3.5:no-df:OpenBSD 3.3-3.5 (scrub no-df) +16384:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-4.0::OpenBSD 3.0-4.0 +16384:64:0:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-4.0:no-df:OpenBSD 3.0-4.0 (scrub no-df) +57344:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.3-4.0::OpenBSD 3.3-4.0 +57344:64:0:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.3-4.0:no-df:OpenBSD 3.3-4.0 (scrub no-df) -65535:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-3.5:opera:OpenBSD 3.0-3.5 (Opera) +65535:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-4.0:opera:OpenBSD 3.0-4.0 (Opera) # ----------------- Solaris ----------------- @@ -317,7 +319,8 @@ 4096:64:0:44:M1460: SunOS:4.1::SunOS 4.1.x -S34:64:1:52:M*,N,W0,N,N,S: Solaris:10::Solaris 10 (beta) +S34:64:1:52:M*,N,W0,N,N,S: Solaris:10:beta:Solaris 10 (beta) +32850:64:1:64:M*,N,N,T,N,W1,N,N,S: Solaris:10::Solaris 10 1203 # ----------------- IRIX -------------------- @@ -329,6 +332,9 @@ 61440:64:0:48:M*,N,N,S: IRIX:6.5:12-21:IRIX 6.5.12 - 6.5.21 49152:64:0:48:M*,N,N,S: IRIX:6.5:15-21:IRIX 6.5.15 - 6.5.21 +49152:60:0:64:M*,N,W2,N,N,T,N,N,S: IRIX:6.5:IP27:IRIX 6.5 IP27 + + # ----------------- Tru64 ------------------- 32768:64:1:48:M*,N,W0: Tru64:4.0::Tru64 4.0 (or OS/2 Warp 4) @@ -428,6 +434,11 @@ 16384:128:1:52:M536,N,W0,N,N,S: Windows:2000:ZoneAlarm:Windows 2000 w/ZoneAlarm? 2048:255:0:40:.: Windows:.NET::Windows .NET Enterprise Server +44620:64:0:48:M*,N,N,S: Windows:ME::Windows ME no SP (?) +S6:255:1:48:M536,N,N,S: Windows:95:winsock2:Windows 95 winsock 2 +32768:32:1:52:M1460,N,W0,N,N,S: Windows:2003:AS:Windows 2003 AS + + # No need to be more specific, it passes: # *:128:1:48:M*,N,N,S:U:-Windows:XP/2000 while downloading (leak!) XXX quirk # there is an equiv similar generic sig w/o the quirk @@ -442,7 +453,6 @@ # Whoa. Hardcore WSS. 0:64:0:48:M*,W0,N: HP-UX:B.11.00:A:HP-UX B.11.00 A (RFC1323) - # ----------------- RiscOS ------------------ # We don't yet support the ?12 TCP option @@ -453,6 +463,7 @@ # 4096:64:1:56:M1460,N,N,T:T: RISC OS:3.70:freenet:RISC OS 3.70 freenet 2.00 + # ----------------- BSD/OS ------------------ # Once again, power of two WSS is also shared by MacOS X with DF set @@ -466,6 +477,7 @@ # ---------------- NeXTSTEP ----------------- +S4:64:0:44:M1024: NeXTSTEP:3.3::NeXTSTEP 3.3 S8:64:0:44:M512: NeXTSTEP:3.3::NeXTSTEP 3.3 # ------------------ BeOS ------------------- @@ -501,15 +513,18 @@ # ----------------- SCO ------------------ S3:64:1:60:M1460,N,W0,N,N,T: SCO:UnixWare:7.1:SCO UnixWare 7.1 +S17:64:1:60:M1380,N,W0,N,N,T: SCO:UnixWare:7.1:SCO UnixWare 7.1.3 MP3 S23:64:1:44:M1380: SCO:OpenServer:5.0:SCO OpenServer 5.0 # ------------------- DOS ------------------- 2048:255:0:44:M536: DOS:WATTCP:1.05:DOS Arachne via WATTCP/1.05 +T2:255:0:44:M984: DOS:WATTCP:1.05Arachne:Arachne via WATTCP/1.05 (eepro) # ------------------ OS/2 ------------------- S56:64:0:44:M512: OS/2:4::OS/2 4 +28672:64:0:44:M1460: OS/2:4::OS/2 Warp 4.0 # ----------------- TOPS-20 ----------------- @@ -517,6 +532,10 @@ # XXX QUIRK 0:64:0:44:M1460:A:TOPS-20:version 7 0:64:0:44:M1460: TOPS-20:7::TOPS-20 version 7 +# ----------------- FreeMiNT ---------------- + +S44:255:0:44:M536: FreeMiNT:1:16A:FreeMiNT 1 patch 16A (Atari) + # ------------------ AMIGA ------------------ # XXX TCP option 12 @@ -539,7 +558,6 @@ S12:64:1:44:M1460: @Checkpoint:::Checkpoint (unknown 1) S12:64:1:48:N,N,S,M1460: @Checkpoint:::Checkpoint (unknown 2) 4096:32:0:44:M1460: ExtremeWare:4.x::ExtremeWare 4.x -60352:64:0:52:M1460,N,W2,N,N,S: Clavister:7::Clavister firewall 7.x # XXX TCP option 12 # S32:64:0:68:M512,N,W0,N,N,T,N,N,?12:.:Nokia:IPSO w/Checkpoint NG FP3 @@ -549,6 +567,9 @@ 8192:64:1:44:M1460: Eagle:::Eagle Secure Gateway +S52:128:1:48:M1260,N,N,N,N: LinkSys:WRV54G::LinkSys WRV54G VPN router + + # ------- Switches and other stuff ---------- @@ -581,6 +602,10 @@ 16384:255:0:40:.: Proxyblocker:::Proxyblocker (what's this?) +65535:255:0:48:M*,N,N,S: Redline:::Redline T|X 2200 + +32696:128:0:40:M1460: Spirent:Avalanche::Spirent Web Avalanche HTTP benchmarking engine + # ----------- Embedded systems -------------- S9:255:0:44:M536: PalmOS:Tungsten:C:PalmOS Tungsten C @@ -589,10 +614,15 @@ S4:255:0:44:M536: PalmOS:3:5:PalmOS 3.5 2948:255:0:44:M536: PalmOS:3:5:PalmOS 3.5.3 (Handera) S29:255:0:44:M536: PalmOS:5::PalmOS 5.0 +16384:255:0:44:M1398: PalmOS:5.2:Clie:PalmOS 5.2 (Clie) +S14:255:0:44:M1350: PalmOS:5.2:Treo:PalmOS 5.2.1 (Treo) S23:64:1:64:N,W1,N,N,T,N,N,S,M1460: SymbianOS:7::SymbianOS 7 -8192:255:0:44:M1460: SymbianOS:6048::SymbianOS 6048 (on Nokia 7650?) -8192:255:0:44:M536: SymbianOS:::SymbianOS (on Nokia 9210?) + +8192:255:0:44:M1460: SymbianOS:6048::Symbian OS 6048 (Nokia 7650?) +8192:255:0:44:M536: SymbianOS:9210::Symbian OS (Nokia 9210?) +S22:64:1:56:M1460,T,S: SymbianOS:P800::Symbian OS ? (SE P800?) +S36:64:1:56:M1360,T,S: SymbianOS:6600::Symbian OS 60xx (Nokia 6600?) # Perhaps S4? @@ -608,8 +638,8 @@ S12:64:0:44:M1452: AXIS:5600:v5.64:AXIS Printer Server 5600 v5.64 +3100:32:1:44:M1460: Windows:CE:2.0:Windows CE 2.0 - #################### # Fancy signatures # #################### @@ -619,11 +649,23 @@ 3072:64:0:40:.: *NMAP:syn scan:3:NMAP syn scan (3) 4096:64:0:40:.: *NMAP:syn scan:4:NMAP syn scan (4) +# Requires quirks support +# 1024:64:0:40:.:A:*NMAP:TCP sweep probe (1) +# 2048:64:0:40:.:A:*NMAP:TCP sweep probe (2) +# 3072:64:0:40:.:A:*NMAP:TCP sweep probe (3) +# 4096:64:0:40:.:A:*NMAP:TCP sweep probe (4) + 1024:64:0:60:W10,N,M265,T: *NMAP:OS:1:NMAP OS detection probe (1) 2048:64:0:60:W10,N,M265,T: *NMAP:OS:2:NMAP OS detection probe (2) 3072:64:0:60:W10,N,M265,T: *NMAP:OS:3:NMAP OS detection probe (3) 4096:64:0:60:W10,N,M265,T: *NMAP:OS:4:NMAP OS detection probe (4) +32767:64:0:40:.: *NAST:::NASTsyn scan + +# Requires quirks support +# 12345:255:0:40:.:A:-p0f:sendsyn utility + + ##################################### # Generic signatures - just in case # ##################################### @@ -633,6 +675,8 @@ *:128:1:52:M*,N,W0,N,N,S: @Windows:XP:RFC1323:Windows XP/2000 (RFC1323 no tstamp) *:128:1:52:M*,N,W0,N,N,S: @Windows:2000:RFC1323:Windows XP/2000 (RFC1323 no tstamp) +*:128:1:52:M*,N,W*,N,N,S: @Windows:XP:RFC1323:Windows XP/2000 (RFC1323 no tstamp) +*:128:1:52:M*,N,W*,N,N,S: @Windows:2000:RFC1323:Windows XP/2000 (RFC1323 no tstamp) *:128:1:64:M*,N,W0,N,N,T0,N,N,S: @Windows:XP:RFC1323:Windows XP/2000 (RFC1323) *:128:1:64:M*,N,W0,N,N,T0,N,N,S: @Windows:2000:RFC1323:Windows XP/2000 (RFC1323) *:128:1:64:M*,N,W*,N,N,T0,N,N,S: @Windows:XP:RFC1323:Windows XP (RFC1323, w+) ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.d/ppp#2 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/ppp,v 1.11 2005/10/29 05:00:25 yar Exp $ +# $FreeBSD: src/etc/rc.d/ppp,v 1.12 2006/10/26 00:29:43 avatar Exp $ # # PROVIDE: ppp @@ -40,9 +40,10 @@ ppp_postcmd() { - # Re-Sync ipfilter so it picks up any new network interfaces + # Re-Sync ipfilter and pf so they pick up any new network interfaces # /etc/rc.d/ipfilter resync + /etc/rc.d/pf resync } load_rc_config $name ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/etc/rc.firewall#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/etc/rc.firewall,v 1.48 2005/11/18 02:23:59 ume Exp $ +# $FreeBSD: src/etc/rc.firewall,v 1.49 2006/10/28 20:08:12 phk Exp $ # # @@ -42,12 +42,14 @@ ############ # Define the firewall type in /etc/rc.conf. Valid values are: -# open - will allow anyone in -# client - will try to protect just this machine -# simple - will try to protect a whole network -# closed - totally disables IP services except via lo0 interface -# UNKNOWN - disables the loading of firewall rules. -# filename - will load the rules in the given filename (full path required) +# open - will allow anyone in +# client - will try to protect just this machine +# simple - will try to protect a whole network +# closed - totally disables IP services except via lo0 interface +# workstation - will try to protect just this machine using statefull +# firewalling. See below for rc.conf variables used +# UNKNOWN - disables the loading of firewall rules. +# filename - will load the rules in the given filename (full path required) # # For ``client'' and ``simple'' the entries below should be customized # appropriately. @@ -107,6 +109,8 @@ # ${fwcmd} -f flush +setup_loopback + ############ # Network Address Translation. All packets are passed to natd(8) # before they encounter your remaining rules. The firewall rules @@ -140,7 +144,6 @@ # case ${firewall_type} in [Oo][Pp][Ee][Nn]) - setup_loopback ${fwcmd} add 65000 pass all from any to any ;; @@ -155,8 +158,6 @@ mask="255.255.255.0" ip="192.0.2.1" - setup_loopback - # Allow any traffic to or from my own net. ${fwcmd} add pass all from ${ip} to ${net}:${mask} ${fwcmd} add pass all from ${net}:${mask} to ${ip} @@ -168,19 +169,19 @@ ${fwcmd} add pass all from any to any frag # Allow setup of incoming email - ${fwcmd} add pass tcp from any to ${ip} 25 setup + ${fwcmd} add pass tcp from any to me 25 setup # Allow setup of outgoing TCP connections only - ${fwcmd} add pass tcp from ${ip} to any setup + ${fwcmd} add pass tcp from me to any setup # Disallow setup of all other TCP connections ${fwcmd} add deny tcp from any to any setup # Allow DNS queries out in the world - ${fwcmd} add pass udp from ${ip} to any 53 keep-state + ${fwcmd} add pass udp from me to any 53 keep-state # Allow NTP queries out in the world - ${fwcmd} add pass udp from ${ip} to any 123 keep-state + ${fwcmd} add pass udp from me to any 123 keep-state # Everything else is denied by default, unless the # IPFIREWALL_DEFAULT_TO_ACCEPT option is set in your kernel @@ -206,8 +207,6 @@ imask="255.255.255.240" iip="192.0.2.17" - setup_loopback - # Stop spoofing ${fwcmd} add deny all from ${inet}:${imask} to any in via ${oif} ${fwcmd} add deny all from ${onet}:${omask} to any in via ${iif} @@ -289,8 +288,100 @@ # config file. ;; +[Ww][Oo][Rr][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]) + # Configuration: + # firewall_myservices: List of TCP ports on which this host + # offers services. + # firewall_allowservices: List of IPs which has access to + # $firewall_myservices. + # firewall_trusted: List of IPs which has full access + # to this host. Be very carefull + # when setting this. This option can + # seriously degrade the level of + # protection provided by the firewall. + # firewall_logdeny: Boolean (YES/NO) specifying if the + # default denied packets should be + # logged (in /var/log/security). + # firewall_nologports: List of TCP/UDP ports for which + # denied incomming packets are not + # logged. + + # Allow packets for which a state has been built. + ${fwcmd} add check-state + + # For services permitted below. + ${fwcmd} add pass tcp from me to any established + + # Allow any connection out, adding state for each. + ${fwcmd} add pass tcp from me to any setup keep-state + ${fwcmd} add pass udp from me to any keep-state + ${fwcmd} add pass icmp from me to any keep-state + + # Allow DHCP. + ${fwcmd} add pass udp from 0.0.0.0 68 to 255.255.255.255 67 out + ${fwcmd} add pass udp from any 67 to me 68 in + ${fwcmd} add pass udp from any 67 to 255.255.255.255 68 in + # Some servers will ping the IP while trying to decide if it's + # still in use. + ${fwcmd} add pass icmp from any to any icmptype 8 + + # Allow "mandatory" ICMP in. + ${fwcmd} add pass icmp from any to any icmptype 3,4,11 + + # Add permits for this workstations published services below + # Only IPs and nets in firewall_allowservices is allowed in. + # If you really wish to let anyone use services on your + # workstation, then set "firewall_allowservices='any'" in /etc/rc.conf + # + # Note: We don't use keep-state as that would allow DoS of + # our statetable. + # You can add 'keep-state' to the lines for slightly + # better performance if you fell that DoS of your + # workstation won't be a problem. + # + for i in ${firewall_allowservices} ; do + for j in ${firewall_myservices} ; do + ${fwcmd} add pass tcp from $i to me $j + done + done + + # Allow all connections from trusted IPs. + # Playing with the content of firewall_trusted could seriously + # degrade the level of protection provided by the firewall. + for i in ${firewall_trusted} ; do + ${fwcmd} add pass ip from $i to me + done + + ${fwcmd} add 65000 count ip from any to any + + # Drop packets to ports where we don't want logging + for i in ${firewall_nologports} ; do + ${fwcmd} add deny { tcp or udp } from any to any $i in + done + + # Broadcasts and muticasts + ${fwcmd} add deny ip from any to 255.255.255.255 + ${fwcmd} add deny ip from any to 224.0.0.0/24 in # XXX + + # Noise from routers + ${fwcmd} add deny udp from any to any 520 in + + # Noise from webbrowsing. + # The statefull filter is a bit agressive, and will cause some + # connection teardowns to be logged. + ${fwcmd} add deny tcp from any 80,443 to any 1024-65535 in + + # Deny and (if wanted) log the rest unconditionally. + log="" + if [ ${firewall_logdeny:-x} = "YES" -o ${firewall_logdeny:-x} = "yes" ] ; then + log="log logamount 500" # The default of 100 is too low. + sysctl net.inet.ip.fw.verbose=1 >/dev/null + fi + ${fwcmd} add deny $log ip from any to any + ;; + [Cc][Ll][Oo][Ss][Ee][Dd]) - setup_loopback + ${fwcmd} add 65000 deny ip from any to any ;; [Uu][Nn][Kk][Nn][Oo][Ww][Nn]) ;; ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/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.11 2006/03/13 01:14:56 deischen Exp $ +# $FreeBSD: src/lib/libc/gmon/Makefile.inc,v 1.12 2006/10/28 13:34:35 bde Exp $ # gmon sources .PATH: ${.CURDIR}/gmon @@ -12,12 +12,6 @@ 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/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/net/inet.3#2 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)inet.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/net/inet.3,v 1.30 2005/02/13 22:25:12 ru Exp $ +.\" $FreeBSD: src/lib/libc/net/inet.3,v 1.31 2006/10/28 13:05:10 ru Exp $ .\" .Dd June 14, 2004 .Dt INET 3 @@ -299,5 +299,7 @@ .Fn inet_ntoa resides in a static memory area. .Pp -Inet_addr should return a +The +.Fn inet_addr +function should return a .Fa struct in_addr . ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/resolv/res_send.c#2 (text) ==== @@ -70,10 +70,10 @@ #if defined(LIBC_SCCS) && !defined(lint) static const char sccsid[] = "@(#)res_send.c 8.1 (Berkeley) 6/4/93"; -static const char rcsid[] = "$Id: res_send.c,v 1.5.2.2.4.7 2005/08/15 02:04:41 marka Exp $"; +static const char rcsid[] = "$Id: res_send.c,v 1.5.2.2.4.8 2006/03/08 04:13:31 marka Exp $"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/resolv/res_send.c,v 1.3 2006/08/04 12:26:07 ume Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/resolv/res_send.c,v 1.4 2006/10/24 14:41:43 ume Exp $"); /* * Send query to name server and wait for reply. @@ -145,7 +145,7 @@ int kq, #endif const u_char *, int, - u_char *, int, int *, int, + u_char *, int, int *, int, int, int *, int *); static void Aerror(const res_state, FILE *, const char *, int, const struct sockaddr *, int); @@ -490,7 +490,7 @@ kq, #endif buf, buflen, ans, anssiz, &terrno, - ns, &v_circuit, &gotsomewhere); + ns, try, &v_circuit, &gotsomewhere); if (n < 0) goto fail; if (n == 0) @@ -812,8 +812,9 @@ #ifdef USE_KQUEUE int kq, #endif - const u_char *buf, int buflen, u_char *ans, int anssiz, - int *terrno, int ns, int *v_circuit, int *gotsomewhere) + const u_char *buf, int buflen, u_char *ans, + int anssiz, int *terrno, int ns, int try, int *v_circuit, + int *gotsomewhere) { const HEADER *hp = (const HEADER *) buf; HEADER *anhp = (HEADER *) ans; @@ -914,7 +915,7 @@ /* * Wait for reply. */ - seconds = (statp->retrans << ns); + seconds = (statp->retrans << try); if (ns > 0) seconds /= statp->nscount; if (seconds <= 0) ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/stdio/xprintf.c#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/lib/libc/stdio/xprintf.c,v 1.4 2006/10/21 11:49:07 kib Exp $ + * $FreeBSD: src/lib/libc/stdio/xprintf.c,v 1.5 2006/10/23 07:25:25 kib Exp $ */ #include @@ -261,7 +261,7 @@ static int -__v2printf(FILE *fp, const char *fmt0, unsigned pct, const va_list ap1) +__v2printf(FILE *fp, const char *fmt0, unsigned pct, va_list ap) { struct printf_info *pi, *pil; const char *fmt; @@ -274,9 +274,7 @@ int ret = 0; int n; struct __printf_io io; - va_list ap; - va_copy(ap, ap1); __printf_init(&io); io.fp = fp; @@ -563,7 +561,6 @@ errx(1, "render[%c] = NULL", *fmt); } __printf_flush(&io); - va_end(ap); return (ret); } ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldap_group.c#2 (text+ko) ==== @@ -28,13 +28,15 @@ #include __FBSDID("$FreeBSD$"); - + +#include #include #include #include #include #include #include +#include "hashtable.h" #include "ldapconn.h" #include "ldapschema.h" #include "ldapsearch.h" @@ -43,9 +45,40 @@ #include "ldapconf.h" #include "nss_ldap.h" +#define NSS_LDAP_MAP_GROUP_HASH_ENTRY_INITIAL_SIZE (8) +#define NSS_LDAP_MAP_GROUP_HASH_SIZE (127) +#define NSS_LDAP_MAP_GROUP_DN_PROCESS_NESTED_FLAG (1) +#define NSS_LDAP_MAP_GROUP_DN_USE_CACHE_FLAG (1 << 1) +#define NSS_LDAP_MAP_GROUP_DN_USE_RDN_FLAG (1 << 2) + +struct mapped_group { + char *dn; +}; + +struct __mg_he { + HASHTABLE_ENTRY_HEAD(__mg_he_item, struct mapped_group) data; +}; + +struct map_group_dn_request { + StringList *next_requests; + HASHTABLE_HEAD(__mg_ht, __mg_he) groups; + int flags; +}; + +static int __mg_ht_item_cmp_func(const void *, const void *); +static hashtable_index_t __mg_ht_item_hash_func(const void *, size_t); +HASHTABLE_PROTOTYPE(__mg_ht, __mg_he, struct mapped_group); +static int nss_ldap_map_group_dn(struct nss_ldap_search_context *, + char const *, char **, size_t *, char *, size_t, void *); +static int nss_ldap_parse_nested_group(struct nss_ldap_search_context *, + char const *, struct map_group_dn_request *, char ***, size_t *, + size_t *, char *, size_t); + static int nss_ldap_parse_group(struct nss_ldap_parse_context *); -static int ldap_getgrnam_r(const char *, struct group *, char *, size_t, +//static int ldap_getgrnam_r(const char *, struct group *, char *, size_t, +// struct group **); +int ldap_getgrnam_r(const char *, struct group *, char *, size_t, struct group **); static int ldap_getgrgid_r(gid_t, struct group *, char *, size_t, struct group **); @@ -53,96 +86,404 @@ static void ldap_setgrent(); static int -nss_ldap_parse_group(struct nss_ldap_parse_context *pctx) +__mg_ht_item_cmp_func(const void *p1, const void *p2) +{ + + return (strcmp( + ((struct mapped_group *)p1)->dn, + ((struct mapped_group *)p2)->dn)); + +} + +static hashtable_index_t +__mg_ht_item_hash_func(const void *p, size_t cache_entries_size) +{ + struct mapped_group const *mg; + size_t i, len; + hashtable_index_t retval; + + mg = p; + assert(mg->dn != NULL); + + len = strlen(mg->dn); + retval = 0; + for (i = 0; i < len; ++i) + retval = (127 * retval + (unsigned char)mg->dn[i]) % + cache_entries_size; + + return retval; +} + +HASHTABLE_GENERATE(__mg_ht, __mg_he, struct mapped_group, data, + __mg_ht_item_hash_func, __mg_ht_item_cmp_func); + +static int +nss_ldap_map_group_dn(struct nss_ldap_search_context *ctx, char const *dn, + char **res, size_t *res_size, char *buf, size_t bufsize, void *mdata) { - struct nss_ldap_schema *schema; - struct nss_ldap_search_context *sctx; - struct group *grp; - char *buf; - size_t buflen; - size_t len, memlen; + struct nss_ldap_search_request sreq; + struct mapped_group new_mg; + struct nss_ldap_search_context *newctx; + struct map_group_dn_request *req; + char **cp; + char const *uid_attr, *gid_attr; + struct mapped_group *hash_entry_data; + struct __mg_he *hash_entry; + hashtable_index_t hash; int rv; - assert(pctx != NULL); + assert(ctx != NULL); + assert(dn != NULL); + assert(res != NULL); + assert(res_size != NULL); + assert(buf != NULL); + assert(mdata != NULL); + + //printf("__ %s %d %s\n", __FILE__, __LINE__, dn); + + req = mdata; + newctx = NULL; + + + memset(&new_mg, 0, sizeof(new_mg)); + new_mg.dn = (char *)dn; + + hash = HASHTABLE_CALCULATE_HASH(__mg_ht, &req->groups, &new_mg); + assert(hash > 0); + assert(hash < HASHTABLE_ENTRIES_COUNT(&req->groups)); + + hash_entry = HASHTABLE_GET_ENTRY(&req->groups, hash); + hash_entry_data = HASHTABLE_ENTRY_FIND(__mg_ht, hash_entry, + &new_mg); + if (hash_entry_data != NULL) { + rv = NSS_LDAP_SUCCESS; + *res_size = 0; + //printf("__ %s %d\n", __FILE__, __LINE__); + goto fin; + } + + memset(&sreq, 0, sizeof(sreq)); + sreq.scope = LDAP_SCOPE_BASE; + sreq.filter = "(objectClass=*)"; + sreq.search_base = (char *)dn; + + uid_attr = _ATM(&ctx->conf->schema, PASSWD, uid); + gid_attr = _ATM(&ctx->conf->schema, GROUP, gidNumber); + sreq.attributes = sl_init(); + rv = sl_add(sreq.attributes, (char *)uid_attr); + if (rv == -1) { + rv = NSS_LDAP_MEMORY_ERROR; + goto fin; + } + + rv = sl_add(sreq.attributes, (char *)gid_attr); + if (rv == -1) { + rv = NSS_LDAP_MEMORY_ERROR; + goto fin; + } + + rv = sl_add(sreq.attributes, "objectClass"); + if (rv == -1) { + rv = NSS_LDAP_MEMORY_ERROR; + goto fin; + } + + rv = sl_add(sreq.attributes, NULL); + if (rv == -1) { + rv = NSS_LDAP_MEMORY_ERROR; + goto fin; + } + +// printf("__ %s %d\n", __FILE__, __LINE__); + newctx = __nss_ldap_start_search(&__nss_ldap_conf->search_method, + ctx->conn, ctx->conf, &sreq); +// printf("__ %s %d\n", __FILE__, __LINE__); + sl_free(sreq.attributes, 0); + sreq.attributes = NULL; /* just in case */ -/* int start, end; - int res; - printf("1\n"); - res = __nss_ldap_parse_range("member;range=1-*", &start, &end); - printf("res: %d, start: %d, end: %d\n", res, start, end); + if (newctx == NULL) { + rv = NSS_LDAP_SUCCESS; + *res_size = 0; + goto fin2; + } - printf("2\n"); - res = __nss_ldap_parse_range("member;range=134-100", &start, &end); - printf("res: %d, start: %d, end: %d\n", res, start, end); + rv = __nss_ldap_search_next(&__nss_ldap_conf->search_method, + newctx); + if (rv != NSS_LDAP_SUCCESS) { + rv = NSS_LDAP_SUCCESS; + *res_size = 0; + goto fin2; + } + + new_mg.dn = strdup(dn); + if (new_mg.dn == NULL) { + rv = NSS_LDAP_MEMORY_ERROR; + goto fin2; + } + + if (__nss_ldap_check_oc(newctx, _OC(&ctx->conf->schema, posixGroup)) == + NSS_LDAP_SUCCESS) { + + rv = sl_add(req->next_requests, new_mg.dn); + if (rv == -1) { + free(new_mg.dn); + rv = NSS_LDAP_MEMORY_ERROR; + goto fin2; + } - printf("3\n"); - res = __nss_ldap_parse_range("member;range=-*", &start, &end); - printf("res: %d, start: %d, end: %d\n", res, start, end); + rv = NSS_LDAP_SUCCESS; + *res_size = 0; + } else { + rv = __nss_ldap_assign_attr_str(newctx, uid_attr, res, + res_size, buf, bufsize); - printf("4\n"); - res = __nss_ldap_parse_range("member;range=1-", &start, &end); - printf("res: %d, start: %d, end: %d\n", res, start, end); + rv = HASHTABLE_ENTRY_STORE(__mg_ht, hash_entry, &new_mg); + if (rv == -1) { + free(new_mg.dn); + rv = NSS_LDAP_MEMORY_ERROR; + } else + rv = NSS_LDAP_SUCCESS; + } + +fin: + if (sreq.attributes != NULL) + sl_free(sreq.attributes, 0); + +fin2: + if (newctx != NULL) + __nss_ldap_end_search(&__nss_ldap_conf->search_method, newctx); + + return (rv); +} - printf("5\n"); - res = __nss_ldap_parse_range("member;range=*-*", &start, &end); - printf("res: %d, start: %d, end: %d\n", res, start, end); +static int +nss_ldap_parse_nested_group(struct nss_ldap_search_context *ctx, + char const *dn, struct map_group_dn_request *dnreq, char ***res, + size_t *res_size, size_t *len, char *buf, size_t bufsize) +{ + struct nss_ldap_search_request sreq; + struct nss_ldap_search_context *newctx; + int rv; + + //printf("__ %s %d %s\n", __FILE__, __LINE__, dn); + memset(&sreq, 0, sizeof(sreq)); + sreq.scope = LDAP_SCOPE_BASE; + sreq.filter = "(objectClass=*)"; + sreq.search_base = (char *)dn; + + //printf("__ %s %d\n", __FILE__, __LINE__); + newctx = __nss_ldap_start_search(&__nss_ldap_conf->search_method, + ctx->conn, ctx->conf, &sreq); + if (newctx == NULL) + return (NSS_LDAP_CONNECTION_ERROR); + + //printf("__ %s %d\n", __FILE__, __LINE__); + rv = __nss_ldap_search_next(&__nss_ldap_conf->search_method, + newctx); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Oct 30 10:13:07 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9747416A492; Mon, 30 Oct 2006 10:13:07 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 40DAF16A407 for ; Mon, 30 Oct 2006 10:13:07 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C71C843D62 for ; Mon, 30 Oct 2006 10:13:05 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9UAD54w089155 for ; Mon, 30 Oct 2006 10:13:05 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9UAD5RH089152 for perforce@freebsd.org; Mon, 30 Oct 2006 10:13:05 GMT (envelope-from piso@freebsd.org) Date: Mon, 30 Oct 2006 10:13:05 GMT Message-Id: <200610301013.k9UAD5RH089152@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 108721 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 10:13:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=108721 Change 108721 by piso@piso_newluxor on 2006/10/30 10:12:11 Treat lines starting with '#' as comments. Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#17 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#17 (text+ko) ==== @@ -119,6 +119,7 @@ #include #include #include +#include #include #include #include @@ -1494,7 +1495,7 @@ { char buf[256], conf[] = "/etc/libalias.conf"; FILE *fd; - int len; + int i, len; fd = fopen(conf, "r"); if (fd == NULL) @@ -1508,6 +1509,11 @@ break; len = strlen(buf); if (len > 1) { + for (i=0; i X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C062C16A4D8; Mon, 30 Oct 2006 11:13:50 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 470CF16A4D1 for ; Mon, 30 Oct 2006 11:13:50 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 20FED43D64 for ; Mon, 30 Oct 2006 11:13:37 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9UBDY6R099653 for ; Mon, 30 Oct 2006 11:13:34 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9UBDY0e099648 for perforce@freebsd.org; Mon, 30 Oct 2006 11:13:34 GMT (envelope-from bushman@freebsd.org) Date: Mon, 30 Oct 2006 11:13:34 GMT Message-Id: <200610301113.k9UBDY0e099648@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 108725 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 11:13:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=108725 Change 108725 by bushman@bushman_nss_ldap_cached on 2006/10/30 11:12:36 IFC Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/_secure_path.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/_secure_path.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/auth.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/auth.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/auth.conf.5#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/fparseln.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/fparseln.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/humanize_number.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/humanize_number.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/kld.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/kld.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/libutil.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/login.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/login.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/login.conf.5#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/login_auth.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/login_auth.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/login_cap.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/login_cap.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/login_cap.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/login_class.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/login_class.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/login_crypt.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/login_ok.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/login_ok.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/login_times.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/login_times.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/login_tty.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/login_tty.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/logout.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/logout.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/logwtmp.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/logwtmp.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/pidfile.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/pidfile.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/property.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/property.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/pty.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/pty.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/pw_util.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/realhostname.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/realhostname.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/realhostname_sa.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/stub.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/trimdomain.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/trimdomain.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/uucplock.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/uucplock.c#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Mon Oct 30 11:16:57 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D947A16A4A7; Mon, 30 Oct 2006 11:16:56 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 B103516A47E for ; Mon, 30 Oct 2006 11:16:56 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 85E6043DAF for ; Mon, 30 Oct 2006 11:16:40 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9UBGeNF099997 for ; Mon, 30 Oct 2006 11:16:40 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9UBGeWP099994 for perforce@freebsd.org; Mon, 30 Oct 2006 11:16:40 GMT (envelope-from piso@freebsd.org) Date: Mon, 30 Oct 2006 11:16:40 GMT Message-Id: <200610301116.k9UBGeWP099994@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 108727 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 11:16:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=108727 Change 108727 by piso@piso_newluxor on 2006/10/30 11:15:40 Prettify error msgs with \n. Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#18 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#18 (text+ko) ==== @@ -1534,12 +1534,14 @@ handle = dlopen (path, RTLD_LAZY); if (!handle) { fputs (dlerror(), stderr); + fputs ("\n", stderr); return (EINVAL); } p = dlsym(handle, "alias_mod"); if ((error = dlerror()) != NULL) { fputs(error, stderr); + fputs ("\n", stderr); return (EINVAL); } @@ -1550,13 +1552,14 @@ t->handle = handle; if (attach_dll(t) == EEXIST) { free(t); - fputs("dll conflict", stderr); + fputs("dll conflict\n", stderr); return (EEXIST); } m = dlsym(t->handle, "handlers"); if ((error = dlerror()) != NULL) { fputs(error, stderr); + fputs ("\n", stderr); return (EINVAL); } From owner-p4-projects@FreeBSD.ORG Mon Oct 30 11:35:08 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3560816A415; Mon, 30 Oct 2006 11:35:08 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 E894116A407 for ; Mon, 30 Oct 2006 11:35:07 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 321C643D46 for ; Mon, 30 Oct 2006 11:35:07 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9UBZ7BH003181 for ; Mon, 30 Oct 2006 11:35:07 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9UBZ6tS003178 for perforce@freebsd.org; Mon, 30 Oct 2006 11:35:06 GMT (envelope-from bushman@freebsd.org) Date: Mon, 30 Oct 2006 11:35:06 GMT Message-Id: <200610301135.k9UBZ6tS003178@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 108732 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 11:35:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=108732 Change 108732 by bushman@bushman_nss_ldap_cached on 2006/10/30 11:34:27 + CFLAGS+=DINET6 is now embraced in proper .if defined clause + libc/gen/Symbol.map edited: __pw_scan, __pw_match_entry and __pw_parse_entry are removed, mention of __gr_parse_entry and __gr_match_entry is removed. All these functions now resied in libnssutil and should not be exported from libc in any way. In libc.a, however they will implicitly appear because of linking-in with nsswitch modules + libutil now links with libnssutil.a to use __pw_scan function + Makefiles formatting improved a bit, libc/Makefile notes updated (reached the 80 column barrier there - new lines and 1 tab were used) Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/lib/Makefile#10 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/gen/Symbol.map#2 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libnssutil/Makefile#7 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/Makefile#2 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_compat/Makefile#5 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_dns/Makefile#9 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_files/Makefile#8 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_icmp/Makefile#7 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_nis/Makefile#9 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/Makefile#10 (text+ko) ==== @@ -14,9 +14,10 @@ # libmd must be built before libatm, libopie, libradius, and libtacplus. # libncurses must be built before libdialog, libedit and libreadline. # libnetgraph must be built before libbsnmp/modules/snmp_netgraph. -# libnssutil must be built before nss_files/nss_dns/nss_nis/nss_compat -# libnss_files must be built before libnss_compat -# nssfiles/nss_dns/nss_nis/nss_compat/nss_icmp must be built before libc +# libnssutil must be built before nss_files, nss_dns, nss_nis, nss_compat +# and libutil +# nss_files, nss_dns, nss_nis, nss_compat and nss_icmp must be built +# before libc # libopie must be built before libpam. # libradius must be built before libpam. # librpcsvc must be built before libpam. @@ -28,10 +29,11 @@ # Otherwise, the SUBDIR list should be in alphabetical order. SUBDIR= ${_csu} libbsm libcom_err libcrypt libkvm msun libmd libncurses \ - libnssutil nss_compat nss_dns nss_files nss_icmp ${_nss_nis}\ - libnetgraph libradius librpcsvc libsbuf libtacplus libutil \ + libnetgraph libnssutil \ + libradius librpcsvc libsbuf libtacplus libutil \ ${_libypclnt} libalias libarchive ${_libatm} \ - libbegemot ${_libbluetooth} libbsnmp libbz2 libc \ + libbegemot ${_libbluetooth} libbsnmp libbz2 \ + nss_compat nss_dns nss_files nss_icmp ${_nss_nis} libc \ libcalendar libcam libcompat libdevinfo libdevstat libdisk \ libedit libexpat libfetch libform libftpio libgeom ${_libgpib} \ libgssapi libipsec \ ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/gen/Symbol.map#2 (text) ==== @@ -165,8 +165,6 @@ getgrnam; getgrgid; getgrent; - # Why are __gr_parse_entry() and __gr_match_entry() not static in - # gen/getgrent.c? getgrouplist; gethostname; getloadavg; @@ -402,8 +400,6 @@ _err; _warn; __fmtcheck; - # __pw_match_entry; - # __pw_parse_entry; __fdnlist; # used by libkvm # __aout_fdnlist; # __elf_is_okay__; @@ -412,7 +408,6 @@ __pause; _pause; __pselect; - __pw_scan; # Used by (at least) libutil __raise; _raise; __sem_init; ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libnssutil/Makefile#7 (text+ko) ==== @@ -3,7 +3,7 @@ LIB= nssutil SRCS= copynetent.c copyhtent.c gr_scan.c pw_scan.c rpcunpack.c\ servunpack.c -INTERNAL= -NO_PIC= +INTERNALLIB= .include + ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/Makefile#2 (text+ko) ==== @@ -21,7 +21,10 @@ CFLAGS+= -DINET6 .endif -CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../libc/gen/ +# Needed to use __pw_scan function, which is in libnssutil +CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../libutil +LD_ADD+= -lnssutil +LDFLAGS+= -L${.OBJDIR}/../libnssutil MAN+= kld.3 login.3 login_auth.3 login_tty.3 logout.3 logwtmp.3 pty.3 \ login_cap.3 login_class.3 login_times.3 login_ok.3 \ ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_compat/Makefile#5 (text+ko) ==== @@ -8,15 +8,19 @@ SHLIBDIR?= /lib SRCS+= nss_compat.c compat_group.c compat_passwd.c compat_serv.c -# NOTE: dirty hack with nss_files's file_serv.c is used +# NOTE: hack with nss_files's file_serv.c is used SRCS+= ${.CURDIR}/../nss_files/files_serv.c CFLAGS+=-I${.CURDIR} -I${.CURDIR}/../libc/gen -I${.CURDIR}/../libc/include\ -I${.CURDIR}/../libc/net -I${.CURDIR}/../libnssutil + +.if ${MK_INET6_SUPPORT} != "no" CFLAGS+=-DINET6 +.endif .if ${MK_NIS} != "no" CFLAGS+= -DYP .endif + .if ${MK_HESIOD} != "no" CFLAGS+= -DHESIOD .endif ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_dns/Makefile#9 (text+ko) ==== @@ -11,11 +11,15 @@ dns_group.c dns_net.c dns_shells.c CFLAGS+=-I${.CURDIR} -I${.CURDIR}/../libc/gen -I${.CURDIR}/../libc/include\ -I${.CURDIR}/../libc/net -I${.CURDIR}/../libnssutil + +.if ${MK_INET6_SUPPORT} != "no" CFLAGS+=-DINET6 +.endif .if ${MK_NIS} != "no" CFLAGS+= -DYP .endif + .if ${MK_HESIOD} != "no" CFLAGS+= -DHESIOD .endif ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_files/Makefile#8 (text+ko) ==== @@ -12,11 +12,15 @@ files_net.c files_rpc.c files_shells.c CFLAGS+=-I${.CURDIR} -I${.CURDIR}/../libc/gen -I${.CURDIR}/../libc/include\ -I${.CURDIR}/../libc/net -I${.CURDIR}/../libnssutil + +.if ${MK_INET6_SUPPORT} != "no" CFLAGS+=-DINET6 +.endif .if ${MK_NIS} != "no" CFLAGS+= -DYP .endif + .if ${MK_HESIOD} != "no" CFLAGS+= -DHESIOD .endif ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_icmp/Makefile#7 (text+ko) ==== @@ -10,11 +10,15 @@ SRCS= nss_icmp.c icmp_hosts_namadr.c CFLAGS+=-I${.CURDIR} -I${.CURDIR}/../libc/gen -I${.CURDIR}/../libc/include\ -I${.CURDIR}/../libc/net -I${.CURDIR}/../libnssutil + +.if ${MK_INET6_SUPPORT} != "no" CFLAGS+=-DINET6 +.endif .if ${MK_NIS} != "no" CFLAGS+= -DYP .endif + .if ${MK_HESIOD} != "no" CFLAGS+= -DHESIOD .endif ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_nis/Makefile#9 (text+ko) ==== @@ -11,11 +11,15 @@ nis_group.c nis_net.c nis_rpc.c nis_serv.c nis_shells.c CFLAGS+=-I${.CURDIR} -I${.CURDIR}/../libc/gen -I${.CURDIR}/../libc/include\ -I${.CURDIR}/../libc/net -I${.CURDIR}/../libnssutil + +.if ${MK_INET6_SUPPORT} != "no" CFLAGS+=-DINET6 +.endif .if ${MK_NIS} != "no" CFLAGS+= -DYP .endif + .if ${MK_HESIOD} != "no" CFLAGS+= -DHESIOD .endif From owner-p4-projects@FreeBSD.ORG Mon Oct 30 11:36:11 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C717D16A412; Mon, 30 Oct 2006 11:36:11 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 76BCB16A407 for ; Mon, 30 Oct 2006 11:36:11 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 214F343D5E for ; Mon, 30 Oct 2006 11:36:11 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9UBaAvM003277 for ; Mon, 30 Oct 2006 11:36:10 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9UBaAZO003270 for perforce@freebsd.org; Mon, 30 Oct 2006 11:36:10 GMT (envelope-from bushman@freebsd.org) Date: Mon, 30 Oct 2006 11:36:10 GMT Message-Id: <200610301136.k9UBaAZO003270@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 108733 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 11:36:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=108733 Change 108733 by bushman@bushman_nss_ldap_cached on 2006/10/30 11:35:59 nss_ldap removed from this branch - in order to make patch building easier Affected files ... .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/Makefile#2 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/hashtable.h#2 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldap_group.c#3 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldap_group.h#3 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldap_passwd.c#3 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldap_passwd.h#3 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldap_serv.c#3 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldap_serv.h#3 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldapconf.c#3 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldapconf.h#3 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldapconn.c#3 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldapconn.h#2 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldapschema.c#2 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldapschema.h#2 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldapsearch.c#3 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldapsearch.h#3 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldaptls.c#2 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldaptls.h#2 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldaputil.c#3 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/ldaputil.h#3 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/nss_ldap.5#2 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/nss_ldap.c#3 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_ldap/nss_ldap.h#3 delete .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_nis/Makefile#2 integrate Differences ... ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_nis/Makefile#2 (text+ko) ==== @@ -11,11 +11,15 @@ nis_group.c nis_net.c nis_rpc.c nis_serv.c nis_shells.c CFLAGS+=-I${.CURDIR} -I${.CURDIR}/../libc/gen -I${.CURDIR}/../libc/include\ -I${.CURDIR}/../libc/net -I${.CURDIR}/../libnssutil + +.if ${MK_INET6_SUPPORT} != "no" CFLAGS+=-DINET6 +.endif .if ${MK_NIS} != "no" CFLAGS+= -DYP .endif + .if ${MK_HESIOD} != "no" CFLAGS+= -DHESIOD .endif From owner-p4-projects@FreeBSD.ORG Mon Oct 30 11:37:13 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 769A216A416; Mon, 30 Oct 2006 11:37:13 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 3C94E16A415 for ; Mon, 30 Oct 2006 11:37:13 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0586343D4C for ; Mon, 30 Oct 2006 11:37:13 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9UBbCvB003325 for ; Mon, 30 Oct 2006 11:37:12 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9UBbCgp003322 for perforce@freebsd.org; Mon, 30 Oct 2006 11:37:12 GMT (envelope-from bushman@freebsd.org) Date: Mon, 30 Oct 2006 11:37:12 GMT Message-Id: <200610301137.k9UBbCgp003322@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 108734 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 11:37:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=108734 Change 108734 by bushman@bushman_nss_ldap_cached on 2006/10/30 11:36:11 IFC Affected files ... .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/gen/Symbol.map#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libnssutil/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/_secure_path.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/_secure_path.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/auth.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/auth.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/auth.conf.5#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/fparseln.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/fparseln.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/humanize_number.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/humanize_number.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/kld.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/kld.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/libutil.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/login.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/login.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/login.conf.5#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/login_auth.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/login_auth.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/login_cap.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/login_cap.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/login_cap.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/login_class.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/login_class.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/login_crypt.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/login_ok.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/login_ok.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/login_times.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/login_times.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/login_tty.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/login_tty.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/logout.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/logout.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/logwtmp.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/logwtmp.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/pidfile.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/pidfile.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/property.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/property.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/pty.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/pty.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/pw_util.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/realhostname.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/realhostname.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/realhostname_sa.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/stub.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/trimdomain.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/trimdomain.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/uucplock.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libutil/uucplock.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_compat/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_dns/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_files/Makefile#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_icmp/Makefile#2 integrate Differences ... ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/Makefile#2 (text+ko) ==== @@ -14,9 +14,10 @@ # libmd must be built before libatm, libopie, libradius, and libtacplus. # libncurses must be built before libdialog, libedit and libreadline. # libnetgraph must be built before libbsnmp/modules/snmp_netgraph. -# libnssutil must be built before nss_files/nss_dns/nss_nis/nss_compat -# libnss_files must be built before libnss_compat -# nssfiles/nss_dns/nss_nis/nss_compat/nss_icmp must be built before libc +# libnssutil must be built before nss_files, nss_dns, nss_nis, nss_compat +# and libutil +# nss_files, nss_dns, nss_nis, nss_compat and nss_icmp must be built +# before libc # libopie must be built before libpam. # libradius must be built before libpam. # librpcsvc must be built before libpam. @@ -28,10 +29,11 @@ # Otherwise, the SUBDIR list should be in alphabetical order. SUBDIR= ${_csu} libbsm libcom_err libcrypt libkvm msun libmd libncurses \ - libnssutil nss_compat nss_dns nss_files nss_icmp ${_nss_nis}\ - libnetgraph libradius librpcsvc libsbuf libtacplus libutil \ + libnetgraph libnssutil \ + libradius librpcsvc libsbuf libtacplus libutil \ ${_libypclnt} libalias libarchive ${_libatm} \ - libbegemot ${_libbluetooth} libbsnmp libbz2 libc \ + libbegemot ${_libbluetooth} libbsnmp libbz2 \ + nss_compat nss_dns nss_files nss_icmp ${_nss_nis} libc \ libcalendar libcam libcompat libdevinfo libdevstat libdisk \ libedit libexpat libfetch libform libftpio libgeom ${_libgpib} \ libgssapi libipsec \ ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libc/gen/Symbol.map#2 (text) ==== @@ -165,8 +165,6 @@ getgrnam; getgrgid; getgrent; - # Why are __gr_parse_entry() and __gr_match_entry() not static in - # gen/getgrent.c? getgrouplist; gethostname; getloadavg; @@ -402,8 +400,6 @@ _err; _warn; __fmtcheck; - # __pw_match_entry; - # __pw_parse_entry; __fdnlist; # used by libkvm # __aout_fdnlist; # __elf_is_okay__; @@ -412,7 +408,6 @@ __pause; _pause; __pselect; - __pw_scan; # Used by (at least) libutil __raise; _raise; __sem_init; ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/libnssutil/Makefile#2 (text+ko) ==== @@ -3,7 +3,7 @@ LIB= nssutil SRCS= copynetent.c copyhtent.c gr_scan.c pw_scan.c rpcunpack.c\ servunpack.c -INTERNAL= -NO_PIC= +INTERNALLIB= .include + ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_compat/Makefile#2 (text+ko) ==== @@ -8,15 +8,19 @@ SHLIBDIR?= /lib SRCS+= nss_compat.c compat_group.c compat_passwd.c compat_serv.c -# NOTE: dirty hack with nss_files's file_serv.c is used +# NOTE: hack with nss_files's file_serv.c is used SRCS+= ${.CURDIR}/../nss_files/files_serv.c CFLAGS+=-I${.CURDIR} -I${.CURDIR}/../libc/gen -I${.CURDIR}/../libc/include\ -I${.CURDIR}/../libc/net -I${.CURDIR}/../libnssutil + +.if ${MK_INET6_SUPPORT} != "no" CFLAGS+=-DINET6 +.endif .if ${MK_NIS} != "no" CFLAGS+= -DYP .endif + .if ${MK_HESIOD} != "no" CFLAGS+= -DHESIOD .endif ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_dns/Makefile#2 (text+ko) ==== @@ -11,11 +11,15 @@ dns_group.c dns_net.c dns_shells.c CFLAGS+=-I${.CURDIR} -I${.CURDIR}/../libc/gen -I${.CURDIR}/../libc/include\ -I${.CURDIR}/../libc/net -I${.CURDIR}/../libnssutil + +.if ${MK_INET6_SUPPORT} != "no" CFLAGS+=-DINET6 +.endif .if ${MK_NIS} != "no" CFLAGS+= -DYP .endif + .if ${MK_HESIOD} != "no" CFLAGS+= -DHESIOD .endif ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_files/Makefile#2 (text+ko) ==== @@ -12,11 +12,15 @@ files_net.c files_rpc.c files_shells.c CFLAGS+=-I${.CURDIR} -I${.CURDIR}/../libc/gen -I${.CURDIR}/../libc/include\ -I${.CURDIR}/../libc/net -I${.CURDIR}/../libnssutil + +.if ${MK_INET6_SUPPORT} != "no" CFLAGS+=-DINET6 +.endif .if ${MK_NIS} != "no" CFLAGS+= -DYP .endif + .if ${MK_HESIOD} != "no" CFLAGS+= -DHESIOD .endif ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_icmp/Makefile#2 (text+ko) ==== @@ -10,11 +10,15 @@ SRCS= nss_icmp.c icmp_hosts_namadr.c CFLAGS+=-I${.CURDIR} -I${.CURDIR}/../libc/gen -I${.CURDIR}/../libc/include\ -I${.CURDIR}/../libc/net -I${.CURDIR}/../libnssutil + +.if ${MK_INET6_SUPPORT} != "no" CFLAGS+=-DINET6 +.endif .if ${MK_NIS} != "no" CFLAGS+= -DYP .endif + .if ${MK_HESIOD} != "no" CFLAGS+= -DHESIOD .endif From owner-p4-projects@FreeBSD.ORG Mon Oct 30 12:51:49 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E35E416A416; Mon, 30 Oct 2006 12:51:48 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 BB93F16A407 for ; Mon, 30 Oct 2006 12:51:48 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5E43343D49 for ; Mon, 30 Oct 2006 12:51:48 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9UCpmFP024632 for ; Mon, 30 Oct 2006 12:51:48 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9UCpmLa024629 for perforce@freebsd.org; Mon, 30 Oct 2006 12:51:48 GMT (envelope-from bushman@freebsd.org) Date: Mon, 30 Oct 2006 12:51:48 GMT Message-Id: <200610301251.k9UCpmLa024629@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 108738 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 12:51:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=108738 Change 108738 by bushman@bushman_nss_ldap_cached on 2006/10/30 12:51:03 + nss_icmp merged to the latest version in -current + nss_icmp build is made conditional by tweaking bsd.own.mk (still it's not used for libc.a build as other nsswitch modules do) Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/lib/Makefile#11 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_icmp/icmp_hosts_namadr.c#4 edit .. //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.own.mk#4 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/Makefile#11 (text+ko) ==== @@ -33,7 +33,7 @@ libradius librpcsvc libsbuf libtacplus libutil \ ${_libypclnt} libalias libarchive ${_libatm} \ libbegemot ${_libbluetooth} libbsnmp libbz2 \ - nss_compat nss_dns nss_files nss_icmp ${_nss_nis} libc \ + nss_compat nss_dns nss_files ${_nss_icmp} ${_nss_nis} libc \ libcalendar libcam libcompat libdevinfo libdevstat libdisk \ libedit libexpat libfetch libform libftpio libgeom ${_libgpib} \ libgssapi libipsec \ @@ -120,6 +120,10 @@ _libusbhid= libusbhid .endif +.if ${MK_NSS_ICMP} != "no" +_nss_icmp= nss_icmp +.endif + .if ${MK_NIS} != "no" _libypclnt= libypclnt _nss_nis= nss_nis ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_icmp/icmp_hosts_namadr.c#4 (text+ko) ==== @@ -156,151 +156,119 @@ /* * experimental: - * draft-ietf-ipngwg-icmp-namelookups-02.txt + * draft-ietf-ipngwg-icmp-namelookups-09.txt * ifindex is assumed to be encoded in addr. */ #include #include #include +#include -struct _icmp_host_cache { - struct _icmp_host_cache *hc_next; - int hc_ifindex; - struct in6_addr hc_addr; - char *hc_name; -}; +#ifndef NI_QTYPE_NODENAME +#define NI_QTYPE_NODENAME NI_QTYPE_DNSNAME +#endif -/* setting the query/reply structures according to - * draft-ietf-ipngwg-icmp-namelookups-02.txt */ - -struct icmp6_fqdn_query { - u_int8_t icmp6_fqdn_type; /* type field */ - u_int8_t icmp6_fqdn_code; /* code field */ - u_int16_t icmp6_fqdn_cksum; /* checksum field */ - u_short icmp6_fqdn_id; - u_int16_t icmp6_fqdn_nonce[4]; -}; - -#define MAX_ICMP6_NAMELEN 255 - -struct icmp6_fqdn_reply { - u_int8_t icmp6_fqdn_type; /* type field */ - u_int8_t icmp6_fqdn_code; /* code field */ - u_int16_t icmp6_fqdn_cksum; /* checksum field */ - u_short icmp6_fqdn_id; - u_int16_t icmp6_fqdn_nonce[4]; - int16_t icmp6_fqdn_ttl; - uint8_t icmp6_fqdn_namelen; - char icmp6_fqdn_name[MAX_ICMP6_NAMELEN]; -}; - -static int -__copy_hostent(struct hostent *he, struct hostent *hptr, char *buf, - size_t buflen) +static char * +dnsdecode(sp, ep, base, buf, bufsiz) + const u_char **sp; + const u_char *ep; + const u_char *base; /*base for compressed name*/ + u_char *buf; + size_t bufsiz; { - char *cp; - char **ptr; - int i, n; - int nptr, len; + int i; + const u_char *cp; + char cresult[MAXDNAME + 1]; + const u_char *comp; + int l; - /* Find out the amount of space required to store the answer. */ - nptr = 2; /* NULL ptrs */ - len = (char *)ALIGN(buf) - buf; - for (i = 0; he->h_addr_list[i]; i++, nptr++) { - len += he->h_length; - } - for (i = 0; he->h_aliases[i]; i++, nptr++) { - len += strlen(he->h_aliases[i]) + 1; - } - len += strlen(he->h_name) + 1; - len += nptr * sizeof(char*); + cp = *sp; + *buf = '\0'; - if (len > buflen) { - errno = ERANGE; - return (-1); - } + if (cp >= ep) + return NULL; + while (cp < ep) { + i = *cp; + if (i == 0 || cp != *sp) { + if (strlcat(buf, ".", bufsiz) >= bufsiz) + return NULL; /* result overrun */ + } + if (i == 0) + break; + cp++; - /* copy address size and type */ - hptr->h_addrtype = he->h_addrtype; - n = hptr->h_length = he->h_length; + if ((i & 0xc0) == 0xc0 && cp - base > (i & 0x3f)) { + /* DNS compression */ + if (!base) + return NULL; - ptr = (char **)ALIGN(buf); - cp = (char *)ALIGN(buf) + nptr * sizeof(char *); - - /* copy address list */ - hptr->h_addr_list = ptr; - for (i = 0; he->h_addr_list[i]; i++ , ptr++) { - memcpy(cp, he->h_addr_list[i], n); - hptr->h_addr_list[i] = cp; - cp += n; + comp = base + (i & 0x3f); + if (dnsdecode(&comp, cp, base, cresult, + sizeof(cresult)) == NULL) + return NULL; + if (strlcat(buf, cresult, bufsiz) >= bufsiz) + return NULL; /* result overrun */ + break; + } else if ((i & 0x3f) == i) { + if (i > ep - cp) + return NULL; /* source overrun */ + while (i-- > 0 && cp < ep) { + l = snprintf(cresult, sizeof(cresult), + isprint(*cp) ? "%c" : "\\%03o", *cp & 0xff); + if (l >= sizeof(cresult) || l < 0) + return NULL; + if (strlcat(buf, cresult, bufsiz) >= bufsiz) + return NULL; /* result overrun */ + cp++; + } + } else + return NULL; /* invalid label */ } - hptr->h_addr_list[i] = NULL; - ptr++; - - /* copy official name */ - n = strlen(he->h_name) + 1; - strcpy(cp, he->h_name); - hptr->h_name = cp; - cp += n; - - /* copy aliases */ - hptr->h_aliases = ptr; - for (i = 0 ; he->h_aliases[i]; i++) { - n = strlen(he->h_aliases[i]) + 1; - strcpy(cp, he->h_aliases[i]); - hptr->h_aliases[i] = cp; - cp += n; - } - hptr->h_aliases[i] = NULL; - - return (0); + if (i != 0) + return NULL; /* not terminated */ + cp++; + *sp = cp; + return buf; } static char * -_icmp_fqdn_query(const struct in6_addr *addr, int ifindex) +_icmp_nodeinfo_query(const struct in6_addr *addr, int ifindex, char *dnsname) { int s; struct icmp6_filter filter; struct msghdr msg; struct cmsghdr *cmsg; struct in6_pktinfo *pkt; - char cbuf[256]; - char buf[1024]; + char cbuf[256], buf[1024], *cp, *end; int cc; - struct icmp6_fqdn_query *fq; - struct icmp6_fqdn_reply *fr; - struct _icmp_host_cache *hc; + struct icmp6_nodeinfo niq, *nir; struct sockaddr_in6 sin6; struct iovec iov; fd_set s_fds, fds; struct timeval tout; int len; - char *name; - static struct _icmp_host_cache *hc_head; + static int pid; + u_int32_t r1, r2; - THREAD_LOCK(); - for (hc = hc_head; hc; hc = hc->hc_next) { - if (hc->hc_ifindex == ifindex - && IN6_ARE_ADDR_EQUAL(&hc->hc_addr, addr)) { - THREAD_UNLOCK(); - return hc->hc_name; /* XXX: never freed */ - } - } - THREAD_UNLOCK(); + if (pid == 0) + pid = getpid(); ICMP6_FILTER_SETBLOCKALL(&filter); - ICMP6_FILTER_SETPASS(ICMP6_FQDN_REPLY, &filter); + ICMP6_FILTER_SETPASS(ICMP6_NI_REPLY, &filter); FD_ZERO(&s_fds); tout.tv_sec = 0; - tout.tv_usec = 200000; /*XXX: 200ms*/ + tout.tv_usec = 500000; /* 500ms */ - fq = (struct icmp6_fqdn_query *)buf; - fq->icmp6_fqdn_type = ICMP6_FQDN_QUERY; - fq->icmp6_fqdn_code = 0; - fq->icmp6_fqdn_cksum = 0; - fq->icmp6_fqdn_id = (u_short)getpid(); - memset(&fq->icmp6_fqdn_nonce, 0, sizeof(fq->icmp6_fqdn_nonce)); + memset(&niq, 0, sizeof(niq)); + niq.ni_type = ICMP6_NI_QUERY; + niq.ni_code = ICMP6_NI_SUBJ_IPV6; + niq.ni_qtype = htons(NI_QTYPE_NODENAME); + niq.ni_flags = 0; + r1 = arc4random(); + r2 = arc4random(); + memcpy(&niq.icmp6_ni_nonce[0], &r1, sizeof(r1)); + memcpy(&niq.icmp6_ni_nonce[4], &r2, sizeof(r2)); memset(&sin6, 0, sizeof(sin6)); sin6.sin6_family = AF_INET6; @@ -313,8 +281,8 @@ msg.msg_iovlen = 1; msg.msg_control = NULL; msg.msg_controllen = 0; - iov.iov_base = (caddr_t)buf; - iov.iov_len = sizeof(struct icmp6_fqdn_query); + iov.iov_base = (caddr_t)&niq; + iov.iov_len = sizeof(struct icmp6_nodeinfo); if (ifindex) { msg.msg_control = cbuf; @@ -330,68 +298,85 @@ msg.msg_controllen = (char *)cmsg - cbuf; } - if ((s = _socket(PF_INET6, SOCK_RAW, IPPROTO_ICMPV6)) < 0) + /* XXX: we need root privilege here */ + if ((s = _socket(AF_INET6, SOCK_RAW, IPPROTO_ICMPV6)) < 0) return NULL; (void)_setsockopt(s, IPPROTO_ICMPV6, ICMP6_FILTER, (char *)&filter, sizeof(filter)); cc = _sendmsg(s, &msg, 0); if (cc < 0) { _close(s); - return NULL; + return (NULL); } FD_SET(s, &s_fds); for (;;) { fds = s_fds; if (_select(s + 1, &fds, NULL, NULL, &tout) <= 0) { _close(s); - return NULL; + return (NULL); } len = sizeof(sin6); cc = _recvfrom(s, buf, sizeof(buf), 0, (struct sockaddr *)&sin6, &len); if (cc <= 0) { _close(s); - return NULL; + return (NULL); } - if (cc < sizeof(struct ip6_hdr) + sizeof(struct icmp6_hdr)) + if (cc < sizeof(struct icmp6_hdr)) + continue; + nir = (struct icmp6_nodeinfo *)buf; + if (nir->ni_type != ICMP6_NI_REPLY) + continue; + if (nir->ni_qtype != htons(NI_QTYPE_NODENAME)) continue; - if (!IN6_ARE_ADDR_EQUAL(addr, &sin6.sin6_addr)) + if (memcmp(nir->icmp6_ni_nonce, niq.icmp6_ni_nonce, + sizeof(nir->icmp6_ni_nonce)) != 0) { continue; - fr = (struct icmp6_fqdn_reply *)(buf + sizeof(struct ip6_hdr)); - if (fr->icmp6_fqdn_type == ICMP6_FQDN_REPLY) - break; + } + if (nir->ni_code != htons(ICMP6_NI_SUCCESS)) + continue; /* or should we fail? */ + + /* this is an expected reply. */ + break; } _close(s); - /* TODO: this check confuses me a bit */ - /* if (fr->icmp6_fqdn_cookie[1] != 0) { */ - /* rfc1788 type */ - /* name = buf + sizeof(struct ip6_hdr) + sizeof(struct icmp6_hdr) + 4; - * len = (buf + cc) - name; - * } else { */ - len = fr->icmp6_fqdn_namelen; - name = fr->icmp6_fqdn_name; - /* } */ + + memset(dnsname, 0, MAXDNAME + 1); + cp = (char *)(nir + 1); + end = ((char *)nir) + cc; + if (end - cp < sizeof(int32_t)) /* for TTL. we don't use it. */ + return (NULL); + cp += sizeof(int32_t); + if (*cp == end - cp - 1) { /* an old version */ + int nlen; + + cp++; /* skip length */ + nlen = end - cp; + if (nlen > MAXDNAME) + return (NULL); /* XXX: use it anyway? */ + memcpy(dnsname, cp, nlen); + } else { + /* XXX: should we use a generic function? */ + if (dnsdecode((const u_char **)(void *)&cp, end, + (const u_char *)(nir + 1), dnsname, MAXDNAME + 1) + == NULL) { + return (NULL); /* bogus name */ + } + /* Name-lookup special handling for truncated name. */ + if (cp + 1 <= end && !*cp && strlen(dnsname) > 0) + dnsname[strlen(dnsname) - 1] = '\0'; - if (len <= 0) - return NULL; - name[len] = 0; + /* There may be other names, but we ignore them. */ + } - if ((hc = (struct _icmp_host_cache *)malloc(sizeof(*hc))) == NULL) - return NULL; - /* XXX: limit number of cached entries */ - hc->hc_ifindex = ifindex; - hc->hc_addr = *addr; - hc->hc_name = strdup(name); - THREAD_LOCK(); - hc->hc_next = hc_head; - hc_head = hc; - THREAD_UNLOCK(); - return hc->hc_name; + return (dnsname); } + static struct hostent * _icmp_ghbyaddr(const void *addr, int addrlen, int af, int *errp) { + char dnsname[MAXDNAME + 1]; struct icmp_hostent_data *hed; struct hostent *he; @@ -405,29 +390,23 @@ return (NULL); } - if (af != AF_INET6) { + if (af != AF_INET6 || addrlen != sizeof(addr6)) { /* * Note: rfc1788 defines Who Are You for IPv4, * but no one implements it. */ - return NULL; + return (NULL); } memcpy(&addr6, addr, addrlen); - ifindex = (addr6.s6_addr[2] << 8) | addr6.s6_addr[3]; - addr6.s6_addr[2] = addr6.s6_addr[3] = 0; + if (IN6_IS_ADDR_LINKLOCAL(&addr6)) { + ifindex = (addr6.s6_addr[2] << 8) | addr6.s6_addr[3]; + addr6.s6_addr[2] = addr6.s6_addr[3] = 0; + } - if (!IN6_IS_ADDR_LINKLOCAL(&addr6)) - return (NULL); /*XXX*/ - - if ((hname = _icmp_fqdn_query(&addr6, ifindex)) == NULL) + if ((hname = _icmp_nodeinfo_query(&addr6, ifindex, dnsname)) == NULL) return (NULL); - if (strlen(hname) > sizeof(hed->hostbuf) - 1) { - *errp = NO_RECOVERY; - return (NULL); - } - he->h_name = hed->hostbuf; he->h_aliases = NULL; he->h_addrtype = af; ==== //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.own.mk#4 (text+ko) ==== @@ -367,7 +367,8 @@ .for var in \ BIND_LIBS \ HESIOD \ - IDEA + IDEA \ + NSS_ICMP \ .if defined(WITH_${var}) && defined(WITHOUT_${var}) .error WITH_${var} and WITHOUT_${var} can't both be set. .endif From owner-p4-projects@FreeBSD.ORG Mon Oct 30 12:54:53 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9450316A412; Mon, 30 Oct 2006 12:54:53 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 3E35516A407 for ; Mon, 30 Oct 2006 12:54:53 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1BE0543D49 for ; Mon, 30 Oct 2006 12:54:53 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9UCsqoY025306 for ; Mon, 30 Oct 2006 12:54:53 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9UCsq8Y025303 for perforce@freebsd.org; Mon, 30 Oct 2006 12:54:52 GMT (envelope-from bushman@freebsd.org) Date: Mon, 30 Oct 2006 12:54:52 GMT Message-Id: <200610301254.k9UCsq8Y025303@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 108739 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 12:54:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=108739 Change 108739 by bushman@bushman_nss_ldap_cached on 2006/10/30 12:53:52 IFC Affected files ... .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/Makefile#3 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_icmp/icmp_hosts_namadr.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/share/mk/bsd.own.mk#2 integrate Differences ... ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/Makefile#3 (text+ko) ==== @@ -33,7 +33,7 @@ libradius librpcsvc libsbuf libtacplus libutil \ ${_libypclnt} libalias libarchive ${_libatm} \ libbegemot ${_libbluetooth} libbsnmp libbz2 \ - nss_compat nss_dns nss_files nss_icmp ${_nss_nis} libc \ + nss_compat nss_dns nss_files ${_nss_icmp} ${_nss_nis} libc \ libcalendar libcam libcompat libdevinfo libdevstat libdisk \ libedit libexpat libfetch libform libftpio libgeom ${_libgpib} \ libgssapi libipsec \ @@ -120,6 +120,10 @@ _libusbhid= libusbhid .endif +.if ${MK_NSS_ICMP} != "no" +_nss_icmp= nss_icmp +.endif + .if ${MK_NIS} != "no" _libypclnt= libypclnt _nss_nis= nss_nis ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/lib/nss_icmp/icmp_hosts_namadr.c#2 (text+ko) ==== @@ -156,151 +156,119 @@ /* * experimental: - * draft-ietf-ipngwg-icmp-namelookups-02.txt + * draft-ietf-ipngwg-icmp-namelookups-09.txt * ifindex is assumed to be encoded in addr. */ #include #include #include +#include -struct _icmp_host_cache { - struct _icmp_host_cache *hc_next; - int hc_ifindex; - struct in6_addr hc_addr; - char *hc_name; -}; +#ifndef NI_QTYPE_NODENAME +#define NI_QTYPE_NODENAME NI_QTYPE_DNSNAME +#endif -/* setting the query/reply structures according to - * draft-ietf-ipngwg-icmp-namelookups-02.txt */ - -struct icmp6_fqdn_query { - u_int8_t icmp6_fqdn_type; /* type field */ - u_int8_t icmp6_fqdn_code; /* code field */ - u_int16_t icmp6_fqdn_cksum; /* checksum field */ - u_short icmp6_fqdn_id; - u_int16_t icmp6_fqdn_nonce[4]; -}; - -#define MAX_ICMP6_NAMELEN 255 - -struct icmp6_fqdn_reply { - u_int8_t icmp6_fqdn_type; /* type field */ - u_int8_t icmp6_fqdn_code; /* code field */ - u_int16_t icmp6_fqdn_cksum; /* checksum field */ - u_short icmp6_fqdn_id; - u_int16_t icmp6_fqdn_nonce[4]; - int16_t icmp6_fqdn_ttl; - uint8_t icmp6_fqdn_namelen; - char icmp6_fqdn_name[MAX_ICMP6_NAMELEN]; -}; - -static int -__copy_hostent(struct hostent *he, struct hostent *hptr, char *buf, - size_t buflen) +static char * +dnsdecode(sp, ep, base, buf, bufsiz) + const u_char **sp; + const u_char *ep; + const u_char *base; /*base for compressed name*/ + u_char *buf; + size_t bufsiz; { - char *cp; - char **ptr; - int i, n; - int nptr, len; + int i; + const u_char *cp; + char cresult[MAXDNAME + 1]; + const u_char *comp; + int l; - /* Find out the amount of space required to store the answer. */ - nptr = 2; /* NULL ptrs */ - len = (char *)ALIGN(buf) - buf; - for (i = 0; he->h_addr_list[i]; i++, nptr++) { - len += he->h_length; - } - for (i = 0; he->h_aliases[i]; i++, nptr++) { - len += strlen(he->h_aliases[i]) + 1; - } - len += strlen(he->h_name) + 1; - len += nptr * sizeof(char*); + cp = *sp; + *buf = '\0'; - if (len > buflen) { - errno = ERANGE; - return (-1); - } + if (cp >= ep) + return NULL; + while (cp < ep) { + i = *cp; + if (i == 0 || cp != *sp) { + if (strlcat(buf, ".", bufsiz) >= bufsiz) + return NULL; /* result overrun */ + } + if (i == 0) + break; + cp++; - /* copy address size and type */ - hptr->h_addrtype = he->h_addrtype; - n = hptr->h_length = he->h_length; + if ((i & 0xc0) == 0xc0 && cp - base > (i & 0x3f)) { + /* DNS compression */ + if (!base) + return NULL; - ptr = (char **)ALIGN(buf); - cp = (char *)ALIGN(buf) + nptr * sizeof(char *); - - /* copy address list */ - hptr->h_addr_list = ptr; - for (i = 0; he->h_addr_list[i]; i++ , ptr++) { - memcpy(cp, he->h_addr_list[i], n); - hptr->h_addr_list[i] = cp; - cp += n; + comp = base + (i & 0x3f); + if (dnsdecode(&comp, cp, base, cresult, + sizeof(cresult)) == NULL) + return NULL; + if (strlcat(buf, cresult, bufsiz) >= bufsiz) + return NULL; /* result overrun */ + break; + } else if ((i & 0x3f) == i) { + if (i > ep - cp) + return NULL; /* source overrun */ + while (i-- > 0 && cp < ep) { + l = snprintf(cresult, sizeof(cresult), + isprint(*cp) ? "%c" : "\\%03o", *cp & 0xff); + if (l >= sizeof(cresult) || l < 0) + return NULL; + if (strlcat(buf, cresult, bufsiz) >= bufsiz) + return NULL; /* result overrun */ + cp++; + } + } else + return NULL; /* invalid label */ } - hptr->h_addr_list[i] = NULL; - ptr++; - - /* copy official name */ - n = strlen(he->h_name) + 1; - strcpy(cp, he->h_name); - hptr->h_name = cp; - cp += n; - - /* copy aliases */ - hptr->h_aliases = ptr; - for (i = 0 ; he->h_aliases[i]; i++) { - n = strlen(he->h_aliases[i]) + 1; - strcpy(cp, he->h_aliases[i]); - hptr->h_aliases[i] = cp; - cp += n; - } - hptr->h_aliases[i] = NULL; - - return (0); + if (i != 0) + return NULL; /* not terminated */ + cp++; + *sp = cp; + return buf; } static char * -_icmp_fqdn_query(const struct in6_addr *addr, int ifindex) +_icmp_nodeinfo_query(const struct in6_addr *addr, int ifindex, char *dnsname) { int s; struct icmp6_filter filter; struct msghdr msg; struct cmsghdr *cmsg; struct in6_pktinfo *pkt; - char cbuf[256]; - char buf[1024]; + char cbuf[256], buf[1024], *cp, *end; int cc; - struct icmp6_fqdn_query *fq; - struct icmp6_fqdn_reply *fr; - struct _icmp_host_cache *hc; + struct icmp6_nodeinfo niq, *nir; struct sockaddr_in6 sin6; struct iovec iov; fd_set s_fds, fds; struct timeval tout; int len; - char *name; - static struct _icmp_host_cache *hc_head; + static int pid; + u_int32_t r1, r2; - THREAD_LOCK(); - for (hc = hc_head; hc; hc = hc->hc_next) { - if (hc->hc_ifindex == ifindex - && IN6_ARE_ADDR_EQUAL(&hc->hc_addr, addr)) { - THREAD_UNLOCK(); - return hc->hc_name; /* XXX: never freed */ - } - } - THREAD_UNLOCK(); + if (pid == 0) + pid = getpid(); ICMP6_FILTER_SETBLOCKALL(&filter); - ICMP6_FILTER_SETPASS(ICMP6_FQDN_REPLY, &filter); + ICMP6_FILTER_SETPASS(ICMP6_NI_REPLY, &filter); FD_ZERO(&s_fds); tout.tv_sec = 0; - tout.tv_usec = 200000; /*XXX: 200ms*/ + tout.tv_usec = 500000; /* 500ms */ - fq = (struct icmp6_fqdn_query *)buf; - fq->icmp6_fqdn_type = ICMP6_FQDN_QUERY; - fq->icmp6_fqdn_code = 0; - fq->icmp6_fqdn_cksum = 0; - fq->icmp6_fqdn_id = (u_short)getpid(); - memset(&fq->icmp6_fqdn_nonce, 0, sizeof(fq->icmp6_fqdn_nonce)); + memset(&niq, 0, sizeof(niq)); + niq.ni_type = ICMP6_NI_QUERY; + niq.ni_code = ICMP6_NI_SUBJ_IPV6; + niq.ni_qtype = htons(NI_QTYPE_NODENAME); + niq.ni_flags = 0; + r1 = arc4random(); + r2 = arc4random(); + memcpy(&niq.icmp6_ni_nonce[0], &r1, sizeof(r1)); + memcpy(&niq.icmp6_ni_nonce[4], &r2, sizeof(r2)); memset(&sin6, 0, sizeof(sin6)); sin6.sin6_family = AF_INET6; @@ -313,8 +281,8 @@ msg.msg_iovlen = 1; msg.msg_control = NULL; msg.msg_controllen = 0; - iov.iov_base = (caddr_t)buf; - iov.iov_len = sizeof(struct icmp6_fqdn_query); + iov.iov_base = (caddr_t)&niq; + iov.iov_len = sizeof(struct icmp6_nodeinfo); if (ifindex) { msg.msg_control = cbuf; @@ -330,68 +298,85 @@ msg.msg_controllen = (char *)cmsg - cbuf; } - if ((s = _socket(PF_INET6, SOCK_RAW, IPPROTO_ICMPV6)) < 0) + /* XXX: we need root privilege here */ + if ((s = _socket(AF_INET6, SOCK_RAW, IPPROTO_ICMPV6)) < 0) return NULL; (void)_setsockopt(s, IPPROTO_ICMPV6, ICMP6_FILTER, (char *)&filter, sizeof(filter)); cc = _sendmsg(s, &msg, 0); if (cc < 0) { _close(s); - return NULL; + return (NULL); } FD_SET(s, &s_fds); for (;;) { fds = s_fds; if (_select(s + 1, &fds, NULL, NULL, &tout) <= 0) { _close(s); - return NULL; + return (NULL); } len = sizeof(sin6); cc = _recvfrom(s, buf, sizeof(buf), 0, (struct sockaddr *)&sin6, &len); if (cc <= 0) { _close(s); - return NULL; + return (NULL); } - if (cc < sizeof(struct ip6_hdr) + sizeof(struct icmp6_hdr)) + if (cc < sizeof(struct icmp6_hdr)) + continue; + nir = (struct icmp6_nodeinfo *)buf; + if (nir->ni_type != ICMP6_NI_REPLY) + continue; + if (nir->ni_qtype != htons(NI_QTYPE_NODENAME)) continue; - if (!IN6_ARE_ADDR_EQUAL(addr, &sin6.sin6_addr)) + if (memcmp(nir->icmp6_ni_nonce, niq.icmp6_ni_nonce, + sizeof(nir->icmp6_ni_nonce)) != 0) { continue; - fr = (struct icmp6_fqdn_reply *)(buf + sizeof(struct ip6_hdr)); - if (fr->icmp6_fqdn_type == ICMP6_FQDN_REPLY) - break; + } + if (nir->ni_code != htons(ICMP6_NI_SUCCESS)) + continue; /* or should we fail? */ + + /* this is an expected reply. */ + break; } _close(s); - /* TODO: this check confuses me a bit */ - /* if (fr->icmp6_fqdn_cookie[1] != 0) { */ - /* rfc1788 type */ - /* name = buf + sizeof(struct ip6_hdr) + sizeof(struct icmp6_hdr) + 4; - * len = (buf + cc) - name; - * } else { */ - len = fr->icmp6_fqdn_namelen; - name = fr->icmp6_fqdn_name; - /* } */ + + memset(dnsname, 0, MAXDNAME + 1); + cp = (char *)(nir + 1); + end = ((char *)nir) + cc; + if (end - cp < sizeof(int32_t)) /* for TTL. we don't use it. */ + return (NULL); + cp += sizeof(int32_t); + if (*cp == end - cp - 1) { /* an old version */ + int nlen; + + cp++; /* skip length */ + nlen = end - cp; + if (nlen > MAXDNAME) + return (NULL); /* XXX: use it anyway? */ + memcpy(dnsname, cp, nlen); + } else { + /* XXX: should we use a generic function? */ + if (dnsdecode((const u_char **)(void *)&cp, end, + (const u_char *)(nir + 1), dnsname, MAXDNAME + 1) + == NULL) { + return (NULL); /* bogus name */ + } + /* Name-lookup special handling for truncated name. */ + if (cp + 1 <= end && !*cp && strlen(dnsname) > 0) + dnsname[strlen(dnsname) - 1] = '\0'; - if (len <= 0) - return NULL; - name[len] = 0; + /* There may be other names, but we ignore them. */ + } - if ((hc = (struct _icmp_host_cache *)malloc(sizeof(*hc))) == NULL) - return NULL; - /* XXX: limit number of cached entries */ - hc->hc_ifindex = ifindex; - hc->hc_addr = *addr; - hc->hc_name = strdup(name); - THREAD_LOCK(); - hc->hc_next = hc_head; - hc_head = hc; - THREAD_UNLOCK(); - return hc->hc_name; + return (dnsname); } + static struct hostent * _icmp_ghbyaddr(const void *addr, int addrlen, int af, int *errp) { + char dnsname[MAXDNAME + 1]; struct icmp_hostent_data *hed; struct hostent *he; @@ -405,29 +390,23 @@ return (NULL); } - if (af != AF_INET6) { + if (af != AF_INET6 || addrlen != sizeof(addr6)) { /* * Note: rfc1788 defines Who Are You for IPv4, * but no one implements it. */ - return NULL; + return (NULL); } memcpy(&addr6, addr, addrlen); - ifindex = (addr6.s6_addr[2] << 8) | addr6.s6_addr[3]; - addr6.s6_addr[2] = addr6.s6_addr[3] = 0; + if (IN6_IS_ADDR_LINKLOCAL(&addr6)) { + ifindex = (addr6.s6_addr[2] << 8) | addr6.s6_addr[3]; + addr6.s6_addr[2] = addr6.s6_addr[3] = 0; + } - if (!IN6_IS_ADDR_LINKLOCAL(&addr6)) - return (NULL); /*XXX*/ - - if ((hname = _icmp_fqdn_query(&addr6, ifindex)) == NULL) + if ((hname = _icmp_nodeinfo_query(&addr6, ifindex, dnsname)) == NULL) return (NULL); - if (strlen(hname) > sizeof(hed->hostbuf) - 1) { - *errp = NO_RECOVERY; - return (NULL); - } - he->h_name = hed->hostbuf; he->h_aliases = NULL; he->h_addrtype = af; ==== //depot/projects/soc2006/nss_ldap_cached_no_nss_ldap/src/share/mk/bsd.own.mk#2 (text+ko) ==== @@ -367,7 +367,8 @@ .for var in \ BIND_LIBS \ HESIOD \ - IDEA + IDEA \ + NSS_ICMP \ .if defined(WITH_${var}) && defined(WITHOUT_${var}) .error WITH_${var} and WITHOUT_${var} can't both be set. .endif From owner-p4-projects@FreeBSD.ORG Mon Oct 30 13:04:25 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 81F3416A4A0; Mon, 30 Oct 2006 13:04:25 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 5F61416A40F; Mon, 30 Oct 2006 13:04:25 +0000 (UTC) (envelope-from alexander@leidinger.net) Received: from redbull.bpaserver.net (redbullneu.bpaserver.net [213.198.78.217]) by mx1.FreeBSD.org (Postfix) with ESMTP id DCB1C43D6B; Mon, 30 Oct 2006 13:04:12 +0000 (GMT) (envelope-from alexander@leidinger.net) Received: from outgoing.leidinger.net (p54A5FF66.dip.t-dialin.net [84.165.255.102]) by redbull.bpaserver.net (Postfix) with ESMTP id 9EC822E27B; Mon, 30 Oct 2006 14:03:07 +0100 (CET) Received: from webmail.leidinger.net (webmail.Leidinger.net [192.168.1.102]) by outgoing.leidinger.net (Postfix) with ESMTP id CD3FF5B61AB; Mon, 30 Oct 2006 14:03:01 +0100 (CET) Received: (from www@localhost) by webmail.leidinger.net (8.13.8/8.13.8/Submit) id k9UD31ZE010845; Mon, 30 Oct 2006 14:03:01 +0100 (CET) (envelope-from Alexander@Leidinger.net) Received: from pslux.cec.eu.int (pslux.cec.eu.int [158.169.9.14]) by webmail.leidinger.net (Horde MIME library) with HTTP; Mon, 30 Oct 2006 14:03:01 +0100 Message-ID: <20061030140301.q7ko5hlezo0wk04s@webmail.leidinger.net> X-Priority: 3 (Normal) Date: Mon, 30 Oct 2006 14:03:01 +0100 From: Alexander Leidinger To: Paolo Pisati References: <200610300915.k9U9Fpp4079193@repoman.freebsd.org> In-Reply-To: <200610300915.k9U9Fpp4079193@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; DelSp="Yes"; format="flowed" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable User-Agent: Internet Messaging Program (IMP) H3 (4.1.3) / FreeBSD-7.0 X-BPAnet-MailScanner-Information: Please contact the ISP for more information X-BPAnet-MailScanner: Found to be clean X-BPAnet-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-2.463, required 6, autolearn=not spam, BAYES_00 -2.60, DK_POLICY_SIGNSOME 0.00, FORGED_RCVD_HELO 0.14) X-BPAnet-MailScanner-From: alexander@leidinger.net X-Spam-Status: No Cc: Perforce Change Reviews Subject: Re: PERFORCE change 108717 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 13:04:25 -0000 Quoting Paolo Pisati (from Mon, 30 Oct 2006 09:15:51 GMT)= : > http://perforce.freebsd.org/chv.cgi?CH=3D108717 > > Change 108717 by piso@piso_newluxor on 2006/10/30 09:15:47 > =3D=3D=3D=3D //depot/projects/soc2005/libalias/ObsoleteFiles.inc#10 (text+= ko) =3D=3D=3D=3D > +# 20061030: move liablias modules from *.so.4 to *.so > +OLD_LIBS+=3Dlib/libalias_cuseeme.so.4 > +OLD_LIBS+=3Dlib/libalias_dummy.so.4 > +OLD_LIBS+=3Dlib/libalias_ftp.so.4 > +OLD_LIBS+=3Dlib/libalias_irc.so.4 > +OLD_LIBS+=3Dlib/libalias_nbt.so.4 > +OLD_LIBS+=3Dlib/libalias_pptp.so.4 > +OLD_LIBS+=3Dlib/libalias_skinny.so.4 > +OLD_LIBS+=3Dlib/libalias_smedia.so.4 If nobody links with them directly (for example if those are plugins =20 which are loaded at runtime only when they are needed), you can use =20 OLD_FILES for them instead of OLD_LIBS. The goal of OLD_LIBS is to not remove libs which may break =20 applications when they are not available. For this reason symlinks to =20 libs and static libs (libXXX.a) are removed with OLD_FILES, it doesn't =20 hurt at program startup time if those are not available. Bye, Alexander. --=20 People say I live in my own little fantasy world... well, at least they *know* me there! =09=09-- D. L. Roth http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID =3D B0063FE7 http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID =3D 72077137 From owner-p4-projects@FreeBSD.ORG Mon Oct 30 14:02:52 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 28C6516A40F; Mon, 30 Oct 2006 14:02:52 +0000 (UTC) X-Original-To: perforce@FreeBSD.org 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 DE35216A504; Mon, 30 Oct 2006 14:02:51 +0000 (UTC) (envelope-from flag@newluxor.wired.org) Received: from mail.oltrelinux.com (krisma.oltrelinux.com [194.242.226.43]) by mx1.FreeBSD.org (Postfix) with ESMTP id 25BA443E3A; Mon, 30 Oct 2006 14:01:37 +0000 (GMT) (envelope-from flag@newluxor.wired.org) Received: from newluxor.wired.org (ip-64-88.sn2.eutelia.it [83.211.64.88]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.oltrelinux.com (Postfix) with ESMTP id CAB4311AE43; Mon, 30 Oct 2006 15:01:01 +0100 (CET) Received: (from flag@localhost) by newluxor.wired.org (8.13.8/8.13.8/Submit) id k9UE0vFq001763; Mon, 30 Oct 2006 15:00:57 +0100 (CET) (envelope-from flag) Date: Mon, 30 Oct 2006 15:00:54 +0100 From: Paolo Pisati To: Alexander Leidinger Message-ID: <20061030140054.GA1750@tin.it> References: <200610300915.k9U9Fpp4079193@repoman.freebsd.org> <20061030140301.q7ko5hlezo0wk04s@webmail.leidinger.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20061030140301.q7ko5hlezo0wk04s@webmail.leidinger.net> User-Agent: Mutt/1.4.2.2i X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at krisma.oltrelinux.com Cc: Perforce Change Reviews , Paolo Pisati Subject: Re: PERFORCE change 108717 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 14:02:52 -0000 On Mon, Oct 30, 2006 at 02:03:01PM +0100, Alexander Leidinger wrote: > If nobody links with them directly (for example if those are plugins > which are loaded at runtime only when they are needed), you can use > OLD_FILES for them instead of OLD_LIBS. > > The goal of OLD_LIBS is to not remove libs which may break > applications when they are not available. For this reason symlinks to > libs and static libs (libXXX.a) are removed with OLD_FILES, it doesn't > hurt at program startup time if those are not available. ok, i'll use OLD_FILES then. bye -- Paolo Piso's first law: nothing works as expected! From owner-p4-projects@FreeBSD.ORG Mon Oct 30 14:05:31 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2122416A4FF; Mon, 30 Oct 2006 14:05:31 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 9A45516A4F2 for ; Mon, 30 Oct 2006 14:05:30 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 408D143D7F for ; Mon, 30 Oct 2006 14:04:51 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9UE4h16039799 for ; Mon, 30 Oct 2006 14:04:43 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9UE4hfu039795 for perforce@freebsd.org; Mon, 30 Oct 2006 14:04:43 GMT (envelope-from piso@freebsd.org) Date: Mon, 30 Oct 2006 14:04:43 GMT Message-Id: <200610301404.k9UE4hfu039795@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 108750 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 14:05:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=108750 Change 108750 by piso@piso_newluxor on 2006/10/30 14:04:33 use OLD_FILES instead of OLD_LIBS when possible. Affected files ... .. //depot/projects/soc2005/libalias/ObsoleteFiles.inc#11 edit Differences ... ==== //depot/projects/soc2005/libalias/ObsoleteFiles.inc#11 (text+ko) ==== @@ -14,7 +14,7 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # -# 20061030: remove symlink to libalias modules like /lib/libalias*.so.4 +# 20061030: remove symlink to *.so.4 libalias modules OLD_FILES+=usr/lib/libalias_cuseeme.so OLD_FILES+=usr/lib/libalias_dummy.so OLD_FILES+=usr/lib/libalias_ftp.so @@ -23,6 +23,15 @@ OLD_FILES+=usr/lib/libalias_pptp.so OLD_FILES+=usr/lib/libalias_skinny.so OLD_FILES+=usr/lib/libalias_smedia.so +# 20061030: remove old *.so.4 liablias modules +OLD_FILES+=lib/libalias_cuseeme.so.4 +OLD_FILES+=lib/libalias_dummy.so.4 +OLD_FILES+=lib/libalias_ftp.so.4 +OLD_FILES+=lib/libalias_irc.so.4 +OLD_FILES+=lib/libalias_nbt.so.4 +OLD_FILES+=lib/libalias_pptp.so.4 +OLD_FILES+=lib/libalias_skinny.so.4 +OLD_FILES+=lib/libalias_smedia.so.4 # 20061018: pccardc removed OLD_FILES+=usr/sbin/pccardc usr/share/man/man8/pccardc.8.gz # 20060930: demangle.h from contrib/libstdc++/include/ext/ @@ -2960,15 +2969,6 @@ # - usr/share/tmac/mm/se_locale # - var/yp/Makefile -# 20061030: move liablias modules from *.so.4 to *.so -OLD_LIBS+=lib/libalias_cuseeme.so.4 -OLD_LIBS+=lib/libalias_dummy.so.4 -OLD_LIBS+=lib/libalias_ftp.so.4 -OLD_LIBS+=lib/libalias_irc.so.4 -OLD_LIBS+=lib/libalias_nbt.so.4 -OLD_LIBS+=lib/libalias_pptp.so.4 -OLD_LIBS+=lib/libalias_skinny.so.4 -OLD_LIBS+=lib/libalias_smedia.so.4 # 20060729: OpenSSL 0.9.7e -> 0.9.8b upgrade OLD_LIBS+=lib/libcrypto.so.4 OLD_LIBS+=usr/lib/libssl.so.4 From owner-p4-projects@FreeBSD.ORG Mon Oct 30 15:17:20 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7C44E16A40F; Mon, 30 Oct 2006 15:17:20 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 4DE6116A47E for ; Mon, 30 Oct 2006 15:17:20 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3086A43D46 for ; Mon, 30 Oct 2006 15:17:17 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9UFHHPh051774 for ; Mon, 30 Oct 2006 15:17:17 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9UFHGLj051771 for perforce@freebsd.org; Mon, 30 Oct 2006 15:17:16 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 30 Oct 2006 15:17:16 GMT Message-Id: <200610301517.k9UFHGLj051771@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 108753 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 15:17:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=108753 Change 108753 by rwatson@rwatson_zoo on 2006/10/30 15:17:04 Move from enum priv priv to int priv. This reduces name space pollution and allows mac_framework.h not to have a nested include of priv.h. It also makes it easier to avoid ABI disruption by hard-coding privilege numbers and leaving gaps so sort order isn't disrupted. Affected files ... .. //depot/projects/trustedbsd/priv/sys/kern/kern_jail.c#11 edit .. //depot/projects/trustedbsd/priv/sys/kern/kern_priv.c#3 edit .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_framework.h#4 edit .. //depot/projects/trustedbsd/priv/sys/security/mac/mac_priv.c#2 edit .. //depot/projects/trustedbsd/priv/sys/security/mac_privs/mac_privs.c#2 edit .. //depot/projects/trustedbsd/priv/sys/security/mac_privs/mac_privs.h#2 edit .. //depot/projects/trustedbsd/priv/sys/sys/jail.h#3 edit .. //depot/projects/trustedbsd/priv/sys/sys/mac_policy.h#5 edit .. //depot/projects/trustedbsd/priv/sys/sys/priv.h#8 edit Differences ... ==== //depot/projects/trustedbsd/priv/sys/kern/kern_jail.c#11 (text+ko) ==== @@ -529,7 +529,7 @@ * have a specific list of accepted privileges; the rest are denied. */ int -prison_priv_check(struct ucred *cred, enum priv priv) +prison_priv_check(struct ucred *cred, int priv) { if (!(jailed(cred))) ==== //depot/projects/trustedbsd/priv/sys/kern/kern_priv.c#3 (text+ko) ==== @@ -34,12 +34,13 @@ #include #include #include -#include #include #include #include #include +#include + /* * `suser_enabled' (which can be set by the security.bsd.suser_enabled * sysctl) determines whether the system 'super-user' policy is in effect. @@ -62,7 +63,7 @@ * only a few to grant it. */ int -priv_check_cred(struct ucred *cred, enum priv priv, int flags) +priv_check_cred(struct ucred *cred, int priv, int flags) { int error; @@ -123,7 +124,7 @@ } int -priv_check(struct thread *td, enum priv priv) +priv_check(struct thread *td, int priv) { KASSERT(td == curthread, ("priv_check: td != curthread")); ==== //depot/projects/trustedbsd/priv/sys/security/mac/mac_framework.h#4 (text+ko) ==== @@ -51,7 +51,6 @@ #endif #include -#include /* XXXRW: Until name space issues resolved. */ struct bpf_d; struct cdev; @@ -408,8 +407,8 @@ struct label *label); void mac_cred_mmapped_drop_perms(struct thread *td, struct ucred *cred); void mac_associate_nfsd_label(struct ucred *cred); -int mac_priv_check(struct ucred *cred, enum priv priv); -int mac_priv_grant(struct ucred *cred, enum priv priv); +int mac_priv_check(struct ucred *cred, int priv); +int mac_priv_grant(struct ucred *cred, int priv); /* * Calls to help various file systems implement labeling functionality ==== //depot/projects/trustedbsd/priv/sys/security/mac/mac_priv.c#2 (text+ko) ==== @@ -38,13 +38,13 @@ #include #include #include -#include #include +#include #include int -mac_priv_check(struct ucred *cred, enum priv priv) +mac_priv_check(struct ucred *cred, int priv) { int error; @@ -54,7 +54,7 @@ } int -mac_priv_grant(struct ucred *cred, enum priv priv) +mac_priv_grant(struct ucred *cred, int priv) { int error; ==== //depot/projects/trustedbsd/priv/sys/security/mac_privs/mac_privs.c#2 (text+ko) ==== @@ -60,7 +60,7 @@ */ struct rule { uid_t r_uid; - enum priv r_priv; + int r_priv; TAILQ_ENTRY(rule) r_list; }; @@ -127,7 +127,7 @@ * Add a rule matching the uid and privilege. */ static int -mac_privs_rule_add(uid_t uid, enum priv priv) +mac_privs_rule_add(uid_t uid, int priv) { struct rule *new_rule, *rule; @@ -163,7 +163,7 @@ * Delete a rule matching the uid and privilege. */ static int -mac_privs_rule_delete(uid_t uid, enum priv priv) +mac_privs_rule_delete(uid_t uid, int priv) { struct rule *rule; @@ -252,7 +252,7 @@ * match a specific or wildcard rule (privilege of -1 in the rule). */ static int -mac_privs_priv_grant(struct ucred *cred, enum priv priv) +mac_privs_priv_grant(struct ucred *cred, int priv) { struct rule *rule; int error; ==== //depot/projects/trustedbsd/priv/sys/security/mac_privs/mac_privs.h#2 (text+ko) ==== @@ -48,8 +48,8 @@ */ #define MAC_PRIVS_ADD 1 struct mac_privs_add_args { - uid_t uid; - enum priv priv; + uid_t uid; + int priv; }; /* @@ -57,8 +57,8 @@ */ #define MAC_PRIVS_DELETE 2 struct mac_privs_delete_args { - uid_t uid; - enum priv priv; + uid_t uid; + int priv; }; /* @@ -80,8 +80,8 @@ */ #define MAC_PRIVS_LIST 4 struct mac_privs_list_entry { - uid_t uid; - enum priv priv; + uid_t uid; + int priv; }; struct mac_privs_list_args { ==== //depot/projects/trustedbsd/priv/sys/sys/jail.h#3 (text+ko) ==== @@ -111,7 +111,7 @@ void prison_hold(struct prison *pr); int prison_if(struct ucred *cred, struct sockaddr *sa); int prison_ip(struct ucred *cred, int flag, u_int32_t *ip); -int prison_priv_check(struct ucred *cred, enum priv priv); +int prison_priv_check(struct ucred *cred, int priv); void prison_remote_ip(struct ucred *cred, int flags, u_int32_t *ip); #endif /* _KERNEL */ ==== //depot/projects/trustedbsd/priv/sys/sys/mac_policy.h#5 (text+ko) ==== @@ -55,10 +55,12 @@ * Operations are sorted first by general class of operation, then * alphabetically. */ +#include #include /* XXX acl_type_t */ struct acl; struct bpf_d; +struct cdev; struct componentname; struct devfs_dirent; struct ifnet; @@ -595,8 +597,8 @@ struct ucred *file_cred, struct vnode *vp, struct label *label); typedef void (*mpo_associate_nfsd_label_t)(struct ucred *cred); -typedef int (*mpo_priv_check_t)(struct ucred *cred, enum priv priv); -typedef int (*mpo_priv_grant_t)(struct ucred *cred, enum priv priv); +typedef int (*mpo_priv_check_t)(struct ucred *cred, int priv); +typedef int (*mpo_priv_grant_t)(struct ucred *cred, int priv); struct mac_policy_ops { /* ==== //depot/projects/trustedbsd/priv/sys/sys/priv.h#8 (text+ko) ==== @@ -48,251 +48,387 @@ * When adding a new privilege, remember to determine if it's appropriate for * use in jail, and update the privilege switch in kern_jail.c as necessary. */ -enum priv { - /* Track beginning of privilege list. */ - _PRIV_LOWEST, +/* Track beginning of privilege list. */ +#define _PRIV_LOWEST 0 + +/* + * PRIV_ROOT is a catch-all for as yet unnamed privileges. No new + * references to this privilege should be added. + */ +#define PRIV_ROOT 1 /* Catch-all during development. */ + +/* + * The remaining privileges typically correspond to one or a small + * number of specific privilege checks, and have (relatively) precise + * meanings. They are loosely sorted into a set of base system + * privileges, such as the ability to reboot, and then loosely by + * subsystem, indicated by a subsystem name. + */ +#define PRIV_ACCT 2 /* Manage process accounting. */ +#define PRIV_MAXFILES 3 /* Exceed system open files limit. */ +#define PRIV_MAXPROC 4 /* Exceed system processes limit. */ +#define PRIV_KTRACE 5 /* Set/clear KTRFAC_ROOT on ktrace. */ +#define PRIV_SETDUMPER 6 /* Configure dump device. */ +#define PRIV_NFSD 7 /* Can become NFS daemon. */ +#define PRIV_REBOOT 8 /* Can reboot system. */ +#define PRIV_SWAPON 9 /* Can swapon(). */ +#define PRIV_SWAPOFF 10 /* Can swapoff(). */ +#define PRIV_MSGBUF 11 /* Can read kernel message buffer. */ +#define PRIV_WITNESS 12 /* Can configure WITNESS. */ +#define PRIV_IO 13 /* Can perform low-level I/O. */ +#define PRIV_KEYBOARD 14 /* Reprogram keyboard. */ +#define PRIV_DRIVER 15 /* Low-level driver privilege. */ +#define PRIV_ADJTIME 16 /* Set time adjustment. */ +#define PRIV_NTP_ADJTIME 17 /* Set NTP time adjustment. */ +#define PRIV_CLOCK_SETTIME 18 /* Can call clock_settime. */ +#define PRIV_SETTIMEOFDAY 19 /* Can call settimeofday. */ +#define PRIV_SETHOSTID 20 /* Can call sethostid. */ +#define PRIV_SETDOMAINNAME 21 /* Can call setdomainname. */ + +/* + * Audit subsystem privileges. + */ +#define PRIV_AUDIT_CONTROL 40 /* Can configure audit. */ +#define PRIV_AUDIT_FAILSTOP 41 /* Can run during audit fail stop. */ +#define PRIV_AUDIT_GETAUDIT 42 /* Can get proc audit properties. */ +#define PRIV_AUDIT_SETAUDIT 43 /* Can set proc audit properties. */ +#define PRIV_AUDIT_SUBMIT 44 /* Can submit an audit record. */ + +/* + * Credential management privileges. + */ +#define PRIV_CRED_SETUID 50 /* setuid. */ +#define PRIV_CRED_SETEUID 51 /* seteuid to !ruid and !svuid. */ +#define PRIV_CRED_SETGID 52 /* setgid. */ +#define PRIV_CRED_SETEGID 53 /* setgid to !rgid and !svgid. */ +#define PRIV_CRED_SETGROUPS 54 /* Set process additional groups. */ +#define PRIV_CRED_SETREUID 55 /* setreuid. */ +#define PRIV_CRED_SETREGID 56 /* setregid. */ +#define PRIV_CRED_SETRESUID 57 /* setresuid. */ +#define PRIV_CRED_SETRESGID 58 /* setresgid. */ +#define PRIV_SEEOTHERGIDS 59 /* Exempt bsd.seeothergids. */ +#define PRIV_SEEOTHERUIDS 60 /* Exempt bsd.seeotheruids. */ + +/* + * Debugging privileges. + */ +#define PRIV_DEBUG_DIFFCRED 80 /* Exempt debugging other users. */ +#define PRIV_DEBUG_SUGID 81 /* Exempt debugging setuid proc. */ +#define PRIV_DEBUG_UNPRIV 82 /* Exempt unprivileged debug limit. */ + +/* + * Dtrace privileges. + */ +#define PRIV_DTRACE_KERNEL 90 /* Allow use of DTrace on the kernel. */ +#define PRIV_DTRACE_PROC 91 /* Allow attaching DTrace to process. */ +#define PRIV_DTRACE_USER 92 /* Process may submit DTrace events. */ + +/* + * Firmware privilegs. + */ +#define PRIV_FIRMWARE_LOAD 100 /* Can load firmware. */ + +/* + * Jail privileges. + */ +#define PRIV_JAIL_ATTACH 110 /* Attach to a jail. */ + +/* + * Kernel environment priveleges. + */ +#define PRIV_KENV_SET 120 /* Set kernel env. variables. */ +#define PRIV_KENV_UNSET 121 /* Unset kernel env. variables. */ + +/* + * Loadable kernel module privileges. + */ +#define PRIV_KLD_LOAD 130 /* Load a kernel module. */ +#define PRIV_KLD_UNLOAD 131 /* Unload a kernel module. */ + +/* + * Privileges associated with the MAC Framework and specific MAC policy + * modules. + */ +#define PRIV_MAC_PARTITION 140 /* Privilege in mac_partition policy. */ +#define PRIV_MAC_PRIVS 141 /* Privilege in the mac_privs policy. */ + +/* + * Process-related privileges. + */ +#define PRIV_PROC_LIMIT 160 /* Exceed user process limit. */ +#define PRIV_PROC_SETLOGIN 161 /* Can call setlogin. */ +#define PRIV_PROC_SETRLIMIT 162 /* Can raise resources limits. */ + +/* System V IPC privileges. + */ +#define PRIV_IPC_READ 170 /* Can override IPC read perm. */ +#define PRIV_IPC_WRITE 171 /* Can override IPC write perm. */ +#define PRIV_IPC_EXEC 172 /* Can override IPC exec perm. */ +#define PRIV_IPC_ADMIN 173 /* Can override IPC owner-only perm. */ +#define PRIV_IPC_MSGSIZE 174 /* Exempt IPC message queue limit. */ + +/* + * POSIX message queue privileges. + */ +#define PRIV_MQ_ADMIN 180 /* Can override msgq owner-only perm. */ + +/* + * Performance monitoring counter privileges. + */ +#define PRIV_PMC_MANAGE 190 /* Can administer PMC. */ +#define PRIV_PMC_SYSTEM 191 /* Can allocate a system-wide PMC. */ + +/* + * Scheduling privileges. + */ +#define PRIV_SCHED_DIFFCRED 200 /* Exempt scheduling other users. */ +#define PRIV_SCHED_SETPRIORITY 201 /* Can set lower nice value for proc. */ +#define PRIV_SCHED_RTPRIO 202 /* Can set real time scheduling. */ +#define PRIV_SCHED_SETPOLICY 203 /* Can set scheduler policy. */ +#define PRIV_SCHED_SET 204 /* Can set thread scheduler. */ +#define PRIV_SCHED_SETPARAM 205 /* Can set thread scheduler params. */ + +/* + * POSIX semaphore privileges. + */ +#define PRIV_SEM_WRITE 220 /* Can override sem write perm. */ + +/* + * Signal privileges. + */ +#define PRIV_SIGNAL_DIFFCRED 230 /* Exempt signalling other users. */ +#define PRIV_SIGNAL_SUGID 231 /* Non-conserv signal setuid proc. */ + +/* + * Sysctl privileges. + */ +#define PRIV_SYSCTL_DEBUG 240 /* Can invoke sysctl.debug. */ +#define PRIV_SYSCTL_WRITE 241 /* Can write sysctls. */ +#define PRIV_SYSCTL_WRITEJAIL 242 /* Can write sysctls, jail permitted. */ + +/* + * TTY privileges. + */ +#define PRIV_TTY_CONSOLE 250 /* Set console to tty. */ +#define PRIV_TTY_DRAINWAIT 251 /* Set tty drain wait time. */ +#define PRIV_TTY_DTRWAIT 252 /* Set DTR wait on tty. */ +#define PRIV_TTY_EXCLUSIVE 253 /* Override tty exclusive flag. */ +#define PRIV_TTY_PRISON 254 /* Can open pts across jails. */ +#define PRIV_TTY_STI 255 /* Simulate input on another tty. */ +#define PRIV_TTY_SETA 256 /* Set tty termios structure. */ + +/* + * UFS-specific privileges. + */ +#define PRIV_UFS_EXTATTRCTL 270 /* Can configure EAs on UFS1. */ +#define PRIV_UFS_GETQUOTA 271 /* getquota(). */ +#define PRIV_UFS_QUOTAOFF 272 /* quotaoff(). */ +#define PRIV_UFS_QUOTAON 273 /* quotaon(). */ +#define PRIV_UFS_SETQUOTA 274 /* setquota(). */ +#define PRIV_UFS_SETUSE 275 /* setuse(). */ +#define PRIV_UFS_EXCEEDQUOTA 276 /* Exempt from quota restrictions. */ + +/* + * VFS privileges. + */ +#define PRIV_VFS_READ 310 /* Override vnode DAC read perm. */ +#define PRIV_VFS_WRITE 311 /* Override vnode DAC write perm. */ +#define PRIV_VFS_ADMIN 312 /* Override vnode DAC admin perm. */ +#define PRIV_VFS_EXEC 313 /* Override vnode DAC exec perm. */ +#define PRIV_VFS_LOOKUP 314 /* Override vnode DAC lookup perm. */ +#define PRIV_VFS_BLOCKRESERVE 315 /* Can use free block reserve. */ +#define PRIV_VFS_CHFLAGS_DEV 316 /* Can chflags() a device node. */ +#define PRIV_VFS_CHOWN 317 /* Can set user; group to non-member. */ +#define PRIV_VFS_CHROOT 318 /* chroot(). */ +#define PRIV_VFS_CLEARSUGID 319 /* Don't clear sugid on change. */ +#define PRIV_VFS_EXTATTR_SYSTEM 320 /* Operate on system EA namespace. */ +#define PRIV_VFS_FCHROOT 321 /* fchroot(). */ +#define PRIV_VFS_FHOPEN 322 /* Can fhopen(). */ +#define PRIV_VFS_FHSTAT 323 /* Can fhstat(). */ +#define PRIV_VFS_FHSTATFS 324 /* Can fhstatfs(). */ +#define PRIV_VFS_GENERATION 325 /* stat() returns generation number. */ +#define PRIV_VFS_GETFH 326 /* Can retrieve file handles. */ +#define PRIV_VFS_LINK 327 /* bsd.hardlink_check_uid */ +#define PRIV_VFS_MKNOD_BAD 328 /* Can mknod() to mark bad inodes. */ +#define PRIV_VFS_MKNOD_DEV 329 /* Can mknod() to create dev nodes. */ +#define PRIV_VFS_MKNOD_WHT 330 /* Can mknod() to create whiteout. */ +#define PRIV_VFS_MOUNT 331 /* Can mount(). */ +#define PRIV_VFS_MOUNT_OWNER 332 /* Override owner on user mounts. */ +#define PRIV_VFS_MOUNT_EXPORTED 333 /* Can set MNT_EXPORTED on mount. */ +#define PRIV_VFS_MOUNT_PERM 334 /* Override dev node perms at mount. */ +#define PRIV_VFS_MOUNT_SUIDDIR 335 /* Can set MNT_SUIDDIR on mount. */ +#define PRIV_VFS_MOUNT_NONUSER 336 /* Can perform a non-user mount. */ +#define PRIV_VFS_SETGID 337 /* Can setgid if not in group. */ +#define PRIV_VFS_STICKYFILE 338 /* Can set sticky bit on file. */ +#define PRIV_VFS_SYSFLAGS 339 /* Can modify system flags. */ +#define PRIV_VFS_UNMOUNT 340 /* Can unmount(). */ + +/* + * Virtual memory privileges. + */ +#define PRIV_VM_MADV_PROTECT 360 /* Can set MADV_PROTECT. */ +#define PRIV_VM_MLOCK 361 /* Can mlock(), mlockall(). */ +#define PRIV_VM_MUNLOCK 362 /* Can munlock(), munlockall(). */ + +/* + * Device file system privileges. + */ +#define PRIV_DEVFS_RULE 370 /* Can manage devfs rules. */ +#define PRIV_DEVFS_SYMLINK 371 /* Can create symlinks in devfs. */ + +/* + * Random number generator privileges. + */ +#define PRIV_RANDOM_RESEED 380 /* Closing /dev/random reseeds. */ + +/* + * Network stack privileges. + */ +#define PRIV_NET_BRIDGE 390 /* Administer bridge. */ +#define PRIV_NET_GRE 391 /* Administer GRE. */ +#define PRIV_NET_PPP 392 /* Administer PPP. */ +#define PRIV_NET_SLIP 393 /* Administer SLIP. */ +#define PRIV_NET_BPF 394 /* Monitor BPF. */ +#define PRIV_NET_RAW 395 /* Open raw socket. */ +#define PRIV_NET_ROUTE 396 /* Administer routing. */ +#define PRIV_NET_TAP 397 /* Can open tap device. */ +#define PRIV_NET_SETIFMTU 398 /* Set interface MTU. */ +#define PRIV_NET_SETIFFLAGS 399 /* Set interface flags. */ +#define PRIV_NET_SETIFCAP 400 /* Set interface capabilities. */ +#define PRIV_NET_SETIFNAME 401 /* Set interface name. */ +#define PRIV_NET_SETIFMETRIC 402 /* Set interface metrics. */ +#define PRIV_NET_SETIFPHYS 403 /* Set interface physical layer prop. */ +#define PRIV_NET_SETIFMAC 404 /* Set interface MAC label. */ +#define PRIV_NET_ADDMULTI 405 /* Add multicast addr. to ifnet. */ +#define PRIV_NET_DELMULTI 406 /* Delete multicast addr. from ifnet. */ +#define PRIV_NET_HWIOCTL 507 /* Issue hardware ioctl on ifnet. */ +#define PRIV_NET_SETLLADDR 508 +#define PRIV_NET_ADDIFGROUP 509 /* Add new interface group. */ +#define PRIV_NET_DELIFGROUP 510 /* Delete interface group. */ +#define PRIV_NET_IFCREATE 511 /* Create cloned interface. */ +#define PRIV_NET_IFDESTROY 512 /* Destroy cloned interface. */ +#define PRIV_NET_ADDIFADDR 513 /* Add protocol addr to interface. */ +#define PRIV_NET_DELIFADDR 514 /* Delete protocol addr on interface. */ + +/* + * 802.11-related privileges. + */ +#define PRIV_NET80211_GETKEY 540 /* Query 802.11 keys. */ +#define PRIV_NET80211_MANAGE 541 /* Administer 802.11. */ + +/* + * AppleTalk privileges. + */ +#define PRIV_NETATALK_RESERVEDPORT 550 /* Bind low port number. */ + +/* + * ATM privileges. + */ +#define PRIV_NETATM_CFG 560 +#define PRIV_NETATM_ADD 561 +#define PRIV_NETATM_DEL 562 +#define PRIV_NETATM_SET 563 + +/* + * Bluetooth privileges. + */ +#define PRIV_NETBLUETOOTH_RAW 570 /* Open raw bluetooth socket. */ + +/* + * Netgraph and netgraph module privileges. + */ +#define PRIV_NETGRAPH_CONTROL 580 /* Open netgraph control socket. */ +#define PRIV_NETGRAPH_TTY 581 /* Configure tty for netgraph. */ + +/* + * IPv4 and IPv6 privileges. + */ +#define PRIV_NETINET_RESERVEDPORT 590 /* Bind low port number. */ +#define PRIV_NETINET_IPFW 591 /* Administer IPFW firewall. */ +#define PRIV_NETINET_DIVERT 592 /* Open IP divert socket. */ +#define PRIV_NETINET_PF 593 /* Administer pf firewall. */ +#define PRIV_NETINET_DUMMYNET 594 /* Administer DUMMYNET. */ +#define PRIV_NETINET_CARP 595 /* Administer CARP. */ +#define PRIV_NETINET_MROUTE 596 /* Administer multicast routing. */ +#define PRIV_NETINET_RAW 597 /* Open netinet raw socket. */ +#define PRIV_NETINET_GETCRED 598 /* Query netinet pcb credentials. */ +#define PRIV_NETINET_ADDRCTRL6 599 /* Administer IPv6 address scopes. */ +#define PRIV_NETINET_ND6 600 /* Administer IPv6 neighbor disc. */ +#define PRIV_NETINET_SCOPE6 601 /* Administer IPv6 address scopes. */ +#define PRIV_NETINET_ALIFETIME6 602 /* Administer IPv6 address lifetimes. */ +#define PRIV_NETINET_IPSEC 603 /* Administer IPSEC. */ + +/* + * IPX/SPX privileges. + */ +#define PRIV_NETIPX_RESERVEDPORT 620 /* Bind low port number. */ +#define PRIV_NETIPX_RAW 621 /* Open netipx raw socket. */ + +/* + * NCP privileges. + */ +#define PRIV_NETNCP 630 /* Use another user's connection. */ - /* - * PRIV_ROOT is a catch-all for as yet unnamed privileges. No new - * references to this privilege should be added. - */ - PRIV_ROOT, /* Catch-all during development. */ +/* + * SMB privileges. + */ +#define PRIV_NETSMB 640 /* Use another user's connection. */ - /* - * The remaining privileges typically correspond to one or a small - * number of specific privilege checks, and have (relatively) precise - * meanings. They are loosely sorted into a set of base system - * privileges, such as the ability to reboot, and then loosely by - * subsystem, indicated by a subsystem name. - */ - PRIV_ACCT, /* Manage process accounting. */ - PRIV_MAXFILES, /* Exceed system open files limit. */ - PRIV_MAXPROC, /* Exceed system processes limit. */ - PRIV_KTRACE, /* Set/accept KTRFAC_ROOT on ktrace. */ - PRIV_SETDUMPER, /* Configure dump device (XXX: needs work). */ - PRIV_NFSD, /* Can become NFS daemon. */ - PRIV_REBOOT, /* Can reboot system. */ - PRIV_SWAPON, /* Can swapon(). */ - PRIV_SWAPOFF, /* Can swapoff(). */ - PRIV_MSGBUF, /* Can read kernel message buffer. */ - PRIV_WITNESS, /* Can configure WITNESS. */ - PRIV_IO, /* Can perform low-level I/O. */ - PRIV_KEYBOARD, /* Reprogram keyboard. */ - PRIV_DRIVER, /* Low-level driver privilege. */ - PRIV_ADJTIME, /* Set time adjustment. */ - PRIV_NTP_ADJTIME, /* Set NTP time adjustment. */ - PRIV_CLOCK_SETTIME, /* Can call clock_settime. */ - PRIV_SETTIMEOFDAY, /* Can call settimeofday. */ - PRIV_SETHOSTID, /* Can call sethostid. */ - PRIV_SETDOMAINNAME, /* Can call setdomainname. */ - PRIV_AUDIT_CONTROL, /* Can configure audit. */ - PRIV_AUDIT_FAILSTOP, /* Can run during audit fail stop. */ - PRIV_AUDIT_GETAUDIT, /* Can get proc audit properties. */ - PRIV_AUDIT_SETAUDIT, /* Can set proc audit properties. */ - PRIV_AUDIT_SUBMIT, /* Can submit an audit record. */ - PRIV_CRED_SETUID, /* setuid. */ - PRIV_CRED_SETEUID, /* seteuid to !ruid and !svuid. */ - PRIV_CRED_SETGID, /* setgid. */ - PRIV_CRED_SETEGID, /* setgid to !rgid and !svgid. */ - PRIV_CRED_SETGROUPS, /* Set process additional groups. */ - PRIV_CRED_SETREUID, /* setreuid. */ - PRIV_CRED_SETREGID, /* setregid. */ - PRIV_CRED_SETRESUID, /* setresuid. */ - PRIV_CRED_SETRESGID, /* setresgid. */ - PRIV_SEEOTHERGIDS, /* Exempt bsd.seeothergids. */ - PRIV_SEEOTHERUIDS, /* Exempt bsd.seeotheruids. */ - PRIV_DEBUG_DIFFCRED, /* Exempt debugging other users. */ - PRIV_DEBUG_SUGID, /* Exempt debugging setuid proc. */ - PRIV_DEBUG_UNPRIV, /* Exempt unprivileged debug limit. */ - PRIV_DTRACE_KERNEL, /* Allow use of DTrace on the kernel. */ - PRIV_DTRACE_PROC, /* Allow attaching DTrace to process. */ - PRIV_DTRACE_USER, /* Allow process to submit DTrace events. */ - PRIV_FIRMWARE_LOAD, /* Can load firmware. */ - PRIV_JAIL_ATTACH, /* Attach to a jail. */ - PRIV_KENV_SET, /* Set kernel env. variables. */ - PRIV_KENV_UNSET, /* Unset kernel env. variables. */ - PRIV_KLD_LOAD, /* Load a kernel module. */ - PRIV_KLD_UNLOAD, /* Unload a kernel module. */ - PRIV_MAC_PARTITION, /* Privilege in mac_partition policy. */ - PRIV_MAC_PRIVS, /* Privilege in the mac_privs policy. */ - PRIV_PROC_LIMIT, /* Exceed user process limit. */ - PRIV_PROC_SETLOGIN, /* Can call setlogin. */ - PRIV_PROC_SETRLIMIT, /* Can raise resources limits. */ - PRIV_IPC_READ, /* Can override IPC read perm. */ - PRIV_IPC_WRITE, /* Can override IPC write perm. */ - PRIV_IPC_EXEC, /* Can override IPC exec perm. */ - PRIV_IPC_ADMIN, /* Can override IPC owner-only perm. */ - PRIV_IPC_MSGSIZE, /* Exempt IPC message queue limit. */ - PRIV_MQ_ADMIN, /* Can override msgq owner-only perm. */ - PRIV_PMC_MANAGE, /* Can administer PMC. */ - PRIV_PMC_SYSTEM, /* Can allocate a system-wide PMC. */ - PRIV_SCHED_DIFFCRED, /* Exempt scheduling other users. */ - PRIV_SCHED_SETPRIORITY, /* Can set lower nice value for proc. */ - PRIV_SCHED_RTPRIO, /* Can set real time scheduling. */ - PRIV_SCHED_SETPOLICY, /* Can set scheduler policy. */ - PRIV_SCHED_SET, /* Can set thread scheduler. */ - PRIV_SCHED_SETPARAM, /* Can set thread scheduler params. */ - PRIV_SEM_WRITE, /* Can override sem write perm. */ - PRIV_SIGNAL_DIFFCRED, /* Exempt signalling other users. */ - PRIV_SIGNAL_SUGID, /* Non-conserv signal setuid proc. */ - PRIV_SYSCTL_DEBUG, /* Can invoke sysctl.debug. */ - PRIV_SYSCTL_WRITE, /* Can write sysctls. */ - PRIV_SYSCTL_WRITEJAIL, /* Can write sysctls, jail permitted. */ - PRIV_TTY_CONSOLE, /* Set console to tty. */ - PRIV_TTY_DRAINWAIT, /* Set tty drain wait time. */ - PRIV_TTY_DTRWAIT, /* Set DTR wait on tty. */ - PRIV_TTY_EXCLUSIVE, /* Override tty exclusive flag. */ - PRIV_TTY_PRISON, /* Can open pts across jails. */ - PRIV_TTY_STI, /* Simulate input on another tty. */ - PRIV_TTY_SETA, /* Set tty termios structure. */ - PRIV_UFS_EXTATTRCTL, /* Can configure EAs on UFS1. */ - PRIV_UFS_GETQUOTA, /* getquota(). */ - PRIV_UFS_QUOTAOFF, /* quotaoff(). */ - PRIV_UFS_QUOTAON, /* quotaon(). */ - PRIV_UFS_SETQUOTA, /* setquota(). */ - PRIV_UFS_SETUSE, /* setuse(). */ - PRIV_UFS_EXCEEDQUOTA, /* Exempt from quota restrictions. */ - PRIV_VFS_READ, /* Override vnode DAC read perm. */ - PRIV_VFS_WRITE, /* Override vnode DAC write perm. */ - PRIV_VFS_ADMIN, /* Override vnode DAC admin perm. */ - PRIV_VFS_EXEC, /* Override vnode DAC exec perm. */ - PRIV_VFS_LOOKUP, /* Override vnode DAC lookup perm. */ - PRIV_VFS_BLOCKRESERVE, /* Can use free block reserve. */ - PRIV_VFS_CHFLAGS_DEV, /* Can chflags() a device node. */ - PRIV_VFS_CHOWN, /* Can set user; group to non-member. */ - PRIV_VFS_CHROOT, /* chroot(). */ - PRIV_VFS_CLEARSUGID, /* Don't clear sugid on change. */ - PRIV_VFS_EXTATTR_SYSTEM, /* Operate on system EA namespace. */ - PRIV_VFS_FCHROOT, /* fchroot(). */ - PRIV_VFS_FHOPEN, /* Can fhopen(). */ - PRIV_VFS_FHSTAT, /* Can fhstat(). */ - PRIV_VFS_FHSTATFS, /* Can fhstatfs(). */ - PRIV_VFS_GENERATION, /* stat() returns generation number. */ - PRIV_VFS_GETFH, /* Can retrieve file handles. */ - PRIV_VFS_LINK, /* bsd.hardlink_check_uid */ - PRIV_VFS_MKNOD_BAD, /* Can use mknod() to mark bad inodes. */ - PRIV_VFS_MKNOD_DEV, /* Can use mknod() to create device nodes. */ - PRIV_VFS_MKNOD_WHT, /* Can use mknod() to create whiteout. */ - PRIV_VFS_MOUNT, /* Can mount(). */ - PRIV_VFS_MOUNT_OWNER, /* Override owner on user mounts. */ - PRIV_VFS_MOUNT_EXPORTED, /* Can set MNT_EXPORTED on mount. */ - PRIV_VFS_MOUNT_PERM, /* Override device node perms at mount. */ - PRIV_VFS_MOUNT_SUIDDIR, /* Can set MNT_SUIDDIR on mount. */ - PRIV_VFS_MOUNT_NONUSER, /* Can perform a non-user mount. */ - PRIV_VFS_SETGID, /* Can setgid if not in group. */ - PRIV_VFS_STICKYFILE, /* Can set sticky bit on file. */ - PRIV_VFS_SYSFLAGS, /* Can modify system flags. */ - PRIV_VFS_UNMOUNT, /* Can unmount(). */ - PRIV_VM_MADV_PROTECT, /* Can set MADV_PROTECT. */ - PRIV_VM_MLOCK, /* Can mlock(), mlockall(). */ - PRIV_VM_MUNLOCK, /* Can munlock(), munlockall(). */ - PRIV_DEVFS_RULE, /* Can manage devfs rules. */ - PRIV_DEVFS_SYMLINK, /* Can create symlinks in devfs. */ - PRIV_RANDOM_RESEED, /* Closing /dev/random reseeds. */ - PRIV_NET_BRIDGE, /* Administer bridge. */ - PRIV_NET_GRE, /* Administer GRE. */ - PRIV_NET_PPP, /* Administer PPP. */ - PRIV_NET_SLIP, /* Administer SLIP. */ - PRIV_NET_BPF, /* Monitor BPF. */ - PRIV_NET_RAW, /* Open raw socket. */ - PRIV_NET_ROUTE, /* Administer routing. */ - PRIV_NET_TAP, /* Can open tap device. */ - PRIV_NET_SETIFMTU, /* Set interface MTU. */ - PRIV_NET_SETIFFLAGS, /* Set interface flags. */ - PRIV_NET_SETIFCAP, /* Set interface capabilities. */ - PRIV_NET_SETIFNAME, /* Set interface name. */ - PRIV_NET_SETIFMETRIC, /* Set interface metrics. */ - PRIV_NET_SETIFPHYS, /* Set interface physical layer prop. */ - PRIV_NET_SETIFMAC, /* Set interface MAC label. */ - PRIV_NET_ADDMULTI, /* Add multicast addr. to ifnet. */ - PRIV_NET_DELMULTI, /* Delete multicast addr. from ifnet. */ - PRIV_NET_HWIOCTL, /* Issue hardware ioctl on ifnet. */ - PRIV_NET_SETLLADDR, - PRIV_NET_ADDIFGROUP, /* Add new interface group. */ - PRIV_NET_DELIFGROUP, /* Delete interface group. */ - PRIV_NET_IFCREATE, /* Create cloned interface. */ - PRIV_NET_IFDESTROY, /* Destroy cloned interface. */ - PRIV_NET_ADDIFADDR, /* Add protocol address to interface. */ - PRIV_NET_DELIFADDR, /* Delete protocol address on interface. */ - PRIV_NET80211_GETKEY, /* Query 802.11 keys. */ - PRIV_NET80211_MANAGE, /* Administer 802.11. */ - PRIV_NETATALK_RESERVEDPORT, /* Bind low port number. */ - PRIV_NETATM_CFG, - PRIV_NETATM_ADD, - PRIV_NETATM_DEL, - PRIV_NETATM_SET, - PRIV_NETBLUETOOTH_RAW, /* Open raw bluetooth socket. */ - PRIV_NETGRAPH_CONTROL, /* Open netgraph control socket. */ - PRIV_NETGRAPH_TTY, /* Configure tty for netgraph. */ - PRIV_NETINET_RESERVEDPORT, /* Bind low port number. */ - PRIV_NETINET_IPFW, /* Administer IPFW firewall. */ - PRIV_NETINET_DIVERT, /* Open IP divert socket. */ - PRIV_NETINET_PF, /* Administer pf firewall. */ - PRIV_NETINET_DUMMYNET, /* Administer DUMMYNET. */ - PRIV_NETINET_CARP, /* Administer CARP. */ - PRIV_NETINET_MROUTE, /* Administer multicast routing. */ - PRIV_NETINET_RAW, /* Open netinet raw socket. */ - PRIV_NETINET_GETCRED, /* Query netinet pcb credentials. */ - PRIV_NETINET_ADDRCTRL6, /* Administer IPv6 address scopes. */ - PRIV_NETINET_ND6, /* Administer IPv6 neighbor disc. */ - PRIV_NETINET_SCOPE6, /* Administer IPv6 address scopes. */ - PRIV_NETINET_ALIFETIME6, /* Administer IPv6 address lifetimes. */ - PRIV_NETINET_IPSEC, /* Administer IPSEC. */ - PRIV_NETIPX_RESERVEDPORT, /* Bind low port number. */ - PRIV_NETIPX_RAW, /* Open netipx raw socket. */ - PRIV_NETNCP, /* Allow use of connection owned by another user. */ - PRIV_NETSMB, /* Allow use of connection owned by another user. */ - PRIV_VM86_INTCALL, /* Allow invoking vm86 int handlers. */ +/* + * VM86 privileges. + */ +#define PRIV_VM86_INTCALL 650/* Allow invoking vm86 int handlers. */ - /* - * Set of reserved privilege values, which will be allocated to code - * as needed, in order to avoid renumbering later privileges due to - * insertion. - */ - _PRIV_RESERVED0, - _PRIV_RESERVED1, - _PRIV_RESERVED2, - _PRIV_RESERVED3, - _PRIV_RESERVED4, - _PRIV_RESERVED5, - _PRIV_RESERVED6, - _PRIV_RESERVED7, - _PRIV_RESERVED8, - _PRIV_RESERVED9, - _PRIV_RESERVED10, - _PRIV_RESERVED11, - _PRIV_RESERVED12, - _PRIV_RESERVED13, - _PRIV_RESERVED14, - _PRIV_RESERVED15, +/* + * Set of reserved privilege values, which will be allocated to code + * as needed, in order to avoid renumbering later privileges due to + * insertion. + */ +#define _PRIV_RESERVED0 660 +#define _PRIV_RESERVED1 661 +#define _PRIV_RESERVED2 662 +#define _PRIV_RESERVED3 663 +#define _PRIV_RESERVED4 664 +#define _PRIV_RESERVED5 665 +#define _PRIV_RESERVED6 666 +#define _PRIV_RESERVED7 667 +#define _PRIV_RESERVED8 668 +#define _PRIV_RESERVED9 669 +#define _PRIV_RESERVED10 670 +#define _PRIV_RESERVED11 671 +#define _PRIV_RESERVED12 672 +#define _PRIV_RESERVED13 673 +#define _PRIV_RESERVED14 674 +#define _PRIV_RESERVED15 675 - /* - * Define a set of valid privilege numbers that can be used by - * loadable modules that don't yet have privilege reservations. - * Ideally, these should not be used, since their meaning is opaque - * to any policies that are aware of specific privileges, such as - * jail, and as such may be arbitrarily denied. - */ - PRIV_MODULE0, - PRIV_MODULE1, - PRIV_MODULE2, - PRIV_MODULE3, - PRIV_MODULE4, - PRIV_MODULE5, - PRIV_MODULE6, - PRIV_MODULE7, - PRIV_MODULE8, - PRIV_MODULE9, - PRIV_MODULE10, - PRIV_MODULE11, - PRIV_MODULE12, - PRIV_MODULE13, - PRIV_MODULE14, - PRIV_MODULE15, +/* + * Define a set of valid privilege numbers that can be used by + * loadable modules that don't yet have privilege reservations. + * Ideally, these should not be used, since their meaning is opaque + * to any policies that are aware of specific privileges, such as + * jail, and as such may be arbitrarily denied. + */ +#define PRIV_MODULE0 700 +#define PRIV_MODULE1 701 +#define PRIV_MODULE2 702 +#define PRIV_MODULE3 703 +#define PRIV_MODULE4 704 +#define PRIV_MODULE5 705 +#define PRIV_MODULE6 706 +#define PRIV_MODULE7 707 +#define PRIV_MODULE8 708 +#define PRIV_MODULE9 709 +#define PRIV_MODULE10 710 +#define PRIV_MODULE11 711 +#define PRIV_MODULE12 712 +#define PRIV_MODULE13 713 +#define PRIV_MODULE14 714 +#define PRIV_MODULE15 715 - /* Track end of privilege list. */ - _PRIV_HIGHEST -}; +/* + * Track end of privilege list. + */ +#define _PRIV_HIGHEST 716 /* * Validate that a named privilege is known by the privilege system. Invalid @@ -311,8 +447,8 @@ */ struct thread; struct ucred; -int priv_check(struct thread *td, enum priv priv); -int priv_check_cred(struct ucred *cred, enum priv priv, int flags); +int priv_check(struct thread *td, int priv); +int priv_check_cred(struct ucred *cred, int priv, int flags); #endif #endif /* !_SYS_PRIV_H_ */ From owner-p4-projects@FreeBSD.ORG Mon Oct 30 15:22:24 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4FDF916A416; Mon, 30 Oct 2006 15:22:24 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 268F816A403 for ; Mon, 30 Oct 2006 15:22:24 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id ED03D43D46 for ; Mon, 30 Oct 2006 15:22:23 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9UFMNfx052932 for ; Mon, 30 Oct 2006 15:22:23 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9UFMNxt052920 for perforce@freebsd.org; Mon, 30 Oct 2006 15:22:23 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 30 Oct 2006 15:22:23 GMT Message-Id: <200610301522.k9UFMNxt052920@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 108754 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 15:22:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=108754 Change 108754 by rwatson@rwatson_zoo on 2006/10/30 15:21:55 Update for enum priv->int. Affected files ... .. //depot/projects/trustedbsd/priv/usr.sbin/mac_privs/mac_priv_names.c#3 edit .. //depot/projects/trustedbsd/priv/usr.sbin/mac_privs/mac_privs.c#3 edit .. //depot/projects/trustedbsd/priv/usr.sbin/mac_privs/mac_privs.h#2 edit Differences ... ==== //depot/projects/trustedbsd/priv/usr.sbin/mac_privs/mac_priv_names.c#3 (text+ko) ==== @@ -48,7 +48,7 @@ #include "mac_privs.h" struct priv_desc { - enum priv priv; + int priv; const char *name; }; @@ -283,7 +283,7 @@ static const int priv_count = sizeof(privs) / sizeof(struct priv_desc); int -priv_to_name(enum priv priv, const char **namep) +priv_to_name(int priv, const char **namep) { int i; @@ -298,7 +298,7 @@ } int -name_to_priv(const char *name, enum priv *privp) +name_to_priv(const char *name, int *privp) { int i; ==== //depot/projects/trustedbsd/priv/usr.sbin/mac_privs/mac_privs.c#3 (text+ko) ==== @@ -60,7 +60,7 @@ } static void -mac_privs_add(uid_t uid, enum priv priv) +mac_privs_add(uid_t uid, int priv) { struct mac_privs_add_args args; @@ -72,7 +72,7 @@ } static void -mac_privs_delete(uid_t uid, enum priv priv) +mac_privs_delete(uid_t uid, int priv) { struct mac_privs_delete_args args; @@ -139,9 +139,9 @@ int main(int argc, char *argv[]) { - enum priv priv; char *dummy; uid_t uid; + int priv; long l; if (argc < 2) ==== //depot/projects/trustedbsd/priv/usr.sbin/mac_privs/mac_privs.h#2 (text+ko) ==== @@ -33,7 +33,7 @@ #define _MAC_PRIVS_H_ void list_privs(void); -int name_to_priv(const char *name, enum priv *privp); -int priv_to_name(enum priv priv, const char **namep); +int name_to_priv(const char *name, int *privp); +int priv_to_name(int priv, const char **namep); #endif From owner-p4-projects@FreeBSD.ORG Mon Oct 30 15:23:39 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A4B7716A47C; Mon, 30 Oct 2006 15:23:39 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 8380716A417 for ; Mon, 30 Oct 2006 15:23:39 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 71EF743D94 for ; Mon, 30 Oct 2006 15:23:27 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9UFNRWX053214 for ; Mon, 30 Oct 2006 15:23:27 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9UFNQMQ053211 for perforce@freebsd.org; Mon, 30 Oct 2006 15:23:26 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 30 Oct 2006 15:23:26 GMT Message-Id: <200610301523.k9UFNQMQ053211@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 108756 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 15:23:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=108756 Change 108756 by rwatson@rwatson_zoo on 2006/10/30 15:23:15 Update for enum priv -> int. Affected files ... .. //depot/projects/trustedbsd/priv/share/man/man9/priv.9#2 edit Differences ... ==== //depot/projects/trustedbsd/priv/share/man/man9/priv.9#2 (text+ko) ==== @@ -36,11 +36,10 @@ .Nd kernel privilege checking API .Sh SYNOPSIS .In sys/priv.h -.Vt enum priv {}; .Ft int -.Fn priv_check "struct thread *td" "enum priv priv" +.Fn priv_check "struct thread *td" "int priv" .Ft int -.Fn priv_check_cred "struct ucred *cred" "enum priv priv" "int flags" +.Fn priv_check_cred "struct ucred *cred" "int priv" "int flags" .Sh DESCRIPTION The .Xr priv 9 From owner-p4-projects@FreeBSD.ORG Mon Oct 30 15:53:06 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7C13D16A494; Mon, 30 Oct 2006 15:53:06 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 309AF16A416 for ; Mon, 30 Oct 2006 15:53:06 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 457EB43D69 for ; Mon, 30 Oct 2006 15:53:05 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9UFr5I0062659 for ; Mon, 30 Oct 2006 15:53:05 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9UFr4Gi062656 for perforce@freebsd.org; Mon, 30 Oct 2006 15:53:04 GMT (envelope-from bushman@freebsd.org) Date: Mon, 30 Oct 2006 15:53:04 GMT Message-Id: <200610301553.k9UFr4Gi062656@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 108758 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 15:53:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=108758 Change 108758 by bushman@bushman_nss_ldap_cached on 2006/10/30 15:52:46 + ${PICFLAG} added to build on amd64. I wonder if it is correct on other platforms - needs checking + 2 minor fixes Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libnssutil/Makefile#8 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/Makefile#3 edit .. //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.own.mk#5 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libnssutil/Makefile#8 (text+ko) ==== @@ -3,6 +3,7 @@ LIB= nssutil SRCS= copynetent.c copyhtent.c gr_scan.c pw_scan.c rpcunpack.c\ servunpack.c +CFLAGS+= ${PICFLAG} INTERNALLIB= .include ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/Makefile#3 (text+ko) ==== @@ -22,7 +22,7 @@ .endif # Needed to use __pw_scan function, which is in libnssutil -CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../libutil +CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../libnssutil LD_ADD+= -lnssutil LDFLAGS+= -L${.OBJDIR}/../libnssutil ==== //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.own.mk#5 (text+ko) ==== @@ -368,7 +368,7 @@ BIND_LIBS \ HESIOD \ IDEA \ - NSS_ICMP \ + NSS_ICMP .if defined(WITH_${var}) && defined(WITHOUT_${var}) .error WITH_${var} and WITHOUT_${var} can't both be set. .endif From owner-p4-projects@FreeBSD.ORG Mon Oct 30 17:21:01 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 069FD16A416; Mon, 30 Oct 2006 17:21:01 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 BC25B16A407 for ; Mon, 30 Oct 2006 17:21:00 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9F6A743D53 for ; Mon, 30 Oct 2006 17:21:00 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9UHL0gQ086045 for ; Mon, 30 Oct 2006 17:21:00 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9UHL0Ek086039 for perforce@freebsd.org; Mon, 30 Oct 2006 17:21:00 GMT (envelope-from piso@freebsd.org) Date: Mon, 30 Oct 2006 17:21:00 GMT Message-Id: <200610301721.k9UHL0Ek086039@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 108764 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 17:21:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=108764 Change 108764 by piso@piso_newluxor on 2006/10/30 17:20:34 Rename LIBALIAS_LOCK_INIT and LIBALIAS_LOCK_DESTROY to LIBALIAS_RWLOCK_INIT and LIBALIAS_RWLOCK_DESTROY to avoid name clashes. Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_mod.c#25 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_mod.c#25 (text+ko) ==== @@ -60,9 +60,9 @@ #ifdef _KERNEL -#define LIBALIAS_LOCK_INIT() \ +#define LIBALIAS_RWLOCK_INIT() \ rw_init(&handler_rw, "Libalias_modules_rwlock") -#define LIBALIAS_LOCK_DESTROY() rw_destroy(&handler_rw) +#define LIBALIAS_RWLOCK_DESTROY() rw_destroy(&handler_rw) #define LIBALIAS_WLOCK_ASSERT() \ rw_assert(&handler_rw, RA_WLOCKED) @@ -95,7 +95,7 @@ { if (!rw_initialized(&handler_rw)) - LIBALIAS_LOCK_INIT(); + LIBALIAS_RWLOCK_INIT(); } static void @@ -103,12 +103,12 @@ { if (rw_initialized(&handler_rw)) - LIBALIAS_LOCK_DESTROY(); + LIBALIAS_RWLOCK_DESTROY(); } #else -#define LIBALIAS_LOCK_INIT() ; -#define LIBALIAS_LOCK_DESTROY() ; +#define LIBALIAS_RWLOCK_INIT() ; +#define LIBALIAS_RWLOCK_DESTROY() ; #define LIBALIAS_WLOCK_ASSERT() ; #define LIBALIAS_RLOCK() ; #define LIBALIAS_RUNLOCK() ; From owner-p4-projects@FreeBSD.ORG Mon Oct 30 17:49:37 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6FA4D16A49E; Mon, 30 Oct 2006 17:49:37 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 1D86116A47E for ; Mon, 30 Oct 2006 17:49:37 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D976D43D58 for ; Mon, 30 Oct 2006 17:49:36 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9UHnaDE091123 for ; Mon, 30 Oct 2006 17:49:36 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9UHna9Y091119 for perforce@freebsd.org; Mon, 30 Oct 2006 17:49:36 GMT (envelope-from piso@freebsd.org) Date: Mon, 30 Oct 2006 17:49:36 GMT Message-Id: <200610301749.k9UHna9Y091119@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 108766 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 17:49:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=108766 Change 108766 by piso@piso_newluxor on 2006/10/30 17:49:03 Libalias locking: embed a sleep mtx per struct libalias instance, and grab/drop it at the entrance/exit of every public LibAlias* function. Not tested yet... Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#19 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_db.c#13 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_local.h#8 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_proxy.c#9 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_util.c#4 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#19 (text+ko) ==== @@ -1138,6 +1138,7 @@ struct alias_link *lnk; struct ip *pip; + LIBALIAS_LOCK(la); pip = (struct ip *)ptr; lnk = AddFragmentPtrLink(la, pip->ip_src, pip->ip_id); iresult = PKT_ALIAS_ERROR; @@ -1145,6 +1146,7 @@ SetFragmentPtr(lnk, ptr); iresult = PKT_ALIAS_OK; } + LIBALIAS_UNLOCK(la); return (iresult); } @@ -1156,17 +1158,18 @@ char *fptr; struct ip *pip; + LIBALIAS_LOCK(la); pip = (struct ip *)ptr; lnk = FindFragmentPtr(la, pip->ip_src, pip->ip_id); if (lnk != NULL) { GetFragmentPtr(lnk, &fptr); SetFragmentPtr(lnk, NULL); SetExpire(lnk, 0); /* Deletes link */ + } else + fptr = NULL; - return (fptr); - } else { - return (NULL); - } + LIBALIAS_UNLOCK(la); + return (fptr); } @@ -1181,6 +1184,7 @@ struct ip *pip; struct ip *fpip; + LIBALIAS_LOCK(la); (void)la; pip = (struct ip *)ptr; fpip = (struct ip *)ptr_fragment; @@ -1188,6 +1192,7 @@ DifferentialChecksum(&fpip->ip_sum, &pip->ip_dst, &fpip->ip_dst, 2); fpip->ip_dst = pip->ip_dst; + LIBALIAS_UNLOCK(la); } @@ -1198,11 +1203,12 @@ struct ip *pip; int iresult; + LIBALIAS_LOCK(la); if (la->packetAliasMode & PKT_ALIAS_REVERSE) { la->packetAliasMode &= ~PKT_ALIAS_REVERSE; iresult = LibAliasOut(la, ptr, maxpacketsize); la->packetAliasMode |= PKT_ALIAS_REVERSE; - return (iresult); + goto getout; } HouseKeeping(la); ClearCheckNewLink(la); @@ -1211,8 +1217,10 @@ /* Defense against mangled packets */ if (ntohs(pip->ip_len) > maxpacketsize - || (pip->ip_hl << 2) > maxpacketsize) - return (PKT_ALIAS_IGNORED); + || (pip->ip_hl << 2) > maxpacketsize) { + iresult = PKT_ALIAS_IGNORED; + goto getout; + } iresult = PKT_ALIAS_IGNORED; if ((ntohs(pip->ip_off) & IP_OFFMASK) == 0) { @@ -1266,6 +1274,8 @@ iresult = FragmentIn(la, pip); } +getout: + LIBALIAS_UNLOCK(la); return (iresult); } @@ -1305,11 +1315,12 @@ struct in_addr addr_save; struct ip *pip; + LIBALIAS_LOCK(la); if (la->packetAliasMode & PKT_ALIAS_REVERSE) { la->packetAliasMode &= ~PKT_ALIAS_REVERSE; iresult = LibAliasIn(la, ptr, maxpacketsize); la->packetAliasMode |= PKT_ALIAS_REVERSE; - return (iresult); + goto getout; } HouseKeeping(la); ClearCheckNewLink(la); @@ -1317,8 +1328,10 @@ /* Defense against mangled packets */ if (ntohs(pip->ip_len) > maxpacketsize - || (pip->ip_hl << 2) > maxpacketsize) - return (PKT_ALIAS_IGNORED); + || (pip->ip_hl << 2) > maxpacketsize) { + iresult = PKT_ALIAS_IGNORED; + goto getout; + } addr_save = GetDefaultAliasAddress(la); if (la->packetAliasMode & PKT_ALIAS_UNREGISTERED_ONLY) { @@ -1380,6 +1393,8 @@ } SetDefaultAliasAddress(la, addr_save); +getout: + LIBALIAS_UNLOCK(la); return (iresult); } @@ -1395,12 +1410,13 @@ struct alias_link *lnk; int iresult = PKT_ALIAS_IGNORED; + LIBALIAS_LOCK(la); pip = (struct ip *)ptr; /* Defense against mangled packets */ if (ntohs(pip->ip_len) > maxpacketsize || (pip->ip_hl << 2) > maxpacketsize) - return (iresult); + goto getout; ud = (struct udphdr *)ip_next(pip); tc = (struct tcphdr *)ip_next(pip); @@ -1484,6 +1500,8 @@ iresult = PKT_ALIAS_OK; } } +getout: + LIBALIAS_UNLOCK(la); return (iresult); } ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_db.c#13 (text+ko) ==== @@ -2273,6 +2273,7 @@ int link_type; struct alias_link *lnk; + LIBALIAS_LOCK(la); switch (proto) { case IPPROTO_UDP: link_type = LINK_UDP; @@ -2285,7 +2286,8 @@ fprintf(stderr, "PacketAliasRedirectPort(): "); fprintf(stderr, "only TCP and UDP protocols allowed\n"); #endif - return (NULL); + lnk = NULL; + goto getout; } lnk = AddLink(la, src_addr, dst_addr, alias_addr, @@ -2302,6 +2304,8 @@ } #endif +getout: + LIBALIAS_UNLOCK(la); return (lnk); } @@ -2310,7 +2314,9 @@ LibAliasAddServer(struct libalias *la, struct alias_link *lnk, struct in_addr addr, u_short port) { struct server *server; + int res; + LIBALIAS_LOCK(la); (void)la; server = malloc(sizeof(struct server)); @@ -2332,9 +2338,12 @@ server->next = head; } lnk->server = server; - return (0); + res = 0; } else - return (-1); + res = -1; + + LIBALIAS_UNLOCK(la); + return (res); } /* Redirect packets of a given IP protocol from a specific @@ -2346,7 +2355,8 @@ u_char proto) { struct alias_link *lnk; - + + LIBALIAS_LOCK(la); lnk = AddLink(la, src_addr, dst_addr, alias_addr, NO_SRC_PORT, NO_DEST_PORT, 0, proto); @@ -2361,6 +2371,7 @@ } #endif + LIBALIAS_UNLOCK(la); return (lnk); } @@ -2371,6 +2382,7 @@ { struct alias_link *lnk; + LIBALIAS_LOCK(la); lnk = AddLink(la, src_addr, la->nullAddress, alias_addr, 0, 0, 0, LINK_ADDR); @@ -2385,6 +2397,7 @@ } #endif + LIBALIAS_UNLOCK(la); return (lnk); } @@ -2393,15 +2406,19 @@ int LibAliasRedirectDynamic(struct libalias *la, struct alias_link *lnk) { + int res; + LIBALIAS_LOCK(la); (void)la; if (lnk->flags & LINK_PARTIALLY_SPECIFIED) - return (-1); + res = -1; else { lnk->flags &= ~LINK_PERMANENT; - return (0); + res = 0; } + LIBALIAS_UNLOCK(la); + return (res); } @@ -2411,27 +2428,35 @@ /* This is a dangerous function to put in the API, because an invalid pointer can crash the program. */ + LIBALIAS_LOCK(la); la->deleteAllLinks = 1; DeleteLink(lnk); la->deleteAllLinks = 0; + LIBALIAS_UNLOCK(la); } void LibAliasSetAddress(struct libalias *la, struct in_addr addr) { + + LIBALIAS_LOCK(la); if (la->packetAliasMode & PKT_ALIAS_RESET_ON_ADDR_CHANGE && la->aliasAddress.s_addr != addr.s_addr) CleanupAliasData(la); la->aliasAddress = addr; + LIBALIAS_UNLOCK(la); } void LibAliasSetTarget(struct libalias *la, struct in_addr target_addr) { + + LIBALIAS_LOCK(la); la->targetAddress = target_addr; + LIBALIAS_UNLOCK(la); } static void @@ -2508,12 +2533,15 @@ #ifndef _KERNEL LibAliasRefreshModules(); #endif + LIBALIAS_LOCK_INIT(la); return (la); } void LibAliasUninit(struct libalias *la) { + + LIBALIAS_LOCK(la); la->deleteAllLinks = 1; CleanupAliasData(la); la->deleteAllLinks = 0; @@ -2522,6 +2550,8 @@ UninitPunchFW(la); #endif LIST_REMOVE(la, instancelist); + LIBALIAS_UNLOCK(la); + LIBALIAS_LOCK_DESTROY(la); free(la); } @@ -2534,11 +2564,15 @@ * do a probe for flag values) */ ) { + + LIBALIAS_LOCK(la); /* Enable logging? */ if (flags & mask & PKT_ALIAS_LOG) { /* Do the enable */ - if (InitPacketAliasLog(la) == ENOMEM) + if (InitPacketAliasLog(la) == ENOMEM) { + LIBALIAS_UNLOCK(la); return (-1); + } } else /* _Disable_ logging? */ if (~flags & mask & PKT_ALIAS_LOG) { @@ -2557,6 +2591,7 @@ /* Other flags can be set/cleared without special action */ la->packetAliasMode = (flags & mask) | (la->packetAliasMode & ~mask); + LIBALIAS_UNLOCK(la); return (la->packetAliasMode); } @@ -2564,7 +2599,12 @@ int LibAliasCheckNewLink(struct libalias *la) { - return (la->newDefaultLink); + int res; + + LIBALIAS_LOCK(la); + res = la->newDefaultLink; + LIBALIAS_UNLOCK(la); + return (res); } @@ -2819,14 +2859,20 @@ void LibAliasSetFWBase(struct libalias *la, unsigned int base, unsigned int num) { + + LIBALIAS_LOCK(la); #ifndef NO_FW_PUNCH la->fireWallBaseNum = base; la->fireWallNumNums = num; #endif + LIBALIAS_UNLOCK(la); } void LibAliasSetSkinnyPort(struct libalias *la, unsigned int port) { + + LIBALIAS_LOCK(la); la->skinnyPort = port; + LIBALIAS_UNLOCK(la); } ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_local.h#8 (text+ko) ==== @@ -51,7 +51,10 @@ #ifdef _KERNEL #include +#include #include +#include + /* XXX: LibAliasSetTarget() uses this constant. */ #define INADDR_NONE 0xffffffff #endif @@ -146,11 +149,29 @@ struct in_addr true_addr; /* in network byte order. */ u_short true_port; /* in host byte order. */ - +#ifdef _KERNEL + /* + * avoid races in libalias: every pubblic function has to use it. + */ + struct mtx mutex; +#endif }; /* Macros */ +#ifdef _KERNEL +#define LIBALIAS_LOCK_INIT(l) \ + mtx_init(&l->mutex, "per-instance libalias mutex", NULL, MTX_DEF|MTX_RECURSE) +#define LIBALIAS_LOCK(l) mtx_lock(&l->mutex) +#define LIBALIAS_UNLOCK(l) mtx_unlock(&l->mutex) +#define LIBALIAS_LOCK_DESTROY(l) mtx_destroy(&l->mutex); +#else +#define LIBALIAS_LOCK_INIT(l) +#define LIBALIAS_LOCK(l) +#define LIBALIAS_UNLOCK(l) +#define LIBALIAS_LOCK_DESTROY(l) +#endif + /* * The following macro is used to update an * internet checksum. "delta" is a 32-bit ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_proxy.c#9 (text+ko) ==== @@ -648,7 +648,7 @@ * then 0 is used, and group 0 rules are always checked before any * others. */ - int i, n, len; + int i, n, len, ret; int cmd_len; int token_count; int state; @@ -668,11 +668,15 @@ struct in_addr dst_addr, dst_mask; struct proxy_entry *proxy_entry; + LIBALIAS_LOCK(la); + ret = 0; /* Copy command line into a buffer */ cmd += strspn(cmd, " \t"); cmd_len = strlen(cmd); - if (cmd_len > (int)(sizeof(buffer) - 1)) - return (-1); + if (cmd_len > (int)(sizeof(buffer) - 1)) { + ret = -1; + goto getout; + } strcpy(buffer, cmd); /* Convert to lower case */ @@ -730,8 +734,10 @@ state = STATE_READ_SRC; else if (strcmp(token, "dst") == 0) state = STATE_READ_DST; - else - return (-1); + else { + ret = -1; + goto getout; + } break; case STATE_READ_TYPE: @@ -741,8 +747,10 @@ proxy_type = PROXY_TYPE_ENCODE_TCPSTREAM; else if (strcmp(token, "no_encode") == 0) proxy_type = PROXY_TYPE_ENCODE_NONE; - else - return (-1); + else { + ret = -1; + goto getout; + } state = STATE_READ_KEYWORD; break; @@ -763,18 +771,24 @@ if (*p != ':') { err = IpAddr(token, &server_addr); - if (err) - return (-1); + if (err) { + ret = -1; + goto getout; + } } else { *p = ' '; n = sscanf(token, "%s %s", s, str_server_port); - if (n != 2) - return (-1); + if (n != 2) { + ret = -1; + goto getout; + } err = IpAddr(s, &server_addr); - if (err) - return (-1); + if (err) { + ret = -1; + goto getout; + } } } state = STATE_READ_KEYWORD; @@ -782,8 +796,10 @@ case STATE_READ_RULE: n = sscanf(token, "%d", &rule_index); - if (n != 1 || rule_index < 0) - return (-1); + if (n != 1 || rule_index < 0) { + ret = -1; + goto getout; + } state = STATE_READ_KEYWORD; break; @@ -792,16 +808,21 @@ int err; int rule_to_delete; - if (token_count != 2) - return (-1); + if (token_count != 2) { + ret = -1; + goto getout; + } n = sscanf(token, "%d", &rule_to_delete); - if (n != 1) - return (-1); + if (n != 1) { + ret = -1; + goto getout; + } err = RuleNumberDelete(la, rule_to_delete); if (err) - return (-1); - return (0); + ret = -1; + ret = 0; + goto getout; } case STATE_READ_PROTO: @@ -809,8 +830,10 @@ proto = IPPROTO_TCP; else if (strcmp(token, "udp") == 0) proto = IPPROTO_UDP; - else - return (-1); + else { + ret = -1; + goto getout; + } state = STATE_READ_KEYWORD; break; @@ -829,24 +852,32 @@ if (*p != '/') { IpMask(32, &mask); err = IpAddr(token, &addr); - if (err) - return (-1); + if (err) { + ret = -1; + goto getout; + } } else { int nbits; char s[sizeof(buffer)]; *p = ' '; n = sscanf(token, "%s %d", s, &nbits); - if (n != 2) - return (-1); + if (n != 2) { + ret = -1; + goto getout; + } err = IpAddr(s, &addr); - if (err) - return (-1); + if (err) { + ret = -1; + goto getout; + } err = IpMask(nbits, &mask); - if (err) - return (-1); + if (err) { + ret = -1; + goto getout; + } } if (state == STATE_READ_SRC) { @@ -861,7 +892,8 @@ break; default: - return (-1); + ret = -1; + goto getout; break; } @@ -887,8 +919,10 @@ int err; err = IpPort(str_port, proto, &proxy_port); - if (err) - return (-1); + if (err) { + ret = -1; + goto getout; + } } else { proxy_port = 0; } @@ -897,20 +931,26 @@ int err; err = IpPort(str_server_port, proto, &server_port); - if (err) - return (-1); + if (err) { + ret = -1; + goto getout; + } } else { server_port = 0; } /* Check that at least the server address has been defined */ - if (server_addr.s_addr == 0) - return (-1); + if (server_addr.s_addr == 0) { + ret = -1; + goto getout; + } /* Add to linked list */ proxy_entry = malloc(sizeof(struct proxy_entry)); - if (proxy_entry == NULL) - return (-1); + if (proxy_entry == NULL) { + ret = -1; + goto getout; + } proxy_entry->proxy_type = proxy_type; proxy_entry->rule_index = rule_index; @@ -925,5 +965,7 @@ RuleAdd(la, proxy_entry); - return (0); +getout: + LIBALIAS_UNLOCK(la); + return (ret); } ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_util.c#4 (text+ko) ==== @@ -76,6 +76,7 @@ { int sum, oddbyte; + LIBALIAS_LOCK(la); sum = 0; while (nbytes > 1) { sum += *ptr++; @@ -89,6 +90,7 @@ } sum = (sum >> 16) + (sum & 0xffff); sum += (sum >> 16); + LIBALIAS_UNLOCK(la); return (~sum); } From owner-p4-projects@FreeBSD.ORG Mon Oct 30 19:52:17 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CCDB016A47B; Mon, 30 Oct 2006 19:52:16 +0000 (UTC) X-Original-To: perforce@FreeBSD.org 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 A267916A40F for ; Mon, 30 Oct 2006 19:52:16 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E263343D82 for ; Mon, 30 Oct 2006 19:52:15 +0000 (GMT) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9UJqFBT013450 for ; Mon, 30 Oct 2006 19:52:15 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9UJqFsL013445 for perforce@freebsd.org; Mon, 30 Oct 2006 19:52:15 GMT (envelope-from hselasky@FreeBSD.org) Date: Mon, 30 Oct 2006 19:52:15 GMT Message-Id: <200610301952.k9UJqFsL013445@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 108774 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 19:52:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=108774 Change 108774 by hselasky@hselasky_mini_itx on 2006/10/30 19:51:29 Emphasize why the doorbell is inline. Only wait for the doorbell for non-root transfers. Change a variable from uint32_t to bus_size_t. It should not make any difference, unless 64-bit addressing is used, which is currently not the case. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/ehci.c#14 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/ehci.c#14 (text+ko) ==== @@ -1966,12 +1966,33 @@ /* remove interrupt info (if any) */ ehci_remove_interrupt_info(xfer); - if(((xfer->pipe->methods == &ehci_device_ctrl_methods) || - (xfer->pipe->methods == &ehci_device_bulk_methods)) && - (sc->sc_doorbell_disable == 0)) - { + if ((xfer->pipe->methods != &ehci_root_ctrl_methods) && + (xfer->pipe->methods != &ehci_root_intr_methods)) { + + if(((xfer->pipe->methods == &ehci_device_ctrl_methods) || + (xfer->pipe->methods == &ehci_device_bulk_methods)) && + (sc->sc_doorbell_disable == 0)) { + u_int32_t to = 100*1000; + /* + * This implementation does not use the doorbell + * interrupt. The reason is that one gets more + * throughput by waiting for the doorbell inline, + * than by using the doorbell interrupt. A typical + * result reading from an USB mass storage disk: + * + * With doorbell interrupt: 27 seconds for 512MB + * With inline doorbell: 21 seconds for 512MB + * + * Although the inline version causes a slightly + * higher CPU usage, it does not block the system + * in any way, because this USB driver uses its + * own mutex. + * + * --hps + */ + /* wait for doorbell ~32us */ EOWRITE4(sc, EHCI_USBCMD, EOREAD4(sc, EHCI_USBCMD) | EHCI_CMD_IAAD); @@ -1987,10 +2008,13 @@ } DELAY(1); } - need_delay = 0; - } - else - { + + /* acknowledge any doorbell interrupt + * (SiS chipsets require this) + */ + EOWRITE4(sc, EHCI_USBSTS, EHCI_STS_IAA); + + } else { /* wait until the hardware has finished any possible * use of the transfer descriptor and QH * @@ -1999,13 +2023,9 @@ * frame is started */ DELAY(need_delay ? ((3*1000)/(2*8)) : (5)); + } } - /* acknowledge any doorbell interrupt - * (SiS chipsets require this) - */ - EOWRITE4(sc, EHCI_USBSTS, EHCI_STS_IAA); - if(error) { /* next transfer needs to clear stall */ @@ -2516,8 +2536,8 @@ { struct usbd_page_search buf_res; ehci_softc_t *sc = xfer->usb_sc; + bus_size_t page_addr; u_int32_t status; - u_int32_t page_addr; u_int32_t buf_offset; u_int32_t nframes; u_int16_t *plen; From owner-p4-projects@FreeBSD.ORG Mon Oct 30 23:31:16 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B3A2616A4D4; Mon, 30 Oct 2006 23:31:15 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 6D1B116A416 for ; Mon, 30 Oct 2006 23:31:15 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 706BD43D67 for ; Mon, 30 Oct 2006 23:31:03 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9UNV09C099672 for ; Mon, 30 Oct 2006 23:31:00 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9UNV02n099612 for perforce@freebsd.org; Mon, 30 Oct 2006 23:31:00 GMT (envelope-from marcel@freebsd.org) Date: Mon, 30 Oct 2006 23:31:00 GMT Message-Id: <200610302331.k9UNV02n099612@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 Cc: Subject: PERFORCE change 108785 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 23:31:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=108785 Change 108785 by marcel@marcel_cluster on 2006/10/30 23:30:02 Fix devopen(). Clear f->f_devdata on failure so that devclose() doesn't try to free() an already freed allocation. While here, improve style. Affected files ... .. //depot/projects/ia64/sys/boot/common/devopen.c#3 edit Differences ... ==== //depot/projects/ia64/sys/boot/common/devopen.c#3 (text+ko) ==== @@ -35,20 +35,25 @@ int devopen(struct open_file *f, const char *fname, const char **file) { - struct devdesc *dev; - int result; + struct devdesc *dev; + int result; + + result = archsw.arch_getdev((void **)&dev, fname, file); + if (result) + return (result); - if ((result = archsw.arch_getdev((void *)&dev, fname, file)) == 0) { /* get the device */ - /* point to device-specific data so that device open can use it */ - f->f_devdata = dev; - if ((result = dev->d_dev->dv_open(f, dev)) == 0) { /* try to open it */ - /* reference the devsw entry from the open_file structure */ - f->f_dev = dev->d_dev; - } else { - free(dev); /* release the device descriptor */ - } + /* point to device-specific data so that device open can use it */ + f->f_devdata = dev; + result = dev->d_dev->dv_open(f, dev); + if (result != 0) { + f->f_devdata = NULL; + free(dev); + return (result); } - return(result); + + /* reference the devsw entry from the open_file structure */ + f->f_dev = dev->d_dev; + return (0); } int From owner-p4-projects@FreeBSD.ORG Mon Oct 30 23:33:26 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 75CC016A503; Mon, 30 Oct 2006 23:33:26 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 2DF7016A492 for ; Mon, 30 Oct 2006 23:33:26 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1038C43D45 for ; Mon, 30 Oct 2006 23:33:22 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9UNX4XP006745 for ; Mon, 30 Oct 2006 23:33:04 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9UNX3G1006700 for perforce@freebsd.org; Mon, 30 Oct 2006 23:33:03 GMT (envelope-from marcel@freebsd.org) Date: Mon, 30 Oct 2006 23:33:03 GMT Message-Id: <200610302333.k9UNX3G1006700@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 Cc: Subject: PERFORCE change 108786 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 23:33:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=108786 Change 108786 by marcel@marcel_cluster on 2006/10/30 23:32:51 Don't unconditionally compile bcache.c. Only the i386 and pc98 biosdisk code uses it. Add HAVE_BCACHE to the respective makefiles to control inclusion. Remove gratuitous calls to bcache_init(). Affected files ... .. //depot/projects/ia64/sys/boot/common/Makefile.inc#10 edit .. //depot/projects/ia64/sys/boot/i386/loader/Makefile#19 edit .. //depot/projects/ia64/sys/boot/ofw/common/main.c#5 edit .. //depot/projects/ia64/sys/boot/pc98/loader/Makefile#15 edit .. //depot/projects/ia64/sys/boot/sparc64/loader/main.c#20 edit Differences ... ==== //depot/projects/ia64/sys/boot/common/Makefile.inc#10 (text+ko) ==== @@ -1,6 +1,6 @@ # $FreeBSD: src/sys/boot/common/Makefile.inc,v 1.22 2006/05/12 04:09:52 jhb Exp $ -SRCS+= bcache.c boot.c commands.c console.c devopen.c interp.c +SRCS+= boot.c commands.c console.c devopen.c interp.c SRCS+= interp_backslash.c interp_parse.c ls.c misc.c SRCS+= module.c panic.c @@ -19,6 +19,10 @@ SRCS+= dev_net.c .endif +.if defined(HAVE_BCACHE) +SRCS+= bcache.c +.endif + # Machine-independant ISA PnP .if defined(HAVE_ISABUS) SRCS+= isapnp.c ==== //depot/projects/ia64/sys/boot/i386/loader/Makefile#19 (text+ko) ==== @@ -16,6 +16,9 @@ CFLAGS+= -DLOADER_NFS_SUPPORT .endif +# Include bcache code. +HAVE_BCACHE= yes + # Enable PnP and ISA-PnP code. HAVE_PNP= yes HAVE_ISABUS= yes ==== //depot/projects/ia64/sys/boot/ofw/common/main.c#5 (text+ko) ==== @@ -125,11 +125,6 @@ init_heap(); /* - * Initialise the block cache - */ - bcache_init(32, 512); /* 16k XXX tune this */ - - /* * March through the device switch probing for things. */ for (i = 0; devsw[i] != NULL; i++) ==== //depot/projects/ia64/sys/boot/pc98/loader/Makefile#15 (text+ko) ==== @@ -17,6 +17,8 @@ CFLAGS+= -DLOADER_NFS_SUPPORT .endif +HAVE_BCACHE= yes + # Enable PnP and ISA-PnP code. HAVE_PNP= yes HAVE_ISABUS= yes ==== //depot/projects/ia64/sys/boot/sparc64/loader/main.c#20 (text+ko) ==== @@ -487,8 +487,6 @@ mmu_ops->tlb_init(); - bcache_init(32, 512); - /* * Initialize devices. */ From owner-p4-projects@FreeBSD.ORG Mon Oct 30 23:36:11 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E3AC216A417; Mon, 30 Oct 2006 23:36:10 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 A2B2816A40F for ; Mon, 30 Oct 2006 23:36:10 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 686C243D53 for ; Mon, 30 Oct 2006 23:36:10 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9UNaAYY008312 for ; Mon, 30 Oct 2006 23:36:10 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9UNa9uh008309 for perforce@freebsd.org; Mon, 30 Oct 2006 23:36:09 GMT (envelope-from marcel@freebsd.org) Date: Mon, 30 Oct 2006 23:36:09 GMT Message-Id: <200610302336.k9UNa9uh008309@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 Cc: Subject: PERFORCE change 108787 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Oct 2006 23:36:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=108787 Change 108787 by marcel@marcel_cluster on 2006/10/30 23:35:33 Have the strategy function return an error so that accidental use of the unimplemented function will do something sensible. Affected files ... .. //depot/projects/ia64/sys/boot/efi/libefi/efifs.c#12 edit Differences ... ==== //depot/projects/ia64/sys/boot/efi/libefi/efifs.c#12 (text+ko) ==== @@ -453,7 +453,7 @@ efifs_dev_strategy(void *devdata, int rw, daddr_t dblk, size_t size, char *buf, size_t *rsize) { - return (0); + return (ENOSYS); } struct devsw efifs_dev = { From owner-p4-projects@FreeBSD.ORG Tue Oct 31 03:15:02 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CA6B916A416; Tue, 31 Oct 2006 03:15:01 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 A0F1116A407 for ; Tue, 31 Oct 2006 03:15:01 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 38E5343D5E for ; Tue, 31 Oct 2006 03:15:01 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9V3F1xD058807 for ; Tue, 31 Oct 2006 03:15:01 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9V3F1bn058804 for perforce@freebsd.org; Tue, 31 Oct 2006 03:15:01 GMT (envelope-from mjacob@freebsd.org) Date: Tue, 31 Oct 2006 03:15:01 GMT Message-Id: <200610310315.k9V3F1bn058804@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 108792 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Oct 2006 03:15:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=108792 Change 108792 by mjacob@newisp on 2006/10/31 03:14:20 Go back to a model of not doing full fabric evaluation if we're in target-only mode. Affected files ... .. //depot/projects/newisp/dev/isp/isp_library.c#13 edit Differences ... ==== //depot/projects/newisp/dev/isp/isp_library.c#13 (text) ==== @@ -208,6 +208,9 @@ return (-1); } } + if ((isp->isp_role & ISP_ROLE_INITIATOR) == 0) { + return (0); + } if (isp_control(isp, ISPCTL_SCAN_LOOP, NULL) != 0) { isp_prt(isp, ISP_LOGINFO, "isp_fc_runstate: scan loop fails"); From owner-p4-projects@FreeBSD.ORG Tue Oct 31 03:15:20 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E567016A4CE; Tue, 31 Oct 2006 03:15:02 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 1B7FB16A513 for ; Tue, 31 Oct 2006 03:15:01 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9002943D62 for ; Tue, 31 Oct 2006 03:15:01 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9V3F1B9058814 for ; Tue, 31 Oct 2006 03:15:01 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9V3F1uP058810 for perforce@freebsd.org; Tue, 31 Oct 2006 03:15:01 GMT (envelope-from mjacob@freebsd.org) Date: Tue, 31 Oct 2006 03:15:01 GMT Message-Id: <200610310315.k9V3F1uP058810@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 108793 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Oct 2006 03:15:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=108793 Change 108793 by mjacob@newisp on 2006/10/31 03:14:45 Bump up the timeout for getting f/w state to 1ms. Affected files ... .. //depot/projects/newisp/dev/isp/isp.c#24 edit Differences ... ==== //depot/projects/newisp/dev/isp/isp.c#24 (text+ko) ==== @@ -6770,6 +6770,7 @@ MEMZERO(&mbs, sizeof (mbs)); mbs.param[0] = MBOX_GET_FW_STATE; mbs.logval = MBLOGALL; + mbs.timeout = 100000; isp_mboxcmd(isp, &mbs); if (mbs.param[0] == MBOX_COMMAND_COMPLETE) { fcp->isp_fwstate = mbs.param[1]; From owner-p4-projects@FreeBSD.ORG Tue Oct 31 03:31:25 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9E30C16A415; Tue, 31 Oct 2006 03:31:25 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 5320316A407 for ; Tue, 31 Oct 2006 03:31:25 +0000 (UTC) (envelope-from kevlo@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2102A43D4C for ; Tue, 31 Oct 2006 03:31:25 +0000 (GMT) (envelope-from kevlo@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9V3VOR4061384 for ; Tue, 31 Oct 2006 03:31:24 GMT (envelope-from kevlo@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9V3VO57061381 for perforce@freebsd.org; Tue, 31 Oct 2006 03:31:24 GMT (envelope-from kevlo@freebsd.org) Date: Tue, 31 Oct 2006 03:31:24 GMT Message-Id: <200610310331.k9V3VO57061381@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kevlo@freebsd.org using -f From: Kevin Lo To: Perforce Change Reviews Cc: Subject: PERFORCE change 108794 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Oct 2006 03:31:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=108794 Change 108794 by kevlo@kevlo_rtsl on 2006/10/31 03:30:51 Don't enable ADS bit, it broke pci access. Pointed out by sam. Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci.c#14 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci.c#14 (text+ko) ==== @@ -189,7 +189,7 @@ * Set up byte lane swapping between little-endian PCI * and the big-endian AHB bus */ - PCI_CSR_WRITE_4(sc, PCI_CSR, CSR_IC | CSR_ABE | CSR_PDS | CSR_ADS); + PCI_CSR_WRITE_4(sc, PCI_CSR, CSR_IC | CSR_ABE | CSR_PDS); #else PCI_CSR_WRITE_4(sc, PCI_CSR, CSR_IC | CSR_ABE); #endif From owner-p4-projects@FreeBSD.ORG Tue Oct 31 06:09:57 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CC09D16A494; Tue, 31 Oct 2006 06:09:57 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 A2CA316A47C for ; Tue, 31 Oct 2006 06:09:57 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6C9DD43D46 for ; Tue, 31 Oct 2006 06:09:57 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9V69v6W002470 for ; Tue, 31 Oct 2006 06:09:57 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9V69swN002467 for perforce@freebsd.org; Tue, 31 Oct 2006 06:09:54 GMT (envelope-from mjacob@freebsd.org) Date: Tue, 31 Oct 2006 06:09:54 GMT Message-Id: <200610310609.k9V69swN002467@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 108802 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Oct 2006 06:09:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=108802 Change 108802 by mjacob@newisp on 2006/10/31 06:09:10 IFC Affected files ... .. //depot/projects/newisp/amd64/amd64/machdep.c#5 integrate .. //depot/projects/newisp/amd64/amd64/prof_machdep.c#2 integrate .. //depot/projects/newisp/amd64/amd64/trap.c#2 integrate .. //depot/projects/newisp/amd64/conf/DEFAULTS#2 integrate .. //depot/projects/newisp/amd64/conf/GENERIC#4 integrate .. //depot/projects/newisp/amd64/conf/NOTES#4 integrate .. //depot/projects/newisp/amd64/include/asmacros.h#2 integrate .. //depot/projects/newisp/amd64/include/profile.h#2 integrate .. //depot/projects/newisp/amd64/linux32/linux.h#3 integrate .. //depot/projects/newisp/amd64/linux32/linux32_dummy.c#3 integrate .. //depot/projects/newisp/amd64/linux32/linux32_proto.h#4 integrate .. //depot/projects/newisp/amd64/linux32/linux32_syscall.h#4 integrate .. //depot/projects/newisp/amd64/linux32/linux32_sysent.c#4 integrate .. //depot/projects/newisp/amd64/linux32/syscalls.master#4 integrate .. //depot/projects/newisp/arm/arm/elf_trampoline.c#3 integrate .. //depot/projects/newisp/arm/arm/nexus.c#2 integrate .. //depot/projects/newisp/arm/arm/trap.c#5 integrate .. //depot/projects/newisp/arm/arm/vm_machdep.c#2 integrate .. //depot/projects/newisp/arm/at91/at91_sscreg.h#3 integrate .. //depot/projects/newisp/arm/at91/kb920x_machdep.c#4 integrate .. //depot/projects/newisp/arm/at91/std.at91#2 integrate .. //depot/projects/newisp/arm/at91/std.kb920x#2 integrate .. //depot/projects/newisp/arm/conf/EP80219#2 integrate .. //depot/projects/newisp/arm/conf/IQ31244#2 integrate .. //depot/projects/newisp/arm/conf/KB920X#2 integrate .. //depot/projects/newisp/arm/conf/SIMICS#2 integrate .. //depot/projects/newisp/arm/conf/SKYEYE#2 integrate .. //depot/projects/newisp/arm/sa11x0/assabet_machdep.c#2 integrate .. //depot/projects/newisp/arm/xscale/i80321/ep80219_machdep.c#3 integrate .. //depot/projects/newisp/arm/xscale/i80321/iq31244_machdep.c#2 integrate .. //depot/projects/newisp/boot/common/load_elf.c#2 integrate .. //depot/projects/newisp/boot/i386/boot2/boot2.c#2 integrate .. //depot/projects/newisp/boot/i386/libi386/elf32_freebsd.c#2 integrate .. //depot/projects/newisp/boot/i386/libi386/elf64_freebsd.c#3 integrate .. //depot/projects/newisp/boot/pc98/boot2/boot.c#2 integrate .. //depot/projects/newisp/cam/scsi/scsi_da.c#4 edit .. //depot/projects/newisp/cam/scsi/scsi_low.c#2 integrate .. //depot/projects/newisp/compat/freebsd32/freebsd32_proto.h#10 integrate .. //depot/projects/newisp/compat/freebsd32/freebsd32_syscall.h#10 integrate .. //depot/projects/newisp/compat/freebsd32/freebsd32_syscalls.c#10 integrate .. //depot/projects/newisp/compat/freebsd32/freebsd32_sysent.c#10 integrate .. //depot/projects/newisp/compat/freebsd32/syscalls.master#10 integrate .. //depot/projects/newisp/compat/linprocfs/linprocfs.c#3 integrate .. //depot/projects/newisp/compat/linux/linux_aio.c#2 delete .. //depot/projects/newisp/compat/linux/linux_aio.h#2 delete .. //depot/projects/newisp/compat/linux/linux_emul.c#5 integrate .. //depot/projects/newisp/compat/linux/linux_emul.h#2 integrate .. //depot/projects/newisp/compat/linux/linux_misc.c#5 integrate .. //depot/projects/newisp/compat/linux/linux_misc.h#1 branch .. //depot/projects/newisp/conf/NOTES#10 integrate .. //depot/projects/newisp/conf/files#9 integrate .. //depot/projects/newisp/conf/files.amd64#5 integrate .. //depot/projects/newisp/conf/files.i386#4 integrate .. //depot/projects/newisp/conf/files.ia64#2 integrate .. //depot/projects/newisp/conf/files.pc98#3 integrate .. //depot/projects/newisp/conf/files.powerpc#2 integrate .. //depot/projects/newisp/conf/files.sparc64#2 integrate .. //depot/projects/newisp/conf/kern.post.mk#3 integrate .. //depot/projects/newisp/conf/kern.pre.mk#4 integrate .. //depot/projects/newisp/ddb/db_ps.c#2 integrate .. //depot/projects/newisp/dev/aac/aac_cam.c#2 integrate .. //depot/projects/newisp/dev/acpi_support/acpi_aiboost.c#1 branch .. //depot/projects/newisp/dev/advansys/advansys.c#2 integrate .. //depot/projects/newisp/dev/advansys/advlib.c#2 integrate .. //depot/projects/newisp/dev/advansys/adwcam.c#2 integrate .. //depot/projects/newisp/dev/aha/aha.c#2 integrate .. //depot/projects/newisp/dev/ahb/ahb.c#2 integrate .. //depot/projects/newisp/dev/aic/aic.c#2 integrate .. //depot/projects/newisp/dev/amd/amd.c#2 integrate .. //depot/projects/newisp/dev/amr/amr_cam.c#2 integrate .. //depot/projects/newisp/dev/arcmsr/arcmsr.c#3 integrate .. //depot/projects/newisp/dev/asr/asr.c#2 integrate .. //depot/projects/newisp/dev/ata/atapi-cam.c#2 integrate .. //depot/projects/newisp/dev/atkbdc/atkbd.c#3 integrate .. //depot/projects/newisp/dev/bce/if_bce.c#7 integrate .. //depot/projects/newisp/dev/bce/if_bcereg.h#4 integrate .. //depot/projects/newisp/dev/bge/if_bge.c#9 edit .. //depot/projects/newisp/dev/ciss/ciss.c#2 integrate .. //depot/projects/newisp/dev/dc/if_dc.c#3 integrate .. //depot/projects/newisp/dev/dpt/dpt_scsi.c#2 integrate .. //depot/projects/newisp/dev/em/if_em.c#10 integrate .. //depot/projects/newisp/dev/em/if_em.h#4 integrate .. //depot/projects/newisp/dev/em/if_em_hw.c#2 integrate .. //depot/projects/newisp/dev/em/if_em_hw.h#2 integrate .. //depot/projects/newisp/dev/em/if_em_osdep.h#2 integrate .. //depot/projects/newisp/dev/esp/ncr53c9x.c#2 integrate .. //depot/projects/newisp/dev/firewire/sbp.c#2 integrate .. //depot/projects/newisp/dev/iir/iir.c#2 integrate .. //depot/projects/newisp/dev/isp/isp_freebsd.c#16 integrate .. //depot/projects/newisp/dev/mly/mly.c#2 integrate .. //depot/projects/newisp/dev/mpt/mpt_cam.c#6 integrate .. //depot/projects/newisp/dev/pci/pci.c#5 integrate .. //depot/projects/newisp/dev/pci/pci_pci.c#3 integrate .. //depot/projects/newisp/dev/pci/pcivar.h#3 integrate .. //depot/projects/newisp/dev/sound/pcm/dsp.c#5 integrate .. //depot/projects/newisp/dev/trm/trm.c#2 integrate .. //depot/projects/newisp/dev/twa/tw_osl_cam.c#2 integrate .. //depot/projects/newisp/dev/ubsec/ubsec.c#3 integrate .. //depot/projects/newisp/dev/usb/ubsa.c#3 integrate .. //depot/projects/newisp/dev/usb/ukbd.c#4 integrate .. //depot/projects/newisp/dev/usb/umass.c#4 integrate .. //depot/projects/newisp/dev/usb/usbdevs#3 integrate .. //depot/projects/newisp/fs/msdosfs/denode.h#2 integrate .. //depot/projects/newisp/fs/msdosfs/direntry.h#2 integrate .. //depot/projects/newisp/fs/msdosfs/msdosfs_conv.c#3 integrate .. //depot/projects/newisp/fs/msdosfs/msdosfs_denode.c#2 integrate .. //depot/projects/newisp/fs/msdosfs/msdosfs_vnops.c#2 integrate .. //depot/projects/newisp/fs/nwfs/nwfs_subr.c#3 integrate .. //depot/projects/newisp/fs/procfs/procfs_status.c#2 integrate .. //depot/projects/newisp/fs/smbfs/smbfs_subr.c#2 integrate .. //depot/projects/newisp/i386/conf/DEFAULTS#2 integrate .. //depot/projects/newisp/i386/conf/GENERIC#4 integrate .. //depot/projects/newisp/i386/conf/NOTES#5 integrate .. //depot/projects/newisp/i386/i386/machdep.c#4 integrate .. //depot/projects/newisp/i386/i386/trap.c#2 integrate .. //depot/projects/newisp/i386/include/asmacros.h#2 integrate .. //depot/projects/newisp/i386/include/profile.h#2 integrate .. //depot/projects/newisp/i386/isa/prof_machdep.c#2 integrate .. //depot/projects/newisp/i386/linux/linux.h#3 integrate .. //depot/projects/newisp/i386/linux/linux_dummy.c#3 integrate .. //depot/projects/newisp/i386/linux/linux_proto.h#5 integrate .. //depot/projects/newisp/i386/linux/linux_syscall.h#5 integrate .. //depot/projects/newisp/i386/linux/linux_sysent.c#5 integrate .. //depot/projects/newisp/i386/linux/syscalls.master#5 integrate .. //depot/projects/newisp/ia64/conf/DEFAULTS#2 integrate .. //depot/projects/newisp/ia64/conf/GENERIC#4 integrate .. //depot/projects/newisp/ia64/conf/NOTES#3 integrate .. //depot/projects/newisp/ia64/ia64/machdep.c#2 integrate .. //depot/projects/newisp/ia64/ia64/trap.c#3 integrate .. //depot/projects/newisp/kern/init_main.c#4 integrate .. //depot/projects/newisp/kern/kern_clock.c#2 integrate .. //depot/projects/newisp/kern/kern_exit.c#5 integrate .. //depot/projects/newisp/kern/kern_fork.c#3 integrate .. //depot/projects/newisp/kern/kern_idle.c#2 integrate .. //depot/projects/newisp/kern/kern_intr.c#3 integrate .. //depot/projects/newisp/kern/kern_kse.c#2 integrate .. //depot/projects/newisp/kern/kern_malloc.c#2 integrate .. //depot/projects/newisp/kern/kern_poll.c#2 integrate .. //depot/projects/newisp/kern/kern_proc.c#5 integrate .. //depot/projects/newisp/kern/kern_resource.c#3 integrate .. //depot/projects/newisp/kern/kern_sig.c#5 integrate .. //depot/projects/newisp/kern/kern_subr.c#2 integrate .. //depot/projects/newisp/kern/kern_switch.c#2 integrate .. //depot/projects/newisp/kern/kern_synch.c#2 integrate .. //depot/projects/newisp/kern/kern_thr.c#3 integrate .. //depot/projects/newisp/kern/kern_thread.c#3 integrate .. //depot/projects/newisp/kern/kern_umtx.c#9 integrate .. //depot/projects/newisp/kern/sched_4bsd.c#2 integrate .. //depot/projects/newisp/kern/sched_ule.c#2 integrate .. //depot/projects/newisp/kern/subr_fattime.c#2 integrate .. //depot/projects/newisp/kern/subr_trap.c#4 integrate .. //depot/projects/newisp/kern/sys_process.c#3 integrate .. //depot/projects/newisp/kern/tty.c#6 integrate .. //depot/projects/newisp/kern/vfs_bio.c#4 integrate .. //depot/projects/newisp/kern/vfs_syscalls.c#6 integrate .. //depot/projects/newisp/modules/acpi/Makefile#2 integrate .. //depot/projects/newisp/modules/acpi/acpi_aiboost/Makefile#1 branch .. //depot/projects/newisp/modules/linux/Makefile#3 integrate .. //depot/projects/newisp/modules/powermac_nvram/Makefile#2 integrate .. //depot/projects/newisp/netinet/ip_dummynet.c#2 integrate .. //depot/projects/newisp/nfsserver/nfs_serv.c#2 integrate .. //depot/projects/newisp/pc98/conf/DEFAULTS#2 integrate .. //depot/projects/newisp/pc98/conf/GENERIC#4 integrate .. //depot/projects/newisp/pc98/conf/NOTES#3 integrate .. //depot/projects/newisp/pc98/pc98/machdep.c#3 integrate .. //depot/projects/newisp/pci/if_sis.c#3 integrate .. //depot/projects/newisp/pci/ncr.c#2 integrate .. //depot/projects/newisp/posix4/ksched.c#2 integrate .. //depot/projects/newisp/powerpc/conf/DEFAULTS#2 integrate .. //depot/projects/newisp/powerpc/conf/GENERIC#4 integrate .. //depot/projects/newisp/powerpc/conf/NOTES#2 integrate .. //depot/projects/newisp/powerpc/powerpc/machdep.c#2 integrate .. //depot/projects/newisp/powerpc/powerpc/trap.c#3 integrate .. //depot/projects/newisp/security/mac/mac_framework.h#3 integrate .. //depot/projects/newisp/sparc64/conf/DEFAULTS#2 integrate .. //depot/projects/newisp/sparc64/conf/GENERIC#4 integrate .. //depot/projects/newisp/sparc64/conf/NOTES#3 integrate .. //depot/projects/newisp/sparc64/include/endian.h#2 integrate .. //depot/projects/newisp/sparc64/sparc64/machdep.c#2 integrate .. //depot/projects/newisp/sparc64/sparc64/trap.c#2 integrate .. //depot/projects/newisp/sun4v/conf/DEFAULTS#2 integrate .. //depot/projects/newisp/sun4v/conf/NOTES#3 integrate .. //depot/projects/newisp/sun4v/include/endian.h#2 integrate .. //depot/projects/newisp/sun4v/sun4v/machdep.c#2 integrate .. //depot/projects/newisp/sys/clock.h#4 integrate .. //depot/projects/newisp/sys/mac_policy.h#5 integrate .. //depot/projects/newisp/sys/param.h#7 integrate .. //depot/projects/newisp/sys/proc.h#3 integrate .. //depot/projects/newisp/sys/queue.h#2 integrate .. //depot/projects/newisp/sys/rtprio.h#3 integrate .. //depot/projects/newisp/sys/sched.h#2 integrate .. //depot/projects/newisp/sys/soundcard.h#3 integrate .. //depot/projects/newisp/vm/swap_pager.c#3 integrate .. //depot/projects/newisp/vm/uma_core.c#2 integrate .. //depot/projects/newisp/vm/vm_fault.c#3 integrate .. //depot/projects/newisp/vm/vm_glue.c#2 integrate .. //depot/projects/newisp/vm/vm_kern.c#2 integrate .. //depot/projects/newisp/vm/vm_zeroidle.c#2 integrate Differences ... ==== //depot/projects/newisp/amd64/amd64/machdep.c#5 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.656 2006/10/12 12:48:21 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.657 2006/10/26 21:42:16 jb Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -1120,7 +1120,11 @@ * This may be done better later if it gets more high level * components in it. If so just link td->td_proc here. */ +#ifdef KSE proc_linkup(&proc0, &ksegrp0, &thread0); +#else + proc_linkup(&proc0, &thread0); +#endif preload_metadata = (caddr_t)(uintptr_t)(modulep + KERNBASE); preload_bootstrap_relocate(KERNBASE); ==== //depot/projects/newisp/amd64/amd64/prof_machdep.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/prof_machdep.c,v 1.24 2005/05/14 09:10:00 nyan Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/prof_machdep.c,v 1.28 2006/10/29 09:48:44 bde Exp $"); #ifdef GUPROF #if 0 @@ -37,20 +37,15 @@ #include #include #include +#include #include #include #if 0 #include #endif -#include -#undef MCOUNT -#endif - -#include #include -#ifdef GUPROF #define CPUTIME_CLOCK_UNINITIALIZED 0 #define CPUTIME_CLOCK_I8254 1 #define CPUTIME_CLOCK_TSC 2 @@ -60,7 +55,7 @@ int cputime_bias = 1; /* initialize for locality of reference */ static int cputime_clock = CPUTIME_CLOCK_UNINITIALIZED; -#ifdef I586_PMC_GUPROF +#if defined(PERFMON) && defined(I586_PMC_GUPROF) static u_int cputime_clock_pmc_conf = I586_PMC_GUPROF; static int cputime_clock_pmc_init; static struct gmonparam saved_gmp; @@ -80,7 +75,7 @@ # \n\ # Check that we are profiling. Do it early for speed. \n\ # \n\ - cmpl $GMON_PROF_OFF," __XSTRING(CNAME(_gmonparam)) "+GM_STATE \n\ + cmpl $GMON_PROF_OFF,_gmonparam+GM_STATE \n\ je .mcount_exit \n\ # \n\ # __mcount is the same as [.]mcount except the caller \n\ @@ -98,11 +93,11 @@ jmp .got_frompc \n\ \n\ .p2align 4,0x90 \n\ - .globl " __XSTRING(HIDENAME(mcount)) " \n\ -" __XSTRING(HIDENAME(mcount)) ": \n\ + .globl .mcount \n\ +.mcount: \n\ .globl __cyg_profile_func_enter \n\ __cyg_profile_func_enter: \n\ - cmpl $GMON_PROF_OFF," __XSTRING(CNAME(_gmonparam)) "+GM_STATE \n\ + cmpl $GMON_PROF_OFF,_gmonparam+GM_STATE \n\ je .mcount_exit \n\ # \n\ # The caller's stack frame has already been built, so \n\ @@ -126,7 +121,7 @@ \n\ pushfq \n\ cli \n\ - call " __XSTRING(CNAME(mcount)) " \n\ + call mcount \n\ popfq \n\ popq %r9 \n\ popq %r8 \n\ @@ -139,7 +134,7 @@ ret \n\ "); #else /* !__GNUCLIKE_ASM */ -#error this file needs to be ported to your compiler +#error "this file needs to be ported to your compiler" #endif /* __GNUCLIKE_ASM */ #ifdef GUPROF @@ -164,11 +159,11 @@ GMON_PROF_HIRES = 4 \n\ \n\ .p2align 4,0x90 \n\ - .globl " __XSTRING(HIDENAME(mexitcount)) " \n\ -" __XSTRING(HIDENAME(mexitcount)) ": \n\ + .globl .mexitcount \n\ +.mexitcount: \n\ .globl __cyg_profile_func_exit \n\ __cyg_profile_func_exit: \n\ - cmpl $GMON_PROF_HIRES," __XSTRING(CNAME(_gmonparam)) "+GM_STATE \n\ + cmpl $GMON_PROF_HIRES,_gmonparam+GM_STATE \n\ jne .mexitcount_exit \n\ pushq %rax \n\ pushq %rdx \n\ @@ -180,7 +175,7 @@ movq 7*8(%rsp),%rdi \n\ pushfq \n\ cli \n\ - call " __XSTRING(CNAME(mexitcount)) " \n\ + call mexitcount \n\ popfq \n\ popq %r9 \n\ popq %r8 \n\ @@ -192,8 +187,6 @@ .mexitcount_exit: \n\ ret \n\ "); -#else /* !__GNUCLIKE_ASM */ -#error this file needs to be ported to your compiler #endif /* __GNUCLIKE_ASM */ /* @@ -212,7 +205,6 @@ u_char high, low; static u_int prev_count; -#ifndef SMP if (cputime_clock == CPUTIME_CLOCK_TSC) { /* * Scale the TSC a little to make cputime()'s frequency @@ -226,7 +218,7 @@ prev_count = count; return (delta); } -#if defined(PERFMON) && defined(I586_PMC_GUPROF) +#if defined(PERFMON) && defined(I586_PMC_GUPROF) && !defined(SMP) if (cputime_clock == CPUTIME_CLOCK_I586_PMC) { /* * XXX permon_read() should be inlined so that the @@ -240,8 +232,7 @@ prev_count = count; return (delta); } -#endif /* PERFMON && I586_PMC_GUPROF */ -#endif /* !SMP */ +#endif /* PERFMON && I586_PMC_GUPROF && !SMP */ /* * Read the current value of the 8254 timer counter 0. @@ -323,13 +314,10 @@ { if (cputime_clock == CPUTIME_CLOCK_UNINITIALIZED) { cputime_clock = CPUTIME_CLOCK_I8254; -#ifndef SMP - if (tsc_freq != 0) + if (tsc_freq != 0 && !tsc_is_broken && mp_ncpus < 2) cputime_clock = CPUTIME_CLOCK_TSC; -#endif } gp->profrate = timer_freq << CPUTIME_CLOCK_I8254_SHIFT; -#ifndef SMP if (cputime_clock == CPUTIME_CLOCK_TSC) gp->profrate = tsc_freq >> 1; #if defined(PERFMON) && defined(I586_PMC_GUPROF) @@ -358,7 +346,6 @@ } } #endif /* PERFMON && I586_PMC_GUPROF */ -#endif /* !SMP */ cputime_bias = 0; cputime(); } @@ -375,17 +362,4 @@ } #endif } - -#else /* !GUPROF */ -#ifdef __GNUCLIKE_ASM -__asm(" \n\ - .text \n\ - .p2align 4,0x90 \n\ - .globl " __XSTRING(HIDENAME(mexitcount)) " \n\ -" __XSTRING(HIDENAME(mexitcount)) ": \n\ - ret \n\ -"); -#else /* !__GNUCLIKE_ASM */ -#error this file needs to be ported to your compiler -#endif /* __GNUCLIKE_ASM */ #endif /* GUPROF */ ==== //depot/projects/newisp/amd64/amd64/trap.c#2 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.310 2006/08/14 19:53:53 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.311 2006/10/26 21:42:16 jb Exp $"); /* * AMD64 Trap and System call handling @@ -299,8 +299,10 @@ case T_PAGEFLT: /* page fault */ addr = frame.tf_addr; +#ifdef KSE if (td->td_pflags & TDP_SA) thread_user_enter(td); +#endif i = trap_pfault(&frame, TRUE); if (i == -1) goto userout; @@ -757,8 +759,10 @@ td->td_frame = &frame; if (td->td_ucred != p->p_ucred) cred_update_thread(td); +#ifdef KSE if (p->p_flag & P_SA) thread_user_enter(td); +#endif params = (caddr_t)frame.tf_rsp + sizeof(register_t); code = frame.tf_rax; orig_tf_rflags = frame.tf_rflags; ==== //depot/projects/newisp/amd64/conf/DEFAULTS#2 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/amd64 # -# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.6 2006/06/12 04:21:49 imp Exp $ +# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.7 2006/10/26 22:05:24 jb Exp $ machine amd64 @@ -14,3 +14,6 @@ # UART chips on this platform device uart_ns8250 + +# KSE support went from being default to a kernel option +options KSE ==== //depot/projects/newisp/amd64/conf/GENERIC#4 (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.466 2006/10/05 20:31:57 simon Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.468 2006/10/26 22:11:34 jb Exp $ cpu HAMMER ident GENERIC ==== //depot/projects/newisp/amd64/conf/NOTES#4 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.62 2006/10/20 09:52:26 des Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.63 2006/10/23 13:23:13 ru Exp $ # # @@ -257,8 +257,6 @@ # Debugging. options VGA_DEBUG -device splash # Splash screen and screen saver support - # 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support. This will create # the /dev/3dfx0 device to work with glide implementations. This should get # linked to /dev/3dfx and /dev/voodoo. Note that this is not the same as ==== //depot/projects/newisp/amd64/include/asmacros.h#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/include/asmacros.h,v 1.30 2006/03/14 00:01:56 peter Exp $ + * $FreeBSD: src/sys/amd64/include/asmacros.h,v 1.32 2006/10/28 06:04:29 bde Exp $ */ #ifndef _MACHINE_ASMACROS_H_ @@ -37,14 +37,12 @@ /* XXX too much duplication in various asm*.h's. */ /* - * CNAME and HIDENAME manage the relationship between symbol names in C + * CNAME is used to manage the relationship between symbol names in C * and the equivalent assembly language names. CNAME is given a name as * it would be used in a C program. It expands to the equivalent assembly - * language name. HIDENAME is given an assembly-language name, and expands - * to a possibly-modified form that will be invisible to C programs. + * language name. */ #define CNAME(csym) csym -#define HIDENAME(asmsym) .asmsym #define ALIGN_DATA .p2align 3 /* 8 byte alignment, zero filled */ #ifdef GPROF @@ -108,8 +106,12 @@ #define FAKE_MCOUNT(caller) pushq caller ; call __mcount ; popq %rcx #define MCOUNT call __mcount #define MCOUNT_LABEL(name) GEN_ENTRY(name) ; nop ; ALIGN_TEXT -#define MEXITCOUNT call HIDENAME(mexitcount) +#ifdef GUPROF +#define MEXITCOUNT call .mexitcount #define ret MEXITCOUNT ; NON_GPROF_RET +#else +#define MEXITCOUNT +#endif #else /* !GPROF */ /* ==== //depot/projects/newisp/amd64/include/profile.h#2 (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.45 2005/03/11 22:16:09 peter Exp $ + * $FreeBSD: src/sys/amd64/include/profile.h,v 1.48 2006/10/28 13:12:06 bde Exp $ */ #ifndef _MACHINE_PROFILE_H_ @@ -61,7 +61,7 @@ #define MCOUNT_OVERHEAD(label) \ __asm __volatile("pushq %0; call __mcount; popq %%rcx" \ : \ - : "i" (profil) \ + : "i" (label) \ : "ax", "dx", "cx", "di", "si", "r8", "r9", "memory") #define MEXITCOUNT_OVERHEAD() \ __asm __volatile("call .mexitcount; 1:" \ @@ -114,11 +114,11 @@ #ifdef __GNUCLIKE_ASM #define MCOUNT __asm(" \n\ + .text \n\ + .p2align 4,0x90 \n\ .globl .mcount \n\ - .type .mcount @function \n\ + .type .mcount,@function \n\ .mcount: \n\ - pushq %rbp \n\ - movq %rsp,%rbp \n\ pushq %rdi \n\ pushq %rsi \n\ pushq %rdx \n\ @@ -126,9 +126,8 @@ pushq %r8 \n\ pushq %r9 \n\ pushq %rax \n\ - movq 8(%rbp),%rsi \n\ - movq (%rbp),%rdi \n\ - movq 8(%rdi),%rdi \n\ + movq 8(%rbp),%rdi \n\ + movq 7*8(%rsp),%rsi \n\ call _mcount \n\ popq %rax \n\ popq %r9 \n\ @@ -137,7 +136,6 @@ popq %rdx \n\ popq %rsi \n\ popq %rdi \n\ - leave \n\ ret \n\ .size .mcount, . - .mcount"); #if 0 @@ -171,11 +169,7 @@ } #endif #else /* !__GNUCLIKE_ASM */ -#define MCOUNT \ -void \ -mcount() \ -{ \ -} +#define MCOUNT #endif /* __GNUCLIKE_ASM */ typedef u_long uintfptr_t; ==== //depot/projects/newisp/amd64/linux32/linux.h#3 (text+ko) ==== @@ -27,7 +27,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/amd64/linux32/linux.h,v 1.7 2006/10/15 14:22:12 netchild Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.8 2006/10/29 14:02:38 netchild Exp $ */ #ifndef _AMD64_LINUX_LINUX_H_ @@ -840,6 +840,4 @@ #define THREADING_FLAGS (CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND) -#include - #endif /* !_AMD64_LINUX_LINUX_H_ */ ==== //depot/projects/newisp/amd64/linux32/linux32_dummy.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_dummy.c,v 1.5 2006/08/27 08:56:53 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_dummy.c,v 1.6 2006/10/28 10:59:59 netchild Exp $"); #include #include @@ -53,7 +53,6 @@ DUMMY(sysfs); DUMMY(query_module); DUMMY(nfsservctl); -DUMMY(prctl); DUMMY(rt_sigtimedwait); DUMMY(rt_sigqueueinfo); DUMMY(capget); ==== //depot/projects/newisp/amd64/linux32/linux32_proto.h#4 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.23 2006/10/15 14:24:09 netchild Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.21 2006/10/15 14:22:12 netchild Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.25 2006/10/29 14:12:44 netchild Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.23 2006/10/29 14:02:38 netchild Exp */ #ifndef _LINUX_SYSPROTO_H_ @@ -521,7 +521,11 @@ char sgid_l_[PADL_(l_gid16_t *)]; l_gid16_t * sgid; char sgid_r_[PADR_(l_gid16_t *)]; }; struct linux_prctl_args { - register_t dummy; + char option_l_[PADL_(l_int)]; l_int option; char option_r_[PADR_(l_int)]; + char arg2_l_[PADL_(l_int)]; l_int arg2; char arg2_r_[PADR_(l_int)]; + char arg3_l_[PADL_(l_int)]; l_int arg3; char arg3_r_[PADR_(l_int)]; + char arg4_l_[PADL_(l_int)]; l_int arg4; char arg4_r_[PADR_(l_int)]; + char arg5_l_[PADL_(l_int)]; l_int arg5; char arg5_r_[PADR_(l_int)]; }; struct linux_rt_sigreturn_args { char ucp_l_[PADL_(struct l_ucontext *)]; struct l_ucontext * ucp; char ucp_r_[PADR_(struct l_ucontext *)]; @@ -724,30 +728,6 @@ char uaddr2_l_[PADL_(void *)]; void * uaddr2; char uaddr2_r_[PADR_(void *)]; char val3_l_[PADL_(int)]; int val3; char val3_r_[PADR_(int)]; }; -struct linux_io_setup_args { - char nr_reqs_l_[PADL_(l_uint)]; l_uint nr_reqs; char nr_reqs_r_[PADR_(l_uint)]; - char ctxp_l_[PADL_(linux_aio_context_t *)]; linux_aio_context_t * ctxp; char ctxp_r_[PADR_(linux_aio_context_t *)]; -}; -struct linux_io_destroy_args { - char ctx_l_[PADL_(linux_aio_context_t)]; linux_aio_context_t ctx; char ctx_r_[PADR_(linux_aio_context_t)]; -}; -struct linux_io_getevents_args { - char ctx_id_l_[PADL_(linux_aio_context_t)]; linux_aio_context_t ctx_id; char ctx_id_r_[PADR_(linux_aio_context_t)]; - char min_nr_l_[PADL_(l_long)]; l_long min_nr; char min_nr_r_[PADR_(l_long)]; - char nr_l_[PADL_(l_long)]; l_long nr; char nr_r_[PADR_(l_long)]; - char events_l_[PADL_(struct linux_io_event *)]; struct linux_io_event * events; char events_r_[PADR_(struct linux_io_event *)]; - char timeout_l_[PADL_(struct l_timespec *)]; struct l_timespec * timeout; char timeout_r_[PADR_(struct l_timespec *)]; -}; -struct linux_io_submit_args { - char ctx_id_l_[PADL_(linux_aio_context_t)]; linux_aio_context_t ctx_id; char ctx_id_r_[PADR_(linux_aio_context_t)]; - char nr_l_[PADL_(l_long)]; l_long nr; char nr_r_[PADR_(l_long)]; - char iocbpp_l_[PADL_(struct linux_iocb **)]; struct linux_iocb ** iocbpp; char iocbpp_r_[PADR_(struct linux_iocb **)]; -}; -struct linux_io_cancel_args { - char ctx_id_l_[PADL_(linux_aio_context_t)]; linux_aio_context_t ctx_id; char ctx_id_r_[PADR_(linux_aio_context_t)]; - char iocb_l_[PADL_(struct linux_iocb *)]; struct linux_iocb * iocb; char iocb_r_[PADR_(struct linux_iocb *)]; - char result_l_[PADL_(struct linux_io_event *)]; struct linux_io_event * result; char result_r_[PADR_(struct linux_io_event *)]; -}; struct linux_fadvise64_args { register_t dummy; }; @@ -1105,11 +1085,6 @@ int linux_fremovexattr(struct thread *, struct linux_fremovexattr_args *); int linux_tkill(struct thread *, struct linux_tkill_args *); int linux_sys_futex(struct thread *, struct linux_sys_futex_args *); -int linux_io_setup(struct thread *, struct linux_io_setup_args *); -int linux_io_destroy(struct thread *, struct linux_io_destroy_args *); -int linux_io_getevents(struct thread *, struct linux_io_getevents_args *); -int linux_io_submit(struct thread *, struct linux_io_submit_args *); -int linux_io_cancel(struct thread *, struct linux_io_cancel_args *); int linux_fadvise64(struct thread *, struct linux_fadvise64_args *); int linux_exit_group(struct thread *, struct linux_exit_group_args *); int linux_lookup_dcookie(struct thread *, struct linux_lookup_dcookie_args *); @@ -1355,11 +1330,6 @@ #define LINUX_SYS_AUE_linux_fremovexattr AUE_NULL #define LINUX_SYS_AUE_linux_tkill AUE_NULL #define LINUX_SYS_AUE_linux_sys_futex AUE_NULL -#define LINUX_SYS_AUE_linux_io_setup AUE_NULL -#define LINUX_SYS_AUE_linux_io_destroy AUE_NULL -#define LINUX_SYS_AUE_linux_io_getevents AUE_NULL -#define LINUX_SYS_AUE_linux_io_submit AUE_NULL -#define LINUX_SYS_AUE_linux_io_cancel AUE_NULL #define LINUX_SYS_AUE_linux_fadvise64 AUE_NULL #define LINUX_SYS_AUE_linux_exit_group AUE_EXIT #define LINUX_SYS_AUE_linux_lookup_dcookie AUE_NULL ==== //depot/projects/newisp/amd64/linux32/linux32_syscall.h#4 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.23 2006/10/15 14:24:09 netchild Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.21 2006/10/15 14:22:12 netchild Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.25 2006/10/29 14:12:44 netchild Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.23 2006/10/29 14:02:38 netchild Exp */ #define LINUX_SYS_exit 1 @@ -221,11 +221,6 @@ #define LINUX_SYS_linux_fremovexattr 237 #define LINUX_SYS_linux_tkill 238 #define LINUX_SYS_linux_sys_futex 240 -#define LINUX_SYS_linux_io_setup 245 -#define LINUX_SYS_linux_io_destroy 246 -#define LINUX_SYS_linux_io_getevents 247 -#define LINUX_SYS_linux_io_submit 248 -#define LINUX_SYS_linux_io_cancel 249 #define LINUX_SYS_linux_fadvise64 250 #define LINUX_SYS_linux_exit_group 252 #define LINUX_SYS_linux_lookup_dcookie 253 ==== //depot/projects/newisp/amd64/linux32/linux32_sysent.c#4 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.23 2006/10/15 14:24:09 netchild Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.21 2006/10/15 14:22:12 netchild Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.25 2006/10/29 14:12:44 netchild Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.23 2006/10/29 14:02:38 netchild Exp */ #include @@ -192,7 +192,7 @@ { 0, (sy_call_t *)linux_nfsservctl, AUE_NULL, NULL, 0, 0 }, /* 169 = linux_nfsservctl */ { AS(linux_setresgid16_args), (sy_call_t *)linux_setresgid16, AUE_SETRESGID, NULL, 0, 0 }, /* 170 = linux_setresgid16 */ { AS(linux_getresgid16_args), (sy_call_t *)linux_getresgid16, AUE_GETRESGID, NULL, 0, 0 }, /* 171 = linux_getresgid16 */ - { 0, (sy_call_t *)linux_prctl, AUE_PRCTL, NULL, 0, 0 }, /* 172 = linux_prctl */ + { AS(linux_prctl_args), (sy_call_t *)linux_prctl, AUE_PRCTL, NULL, 0, 0 }, /* 172 = linux_prctl */ { AS(linux_rt_sigreturn_args), (sy_call_t *)linux_rt_sigreturn, AUE_NULL, NULL, 0, 0 }, /* 173 = linux_rt_sigreturn */ { AS(linux_rt_sigaction_args), (sy_call_t *)linux_rt_sigaction, AUE_NULL, NULL, 0, 0 }, /* 174 = linux_rt_sigaction */ { AS(linux_rt_sigprocmask_args), (sy_call_t *)linux_rt_sigprocmask, AUE_NULL, NULL, 0, 0 }, /* 175 = linux_rt_sigprocmask */ @@ -265,11 +265,11 @@ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 242 = linux_sched_getaffinity */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 243 = linux_set_thread_area */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 244 = linux_get_thread_area */ - { AS(linux_io_setup_args), (sy_call_t *)linux_io_setup, AUE_NULL, NULL, 0, 0 }, /* 245 = linux_io_setup */ - { AS(linux_io_destroy_args), (sy_call_t *)linux_io_destroy, AUE_NULL, NULL, 0, 0 }, /* 246 = linux_io_destroy */ - { AS(linux_io_getevents_args), (sy_call_t *)linux_io_getevents, AUE_NULL, NULL, 0, 0 }, /* 247 = linux_io_getevents */ - { AS(linux_io_submit_args), (sy_call_t *)linux_io_submit, AUE_NULL, NULL, 0, 0 }, /* 248 = linux_io_submit */ - { AS(linux_io_cancel_args), (sy_call_t *)linux_io_cancel, AUE_NULL, NULL, 0, 0 }, /* 249 = linux_io_cancel */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 245 = linux_io_setup */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 246 = linux_io_destroy */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 247 = linux_io_getevents */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 248 = inux_io_submit */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 249 = linux_io_cancel */ { 0, (sy_call_t *)linux_fadvise64, AUE_NULL, NULL, 0, 0 }, /* 250 = linux_fadvise64 */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 251 = */ { AS(linux_exit_group_args), (sy_call_t *)linux_exit_group, AUE_EXIT, NULL, 0, 0 }, /* 252 = linux_exit_group */ ==== //depot/projects/newisp/amd64/linux32/syscalls.master#4 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.21 2006/10/15 14:22:12 netchild Exp $ + $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.23 2006/10/29 14:02:38 netchild Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from LINUX). @@ -298,7 +298,8 @@ l_gid16_t egid, l_gid16_t sgid); } 171 AUE_GETRESGID STD { int linux_getresgid16(l_gid16_t *rgid, \ l_gid16_t *egid, l_gid16_t *sgid); } -172 AUE_PRCTL STD { int linux_prctl(void); } +172 AUE_PRCTL STD { int linux_prctl(l_int option, l_int arg2, l_int arg3, \ + l_int arg4, l_int arg5); } 173 AUE_NULL STD { int linux_rt_sigreturn( \ struct l_ucontext *ucp); } 174 AUE_NULL STD { int linux_rt_sigaction(l_int sig, \ @@ -406,11 +407,11 @@ 242 AUE_NULL UNIMPL linux_sched_getaffinity 243 AUE_NULL UNIMPL linux_set_thread_area 244 AUE_NULL UNIMPL linux_get_thread_area -245 AUE_NULL STD { int linux_io_setup(l_uint nr_reqs, linux_aio_context_t *ctxp); } -246 AUE_NULL STD { int linux_io_destroy(linux_aio_context_t ctx); } -247 AUE_NULL STD { int linux_io_getevents(linux_aio_context_t ctx_id, l_long min_nr, l_long nr, struct linux_io_event *events, struct l_timespec *timeout); } -248 AUE_NULL STD { int linux_io_submit(linux_aio_context_t ctx_id, l_long nr, struct linux_iocb **iocbpp); } -249 AUE_NULL STD { int linux_io_cancel(linux_aio_context_t ctx_id, struct linux_iocb *iocb, struct linux_io_event *result); } +245 AUE_NULL UNIMPL linux_io_setup +246 AUE_NULL UNIMPL linux_io_destroy +247 AUE_NULL UNIMPL linux_io_getevents +248 AUE_NULL UNIMPL inux_io_submit +249 AUE_NULL UNIMPL linux_io_cancel 250 AUE_NULL STD { int linux_fadvise64(void); } 251 AUE_NULL UNIMPL 252 AUE_EXIT STD { int linux_exit_group(int error_code); } ==== //depot/projects/newisp/arm/arm/elf_trampoline.c#3 (text+ko) ==== @@ -23,8 +23,9 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.14 2006/10/21 04:25:00 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.15 2006/10/30 23:23:00 cognet Exp $"); #include +#include #include #include #include ==== //depot/projects/newisp/arm/arm/nexus.c#2 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/nexus.c,v 1.7 2006/04/20 04:12:02 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/nexus.c,v 1.9 2006/10/25 21:11:46 cognet Exp $"); #include #include @@ -127,8 +127,11 @@ nexus_setup_intr(device_t dev, device_t child, struct resource *res, int flags, driver_intr_t *intr, void *arg, void **cookiep) { - arm_setup_irqhandler(device_get_nameunit(child), - intr, arg, rman_get_start(res), flags, cookiep); + int i; + + for (i = rman_get_start(res); i <= rman_get_end(res); i++) + arm_setup_irqhandler(device_get_nameunit(child), + intr, arg, i, flags, cookiep); return (0); } @@ -136,8 +139,10 @@ nexus_teardown_intr(device_t dev, device_t child, struct resource *r, void *ih) { int error; + int i; - arm_mask_irq(rman_get_start(r)); + for (i = rman_get_start(r); i <= rman_get_end(r); i++) + arm_mask_irq(rman_get_start(r)); error = arm_remove_irqhandler(ih); return (error); } ==== //depot/projects/newisp/arm/arm/trap.c#5 (text+ko) ==== @@ -82,7 +82,7 @@ #include "opt_ktrace.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.31 2006/10/21 04:25:00 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.32 2006/10/26 21:42:16 jb Exp $"); #include #include @@ -263,8 +263,10 @@ td->td_frame = tf; if (td->td_ucred != td->td_proc->p_ucred) cred_update_thread(td); +#ifdef KSE if (td->td_pflags & TDP_SA) thread_user_enter(td); +#endif } /* Grab the current pcb */ @@ -730,8 +732,10 @@ td->td_frame = tf; if (td->td_ucred != td->td_proc->p_ucred) cred_update_thread(td); +#ifdef KSE if (td->td_proc->p_flag & P_SA) thread_user_enter(td); +#endif } fault_pc = tf->tf_pc; if (td->td_md.md_spinlock_count == 0) { @@ -1005,8 +1009,10 @@ td->td_frame = frame; td->td_pticks = 0; +#ifdef KSE if (td->td_proc->p_flag & P_SA) thread_user_enter(td); +#endif /* * Make sure the program counter is correctly aligned so we * don't take an alignment fault trying to read the opcode. ==== //depot/projects/newisp/arm/arm/vm_machdep.c#2 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.27 2006/08/08 20:59:38 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.28 2006/10/24 23:27:52 cognet Exp $"); #include #include @@ -465,13 +465,13 @@ vm_offset_t addr = alloc_firstaddr; KASSERT(alloc_firstaddr != 0, ("arm_ptovirt called to early ?")); - for (i = 0; dump_avail[i]; i += 2) { + for (i = 0; dump_avail[i + 1]; i += 2) { if (pa >= dump_avail[i] && pa < dump_avail[i + 1]) break; addr += (dump_avail[i + 1] & L1_S_FRAME) + L1_S_SIZE - (dump_avail[i] & L1_S_FRAME); } - KASSERT(dump_avail[i] != 0, ("Trying to access invalid physical address")); + KASSERT(dump_avail[i + 1] != 0, ("Trying to access invalid physical address")); return (addr + (pa - (dump_avail[i] & L1_S_FRAME))); } @@ -487,12 +487,12 @@ * to be able to do a pa => va association for any address. */ - for (i = 0; dump_avail[i]; i+= 2) { + for (i = 0; dump_avail[i + 1]; i+= 2) { to_map += (dump_avail[i + 1] & L1_S_FRAME) + L1_S_SIZE - (dump_avail[i] & L1_S_FRAME); } alloc_firstaddr = mapaddr = KERNBASE - to_map; - for (i = 0; dump_avail[i]; i+= 2) { + for (i = 0; dump_avail[i + 1]; i+= 2) { vm_offset_t size = (dump_avail[i + 1] & L1_S_FRAME) + L1_S_SIZE - (dump_avail[i] & L1_S_FRAME); vm_offset_t did = 0; ==== //depot/projects/newisp/arm/at91/at91_sscreg.h#3 (text) ==== @@ -22,7 +22,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* $FreeBSD: src/sys/arm/at91/at91_sscreg.h,v 1.2 2006/10/20 07:08:15 imp Exp $ */ +/* $FreeBSD: src/sys/arm/at91/at91_sscreg.h,v 1.3 2006/10/25 07:58:18 imp Exp $ */ #ifndef ARM_AT91_AT91_SSCREG_H #define ARM_AT91_AT91_SSCREG_H @@ -132,4 +132,18 @@ #define SSC_TFMR_DATDEF (1u << 5) /* DATDEF: Data Default Value */ #define SSC_TFMR_DATLEN (0x1fu << 0) /* DATLEN: Data Length */ +/* SSC_SR */ +#define SSC_SR_TXRDY (1u << 0) +#define SSC_SR_TXEMPTY (1u << 1) +#define SSC_SR_ENDTX (1u << 2) +#define SSC_SR_TXBUFE (1u << 3) +#define SSC_SR_RXRDY (1u << 4) +#define SSC_SR_OVRUN (1u << 5) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Oct 31 08:20:47 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4BC1316A417; Tue, 31 Oct 2006 08:20:47 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 ECA9F16A412 for ; Tue, 31 Oct 2006 08:20:46 +0000 (UTC) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A5DA043D58 for ; Tue, 31 Oct 2006 08:20:46 +0000 (GMT) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9V8KkiA027628 for ; Tue, 31 Oct 2006 08:20:46 GMT (envelope-from scottl@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9V8KkIp027625 for perforce@freebsd.org; Tue, 31 Oct 2006 08:20:46 GMT (envelope-from scottl@freebsd.org) Date: Tue, 31 Oct 2006 08:20:46 GMT Message-Id: <200610310820.k9V8KkIp027625@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to scottl@freebsd.org using -f From: Scott Long To: Perforce Change Reviews Cc: Subject: PERFORCE change 108806 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Oct 2006 08:20:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=108806 Change 108806 by scottl@scottl-x64 on 2006/10/31 08:20:31 Refine the macros in the case of locking not being enabled. Add some extra assertions. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt.c#13 edit .. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt.h#14 edit .. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_cam.c#14 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt.c#13 (text+ko) ==== @@ -700,6 +700,8 @@ mpt = (struct mpt_softc *)arg; mpt_lprt(mpt, MPT_PRT_DEBUG2, "enter mpt_intr\n"); + MPT_LOCK_ASSERT(mpt); + while ((reply_desc = mpt_pop_reply_queue(mpt)) != MPT_REPLY_EMPTY) { request_t *req; MSG_DEFAULT_REPLY *reply_frame; @@ -1167,7 +1169,7 @@ } KASSERT(req->state != REQ_STATE_FREE, ("freeing free request")); KASSERT(!(req->state & REQ_STATE_LOCKED), ("freeing locked request")); - mtx_assert(&mpt->mpt_lock, MA_OWNED); + MPT_LOCK_ASSERT(mpt); KASSERT(mpt_req_on_free_list(mpt, req) == 0, ("mpt_free_request: req %p:%u func %x already on freelist", req, req->serno, ((MSG_REQUEST_HEADER *)req->req_vbuf)->Function)); @@ -1216,7 +1218,7 @@ request_t *req; retry: - mtx_assert(&mpt->mpt_lock, MA_OWNED); + MPT_LOCK_ASSERT(mpt); req = TAILQ_FIRST(&mpt->request_free_list); if (req != NULL) { KASSERT(req == &mpt->request_pool[req->index], ==== //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt.h#14 (text+ko) ==== @@ -713,6 +713,7 @@ #define MPT_LOCK(mpt) mpt_lockspl(mpt) #define MPT_UNLOCK(mpt) mpt_unlockspl(mpt) #define MPT_OWNED(mpt) mpt->mpt_islocked +#define MPT_LOCK_ASSERT(mpt) #define MPTLOCK_2_CAMLOCK MPT_UNLOCK #define CAMLOCK_2_MPTLOCK MPT_LOCK #define MPT_LOCK_SETUP(mpt) @@ -780,6 +781,7 @@ #define MPT_LOCK(mpt) mtx_lock(&(mpt)->mpt_lock) #define MPT_UNLOCK(mpt) mtx_unlock(&(mpt)->mpt_lock) #define MPT_OWNED(mpt) mtx_owned(&(mpt)->mpt_lock) +#define MPT_LOCK_ASSERT(mpt) mtx_assert(&(mpt)->mpt_lock, MA_OWNED) #define MPTLOCK_2_CAMLOCK(mpt) #define CAMLOCK_2_MPTLOCK(mpt) #define mpt_sleep(mpt, ident, priority, wmesg, timo) \ @@ -796,30 +798,11 @@ #define MPT_IFLAGS INTR_TYPE_CAM | INTR_ENTROPY #define MPT_LOCK_SETUP(mpt) do { } while (0) #define MPT_LOCK_DESTROY(mpt) do { } while (0) -#if 0 -#define MPT_LOCK(mpt) \ - device_printf(mpt->dev, "LOCK %s:%d\n", __FILE__, __LINE__); \ - KASSERT(mpt->mpt_locksetup == 0, \ - ("recursive lock acquire at %s:%d", __FILE__, __LINE__)); \ - mpt->mpt_locksetup = 1 -#define MPT_UNLOCK(mpt) \ - device_printf(mpt->dev, "UNLK %s:%d\n", __FILE__, __LINE__); \ - KASSERT(mpt->mpt_locksetup == 1, \ - ("release unowned lock at %s:%d", __FILE__, __LINE__)); \ - mpt->mpt_locksetup = 0 -#else -#define MPT_LOCK(mpt) \ - KASSERT(mpt->mpt_locksetup == 0, \ - ("recursive lock acquire at %s:%d", __FILE__, __LINE__)); \ - mpt->mpt_locksetup = 1 -#define MPT_UNLOCK(mpt) \ - KASSERT(mpt->mpt_locksetup == 1, \ - ("release unowned lock at %s:%d", __FILE__, __LINE__)); \ - mpt->mpt_locksetup = 0 -#endif -#define MPT_OWNED(mpt) mpt->mpt_locksetup -#define MPTLOCK_2_CAMLOCK(mpt) MPT_UNLOCK(mpt) -#define CAMLOCK_2_MPTLOCK(mpt) MPT_LOCK(mpt) +#define MPT_LOCK_ASSERT(mpt) mtx_assert(&Giant, MA_OWNED) +#define MPT_LOCK(mpt) mtx_lock(&Giant) +#define MPT_UNLOCK(mpt) mtx_unlock(&Giant) +#define MPTLOCK_2_CAMLOCK(mpt) +#define CAMLOCK_2_MPTLOCK(mpt) static __inline int mpt_sleep(struct mpt_softc *, void *, int, const char *, int); @@ -837,9 +820,7 @@ mpt_sleep(struct mpt_softc *mpt, void *i, int p, const char *w, int t) { int r; - MPT_UNLOCK(mpt); r = tsleep(i, p, w, t); - MPT_LOCK(mpt); return (r); } #endif ==== //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_cam.c#14 (text+ko) ==== @@ -2856,6 +2856,7 @@ mpt = (struct mpt_softc *)cam_sim_softc(sim); raid_passthru = (sim == mpt->phydisk_sim); + MPT_LOCK_ASSERT(mpt); tgt = ccb->ccb_h.target_id; lun = ccb->ccb_h.target_lun; From owner-p4-projects@FreeBSD.ORG Tue Oct 31 11:14:31 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 33F4F16A492; Tue, 31 Oct 2006 11:14:31 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 D314316A47B for ; Tue, 31 Oct 2006 11:14:30 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A066743D49 for ; Tue, 31 Oct 2006 11:14:30 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9VBEUI7070719 for ; Tue, 31 Oct 2006 11:14:30 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9VBEU4v070716 for perforce@freebsd.org; Tue, 31 Oct 2006 11:14:30 GMT (envelope-from bushman@freebsd.org) Date: Tue, 31 Oct 2006 11:14:30 GMT Message-Id: <200610311114.k9VBEU4v070716@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 108816 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Oct 2006 11:14:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=108816 Change 108816 by bushman@bushman_nss_ldap_cached on 2006/10/31 11:14:26 nss_compat and nss_files functionalitites were separated to simplify the build Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_compat/Makefile#6 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_compat/compat_serv.c#4 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_compat/compat_serv.h#3 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_compat/nss_compat.c#6 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_files/files_serv.c#5 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_files/files_serv.h#3 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_files/nss_files.c#12 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_compat/Makefile#6 (text+ko) ==== @@ -8,8 +8,6 @@ SHLIBDIR?= /lib SRCS+= nss_compat.c compat_group.c compat_passwd.c compat_serv.c -# NOTE: hack with nss_files's file_serv.c is used -SRCS+= ${.CURDIR}/../nss_files/files_serv.c CFLAGS+=-I${.CURDIR} -I${.CURDIR}/../libc/gen -I${.CURDIR}/../libc/include\ -I${.CURDIR}/../libc/net -I${.CURDIR}/../libnssutil ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_compat/compat_serv.c#4 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2006 Michael Bushkov + * Copyright (c) 2006 Michael Bushkov * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,11 +25,237 @@ * */ +#include +#include +#include +#include +#include +#include +#include #include +#include "namespace.h" +#include +#include +#include "un-namespace.h" +#include +#include #include -#include "../nss_files/files_serv.h" +#include +#include "compat_serv.h" #include "nss_compat.h" - +#include "nss_tls.h" +#include "servunpack.h" + +struct compat_state +{ + FILE *fp; + int stayopen; + + int compat_mode_active; +}; +static void compat_endstate(void *); +NSS_TLS_HANDLING(compat); + +static void +compat_endstate(void *p) +{ + FILE * f; + + if (p == NULL) + return; + + f = ((struct compat_state *)p)->fp; + if (f != NULL) + fclose(f); + + free(p); +} + +int +__compat_servent(void *retval, void *mdata, va_list ap) +{ + static const ns_src compat_src[] = { +#ifdef YP + { NSSRC_NIS, NS_SUCCESS }, +#endif + { NULL, 0 } + }; + ns_dtab compat_dtab[] = { + { NULL, NULL, NULL } + }; + + struct compat_state *st; + int rv; + int stayopen; + + char *name; + char *proto; + int port; + + struct servent *serv; + char *buffer; + size_t bufsize; + int *errnop; + + char **aliases; + int aliases_size; + size_t linesize; + char *line; + char **cp; + + name = NULL; + proto = NULL; + switch ((enum nss_lookup_type)mdata) { + case nss_lt_name: + name = va_arg(ap, char *); + proto = va_arg(ap, char *); + break; + case nss_lt_id: + port = va_arg(ap, int); + proto = va_arg(ap, char *); + break; + case nss_lt_all: + break; + default: + return NS_NOTFOUND; + }; + + serv = va_arg(ap, struct servent *); + buffer = va_arg(ap, char *); + bufsize = va_arg(ap, size_t); + errnop = va_arg(ap,int *); + + *errnop = compat_getstate(&st); + if (*errnop != 0) + return (NS_UNAVAIL); + + if (st->fp == NULL) + st->compat_mode_active = 0; + + if (st->fp == NULL && (st->fp = fopen(_PATH_SERVICES, "r")) == NULL) { + *errnop = errno; + return (NS_UNAVAIL); + } + + if ((enum nss_lookup_type)mdata == nss_lt_all) + stayopen = 1; + else { + rewind(st->fp); + stayopen = st->stayopen; + } + + rv = NS_NOTFOUND; + do { + if (!st->compat_mode_active) { + if ((line = fgetln(st->fp, &linesize)) == NULL) { + *errnop = errno; + rv = NS_RETURN; + break; + } + + if (*line=='+') + st->compat_mode_active = 1; + else { + if (bufsize <= linesize + _ALIGNBYTES + + sizeof(char *)) { + *errnop = ERANGE; + rv = NS_RETURN; + break; + } + aliases = (char **)_ALIGN(&buffer[linesize+1]); + aliases_size = (buffer + bufsize - + (char *)aliases) / sizeof(char *); + if (aliases_size < 1) { + *errnop = ERANGE; + rv = NS_RETURN; + break; + } + + memcpy(buffer, line, linesize); + buffer[linesize] = '\0'; + } + } + + if (st->compat_mode_active != 0) { + switch ((enum nss_lookup_type)mdata) { + case nss_lt_name: + rv = _nsdispatch(retval, compat_dtab, + NSDB_SERVICES_COMPAT, "getservbyname_r", + compat_src, name, proto, serv, buffer, + bufsize, errnop); + break; + case nss_lt_id: + rv = _nsdispatch(retval, compat_dtab, + NSDB_SERVICES_COMPAT, "getservbyport_r", + compat_src, port, proto, serv, buffer, + bufsize, errnop); + break; + case nss_lt_all: + rv = _nsdispatch(retval, compat_dtab, + NSDB_SERVICES_COMPAT, "getservent_r", + compat_src, serv, buffer, bufsize, errnop); + break; + } + + if (!(rv & NS_TERMINATE) || + (enum nss_lookup_type)mdata != nss_lt_all) + st->compat_mode_active = 0; + + continue; + } + + rv = __servent_unpack(buffer, serv, aliases, aliases_size, + errnop); + if (rv != 0) { + if (*errnop == 0) { + rv = NS_NOTFOUND; + continue; + } + else { + rv = NS_RETURN; + break; + } + } + + rv = NS_NOTFOUND; + switch ((enum nss_lookup_type)mdata) { + case nss_lt_name: + if (strcmp(name, serv->s_name) == 0) + goto gotname; + for (cp = serv->s_aliases; *cp; cp++) + if (strcmp(name, *cp) == 0) + goto gotname; + + continue; + gotname: + if (proto == 0 || strcmp(serv->s_proto, proto) == 0) + rv = NS_SUCCESS; + break; + case nss_lt_id: + if (port != serv->s_port) + continue; + + if (proto == 0 || strcmp(serv->s_proto, proto) == 0) + rv = NS_SUCCESS; + break; + case nss_lt_all: + rv = NS_SUCCESS; + break; + } + + } while (!(rv & NS_TERMINATE)); + + if (!stayopen && st->fp != NULL) { + fclose(st->fp); + st->fp = NULL; + } + + if ((rv == NS_SUCCESS) && (retval != NULL)) + *(struct servent **)retval=serv; + + return (rv); +} + int __compat_setservent(void *retval, void *mdata, va_list ap) { @@ -42,23 +268,40 @@ ns_dtab compat_dtab[] = { { NULL, NULL, NULL } }; + + struct compat_state *st; + int rv; int f; - (void)__files_setservent(retval, mdata, ap); + rv = compat_getstate(&st); + if (rv != 0) + return (NS_UNAVAIL); switch ((enum nss_ent_type)mdata) { case nss_set_ent: f = va_arg(ap,int); + if (st->fp == NULL) + st->fp = fopen(_PATH_SERVICES, "r"); + else + rewind(st->fp); + st->stayopen |= f; + (void)nsdispatch(retval, compat_dtab, NSDB_SERVICES_COMPAT, "setservent", compat_src, f); break; case nss_end_ent: + if (st->fp != NULL) { + fclose(st->fp); + st->fp = NULL; + } + st->stayopen = 0; (void)nsdispatch(retval, compat_dtab, NSDB_SERVICES_COMPAT, "endservent", compat_src); break; default: break; - } + }; + st->compat_mode_active = 0; return (NS_UNAVAIL); } ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_compat/compat_serv.h#3 (text+ko) ==== @@ -26,4 +26,5 @@ * $FreeBSD$ */ +extern int __compat_servent(void *, void *, va_list); extern int __compat_setservent(void *, void *, va_list); ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_compat/nss_compat.c#6 (text+ko) ==== @@ -34,13 +34,8 @@ #include "compat_passwd.h" #include "compat_group.h" #include "compat_serv.h" -#include "../nss_files/files_serv.h" #include "nss_compat.h" -static struct servent_mdata getservbyname_mdata = { nss_lt_name, 1 }; -static struct servent_mdata getservbyport_mdata = { nss_lt_id, 1 }; -static struct servent_mdata getservent_mdata = { nss_lt_all, 1 }; - static ns_mtab methods[] = { {NSDB_GROUP, "getgrnam_r", __compat_group, (void *)nss_lt_name}, {NSDB_GROUP, "getgrgid_r", __compat_group, (void *)nss_lt_id}, @@ -54,14 +49,13 @@ {NSDB_PASSWD, "endpwent", __compat_setpwent, (void *)nss_end_ent}, {NSDB_PASSWD, "setpwent", __compat_setpwent, (void *)nss_set_ent}, - {NSDB_SERVICES, "getservbyname_r", __files_servent, - (void *)&getservbyname_mdata}, - {NSDB_SERVICES, "getservbyport_r", __files_servent, - (void *)&getservbyport_mdata}, - {NSDB_SERVICES, "getservent_r", __files_servent, - (void *)&getservent_mdata}, + {NSDB_SERVICES, "getservbyname_r", __compat_servent, + (void *)nss_lt_name}, + {NSDB_SERVICES, "getservbyport_r", __compat_servent, + (void *)nss_lt_id}, + {NSDB_SERVICES, "getservent_r", __compat_servent, (void *)nss_lt_all}, {NSDB_SERVICES, "setservent", __compat_setservent, (void *)nss_set_ent}, - {NSDB_SERVICES, "endservent", __compat_setservent, (void *)nss_end_ent}, + {NSDB_SERVICES, "endservent", __compat_setservent, (void *)nss_end_ent} }; ns_mtab * ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_files/files_serv.c#5 (text+ko) ==== @@ -101,7 +101,6 @@ int rv; int stayopen; - struct servent_mdata *serv_mdata; char *name; char *proto; int port; @@ -119,8 +118,7 @@ name = NULL; proto = NULL; - serv_mdata = (struct servent_mdata *)mdata; - switch (serv_mdata->how) { + switch ((enum nss_lookup_type)mdata) { case nss_lt_name: name = va_arg(ap, char *); proto = va_arg(ap, char *); @@ -152,7 +150,7 @@ return (NS_UNAVAIL); } - if (serv_mdata->how == nss_lt_all) + if ((enum nss_lookup_type)mdata == nss_lt_all) stayopen = 1; else { rewind(st->fp); @@ -161,68 +159,36 @@ rv = NS_NOTFOUND; do { - if (!st->compat_mode_active) { - if ((line = fgetln(st->fp, &linesize)) == NULL) { - *errnop = errno; - rv = NS_RETURN; - break; - } + if ((line = fgetln(st->fp, &linesize)) == NULL) { + *errnop = errno; + rv = NS_RETURN; + break; + } + + if (*line=='+') + continue; - if (*line=='+') { - if (serv_mdata->compat_mode != 0) - st->compat_mode_active = 1; - } else { - if (bufsize <= linesize + _ALIGNBYTES + - sizeof(char *)) { - *errnop = ERANGE; - rv = NS_RETURN; - break; - } - aliases = (char **)_ALIGN(&buffer[linesize+1]); - aliases_size = (buffer + bufsize - - (char *)aliases) / sizeof(char *); - if (aliases_size < 1) { - *errnop = ERANGE; - rv = NS_RETURN; - break; - } - - memcpy(buffer, line, linesize); - buffer[linesize] = '\0'; - } + if (bufsize <= linesize + _ALIGNBYTES + + sizeof(char *)) { + *errnop = ERANGE; + rv = NS_RETURN; + break; } - - if (st->compat_mode_active != 0) { - switch (serv_mdata->how) { - case nss_lt_name: - rv = _nsdispatch(retval, compat_dtab, - NSDB_SERVICES_COMPAT, "getservbyname_r", - compat_src, name, proto, serv, buffer, - bufsize, errnop); - break; - case nss_lt_id: - rv = _nsdispatch(retval, compat_dtab, - NSDB_SERVICES_COMPAT, "getservbyport_r", - compat_src, port, proto, serv, buffer, - bufsize, errnop); - break; - case nss_lt_all: - rv = _nsdispatch(retval, compat_dtab, - NSDB_SERVICES_COMPAT, "getservent_r", - compat_src, serv, buffer, bufsize, errnop); - break; - } - - if (!(rv & NS_TERMINATE) || - serv_mdata->how != nss_lt_all) - st->compat_mode_active = 0; - - continue; + aliases = (char **)_ALIGN(&buffer[linesize+1]); + aliases_size = (buffer + bufsize - + (char *)aliases) / sizeof(char *); + if (aliases_size < 1) { + *errnop = ERANGE; + rv = NS_RETURN; + break; } + memcpy(buffer, line, linesize); + buffer[linesize] = '\0'; + rv = __servent_unpack(buffer, serv, aliases, aliases_size, errnop); - if (rv !=0 ) { + if (rv != 0 ) { if (*errnop == 0) { rv = NS_NOTFOUND; continue; ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_files/files_serv.h#3 (text+ko) ==== @@ -26,11 +26,5 @@ * $FreeBSD$ */ -struct servent_mdata -{ - enum nss_lookup_type how; - int compat_mode; -}; - extern int __files_servent(void *, void *, va_list); extern int __files_setservent(void *, void *, va_list); ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_files/nss_files.c#12 (text+ko) ==== @@ -45,10 +45,6 @@ #include "netdb_private.h" #include "nss_files.h" -static struct servent_mdata getservbyname_mdata = { nss_lt_name, 0 }; -static struct servent_mdata getservbyport_mdata = { nss_lt_id, 0 }; -static struct servent_mdata getservent_mdata = { nss_lt_all, 0 }; - static ns_mtab methods[] = { {NSDB_GROUP, "getgrnam_r", __files_group, (void *)nss_lt_name}, {NSDB_GROUP, "getgrgid_r", __files_group, (void *)nss_lt_id}, @@ -70,11 +66,9 @@ {NSDB_HOSTS_INTERNAL, "endhostent", __files_endhostent, NULL}, {NSDB_SERVICES, "getservbyname_r", __files_servent, - (void *)&getservbyname_mdata}, - {NSDB_SERVICES, "getservbyport_r", __files_servent, - (void *)&getservbyport_mdata}, - {NSDB_SERVICES, "getservent_r", __files_servent, - (void *)&getservent_mdata}, + (void *)nss_lt_name}, + {NSDB_SERVICES, "getservbyport_r", __files_servent, (void *)nss_lt_id}, + {NSDB_SERVICES, "getservent_r", __files_servent, (void *)nss_lt_all}, {NSDB_SERVICES, "setservent", __files_setservent, (void *)nss_set_ent}, {NSDB_SERVICES, "endservent", __files_setservent, (void *)nss_end_ent}, @@ -113,11 +107,11 @@ {NSDB_PASSWD_COMPAT, "setpwent", __files_setpwent, (void *)nss_set_ent}, {NSDB_SERVICES_COMPAT, "getservbyname_r", __files_servent, - (void *)&getservbyname_mdata}, + (void *)nss_lt_name}, {NSDB_SERVICES_COMPAT, "getservbyport_r", __files_servent, - (void *)&getservbyport_mdata}, + (void *)nss_lt_id}, {NSDB_SERVICES_COMPAT, "getservent_r", __files_servent, - (void *)&getservent_mdata}, + (void *)nss_lt_all}, {NSDB_SERVICES_COMPAT, "setservent", __files_setservent, (void *)nss_set_ent}, {NSDB_SERVICES_COMPAT, "endservent", __files_setservent, From owner-p4-projects@FreeBSD.ORG Tue Oct 31 13:46:46 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5A5FA16A412; Tue, 31 Oct 2006 13:46:46 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 16F6816A407 for ; Tue, 31 Oct 2006 13:46:46 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 30A2843D6D for ; Tue, 31 Oct 2006 13:46:44 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9VDkigD006214 for ; Tue, 31 Oct 2006 13:46:44 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9VDkiaD006211 for perforce@freebsd.org; Tue, 31 Oct 2006 13:46:44 GMT (envelope-from bushman@freebsd.org) Date: Tue, 31 Oct 2006 13:46:44 GMT Message-Id: <200610311346.k9VDkiaD006211@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 108819 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Oct 2006 13:46:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=108819 Change 108819 by bushman@bushman_nss_ldap_cached on 2006/10/31 13:46:28 Syntax error fixed. Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_files/files_serv.c#6 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_files/files_serv.c#6 (text+ko) ==== @@ -200,7 +200,7 @@ } rv = NS_NOTFOUND; - switch (serv_mdata->how) { + switch ((enum nss_lookup_type)mdata) { case nss_lt_name: if (strcmp(name, serv->s_name) == 0) goto gotname; From owner-p4-projects@FreeBSD.ORG Tue Oct 31 14:27:05 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 86BB916A4B3; Tue, 31 Oct 2006 14:27:05 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 44FA216A4A7 for ; Tue, 31 Oct 2006 14:27:05 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BCBF143DC2 for ; Tue, 31 Oct 2006 14:26:01 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9VEPa9R014995 for ; Tue, 31 Oct 2006 14:25:36 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9VEPYTS014987 for perforce@freebsd.org; Tue, 31 Oct 2006 14:25:34 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 31 Oct 2006 14:25:34 GMT Message-Id: <200610311425.k9VEPYTS014987@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 108821 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Oct 2006 14:27:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=108821 Change 108821 by rwatson@rwatson_zoo on 2006/10/31 14:25:16 Integrate TrustedBSD base branch: - options KSE - linux_aio backout - CAM_NEW_TRAN_CODE Affected files ... .. //depot/projects/trustedbsd/base/UPDATING#73 integrate .. //depot/projects/trustedbsd/base/bin/cp/cp.1#14 integrate .. //depot/projects/trustedbsd/base/bin/rm/rm.1#14 integrate .. //depot/projects/trustedbsd/base/bin/rm/rm.c#19 integrate .. //depot/projects/trustedbsd/base/contrib/bsnmp/snmp_mibII/mibII.c#12 integrate .. //depot/projects/trustedbsd/base/contrib/pf/man/pf.conf.5#8 integrate .. //depot/projects/trustedbsd/base/etc/defaults/rc.conf#62 integrate .. //depot/projects/trustedbsd/base/etc/network.subr#15 integrate .. //depot/projects/trustedbsd/base/etc/rc.firewall#8 integrate .. //depot/projects/trustedbsd/base/games/fortune/datfiles/fortunes#57 integrate .. //depot/projects/trustedbsd/base/lib/libc/gmon/Makefile.inc#5 integrate .. //depot/projects/trustedbsd/base/lib/libc/net/inet.3#7 integrate .. //depot/projects/trustedbsd/base/lib/libkvm/kvm_proc.c#29 integrate .. //depot/projects/trustedbsd/base/lib/libtacplus/libtacplus.3#6 integrate .. //depot/projects/trustedbsd/base/sbin/ggate/shared/ggate.c#7 integrate .. //depot/projects/trustedbsd/base/share/man/man4/ddb.4#13 integrate .. //depot/projects/trustedbsd/base/share/man/man4/fdc.4#8 integrate .. //depot/projects/trustedbsd/base/share/man/man4/sis.4#11 integrate .. //depot/projects/trustedbsd/base/share/man/man9/kobj.9#7 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/machdep.c#30 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/prof_machdep.c#4 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/trap.c#29 integrate .. //depot/projects/trustedbsd/base/sys/amd64/conf/DEFAULTS#5 integrate .. //depot/projects/trustedbsd/base/sys/amd64/conf/GENERIC#27 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/asmacros.h#7 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/profile.h#10 integrate .. //depot/projects/trustedbsd/base/sys/amd64/linux32/linux.h#6 integrate .. //depot/projects/trustedbsd/base/sys/amd64/linux32/linux32_dummy.c#6 integrate .. //depot/projects/trustedbsd/base/sys/amd64/linux32/linux32_proto.h#15 integrate .. //depot/projects/trustedbsd/base/sys/amd64/linux32/linux32_syscall.h#15 integrate .. //depot/projects/trustedbsd/base/sys/amd64/linux32/linux32_sysent.c#15 integrate .. //depot/projects/trustedbsd/base/sys/amd64/linux32/syscalls.master#15 integrate .. //depot/projects/trustedbsd/base/sys/arm/arm/elf_trampoline.c#8 integrate .. //depot/projects/trustedbsd/base/sys/arm/arm/trap.c#16 integrate .. //depot/projects/trustedbsd/base/sys/arm/at91/kb920x_machdep.c#9 integrate .. //depot/projects/trustedbsd/base/sys/arm/conf/EP80219#2 integrate .. //depot/projects/trustedbsd/base/sys/arm/conf/IQ31244#8 integrate .. //depot/projects/trustedbsd/base/sys/arm/conf/KB920X#6 integrate .. //depot/projects/trustedbsd/base/sys/arm/conf/SIMICS#9 integrate .. //depot/projects/trustedbsd/base/sys/arm/conf/SKYEYE#5 integrate .. //depot/projects/trustedbsd/base/sys/arm/sa11x0/assabet_machdep.c#10 integrate .. //depot/projects/trustedbsd/base/sys/arm/xscale/i80321/ep80219_machdep.c#3 integrate .. //depot/projects/trustedbsd/base/sys/arm/xscale/i80321/iq31244_machdep.c#13 integrate .. //depot/projects/trustedbsd/base/sys/boot/common/load_elf.c#12 integrate .. //depot/projects/trustedbsd/base/sys/boot/i386/boot2/boot2.c#26 integrate .. //depot/projects/trustedbsd/base/sys/boot/i386/libi386/elf32_freebsd.c#4 integrate .. //depot/projects/trustedbsd/base/sys/boot/i386/libi386/elf64_freebsd.c#6 integrate .. //depot/projects/trustedbsd/base/sys/boot/pc98/boot2/boot.c#7 integrate .. //depot/projects/trustedbsd/base/sys/cam/scsi/scsi_low.c#13 integrate .. //depot/projects/trustedbsd/base/sys/compat/linprocfs/linprocfs.c#37 integrate .. //depot/projects/trustedbsd/base/sys/compat/linux/linux_aio.c#2 delete .. //depot/projects/trustedbsd/base/sys/compat/linux/linux_aio.h#2 delete .. //depot/projects/trustedbsd/base/sys/compat/linux/linux_emul.c#6 integrate .. //depot/projects/trustedbsd/base/sys/compat/linux/linux_emul.h#3 integrate .. //depot/projects/trustedbsd/base/sys/compat/linux/linux_misc.c#49 integrate .. //depot/projects/trustedbsd/base/sys/compat/linux/linux_misc.h#1 branch .. //depot/projects/trustedbsd/base/sys/conf/files#107 integrate .. //depot/projects/trustedbsd/base/sys/conf/files.amd64#36 integrate .. //depot/projects/trustedbsd/base/sys/conf/files.i386#69 integrate .. //depot/projects/trustedbsd/base/sys/conf/files.pc98#58 integrate .. //depot/projects/trustedbsd/base/sys/conf/kern.post.mk#51 integrate .. //depot/projects/trustedbsd/base/sys/conf/kern.pre.mk#39 integrate .. //depot/projects/trustedbsd/base/sys/ddb/db_ps.c#28 integrate .. //depot/projects/trustedbsd/base/sys/dev/aac/aac_cam.c#17 integrate .. //depot/projects/trustedbsd/base/sys/dev/acpi_support/acpi_aiboost.c#1 branch .. //depot/projects/trustedbsd/base/sys/dev/advansys/advansys.c#11 integrate .. //depot/projects/trustedbsd/base/sys/dev/advansys/advlib.c#8 integrate .. //depot/projects/trustedbsd/base/sys/dev/advansys/adwcam.c#11 integrate .. //depot/projects/trustedbsd/base/sys/dev/aha/aha.c#14 integrate .. //depot/projects/trustedbsd/base/sys/dev/ahb/ahb.c#13 integrate .. //depot/projects/trustedbsd/base/sys/dev/aic/aic.c#8 integrate .. //depot/projects/trustedbsd/base/sys/dev/amd/amd.c#13 integrate .. //depot/projects/trustedbsd/base/sys/dev/amr/amr_cam.c#13 integrate .. //depot/projects/trustedbsd/base/sys/dev/arcmsr/arcmsr.c#8 integrate .. //depot/projects/trustedbsd/base/sys/dev/asr/asr.c#29 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/atapi-cam.c#25 integrate .. //depot/projects/trustedbsd/base/sys/dev/bce/if_bce.c#9 integrate .. //depot/projects/trustedbsd/base/sys/dev/ciss/ciss.c#35 integrate .. //depot/projects/trustedbsd/base/sys/dev/dc/if_dc.c#9 integrate .. //depot/projects/trustedbsd/base/sys/dev/dpt/dpt_scsi.c#15 integrate .. //depot/projects/trustedbsd/base/sys/dev/em/if_em.c#60 integrate .. //depot/projects/trustedbsd/base/sys/dev/em/if_em.h#36 integrate .. //depot/projects/trustedbsd/base/sys/dev/em/if_em_hw.c#21 integrate .. //depot/projects/trustedbsd/base/sys/dev/em/if_em_hw.h#22 integrate .. //depot/projects/trustedbsd/base/sys/dev/em/if_em_osdep.h#19 integrate .. //depot/projects/trustedbsd/base/sys/dev/esp/ncr53c9x.c#7 integrate .. //depot/projects/trustedbsd/base/sys/dev/firewire/sbp.c#32 integrate .. //depot/projects/trustedbsd/base/sys/dev/iir/iir.c#15 integrate .. //depot/projects/trustedbsd/base/sys/dev/isp/isp_freebsd.c#32 integrate .. //depot/projects/trustedbsd/base/sys/dev/mly/mly.c#18 integrate .. //depot/projects/trustedbsd/base/sys/dev/mpt/mpt_cam.c#13 integrate .. //depot/projects/trustedbsd/base/sys/dev/pci/pci.c#51 integrate .. //depot/projects/trustedbsd/base/sys/dev/pci/pci_pci.c#27 integrate .. //depot/projects/trustedbsd/base/sys/dev/pci/pcivar.h#20 integrate .. //depot/projects/trustedbsd/base/sys/dev/sound/pcm/dsp.c#25 integrate .. //depot/projects/trustedbsd/base/sys/dev/trm/trm.c#19 integrate .. //depot/projects/trustedbsd/base/sys/dev/twa/tw_osl_cam.c#7 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/ubsa.c#14 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/umass.c#47 integrate .. //depot/projects/trustedbsd/base/sys/dev/usb/usbdevs#57 integrate .. //depot/projects/trustedbsd/base/sys/fs/procfs/procfs_status.c#19 integrate .. //depot/projects/trustedbsd/base/sys/i386/conf/DEFAULTS#5 integrate .. //depot/projects/trustedbsd/base/sys/i386/conf/GENERIC#59 integrate .. //depot/projects/trustedbsd/base/sys/i386/conf/NOTES#73 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/machdep.c#65 integrate .. //depot/projects/trustedbsd/base/sys/i386/i386/trap.c#51 integrate .. //depot/projects/trustedbsd/base/sys/i386/include/asmacros.h#8 integrate .. //depot/projects/trustedbsd/base/sys/i386/include/profile.h#15 integrate .. //depot/projects/trustedbsd/base/sys/i386/isa/prof_machdep.c#8 integrate .. //depot/projects/trustedbsd/base/sys/i386/linux/linux.h#12 integrate .. //depot/projects/trustedbsd/base/sys/i386/linux/linux_dummy.c#13 integrate .. //depot/projects/trustedbsd/base/sys/i386/linux/linux_proto.h#28 integrate .. //depot/projects/trustedbsd/base/sys/i386/linux/linux_syscall.h#28 integrate .. //depot/projects/trustedbsd/base/sys/i386/linux/linux_sysent.c#29 integrate .. //depot/projects/trustedbsd/base/sys/i386/linux/syscalls.master#27 integrate .. //depot/projects/trustedbsd/base/sys/ia64/conf/DEFAULTS#5 integrate .. //depot/projects/trustedbsd/base/sys/ia64/conf/GENERIC#40 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia64/machdep.c#61 integrate .. //depot/projects/trustedbsd/base/sys/ia64/ia64/trap.c#43 integrate .. //depot/projects/trustedbsd/base/sys/kern/init_main.c#47 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_clock.c#35 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_fork.c#58 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_idle.c#18 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_intr.c#44 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_kse.c#12 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_poll.c#20 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_proc.c#53 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_resource.c#33 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_sig.c#66 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_subr.c#29 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_switch.c#39 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_synch.c#50 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_thr.c#23 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_thread.c#55 integrate .. //depot/projects/trustedbsd/base/sys/kern/kern_umtx.c#22 integrate .. //depot/projects/trustedbsd/base/sys/kern/sched_4bsd.c#28 integrate .. //depot/projects/trustedbsd/base/sys/kern/sched_ule.c#31 integrate .. //depot/projects/trustedbsd/base/sys/kern/subr_trap.c#41 integrate .. //depot/projects/trustedbsd/base/sys/kern/sys_process.c#35 integrate .. //depot/projects/trustedbsd/base/sys/kern/tty.c#37 integrate .. //depot/projects/trustedbsd/base/sys/kern/vfs_bio.c#62 integrate .. //depot/projects/trustedbsd/base/sys/modules/acpi/Makefile#23 integrate .. //depot/projects/trustedbsd/base/sys/modules/acpi/acpi_aiboost/Makefile#1 branch .. //depot/projects/trustedbsd/base/sys/modules/linux/Makefile#17 integrate .. //depot/projects/trustedbsd/base/sys/modules/powermac_nvram/Makefile#2 integrate .. //depot/projects/trustedbsd/base/sys/netinet/ip_dummynet.c#38 integrate .. //depot/projects/trustedbsd/base/sys/pc98/conf/DEFAULTS#5 integrate .. //depot/projects/trustedbsd/base/sys/pc98/conf/GENERIC#49 integrate .. //depot/projects/trustedbsd/base/sys/pc98/pc98/machdep.c#14 integrate .. //depot/projects/trustedbsd/base/sys/pci/if_sis.c#48 integrate .. //depot/projects/trustedbsd/base/sys/pci/ncr.c#18 integrate .. //depot/projects/trustedbsd/base/sys/posix4/ksched.c#15 integrate .. //depot/projects/trustedbsd/base/sys/powerpc/conf/DEFAULTS#3 integrate .. //depot/projects/trustedbsd/base/sys/powerpc/conf/GENERIC#33 integrate .. //depot/projects/trustedbsd/base/sys/powerpc/powerpc/machdep.c#39 integrate .. //depot/projects/trustedbsd/base/sys/powerpc/powerpc/trap.c#25 integrate .. //depot/projects/trustedbsd/base/sys/sparc64/conf/DEFAULTS#3 integrate .. //depot/projects/trustedbsd/base/sys/sparc64/conf/GENERIC#56 integrate .. //depot/projects/trustedbsd/base/sys/sparc64/include/endian.h#12 integrate .. //depot/projects/trustedbsd/base/sys/sparc64/sparc64/machdep.c#50 integrate .. //depot/projects/trustedbsd/base/sys/sparc64/sparc64/trap.c#38 integrate .. //depot/projects/trustedbsd/base/sys/sun4v/conf/DEFAULTS#2 integrate .. //depot/projects/trustedbsd/base/sys/sun4v/include/endian.h#2 integrate .. //depot/projects/trustedbsd/base/sys/sun4v/sun4v/machdep.c#2 integrate .. //depot/projects/trustedbsd/base/sys/sys/mac_policy.h#50 integrate .. //depot/projects/trustedbsd/base/sys/sys/param.h#61 integrate .. //depot/projects/trustedbsd/base/sys/sys/proc.h#78 integrate .. //depot/projects/trustedbsd/base/sys/sys/rtprio.h#6 integrate .. //depot/projects/trustedbsd/base/sys/sys/sched.h#14 integrate .. //depot/projects/trustedbsd/base/sys/sys/soundcard.h#11 integrate .. //depot/projects/trustedbsd/base/sys/vm/vm_glue.c#46 integrate .. //depot/projects/trustedbsd/base/sys/vm/vm_zeroidle.c#19 integrate .. //depot/projects/trustedbsd/base/tools/tools/tinybsd/README#2 integrate .. //depot/projects/trustedbsd/base/tools/tools/tinybsd/conf/bridge/tinybsd.localfiles#1 branch .. //depot/projects/trustedbsd/base/tools/tools/tinybsd/conf/default/tinybsd.localfiles#1 branch .. //depot/projects/trustedbsd/base/tools/tools/tinybsd/conf/firewall/tinybsd.localfiles#1 branch .. //depot/projects/trustedbsd/base/tools/tools/tinybsd/conf/minimal/tinybsd.localfiles#1 branch .. //depot/projects/trustedbsd/base/tools/tools/tinybsd/conf/vpn/tinybsd.localfiles#1 branch .. //depot/projects/trustedbsd/base/tools/tools/tinybsd/conf/wireless/tinybsd.localfiles#1 branch .. //depot/projects/trustedbsd/base/tools/tools/tinybsd/conf/wrap/tinybsd.localfiles#1 branch .. //depot/projects/trustedbsd/base/tools/tools/tinybsd/tinybsd#2 integrate .. //depot/projects/trustedbsd/base/usr.sbin/fwcontrol/Makefile#4 integrate .. //depot/projects/trustedbsd/base/usr.sbin/fwcontrol/fwcontrol.8#13 integrate .. //depot/projects/trustedbsd/base/usr.sbin/fwcontrol/fwcontrol.c#13 integrate .. //depot/projects/trustedbsd/base/usr.sbin/fwcontrol/fwdv.c#3 integrate .. //depot/projects/trustedbsd/base/usr.sbin/fwcontrol/fwmethods.h#1 branch .. //depot/projects/trustedbsd/base/usr.sbin/fwcontrol/fwmpegts.c#1 branch Differences ... ==== //depot/projects/trustedbsd/base/UPDATING#73 (text+ko) ==== @@ -21,6 +21,14 @@ developers choose to disable these features on build machines to maximize performance. +20061026: + KSE in the kernel has now been made optional and turned on by + default. Use 'nooption KSE' in your kernel config to turn it + off. All kernel modules *must* be recompiled after this change. + There-after, modules from a KSE kernel should be compatible with + modules from a NOKSE kernel due to the temporary padding fields + added to 'struct proc'. + 20060929: mrouted and its utilities have been removed from the base system. @@ -631,4 +639,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.460 2006/09/30 20:01:15 ru Exp $ +$FreeBSD: src/UPDATING,v 1.462 2006/10/26 22:05:24 jb Exp $ ==== //depot/projects/trustedbsd/base/bin/cp/cp.1#14 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)cp.1 8.3 (Berkeley) 4/18/94 -.\" $FreeBSD: src/bin/cp/cp.1,v 1.37 2006/10/24 18:42:42 trhodes Exp $ +.\" $FreeBSD: src/bin/cp/cp.1,v 1.38 2006/10/27 08:26:24 trhodes Exp $ .\" -.Dd October 24, 2006 +.Dd October 27, 2006 .Dt CP 1 .Os .Sh NAME @@ -255,23 +255,19 @@ is different from historical .Fx behavior. -Use -of this option +Use of this option is strongly discouraged as the behavior is implementation-dependent. -In this implementation of -.Nm , +In +.Fx , .Fl r -works alike +is a synonym for .Fl RL -thus all files, including special files, are copied -in a manner similar to normal files. -Data within these special files -will not be copied, only the file itself. +and works the same unless modified by other flags. Historical implemenations of .Fl r -differ as they could copy the internal contents of special +differ as they copy special files as normal files while recreating a hierarchy. .Pp The ==== //depot/projects/trustedbsd/base/bin/rm/rm.1#14 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)rm.1 8.5 (Berkeley) 12/5/94 -.\" $FreeBSD: src/bin/rm/rm.1,v 1.39 2005/11/17 12:15:23 ru Exp $ +.\" $FreeBSD: src/bin/rm/rm.1,v 1.40 2006/10/30 03:32:09 delphij Exp $ .\" -.Dd September 29, 2005 +.Dd October 30, 2006 .Dt RM 1 .Os .Sh NAME @@ -88,6 +88,8 @@ Overwrite regular files before deleting them. Files are overwritten three times, first with the byte pattern 0xff, then 0x00, and then 0xff again, before they are deleted. +Files with multiple links will not be overwritten. +.Pp Specifying this flag for a read only file will cause .Nm to generate an error message and exit. ==== //depot/projects/trustedbsd/base/bin/rm/rm.c#19 (text+ko) ==== @@ -39,7 +39,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/rm/rm.c,v 1.56 2006/10/18 13:16:06 maxim Exp $"); +__FBSDID("$FreeBSD: src/bin/rm/rm.c,v 1.57 2006/10/30 03:32:09 delphij Exp $"); #include #include @@ -400,6 +400,11 @@ } if (!S_ISREG(sbp->st_mode)) return (1); + if (sbp->st_nlink > 1) { + warnx("%s (inode %u): not overwritten due to multiple links", + file, sbp->st_ino); + return (1); + } if ((fd = open(file, O_WRONLY, 0)) == -1) goto err; if (fstatfs(fd, &fsb) == -1) ==== //depot/projects/trustedbsd/base/contrib/bsnmp/snmp_mibII/mibII.c#12 (text+ko) ==== @@ -26,12 +26,13 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Begemot: bsnmp/snmp_mibII/mibII.c,v 1.24 2006/02/14 09:04:18 brandt_h Exp $ + * $Begemot: mibII.c 516 2006-10-27 15:54:02Z brandt_h $ * * Implementation of the standard interfaces and ip MIB. */ #include "mibII.h" #include "mibII_oid.h" +#include #include @@ -376,16 +377,16 @@ u_int ticks; if ((ticks = mibif_force_hc_update_interval) == 0) { - if (mibif_maxspeed <= 10000000) { + if (mibif_maxspeed <= IF_Mbps(10)) { /* at 10Mbps overflow needs 3436 seconds */ ticks = 3000 * 100; /* 50 minutes */ - } else if (mibif_maxspeed <= 100000000) { + } else if (mibif_maxspeed <= IF_Mbps(100)) { /* at 100Mbps overflow needs 343 seconds */ ticks = 300 * 100; /* 5 minutes */ - } else if (mibif_maxspeed < 650000000) { + } else if (mibif_maxspeed < IF_Mbps(622)) { /* at 622Mbps overflow needs 53 seconds */ ticks = 40 * 100; /* 40 seconds */ - } else if (mibif_maxspeed <= 1000000000) { + } else if (mibif_maxspeed <= IF_Mbps(1000)) { /* at 1Gbps overflow needs 34 seconds */ ticks = 20 * 100; /* 20 seconds */ } else { ==== //depot/projects/trustedbsd/base/contrib/pf/man/pf.conf.5#8 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $FreeBSD: src/contrib/pf/man/pf.conf.5,v 1.9 2005/09/28 08:11:15 mlaier Exp $ +.\" $FreeBSD: src/contrib/pf/man/pf.conf.5,v 1.10 2006/10/30 15:15:37 mlaier Exp $ .\" $OpenBSD: pf.conf.5,v 1.292 2004/02/24 05:44:48 mcbride Exp $ .\" .\" Copyright (c) 2002, Daniel Hartmeier @@ -28,7 +28,7 @@ .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd February 7, 2005 +.Dd October 30, 2006 .Dt PF.CONF 5 .Os .Sh NAME @@ -2851,6 +2851,12 @@ for the moment. This workaround will still produce the LOR, but Giant will protect from the deadlock. +.Pp +Route labels are not supported by the +.Fx +.Xr route 4 +system. +Rules with a route label do not match any traffic. .Sh SEE ALSO .Xr altq 4 , .Xr icmp 4 , ==== //depot/projects/trustedbsd/base/etc/defaults/rc.conf#62 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.300 2006/10/15 15:55:00 ceri Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.301 2006/10/28 20:08:12 phk Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -104,6 +104,16 @@ firewall_quiet="NO" # Set to YES to suppress rule display firewall_logging="NO" # Set to YES to enable events logging firewall_flags="" # Flags passed to ipfw when type is a file +firewall_myservices="" # List of TCP ports on which this host + # offers services +firewall_allowservices="" # List of IPs which has access to + # $firewall_myservices +firewall_trusted="" # List of IPs which has full access to this host +firewall_logdeny="NO" # Set to YES to log default denied incoming + # packets. +firewall_nologports="135-139,445 1026,1027 1433,1434" # List of TCP/UDP ports + # for which denied incoming packets are not + # logged. ip_portrange_first="NO" # Set first dynamically allocated port ip_portrange_last="NO" # Set last dynamically allocated port ike_enable="NO" # Enable IKE daemon (usually racoon or isakmpd) ==== //depot/projects/trustedbsd/base/etc/network.subr#15 (text+ko) ==== @@ -22,7 +22,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/etc/network.subr,v 1.175 2006/10/07 15:45:56 ume Exp $ +# $FreeBSD: src/etc/network.subr,v 1.176 2006/10/29 13:29:49 mlaier Exp $ # # @@ -690,7 +690,7 @@ if [ ${rtsol_available} = yes -a ${rtsol_interface} = yes ] then case ${i} in - lo0|gif[0-9]*|stf[0-9]*|faith[0-9]*|lp[0-9]*|sl[0-9]*|tun[0-9]*) + lo0|gif[0-9]*|stf[0-9]*|faith[0-9]*|lp[0-9]*|sl[0-9]*|tun[0-9]*|pflog[0-9]*|pfsync[0-9]*) ;; *) rtsol_interfaces="${rtsol_interfaces} ${i}" ==== //depot/projects/trustedbsd/base/etc/rc.firewall#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/etc/rc.firewall,v 1.48 2005/11/18 02:23:59 ume Exp $ +# $FreeBSD: src/etc/rc.firewall,v 1.49 2006/10/28 20:08:12 phk Exp $ # # @@ -42,12 +42,14 @@ ############ # Define the firewall type in /etc/rc.conf. Valid values are: -# open - will allow anyone in -# client - will try to protect just this machine -# simple - will try to protect a whole network -# closed - totally disables IP services except via lo0 interface -# UNKNOWN - disables the loading of firewall rules. -# filename - will load the rules in the given filename (full path required) +# open - will allow anyone in +# client - will try to protect just this machine +# simple - will try to protect a whole network +# closed - totally disables IP services except via lo0 interface +# workstation - will try to protect just this machine using statefull +# firewalling. See below for rc.conf variables used +# UNKNOWN - disables the loading of firewall rules. +# filename - will load the rules in the given filename (full path required) # # For ``client'' and ``simple'' the entries below should be customized # appropriately. @@ -107,6 +109,8 @@ # ${fwcmd} -f flush +setup_loopback + ############ # Network Address Translation. All packets are passed to natd(8) # before they encounter your remaining rules. The firewall rules @@ -140,7 +144,6 @@ # case ${firewall_type} in [Oo][Pp][Ee][Nn]) - setup_loopback ${fwcmd} add 65000 pass all from any to any ;; @@ -155,8 +158,6 @@ mask="255.255.255.0" ip="192.0.2.1" - setup_loopback - # Allow any traffic to or from my own net. ${fwcmd} add pass all from ${ip} to ${net}:${mask} ${fwcmd} add pass all from ${net}:${mask} to ${ip} @@ -168,19 +169,19 @@ ${fwcmd} add pass all from any to any frag # Allow setup of incoming email - ${fwcmd} add pass tcp from any to ${ip} 25 setup + ${fwcmd} add pass tcp from any to me 25 setup # Allow setup of outgoing TCP connections only - ${fwcmd} add pass tcp from ${ip} to any setup + ${fwcmd} add pass tcp from me to any setup # Disallow setup of all other TCP connections ${fwcmd} add deny tcp from any to any setup # Allow DNS queries out in the world - ${fwcmd} add pass udp from ${ip} to any 53 keep-state + ${fwcmd} add pass udp from me to any 53 keep-state # Allow NTP queries out in the world - ${fwcmd} add pass udp from ${ip} to any 123 keep-state + ${fwcmd} add pass udp from me to any 123 keep-state # Everything else is denied by default, unless the # IPFIREWALL_DEFAULT_TO_ACCEPT option is set in your kernel @@ -206,8 +207,6 @@ imask="255.255.255.240" iip="192.0.2.17" - setup_loopback - # Stop spoofing ${fwcmd} add deny all from ${inet}:${imask} to any in via ${oif} ${fwcmd} add deny all from ${onet}:${omask} to any in via ${iif} @@ -289,8 +288,100 @@ # config file. ;; +[Ww][Oo][Rr][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn]) + # Configuration: + # firewall_myservices: List of TCP ports on which this host + # offers services. + # firewall_allowservices: List of IPs which has access to + # $firewall_myservices. + # firewall_trusted: List of IPs which has full access + # to this host. Be very carefull + # when setting this. This option can + # seriously degrade the level of + # protection provided by the firewall. + # firewall_logdeny: Boolean (YES/NO) specifying if the + # default denied packets should be + # logged (in /var/log/security). + # firewall_nologports: List of TCP/UDP ports for which + # denied incomming packets are not + # logged. + + # Allow packets for which a state has been built. + ${fwcmd} add check-state + + # For services permitted below. + ${fwcmd} add pass tcp from me to any established + + # Allow any connection out, adding state for each. + ${fwcmd} add pass tcp from me to any setup keep-state + ${fwcmd} add pass udp from me to any keep-state + ${fwcmd} add pass icmp from me to any keep-state + + # Allow DHCP. + ${fwcmd} add pass udp from 0.0.0.0 68 to 255.255.255.255 67 out + ${fwcmd} add pass udp from any 67 to me 68 in + ${fwcmd} add pass udp from any 67 to 255.255.255.255 68 in + # Some servers will ping the IP while trying to decide if it's + # still in use. + ${fwcmd} add pass icmp from any to any icmptype 8 + + # Allow "mandatory" ICMP in. + ${fwcmd} add pass icmp from any to any icmptype 3,4,11 + + # Add permits for this workstations published services below + # Only IPs and nets in firewall_allowservices is allowed in. + # If you really wish to let anyone use services on your + # workstation, then set "firewall_allowservices='any'" in /etc/rc.conf + # + # Note: We don't use keep-state as that would allow DoS of + # our statetable. + # You can add 'keep-state' to the lines for slightly + # better performance if you fell that DoS of your + # workstation won't be a problem. + # + for i in ${firewall_allowservices} ; do + for j in ${firewall_myservices} ; do + ${fwcmd} add pass tcp from $i to me $j + done + done + + # Allow all connections from trusted IPs. + # Playing with the content of firewall_trusted could seriously + # degrade the level of protection provided by the firewall. + for i in ${firewall_trusted} ; do + ${fwcmd} add pass ip from $i to me + done + + ${fwcmd} add 65000 count ip from any to any + + # Drop packets to ports where we don't want logging + for i in ${firewall_nologports} ; do + ${fwcmd} add deny { tcp or udp } from any to any $i in + done + + # Broadcasts and muticasts + ${fwcmd} add deny ip from any to 255.255.255.255 + ${fwcmd} add deny ip from any to 224.0.0.0/24 in # XXX + + # Noise from routers + ${fwcmd} add deny udp from any to any 520 in + + # Noise from webbrowsing. + # The statefull filter is a bit agressive, and will cause some + # connection teardowns to be logged. + ${fwcmd} add deny tcp from any 80,443 to any 1024-65535 in + + # Deny and (if wanted) log the rest unconditionally. + log="" + if [ ${firewall_logdeny:-x} = "YES" -o ${firewall_logdeny:-x} = "yes" ] ; then + log="log logamount 500" # The default of 100 is too low. + sysctl net.inet.ip.fw.verbose=1 >/dev/null + fi + ${fwcmd} add deny $log ip from any to any + ;; + [Cc][Ll][Oo][Ss][Ee][Dd]) - setup_loopback + ${fwcmd} add 65000 deny ip from any to any ;; [Uu][Nn][Kk][Nn][Oo][Ww][Nn]) ;; ==== //depot/projects/trustedbsd/base/games/fortune/datfiles/fortunes#57 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.229 2006/10/23 13:25:17 phk Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.230 2006/10/30 12:01:57 keramida Exp $ % ======================================================================= @@ -22147,7 +22147,7 @@ There are not stars enough in heaven. % Here at the Phone Company, we serve all kinds of people; -from President's and Kings to the scum of the earth... +from Presidents and Kings to the scum of the earth... % Here comes the orator, with his flood of words and his drop of reason. % ==== //depot/projects/trustedbsd/base/lib/libc/gmon/Makefile.inc#5 (text+ko) ==== @@ -1,5 +1,5 @@ # from @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 -# $FreeBSD: src/lib/libc/gmon/Makefile.inc,v 1.11 2006/03/13 01:14:56 deischen Exp $ +# $FreeBSD: src/lib/libc/gmon/Makefile.inc,v 1.12 2006/10/28 13:34:35 bde Exp $ # gmon sources .PATH: ${.CURDIR}/gmon @@ -12,12 +12,6 @@ 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/trustedbsd/base/lib/libc/net/inet.3#7 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)inet.3 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/net/inet.3,v 1.30 2005/02/13 22:25:12 ru Exp $ +.\" $FreeBSD: src/lib/libc/net/inet.3,v 1.31 2006/10/28 13:05:10 ru Exp $ .\" .Dd June 14, 2004 .Dt INET 3 @@ -299,5 +299,7 @@ .Fn inet_ntoa resides in a static memory area. .Pp -Inet_addr should return a +The +.Fn inet_addr +function should return a .Fa struct in_addr . ==== //depot/projects/trustedbsd/base/lib/libkvm/kvm_proc.c#29 (text+ko) ==== @@ -42,7 +42,7 @@ #endif #include -__FBSDID("$FreeBSD: src/lib/libkvm/kvm_proc.c,v 1.88 2006/07/25 22:39:57 yar Exp $"); +__FBSDID("$FreeBSD: src/lib/libkvm/kvm_proc.c,v 1.89 2006/10/26 21:42:16 jb Exp $"); /* * Proc traversal interface for kvm. ps and w are (probably) the exclusive @@ -114,7 +114,7 @@ struct prison pr; struct thread mtd; /*struct kse mke;*/ - struct ksegrp mkg; + /*struct ksegrp mkg;*/ struct proc proc; struct proc pproc; struct timeval tv; @@ -137,6 +137,7 @@ TAILQ_FIRST(&proc.p_threads)); return (-1); } +#if 0 if ((proc.p_flag & P_SA) == 0) { if (KREAD(kd, (u_long)TAILQ_FIRST(&proc.p_ksegrps), @@ -146,7 +147,6 @@ TAILQ_FIRST(&proc.p_ksegrps)); return (-1); } -#if 0 if (KREAD(kd, (u_long)TAILQ_FIRST(&mkg.kg_kseq), &mke)) { _kvm_err(kd, kd->program, @@ -154,8 +154,8 @@ TAILQ_FIRST(&mkg.kg_kseq)); return (-1); } + } #endif - } } if (KREAD(kd, (u_long)proc.p_ucred, &ucred) == 0) { kp->ki_ruid = ucred.cr_ruid; @@ -425,13 +425,13 @@ kp->ki_oncpu = mtd.td_oncpu; if (!(proc.p_flag & P_SA)) { +#if 0 /* stuff from the ksegrp */ kp->ki_slptime = mkg.kg_slptime; kp->ki_pri.pri_class = mkg.kg_pri_class; kp->ki_pri.pri_user = mkg.kg_user_pri; kp->ki_estcpu = mkg.kg_estcpu; -#if 0 /* Stuff from the kse */ kp->ki_pctcpu = mke.ke_pctcpu; kp->ki_rqindex = mke.ke_rqindex; ==== //depot/projects/trustedbsd/base/lib/libtacplus/libtacplus.3#6 (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/libtacplus/libtacplus.3,v 1.13 2004/07/02 23:52:19 ru Exp $ +.\" $FreeBSD: src/lib/libtacplus/libtacplus.3,v 1.14 2006/10/28 10:53:39 maxim Exp $ .\" .Dd September 2, 1998 .Dt LIBTACPLUS 3 @@ -450,7 +450,7 @@ .It .Fn tac_get_av .It -.Fn tac_get_av_pair +.Fn tac_get_av_value .It .Fn tac_get_data .It ==== //depot/projects/trustedbsd/base/sbin/ggate/shared/ggate.c#7 (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/ggate/shared/ggate.c,v 1.5 2005/07/08 21:28:26 pjd Exp $ + * $FreeBSD: src/sbin/ggate/shared/ggate.c,v 1.6 2006/10/30 18:29:24 pjd Exp $ */ #include @@ -250,8 +250,12 @@ ssize_t g_gate_recv(int s, void *buf, size_t len, int flags) { + ssize_t done; - return (recv(s, buf, len, flags)); + do { + done = recv(s, buf, len, flags); + } while (done == -1 && errno == EAGAIN); + return (done); } int nagle = 1; @@ -280,7 +284,7 @@ bsize = sndbuf; if (setsockopt(sfd, SOL_SOCKET, SO_SNDBUF, &bsize, sizeof(bsize)) == -1) g_gate_xlog("setsockopt(SO_SNDBUF): %s.", strerror(errno)); - tv.tv_sec = 1; + tv.tv_sec = 8; tv.tv_usec = 0; if (setsockopt(sfd, SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(tv)) == -1) { g_gate_log(LOG_ERR, "setsockopt(SO_SNDTIMEO) error: %s.", ==== //depot/projects/trustedbsd/base/share/man/man4/ddb.4#13 (text+ko) ==== @@ -57,9 +57,9 @@ .\" Created. .\" [90/08/30 dbg] .\" -.\" $FreeBSD: src/share/man/man4/ddb.4,v 1.40 2006/10/11 07:07:31 ru Exp $ +.\" $FreeBSD: src/share/man/man4/ddb.4,v 1.41 2006/10/30 12:55:06 ru Exp $ .\" -.Dd October 10, 2006 +.Dd October 27, 2006 .Dt DDB 4 .Os .Sh NAME @@ -444,22 +444,22 @@ .Pp .It Xo .Ic trace Ns Op Li / Ns Cm u -.Op Ar frame +.Op Ar pid | tid .Op Li , Ns Ar count .Xc .It Xo .Ic t Ns Op Li / Ns Cm u -.Op Ar frame +.Op Ar pid | tid .Op Li , Ns Ar count .Xc .It Xo .Ic where Ns Op Li / Ns Cm u -.Op Ar frame +.Op Ar pid | tid .Op Li , Ns Ar count .Xc .It Xo .Ic bt Ns Op Li / Ns Cm u -.Op Ar frame +.Op Ar pid | tid .Op Li , Ns Ar count .Xc Stack trace. ==== //depot/projects/trustedbsd/base/share/man/man4/fdc.4#8 (text+ko) ==== @@ -25,9 +25,9 @@ .\" (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/share/man/man4/fdc.4,v 1.35 2006/05/11 17:23:03 keramida Exp $ +.\" $FreeBSD: src/share/man/man4/fdc.4,v 1.36 2006/10/30 16:43:42 keramida Exp $ .\" -.Dd July 15, 2004 +.Dd May 11, 2006 .Dt FDC 4 .Os .Sh NAME ==== //depot/projects/trustedbsd/base/share/man/man4/sis.4#11 (text+ko) ==== @@ -28,9 +28,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF .\" THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/sis.4,v 1.23 2006/10/21 18:04:42 ru Exp $ +.\" $FreeBSD: src/share/man/man4/sis.4,v 1.24 2006/10/28 07:26:50 brueffer Exp $ .\" -.Dd October 13, 2006 +.Dd October 28, 2006 .Dt SIS 4 .Os .Sh NAME @@ -143,7 +143,7 @@ .It SiS 630, 635, and 735 motherboard chipsets .It -Soekris Engineering net45xx, lan1621, and lan1641 +Soekris Engineering net45xx, net48xx, lan1621, and lan1641 .El .Sh DIAGNOSTICS .Bl -diag ==== //depot/projects/trustedbsd/base/share/man/man9/kobj.9#7 (text+ko) ==== @@ -26,7 +26,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/share/man/man9/kobj.9,v 1.16 2005/06/28 20:15:18 hmp Exp $ +.\" $FreeBSD: src/share/man/man9/kobj.9,v 1.17 2006/10/28 10:57:35 maxim Exp $ .\" .Dd April 4, 2000 .Dt KOBJ 9 @@ -83,7 +83,7 @@ specified by the class and initialise it by zeroing the memory and installing a pointer to the class' method dispatch table. Objects created in this way should be freed by calling -.Fn kobj_free . +.Fn kobj_delete . .Pp Clients which would like to manage the allocation of memory themselves should call ==== //depot/projects/trustedbsd/base/sys/amd64/amd64/machdep.c#30 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.656 2006/10/12 12:48:21 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.657 2006/10/26 21:42:16 jb Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -1120,7 +1120,11 @@ * This may be done better later if it gets more high level * components in it. If so just link td->td_proc here. */ +#ifdef KSE proc_linkup(&proc0, &ksegrp0, &thread0); +#else + proc_linkup(&proc0, &thread0); +#endif preload_metadata = (caddr_t)(uintptr_t)(modulep + KERNBASE); preload_bootstrap_relocate(KERNBASE); ==== //depot/projects/trustedbsd/base/sys/amd64/amd64/prof_machdep.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/prof_machdep.c,v 1.24 2005/05/14 09:10:00 nyan Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/prof_machdep.c,v 1.28 2006/10/29 09:48:44 bde Exp $"); #ifdef GUPROF #if 0 @@ -37,20 +37,15 @@ #include #include #include +#include #include #include #if 0 #include #endif -#include -#undef MCOUNT -#endif - -#include #include -#ifdef GUPROF #define CPUTIME_CLOCK_UNINITIALIZED 0 #define CPUTIME_CLOCK_I8254 1 #define CPUTIME_CLOCK_TSC 2 @@ -60,7 +55,7 @@ int cputime_bias = 1; /* initialize for locality of reference */ static int cputime_clock = CPUTIME_CLOCK_UNINITIALIZED; -#ifdef I586_PMC_GUPROF +#if defined(PERFMON) && defined(I586_PMC_GUPROF) static u_int cputime_clock_pmc_conf = I586_PMC_GUPROF; static int cputime_clock_pmc_init; static struct gmonparam saved_gmp; @@ -80,7 +75,7 @@ # \n\ # Check that we are profiling. Do it early for speed. \n\ # \n\ - cmpl $GMON_PROF_OFF," __XSTRING(CNAME(_gmonparam)) "+GM_STATE \n\ + cmpl $GMON_PROF_OFF,_gmonparam+GM_STATE \n\ je .mcount_exit \n\ # \n\ # __mcount is the same as [.]mcount except the caller \n\ @@ -98,11 +93,11 @@ jmp .got_frompc \n\ \n\ .p2align 4,0x90 \n\ - .globl " __XSTRING(HIDENAME(mcount)) " \n\ -" __XSTRING(HIDENAME(mcount)) ": \n\ + .globl .mcount \n\ +.mcount: \n\ .globl __cyg_profile_func_enter \n\ __cyg_profile_func_enter: \n\ - cmpl $GMON_PROF_OFF," __XSTRING(CNAME(_gmonparam)) "+GM_STATE \n\ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Oct 31 14:28:00 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 85B4716A50C; Tue, 31 Oct 2006 14:28:00 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 5E58716A47E for ; Tue, 31 Oct 2006 14:28:00 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A072C43D55 for ; Tue, 31 Oct 2006 14:27:47 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9VERebr015425 for ; Tue, 31 Oct 2006 14:27:40 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9VERdtX015416 for perforce@freebsd.org; Tue, 31 Oct 2006 14:27:39 GMT (envelope-from millert@freebsd.org) Date: Tue, 31 Oct 2006 14:27:39 GMT Message-Id: <200610311427.k9VERdtX015416@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 108822 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Oct 2006 14:28:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=108822 Change 108822 by millert@millert_macbook on 2006/10/31 14:27:28 Update to latest selinux kernel code, binary policy version 21. Adds support for range transitions on object classes. We don't compile linux-specific netlabel or audit code. Based on kernel/git/jmorris/selinux-2.6.20.git as of 26 Oct. 2006. Affected files ... .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/avc/avc-selinux.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/avc/avc.c#5 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/linux-compat.h#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/sebsd_alloc.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/sebsd_alloc.h#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/ss/context.h#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/ss/ebitmap.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/ss/ebitmap.h#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/ss/init.c#3 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/ss/mls.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/ss/mls.h#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/ss/policydb.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/ss/policydb.h#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/ss/security.h#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/ss/services.c#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/ss/services.h#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/avc/avc-selinux.c#2 (text+ko) ==== @@ -4,6 +4,9 @@ * Authors: Stephen Smalley, * James Morris * + * Update: KaiGai, Kohei + * Replaced the avc_lock spinlock by RCU. + * * Copyright (C) 2003 Red Hat, Inc., James Morris * * This program is free software; you can redistribute it and/or modify @@ -18,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -27,35 +31,77 @@ #include #include "avc.h" #include "avc_ss.h" -#ifdef CONFIG_AUDIT + +static const struct av_perm_to_string +{ + u16 tclass; + u32 value; + const char *name; +} av_perm_to_string[] = { +#define S_(c, v, s) { c, v, s }, +#include "av_perm_to_string.h" +#undef S_ +}; + +static const char *class_to_string[] = { +#define S_(s) s, #include "class_to_string.h" -#endif +#undef S_ +}; + +#define TB_(s) static const char * s [] = { +#define TE_(s) }; +#define S_(s) s, #include "common_perm_to_string.h" +#undef TB_ +#undef TE_ +#undef S_ + +static const struct av_inherit +{ + u16 tclass; + const char **common_pts; + u32 common_base; +} av_inherit[] = { +#define S_(c, i, b) { c, common_##i##_perm_to_string, b }, #include "av_inherit.h" -#include "av_perm_to_string.h" -#include "objsec.h" +#undef S_ +}; + +#define AVC_CACHE_SLOTS 512 +#define AVC_DEF_CACHE_THRESHOLD 512 +#define AVC_CACHE_RECLAIM 16 -#define AVC_CACHE_SLOTS 512 -#define AVC_CACHE_MAXNODES 410 +#ifdef CONFIG_SECURITY_SELINUX_AVC_STATS +#define avc_cache_stats_incr(field) \ +do { \ + per_cpu(avc_cache_stats, get_cpu()).field++; \ + put_cpu(); \ +} while (0) +#else +#define avc_cache_stats_incr(field) do {} while (0) +#endif struct avc_entry { u32 ssid; u32 tsid; u16 tclass; struct av_decision avd; - int used; /* used recently */ + atomic_t used; /* used recently */ }; struct avc_node { struct avc_entry ae; - struct avc_node *next; + struct list_head list; + struct rcu_head rhead; }; struct avc_cache { - struct avc_node *slots[AVC_CACHE_SLOTS]; - u32 lru_hint; /* LRU hint for reclaim scan */ - u32 active_nodes; - u32 latest_notif; /* latest revocation notification */ + struct list_head slots[AVC_CACHE_SLOTS]; + spinlock_t slots_lock[AVC_CACHE_SLOTS]; /* lock for writes */ + atomic_t lru_hint; /* LRU hint for reclaim scan */ + atomic_t active_nodes; + u32 latest_notif; /* latest revocation notification */ }; struct avc_callback_node { @@ -70,43 +116,30 @@ struct avc_callback_node *next; }; -static spinlock_t avc_lock = SPIN_LOCK_UNLOCKED; -static struct avc_node *avc_node_freelist; +/* Exported via selinufs */ +unsigned int avc_cache_threshold = AVC_DEF_CACHE_THRESHOLD; + +#ifdef CONFIG_SECURITY_SELINUX_AVC_STATS +DEFINE_PER_CPU(struct avc_cache_stats, avc_cache_stats) = { 0 }; +#endif + static struct avc_cache avc_cache; -static unsigned avc_cache_stats[AVC_NSTATS]; static struct avc_callback_node *avc_callbacks; +static kmem_cache_t *avc_node_cachep; static inline int avc_hash(u32 ssid, u32 tsid, u16 tclass) { return (ssid ^ (tsid<<2) ^ (tclass<<4)) & (AVC_CACHE_SLOTS - 1); } -#ifdef AVC_CACHE_STATS -static inline void avc_cache_stats_incr(int type) -{ - avc_cache_stats[type]++; -} - -static inline void avc_cache_stats_add(int type, unsigned val) -{ - avc_cache_stats[type] += val; -} -#else -static inline void avc_cache_stats_incr(int type) -{ } - -static inline void avc_cache_stats_add(int type, unsigned val) -{ } -#endif - /** * avc_dump_av - Display an access vector in human-readable form. * @tclass: target security class * @av: access vector */ -void avc_dump_av(struct audit_buffer *ab, u16 tclass, u32 av) +static void avc_dump_av(struct audit_buffer *ab, u16 tclass, u32 av) { - char **common_pts = NULL; + const char **common_pts = NULL; u32 common_base = 0; int i, i2, perm; @@ -127,8 +160,10 @@ i = 0; perm = 1; while (perm < common_base) { - if (perm & av) + if (perm & av) { audit_log_format(ab, " %s", common_pts[i]); + av &= ~perm; + } i++; perm <<= 1; } @@ -140,14 +175,19 @@ (av_perm_to_string[i2].value == perm)) break; } - if (i2 < ARRAY_SIZE(av_perm_to_string)) + if (i2 < ARRAY_SIZE(av_perm_to_string)) { audit_log_format(ab, " %s", av_perm_to_string[i2].name); + av &= ~perm; + } } i++; perm <<= 1; } + if (av) + audit_log_format(ab, " 0x%x", av); + audit_log_format(ab, " }"); } @@ -157,7 +197,7 @@ * @tsid: target security identifier * @tclass: target security class */ -void avc_dump_query(struct audit_buffer *ab, u32 ssid, u32 tsid, u16 tclass) +static void avc_dump_query(struct audit_buffer *ab, u32 ssid, u32 tsid, u16 tclass) { int rc; char *scontext; @@ -188,155 +228,161 @@ */ void __init avc_init(void) { - struct avc_node *new; int i; - for (i = 0; i < AVC_CACHE_MAXNODES; i++) { - new = kmalloc(sizeof(*new), GFP_ATOMIC); - if (!new) { - printk(KERN_WARNING "avc: only able to allocate " - "%d entries\n", i); - break; - } - memset(new, 0, sizeof(*new)); - new->next = avc_node_freelist; - avc_node_freelist = new; + for (i = 0; i < AVC_CACHE_SLOTS; i++) { + INIT_LIST_HEAD(&avc_cache.slots[i]); + spin_lock_init(&avc_cache.slots_lock[i]); } + atomic_set(&avc_cache.active_nodes, 0); + atomic_set(&avc_cache.lru_hint, 0); - audit_log(current->audit_context, "AVC INITIALIZED\n"); + avc_node_cachep = kmem_cache_create("avc_node", sizeof(struct avc_node), + 0, SLAB_PANIC, NULL, NULL); + + audit_log(current->audit_context, GFP_KERNEL, AUDIT_KERNEL, "AVC INITIALIZED\n"); } -#if 0 -static void avc_hash_eval(char *tag) +int avc_get_hash_stats(char *page) { int i, chain_len, max_chain_len, slots_used; struct avc_node *node; - unsigned long flags; - spin_lock_irqsave(&avc_lock,flags); + rcu_read_lock(); slots_used = 0; max_chain_len = 0; for (i = 0; i < AVC_CACHE_SLOTS; i++) { - node = avc_cache.slots[i]; - if (node) { + if (!list_empty(&avc_cache.slots[i])) { slots_used++; chain_len = 0; - while (node) { + list_for_each_entry_rcu(node, &avc_cache.slots[i], list) chain_len++; - node = node->next; - } if (chain_len > max_chain_len) max_chain_len = chain_len; } } - spin_unlock_irqrestore(&avc_lock,flags); + rcu_read_unlock(); - printk(KERN_INFO "\n"); - printk(KERN_INFO "%s avc: %d entries and %d/%d buckets used, longest " - "chain length %d\n", tag, avc_cache.active_nodes, slots_used, - AVC_CACHE_SLOTS, max_chain_len); + return scnprintf(page, PAGE_SIZE, "entries: %d\nbuckets used: %d/%d\n" + "longest chain: %d\n", + atomic_read(&avc_cache.active_nodes), + slots_used, AVC_CACHE_SLOTS, max_chain_len); } -#else -static inline void avc_hash_eval(char *tag) -{ } -#endif -static inline struct avc_node *avc_reclaim_node(void) +static void avc_node_free(struct rcu_head *rhead) { - struct avc_node *prev, *cur; - int hvalue, try; + struct avc_node *node = container_of(rhead, struct avc_node, rhead); + kmem_cache_free(avc_node_cachep, node); + avc_cache_stats_incr(frees); +} - hvalue = avc_cache.lru_hint; - for (try = 0; try < 2; try++) { - do { - prev = NULL; - cur = avc_cache.slots[hvalue]; - while (cur) { - if (!cur->ae.used) - goto found; +static void avc_node_delete(struct avc_node *node) +{ + list_del_rcu(&node->list); + call_rcu(&node->rhead, avc_node_free); + atomic_dec(&avc_cache.active_nodes); +} - cur->ae.used = 0; +static void avc_node_kill(struct avc_node *node) +{ + kmem_cache_free(avc_node_cachep, node); + avc_cache_stats_incr(frees); + atomic_dec(&avc_cache.active_nodes); +} - prev = cur; - cur = cur->next; - } - hvalue = (hvalue + 1) & (AVC_CACHE_SLOTS - 1); - } while (hvalue != avc_cache.lru_hint); - } +static void avc_node_replace(struct avc_node *new, struct avc_node *old) +{ + list_replace_rcu(&old->list, &new->list); + call_rcu(&old->rhead, avc_node_free); + atomic_dec(&avc_cache.active_nodes); +} - panic("avc_reclaim_node"); +static inline int avc_reclaim_node(void) +{ + struct avc_node *node; + int hvalue, try, ecx; + unsigned long flags; -found: - avc_cache.lru_hint = hvalue; + for (try = 0, ecx = 0; try < AVC_CACHE_SLOTS; try++ ) { + hvalue = atomic_inc_return(&avc_cache.lru_hint) & (AVC_CACHE_SLOTS - 1); - if (prev == NULL) - avc_cache.slots[hvalue] = cur->next; - else - prev->next = cur->next; + if (!spin_trylock_irqsave(&avc_cache.slots_lock[hvalue], flags)) + continue; - return cur; + list_for_each_entry(node, &avc_cache.slots[hvalue], list) { + if (atomic_dec_and_test(&node->ae.used)) { + /* Recently Unused */ + avc_node_delete(node); + avc_cache_stats_incr(reclaims); + ecx++; + if (ecx >= AVC_CACHE_RECLAIM) { + spin_unlock_irqrestore(&avc_cache.slots_lock[hvalue], flags); + goto out; + } + } + } + spin_unlock_irqrestore(&avc_cache.slots_lock[hvalue], flags); + } +out: + return ecx; } -static inline struct avc_node *avc_claim_node(u32 ssid, - u32 tsid, u16 tclass) +static struct avc_node *avc_alloc_node(void) { - struct avc_node *new; - int hvalue; + struct avc_node *node; + + node = kmem_cache_alloc(avc_node_cachep, SLAB_ATOMIC); + if (!node) + goto out; - hvalue = avc_hash(ssid, tsid, tclass); - if (avc_node_freelist) { - new = avc_node_freelist; - avc_node_freelist = avc_node_freelist->next; - avc_cache.active_nodes++; - } else { - new = avc_reclaim_node(); - if (!new) - goto out; - } + memset(node, 0, sizeof(*node)); + INIT_RCU_HEAD(&node->rhead); + INIT_LIST_HEAD(&node->list); + atomic_set(&node->ae.used, 1); + avc_cache_stats_incr(allocations); - new->ae.used = 1; - new->ae.ssid = ssid; - new->ae.tsid = tsid; - new->ae.tclass = tclass; - new->next = avc_cache.slots[hvalue]; - avc_cache.slots[hvalue] = new; + if (atomic_inc_return(&avc_cache.active_nodes) > avc_cache_threshold) + avc_reclaim_node(); out: - return new; + return node; +} + +static void avc_node_populate(struct avc_node *node, u32 ssid, u32 tsid, u16 tclass, struct avc_entry *ae) +{ + node->ae.ssid = ssid; + node->ae.tsid = tsid; + node->ae.tclass = tclass; + memcpy(&node->ae.avd, &ae->avd, sizeof(node->ae.avd)); } -static inline struct avc_node *avc_search_node(u32 ssid, u32 tsid, - u16 tclass, int *probes) +static inline struct avc_node *avc_search_node(u32 ssid, u32 tsid, u16 tclass) { - struct avc_node *cur; + struct avc_node *node, *ret = NULL; int hvalue; - int tprobes = 1; hvalue = avc_hash(ssid, tsid, tclass); - cur = avc_cache.slots[hvalue]; - while (cur != NULL && - (ssid != cur->ae.ssid || - tclass != cur->ae.tclass || - tsid != cur->ae.tsid)) { - tprobes++; - cur = cur->next; + list_for_each_entry_rcu(node, &avc_cache.slots[hvalue], list) { + if (ssid == node->ae.ssid && + tclass == node->ae.tclass && + tsid == node->ae.tsid) { + ret = node; + break; + } } - if (cur == NULL) { + if (ret == NULL) { /* cache miss */ goto out; } /* cache hit */ - if (probes) - *probes = tprobes; - - cur->ae.used = 1; - + if (atomic_read(&ret->ae.used) != 1) + atomic_set(&ret->ae.used, 1); out: - return cur; + return ret; } /** @@ -345,36 +391,52 @@ * @tsid: target security identifier * @tclass: target security class * @requested: requested permissions, interpreted based on @tclass - * @aeref: AVC entry reference * * Look up an AVC entry that is valid for the * @requested permissions between the SID pair * (@ssid, @tsid), interpreting the permissions * based on @tclass. If a valid AVC entry exists, - * then this function updates @aeref to refer to the - * entry and returns %0. Otherwise, this function - * returns -%ENOENT. + * then this function return the avc_node. + * Otherwise, this function returns NULL. */ -int avc_lookup(u32 ssid, u32 tsid, u16 tclass, - u32 requested, struct avc_entry_ref *aeref) +static struct avc_node *avc_lookup(u32 ssid, u32 tsid, u16 tclass, u32 requested) { struct avc_node *node; - int probes, rc = 0; - avc_cache_stats_incr(AVC_CAV_LOOKUPS); - node = avc_search_node(ssid, tsid, tclass,&probes); + avc_cache_stats_incr(lookups); + node = avc_search_node(ssid, tsid, tclass); if (node && ((node->ae.avd.decided & requested) == requested)) { - avc_cache_stats_incr(AVC_CAV_HITS); - avc_cache_stats_add(AVC_CAV_PROBES,probes); - aeref->ae = &node->ae; + avc_cache_stats_incr(hits); goto out; } - avc_cache_stats_incr(AVC_CAV_MISSES); - rc = -ENOENT; + node = NULL; + avc_cache_stats_incr(misses); out: - return rc; + return node; +} + +static int avc_latest_notif_update(int seqno, int is_insert) +{ + int ret = 0; + static DEFINE_SPINLOCK(notif_lock); + unsigned long flag; + + spin_lock_irqsave(¬if_lock, flag); + if (is_insert) { + if (seqno < avc_cache.latest_notif) { + printk(KERN_WARNING "avc: seqno %d < latest_notif %d\n", + seqno, avc_cache.latest_notif); + ret = -EAGAIN; + } + } else { + if (seqno > avc_cache.latest_notif) + avc_cache.latest_notif = seqno; + } + spin_unlock_irqrestore(¬if_lock, flag); + + return ret; } /** @@ -383,7 +445,6 @@ * @tsid: target security identifier * @tclass: target security class * @ae: AVC entry - * @aeref: AVC entry reference * * Insert an AVC entry for the SID pair * (@ssid, @tsid) and class @tclass. @@ -392,55 +453,55 @@ * response to a security_compute_av() call. If the * sequence number @ae->avd.seqno is not less than the latest * revocation notification, then the function copies - * the access vectors into a cache entry, updates - * @aeref to refer to the entry, and returns %0. - * Otherwise, this function returns -%EAGAIN. + * the access vectors into a cache entry, returns + * avc_node inserted. Otherwise, this function returns NULL. */ -int avc_insert(u32 ssid, u32 tsid, u16 tclass, - struct avc_entry *ae, struct avc_entry_ref *aeref) +static struct avc_node *avc_insert(u32 ssid, u32 tsid, u16 tclass, struct avc_entry *ae) { - struct avc_node *node; - int rc = 0; + struct avc_node *pos, *node = NULL; + int hvalue; + unsigned long flag; - if (ae->avd.seqno < avc_cache.latest_notif) { - printk(KERN_WARNING "avc: seqno %d < latest_notif %d\n", - ae->avd.seqno, avc_cache.latest_notif); - rc = -EAGAIN; + if (avc_latest_notif_update(ae->avd.seqno, 1)) goto out; - } + + node = avc_alloc_node(); + if (node) { + hvalue = avc_hash(ssid, tsid, tclass); + avc_node_populate(node, ssid, tsid, tclass, ae); - node = avc_claim_node(ssid, tsid, tclass); - if (!node) { - rc = -ENOMEM; - goto out; + spin_lock_irqsave(&avc_cache.slots_lock[hvalue], flag); + list_for_each_entry(pos, &avc_cache.slots[hvalue], list) { + if (pos->ae.ssid == ssid && + pos->ae.tsid == tsid && + pos->ae.tclass == tclass) { + avc_node_replace(node, pos); + goto found; + } + } + list_add_rcu(&node->list, &avc_cache.slots[hvalue]); +found: + spin_unlock_irqrestore(&avc_cache.slots_lock[hvalue], flag); } - - node->ae.avd.allowed = ae->avd.allowed; - node->ae.avd.decided = ae->avd.decided; - node->ae.avd.auditallow = ae->avd.auditallow; - node->ae.avd.auditdeny = ae->avd.auditdeny; - node->ae.avd.seqno = ae->avd.seqno; - aeref->ae = &node->ae; out: - return rc; + return node; } static inline void avc_print_ipv6_addr(struct audit_buffer *ab, - struct in6_addr *addr, u16 port, + struct in6_addr *addr, __be16 port, char *name1, char *name2) { if (!ipv6_addr_any(addr)) - audit_log_format(ab, " %s=%04x:%04x:%04x:%04x:%04x:" - "%04x:%04x:%04x", name1, NIP6(*addr)); + audit_log_format(ab, " %s=" NIP6_FMT, name1, NIP6(*addr)); if (port) audit_log_format(ab, " %s=%d", name2, ntohs(port)); } static inline void avc_print_ipv4_addr(struct audit_buffer *ab, u32 addr, - u16 port, char *name1, char *name2) + __be16 port, char *name1, char *name2) { if (addr) - audit_log_format(ab, " %s=%d.%d.%d.%d", name1, NIPQUAD(addr)); + audit_log_format(ab, " %s=" NIPQUAD_FMT, name1, NIPQUAD(addr)); if (port) audit_log_format(ab, " %s=%d", name2, ntohs(port)); } @@ -486,7 +547,7 @@ return; } - ab = audit_log_start(current->audit_context); + ab = audit_log_start(current->audit_context, GFP_ATOMIC, AUDIT_AVC); if (!ab) return; /* audit_panic has been called */ audit_log_format(ab, "avc: %s ", denied ? "denied" : "granted"); @@ -495,33 +556,8 @@ if (a && a->tsk) tsk = a->tsk; if (tsk && tsk->pid) { - struct mm_struct *mm; - struct vm_area_struct *vma; - audit_log_format(ab, " pid=%d", tsk->pid); - if (tsk == current) - mm = current->mm; - else - mm = get_task_mm(tsk); - if (mm) { - if (down_read_trylock(&mm->mmap_sem)) { - vma = mm->mmap; - while (vma) { - if ((vma->vm_flags & VM_EXECUTABLE) && - vma->vm_file) { - audit_log_d_path(ab, "exe=", - vma->vm_file->f_dentry, - vma->vm_file->f_vfsmnt); - break; - } - vma = vma->vm_next; - } - up_read(&mm->mmap_sem); - } - if (tsk != current) - mmput(mm); - } else { - audit_log_format(ab, " comm=%s", tsk->comm); - } + audit_log_format(ab, " pid=%d comm=", tsk->pid); + audit_log_untrustedstring(ab, tsk->comm); } if (a) { switch (a->type) { @@ -534,21 +570,18 @@ case AVC_AUDIT_DATA_FS: if (a->u.fs.dentry) { struct dentry *dentry = a->u.fs.dentry; - if (a->u.fs.mnt) { - audit_log_d_path(ab, "path=", dentry, - a->u.fs.mnt); - } else { - audit_log_format(ab, " name=%s", - dentry->d_name.name); - } + if (a->u.fs.mnt) + audit_avc_path(dentry, a->u.fs.mnt); + audit_log_format(ab, " name="); + audit_log_untrustedstring(ab, dentry->d_name.name); inode = dentry->d_inode; } else if (a->u.fs.inode) { struct dentry *dentry; inode = a->u.fs.inode; dentry = d_find_alias(inode); if (dentry) { - audit_log_format(ab, " name=%s", - dentry->d_name.name); + audit_log_format(ab, " name="); + audit_log_untrustedstring(ab, dentry->d_name.name); dput(dentry); } } @@ -566,7 +599,7 @@ switch (sk->sk_family) { case AF_INET: { - struct inet_opt *inet = inet_sk(sk); + struct inet_sock *inet = inet_sk(sk); avc_print_ipv4_addr(ab, inet->rcv_saddr, inet->sport, @@ -577,7 +610,7 @@ break; } case AF_INET6: { - struct inet_opt *inet = inet_sk(sk); + struct inet_sock *inet = inet_sk(sk); struct ipv6_pinfo *inet6 = inet6_sk(sk); avc_print_ipv6_addr(ab, &inet6->rcv_saddr, @@ -591,22 +624,20 @@ case AF_UNIX: u = unix_sk(sk); if (u->dentry) { - audit_log_d_path(ab, "path=", - u->dentry, u->mnt); + audit_avc_path(u->dentry, u->mnt); + audit_log_format(ab, " name="); + audit_log_untrustedstring(ab, u->dentry->d_name.name); break; } if (!u->addr) break; len = u->addr->len-sizeof(short); p = &u->addr->name->sun_path[0]; + audit_log_format(ab, " path="); if (*p) - audit_log_format(ab, - "path=%*.*s", len, - len, p); + audit_log_untrustedstring(ab, p); else - audit_log_format(ab, - "path=@%*.*s", len-1, - len-1, p+1); + audit_log_hex(ab, p, len); break; } } @@ -686,8 +717,54 @@ return (x == y || x == SECSID_WILD || y == SECSID_WILD); } -static inline void avc_update_node(u32 event, struct avc_node *node, u32 perms) +/** + * avc_update_node Update an AVC entry + * @event : Updating event + * @perms : Permission mask bits + * @ssid,@tsid,@tclass : identifier of an AVC entry + * + * if a valid AVC entry doesn't exist,this function returns -ENOENT. + * if kmalloc() called internal returns NULL, this function returns -ENOMEM. + * otherwise, this function update the AVC entry. The original AVC-entry object + * will release later by RCU. + */ +static int avc_update_node(u32 event, u32 perms, u32 ssid, u32 tsid, u16 tclass) { + int hvalue, rc = 0; + unsigned long flag; + struct avc_node *pos, *node, *orig = NULL; + + node = avc_alloc_node(); + if (!node) { + rc = -ENOMEM; + goto out; + } + + /* Lock the target slot */ + hvalue = avc_hash(ssid, tsid, tclass); + spin_lock_irqsave(&avc_cache.slots_lock[hvalue], flag); + + list_for_each_entry(pos, &avc_cache.slots[hvalue], list){ + if ( ssid==pos->ae.ssid && + tsid==pos->ae.tsid && + tclass==pos->ae.tclass ){ + orig = pos; + break; + } + } + + if (!orig) { + rc = -ENOENT; + avc_node_kill(node); + goto out_unlock; + } + + /* + * Copy and replace original node. + */ + + avc_node_populate(node, ssid, tsid, tclass, &orig->ae); + switch (event) { case AVC_CALLBACK_GRANT: node->ae.avd.allowed |= perms; @@ -709,255 +786,58 @@ node->ae.avd.auditdeny &= ~perms; break; } -} - -static int avc_update_cache(u32 event, u32 ssid, u32 tsid, - u16 tclass, u32 perms) -{ - struct avc_node *node; - int i; - unsigned long flags; - - spin_lock_irqsave(&avc_lock,flags); - - if (ssid == SECSID_WILD || tsid == SECSID_WILD) { - /* apply to all matching nodes */ - for (i = 0; i < AVC_CACHE_SLOTS; i++) { - for (node = avc_cache.slots[i]; node; - node = node->next) { - if (avc_sidcmp(ssid, node->ae.ssid) && - avc_sidcmp(tsid, node->ae.tsid) && - tclass == node->ae.tclass) { - avc_update_node(event,node,perms); - } - } - } - } else { - /* apply to one node */ - node = avc_search_node(ssid, tsid, tclass, NULL); - if (node) { - avc_update_node(event,node,perms); - } - } - - spin_unlock_irqrestore(&avc_lock,flags); - - return 0; -} - -static int avc_control(u32 event, u32 ssid, u32 tsid, - u16 tclass, u32 perms, - u32 seqno, u32 *out_retained) -{ - struct avc_callback_node *c; - u32 tretained = 0, cretained = 0; - int rc = 0; - unsigned long flags; - - /* - * try_revoke only removes permissions from the cache - * state if they are not retained by the object manager. - * Hence, try_revoke must wait until after the callbacks have - * been invoked to update the cache state. - */ - if (event != AVC_CALLBACK_TRY_REVOKE) - avc_update_cache(event,ssid,tsid,tclass,perms); - - for (c = avc_callbacks; c; c = c->next) - { - if ((c->events & event) && - avc_sidcmp(c->ssid, ssid) && - avc_sidcmp(c->tsid, tsid) && - c->tclass == tclass && - (c->perms & perms)) { - cretained = 0; - rc = c->callback(event, ssid, tsid, tclass, - (c->perms & perms), - &cretained); - if (rc) - goto out; - tretained |= cretained; - } - } - - if (event == AVC_CALLBACK_TRY_REVOKE) { - /* revoke any unretained permissions */ - perms &= ~tretained; - avc_update_cache(event,ssid,tsid,tclass,perms); - *out_retained = tretained; - } - - spin_lock_irqsave(&avc_lock,flags); - if (seqno > avc_cache.latest_notif) - avc_cache.latest_notif = seqno; - spin_unlock_irqrestore(&avc_lock,flags); - + avc_node_replace(node, orig); +out_unlock: + spin_unlock_irqrestore(&avc_cache.slots_lock[hvalue], flag); out: return rc; } /** - * avc_ss_grant - Grant previously denied permissions. - * @ssid: source security identifier or %SECSID_WILD - * @tsid: target security identifier or %SECSID_WILD - * @tclass: target security class - * @perms: permissions to grant - * @seqno: policy sequence number - */ -int avc_ss_grant(u32 ssid, u32 tsid, u16 tclass, - u32 perms, u32 seqno) -{ - return avc_control(AVC_CALLBACK_GRANT, - ssid, tsid, tclass, perms, seqno, NULL); -} - -/** - * avc_ss_try_revoke - Try to revoke previously granted permissions. - * @ssid: source security identifier or %SECSID_WILD - * @tsid: target security identifier or %SECSID_WILD - * @tclass: target security class - * @perms: permissions to grant - * @seqno: policy sequence number - * @out_retained: subset of @perms that are retained - * - * Try to revoke previously granted permissions, but - * only if they are not retained as migrated permissions. - * Return the subset of permissions that are retained via @out_retained. - */ -int avc_ss_try_revoke(u32 ssid, u32 tsid, u16 tclass, - u32 perms, u32 seqno, u32 *out_retained) -{ - return avc_control(AVC_CALLBACK_TRY_REVOKE, - ssid, tsid, tclass, perms, seqno, out_retained); -} - -/** - * avc_ss_revoke - Revoke previously granted permissions. - * @ssid: source security identifier or %SECSID_WILD - * @tsid: target security identifier or %SECSID_WILD - * @tclass: target security class - * @perms: permissions to grant - * @seqno: policy sequence number - * - * Revoke previously granted permissions, even if - * they are retained as migrated permissions. - */ -int avc_ss_revoke(u32 ssid, u32 tsid, u16 tclass, - u32 perms, u32 seqno) -{ - return avc_control(AVC_CALLBACK_REVOKE, - ssid, tsid, tclass, perms, seqno, NULL); -} - -/** * avc_ss_reset - Flush the cache and revalidate migrated permissions. * @seqno: policy sequence number */ int avc_ss_reset(u32 seqno) { struct avc_callback_node *c; - int i, rc = 0; - struct avc_node *node, *tmp; - unsigned long flags; - - avc_hash_eval("reset"); + int i, rc = 0, tmprc; + unsigned long flag; + struct avc_node *node; - spin_lock_irqsave(&avc_lock,flags); - for (i = 0; i < AVC_CACHE_SLOTS; i++) { - node = avc_cache.slots[i]; - while (node) { - tmp = node; - node = node->next; - tmp->ae.ssid = tmp->ae.tsid = SECSID_NULL; - tmp->ae.tclass = SECCLASS_NULL; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Oct 31 14:28:45 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 22D3B16A521; Tue, 31 Oct 2006 14:28:45 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 D7C8016A505 for ; Tue, 31 Oct 2006 14:28:44 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E768B43D5A for ; Tue, 31 Oct 2006 14:28:41 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9VESfVu016245 for ; Tue, 31 Oct 2006 14:28:41 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9VESfCB016242 for perforce@freebsd.org; Tue, 31 Oct 2006 14:28:41 GMT (envelope-from millert@freebsd.org) Date: Tue, 31 Oct 2006 14:28:41 GMT Message-Id: <200610311428.k9VESfCB016242@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 108823 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Oct 2006 14:28:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=108823 Change 108823 by millert@millert_macbook on 2006/10/31 14:28:09 Remove hacks that kept the binary policy version at 20. Affected files ... .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/Makefile#6 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/Rules.monolithic#7 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/Makefile#6 (text+ko) ==== @@ -29,10 +29,6 @@ SEDARWIN_BUILD=1 endif - -# XXX - SEDarwin is not up to binary policy version 21 yet so force 20 -OUTPUT_POLICY = 20 - # Include the local build.conf if it exists, otherwise # include the configuration of the root directory. include build.conf ==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/Rules.monolithic#7 (text+ko) ==== @@ -4,8 +4,7 @@ # # determine the policy version and current kernel version if possible -#pv := $(shell $(CHECKPOLICY) -V |cut -f 1 -d ' ') -pv := 20 +pv := $(shell $(CHECKPOLICY) -V |cut -f 1 -d ' ') kv := $(shell sysctl security.mac.sebsd.policyvers | cut -d" " -f2 ) # dont print version warnings if we are unable to determine From owner-p4-projects@FreeBSD.ORG Tue Oct 31 14:30:26 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 911DD16A40F; Tue, 31 Oct 2006 14:30:26 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 6C74C16A417 for ; Tue, 31 Oct 2006 14:30:26 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1D15F43DB6 for ; Tue, 31 Oct 2006 14:30:03 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9VEThYL017064 for ; Tue, 31 Oct 2006 14:29:43 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9VETh5A017061 for perforce@freebsd.org; Tue, 31 Oct 2006 14:29:43 GMT (envelope-from millert@freebsd.org) Date: Tue, 31 Oct 2006 14:29:43 GMT Message-Id: <200610311429.k9VETh5A017061@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 108824 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Oct 2006 14:30:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=108824 Change 108824 by millert@millert_macbook on 2006/10/31 14:28:48 Update pid file paths. Affected files ... .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/configd.fc#2 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/services/cron.fc#4 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/darwin/configd.fc#2 (text+ko) ==== @@ -4,4 +4,4 @@ # MCS categories: /usr/sbin/configd -- gen_context(system_u:object_r:configd_exec_t,s0) -/var/run/configd.pid gen_context(system_u:object_r:configd_var_run_t,s0) +/private/var/run/configd.pid gen_context(system_u:object_r:configd_var_run_t,s0) ==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/refpolicy/policy/modules/services/cron.fc#4 (text+ko) ==== @@ -16,6 +16,7 @@ /var/run/crond\.reboot -- gen_context(system_u:object_r:crond_var_run_t,s0) /var/run/fcron\.fifo -s gen_context(system_u:object_r:crond_var_run_t,s0) /var/run/fcron\.pid -- gen_context(system_u:object_r:crond_var_run_t,s0) +/private/var/run/cron.pid -- gen_context(system_u:object_r:crond_var_run_t,s0) /var/spool/at -d gen_context(system_u:object_r:cron_spool_t,s0) /var/spool/at/spool -d gen_context(system_u:object_r:cron_spool_t,s0) From owner-p4-projects@FreeBSD.ORG Tue Oct 31 14:32:36 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1199716A511; Tue, 31 Oct 2006 14:32:36 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 A96EF16A4D8 for ; Tue, 31 Oct 2006 14:32:35 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 60C1943D68 for ; Tue, 31 Oct 2006 14:32:16 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9VEVl01017998 for ; Tue, 31 Oct 2006 14:31:47 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9VEVlMn017995 for perforce@freebsd.org; Tue, 31 Oct 2006 14:31:47 GMT (envelope-from millert@freebsd.org) Date: Tue, 31 Oct 2006 14:31:47 GMT Message-Id: <200610311431.k9VEVlMn017995@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 108825 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Oct 2006 14:32:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=108825 Change 108825 by millert@millert_macbook on 2006/10/31 14:31:03 Back out @108433 for now, it can panic the system. Affected files ... .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/avc/avc.c#6 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/avc/avc.h#4 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/sebsd.c#29 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/avc/avc.c#6 (text+ko) ==== @@ -706,8 +706,6 @@ #endif case AVC_AUDIT_DATA_FS: if (a->u.fs.vp && tsk) { - char *pbuf = NULL; - char *path = a->u.fs.path; struct vnode *vp = a->u.fs.vp; struct vnode_attr va; struct vfs_context vfs_ctx = @@ -715,22 +713,10 @@ VATTR_INIT(&va); VATTR_WANTED(&va, va_fileid); if (vnode_getattr(vp, &va, &vfs_ctx) == 0) { - audit_log_format(ab, " inode=%llu, " - "mountpoint=%s,", va.va_fileid, + audit_log_format(ab, + " inode=%llu, mountpoint=%s,", + va.va_fileid, vp->v_mount->mnt_vfsstat.f_mntonname); - if (path == NULL) { - int len = MAXPATHLEN; - pbuf = sebsd_malloc(MAXPATHLEN, - M_SEBSD, M_NOWAIT); - if (pbuf != NULL && - !vn_getpath(vp, pbuf, &len)) - path = pbuf; - } - if (path != NULL) - audit_log_format(ab, - " path=%s,", path); - if (pbuf != NULL) - sebsd_free(pbuf, M_SEBSD); break; } audit_log_format(ab, ==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/avc/avc.h#4 (text+ko) ==== @@ -49,7 +49,6 @@ union { struct { struct vnode *vp; - char *path; } fs; struct { char *netif; ==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/sebsd.c#29 (text+ko) ==== @@ -440,7 +440,7 @@ } static int -vnode_has_perm(struct ucred *cred, struct vnode *vp, char *path, u_int32_t perm) +vnode_has_perm(struct ucred *cred, struct vnode *vp, u_int32_t perm) { struct task_security_struct *task; struct vnode_security_struct *file; @@ -451,7 +451,6 @@ AVC_AUDIT_DATA_INIT(&ad, FS); ad.u.fs.vp = vp; - ad.u.fs.path = path; /* Update security class if not set or vnode was recycled. */ if (file->sclass == 0 || vp->v_type == VBAD) @@ -1483,7 +1482,7 @@ vsec = SLOT(vl); task = SLOT(cred->cr_label); - rc = vnode_has_perm(cred, vp, NULL, FILE__MOUNTON); + rc = vnode_has_perm(cred, vp, FILE__MOUNTON); if (rc) goto done; @@ -1951,7 +1950,7 @@ if (mask == 0) return (0); - return (vnode_has_perm(cred, vp, NULL, + return (vnode_has_perm(cred, vp, file_mask_to_av(vp->v_type, mask))); } @@ -1961,7 +1960,7 @@ { /* MAY_EXEC ~= DIR__SEARCH */ - return (vnode_has_perm(cred, dvp, NULL, DIR__SEARCH)); + return (vnode_has_perm(cred, dvp, DIR__SEARCH)); } static int @@ -1971,7 +1970,7 @@ /* TBD: Incomplete, SELinux also check capability(CAP_SYS_CHROOT)) */ /* MAY_EXEC ~= DIR__SEARCH */ - return (vnode_has_perm(cred, dvp, NULL, DIR__SEARCH)); + return (vnode_has_perm(cred, dvp, DIR__SEARCH)); } static int @@ -1996,7 +1995,6 @@ AVC_AUDIT_DATA_INIT(&ad, FS); ad.u.fs.vp = dvp; - ad.u.fs.path = cnp->cn_pnbuf; rc = avc_has_perm(task->sid, dir->sid, SECCLASS_DIR, DIR__ADD_NAME | DIR__SEARCH, &ad); @@ -2053,7 +2051,6 @@ AVC_AUDIT_DATA_INIT(&ad, FS); ad.u.fs.vp = vp; - ad.u.fs.path = cnp->cn_pnbuf; rc = avc_has_perm(task->sid, dir->sid, SECCLASS_DIR, DIR__SEARCH | DIR__REMOVE_NAME, &ad); @@ -2076,7 +2073,7 @@ struct label *label, acl_type_t type) { - return (vnode_has_perm(cred, vp, NULL, FILE__SETATTR)); + return (vnode_has_perm(cred, vp, FILE__SETATTR)); } #endif @@ -2086,10 +2083,10 @@ { int error; - error = vnode_has_perm(cred, v1, NULL, FILE__READ | FILE__WRITE); + error = vnode_has_perm(cred, v1, FILE__READ | FILE__WRITE); if (error) return (error); - return (vnode_has_perm(cred, v2, NULL, FILE__READ | FILE__WRITE)); + return (vnode_has_perm(cred, v2, FILE__READ | FILE__WRITE)); } static int @@ -2154,7 +2151,7 @@ struct label *label, acl_type_t type) { - return (vnode_has_perm(cred, vp, NULL, FILE__GETATTR)); + return (vnode_has_perm(cred, vp, FILE__GETATTR)); } #endif @@ -2163,7 +2160,7 @@ struct label *vlabel, struct attrlist *alist) { - return (vnode_has_perm(cred, vp, NULL, FILE__GETATTR)); + return (vnode_has_perm(cred, vp, FILE__GETATTR)); } static int @@ -2171,7 +2168,7 @@ struct label *label, const char *name, struct uio *uio) { - return (vnode_has_perm(cred, vp, NULL, FILE__GETATTR)); + return (vnode_has_perm(cred, vp, FILE__GETATTR)); } #if defined(FILE__POLL) && defined(FILE__GETATTR) @@ -2183,9 +2180,9 @@ switch (kn->kn_filter) { case EVFILT_READ: case EVFILT_WRITE: - return (vnode_has_perm(cred, vp, NULL, FILE__POLL)); + return (vnode_has_perm(cred, vp, FILE__POLL)); case EVFILT_VNODE: - return (vnode_has_perm(cred, vp, NULL, FILE__GETATTR)); + return (vnode_has_perm(cred, vp, FILE__GETATTR)); default: return (0); } @@ -2211,7 +2208,6 @@ AVC_AUDIT_DATA_INIT(&ad, FS); ad.u.fs.vp = vp; - ad.u.fs.path = cnp->cn_pnbuf; rc = avc_has_perm(task->sid, dir->sid, SECCLASS_DIR, DIR__SEARCH | DIR__ADD_NAME, &ad); @@ -2232,7 +2228,7 @@ return (ENOTDIR); /* TBD: DIR__READ as well? */ - return (vnode_has_perm(cred, dvp, cnp->cn_pnbuf, DIR__SEARCH)); + return (vnode_has_perm(cred, dvp, DIR__SEARCH)); } static int @@ -2251,7 +2247,7 @@ if (!mask) return (0); - return (vnode_has_perm(cred, vp, NULL, + return (vnode_has_perm(cred, vp, file_mask_to_av(vp->v_type, mask))); } @@ -2260,7 +2256,7 @@ struct vnode *vp, struct label *label) { - return (vnode_has_perm(cred, vp, NULL, FILE__READ)); + return (vnode_has_perm(cred, vp, FILE__READ)); } static int @@ -2268,7 +2264,7 @@ struct label *dlabel) { - return (vnode_has_perm(cred, dvp, NULL, DIR__READ)); + return (vnode_has_perm(cred, dvp, DIR__READ)); } static int @@ -2276,7 +2272,7 @@ struct label *label) { - return (vnode_has_perm(cred, vp, NULL, FILE__READ)); + return (vnode_has_perm(cred, vp, FILE__READ)); } static int @@ -2346,8 +2342,6 @@ sebsd_audit_sid("source directory", old_dir->sid); AVC_AUDIT_DATA_INIT(&ad, FS); - ad.u.fs.vp = vp; - ad.u.fs.path = cnp->cn_pnbuf; rc = avc_has_perm(task->sid, old_dir->sid, SECCLASS_DIR, DIR__REMOVE_NAME | DIR__SEARCH, &ad); @@ -2406,7 +2400,6 @@ AVC_AUDIT_DATA_INIT(&ad, FS); ad.u.fs.vp = vp; - ad.u.fs.path = cnp->cn_pnbuf; rc = avc_has_perm(task->sid, new_dir->sid, SECCLASS_DIR, av, NULL); if (rc) @@ -2446,7 +2439,7 @@ struct label *label, int which) { - return (vnode_has_perm(cred, vp, NULL, FILE__POLL)); + return (vnode_has_perm(cred, vp, FILE__POLL)); } #endif @@ -2456,7 +2449,7 @@ struct label *label, acl_type_t type, struct acl *acl) { - return (vnode_has_perm(cred, vp, NULL, FILE__SETATTR)); + return (vnode_has_perm(cred, vp, FILE__SETATTR)); } #endif @@ -2466,7 +2459,7 @@ struct label *vlabel, struct attrlist *alist) { - return (vnode_has_perm(cred, vp, NULL, FILE__SETATTR)); + return (vnode_has_perm(cred, vp, FILE__SETATTR)); } #endif @@ -2475,7 +2468,7 @@ struct label *label, const char *name, struct uio *uio) { - return (vnode_has_perm(cred, vp, NULL, FILE__SETATTR)); + return (vnode_has_perm(cred, vp, FILE__SETATTR)); } static int @@ -2483,7 +2476,7 @@ struct label *label, u_long flags) { - return (vnode_has_perm(cred, vp, NULL, FILE__SETATTR)); + return (vnode_has_perm(cred, vp, FILE__SETATTR)); } static int @@ -2491,7 +2484,7 @@ struct label *label, mode_t mode) { - return (vnode_has_perm(cred, vp, NULL, FILE__SETATTR)); + return (vnode_has_perm(cred, vp, FILE__SETATTR)); } static int @@ -2499,7 +2492,7 @@ struct label *label, uid_t uid, gid_t gid) { - return (vnode_has_perm(cred, vp, NULL, FILE__SETATTR)); + return (vnode_has_perm(cred, vp, FILE__SETATTR)); } static int @@ -2507,7 +2500,7 @@ struct label *label, struct timespec atime, struct timespec mtime) { - return (vnode_has_perm(cred, vp, NULL, FILE__SETATTR)); + return (vnode_has_perm(cred, vp, FILE__SETATTR)); } static int @@ -2515,7 +2508,7 @@ struct vnode *vp, struct label *vnodelabel) { - return (vnode_has_perm(cred, vp, NULL, FILE__GETATTR)); + return (vnode_has_perm(cred, vp, FILE__GETATTR)); } static int @@ -2838,7 +2831,7 @@ struct label *vnodelabel) { - return (vnode_has_perm(cred, vp, NULL, FILE__SWAPON)); + return (vnode_has_perm(cred, vp, FILE__SWAPON)); } #if 0 @@ -2847,7 +2840,7 @@ struct label *vnodelabel) { - return (vnode_has_perm(cred, vp, NULL, FILE__SWAPON)); + return (vnode_has_perm(cred, vp, FILE__SWAPON)); } #endif @@ -2870,7 +2863,7 @@ struct vnode *vp, struct label *label) { - return (vnode_has_perm(cred, vp, NULL, FILE__WRITE)); + return (vnode_has_perm(cred, vp, FILE__WRITE)); } static int @@ -2892,7 +2885,7 @@ if (prot & PROT_EXEC) av |= FILE__EXECUTE; - return (vnode_has_perm(cred, vp, NULL, av)); + return (vnode_has_perm(cred, vp, av)); } return (0); } @@ -2915,7 +2908,7 @@ if (prot & PROT_EXEC) av |= FILE__EXECUTE; - return (vnode_has_perm(cred, vp, NULL, av)); + return (vnode_has_perm(cred, vp, av)); } return (0); } @@ -3033,7 +3026,7 @@ return (0); return (vnode_has_perm(cred, (struct vnode *)fg->fg_data, - NULL, FILE__IOCTL)); + FILE__IOCTL)); } /* From owner-p4-projects@FreeBSD.ORG Tue Oct 31 14:34:25 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 171BB16A54E; Tue, 31 Oct 2006 14:34:25 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 BBAE816A515 for ; Tue, 31 Oct 2006 14:34:24 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5731043D7B for ; Tue, 31 Oct 2006 14:33:53 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9VEXqSg018816 for ; Tue, 31 Oct 2006 14:33:52 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9VEXomR018790 for perforce@freebsd.org; Tue, 31 Oct 2006 14:33:50 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 31 Oct 2006 14:33:50 GMT Message-Id: <200610311433.k9VEXomR018790@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 108826 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Oct 2006 14:34:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=108826 Change 108826 by rwatson@rwatson_zoo on 2006/10/31 14:32:49 Integrate TrustedBSD priv branch from TrustedBSD base branch; see @108821 for a description of changes. Affected files ... .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/machdep.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/prof_machdep.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/amd64/amd64/trap.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/amd64/conf/DEFAULTS#2 integrate .. //depot/projects/trustedbsd/priv/sys/amd64/conf/GENERIC#3 integrate .. //depot/projects/trustedbsd/priv/sys/amd64/include/asmacros.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/amd64/include/profile.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/amd64/linux32/linux.h#3 integrate .. //depot/projects/trustedbsd/priv/sys/amd64/linux32/linux32_dummy.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/amd64/linux32/linux32_proto.h#4 integrate .. //depot/projects/trustedbsd/priv/sys/amd64/linux32/linux32_syscall.h#4 integrate .. //depot/projects/trustedbsd/priv/sys/amd64/linux32/linux32_sysent.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/amd64/linux32/syscalls.master#4 integrate .. //depot/projects/trustedbsd/priv/sys/arm/arm/elf_trampoline.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/arm/arm/trap.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/arm/at91/kb920x_machdep.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/arm/conf/EP80219#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/conf/IQ31244#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/conf/KB920X#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/conf/SIMICS#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/conf/SKYEYE#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/sa11x0/assabet_machdep.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/ep80219_machdep.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/iq31244_machdep.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/common/load_elf.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/i386/boot2/boot2.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/elf32_freebsd.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/boot/i386/libi386/elf64_freebsd.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/boot/pc98/boot2/boot.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/cam/scsi/scsi_low.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/compat/linprocfs/linprocfs.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_aio.c#2 delete .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_aio.h#2 delete .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_emul.c#5 integrate .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_emul.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_misc.c#8 integrate .. //depot/projects/trustedbsd/priv/sys/compat/linux/linux_misc.h#1 branch .. //depot/projects/trustedbsd/priv/sys/conf/files#7 integrate .. //depot/projects/trustedbsd/priv/sys/conf/files.amd64#6 integrate .. //depot/projects/trustedbsd/priv/sys/conf/files.i386#5 integrate .. //depot/projects/trustedbsd/priv/sys/conf/files.pc98#4 integrate .. //depot/projects/trustedbsd/priv/sys/conf/kern.post.mk#3 integrate .. //depot/projects/trustedbsd/priv/sys/conf/kern.pre.mk#4 integrate .. //depot/projects/trustedbsd/priv/sys/ddb/db_ps.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/aac/aac_cam.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/acpi_support/acpi_aiboost.c#1 branch .. //depot/projects/trustedbsd/priv/sys/dev/advansys/advansys.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/advansys/advlib.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/advansys/adwcam.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/aha/aha.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/ahb/ahb.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/aic/aic.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/amd/amd.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/amr/amr_cam.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/arcmsr/arcmsr.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/asr/asr.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/ata/atapi-cam.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/bce/if_bce.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/dev/ciss/ciss.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/dc/if_dc.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/dpt/dpt_scsi.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/em/if_em.c#6 integrate .. //depot/projects/trustedbsd/priv/sys/dev/em/if_em.h#4 integrate .. //depot/projects/trustedbsd/priv/sys/dev/em/if_em_hw.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/em/if_em_hw.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/em/if_em_osdep.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/esp/ncr53c9x.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/firewire/sbp.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/iir/iir.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/isp/isp_freebsd.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/dev/mly/mly.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/mpt/mpt_cam.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/dev/pci/pci.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/dev/pci/pci_pci.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/pci/pcivar.h#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/sound/pcm/dsp.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/trm/trm.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/twa/tw_osl_cam.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/dev/usb/ubsa.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/dev/usb/umass.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/dev/usb/usbdevs#3 integrate .. //depot/projects/trustedbsd/priv/sys/fs/procfs/procfs_status.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/i386/conf/DEFAULTS#2 integrate .. //depot/projects/trustedbsd/priv/sys/i386/conf/GENERIC#3 integrate .. //depot/projects/trustedbsd/priv/sys/i386/conf/NOTES#6 integrate .. //depot/projects/trustedbsd/priv/sys/i386/i386/machdep.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/i386/i386/trap.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/i386/include/asmacros.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/i386/include/profile.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/i386/isa/prof_machdep.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/i386/linux/linux.h#3 integrate .. //depot/projects/trustedbsd/priv/sys/i386/linux/linux_dummy.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/i386/linux/linux_proto.h#5 integrate .. //depot/projects/trustedbsd/priv/sys/i386/linux/linux_syscall.h#5 integrate .. //depot/projects/trustedbsd/priv/sys/i386/linux/linux_sysent.c#5 integrate .. //depot/projects/trustedbsd/priv/sys/i386/linux/syscalls.master#5 integrate .. //depot/projects/trustedbsd/priv/sys/ia64/conf/DEFAULTS#2 integrate .. //depot/projects/trustedbsd/priv/sys/ia64/conf/GENERIC#3 integrate .. //depot/projects/trustedbsd/priv/sys/ia64/ia64/machdep.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/ia64/ia64/trap.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/init_main.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_clock.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_fork.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_idle.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_intr.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_kse.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_poll.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_proc.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_resource.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_sig.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_subr.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_switch.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_synch.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_thr.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_thread.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/kern/kern_umtx.c#8 integrate .. //depot/projects/trustedbsd/priv/sys/kern/sched_4bsd.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/sched_ule.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/kern/subr_trap.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/kern/sys_process.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/kern/tty.c#5 integrate .. //depot/projects/trustedbsd/priv/sys/kern/vfs_bio.c#4 integrate .. //depot/projects/trustedbsd/priv/sys/modules/acpi/Makefile#2 integrate .. //depot/projects/trustedbsd/priv/sys/modules/acpi/acpi_aiboost/Makefile#1 branch .. //depot/projects/trustedbsd/priv/sys/modules/linux/Makefile#3 integrate .. //depot/projects/trustedbsd/priv/sys/modules/powermac_nvram/Makefile#2 integrate .. //depot/projects/trustedbsd/priv/sys/netinet/ip_dummynet.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/pc98/conf/DEFAULTS#2 integrate .. //depot/projects/trustedbsd/priv/sys/pc98/conf/GENERIC#3 integrate .. //depot/projects/trustedbsd/priv/sys/pc98/pc98/machdep.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/pci/if_sis.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/pci/ncr.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/posix4/ksched.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/powerpc/conf/DEFAULTS#2 integrate .. //depot/projects/trustedbsd/priv/sys/powerpc/conf/GENERIC#3 integrate .. //depot/projects/trustedbsd/priv/sys/powerpc/powerpc/machdep.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/powerpc/powerpc/trap.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/sparc64/conf/DEFAULTS#2 integrate .. //depot/projects/trustedbsd/priv/sys/sparc64/conf/GENERIC#3 integrate .. //depot/projects/trustedbsd/priv/sys/sparc64/include/endian.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/sparc64/sparc64/machdep.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/sparc64/sparc64/trap.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/sun4v/conf/DEFAULTS#2 integrate .. //depot/projects/trustedbsd/priv/sys/sun4v/include/endian.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/sun4v/sun4v/machdep.c#2 integrate .. //depot/projects/trustedbsd/priv/sys/sys/mac_policy.h#6 integrate .. //depot/projects/trustedbsd/priv/sys/sys/param.h#5 integrate .. //depot/projects/trustedbsd/priv/sys/sys/proc.h#3 integrate .. //depot/projects/trustedbsd/priv/sys/sys/rtprio.h#3 integrate .. //depot/projects/trustedbsd/priv/sys/sys/sched.h#2 integrate .. //depot/projects/trustedbsd/priv/sys/sys/soundcard.h#3 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_glue.c#3 integrate .. //depot/projects/trustedbsd/priv/sys/vm/vm_zeroidle.c#2 integrate Differences ... ==== //depot/projects/trustedbsd/priv/sys/amd64/amd64/machdep.c#4 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.656 2006/10/12 12:48:21 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.657 2006/10/26 21:42:16 jb Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -1120,7 +1120,11 @@ * This may be done better later if it gets more high level * components in it. If so just link td->td_proc here. */ +#ifdef KSE proc_linkup(&proc0, &ksegrp0, &thread0); +#else + proc_linkup(&proc0, &thread0); +#endif preload_metadata = (caddr_t)(uintptr_t)(modulep + KERNBASE); preload_bootstrap_relocate(KERNBASE); ==== //depot/projects/trustedbsd/priv/sys/amd64/amd64/prof_machdep.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/prof_machdep.c,v 1.24 2005/05/14 09:10:00 nyan Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/prof_machdep.c,v 1.28 2006/10/29 09:48:44 bde Exp $"); #ifdef GUPROF #if 0 @@ -37,20 +37,15 @@ #include #include #include +#include #include #include #if 0 #include #endif -#include -#undef MCOUNT -#endif - -#include #include -#ifdef GUPROF #define CPUTIME_CLOCK_UNINITIALIZED 0 #define CPUTIME_CLOCK_I8254 1 #define CPUTIME_CLOCK_TSC 2 @@ -60,7 +55,7 @@ int cputime_bias = 1; /* initialize for locality of reference */ static int cputime_clock = CPUTIME_CLOCK_UNINITIALIZED; -#ifdef I586_PMC_GUPROF +#if defined(PERFMON) && defined(I586_PMC_GUPROF) static u_int cputime_clock_pmc_conf = I586_PMC_GUPROF; static int cputime_clock_pmc_init; static struct gmonparam saved_gmp; @@ -80,7 +75,7 @@ # \n\ # Check that we are profiling. Do it early for speed. \n\ # \n\ - cmpl $GMON_PROF_OFF," __XSTRING(CNAME(_gmonparam)) "+GM_STATE \n\ + cmpl $GMON_PROF_OFF,_gmonparam+GM_STATE \n\ je .mcount_exit \n\ # \n\ # __mcount is the same as [.]mcount except the caller \n\ @@ -98,11 +93,11 @@ jmp .got_frompc \n\ \n\ .p2align 4,0x90 \n\ - .globl " __XSTRING(HIDENAME(mcount)) " \n\ -" __XSTRING(HIDENAME(mcount)) ": \n\ + .globl .mcount \n\ +.mcount: \n\ .globl __cyg_profile_func_enter \n\ __cyg_profile_func_enter: \n\ - cmpl $GMON_PROF_OFF," __XSTRING(CNAME(_gmonparam)) "+GM_STATE \n\ + cmpl $GMON_PROF_OFF,_gmonparam+GM_STATE \n\ je .mcount_exit \n\ # \n\ # The caller's stack frame has already been built, so \n\ @@ -126,7 +121,7 @@ \n\ pushfq \n\ cli \n\ - call " __XSTRING(CNAME(mcount)) " \n\ + call mcount \n\ popfq \n\ popq %r9 \n\ popq %r8 \n\ @@ -139,7 +134,7 @@ ret \n\ "); #else /* !__GNUCLIKE_ASM */ -#error this file needs to be ported to your compiler +#error "this file needs to be ported to your compiler" #endif /* __GNUCLIKE_ASM */ #ifdef GUPROF @@ -164,11 +159,11 @@ GMON_PROF_HIRES = 4 \n\ \n\ .p2align 4,0x90 \n\ - .globl " __XSTRING(HIDENAME(mexitcount)) " \n\ -" __XSTRING(HIDENAME(mexitcount)) ": \n\ + .globl .mexitcount \n\ +.mexitcount: \n\ .globl __cyg_profile_func_exit \n\ __cyg_profile_func_exit: \n\ - cmpl $GMON_PROF_HIRES," __XSTRING(CNAME(_gmonparam)) "+GM_STATE \n\ + cmpl $GMON_PROF_HIRES,_gmonparam+GM_STATE \n\ jne .mexitcount_exit \n\ pushq %rax \n\ pushq %rdx \n\ @@ -180,7 +175,7 @@ movq 7*8(%rsp),%rdi \n\ pushfq \n\ cli \n\ - call " __XSTRING(CNAME(mexitcount)) " \n\ + call mexitcount \n\ popfq \n\ popq %r9 \n\ popq %r8 \n\ @@ -192,8 +187,6 @@ .mexitcount_exit: \n\ ret \n\ "); -#else /* !__GNUCLIKE_ASM */ -#error this file needs to be ported to your compiler #endif /* __GNUCLIKE_ASM */ /* @@ -212,7 +205,6 @@ u_char high, low; static u_int prev_count; -#ifndef SMP if (cputime_clock == CPUTIME_CLOCK_TSC) { /* * Scale the TSC a little to make cputime()'s frequency @@ -226,7 +218,7 @@ prev_count = count; return (delta); } -#if defined(PERFMON) && defined(I586_PMC_GUPROF) +#if defined(PERFMON) && defined(I586_PMC_GUPROF) && !defined(SMP) if (cputime_clock == CPUTIME_CLOCK_I586_PMC) { /* * XXX permon_read() should be inlined so that the @@ -240,8 +232,7 @@ prev_count = count; return (delta); } -#endif /* PERFMON && I586_PMC_GUPROF */ -#endif /* !SMP */ +#endif /* PERFMON && I586_PMC_GUPROF && !SMP */ /* * Read the current value of the 8254 timer counter 0. @@ -323,13 +314,10 @@ { if (cputime_clock == CPUTIME_CLOCK_UNINITIALIZED) { cputime_clock = CPUTIME_CLOCK_I8254; -#ifndef SMP - if (tsc_freq != 0) + if (tsc_freq != 0 && !tsc_is_broken && mp_ncpus < 2) cputime_clock = CPUTIME_CLOCK_TSC; -#endif } gp->profrate = timer_freq << CPUTIME_CLOCK_I8254_SHIFT; -#ifndef SMP if (cputime_clock == CPUTIME_CLOCK_TSC) gp->profrate = tsc_freq >> 1; #if defined(PERFMON) && defined(I586_PMC_GUPROF) @@ -358,7 +346,6 @@ } } #endif /* PERFMON && I586_PMC_GUPROF */ -#endif /* !SMP */ cputime_bias = 0; cputime(); } @@ -375,17 +362,4 @@ } #endif } - -#else /* !GUPROF */ -#ifdef __GNUCLIKE_ASM -__asm(" \n\ - .text \n\ - .p2align 4,0x90 \n\ - .globl " __XSTRING(HIDENAME(mexitcount)) " \n\ -" __XSTRING(HIDENAME(mexitcount)) ": \n\ - ret \n\ -"); -#else /* !__GNUCLIKE_ASM */ -#error this file needs to be ported to your compiler -#endif /* __GNUCLIKE_ASM */ #endif /* GUPROF */ ==== //depot/projects/trustedbsd/priv/sys/amd64/amd64/trap.c#2 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.310 2006/08/14 19:53:53 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.311 2006/10/26 21:42:16 jb Exp $"); /* * AMD64 Trap and System call handling @@ -299,8 +299,10 @@ case T_PAGEFLT: /* page fault */ addr = frame.tf_addr; +#ifdef KSE if (td->td_pflags & TDP_SA) thread_user_enter(td); +#endif i = trap_pfault(&frame, TRUE); if (i == -1) goto userout; @@ -757,8 +759,10 @@ td->td_frame = &frame; if (td->td_ucred != p->p_ucred) cred_update_thread(td); +#ifdef KSE if (p->p_flag & P_SA) thread_user_enter(td); +#endif params = (caddr_t)frame.tf_rsp + sizeof(register_t); code = frame.tf_rax; orig_tf_rflags = frame.tf_rflags; ==== //depot/projects/trustedbsd/priv/sys/amd64/conf/DEFAULTS#2 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/amd64 # -# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.6 2006/06/12 04:21:49 imp Exp $ +# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.7 2006/10/26 22:05:24 jb Exp $ machine amd64 @@ -14,3 +14,6 @@ # UART chips on this platform device uart_ns8250 + +# KSE support went from being default to a kernel option +options KSE ==== //depot/projects/trustedbsd/priv/sys/amd64/conf/GENERIC#3 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.466 2006/10/05 20:31:57 simon Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.468 2006/10/26 22:11:34 jb Exp $ cpu HAMMER ident GENERIC ==== //depot/projects/trustedbsd/priv/sys/amd64/include/asmacros.h#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/include/asmacros.h,v 1.30 2006/03/14 00:01:56 peter Exp $ + * $FreeBSD: src/sys/amd64/include/asmacros.h,v 1.32 2006/10/28 06:04:29 bde Exp $ */ #ifndef _MACHINE_ASMACROS_H_ @@ -37,14 +37,12 @@ /* XXX too much duplication in various asm*.h's. */ /* - * CNAME and HIDENAME manage the relationship between symbol names in C + * CNAME is used to manage the relationship between symbol names in C * and the equivalent assembly language names. CNAME is given a name as * it would be used in a C program. It expands to the equivalent assembly - * language name. HIDENAME is given an assembly-language name, and expands - * to a possibly-modified form that will be invisible to C programs. + * language name. */ #define CNAME(csym) csym -#define HIDENAME(asmsym) .asmsym #define ALIGN_DATA .p2align 3 /* 8 byte alignment, zero filled */ #ifdef GPROF @@ -108,8 +106,12 @@ #define FAKE_MCOUNT(caller) pushq caller ; call __mcount ; popq %rcx #define MCOUNT call __mcount #define MCOUNT_LABEL(name) GEN_ENTRY(name) ; nop ; ALIGN_TEXT -#define MEXITCOUNT call HIDENAME(mexitcount) +#ifdef GUPROF +#define MEXITCOUNT call .mexitcount #define ret MEXITCOUNT ; NON_GPROF_RET +#else +#define MEXITCOUNT +#endif #else /* !GPROF */ /* ==== //depot/projects/trustedbsd/priv/sys/amd64/include/profile.h#2 (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.45 2005/03/11 22:16:09 peter Exp $ + * $FreeBSD: src/sys/amd64/include/profile.h,v 1.48 2006/10/28 13:12:06 bde Exp $ */ #ifndef _MACHINE_PROFILE_H_ @@ -61,7 +61,7 @@ #define MCOUNT_OVERHEAD(label) \ __asm __volatile("pushq %0; call __mcount; popq %%rcx" \ : \ - : "i" (profil) \ + : "i" (label) \ : "ax", "dx", "cx", "di", "si", "r8", "r9", "memory") #define MEXITCOUNT_OVERHEAD() \ __asm __volatile("call .mexitcount; 1:" \ @@ -114,11 +114,11 @@ #ifdef __GNUCLIKE_ASM #define MCOUNT __asm(" \n\ + .text \n\ + .p2align 4,0x90 \n\ .globl .mcount \n\ - .type .mcount @function \n\ + .type .mcount,@function \n\ .mcount: \n\ - pushq %rbp \n\ - movq %rsp,%rbp \n\ pushq %rdi \n\ pushq %rsi \n\ pushq %rdx \n\ @@ -126,9 +126,8 @@ pushq %r8 \n\ pushq %r9 \n\ pushq %rax \n\ - movq 8(%rbp),%rsi \n\ - movq (%rbp),%rdi \n\ - movq 8(%rdi),%rdi \n\ + movq 8(%rbp),%rdi \n\ + movq 7*8(%rsp),%rsi \n\ call _mcount \n\ popq %rax \n\ popq %r9 \n\ @@ -137,7 +136,6 @@ popq %rdx \n\ popq %rsi \n\ popq %rdi \n\ - leave \n\ ret \n\ .size .mcount, . - .mcount"); #if 0 @@ -171,11 +169,7 @@ } #endif #else /* !__GNUCLIKE_ASM */ -#define MCOUNT \ -void \ -mcount() \ -{ \ -} +#define MCOUNT #endif /* __GNUCLIKE_ASM */ typedef u_long uintfptr_t; ==== //depot/projects/trustedbsd/priv/sys/amd64/linux32/linux.h#3 (text+ko) ==== @@ -27,7 +27,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/amd64/linux32/linux.h,v 1.7 2006/10/15 14:22:12 netchild Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.8 2006/10/29 14:02:38 netchild Exp $ */ #ifndef _AMD64_LINUX_LINUX_H_ @@ -840,6 +840,4 @@ #define THREADING_FLAGS (CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND) -#include - #endif /* !_AMD64_LINUX_LINUX_H_ */ ==== //depot/projects/trustedbsd/priv/sys/amd64/linux32/linux32_dummy.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_dummy.c,v 1.5 2006/08/27 08:56:53 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_dummy.c,v 1.6 2006/10/28 10:59:59 netchild Exp $"); #include #include @@ -53,7 +53,6 @@ DUMMY(sysfs); DUMMY(query_module); DUMMY(nfsservctl); -DUMMY(prctl); DUMMY(rt_sigtimedwait); DUMMY(rt_sigqueueinfo); DUMMY(capget); ==== //depot/projects/trustedbsd/priv/sys/amd64/linux32/linux32_proto.h#4 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.23 2006/10/15 14:24:09 netchild Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.21 2006/10/15 14:22:12 netchild Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.25 2006/10/29 14:12:44 netchild Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.23 2006/10/29 14:02:38 netchild Exp */ #ifndef _LINUX_SYSPROTO_H_ @@ -521,7 +521,11 @@ char sgid_l_[PADL_(l_gid16_t *)]; l_gid16_t * sgid; char sgid_r_[PADR_(l_gid16_t *)]; }; struct linux_prctl_args { - register_t dummy; + char option_l_[PADL_(l_int)]; l_int option; char option_r_[PADR_(l_int)]; + char arg2_l_[PADL_(l_int)]; l_int arg2; char arg2_r_[PADR_(l_int)]; + char arg3_l_[PADL_(l_int)]; l_int arg3; char arg3_r_[PADR_(l_int)]; + char arg4_l_[PADL_(l_int)]; l_int arg4; char arg4_r_[PADR_(l_int)]; + char arg5_l_[PADL_(l_int)]; l_int arg5; char arg5_r_[PADR_(l_int)]; }; struct linux_rt_sigreturn_args { char ucp_l_[PADL_(struct l_ucontext *)]; struct l_ucontext * ucp; char ucp_r_[PADR_(struct l_ucontext *)]; @@ -724,30 +728,6 @@ char uaddr2_l_[PADL_(void *)]; void * uaddr2; char uaddr2_r_[PADR_(void *)]; char val3_l_[PADL_(int)]; int val3; char val3_r_[PADR_(int)]; }; -struct linux_io_setup_args { - char nr_reqs_l_[PADL_(l_uint)]; l_uint nr_reqs; char nr_reqs_r_[PADR_(l_uint)]; - char ctxp_l_[PADL_(linux_aio_context_t *)]; linux_aio_context_t * ctxp; char ctxp_r_[PADR_(linux_aio_context_t *)]; -}; -struct linux_io_destroy_args { - char ctx_l_[PADL_(linux_aio_context_t)]; linux_aio_context_t ctx; char ctx_r_[PADR_(linux_aio_context_t)]; -}; -struct linux_io_getevents_args { - char ctx_id_l_[PADL_(linux_aio_context_t)]; linux_aio_context_t ctx_id; char ctx_id_r_[PADR_(linux_aio_context_t)]; - char min_nr_l_[PADL_(l_long)]; l_long min_nr; char min_nr_r_[PADR_(l_long)]; - char nr_l_[PADL_(l_long)]; l_long nr; char nr_r_[PADR_(l_long)]; - char events_l_[PADL_(struct linux_io_event *)]; struct linux_io_event * events; char events_r_[PADR_(struct linux_io_event *)]; - char timeout_l_[PADL_(struct l_timespec *)]; struct l_timespec * timeout; char timeout_r_[PADR_(struct l_timespec *)]; -}; -struct linux_io_submit_args { - char ctx_id_l_[PADL_(linux_aio_context_t)]; linux_aio_context_t ctx_id; char ctx_id_r_[PADR_(linux_aio_context_t)]; - char nr_l_[PADL_(l_long)]; l_long nr; char nr_r_[PADR_(l_long)]; - char iocbpp_l_[PADL_(struct linux_iocb **)]; struct linux_iocb ** iocbpp; char iocbpp_r_[PADR_(struct linux_iocb **)]; -}; -struct linux_io_cancel_args { - char ctx_id_l_[PADL_(linux_aio_context_t)]; linux_aio_context_t ctx_id; char ctx_id_r_[PADR_(linux_aio_context_t)]; - char iocb_l_[PADL_(struct linux_iocb *)]; struct linux_iocb * iocb; char iocb_r_[PADR_(struct linux_iocb *)]; - char result_l_[PADL_(struct linux_io_event *)]; struct linux_io_event * result; char result_r_[PADR_(struct linux_io_event *)]; -}; struct linux_fadvise64_args { register_t dummy; }; @@ -1105,11 +1085,6 @@ int linux_fremovexattr(struct thread *, struct linux_fremovexattr_args *); int linux_tkill(struct thread *, struct linux_tkill_args *); int linux_sys_futex(struct thread *, struct linux_sys_futex_args *); -int linux_io_setup(struct thread *, struct linux_io_setup_args *); -int linux_io_destroy(struct thread *, struct linux_io_destroy_args *); -int linux_io_getevents(struct thread *, struct linux_io_getevents_args *); -int linux_io_submit(struct thread *, struct linux_io_submit_args *); -int linux_io_cancel(struct thread *, struct linux_io_cancel_args *); int linux_fadvise64(struct thread *, struct linux_fadvise64_args *); int linux_exit_group(struct thread *, struct linux_exit_group_args *); int linux_lookup_dcookie(struct thread *, struct linux_lookup_dcookie_args *); @@ -1355,11 +1330,6 @@ #define LINUX_SYS_AUE_linux_fremovexattr AUE_NULL #define LINUX_SYS_AUE_linux_tkill AUE_NULL #define LINUX_SYS_AUE_linux_sys_futex AUE_NULL -#define LINUX_SYS_AUE_linux_io_setup AUE_NULL -#define LINUX_SYS_AUE_linux_io_destroy AUE_NULL -#define LINUX_SYS_AUE_linux_io_getevents AUE_NULL -#define LINUX_SYS_AUE_linux_io_submit AUE_NULL -#define LINUX_SYS_AUE_linux_io_cancel AUE_NULL #define LINUX_SYS_AUE_linux_fadvise64 AUE_NULL #define LINUX_SYS_AUE_linux_exit_group AUE_EXIT #define LINUX_SYS_AUE_linux_lookup_dcookie AUE_NULL ==== //depot/projects/trustedbsd/priv/sys/amd64/linux32/linux32_syscall.h#4 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.23 2006/10/15 14:24:09 netchild Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.21 2006/10/15 14:22:12 netchild Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.25 2006/10/29 14:12:44 netchild Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.23 2006/10/29 14:02:38 netchild Exp */ #define LINUX_SYS_exit 1 @@ -221,11 +221,6 @@ #define LINUX_SYS_linux_fremovexattr 237 #define LINUX_SYS_linux_tkill 238 #define LINUX_SYS_linux_sys_futex 240 -#define LINUX_SYS_linux_io_setup 245 -#define LINUX_SYS_linux_io_destroy 246 -#define LINUX_SYS_linux_io_getevents 247 -#define LINUX_SYS_linux_io_submit 248 -#define LINUX_SYS_linux_io_cancel 249 #define LINUX_SYS_linux_fadvise64 250 #define LINUX_SYS_linux_exit_group 252 #define LINUX_SYS_linux_lookup_dcookie 253 ==== //depot/projects/trustedbsd/priv/sys/amd64/linux32/linux32_sysent.c#4 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.23 2006/10/15 14:24:09 netchild Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.21 2006/10/15 14:22:12 netchild Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.25 2006/10/29 14:12:44 netchild Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.23 2006/10/29 14:02:38 netchild Exp */ #include @@ -192,7 +192,7 @@ { 0, (sy_call_t *)linux_nfsservctl, AUE_NULL, NULL, 0, 0 }, /* 169 = linux_nfsservctl */ { AS(linux_setresgid16_args), (sy_call_t *)linux_setresgid16, AUE_SETRESGID, NULL, 0, 0 }, /* 170 = linux_setresgid16 */ { AS(linux_getresgid16_args), (sy_call_t *)linux_getresgid16, AUE_GETRESGID, NULL, 0, 0 }, /* 171 = linux_getresgid16 */ - { 0, (sy_call_t *)linux_prctl, AUE_PRCTL, NULL, 0, 0 }, /* 172 = linux_prctl */ + { AS(linux_prctl_args), (sy_call_t *)linux_prctl, AUE_PRCTL, NULL, 0, 0 }, /* 172 = linux_prctl */ { AS(linux_rt_sigreturn_args), (sy_call_t *)linux_rt_sigreturn, AUE_NULL, NULL, 0, 0 }, /* 173 = linux_rt_sigreturn */ { AS(linux_rt_sigaction_args), (sy_call_t *)linux_rt_sigaction, AUE_NULL, NULL, 0, 0 }, /* 174 = linux_rt_sigaction */ { AS(linux_rt_sigprocmask_args), (sy_call_t *)linux_rt_sigprocmask, AUE_NULL, NULL, 0, 0 }, /* 175 = linux_rt_sigprocmask */ @@ -265,11 +265,11 @@ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 242 = linux_sched_getaffinity */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 243 = linux_set_thread_area */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 244 = linux_get_thread_area */ - { AS(linux_io_setup_args), (sy_call_t *)linux_io_setup, AUE_NULL, NULL, 0, 0 }, /* 245 = linux_io_setup */ - { AS(linux_io_destroy_args), (sy_call_t *)linux_io_destroy, AUE_NULL, NULL, 0, 0 }, /* 246 = linux_io_destroy */ - { AS(linux_io_getevents_args), (sy_call_t *)linux_io_getevents, AUE_NULL, NULL, 0, 0 }, /* 247 = linux_io_getevents */ - { AS(linux_io_submit_args), (sy_call_t *)linux_io_submit, AUE_NULL, NULL, 0, 0 }, /* 248 = linux_io_submit */ - { AS(linux_io_cancel_args), (sy_call_t *)linux_io_cancel, AUE_NULL, NULL, 0, 0 }, /* 249 = linux_io_cancel */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 245 = linux_io_setup */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 246 = linux_io_destroy */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 247 = linux_io_getevents */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 248 = inux_io_submit */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 249 = linux_io_cancel */ { 0, (sy_call_t *)linux_fadvise64, AUE_NULL, NULL, 0, 0 }, /* 250 = linux_fadvise64 */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 251 = */ { AS(linux_exit_group_args), (sy_call_t *)linux_exit_group, AUE_EXIT, NULL, 0, 0 }, /* 252 = linux_exit_group */ ==== //depot/projects/trustedbsd/priv/sys/amd64/linux32/syscalls.master#4 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.21 2006/10/15 14:22:12 netchild Exp $ + $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.23 2006/10/29 14:02:38 netchild Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from LINUX). @@ -298,7 +298,8 @@ l_gid16_t egid, l_gid16_t sgid); } 171 AUE_GETRESGID STD { int linux_getresgid16(l_gid16_t *rgid, \ l_gid16_t *egid, l_gid16_t *sgid); } -172 AUE_PRCTL STD { int linux_prctl(void); } +172 AUE_PRCTL STD { int linux_prctl(l_int option, l_int arg2, l_int arg3, \ + l_int arg4, l_int arg5); } 173 AUE_NULL STD { int linux_rt_sigreturn( \ struct l_ucontext *ucp); } 174 AUE_NULL STD { int linux_rt_sigaction(l_int sig, \ @@ -406,11 +407,11 @@ 242 AUE_NULL UNIMPL linux_sched_getaffinity 243 AUE_NULL UNIMPL linux_set_thread_area 244 AUE_NULL UNIMPL linux_get_thread_area -245 AUE_NULL STD { int linux_io_setup(l_uint nr_reqs, linux_aio_context_t *ctxp); } -246 AUE_NULL STD { int linux_io_destroy(linux_aio_context_t ctx); } -247 AUE_NULL STD { int linux_io_getevents(linux_aio_context_t ctx_id, l_long min_nr, l_long nr, struct linux_io_event *events, struct l_timespec *timeout); } -248 AUE_NULL STD { int linux_io_submit(linux_aio_context_t ctx_id, l_long nr, struct linux_iocb **iocbpp); } -249 AUE_NULL STD { int linux_io_cancel(linux_aio_context_t ctx_id, struct linux_iocb *iocb, struct linux_io_event *result); } +245 AUE_NULL UNIMPL linux_io_setup +246 AUE_NULL UNIMPL linux_io_destroy +247 AUE_NULL UNIMPL linux_io_getevents +248 AUE_NULL UNIMPL inux_io_submit +249 AUE_NULL UNIMPL linux_io_cancel 250 AUE_NULL STD { int linux_fadvise64(void); } 251 AUE_NULL UNIMPL 252 AUE_EXIT STD { int linux_exit_group(int error_code); } ==== //depot/projects/trustedbsd/priv/sys/arm/arm/elf_trampoline.c#3 (text+ko) ==== @@ -23,8 +23,9 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.14 2006/10/21 04:25:00 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.15 2006/10/30 23:23:00 cognet Exp $"); #include +#include #include #include #include ==== //depot/projects/trustedbsd/priv/sys/arm/arm/trap.c#3 (text+ko) ==== @@ -82,7 +82,7 @@ #include "opt_ktrace.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.31 2006/10/21 04:25:00 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.32 2006/10/26 21:42:16 jb Exp $"); #include #include @@ -263,8 +263,10 @@ td->td_frame = tf; if (td->td_ucred != td->td_proc->p_ucred) cred_update_thread(td); +#ifdef KSE if (td->td_pflags & TDP_SA) thread_user_enter(td); +#endif } /* Grab the current pcb */ @@ -730,8 +732,10 @@ td->td_frame = tf; if (td->td_ucred != td->td_proc->p_ucred) cred_update_thread(td); +#ifdef KSE if (td->td_proc->p_flag & P_SA) thread_user_enter(td); +#endif } fault_pc = tf->tf_pc; if (td->td_md.md_spinlock_count == 0) { @@ -1005,8 +1009,10 @@ td->td_frame = frame; td->td_pticks = 0; +#ifdef KSE if (td->td_proc->p_flag & P_SA) thread_user_enter(td); +#endif /* * Make sure the program counter is correctly aligned so we * don't take an alignment fault trying to read the opcode. ==== //depot/projects/trustedbsd/priv/sys/arm/at91/kb920x_machdep.c#4 (text) ==== @@ -48,7 +48,7 @@ #include "opt_at91.h" #include -__FBSDID("$FreeBSD: src/sys/arm/at91/kb920x_machdep.c,v 1.17 2006/10/20 07:03:57 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/kb920x_machdep.c,v 1.18 2006/10/26 21:42:17 jb Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -456,7 +456,11 @@ undefined_handler_address = (u_int)undefinedinstruction_bounce; undefined_init(); +#ifdef KSE proc_linkup(&proc0, &ksegrp0, &thread0); +#else + proc_linkup(&proc0, &thread0); +#endif thread0.td_kstack = kernelstack.pv_va; thread0.td_pcb = (struct pcb *) (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; ==== //depot/projects/trustedbsd/priv/sys/arm/conf/EP80219#2 (text+ko) ==== @@ -15,7 +15,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/EP80219,v 1.1 2006/08/24 23:51:27 cognet Exp $ +# $FreeBSD: src/sys/arm/conf/EP80219,v 1.3 2006/10/26 22:11:35 jb Exp $ machine arm ident EP80219 ==== //depot/projects/trustedbsd/priv/sys/arm/conf/IQ31244#2 (text+ko) ==== @@ -15,7 +15,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/IQ31244,v 1.15 2006/06/15 19:58:52 netchild Exp $ +# $FreeBSD: src/sys/arm/conf/IQ31244,v 1.17 2006/10/26 22:11:35 jb Exp $ machine arm ident IQ31244 ==== //depot/projects/trustedbsd/priv/sys/arm/conf/KB920X#2 (text) ==== @@ -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/arm/conf/KB920X,v 1.9 2006/07/17 21:17:20 cognet Exp $ +# $FreeBSD: src/sys/arm/conf/KB920X,v 1.11 2006/10/26 22:11:35 jb Exp $ machine arm ident KB920X ==== //depot/projects/trustedbsd/priv/sys/arm/conf/SIMICS#2 (text+ko) ==== @@ -15,7 +15,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/SIMICS,v 1.10 2006/06/15 19:58:52 netchild Exp $ +# $FreeBSD: src/sys/arm/conf/SIMICS,v 1.12 2006/10/26 22:11:35 jb Exp $ machine arm ident SIMICS ==== //depot/projects/trustedbsd/priv/sys/arm/conf/SKYEYE#2 (text) ==== @@ -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/arm/conf/SKYEYE,v 1.5 2006/06/15 19:58:52 netchild Exp $ +# $FreeBSD: src/sys/arm/conf/SKYEYE,v 1.7 2006/10/26 22:11:35 jb Exp $ machine arm ident KB920X ==== //depot/projects/trustedbsd/priv/sys/arm/sa11x0/assabet_machdep.c#2 (text+ko) ==== @@ -47,7 +47,7 @@ #include -__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.18 2006/08/08 20:59:38 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.19 2006/10/26 21:42:17 jb Exp $"); #include "opt_md.h" @@ -423,7 +423,11 @@ /* Set stack for exception handlers */ +#ifdef KSE proc_linkup(&proc0, &ksegrp0, &thread0); +#else + proc_linkup(&proc0, &thread0); +#endif thread0.td_kstack = kernelstack.pv_va; thread0.td_pcb = (struct pcb *) (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; ==== //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/ep80219_machdep.c#3 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.2 2006/08/27 13:23:51 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.3 2006/10/26 21:42:17 jb Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -429,7 +429,11 @@ undefined_handler_address = (u_int)undefinedinstruction_bounce; undefined_init(); +#ifdef KSE proc_linkup(&proc0, &ksegrp0, &thread0); +#else + proc_linkup(&proc0, &thread0); +#endif thread0.td_kstack = kernelstack.pv_va; thread0.td_pcb = (struct pcb *) (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; ==== //depot/projects/trustedbsd/priv/sys/arm/xscale/i80321/iq31244_machdep.c#2 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.23 2006/08/24 23:51:28 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.24 2006/10/26 21:42:17 jb Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -427,7 +427,11 @@ undefined_handler_address = (u_int)undefinedinstruction_bounce; undefined_init(); +#ifdef KSE proc_linkup(&proc0, &ksegrp0, &thread0); +#else + proc_linkup(&proc0, &thread0); +#endif thread0.td_kstack = kernelstack.pv_va; thread0.td_pcb = (struct pcb *) (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; ==== //depot/projects/trustedbsd/priv/sys/boot/common/load_elf.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/common/load_elf.c,v 1.34 2006/05/12 04:09:52 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/common/load_elf.c,v 1.35 2006/10/29 14:50:57 ru Exp $"); #include #include @@ -263,7 +263,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Oct 31 14:54:20 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F384F16A4A7; Tue, 31 Oct 2006 14:54:19 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 B3D4816A47C for ; Tue, 31 Oct 2006 14:54:19 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 69CE743D46 for ; Tue, 31 Oct 2006 14:54:19 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9VEsJKZ023634 for ; Tue, 31 Oct 2006 14:54:19 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9VEsJcH023631 for perforce@freebsd.org; Tue, 31 Oct 2006 14:54:19 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 31 Oct 2006 14:54:19 GMT Message-Id: <200610311454.k9VEsJcH023631@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 108828 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Oct 2006 14:54:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=108828 Change 108828 by rwatson@rwatson_zoo on 2006/10/31 14:53:46 Spelling error. Not sure why build tests didn't catch this. Submitted by: pjd Affected files ... .. //depot/projects/trustedbsd/priv/sys/fs/umapfs/umap_vfsops.c#4 edit Differences ... ==== //depot/projects/trustedbsd/priv/sys/fs/umapfs/umap_vfsops.c#4 (text+ko) ==== @@ -90,7 +90,7 @@ */ error = priv_check(td, PRIV_VFS_MOUNT); if (error) - return (ERROR); + return (error); #ifdef DEBUG printf("umapfs_mount(mp = %p)\n", (void *)mp); From owner-p4-projects@FreeBSD.ORG Tue Oct 31 14:57:27 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 02D6116A416; Tue, 31 Oct 2006 14:57:27 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 CE5D016A407 for ; Tue, 31 Oct 2006 14:57:26 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E218C43D60 for ; Tue, 31 Oct 2006 14:57:24 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9VEvO5T023901 for ; Tue, 31 Oct 2006 14:57:24 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9VEvOum023898 for perforce@freebsd.org; Tue, 31 Oct 2006 14:57:24 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 31 Oct 2006 14:57:24 GMT Message-Id: <200610311457.k9VEvOum023898@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 108829 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Oct 2006 14:57:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=108829 Change 108829 by rwatson@rwatson_zoo on 2006/10/31 14:56:33 Style fix. Submitted by: pjd Affected files ... .. //depot/projects/trustedbsd/priv/sys/kern/kern_jail.c#12 edit Differences ... ==== //depot/projects/trustedbsd/priv/sys/kern/kern_jail.c#12 (text+ko) ==== @@ -532,7 +532,7 @@ prison_priv_check(struct ucred *cred, int priv) { - if (!(jailed(cred))) + if (!jailed(cred)) return (0); switch (priv) { From owner-p4-projects@FreeBSD.ORG Tue Oct 31 14:58:33 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4211916A4DF; Tue, 31 Oct 2006 14:58:32 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 CB85D16A4D4 for ; Tue, 31 Oct 2006 14:58:31 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A8CE043DB0 for ; Tue, 31 Oct 2006 14:58:26 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9VEwQr4024020 for ; Tue, 31 Oct 2006 14:58:26 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9VEwQ3A024015 for perforce@freebsd.org; Tue, 31 Oct 2006 14:58:26 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 31 Oct 2006 14:58:26 GMT Message-Id: <200610311458.k9VEwQ3A024015@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 108830 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Oct 2006 14:58:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=108830 Change 108830 by rwatson@rwatson_zoo on 2006/10/31 14:58:07 Style fix. Submitted by: pjd Affected files ... .. //depot/projects/trustedbsd/priv/sys/netatm/atm_usrreq.c#3 edit Differences ... ==== //depot/projects/trustedbsd/priv/sys/netatm/atm_usrreq.c#3 (text+ko) ==== @@ -182,7 +182,7 @@ struct atmcfgreq *acp = (struct atmcfgreq *)data; struct atm_pif *pip; - if (td != 0) { + if (td != NULL) { err = priv_check(td, PRIV_NETATM_CFG); if (err) ATM_RETERR(err); From owner-p4-projects@FreeBSD.ORG Tue Oct 31 19:26:47 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A322716A6A5; Tue, 31 Oct 2006 19:26:47 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 7A60516A699 for ; Tue, 31 Oct 2006 19:26:47 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 78B0543DD0 for ; Tue, 31 Oct 2006 19:26:24 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9VJQFE9083983 for ; Tue, 31 Oct 2006 19:26:15 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9VJQCkj083978 for perforce@freebsd.org; Tue, 31 Oct 2006 19:26:12 GMT (envelope-from mjacob@freebsd.org) Date: Tue, 31 Oct 2006 19:26:12 GMT Message-Id: <200610311926.k9VJQCkj083978@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 108849 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Oct 2006 19:26:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=108849 Change 108849 by mjacob@mjexp on 2006/10/31 19:25:41 IFC Affected files ... .. //depot/projects/mjexp/sys/amd64/amd64/machdep.c#3 integrate .. //depot/projects/mjexp/sys/amd64/amd64/prof_machdep.c#2 integrate .. //depot/projects/mjexp/sys/amd64/amd64/trap.c#2 integrate .. //depot/projects/mjexp/sys/amd64/conf/DEFAULTS#2 integrate .. //depot/projects/mjexp/sys/amd64/conf/GENERIC#3 integrate .. //depot/projects/mjexp/sys/amd64/include/asmacros.h#2 integrate .. //depot/projects/mjexp/sys/amd64/include/profile.h#2 integrate .. //depot/projects/mjexp/sys/amd64/linux32/linux.h#3 integrate .. //depot/projects/mjexp/sys/amd64/linux32/linux32_dummy.c#2 integrate .. //depot/projects/mjexp/sys/amd64/linux32/linux32_proto.h#3 integrate .. //depot/projects/mjexp/sys/amd64/linux32/linux32_syscall.h#3 integrate .. //depot/projects/mjexp/sys/amd64/linux32/linux32_sysent.c#3 integrate .. //depot/projects/mjexp/sys/amd64/linux32/linux32_sysvec.c#2 integrate .. //depot/projects/mjexp/sys/amd64/linux32/syscalls.master#3 integrate .. //depot/projects/mjexp/sys/arm/arm/elf_trampoline.c#3 integrate .. //depot/projects/mjexp/sys/arm/arm/trap.c#3 integrate .. //depot/projects/mjexp/sys/arm/at91/kb920x_machdep.c#3 integrate .. //depot/projects/mjexp/sys/arm/conf/EP80219#2 integrate .. //depot/projects/mjexp/sys/arm/conf/IQ31244#2 integrate .. //depot/projects/mjexp/sys/arm/conf/KB920X#2 integrate .. //depot/projects/mjexp/sys/arm/conf/SIMICS#2 integrate .. //depot/projects/mjexp/sys/arm/conf/SKYEYE#2 integrate .. //depot/projects/mjexp/sys/arm/sa11x0/assabet_machdep.c#2 integrate .. //depot/projects/mjexp/sys/arm/xscale/i80321/ep80219_machdep.c#2 integrate .. //depot/projects/mjexp/sys/arm/xscale/i80321/iq31244_machdep.c#2 integrate .. //depot/projects/mjexp/sys/boot/common/load_elf.c#2 integrate .. //depot/projects/mjexp/sys/boot/i386/boot2/boot2.c#2 integrate .. //depot/projects/mjexp/sys/boot/i386/libi386/elf32_freebsd.c#2 integrate .. //depot/projects/mjexp/sys/boot/i386/libi386/elf64_freebsd.c#2 integrate .. //depot/projects/mjexp/sys/boot/pc98/boot2/boot.c#2 integrate .. //depot/projects/mjexp/sys/cam/scsi/scsi_low.c#2 integrate .. //depot/projects/mjexp/sys/compat/linprocfs/linprocfs.c#3 integrate .. //depot/projects/mjexp/sys/compat/linux/linux_aio.c#2 delete .. //depot/projects/mjexp/sys/compat/linux/linux_aio.h#2 delete .. //depot/projects/mjexp/sys/compat/linux/linux_emul.c#3 integrate .. //depot/projects/mjexp/sys/compat/linux/linux_emul.h#2 integrate .. //depot/projects/mjexp/sys/compat/linux/linux_misc.c#4 integrate .. //depot/projects/mjexp/sys/compat/linux/linux_misc.h#1 branch .. //depot/projects/mjexp/sys/conf/files#4 integrate .. //depot/projects/mjexp/sys/conf/files.amd64#4 integrate .. //depot/projects/mjexp/sys/conf/files.i386#4 integrate .. //depot/projects/mjexp/sys/conf/files.pc98#4 integrate .. //depot/projects/mjexp/sys/conf/kern.post.mk#3 integrate .. //depot/projects/mjexp/sys/conf/kern.pre.mk#3 integrate .. //depot/projects/mjexp/sys/ddb/db_ps.c#2 integrate .. //depot/projects/mjexp/sys/dev/aac/aac_cam.c#2 integrate .. //depot/projects/mjexp/sys/dev/acpi_support/acpi_aiboost.c#1 branch .. //depot/projects/mjexp/sys/dev/advansys/advansys.c#2 integrate .. //depot/projects/mjexp/sys/dev/advansys/advlib.c#2 integrate .. //depot/projects/mjexp/sys/dev/advansys/adwcam.c#2 integrate .. //depot/projects/mjexp/sys/dev/aha/aha.c#2 integrate .. //depot/projects/mjexp/sys/dev/ahb/ahb.c#2 integrate .. //depot/projects/mjexp/sys/dev/aic/aic.c#2 integrate .. //depot/projects/mjexp/sys/dev/amd/amd.c#2 integrate .. //depot/projects/mjexp/sys/dev/amr/amr_cam.c#2 integrate .. //depot/projects/mjexp/sys/dev/arcmsr/arcmsr.c#2 integrate .. //depot/projects/mjexp/sys/dev/asr/asr.c#2 integrate .. //depot/projects/mjexp/sys/dev/ata/atapi-cam.c#2 integrate .. //depot/projects/mjexp/sys/dev/bce/if_bce.c#4 integrate .. //depot/projects/mjexp/sys/dev/ciss/ciss.c#2 integrate .. //depot/projects/mjexp/sys/dev/dc/if_dc.c#2 integrate .. //depot/projects/mjexp/sys/dev/dpt/dpt_scsi.c#2 integrate .. //depot/projects/mjexp/sys/dev/em/if_em.c#2 integrate .. //depot/projects/mjexp/sys/dev/em/if_em.h#2 integrate .. //depot/projects/mjexp/sys/dev/em/if_em_hw.c#2 integrate .. //depot/projects/mjexp/sys/dev/em/if_em_hw.h#2 integrate .. //depot/projects/mjexp/sys/dev/em/if_em_osdep.h#2 integrate .. //depot/projects/mjexp/sys/dev/esp/ncr53c9x.c#2 integrate .. //depot/projects/mjexp/sys/dev/firewire/sbp.c#2 integrate .. //depot/projects/mjexp/sys/dev/iir/iir.c#2 integrate .. //depot/projects/mjexp/sys/dev/isp/isp_freebsd.c#2 integrate .. //depot/projects/mjexp/sys/dev/mly/mly.c#2 integrate .. //depot/projects/mjexp/sys/dev/mpt/mpt_cam.c#2 integrate .. //depot/projects/mjexp/sys/dev/pci/pci.c#4 integrate .. //depot/projects/mjexp/sys/dev/pci/pci_pci.c#3 integrate .. //depot/projects/mjexp/sys/dev/pci/pcivar.h#3 integrate .. //depot/projects/mjexp/sys/dev/sound/pcm/dsp.c#3 integrate .. //depot/projects/mjexp/sys/dev/trm/trm.c#2 integrate .. //depot/projects/mjexp/sys/dev/twa/tw_osl_cam.c#2 integrate .. //depot/projects/mjexp/sys/dev/usb/ubsa.c#2 integrate .. //depot/projects/mjexp/sys/dev/usb/umass.c#3 integrate .. //depot/projects/mjexp/sys/dev/usb/usbdevs#3 integrate .. //depot/projects/mjexp/sys/fs/procfs/procfs_status.c#2 integrate .. //depot/projects/mjexp/sys/i386/conf/DEFAULTS#2 integrate .. //depot/projects/mjexp/sys/i386/conf/GENERIC#3 integrate .. //depot/projects/mjexp/sys/i386/conf/NOTES#3 integrate .. //depot/projects/mjexp/sys/i386/i386/machdep.c#3 integrate .. //depot/projects/mjexp/sys/i386/i386/trap.c#2 integrate .. //depot/projects/mjexp/sys/i386/include/asmacros.h#2 integrate .. //depot/projects/mjexp/sys/i386/include/profile.h#2 integrate .. //depot/projects/mjexp/sys/i386/isa/prof_machdep.c#2 integrate .. //depot/projects/mjexp/sys/i386/linux/linux.h#3 integrate .. //depot/projects/mjexp/sys/i386/linux/linux_dummy.c#2 integrate .. //depot/projects/mjexp/sys/i386/linux/linux_proto.h#3 integrate .. //depot/projects/mjexp/sys/i386/linux/linux_syscall.h#3 integrate .. //depot/projects/mjexp/sys/i386/linux/linux_sysent.c#3 integrate .. //depot/projects/mjexp/sys/i386/linux/syscalls.master#3 integrate .. //depot/projects/mjexp/sys/ia64/conf/DEFAULTS#2 integrate .. //depot/projects/mjexp/sys/ia64/conf/GENERIC#3 integrate .. //depot/projects/mjexp/sys/ia64/ia64/machdep.c#2 integrate .. //depot/projects/mjexp/sys/ia64/ia64/trap.c#2 integrate .. //depot/projects/mjexp/sys/kern/init_main.c#3 integrate .. //depot/projects/mjexp/sys/kern/kern_clock.c#2 integrate .. //depot/projects/mjexp/sys/kern/kern_fork.c#3 integrate .. //depot/projects/mjexp/sys/kern/kern_idle.c#2 integrate .. //depot/projects/mjexp/sys/kern/kern_intr.c#3 integrate .. //depot/projects/mjexp/sys/kern/kern_kse.c#2 integrate .. //depot/projects/mjexp/sys/kern/kern_malloc.c#2 integrate .. //depot/projects/mjexp/sys/kern/kern_poll.c#2 integrate .. //depot/projects/mjexp/sys/kern/kern_proc.c#2 integrate .. //depot/projects/mjexp/sys/kern/kern_resource.c#2 integrate .. //depot/projects/mjexp/sys/kern/kern_sig.c#4 integrate .. //depot/projects/mjexp/sys/kern/kern_subr.c#2 integrate .. //depot/projects/mjexp/sys/kern/kern_switch.c#2 integrate .. //depot/projects/mjexp/sys/kern/kern_synch.c#2 integrate .. //depot/projects/mjexp/sys/kern/kern_thr.c#2 integrate .. //depot/projects/mjexp/sys/kern/kern_thread.c#2 integrate .. //depot/projects/mjexp/sys/kern/kern_umtx.c#4 integrate .. //depot/projects/mjexp/sys/kern/sched_4bsd.c#2 integrate .. //depot/projects/mjexp/sys/kern/sched_ule.c#2 integrate .. //depot/projects/mjexp/sys/kern/subr_trap.c#4 integrate .. //depot/projects/mjexp/sys/kern/sys_process.c#4 integrate .. //depot/projects/mjexp/sys/kern/tty.c#2 integrate .. //depot/projects/mjexp/sys/kern/vfs_bio.c#4 integrate .. //depot/projects/mjexp/sys/kern/vfs_syscalls.c#3 integrate .. //depot/projects/mjexp/sys/modules/acpi/Makefile#2 integrate .. //depot/projects/mjexp/sys/modules/acpi/acpi_aiboost/Makefile#1 branch .. //depot/projects/mjexp/sys/modules/linux/Makefile#3 integrate .. //depot/projects/mjexp/sys/modules/powermac_nvram/Makefile#2 integrate .. //depot/projects/mjexp/sys/netinet/ip_dummynet.c#2 integrate .. //depot/projects/mjexp/sys/nfsserver/nfs_serv.c#2 integrate .. //depot/projects/mjexp/sys/pc98/conf/DEFAULTS#2 integrate .. //depot/projects/mjexp/sys/pc98/conf/GENERIC#3 integrate .. //depot/projects/mjexp/sys/pc98/pc98/machdep.c#3 integrate .. //depot/projects/mjexp/sys/pci/if_sis.c#2 integrate .. //depot/projects/mjexp/sys/pci/ncr.c#2 integrate .. //depot/projects/mjexp/sys/posix4/ksched.c#2 integrate .. //depot/projects/mjexp/sys/powerpc/conf/DEFAULTS#2 integrate .. //depot/projects/mjexp/sys/powerpc/conf/GENERIC#3 integrate .. //depot/projects/mjexp/sys/powerpc/powerpc/machdep.c#2 integrate .. //depot/projects/mjexp/sys/powerpc/powerpc/trap.c#2 integrate .. //depot/projects/mjexp/sys/sparc64/conf/DEFAULTS#2 integrate .. //depot/projects/mjexp/sys/sparc64/conf/GENERIC#3 integrate .. //depot/projects/mjexp/sys/sparc64/include/endian.h#2 integrate .. //depot/projects/mjexp/sys/sparc64/sparc64/machdep.c#2 integrate .. //depot/projects/mjexp/sys/sparc64/sparc64/trap.c#2 integrate .. //depot/projects/mjexp/sys/sun4v/conf/DEFAULTS#2 integrate .. //depot/projects/mjexp/sys/sun4v/include/endian.h#2 integrate .. //depot/projects/mjexp/sys/sun4v/sun4v/machdep.c#2 integrate .. //depot/projects/mjexp/sys/sys/mac_policy.h#3 integrate .. //depot/projects/mjexp/sys/sys/param.h#3 integrate .. //depot/projects/mjexp/sys/sys/proc.h#3 integrate .. //depot/projects/mjexp/sys/sys/rtprio.h#2 integrate .. //depot/projects/mjexp/sys/sys/sched.h#2 integrate .. //depot/projects/mjexp/sys/sys/soundcard.h#2 integrate .. //depot/projects/mjexp/sys/vm/uma_core.c#2 integrate .. //depot/projects/mjexp/sys/vm/vm_glue.c#3 integrate .. //depot/projects/mjexp/sys/vm/vm_zeroidle.c#2 integrate Differences ... ==== //depot/projects/mjexp/sys/amd64/amd64/machdep.c#3 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.656 2006/10/12 12:48:21 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.657 2006/10/26 21:42:16 jb Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -1120,7 +1120,11 @@ * This may be done better later if it gets more high level * components in it. If so just link td->td_proc here. */ +#ifdef KSE proc_linkup(&proc0, &ksegrp0, &thread0); +#else + proc_linkup(&proc0, &thread0); +#endif preload_metadata = (caddr_t)(uintptr_t)(modulep + KERNBASE); preload_bootstrap_relocate(KERNBASE); ==== //depot/projects/mjexp/sys/amd64/amd64/prof_machdep.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/prof_machdep.c,v 1.24 2005/05/14 09:10:00 nyan Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/prof_machdep.c,v 1.28 2006/10/29 09:48:44 bde Exp $"); #ifdef GUPROF #if 0 @@ -37,20 +37,15 @@ #include #include #include +#include #include #include #if 0 #include #endif -#include -#undef MCOUNT -#endif - -#include #include -#ifdef GUPROF #define CPUTIME_CLOCK_UNINITIALIZED 0 #define CPUTIME_CLOCK_I8254 1 #define CPUTIME_CLOCK_TSC 2 @@ -60,7 +55,7 @@ int cputime_bias = 1; /* initialize for locality of reference */ static int cputime_clock = CPUTIME_CLOCK_UNINITIALIZED; -#ifdef I586_PMC_GUPROF +#if defined(PERFMON) && defined(I586_PMC_GUPROF) static u_int cputime_clock_pmc_conf = I586_PMC_GUPROF; static int cputime_clock_pmc_init; static struct gmonparam saved_gmp; @@ -80,7 +75,7 @@ # \n\ # Check that we are profiling. Do it early for speed. \n\ # \n\ - cmpl $GMON_PROF_OFF," __XSTRING(CNAME(_gmonparam)) "+GM_STATE \n\ + cmpl $GMON_PROF_OFF,_gmonparam+GM_STATE \n\ je .mcount_exit \n\ # \n\ # __mcount is the same as [.]mcount except the caller \n\ @@ -98,11 +93,11 @@ jmp .got_frompc \n\ \n\ .p2align 4,0x90 \n\ - .globl " __XSTRING(HIDENAME(mcount)) " \n\ -" __XSTRING(HIDENAME(mcount)) ": \n\ + .globl .mcount \n\ +.mcount: \n\ .globl __cyg_profile_func_enter \n\ __cyg_profile_func_enter: \n\ - cmpl $GMON_PROF_OFF," __XSTRING(CNAME(_gmonparam)) "+GM_STATE \n\ + cmpl $GMON_PROF_OFF,_gmonparam+GM_STATE \n\ je .mcount_exit \n\ # \n\ # The caller's stack frame has already been built, so \n\ @@ -126,7 +121,7 @@ \n\ pushfq \n\ cli \n\ - call " __XSTRING(CNAME(mcount)) " \n\ + call mcount \n\ popfq \n\ popq %r9 \n\ popq %r8 \n\ @@ -139,7 +134,7 @@ ret \n\ "); #else /* !__GNUCLIKE_ASM */ -#error this file needs to be ported to your compiler +#error "this file needs to be ported to your compiler" #endif /* __GNUCLIKE_ASM */ #ifdef GUPROF @@ -164,11 +159,11 @@ GMON_PROF_HIRES = 4 \n\ \n\ .p2align 4,0x90 \n\ - .globl " __XSTRING(HIDENAME(mexitcount)) " \n\ -" __XSTRING(HIDENAME(mexitcount)) ": \n\ + .globl .mexitcount \n\ +.mexitcount: \n\ .globl __cyg_profile_func_exit \n\ __cyg_profile_func_exit: \n\ - cmpl $GMON_PROF_HIRES," __XSTRING(CNAME(_gmonparam)) "+GM_STATE \n\ + cmpl $GMON_PROF_HIRES,_gmonparam+GM_STATE \n\ jne .mexitcount_exit \n\ pushq %rax \n\ pushq %rdx \n\ @@ -180,7 +175,7 @@ movq 7*8(%rsp),%rdi \n\ pushfq \n\ cli \n\ - call " __XSTRING(CNAME(mexitcount)) " \n\ + call mexitcount \n\ popfq \n\ popq %r9 \n\ popq %r8 \n\ @@ -192,8 +187,6 @@ .mexitcount_exit: \n\ ret \n\ "); -#else /* !__GNUCLIKE_ASM */ -#error this file needs to be ported to your compiler #endif /* __GNUCLIKE_ASM */ /* @@ -212,7 +205,6 @@ u_char high, low; static u_int prev_count; -#ifndef SMP if (cputime_clock == CPUTIME_CLOCK_TSC) { /* * Scale the TSC a little to make cputime()'s frequency @@ -226,7 +218,7 @@ prev_count = count; return (delta); } -#if defined(PERFMON) && defined(I586_PMC_GUPROF) +#if defined(PERFMON) && defined(I586_PMC_GUPROF) && !defined(SMP) if (cputime_clock == CPUTIME_CLOCK_I586_PMC) { /* * XXX permon_read() should be inlined so that the @@ -240,8 +232,7 @@ prev_count = count; return (delta); } -#endif /* PERFMON && I586_PMC_GUPROF */ -#endif /* !SMP */ +#endif /* PERFMON && I586_PMC_GUPROF && !SMP */ /* * Read the current value of the 8254 timer counter 0. @@ -323,13 +314,10 @@ { if (cputime_clock == CPUTIME_CLOCK_UNINITIALIZED) { cputime_clock = CPUTIME_CLOCK_I8254; -#ifndef SMP - if (tsc_freq != 0) + if (tsc_freq != 0 && !tsc_is_broken && mp_ncpus < 2) cputime_clock = CPUTIME_CLOCK_TSC; -#endif } gp->profrate = timer_freq << CPUTIME_CLOCK_I8254_SHIFT; -#ifndef SMP if (cputime_clock == CPUTIME_CLOCK_TSC) gp->profrate = tsc_freq >> 1; #if defined(PERFMON) && defined(I586_PMC_GUPROF) @@ -358,7 +346,6 @@ } } #endif /* PERFMON && I586_PMC_GUPROF */ -#endif /* !SMP */ cputime_bias = 0; cputime(); } @@ -375,17 +362,4 @@ } #endif } - -#else /* !GUPROF */ -#ifdef __GNUCLIKE_ASM -__asm(" \n\ - .text \n\ - .p2align 4,0x90 \n\ - .globl " __XSTRING(HIDENAME(mexitcount)) " \n\ -" __XSTRING(HIDENAME(mexitcount)) ": \n\ - ret \n\ -"); -#else /* !__GNUCLIKE_ASM */ -#error this file needs to be ported to your compiler -#endif /* __GNUCLIKE_ASM */ #endif /* GUPROF */ ==== //depot/projects/mjexp/sys/amd64/amd64/trap.c#2 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.310 2006/08/14 19:53:53 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.311 2006/10/26 21:42:16 jb Exp $"); /* * AMD64 Trap and System call handling @@ -299,8 +299,10 @@ case T_PAGEFLT: /* page fault */ addr = frame.tf_addr; +#ifdef KSE if (td->td_pflags & TDP_SA) thread_user_enter(td); +#endif i = trap_pfault(&frame, TRUE); if (i == -1) goto userout; @@ -757,8 +759,10 @@ td->td_frame = &frame; if (td->td_ucred != p->p_ucred) cred_update_thread(td); +#ifdef KSE if (p->p_flag & P_SA) thread_user_enter(td); +#endif params = (caddr_t)frame.tf_rsp + sizeof(register_t); code = frame.tf_rax; orig_tf_rflags = frame.tf_rflags; ==== //depot/projects/mjexp/sys/amd64/conf/DEFAULTS#2 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/amd64 # -# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.6 2006/06/12 04:21:49 imp Exp $ +# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.7 2006/10/26 22:05:24 jb Exp $ machine amd64 @@ -14,3 +14,6 @@ # UART chips on this platform device uart_ns8250 + +# KSE support went from being default to a kernel option +options KSE ==== //depot/projects/mjexp/sys/amd64/conf/GENERIC#3 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.466 2006/10/05 20:31:57 simon Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.468 2006/10/26 22:11:34 jb Exp $ cpu HAMMER ident GENERIC ==== //depot/projects/mjexp/sys/amd64/include/asmacros.h#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/include/asmacros.h,v 1.30 2006/03/14 00:01:56 peter Exp $ + * $FreeBSD: src/sys/amd64/include/asmacros.h,v 1.32 2006/10/28 06:04:29 bde Exp $ */ #ifndef _MACHINE_ASMACROS_H_ @@ -37,14 +37,12 @@ /* XXX too much duplication in various asm*.h's. */ /* - * CNAME and HIDENAME manage the relationship between symbol names in C + * CNAME is used to manage the relationship between symbol names in C * and the equivalent assembly language names. CNAME is given a name as * it would be used in a C program. It expands to the equivalent assembly - * language name. HIDENAME is given an assembly-language name, and expands - * to a possibly-modified form that will be invisible to C programs. + * language name. */ #define CNAME(csym) csym -#define HIDENAME(asmsym) .asmsym #define ALIGN_DATA .p2align 3 /* 8 byte alignment, zero filled */ #ifdef GPROF @@ -108,8 +106,12 @@ #define FAKE_MCOUNT(caller) pushq caller ; call __mcount ; popq %rcx #define MCOUNT call __mcount #define MCOUNT_LABEL(name) GEN_ENTRY(name) ; nop ; ALIGN_TEXT -#define MEXITCOUNT call HIDENAME(mexitcount) +#ifdef GUPROF +#define MEXITCOUNT call .mexitcount #define ret MEXITCOUNT ; NON_GPROF_RET +#else +#define MEXITCOUNT +#endif #else /* !GPROF */ /* ==== //depot/projects/mjexp/sys/amd64/include/profile.h#2 (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.45 2005/03/11 22:16:09 peter Exp $ + * $FreeBSD: src/sys/amd64/include/profile.h,v 1.48 2006/10/28 13:12:06 bde Exp $ */ #ifndef _MACHINE_PROFILE_H_ @@ -61,7 +61,7 @@ #define MCOUNT_OVERHEAD(label) \ __asm __volatile("pushq %0; call __mcount; popq %%rcx" \ : \ - : "i" (profil) \ + : "i" (label) \ : "ax", "dx", "cx", "di", "si", "r8", "r9", "memory") #define MEXITCOUNT_OVERHEAD() \ __asm __volatile("call .mexitcount; 1:" \ @@ -114,11 +114,11 @@ #ifdef __GNUCLIKE_ASM #define MCOUNT __asm(" \n\ + .text \n\ + .p2align 4,0x90 \n\ .globl .mcount \n\ - .type .mcount @function \n\ + .type .mcount,@function \n\ .mcount: \n\ - pushq %rbp \n\ - movq %rsp,%rbp \n\ pushq %rdi \n\ pushq %rsi \n\ pushq %rdx \n\ @@ -126,9 +126,8 @@ pushq %r8 \n\ pushq %r9 \n\ pushq %rax \n\ - movq 8(%rbp),%rsi \n\ - movq (%rbp),%rdi \n\ - movq 8(%rdi),%rdi \n\ + movq 8(%rbp),%rdi \n\ + movq 7*8(%rsp),%rsi \n\ call _mcount \n\ popq %rax \n\ popq %r9 \n\ @@ -137,7 +136,6 @@ popq %rdx \n\ popq %rsi \n\ popq %rdi \n\ - leave \n\ ret \n\ .size .mcount, . - .mcount"); #if 0 @@ -171,11 +169,7 @@ } #endif #else /* !__GNUCLIKE_ASM */ -#define MCOUNT \ -void \ -mcount() \ -{ \ -} +#define MCOUNT #endif /* __GNUCLIKE_ASM */ typedef u_long uintfptr_t; ==== //depot/projects/mjexp/sys/amd64/linux32/linux.h#3 (text+ko) ==== @@ -27,7 +27,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/amd64/linux32/linux.h,v 1.7 2006/10/15 14:22:12 netchild Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.8 2006/10/29 14:02:38 netchild Exp $ */ #ifndef _AMD64_LINUX_LINUX_H_ @@ -840,6 +840,4 @@ #define THREADING_FLAGS (CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND) -#include - #endif /* !_AMD64_LINUX_LINUX_H_ */ ==== //depot/projects/mjexp/sys/amd64/linux32/linux32_dummy.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_dummy.c,v 1.5 2006/08/27 08:56:53 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_dummy.c,v 1.6 2006/10/28 10:59:59 netchild Exp $"); #include #include @@ -53,7 +53,6 @@ DUMMY(sysfs); DUMMY(query_module); DUMMY(nfsservctl); -DUMMY(prctl); DUMMY(rt_sigtimedwait); DUMMY(rt_sigqueueinfo); DUMMY(capget); ==== //depot/projects/mjexp/sys/amd64/linux32/linux32_proto.h#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.23 2006/10/15 14:24:09 netchild Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.21 2006/10/15 14:22:12 netchild Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.25 2006/10/29 14:12:44 netchild Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.23 2006/10/29 14:02:38 netchild Exp */ #ifndef _LINUX_SYSPROTO_H_ @@ -521,7 +521,11 @@ char sgid_l_[PADL_(l_gid16_t *)]; l_gid16_t * sgid; char sgid_r_[PADR_(l_gid16_t *)]; }; struct linux_prctl_args { - register_t dummy; + char option_l_[PADL_(l_int)]; l_int option; char option_r_[PADR_(l_int)]; + char arg2_l_[PADL_(l_int)]; l_int arg2; char arg2_r_[PADR_(l_int)]; + char arg3_l_[PADL_(l_int)]; l_int arg3; char arg3_r_[PADR_(l_int)]; + char arg4_l_[PADL_(l_int)]; l_int arg4; char arg4_r_[PADR_(l_int)]; + char arg5_l_[PADL_(l_int)]; l_int arg5; char arg5_r_[PADR_(l_int)]; }; struct linux_rt_sigreturn_args { char ucp_l_[PADL_(struct l_ucontext *)]; struct l_ucontext * ucp; char ucp_r_[PADR_(struct l_ucontext *)]; @@ -724,30 +728,6 @@ char uaddr2_l_[PADL_(void *)]; void * uaddr2; char uaddr2_r_[PADR_(void *)]; char val3_l_[PADL_(int)]; int val3; char val3_r_[PADR_(int)]; }; -struct linux_io_setup_args { - char nr_reqs_l_[PADL_(l_uint)]; l_uint nr_reqs; char nr_reqs_r_[PADR_(l_uint)]; - char ctxp_l_[PADL_(linux_aio_context_t *)]; linux_aio_context_t * ctxp; char ctxp_r_[PADR_(linux_aio_context_t *)]; -}; -struct linux_io_destroy_args { - char ctx_l_[PADL_(linux_aio_context_t)]; linux_aio_context_t ctx; char ctx_r_[PADR_(linux_aio_context_t)]; -}; -struct linux_io_getevents_args { - char ctx_id_l_[PADL_(linux_aio_context_t)]; linux_aio_context_t ctx_id; char ctx_id_r_[PADR_(linux_aio_context_t)]; - char min_nr_l_[PADL_(l_long)]; l_long min_nr; char min_nr_r_[PADR_(l_long)]; - char nr_l_[PADL_(l_long)]; l_long nr; char nr_r_[PADR_(l_long)]; - char events_l_[PADL_(struct linux_io_event *)]; struct linux_io_event * events; char events_r_[PADR_(struct linux_io_event *)]; - char timeout_l_[PADL_(struct l_timespec *)]; struct l_timespec * timeout; char timeout_r_[PADR_(struct l_timespec *)]; -}; -struct linux_io_submit_args { - char ctx_id_l_[PADL_(linux_aio_context_t)]; linux_aio_context_t ctx_id; char ctx_id_r_[PADR_(linux_aio_context_t)]; - char nr_l_[PADL_(l_long)]; l_long nr; char nr_r_[PADR_(l_long)]; - char iocbpp_l_[PADL_(struct linux_iocb **)]; struct linux_iocb ** iocbpp; char iocbpp_r_[PADR_(struct linux_iocb **)]; -}; -struct linux_io_cancel_args { - char ctx_id_l_[PADL_(linux_aio_context_t)]; linux_aio_context_t ctx_id; char ctx_id_r_[PADR_(linux_aio_context_t)]; - char iocb_l_[PADL_(struct linux_iocb *)]; struct linux_iocb * iocb; char iocb_r_[PADR_(struct linux_iocb *)]; - char result_l_[PADL_(struct linux_io_event *)]; struct linux_io_event * result; char result_r_[PADR_(struct linux_io_event *)]; -}; struct linux_fadvise64_args { register_t dummy; }; @@ -1105,11 +1085,6 @@ int linux_fremovexattr(struct thread *, struct linux_fremovexattr_args *); int linux_tkill(struct thread *, struct linux_tkill_args *); int linux_sys_futex(struct thread *, struct linux_sys_futex_args *); -int linux_io_setup(struct thread *, struct linux_io_setup_args *); -int linux_io_destroy(struct thread *, struct linux_io_destroy_args *); -int linux_io_getevents(struct thread *, struct linux_io_getevents_args *); -int linux_io_submit(struct thread *, struct linux_io_submit_args *); -int linux_io_cancel(struct thread *, struct linux_io_cancel_args *); int linux_fadvise64(struct thread *, struct linux_fadvise64_args *); int linux_exit_group(struct thread *, struct linux_exit_group_args *); int linux_lookup_dcookie(struct thread *, struct linux_lookup_dcookie_args *); @@ -1355,11 +1330,6 @@ #define LINUX_SYS_AUE_linux_fremovexattr AUE_NULL #define LINUX_SYS_AUE_linux_tkill AUE_NULL #define LINUX_SYS_AUE_linux_sys_futex AUE_NULL -#define LINUX_SYS_AUE_linux_io_setup AUE_NULL -#define LINUX_SYS_AUE_linux_io_destroy AUE_NULL -#define LINUX_SYS_AUE_linux_io_getevents AUE_NULL -#define LINUX_SYS_AUE_linux_io_submit AUE_NULL -#define LINUX_SYS_AUE_linux_io_cancel AUE_NULL #define LINUX_SYS_AUE_linux_fadvise64 AUE_NULL #define LINUX_SYS_AUE_linux_exit_group AUE_EXIT #define LINUX_SYS_AUE_linux_lookup_dcookie AUE_NULL ==== //depot/projects/mjexp/sys/amd64/linux32/linux32_syscall.h#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.23 2006/10/15 14:24:09 netchild Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.21 2006/10/15 14:22:12 netchild Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.25 2006/10/29 14:12:44 netchild Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.23 2006/10/29 14:02:38 netchild Exp */ #define LINUX_SYS_exit 1 @@ -221,11 +221,6 @@ #define LINUX_SYS_linux_fremovexattr 237 #define LINUX_SYS_linux_tkill 238 #define LINUX_SYS_linux_sys_futex 240 -#define LINUX_SYS_linux_io_setup 245 -#define LINUX_SYS_linux_io_destroy 246 -#define LINUX_SYS_linux_io_getevents 247 -#define LINUX_SYS_linux_io_submit 248 -#define LINUX_SYS_linux_io_cancel 249 #define LINUX_SYS_linux_fadvise64 250 #define LINUX_SYS_linux_exit_group 252 #define LINUX_SYS_linux_lookup_dcookie 253 ==== //depot/projects/mjexp/sys/amd64/linux32/linux32_sysent.c#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.23 2006/10/15 14:24:09 netchild Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.21 2006/10/15 14:22:12 netchild Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.25 2006/10/29 14:12:44 netchild Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.23 2006/10/29 14:02:38 netchild Exp */ #include @@ -192,7 +192,7 @@ { 0, (sy_call_t *)linux_nfsservctl, AUE_NULL, NULL, 0, 0 }, /* 169 = linux_nfsservctl */ { AS(linux_setresgid16_args), (sy_call_t *)linux_setresgid16, AUE_SETRESGID, NULL, 0, 0 }, /* 170 = linux_setresgid16 */ { AS(linux_getresgid16_args), (sy_call_t *)linux_getresgid16, AUE_GETRESGID, NULL, 0, 0 }, /* 171 = linux_getresgid16 */ - { 0, (sy_call_t *)linux_prctl, AUE_PRCTL, NULL, 0, 0 }, /* 172 = linux_prctl */ + { AS(linux_prctl_args), (sy_call_t *)linux_prctl, AUE_PRCTL, NULL, 0, 0 }, /* 172 = linux_prctl */ { AS(linux_rt_sigreturn_args), (sy_call_t *)linux_rt_sigreturn, AUE_NULL, NULL, 0, 0 }, /* 173 = linux_rt_sigreturn */ { AS(linux_rt_sigaction_args), (sy_call_t *)linux_rt_sigaction, AUE_NULL, NULL, 0, 0 }, /* 174 = linux_rt_sigaction */ { AS(linux_rt_sigprocmask_args), (sy_call_t *)linux_rt_sigprocmask, AUE_NULL, NULL, 0, 0 }, /* 175 = linux_rt_sigprocmask */ @@ -265,11 +265,11 @@ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 242 = linux_sched_getaffinity */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 243 = linux_set_thread_area */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 244 = linux_get_thread_area */ - { AS(linux_io_setup_args), (sy_call_t *)linux_io_setup, AUE_NULL, NULL, 0, 0 }, /* 245 = linux_io_setup */ - { AS(linux_io_destroy_args), (sy_call_t *)linux_io_destroy, AUE_NULL, NULL, 0, 0 }, /* 246 = linux_io_destroy */ - { AS(linux_io_getevents_args), (sy_call_t *)linux_io_getevents, AUE_NULL, NULL, 0, 0 }, /* 247 = linux_io_getevents */ - { AS(linux_io_submit_args), (sy_call_t *)linux_io_submit, AUE_NULL, NULL, 0, 0 }, /* 248 = linux_io_submit */ - { AS(linux_io_cancel_args), (sy_call_t *)linux_io_cancel, AUE_NULL, NULL, 0, 0 }, /* 249 = linux_io_cancel */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 245 = linux_io_setup */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 246 = linux_io_destroy */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 247 = linux_io_getevents */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 248 = inux_io_submit */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 249 = linux_io_cancel */ { 0, (sy_call_t *)linux_fadvise64, AUE_NULL, NULL, 0, 0 }, /* 250 = linux_fadvise64 */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 251 = */ { AS(linux_exit_group_args), (sy_call_t *)linux_exit_group, AUE_EXIT, NULL, 0, 0 }, /* 252 = linux_exit_group */ ==== //depot/projects/mjexp/sys/amd64/linux32/linux32_sysvec.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.24 2006/09/09 16:25:25 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.25 2006/10/31 17:53:02 kib Exp $"); #include "opt_compat.h" #ifndef COMPAT_IA32 @@ -868,7 +868,7 @@ */ if (sigcodesz) copyout(imgp->proc->p_sysent->sv_sigcode, - ((caddr_t)arginfo - sigcodesz), szsigcode); + ((caddr_t)arginfo - sigcodesz), sigcodesz); /* * If we have a valid auxargs ptr, prepare some room ==== //depot/projects/mjexp/sys/amd64/linux32/syscalls.master#3 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.21 2006/10/15 14:22:12 netchild Exp $ + $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.23 2006/10/29 14:02:38 netchild Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from LINUX). @@ -298,7 +298,8 @@ l_gid16_t egid, l_gid16_t sgid); } 171 AUE_GETRESGID STD { int linux_getresgid16(l_gid16_t *rgid, \ l_gid16_t *egid, l_gid16_t *sgid); } -172 AUE_PRCTL STD { int linux_prctl(void); } +172 AUE_PRCTL STD { int linux_prctl(l_int option, l_int arg2, l_int arg3, \ + l_int arg4, l_int arg5); } 173 AUE_NULL STD { int linux_rt_sigreturn( \ struct l_ucontext *ucp); } 174 AUE_NULL STD { int linux_rt_sigaction(l_int sig, \ @@ -406,11 +407,11 @@ 242 AUE_NULL UNIMPL linux_sched_getaffinity 243 AUE_NULL UNIMPL linux_set_thread_area 244 AUE_NULL UNIMPL linux_get_thread_area -245 AUE_NULL STD { int linux_io_setup(l_uint nr_reqs, linux_aio_context_t *ctxp); } -246 AUE_NULL STD { int linux_io_destroy(linux_aio_context_t ctx); } -247 AUE_NULL STD { int linux_io_getevents(linux_aio_context_t ctx_id, l_long min_nr, l_long nr, struct linux_io_event *events, struct l_timespec *timeout); } -248 AUE_NULL STD { int linux_io_submit(linux_aio_context_t ctx_id, l_long nr, struct linux_iocb **iocbpp); } -249 AUE_NULL STD { int linux_io_cancel(linux_aio_context_t ctx_id, struct linux_iocb *iocb, struct linux_io_event *result); } +245 AUE_NULL UNIMPL linux_io_setup +246 AUE_NULL UNIMPL linux_io_destroy +247 AUE_NULL UNIMPL linux_io_getevents +248 AUE_NULL UNIMPL inux_io_submit +249 AUE_NULL UNIMPL linux_io_cancel 250 AUE_NULL STD { int linux_fadvise64(void); } 251 AUE_NULL UNIMPL 252 AUE_EXIT STD { int linux_exit_group(int error_code); } ==== //depot/projects/mjexp/sys/arm/arm/elf_trampoline.c#3 (text+ko) ==== @@ -23,8 +23,9 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.14 2006/10/21 04:25:00 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.15 2006/10/30 23:23:00 cognet Exp $"); #include +#include #include #include #include ==== //depot/projects/mjexp/sys/arm/arm/trap.c#3 (text+ko) ==== @@ -82,7 +82,7 @@ #include "opt_ktrace.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.31 2006/10/21 04:25:00 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.32 2006/10/26 21:42:16 jb Exp $"); #include #include @@ -263,8 +263,10 @@ td->td_frame = tf; if (td->td_ucred != td->td_proc->p_ucred) cred_update_thread(td); +#ifdef KSE if (td->td_pflags & TDP_SA) thread_user_enter(td); +#endif } /* Grab the current pcb */ @@ -730,8 +732,10 @@ td->td_frame = tf; if (td->td_ucred != td->td_proc->p_ucred) cred_update_thread(td); +#ifdef KSE if (td->td_proc->p_flag & P_SA) thread_user_enter(td); +#endif } fault_pc = tf->tf_pc; if (td->td_md.md_spinlock_count == 0) { @@ -1005,8 +1009,10 @@ td->td_frame = frame; td->td_pticks = 0; +#ifdef KSE if (td->td_proc->p_flag & P_SA) thread_user_enter(td); +#endif /* * Make sure the program counter is correctly aligned so we * don't take an alignment fault trying to read the opcode. ==== //depot/projects/mjexp/sys/arm/at91/kb920x_machdep.c#3 (text) ==== @@ -48,7 +48,7 @@ #include "opt_at91.h" #include -__FBSDID("$FreeBSD: src/sys/arm/at91/kb920x_machdep.c,v 1.17 2006/10/20 07:03:57 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/kb920x_machdep.c,v 1.18 2006/10/26 21:42:17 jb Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -456,7 +456,11 @@ undefined_handler_address = (u_int)undefinedinstruction_bounce; undefined_init(); +#ifdef KSE proc_linkup(&proc0, &ksegrp0, &thread0); +#else + proc_linkup(&proc0, &thread0); +#endif thread0.td_kstack = kernelstack.pv_va; thread0.td_pcb = (struct pcb *) (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; ==== //depot/projects/mjexp/sys/arm/conf/EP80219#2 (text+ko) ==== @@ -15,7 +15,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/EP80219,v 1.1 2006/08/24 23:51:27 cognet Exp $ +# $FreeBSD: src/sys/arm/conf/EP80219,v 1.3 2006/10/26 22:11:35 jb Exp $ machine arm ident EP80219 ==== //depot/projects/mjexp/sys/arm/conf/IQ31244#2 (text+ko) ==== @@ -15,7 +15,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/IQ31244,v 1.15 2006/06/15 19:58:52 netchild Exp $ +# $FreeBSD: src/sys/arm/conf/IQ31244,v 1.17 2006/10/26 22:11:35 jb Exp $ machine arm ident IQ31244 ==== //depot/projects/mjexp/sys/arm/conf/KB920X#2 (text) ==== @@ -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/arm/conf/KB920X,v 1.9 2006/07/17 21:17:20 cognet Exp $ +# $FreeBSD: src/sys/arm/conf/KB920X,v 1.11 2006/10/26 22:11:35 jb Exp $ machine arm ident KB920X ==== //depot/projects/mjexp/sys/arm/conf/SIMICS#2 (text+ko) ==== @@ -15,7 +15,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/SIMICS,v 1.10 2006/06/15 19:58:52 netchild Exp $ +# $FreeBSD: src/sys/arm/conf/SIMICS,v 1.12 2006/10/26 22:11:35 jb Exp $ machine arm ident SIMICS ==== //depot/projects/mjexp/sys/arm/conf/SKYEYE#2 (text) ==== @@ -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/arm/conf/SKYEYE,v 1.5 2006/06/15 19:58:52 netchild Exp $ +# $FreeBSD: src/sys/arm/conf/SKYEYE,v 1.7 2006/10/26 22:11:35 jb Exp $ machine arm ident KB920X ==== //depot/projects/mjexp/sys/arm/sa11x0/assabet_machdep.c#2 (text+ko) ==== @@ -47,7 +47,7 @@ #include -__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.18 2006/08/08 20:59:38 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.19 2006/10/26 21:42:17 jb Exp $"); #include "opt_md.h" @@ -423,7 +423,11 @@ /* Set stack for exception handlers */ +#ifdef KSE proc_linkup(&proc0, &ksegrp0, &thread0); +#else + proc_linkup(&proc0, &thread0); +#endif thread0.td_kstack = kernelstack.pv_va; thread0.td_pcb = (struct pcb *) (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; ==== //depot/projects/mjexp/sys/arm/xscale/i80321/ep80219_machdep.c#2 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.2 2006/08/27 13:23:51 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/ep80219_machdep.c,v 1.3 2006/10/26 21:42:17 jb Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -429,7 +429,11 @@ undefined_handler_address = (u_int)undefinedinstruction_bounce; undefined_init(); +#ifdef KSE proc_linkup(&proc0, &ksegrp0, &thread0); +#else + proc_linkup(&proc0, &thread0); +#endif thread0.td_kstack = kernelstack.pv_va; thread0.td_pcb = (struct pcb *) (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; ==== //depot/projects/mjexp/sys/arm/xscale/i80321/iq31244_machdep.c#2 (text+ko) ==== @@ -49,7 +49,7 @@ #include "opt_ddb.h" #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.23 2006/08/24 23:51:28 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq31244_machdep.c,v 1.24 2006/10/26 21:42:17 jb Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Oct 31 19:39:18 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 45E0416A4C2; Tue, 31 Oct 2006 19:39:18 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 162FA16A573 for ; Tue, 31 Oct 2006 19:39:18 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5D98843E29 for ; Tue, 31 Oct 2006 19:37:44 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9VJbT7r085651 for ; Tue, 31 Oct 2006 19:37:29 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9VJbT5j085648 for perforce@freebsd.org; Tue, 31 Oct 2006 19:37:29 GMT (envelope-from millert@freebsd.org) Date: Tue, 31 Oct 2006 19:37:29 GMT Message-Id: <200610311937.k9VJbT5j085648@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 108850 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Oct 2006 19:39:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=108850 Change 108850 by millert@millert_g5tower on 2006/10/31 19:36:53 Use setfiles to relabel /var/run after we recreate it in /etc/rc Affected files ... .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/src/Makefile.postamble#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/src/Makefile.preamble#2 edit .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/src/rc#2 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/darwin/launchd/src/Makefile.postamble#2 (text+ko) ==== @@ -102,3 +102,6 @@ install-man-page: install -d $(DSTROOT)/usr/share/man/man8 install -c -m 444 launchd.8 $(DSTROOT)/usr/share/man/man8/launchd.8 + +install-rc: + install -c -m 644 rc $(DSTROOT)/private/etc/rc ==== //depot/projects/trustedbsd/sedarwin8/darwin/launchd/src/Makefile.preamble#2 (text+ko) ==== @@ -1,4 +1,4 @@ OTHER_GENERATED_OFILES = $(VERS_OFILE) BEFORE_BUILD += bootstrap.h OTHER_OFILES = bootstrapServer.o -AFTER_INSTALL += install-man-page +AFTER_INSTALL += install-man-page install-rc ==== //depot/projects/trustedbsd/sedarwin8/darwin/launchd/src/rc#2 (text+ko) ==== @@ -133,6 +133,9 @@ touch -t 198501010000 /var/run/sudo/* fi +# Set labels on /var/run +/usr/bin/setfiles /etc/sedarwin/refpolicy/contexts/files/file_contexts /var/run + # Clear utmp (who is logged on). touch /var/run/utmp /var/run/utmpx From owner-p4-projects@FreeBSD.ORG Tue Oct 31 20:01:11 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5879216A4C2; Tue, 31 Oct 2006 20:01:11 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 3128316A4AB for ; Tue, 31 Oct 2006 20:01:11 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 82BEB43D96 for ; Tue, 31 Oct 2006 20:01:00 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9VK10XY089167 for ; Tue, 31 Oct 2006 20:01:00 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9VK10rs089159 for perforce@freebsd.org; Tue, 31 Oct 2006 20:01:00 GMT (envelope-from millert@freebsd.org) Date: Tue, 31 Oct 2006 20:01:00 GMT Message-Id: <200610312001.k9VK10rs089159@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 108851 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Oct 2006 20:01:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=108851 Change 108851 by millert@millert_g5tower on 2006/10/31 20:00:22 setfiles now lives in /sbin, not /usr/bin Affected files ... .. //depot/projects/trustedbsd/sedarwin8/darwin/launchd/src/rc#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/darwin/launchd/src/rc#3 (text+ko) ==== @@ -134,7 +134,7 @@ fi # Set labels on /var/run -/usr/bin/setfiles /etc/sedarwin/refpolicy/contexts/files/file_contexts /var/run +/sbin/setfiles /etc/sedarwin/refpolicy/contexts/files/file_contexts /var/run # Clear utmp (who is logged on). touch /var/run/utmp /var/run/utmpx From owner-p4-projects@FreeBSD.ORG Tue Oct 31 20:41:28 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5F95616A47C; Tue, 31 Oct 2006 20:41:28 +0000 (UTC) X-Original-To: perforce@FreeBSD.org 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 1AA5716A416 for ; Tue, 31 Oct 2006 20:41:28 +0000 (UTC) (envelope-from adamartin@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8678443DC8 for ; Tue, 31 Oct 2006 20:40:58 +0000 (GMT) (envelope-from adamartin@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9VKepNn096747 for ; Tue, 31 Oct 2006 20:40:51 GMT (envelope-from adamartin@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9VKepEc096744 for perforce@freebsd.org; Tue, 31 Oct 2006 20:40:51 GMT (envelope-from adamartin@FreeBSD.org) Date: Tue, 31 Oct 2006 20:40:51 GMT Message-Id: <200610312040.k9VKepEc096744@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to adamartin@FreeBSD.org using -f From: Adam Martin To: Perforce Change Reviews Cc: Subject: PERFORCE change 108854 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Oct 2006 20:41:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=108854 Change 108854 by adamartin@adamartin_hobbes on 2006/10/31 20:40:14 AutoFS fixes for minor quirks, and fixing pseudofs... (I had pseudofs_vnops.c from stock.) Submitted by: ADAM Martin Affected files ... .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs_ctl.h#2 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs_dev.c#3 edit .. //depot/projects/soc2006/adamartin_autofs/autofs/autofs_pfsops.c#3 edit .. //depot/projects/soc2006/adamartin_autofs/pseudofs/pseudofs_vnops.c#2 edit Differences ... ==== //depot/projects/soc2006/adamartin_autofs/autofs/autofs_ctl.h#2 (text+ko) ==== @@ -65,6 +65,7 @@ extern struct autofs_ctl_state autofs_ctl_state; +extern int autofs_ctl_init( void ); #define MAX_NODE_COUNT ( 32 ) ==== //depot/projects/soc2006/adamartin_autofs/autofs/autofs_dev.c#3 (text+ko) ==== @@ -46,20 +46,25 @@ struct uio *in_buffer, *out_buffer; -#define IOV_BUF_COUNT (16) +#define IOV_BUF_COUNT ( 16 ) int -write_buffer(struct uio *buf, void *data, int len) +write_buffer( struct uio *buf, void *data, int len ) { + $cleanup_init_size( 8 ); int error; error = 0; - if (buf->uio_iovcnt < IOV_BUF_COUNT) { + if( buf->uio_iovcnt < IOV_BUF_COUNT ) + { buf->uio_iov[ buf->uio_iovcnt ].iov_base= data; buf->uio_iov[ buf->uio_iovcnt ].iov_len= len; buf->uio_iovcnt++; - } else - error = ENOMEM; + } + else + { + error= ENOMEM; + } - return error; + $return error; } ==== //depot/projects/soc2006/adamartin_autofs/autofs/autofs_pfsops.c#3 (text+ko) ==== @@ -90,6 +90,7 @@ DEBUG KPRINTF( "cn_namelen= %ld, cn_consume= %ld\n", c.cn_namelen, c.cn_consume ); + /* Prepare a mount message */ msg.flags= 0; msg.transaction_id= 0; msg.message_type= COMMAND_MOUNT_REQUEST; @@ -99,7 +100,12 @@ mr.mountpoint_len= c.cn_namelen; strlcpy( mr.mountpoint, c.cn_nameptr, c.cn_namelen ); - send_mount_request( &msg ); + /* Take a lock and if it's not taken yet fire off the request. */ + + if( take_autofs_lock( instance, node ) ) + { + send_mount_request( &msg ); + } return 1; } ==== //depot/projects/soc2006/adamartin_autofs/pseudofs/pseudofs_vnops.c#2 (text+ko) ==== @@ -2,6 +2,10 @@ * Copyright (c) 2001 Dag-Erling Coïdan Smørgrav * All rights reserved. * + * Modifications to handle more hooks for vnops to pfs files: + * Copyright (c) 2006 ADAM David Alan Martin + * All rights reserved. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -355,6 +359,8 @@ if (!pfs_visible(curthread, pd, pvd->pvd_pid, NULL)) PFS_RETURN (ENOENT); + + /* self */ namelen = cnp->cn_namelen; pname = cnp->cn_nameptr; @@ -404,6 +410,23 @@ goto got_pnode; } + + /* + * ADAM Martin: + * Use PFS lookup on a resolved Vnode, don't actually get + * the vnode though. Does it belong here? + */ + + // LOOKUP_ENABLE (to drop this whole section change // to /*) + if (pd->pn_lookup != 0) + #ifdef USE_PFSRETURN_ON_LOOKUP_CALLBACK + PFS_RETURN (pd->pn_lookup(curthread, pfind(pid), pd, cnp)); + #else + pd->pn_lookup(curthread, pfind(pid), pd, cnp); + #endif + /**/ + + PFS_RETURN (ENOENT); got_pnode: if (pn != pd->pn_parent && !pn->pn_parent) From owner-p4-projects@FreeBSD.ORG Tue Oct 31 22:17:16 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DC13216A412; Tue, 31 Oct 2006 22:17:15 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 8CBBC16A407 for ; Tue, 31 Oct 2006 22:17:15 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6376F43DA5 for ; Tue, 31 Oct 2006 22:16:08 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9VMG6GZ025536 for ; Tue, 31 Oct 2006 22:16:06 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9VMG4it025533 for perforce@freebsd.org; Tue, 31 Oct 2006 22:16:04 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 31 Oct 2006 22:16:04 GMT Message-Id: <200610312216.k9VMG4it025533@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 108866 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Oct 2006 22:17:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=108866 Change 108866 by rwatson@rwatson_zoo on 2006/10/31 22:15:43 Fix two ifdef typos. Submitted by: Skip Ford Affected files ... .. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_cdnr.c#3 edit .. //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_rio.c#3 edit Differences ... ==== //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_cdnr.c#3 (text+ko) ==== @@ -1262,7 +1262,7 @@ case CDNR_GETSTATS: break; default: -#if (__FreeBSD_versoin > 700000) +#if (__FreeBSD_version > 700000) if ((error = priv_check(p, PRIV_ALTQ_MANAGE)) != 0) #elsif (__FreeBSD_version > 400000) if ((error = suser(p)) != 0) ==== //depot/projects/trustedbsd/priv/sys/contrib/altq/altq/altq_rio.c#3 (text+ko) ==== @@ -531,7 +531,7 @@ case RIO_GETSTATS: break; default: -#if (__FreeBSD_versoin > 700000) +#if (__FreeBSD_version > 700000) if ((error = priv_check(p, PRIV_ALTQ_MANAGE)) != 0) return (error); #elsif (__FreeBSD_version > 400000) From owner-p4-projects@FreeBSD.ORG Tue Oct 31 22:20:34 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AB71716A62F; Tue, 31 Oct 2006 22:20:34 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 50ACF16A531 for ; Tue, 31 Oct 2006 22:20:34 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1E60043E0F for ; Tue, 31 Oct 2006 22:19:15 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9VMJAKm025711 for ; Tue, 31 Oct 2006 22:19:10 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9VMJAJa025708 for perforce@freebsd.org; Tue, 31 Oct 2006 22:19:10 GMT (envelope-from millert@freebsd.org) Date: Tue, 31 Oct 2006 22:19:10 GMT Message-Id: <200610312219.k9VMJAJa025708@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 108867 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Oct 2006 22:20:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=108867 Change 108867 by millert@millert_macbook on 2006/10/31 22:18:49 Update a file that should have been part of change 107197 "Cripple the Color MAC.loginPlugin and remove the ability to make a selection." Affected files ... .. //depot/projects/trustedbsd/sedarwin8/darwin/osx_cmds/MAC.loginPlugin/plugins/Color/Color.nib/keyedobjects.nib#2 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/darwin/osx_cmds/MAC.loginPlugin/plugins/Color/Color.nib/keyedobjects.nib#2 (text+ko) ==== @@ -1,4 +1,41 @@ -bplist00Ô -Y$archiverX$versionT$topX$objects_NSKeyedArchiver -€€-€7€9€:€A€8Ò,-.[NSClassName€€XNSObjectÒ1234X$classesZ$classname¢4/^NSCustomObject_IBCocoaFrameworkÒ789ZNS.objects €Ò12;<£<=/\NSMutableSetUNSSetÒ7?A¡@€ €&ÔCDEFGHI]NSDestinationWNSLabelXNSSource€ €+€,€ -Ò,-K€ UColor×NOPQR,ST!UVWX[NSExtensionZNSSubviews_NSNextResponder[NSFrameSizeXNSvFlags€)€ €'-€*€(Ò7ZA¢[\€€ØP^_`abcFFdefdgh[NSSuperview\NSIsBorderedWNSColorWNSFrameYNSEnabled[NSDragTypes €€€€Ò7j9¡k€ÒmnoYNS.string_NSColor pasteboard type€Ò12qr£rs/_NSMutableStringXNSString_{{144, 20}, {54, 26}}ÓvwxyzUNSRGB\NSColorSpaceO#0.048112672 0.042129233 0.85869563 +Y$archiverX$versionT$topX$objects_NSKeyedArchiver +   +Ò =Ó +€'€&€€ €;€NÒ +€'€&€€ €€;€NÒ +€ €NÒ +  Ò + + + +2 +F +S +U +W +Y +l +€ + +š +œ +ž +  +­ +µ +º +¼ +¾ +à +Å +Ç +É +Ú +Ü +Þ +á +î +ô +û +ý   ! & ; D I R ] _ h o q s u w ¤ ¦ ¨ ª ¬ ® ° ² ´ ¶ Ã Å Ç É ö ø ú ü þ From owner-p4-projects@FreeBSD.ORG Tue Oct 31 22:23:17 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A229816A7DE; Tue, 31 Oct 2006 22:23:17 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 6814616A7DC for ; Tue, 31 Oct 2006 22:23:17 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 134D443D81 for ; Tue, 31 Oct 2006 22:23:17 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9VMNG8c027245 for ; Tue, 31 Oct 2006 22:23:16 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9VMNG3o027241 for perforce@freebsd.org; Tue, 31 Oct 2006 22:23:16 GMT (envelope-from millert@freebsd.org) Date: Tue, 31 Oct 2006 22:23:16 GMT Message-Id: <200610312223.k9VMNG3o027241@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 108869 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Oct 2006 22:23:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=108869 Change 108869 by millert@millert_macbook on 2006/10/31 22:23:12 Change ikm_sender from struct ipc_labelh * to task_t. This allows us to report the correct sender in the avc audit logs for MiG-based permissions. To do this, we now pass a struct proc * to mpo_port_check_method. This time we don't need to hold a reference to the label handle, keeping a reference to the task_t is sufficient as that has its own label handle reference. Affected files ... .. //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ipc/ipc_kmsg.c#4 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/avc/avc.c#7 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/avc/avc.h#5 edit .. //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/sebsd.c#30 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/darwin/xnu/osfmk/ipc/ipc_kmsg.c#4 (text+ko) ==== @@ -295,7 +295,6 @@ #ifdef MAC if (kmsg->ikm_sender != NULL) { - labelh_release(kmsg->ikm_sender->label); task_deallocate(kmsg->ikm_sender); kmsg->ikm_sender = NULL; } @@ -664,7 +663,6 @@ #ifdef MAC if (kmsg->ikm_sender != NULL) { - labelh_release(kmsg->ikm_sender->label); task_deallocate(kmsg->ikm_sender); kmsg->ikm_sender = NULL; } @@ -775,7 +773,6 @@ task_t cur = current_task(); if (cur) { task_reference(cur); - labelh_reference(cur->label); kmsg->ikm_sender = cur; } else trailer->msgh_labels.sender = 0; ==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/avc/avc.c#7 (text+ko) ==== @@ -706,6 +706,8 @@ #endif case AVC_AUDIT_DATA_FS: if (a->u.fs.vp && tsk) { + char *pbuf = NULL; + char *path = a->u.fs.path; struct vnode *vp = a->u.fs.vp; struct vnode_attr va; struct vfs_context vfs_ctx = @@ -713,10 +715,22 @@ VATTR_INIT(&va); VATTR_WANTED(&va, va_fileid); if (vnode_getattr(vp, &va, &vfs_ctx) == 0) { - audit_log_format(ab, - " inode=%llu, mountpoint=%s,", - va.va_fileid, + audit_log_format(ab, " inode=%llu, " + "mountpoint=%s,", va.va_fileid, vp->v_mount->mnt_vfsstat.f_mntonname); + if (path == NULL) { + int len = MAXPATHLEN; + pbuf = sebsd_malloc(MAXPATHLEN, + M_SEBSD, M_NOWAIT); + if (pbuf != NULL && + !vn_getpath(vp, pbuf, &len)) + path = pbuf; + } + if (path != NULL) + audit_log_format(ab, + " path=%s,", path); + if (pbuf != NULL) + sebsd_free(pbuf, M_SEBSD); break; } audit_log_format(ab, ==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/avc/avc.h#5 (text+ko) ==== @@ -49,6 +49,7 @@ union { struct { struct vnode *vp; + char *path; } fs; struct { char *netif; ==== //depot/projects/trustedbsd/sedarwin8/policies/sedarwin/sedarwin/sebsd.c#30 (text+ko) ==== @@ -440,7 +440,7 @@ } static int -vnode_has_perm(struct ucred *cred, struct vnode *vp, u_int32_t perm) +vnode_has_perm(struct ucred *cred, struct vnode *vp, char *path, u_int32_t perm) { struct task_security_struct *task; struct vnode_security_struct *file; @@ -451,6 +451,7 @@ AVC_AUDIT_DATA_INIT(&ad, FS); ad.u.fs.vp = vp; + ad.u.fs.path = path; /* Update security class if not set or vnode was recycled. */ if (file->sclass == 0 || vp->v_type == VBAD) @@ -1482,7 +1483,7 @@ vsec = SLOT(vl); task = SLOT(cred->cr_label); - rc = vnode_has_perm(cred, vp, FILE__MOUNTON); + rc = vnode_has_perm(cred, vp, NULL, FILE__MOUNTON); if (rc) goto done; @@ -1950,7 +1951,7 @@ if (mask == 0) return (0); - return (vnode_has_perm(cred, vp, + return (vnode_has_perm(cred, vp, NULL, file_mask_to_av(vp->v_type, mask))); } @@ -1960,7 +1961,7 @@ { /* MAY_EXEC ~= DIR__SEARCH */ - return (vnode_has_perm(cred, dvp, DIR__SEARCH)); + return (vnode_has_perm(cred, dvp, NULL, DIR__SEARCH)); } static int @@ -1970,7 +1971,7 @@ /* TBD: Incomplete, SELinux also check capability(CAP_SYS_CHROOT)) */ /* MAY_EXEC ~= DIR__SEARCH */ - return (vnode_has_perm(cred, dvp, DIR__SEARCH)); + return (vnode_has_perm(cred, dvp, NULL, DIR__SEARCH)); } static int @@ -1995,6 +1996,7 @@ AVC_AUDIT_DATA_INIT(&ad, FS); ad.u.fs.vp = dvp; + ad.u.fs.path = cnp->cn_pnbuf; rc = avc_has_perm(task->sid, dir->sid, SECCLASS_DIR, DIR__ADD_NAME | DIR__SEARCH, &ad); @@ -2051,6 +2053,7 @@ AVC_AUDIT_DATA_INIT(&ad, FS); ad.u.fs.vp = vp; + ad.u.fs.path = cnp->cn_pnbuf; rc = avc_has_perm(task->sid, dir->sid, SECCLASS_DIR, DIR__SEARCH | DIR__REMOVE_NAME, &ad); @@ -2073,7 +2076,7 @@ struct label *label, acl_type_t type) { - return (vnode_has_perm(cred, vp, FILE__SETATTR)); + return (vnode_has_perm(cred, vp, NULL, FILE__SETATTR)); } #endif @@ -2083,10 +2086,10 @@ { int error; - error = vnode_has_perm(cred, v1, FILE__READ | FILE__WRITE); + error = vnode_has_perm(cred, v1, NULL, FILE__READ | FILE__WRITE); if (error) return (error); - return (vnode_has_perm(cred, v2, FILE__READ | FILE__WRITE)); + return (vnode_has_perm(cred, v2, NULL, FILE__READ | FILE__WRITE)); } static int @@ -2151,7 +2154,7 @@ struct label *label, acl_type_t type) { - return (vnode_has_perm(cred, vp, FILE__GETATTR)); + return (vnode_has_perm(cred, vp, NULL, FILE__GETATTR)); } #endif @@ -2160,7 +2163,7 @@ struct label *vlabel, struct attrlist *alist) { - return (vnode_has_perm(cred, vp, FILE__GETATTR)); + return (vnode_has_perm(cred, vp, NULL, FILE__GETATTR)); } static int @@ -2168,7 +2171,7 @@ struct label *label, const char *name, struct uio *uio) { - return (vnode_has_perm(cred, vp, FILE__GETATTR)); + return (vnode_has_perm(cred, vp, NULL, FILE__GETATTR)); } #if defined(FILE__POLL) && defined(FILE__GETATTR) @@ -2180,9 +2183,9 @@ switch (kn->kn_filter) { case EVFILT_READ: case EVFILT_WRITE: - return (vnode_has_perm(cred, vp, FILE__POLL)); + return (vnode_has_perm(cred, vp, NULL, FILE__POLL)); case EVFILT_VNODE: - return (vnode_has_perm(cred, vp, FILE__GETATTR)); + return (vnode_has_perm(cred, vp, NULL, FILE__GETATTR)); default: return (0); } @@ -2208,6 +2211,7 @@ AVC_AUDIT_DATA_INIT(&ad, FS); ad.u.fs.vp = vp; + ad.u.fs.path = cnp->cn_pnbuf; rc = avc_has_perm(task->sid, dir->sid, SECCLASS_DIR, DIR__SEARCH | DIR__ADD_NAME, &ad); @@ -2228,7 +2232,7 @@ return (ENOTDIR); /* TBD: DIR__READ as well? */ - return (vnode_has_perm(cred, dvp, DIR__SEARCH)); + return (vnode_has_perm(cred, dvp, cnp->cn_pnbuf, DIR__SEARCH)); } static int @@ -2247,7 +2251,7 @@ if (!mask) return (0); - return (vnode_has_perm(cred, vp, + return (vnode_has_perm(cred, vp, NULL, file_mask_to_av(vp->v_type, mask))); } @@ -2256,7 +2260,7 @@ struct vnode *vp, struct label *label) { - return (vnode_has_perm(cred, vp, FILE__READ)); + return (vnode_has_perm(cred, vp, NULL, FILE__READ)); } static int @@ -2264,7 +2268,7 @@ struct label *dlabel) { - return (vnode_has_perm(cred, dvp, DIR__READ)); + return (vnode_has_perm(cred, dvp, NULL, DIR__READ)); } static int @@ -2272,7 +2276,7 @@ struct label *label) { - return (vnode_has_perm(cred, vp, FILE__READ)); + return (vnode_has_perm(cred, vp, NULL, FILE__READ)); } static int @@ -2342,6 +2346,8 @@ sebsd_audit_sid("source directory", old_dir->sid); AVC_AUDIT_DATA_INIT(&ad, FS); + ad.u.fs.vp = vp; + ad.u.fs.path = cnp->cn_pnbuf; rc = avc_has_perm(task->sid, old_dir->sid, SECCLASS_DIR, DIR__REMOVE_NAME | DIR__SEARCH, &ad); @@ -2400,6 +2406,7 @@ AVC_AUDIT_DATA_INIT(&ad, FS); ad.u.fs.vp = vp; + ad.u.fs.path = cnp->cn_pnbuf; rc = avc_has_perm(task->sid, new_dir->sid, SECCLASS_DIR, av, NULL); if (rc) @@ -2439,7 +2446,7 @@ struct label *label, int which) { - return (vnode_has_perm(cred, vp, FILE__POLL)); + return (vnode_has_perm(cred, vp, NULL, FILE__POLL)); } #endif @@ -2449,7 +2456,7 @@ struct label *label, acl_type_t type, struct acl *acl) { - return (vnode_has_perm(cred, vp, FILE__SETATTR)); + return (vnode_has_perm(cred, vp, NULL, FILE__SETATTR)); } #endif @@ -2459,7 +2466,7 @@ struct label *vlabel, struct attrlist *alist) { - return (vnode_has_perm(cred, vp, FILE__SETATTR)); + return (vnode_has_perm(cred, vp, NULL, FILE__SETATTR)); } #endif @@ -2468,7 +2475,7 @@ struct label *label, const char *name, struct uio *uio) { - return (vnode_has_perm(cred, vp, FILE__SETATTR)); + return (vnode_has_perm(cred, vp, NULL, FILE__SETATTR)); } static int @@ -2476,7 +2483,7 @@ struct label *label, u_long flags) { - return (vnode_has_perm(cred, vp, FILE__SETATTR)); + return (vnode_has_perm(cred, vp, NULL, FILE__SETATTR)); } static int @@ -2484,7 +2491,7 @@ struct label *label, mode_t mode) { - return (vnode_has_perm(cred, vp, FILE__SETATTR)); + return (vnode_has_perm(cred, vp, NULL, FILE__SETATTR)); } static int @@ -2492,7 +2499,7 @@ struct label *label, uid_t uid, gid_t gid) { - return (vnode_has_perm(cred, vp, FILE__SETATTR)); + return (vnode_has_perm(cred, vp, NULL, FILE__SETATTR)); } static int @@ -2500,7 +2507,7 @@ struct label *label, struct timespec atime, struct timespec mtime) { - return (vnode_has_perm(cred, vp, FILE__SETATTR)); + return (vnode_has_perm(cred, vp, NULL, FILE__SETATTR)); } static int @@ -2508,7 +2515,7 @@ struct vnode *vp, struct label *vnodelabel) { - return (vnode_has_perm(cred, vp, FILE__GETATTR)); + return (vnode_has_perm(cred, vp, NULL, FILE__GETATTR)); } static int @@ -2831,7 +2838,7 @@ struct label *vnodelabel) { - return (vnode_has_perm(cred, vp, FILE__SWAPON)); + return (vnode_has_perm(cred, vp, NULL, FILE__SWAPON)); } #if 0 @@ -2840,7 +2847,7 @@ struct label *vnodelabel) { - return (vnode_has_perm(cred, vp, FILE__SWAPON)); + return (vnode_has_perm(cred, vp, NULL, FILE__SWAPON)); } #endif @@ -2863,7 +2870,7 @@ struct vnode *vp, struct label *label) { - return (vnode_has_perm(cred, vp, FILE__WRITE)); + return (vnode_has_perm(cred, vp, NULL, FILE__WRITE)); } static int @@ -2885,7 +2892,7 @@ if (prot & PROT_EXEC) av |= FILE__EXECUTE; - return (vnode_has_perm(cred, vp, av)); + return (vnode_has_perm(cred, vp, NULL, av)); } return (0); } @@ -2908,7 +2915,7 @@ if (prot & PROT_EXEC) av |= FILE__EXECUTE; - return (vnode_has_perm(cred, vp, av)); + return (vnode_has_perm(cred, vp, NULL, av)); } return (0); } @@ -3026,7 +3033,7 @@ return (0); return (vnode_has_perm(cred, (struct vnode *)fg->fg_data, - FILE__IOCTL)); + NULL, FILE__IOCTL)); } /* From owner-p4-projects@FreeBSD.ORG Tue Oct 31 23:54:38 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 62CD116A416; Tue, 31 Oct 2006 23:54:38 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 926DE16A407 for ; Tue, 31 Oct 2006 23:54:37 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B552843D97 for ; Tue, 31 Oct 2006 23:54:20 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9VNsGau043820 for ; Tue, 31 Oct 2006 23:54:16 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9VNsGVE043813 for perforce@freebsd.org; Tue, 31 Oct 2006 23:54:16 GMT (envelope-from marcel@freebsd.org) Date: Tue, 31 Oct 2006 23:54:16 GMT Message-Id: <200610312354.k9VNsGVE043813@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 Cc: Subject: PERFORCE change 108874 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Oct 2006 23:54:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=108874 Change 108874 by marcel@marcel_cluster on 2006/10/31 23:53:48 Major restructuring. The EFI and SKI loaders now share most of what can be shared. Bump the version of the loaders to 1.2 due to there being some user-visible changes. Affected files ... .. //depot/projects/ia64/sys/boot/ia64/Makefile#4 edit .. //depot/projects/ia64/sys/boot/ia64/common/Makefile#1 add .. //depot/projects/ia64/sys/boot/ia64/common/autoload.c#1 add .. //depot/projects/ia64/sys/boot/ia64/common/bootinfo.c#2 edit .. //depot/projects/ia64/sys/boot/ia64/common/copy.c#2 edit .. //depot/projects/ia64/sys/boot/ia64/common/devicename.c#3 edit .. //depot/projects/ia64/sys/boot/ia64/common/elf_freebsd.c#2 delete .. //depot/projects/ia64/sys/boot/ia64/common/exec.c#1 add .. //depot/projects/ia64/sys/boot/ia64/common/libia64.h#1 add .. //depot/projects/ia64/sys/boot/ia64/efi/Makefile#6 edit .. //depot/projects/ia64/sys/boot/ia64/efi/conf.c#4 edit .. //depot/projects/ia64/sys/boot/ia64/efi/efimd.c#3 edit .. //depot/projects/ia64/sys/boot/ia64/efi/main.c#4 edit .. //depot/projects/ia64/sys/boot/ia64/efi/version#2 edit .. //depot/projects/ia64/sys/boot/ia64/ski/Makefile#7 edit .. //depot/projects/ia64/sys/boot/ia64/ski/acpi_stub.c#3 edit .. //depot/projects/ia64/sys/boot/ia64/ski/bootinfo.c#7 delete .. //depot/projects/ia64/sys/boot/ia64/ski/copy.c#4 delete .. //depot/projects/ia64/sys/boot/ia64/ski/devicename.c#2 delete .. //depot/projects/ia64/sys/boot/ia64/ski/efi_stub.c#3 edit .. //depot/projects/ia64/sys/boot/ia64/ski/elf_freebsd.c#3 delete .. //depot/projects/ia64/sys/boot/ia64/ski/libski.h#2 edit .. //depot/projects/ia64/sys/boot/ia64/ski/main.c#2 edit .. //depot/projects/ia64/sys/boot/ia64/ski/skifs.c#2 edit .. //depot/projects/ia64/sys/boot/ia64/ski/skimd.c#1 add .. //depot/projects/ia64/sys/boot/ia64/ski/version#2 edit Differences ... ==== //depot/projects/ia64/sys/boot/ia64/Makefile#4 (text+ko) ==== @@ -1,5 +1,5 @@ # $FreeBSD: src/sys/boot/ia64/Makefile,v 1.4 2004/11/23 06:03:03 marcel Exp $ -SUBDIR= efi ski +SUBDIR= common efi ski .include ==== //depot/projects/ia64/sys/boot/ia64/common/bootinfo.c#2 (text+ko) ==== @@ -32,19 +32,11 @@ #include #include #include -#include -#include #include #include -#include "bootstrap.h" - -/* DIG64 Headless Console & Debug Port Table. */ -#define HCDP_TABLE_GUID \ - {0xf951938d,0x620b,0x42ef,{0x82,0x79,0xa8,0x4b,0x79,0x61,0x78,0x98}} - -static EFI_GUID hcdp = HCDP_TABLE_GUID; +#include "libia64.h" /* * Return a 'boothowto' value corresponding to the kernel arguments in @@ -52,92 +44,60 @@ */ static struct { - const char *ev; - int mask; + const char *ev; + int mask; } howto_names[] = { - {"boot_askname", RB_ASKNAME}, - {"boot_cdrom", RB_CDROM}, - {"boot_ddb", RB_KDB}, - {"boot_dfltroot", RB_DFLTROOT}, - {"boot_gdb", RB_GDB}, - {"boot_multicons", RB_MULTIPLE}, - {"boot_mute", RB_MUTE}, - {"boot_pause", RB_PAUSE}, - {"boot_serial", RB_SERIAL}, - {"boot_single", RB_SINGLE}, - {"boot_verbose", RB_VERBOSE}, - {NULL, 0} + { "boot_askname", RB_ASKNAME}, + { "boot_cdrom", RB_CDROM}, + { "boot_ddb", RB_KDB}, + { "boot_dfltroot", RB_DFLTROOT}, + { "boot_gdb", RB_GDB}, + { "boot_multicons", RB_MULTIPLE}, + { "boot_mute", RB_MUTE}, + { "boot_pause", RB_PAUSE}, + { "boot_serial", RB_SERIAL}, + { "boot_single", RB_SINGLE}, + { "boot_verbose", RB_VERBOSE}, + { NULL, 0} }; -extern char *efi_fmtdev(void *vdev); +static const char howto_switches[] = "aCdrgDmphsv"; +static int howto_masks[] = { + RB_ASKNAME, RB_CDROM, RB_KDB, RB_DFLTROOT, RB_GDB, RB_MULTIPLE, + RB_MUTE, RB_PAUSE, RB_SERIAL, RB_SINGLE, RB_VERBOSE +}; int bi_getboothowto(char *kargs) { - char *cp; - int howto; - int active; - int i; - - /* Parse kargs */ - howto = 0; - if (kargs != NULL) { - cp = kargs; - active = 0; - while (*cp != 0) { - if (!active && (*cp == '-')) { - active = 1; - } else if (active) - switch (*cp) { - case 'a': - howto |= RB_ASKNAME; - break; - case 'C': - howto |= RB_CDROM; - break; - case 'd': - howto |= RB_KDB; - break; - case 'D': - howto |= RB_MULTIPLE; - break; - case 'm': - howto |= RB_MUTE; - break; - case 'g': - howto |= RB_GDB; - break; - case 'h': - howto |= RB_SERIAL; - break; - case 'p': - howto |= RB_PAUSE; - break; - case 'r': - howto |= RB_DFLTROOT; - break; - case 's': - howto |= RB_SINGLE; - break; - case 'v': - howto |= RB_VERBOSE; - break; - default: - active = 0; - break; + const char *sw; + char *opts; + int howto, i; + + howto = 0; + + /* Get the boot options from the environment first. */ + for (i = 0; howto_names[i].ev != NULL; i++) { + if (getenv(howto_names[i].ev) != NULL) + howto |= howto_names[i].mask; + } + + /* Parse kargs */ + if (kargs == NULL) + return (howto); + + opts = strchr(kargs, '-'); + while (opts != NULL) { + while (*(++opts) != '\0') { + sw = strchr(howto_switches, *opts); + if (sw == NULL) + break; + howto |= howto_masks[sw - howto_switches]; } - cp++; + opts = strchr(opts, '-'); } - } - /* get equivalents from the environment */ - for (i = 0; howto_names[i].ev != NULL; i++) - if (getenv(howto_names[i].ev) != NULL) - howto |= howto_names[i].mask; - if (!strcmp(getenv("console"), "comconsole")) - howto |= RB_SERIAL; - if (!strcmp(getenv("console"), "nullconsole")) - howto |= RB_MUTE; - return(howto); + + return (howto); } /* @@ -146,26 +106,37 @@ * separating each variable, and a double nul terminating the environment. */ vm_offset_t -bi_copyenv(vm_offset_t addr) +bi_copyenv(vm_offset_t start) { - struct env_var *ep; - - /* traverse the environment */ - for (ep = environ; ep != NULL; ep = ep->ev_next) { - efi_copyin(ep->ev_name, addr, strlen(ep->ev_name)); - addr += strlen(ep->ev_name); - efi_copyin("=", addr, 1); - addr++; - if (ep->ev_value != NULL) { - efi_copyin(ep->ev_value, addr, strlen(ep->ev_value)); - addr += strlen(ep->ev_value); + struct env_var *ep; + vm_offset_t addr, last; + size_t len; + + addr = last = start; + + /* Traverse the environment. */ + for (ep = environ; ep != NULL; ep = ep->ev_next) { + len = strlen(ep->ev_name); + if (ia64_copyin(ep->ev_name, addr, len) != len) + break; + addr += len; + if (ia64_copyin("=", addr, 1) != 1) + break; + addr++; + if (ep->ev_value != NULL) { + len = strlen(ep->ev_value); + if (ia64_copyin(ep->ev_value, addr, len) != len) + break; + addr += len; + } + if (ia64_copyin("", addr, 1) != 1) + break; + last = ++addr; } - efi_copyin("", addr, 1); - addr++; - } - efi_copyin("", addr, 1); - addr++; - return(addr); + + if (ia64_copyin("", last++, 1) != 1) + last = start; + return(last); } /* @@ -186,14 +157,14 @@ */ #define COPY32(v, a) { \ u_int32_t x = (v); \ - efi_copyin(&x, a, sizeof(x)); \ + ia64_copyin(&x, a, sizeof(x)); \ a += sizeof(x); \ } #define MOD_STR(t, a, s) { \ COPY32(t, a); \ COPY32(strlen(s) + 1, a); \ - efi_copyin(s, a, strlen(s) + 1); \ + ia64_copyin(s, a, strlen(s) + 1); \ a += roundup(strlen(s) + 1, sizeof(u_int64_t));\ } @@ -204,7 +175,7 @@ #define MOD_VAR(t, a, s) { \ COPY32(t, a); \ COPY32(sizeof(s), a); \ - efi_copyin(&s, a, sizeof(s)); \ + ia64_copyin(&s, a, sizeof(s)); \ a += roundup(sizeof(s), sizeof(u_int64_t)); \ } @@ -214,7 +185,7 @@ #define MOD_METADATA(a, mm) { \ COPY32(MODINFO_METADATA | mm->md_type, a); \ COPY32(mm->md_size, a); \ - efi_copyin(mm->md_data, a, mm->md_size); \ + ia64_copyin(mm->md_data, a, mm->md_size); \ a += roundup(mm->md_size, sizeof(u_int64_t));\ } @@ -226,24 +197,25 @@ vm_offset_t bi_copymodules(vm_offset_t addr) { - struct preloaded_file *fp; - struct file_metadata *md; + struct preloaded_file *fp; + struct file_metadata *md; - /* start with the first module on the list, should be the kernel */ - for (fp = file_findfile(NULL, NULL); fp != NULL; fp = fp->f_next) { - - MOD_NAME(addr, fp->f_name); /* this field must come first */ - MOD_TYPE(addr, fp->f_type); - if (fp->f_args) - MOD_ARGS(addr, fp->f_args); - MOD_ADDR(addr, fp->f_addr); - MOD_SIZE(addr, fp->f_size); - for (md = fp->f_metadata; md != NULL; md = md->md_next) - if (!(md->md_type & MODINFOMD_NOCOPY)) - MOD_METADATA(addr, md); - } - MOD_END(addr); - return(addr); + /* Start with the first module on the list, should be the kernel. */ + for (fp = file_findfile(NULL, NULL); fp != NULL; fp = fp->f_next) { + /* The name field must come first. */ + MOD_NAME(addr, fp->f_name); + MOD_TYPE(addr, fp->f_type); + if (fp->f_args) + MOD_ARGS(addr, fp->f_args); + MOD_ADDR(addr, fp->f_addr); + MOD_SIZE(addr, fp->f_size); + for (md = fp->f_metadata; md != NULL; md = md->md_next) { + if (!(md->md_type & MODINFOMD_NOCOPY)) + MOD_METADATA(addr, md); + } + } + MOD_END(addr); + return(addr); } /* @@ -253,103 +225,76 @@ * - Module metadata are formatted and placed in kernel space. */ int -bi_load(struct bootinfo *bi, struct preloaded_file *fp, UINTN *mapkey, - UINTN pages) +bi_load(struct preloaded_file *fp, uint64_t *bi_addr) { - char *rootdevname; - struct efi_devdesc *rootdev; - struct preloaded_file *xp; - vm_offset_t addr, bootinfo_addr; - vm_offset_t ssym, esym; - struct file_metadata *md; - EFI_STATUS status; - UINTN bisz, key; + struct bootinfo bi; + struct preloaded_file *xp; + struct file_metadata *md; + struct devdesc *rootdev; + char *rootdevname; + vm_offset_t addr, ssym, esym; - /* - * Version 1 bootinfo. - */ - bi->bi_magic = BOOTINFO_MAGIC; - bi->bi_version = 1; + bzero(&bi, sizeof(struct bootinfo)); + bi.bi_magic = BOOTINFO_MAGIC; + bi.bi_version = 1; + bi.bi_boothowto = bi_getboothowto(fp->f_args); - /* - * Calculate boothowto. - */ - bi->bi_boothowto = bi_getboothowto(fp->f_args); + /* + * Allow the environment variable 'rootdev' to override the supplied + * device. This should perhaps go to MI code and/or have $rootdev + * tested/set by MI code before launching the kernel. + */ + rootdevname = getenv("rootdev"); + ia64_getdev((void**)&rootdev, rootdevname, NULL); + if (rootdev != NULL) { + /* Try reading /etc/fstab to select the root device. */ + getrootmount(ia64_fmtdev(rootdev)); + free(rootdev); + } - /* - * Stash EFI System Table. - */ - bi->bi_systab = (u_int64_t) ST; + md = file_findmetadata(fp, MODINFOMD_SSYM); + ssym = (md != NULL) ? *((vm_offset_t *)&(md->md_data)) : 0; + md = file_findmetadata(fp, MODINFOMD_ESYM); + esym = (md != NULL) ? *((vm_offset_t *)&(md->md_data)) : 0; + if (ssym != 0 && esym != 0) { + bi.bi_symtab = ssym; + bi.bi_esymtab = esym; + } - /* - * Allow the environment variable 'rootdev' to override the supplied - * device. This should perhaps go to MI code and/or have $rootdev - * tested/set by MI code before launching the kernel. - */ - rootdevname = getenv("rootdev"); - efi_getdev((void **)(&rootdev), rootdevname, NULL); - if (rootdev == NULL) { /* bad $rootdev/$currdev */ - printf("can't determine root device\n"); - return(EINVAL); - } + /* Find the last module in the chain. */ + addr = 0; + for (xp = file_findfile(NULL, NULL); xp != NULL; xp = xp->f_next) { + if (addr < (xp->f_addr + xp->f_size)) + addr = xp->f_addr + xp->f_size; + } - /* Try reading the /etc/fstab file to select the root device */ - getrootmount(efi_fmtdev((void *)rootdev)); - free(rootdev); + addr = (addr + 15) & ~15; - ssym = esym = 0; - if ((md = file_findmetadata(fp, MODINFOMD_SSYM)) != NULL) - ssym = *((vm_offset_t *)&(md->md_data)); - if ((md = file_findmetadata(fp, MODINFOMD_ESYM)) != NULL) - esym = *((vm_offset_t *)&(md->md_data)); - if (ssym == 0 || esym == 0) - ssym = esym = 0; /* sanity */ + /* Copy module list and metadata. */ + bi.bi_modulep = addr; + addr = bi_copymodules(addr); + if (addr <= bi.bi_modulep) { + addr = bi.bi_modulep; + bi.bi_modulep = 0; + } - bi->bi_symtab = ssym; - bi->bi_esymtab = esym; + addr = (addr + 15) & ~15; - bi->bi_hcdp = (uint64_t)efi_get_table(&hcdp); /* DIG64 HCDP table addr. */ - fpswa_init(&bi->bi_fpswa); /* find FPSWA interface */ + /* Copy our environment. */ + bi.bi_envp = addr; + addr = bi_copyenv(addr); + if (addr <= bi.bi_envp) { + addr = bi.bi_envp; + bi.bi_envp = 0; + } - /* find the last module in the chain */ - addr = 0; - for (xp = file_findfile(NULL, NULL); xp != NULL; xp = xp->f_next) { - if (addr < (xp->f_addr + xp->f_size)) - addr = xp->f_addr + xp->f_size; - } + addr = (addr + PAGE_MASK) & ~PAGE_MASK; + bi.bi_kernend = addr; - /* pad to a page boundary */ - addr = (addr + PAGE_MASK) & ~PAGE_MASK; + if (ia64_pgtbl != NULL && ia64_pgtblsz != 0) { + bi.bi_pgtbl = (uintptr_t)ia64_pgtbl; + bi.bi_pgtblsz = ia64_pgtblsz; + } - /* copy our environment */ - bi->bi_envp = addr; - addr = bi_copyenv(addr); - - /* pad to a page boundary */ - addr = (addr + PAGE_MASK) & ~PAGE_MASK; - - /* copy module list and metadata */ - bi->bi_modulep = addr; - addr = bi_copymodules(addr); - - /* all done copying stuff in, save end of loaded object space */ - bi->bi_kernend = addr; - - /* - * Read the memory map and stash it after bootinfo. Align the memory map - * on a 16-byte boundary (the bootinfo block is page aligned). - */ - bisz = (sizeof(struct bootinfo) + 0x0f) & ~0x0f; - bi->bi_memmap = ((u_int64_t)bi) + bisz; - bi->bi_memmap_size = EFI_PAGE_SIZE * pages - bisz; - status = BS->GetMemoryMap(&bi->bi_memmap_size, - (EFI_MEMORY_DESCRIPTOR *)bi->bi_memmap, &key, - &bi->bi_memdesc_size, &bi->bi_memdesc_version); - if (EFI_ERROR(status)) { - printf("bi_load: Can't read memory map\n"); - return EINVAL; - } - *mapkey = key; - - return(0); + return (ldr_bootinfo(&bi, bi_addr)); } ==== //depot/projects/ia64/sys/boot/ia64/common/copy.c#2 (text+ko) ==== @@ -1,55 +1,152 @@ /*- - * Copyright (c) 1998 Michael Smith + * Copyright (c) 2006 Marcel Moolenaar * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: + * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 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. * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include -__FBSDID("$FreeBSD: src/sys/boot/efi/libefi/copy.c,v 1.6 2004/11/28 00:30:22 marcel Exp $"); +__FBSDID("$FreeBSD$"); -#include -#include #include +#include -int -efi_copyin(void *src, vm_offset_t va, size_t len) +#include "libia64.h" + +#define LDR_LOG2_PGSZ 20 + +uint64_t *ia64_pgtbl; +uint32_t ia64_pgtblsz; + +static void * +va2pa(vm_offset_t va, size_t *len) +{ + uint64_t pa; + uint32_t idx, ofs; + + /* Backward compatibility. */ + if (va >= IA64_RR_BASE(7)) { + pa = IA64_RR_MASK(va); + return ((void *)pa); + } + + printf("\n%s: va=%lx, *len=%lx: pa=", __func__, va, *len); + + /* We can not copy more than a page at a time. */ + if (*len > (1UL << LDR_LOG2_PGSZ)) + *len = 1UL << LDR_LOG2_PGSZ; + + if (va < IA64_KERNELBASE) { + printf("\n%s: %lx: invalid loader virtual address\n", + __func__, va); + *len = 0; + return (NULL); + } + + va -= IA64_KERNELBASE; + idx = va >> LDR_LOG2_PGSZ; + if (idx >= (ia64_pgtblsz >> 3)) { + printf("\n%s: %lx: loader virtual address out of bounds\n", + __func__, va); + *len = 0; + return (NULL); + } + + ofs = va & ((1U << LDR_LOG2_PGSZ) - 1); + pa = ia64_pgtbl[idx]; + if (pa == 0) { + pa = ldr_alloc(va - ofs); + if (pa == 0) { + *len = 0; + return (NULL); + } + ia64_pgtbl[idx] = pa; + } + *len -= ofs; + printf("%lx\n", pa + ofs); + return ((void *)(pa + ofs)); +} + +ssize_t +ia64_copyin(const void *src, vm_offset_t va, size_t len) { + void *pa; + ssize_t res; + size_t sz; - bcopy(src, (void *)efimd_va2pa(va), len); - return (len); + res = 0; + while (len > 0) { + sz = len; + pa = va2pa(va, &sz); + if (sz == 0) + break; + bcopy(src, pa, sz); + len -= sz; + res += sz; + va += sz; + } + return (res); } -int -efi_copyout(vm_offset_t va, void *dst, size_t len) +ssize_t +ia64_copyout(vm_offset_t va, void *dst, size_t len) { + void *pa; + ssize_t res; + size_t sz; - bcopy((void *)efimd_va2pa(va), dst, len); - return (len); + res = 0; + while (len > 0) { + sz = len; + pa = va2pa(va, &sz); + if (sz == 0) + break; + bcopy(pa, dst, sz); + len -= sz; + res += sz; + va += sz; + } + return (res); } -int -efi_readin(int fd, vm_offset_t va, size_t len) +ssize_t +ia64_readin(int fd, vm_offset_t va, size_t len) { + void *pa; + ssize_t res, s; + size_t sz; - return (read(fd, (void *)efimd_va2pa(va), len)); + res = 0; + while (len > 0) { + sz = len; + pa = va2pa(va, &sz); + if (sz == 0) + break; + s = read(fd, pa, sz); + if (s <= 0) + break; + len -= s; + res += s; + va += s; + } + return (res); } ==== //depot/projects/ia64/sys/boot/ia64/common/devicename.c#3 (text+ko) ==== @@ -1,5 +1,6 @@ /*- * Copyright (c) 1998 Michael Smith + * Copyright (c) 2006 Marcel Moolenaar * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,7 +36,7 @@ #include #include -static int efi_parsedev(struct devdesc **dev, const char *devspec, const char **path); +static int ia64_parsedev(struct devdesc **, const char *, const char **); /* * Point (dev) at an allocated device specifier for the device matching the @@ -43,29 +44,24 @@ * use that. If not, use the default device. */ int -efi_getdev(void **vdev, const char *devspec, const char **path) +ia64_getdev(void **vdev, const char *devspec, const char **path) { struct devdesc **dev = (struct devdesc **)vdev; - int rv; - + int rv; + /* - * If it looks like this is just a path and no - * device, go with the current device. + * If it looks like this is just a path and no device, then + * use the current device instead. */ - if ((devspec == NULL) || - (devspec[0] == '/') || - (strchr(devspec, ':') == NULL)) { - - if (((rv = efi_parsedev(dev, getenv("currdev"), NULL)) == 0) && - (path != NULL)) + if (devspec == NULL || *devspec == '/' || !strchr(devspec, ':')) { + rv = ia64_parsedev(dev, getenv("currdev"), NULL); + if (rv == 0 && path != NULL) *path = devspec; - return(rv); + return (rv); } - - /* - * Try to parse the device name off the beginning of the devspec - */ - return(efi_parsedev(dev, devspec, path)); + + /* Parse the device name off the beginning of the devspec. */ + return (ia64_parsedev(dev, devspec, path)); } /* @@ -82,13 +78,13 @@ * fs: */ static int -efi_parsedev(struct devdesc **dev, const char *devspec, const char **path) +ia64_parsedev(struct devdesc **dev, const char *devspec, const char **path) { struct devdesc *idev; - struct devsw *dv; - int i, err; - char *cp; - const char *np; + struct devsw *dv; + char *cp; + const char *np; + int i, err; /* minimum length check */ if (strlen(devspec) < 2) @@ -106,13 +102,14 @@ idev = malloc(sizeof(struct devdesc)); if (idev == NULL) return (ENOMEM); + idev->d_dev = dv; idev->d_type = dv->dv_type; idev->d_unit = -1; err = 0; - np = (devspec + strlen(dv->dv_name)); - if (*np && (*np != ':')) { + np = devspec + strlen(dv->dv_name); + if (*np != '\0' && *np != ':') { idev->d_unit = strtol(np, &cp, 0); if (cp == np) { idev->d_unit = -1; @@ -120,7 +117,7 @@ return (EUNIT); } } - if (*cp && (*cp != ':')) { + if (*cp != '\0' && *cp != ':') { free(idev); return (EINVAL); } @@ -131,46 +128,42 @@ *dev = idev; else free(idev); - return(0); + return (0); } - char * -efi_fmtdev(void *vdev) +ia64_fmtdev(void *vdev) { struct devdesc *dev = (struct devdesc *)vdev; - static char buf[128]; /* XXX device length constant? */ + static char buf[32]; /* XXX device length constant? */ switch(dev->d_type) { case DEVT_NONE: strcpy(buf, "(no device)"); break; - case DEVT_DISK: + default: sprintf(buf, "%s%d:", dev->d_dev->dv_name, dev->d_unit); break; + } - case DEVT_NET: - sprintf(buf, "%s%d:", dev->d_dev->dv_name, dev->d_unit); - break; - } return(buf); } - /* * Set currdev to suit the value being supplied in (value) */ int -efi_setcurrdev(struct env_var *ev, int flags, const void *value) +ia64_setcurrdev(struct env_var *ev, int flags, const void *value) { struct devdesc *ncurr; - int rv; - - if ((rv = efi_parsedev(&ncurr, value, NULL)) != 0) + int rv; + + rv = ia64_parsedev(&ncurr, value, NULL); + if (rv != 0) return(rv); + free(ncurr); env_setenv(ev->ev_name, flags | EV_NOHOOK, value, NULL, NULL); - return(0); + return (0); } - ==== //depot/projects/ia64/sys/boot/ia64/efi/Makefile#6 (text+ko) ==== @@ -6,48 +6,22 @@ PROG= loader.sym INTERNALPROG= -SRCS= bootinfo.c conf.c copy.c dev_net.c devicename.c efifpswa.c \ - efimd.c elf_freebsd.c main.c pal.S start.S vers.c +SRCS= conf.c efimd.c main.c pal.S start.S vers.c + +.PATH: ${.CURDIR}/../../../${MACHINE_ARCH}/${MACHINE_ARCH} -CFLAGS+= -DLOADER +CFLAGS+= -I${.CURDIR}/../common +CFLAGS+= -I${.CURDIR}/../../common CFLAGS+= -I${.CURDIR}/../../efi/include CFLAGS+= -I${.CURDIR}/../../efi/include/${MACHINE_ARCH} -CFLAGS+= -I${.CURDIR}/../../efi/libefi +CFLAGS+= -I${.CURDIR}/../../.. CFLAGS+= -I${.CURDIR}/../../../../lib/libstand -.if ${MK_FORTH} != "no" -BOOT_FORTH= yes -CFLAGS+= -DBOOT_FORTH -CFLAGS+= -I${.CURDIR}/../../ficl -CFLAGS+= -I${.CURDIR}/../../ficl/${MACHINE_ARCH} -LIBFICL= ${.OBJDIR}/../../ficl/libficl.a -.endif - -.PATH: ${.CURDIR}/../common -.PATH: ${.CURDIR}/../../../${MACHINE_ARCH}/${MACHINE_ARCH} - -# Always add MI sources -.PATH: ${.CURDIR}/../../common -.include "${.CURDIR}/../../common/Makefile.inc" - -CFLAGS+= -I${.CURDIR}/../../common - -.PATH: ${.CURDIR}/../../forth -FILES= loader.efi loader.help loader.4th support.4th loader.conf -FILESMODE_loader.efi= ${BINMODE} -FILESDIR_loader.conf= /boot/defaults - -.if !exists(${DESTDIR}/boot/loader.rc) -FILES+= loader.rc -.endif - LDSCRIPT= ${.CURDIR}/ldscript.${MACHINE_ARCH} LDFLAGS= -Wl,-T${LDSCRIPT} -shared -symbolic ${PROG}: ${LDSCRIPT} -CLEANFILES= vers.c loader.efi loader.help - NEWVERSWHAT= "EFI boot" ${MACHINE_ARCH} vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version @@ -56,22 +30,28 @@ OBJCOPY?= objcopy OBJDUMP?= objdump +FILES= loader.efi +FILESMODE_loader.efi= ${BINMODE} + loader.efi: loader.sym if [ `${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*' | wc -l` != 0 ]; then \ ${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*'; \ + rm ${.ALLSRC}; \ exit 1; \ fi ${OBJCOPY} -j .data -j .dynamic -j .dynstr -j .dynsym -j .hash \ -j .rela.dyn -j .reloc -j .sdata -j .text \ --target=efi-app-${MACHINE_ARCH} ${.ALLSRC} ${.TARGET} -loader.help: help.common - cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk \ - > ${.TARGET} +CLEANFILES= vers.c loader.efi +LIBIA64= ${.OBJDIR}/../common/libia64.a LIBEFI= ${.OBJDIR}/../../efi/libefi/libefi.a +.if ${MK_FORTH} != "no" +LIBFICL= ${.OBJDIR}/../../ficl/libficl.a +.endif -DPADD= ${LIBFICL} ${LIBEFI} ${LIBSTAND} -LDADD= ${LIBFICL} ${LIBEFI} -lstand +DPADD= ${LIBIA64} ${LIBFICL} ${LIBEFI} ${LIBSTAND} +LDADD= ${LIBIA64} ${LIBFICL} ${LIBEFI} -lstand ${LIBIA64} .include ==== //depot/projects/ia64/sys/boot/ia64/efi/conf.c#4 (text+ko) ==== @@ -50,23 +50,16 @@ /* Exported for libstand */ struct devsw *devsw[] = { &efifs_dev, - &netdev, NULL }; struct fs_ops *file_system[] = { &efifs_fsops, &ufs_fsops, - &nfs_fsops, &gzipfs_fsops, NULL }; -struct netif_driver *netif_drivers[] = { - &efinetif, - NULL, -}; - /* Exported for ia64 only */ /* * Sort formats so that those that can detect based on arguments ==== //depot/projects/ia64/sys/boot/ia64/efi/efimd.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2004 Marcel Moolenaar + * Copyright (c) 2006 Marcel Moolenaar * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,16 +25,114 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ia64/efi/efimd.c,v 1.2 2005/01/05 22:16:57 imp Exp $"); +__FBSDID("$FreeBSD$"); + +#include #include #include -#include +#include + +#define EFI_INTEL_FPSWA \ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Nov 1 00:00:43 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A4D9516A4C9; Wed, 1 Nov 2006 00:00:42 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 7E15B16A47B for ; Wed, 1 Nov 2006 00:00:42 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 473D843D67 for ; Tue, 31 Oct 2006 23:59:23 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9VNxNLI044229 for ; Tue, 31 Oct 2006 23:59:23 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9VNxNIF044226 for perforce@freebsd.org; Tue, 31 Oct 2006 23:59:23 GMT (envelope-from marcel@freebsd.org) Date: Tue, 31 Oct 2006 23:59:23 GMT Message-Id: <200610312359.k9VNxNIF044226@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 Cc: Subject: PERFORCE change 108875 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 00:00:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=108875 Change 108875 by marcel@marcel_cluster on 2006/10/31 23:58:23 Guarantee that kern_envp is never NULL. Affected files ... .. //depot/projects/ia64/sys/ia64/ia64/machdep.c#121 edit Differences ... ==== //depot/projects/ia64/sys/ia64/ia64/machdep.c#121 (text+ko) ==== @@ -586,10 +586,11 @@ preload_metadata = (caddr_t)bootinfo.bi_modulep; else metadata_missing = 1; - if (envmode == 1) + + if (envmode == 0 && bootinfo.bi_envp) + kern_envp = (caddr_t)bootinfo.bi_envp; + else kern_envp = static_env; - else - kern_envp = (caddr_t)bootinfo.bi_envp; /* * Look at arguments passed to us and compute boothowto. From owner-p4-projects@FreeBSD.ORG Wed Nov 1 00:45:28 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3C46816A416; Wed, 1 Nov 2006 00:45:28 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 E05B416A412 for ; Wed, 1 Nov 2006 00:45:27 +0000 (UTC) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 925EC43D75 for ; Wed, 1 Nov 2006 00:45:27 +0000 (GMT) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA10jRgF053038 for ; Wed, 1 Nov 2006 00:45:27 GMT (envelope-from scottl@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA10jRKw053035 for perforce@freebsd.org; Wed, 1 Nov 2006 00:45:27 GMT (envelope-from scottl@freebsd.org) Date: Wed, 1 Nov 2006 00:45:27 GMT Message-Id: <200611010045.kA10jRKw053035@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to scottl@freebsd.org using -f From: Scott Long To: Perforce Change Reviews Cc: Subject: PERFORCE change 108876 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 00:45:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=108876 Change 108876 by scottl@scottl-x64 on 2006/11/01 00:44:27 Don't hold the MPT lock over all of mpt_attach(), it causes all sorts of problems with memory allocations and system APIs. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt.c#14 edit .. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_cam.c#15 edit .. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_pci.c#16 edit .. //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_raid.c#9 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt.c#14 (text+ko) ==== @@ -2110,11 +2110,13 @@ TAILQ_INIT(&mpt->request_pending_list); TAILQ_INIT(&mpt->request_free_list); TAILQ_INIT(&mpt->request_timeout_list); + MPT_LOCK(mpt); for (val = 0; val < MPT_MAX_REQUESTS(mpt); val++) { request_t *req = &mpt->request_pool[val]; req->state = REQ_STATE_ALLOCATED; mpt_free_request(mpt, req); } + MPT_UNLOCK(mpt); for (val = 0; val < MPT_MAX_LUNS; val++) { STAILQ_INIT(&mpt->trt[val].atios); @@ -2130,7 +2132,9 @@ mpt_lprt(mpt, MPT_PRT_DEBUG, "doorbell req = %s\n", mpt_ioc_diag(mpt_read(mpt, MPT_OFFSET_DOORBELL))); + MPT_LOCK(mpt); error = mpt_configure_ioc(mpt); + MPT_UNLOCK(mpt); return (error); } @@ -2143,6 +2147,7 @@ * not enabled, ports not enabled and interrupts * not enabled. */ + MPT_LOCK(mpt); /* * Enable asynchronous event reporting- all personalities @@ -2177,8 +2182,10 @@ */ if (mpt_send_port_enable(mpt, 0) != MPT_OK) { mpt_prt(mpt, "failed to enable port 0\n"); + MPT_UNLOCK(mpt); return (ENXIO); } + MPT_UNLOCK(mpt); return (0); } ==== //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_cam.c#15 (text+ko) ==== @@ -210,6 +210,7 @@ int maxq; int error; + MPT_LOCK(mpt); TAILQ_INIT(&mpt->request_timeout_list); maxq = (mpt->mpt_global_credits < MPT_MAX_REQUESTS(mpt))? mpt->mpt_global_credits : MPT_MAX_REQUESTS(mpt); @@ -218,14 +219,16 @@ error = mpt_register_handler(mpt, MPT_HANDLER_REPLY, handler, &scsi_io_handler_id); if (error != 0) { - goto cleanup0; + MPT_UNLOCK(mpt); + goto cleanup; } handler.reply_handler = mpt_scsi_tmf_reply_handler; error = mpt_register_handler(mpt, MPT_HANDLER_REPLY, handler, &scsi_tmf_handler_id); if (error != 0) { - goto cleanup0; + MPT_UNLOCK(mpt); + goto cleanup; } /* @@ -237,11 +240,13 @@ error = mpt_register_handler(mpt, MPT_HANDLER_REPLY, handler, &fc_els_handler_id); if (error != 0) { - goto cleanup0; + MPT_UNLOCK(mpt); + goto cleanup; } if (mpt_add_els_buffers(mpt) == FALSE) { error = ENOMEM; - goto cleanup0; + MPT_UNLOCK(mpt); + goto cleanup; } maxq -= mpt->els_cmds_allocated; } @@ -256,7 +261,8 @@ error = mpt_register_handler(mpt, MPT_HANDLER_REPLY, handler, &mpt->scsi_tgt_handler_id); if (error != 0) { - goto cleanup0; + MPT_UNLOCK(mpt); + goto cleanup; } } @@ -267,7 +273,8 @@ if (mpt->tmf_req == NULL) { mpt_prt(mpt, "Unable to allocate dedicated TMF request!\n"); error = ENOMEM; - goto cleanup0; + MPT_UNLOCK(mpt); + goto cleanup; } /* @@ -279,18 +286,18 @@ mpt->tmf_req->state = REQ_STATE_FREE; maxq--; + /* + * The rest of this is CAM foo, for which we need to drop our lock + */ + MPT_UNLOCK(mpt); + if (mpt_spawn_recovery_thread(mpt) != 0) { mpt_prt(mpt, "Unable to spawn recovery thread!\n"); error = ENOMEM; - goto cleanup0; + goto cleanup; } /* - * The rest of this is CAM foo, for which we need to drop our lock - */ - MPTLOCK_2_CAMLOCK(mpt); - - /* * Create the device queue for our SIM(s). */ devq = cam_simq_alloc(maxq); @@ -315,9 +322,11 @@ /* * Register exactly this bus. */ + MPT_LOCK(mpt); if (xpt_bus_register(mpt->sim, 0) != CAM_SUCCESS) { mpt_prt(mpt, "Bus registration Failed!\n"); error = ENOMEM; + MPT_UNLOCK(mpt); goto cleanup; } @@ -325,15 +334,16 @@ CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD) != CAM_REQ_CMP) { mpt_prt(mpt, "Unable to allocate Path!\n"); error = ENOMEM; + MPT_UNLOCK(mpt); goto cleanup; } + MPT_UNLOCK(mpt); /* * Only register a second bus for RAID physical * devices if the controller supports RAID. */ if (mpt->ioc_page2 == NULL || mpt->ioc_page2->MaxPhysDisks == 0) { - CAMLOCK_2_MPTLOCK(mpt); return (0); } @@ -351,9 +361,11 @@ /* * Register this bus. */ + MPT_LOCK(mpt); if (xpt_bus_register(mpt->phydisk_sim, 1) != CAM_SUCCESS) { mpt_prt(mpt, "Physical Disk Bus registration Failed!\n"); error = ENOMEM; + MPT_UNLOCK(mpt); goto cleanup; } @@ -362,15 +374,14 @@ CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD) != CAM_REQ_CMP) { mpt_prt(mpt, "Unable to allocate Physical Disk Path!\n"); error = ENOMEM; + MPT_UNLOCK(mpt); goto cleanup; } - CAMLOCK_2_MPTLOCK(mpt); + MPT_UNLOCK(mpt); mpt_lprt(mpt, MPT_PRT_DEBUG, "attached cam\n"); return (0); cleanup: - CAMLOCK_2_MPTLOCK(mpt); -cleanup0: mpt_cam_detach(mpt); return (error); } @@ -793,29 +804,38 @@ int mpt_cam_enable(struct mpt_softc *mpt) { + int error; + + MPT_LOCK(mpt); + + error = EIO; if (mpt->is_fc) { if (mpt_read_config_info_fc(mpt)) { - return (EIO); + goto out; } if (mpt_set_initial_config_fc(mpt)) { - return (EIO); + goto out; } } else if (mpt->is_sas) { if (mpt_read_config_info_sas(mpt)) { - return (EIO); + goto out; } if (mpt_set_initial_config_sas(mpt)) { - return (EIO); + goto out; } } else if (mpt->is_spi) { if (mpt_read_config_info_spi(mpt)) { - return (EIO); + goto out; } if (mpt_set_initial_config_spi(mpt)) { - return (EIO); + goto out; } } - return (0); + error = 0; + +out: + MPT_UNLOCK(mpt); + return (error); } void @@ -842,6 +862,7 @@ { mpt_handler_t handler; + MPT_LOCK(mpt); mpt_terminate_recovery_thread(mpt); handler.reply_handler = mpt_scsi_reply_handler; @@ -862,23 +883,20 @@ mpt_free_request(mpt, mpt->tmf_req); mpt->tmf_req = NULL; } + MPT_UNLOCK(mpt); if (mpt->sim != NULL) { - MPTLOCK_2_CAMLOCK(mpt); xpt_free_path(mpt->path); xpt_bus_deregister(cam_sim_path(mpt->sim)); cam_sim_free(mpt->sim, TRUE); mpt->sim = NULL; - CAMLOCK_2_MPTLOCK(mpt); } if (mpt->phydisk_sim != NULL) { - MPTLOCK_2_CAMLOCK(mpt); xpt_free_path(mpt->phydisk_path); xpt_bus_deregister(cam_sim_path(mpt->phydisk_sim)); cam_sim_free(mpt->phydisk_sim, TRUE); mpt->phydisk_sim = NULL; - CAMLOCK_2_MPTLOCK(mpt); } } ==== //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_pci.c#16 (text+ko) ==== @@ -559,12 +559,9 @@ /* Initialize the hardware */ if (mpt->disabled == 0) { - MPT_LOCK(mpt); if (mpt_attach(mpt) != 0) { - MPT_UNLOCK(mpt); goto bad; } - MPT_UNLOCK(mpt); } else { mpt_prt(mpt, "device disabled at user request\n"); goto bad; @@ -575,9 +572,7 @@ if (mpt->eh == NULL) { mpt_prt(mpt, "shutdown event registration failed\n"); - MPT_LOCK(mpt); (void) mpt_detach(mpt); - MPT_UNLOCK(mpt); goto bad; } return (0); @@ -636,7 +631,6 @@ mpt = (struct mpt_softc*)device_get_softc(dev); if (mpt) { - MPT_LOCK(mpt); mpt_disable_ints(mpt); mpt_detach(mpt); mpt_reset(mpt, /*reinit*/FALSE); @@ -646,7 +640,6 @@ if (mpt->eh != NULL) { EVENTHANDLER_DEREGISTER(shutdown_final, mpt->eh); } - MPT_UNLOCK(mpt); } return(0); } @@ -663,9 +656,7 @@ mpt = (struct mpt_softc *)device_get_softc(dev); if (mpt) { int r; - MPT_LOCK(mpt); r = mpt_shutdown(mpt); - MPT_UNLOCK(mpt); return (r); } return(0); ==== //depot/projects/scottl-camlock/src/sys/dev/mpt/mpt_raid.c#9 (text+ko) ==== @@ -270,6 +270,13 @@ mpt_callout_init(&mpt->raid_timer); + error = mpt_spawn_raid_thread(mpt); + if (error != 0) { + mpt_prt(mpt, "Unable to spawn RAID thread!\n"); + goto cleanup; + } + + MPT_LOCK(mpt); handler.reply_handler = mpt_raid_reply_handler; error = mpt_register_handler(mpt, MPT_HANDLER_REPLY, handler, &raid_handler_id); @@ -278,28 +285,22 @@ goto cleanup; } - error = mpt_spawn_raid_thread(mpt); - if (error != 0) { - mpt_prt(mpt, "Unable to spawn RAID thread!\n"); - goto cleanup; - } - xpt_setup_ccb(&csa.ccb_h, mpt->path, 5); csa.ccb_h.func_code = XPT_SASYNC_CB; csa.event_enable = AC_FOUND_DEVICE; csa.callback = mpt_raid_async; csa.callback_arg = mpt; - MPTLOCK_2_CAMLOCK(mpt); xpt_action((union ccb *)&csa); - CAMLOCK_2_MPTLOCK(mpt); if (csa.ccb_h.status != CAM_REQ_CMP) { mpt_prt(mpt, "mpt_raid_attach: Unable to register " "CAM async handler.\n"); } + MPT_UNLOCK(mpt); mpt_raid_sysctl_attach(mpt); return (0); cleanup: + MPT_UNLOCK(mpt); mpt_raid_detach(mpt); return (error); } @@ -317,6 +318,7 @@ mpt_handler_t handler; callout_stop(&mpt->raid_timer); + MPT_LOCK(mpt); mpt_terminate_raid_thread(mpt); handler.reply_handler = mpt_raid_reply_handler; @@ -327,9 +329,8 @@ csa.event_enable = 0; csa.callback = mpt_raid_async; csa.callback_arg = mpt; - MPTLOCK_2_CAMLOCK(mpt); xpt_action((union ccb *)&csa); - CAMLOCK_2_MPTLOCK(mpt); + MPT_UNLOCK(mpt); } static void @@ -620,12 +621,17 @@ * reject I/O to an ID we later determine is for a * hidden physdisk. */ + MPT_LOCK(mpt); xpt_freeze_simq(mpt->phydisk_sim, 1); + MPT_UNLOCK(mpt); error = mpt_kthread_create(mpt_raid_thread, mpt, &mpt->raid_thread, /*flags*/0, /*altstack*/0, "mpt_raid%d", mpt->unit); - if (error != 0) + if (error != 0) { + MPT_LOCK(mpt); xpt_release_simq(mpt->phydisk_sim, /*run_queue*/FALSE); + MPT_UNLOCK(mpt); + } return (error); } From owner-p4-projects@FreeBSD.ORG Wed Nov 1 01:12:02 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4F89216A417; Wed, 1 Nov 2006 01:12:02 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 12DBA16A403 for ; Wed, 1 Nov 2006 01:12:02 +0000 (UTC) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 86F9843D5A for ; Wed, 1 Nov 2006 01:12:01 +0000 (GMT) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA11C1s1066214 for ; Wed, 1 Nov 2006 01:12:01 GMT (envelope-from scottl@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA11C1Jt066210 for perforce@freebsd.org; Wed, 1 Nov 2006 01:12:01 GMT (envelope-from scottl@freebsd.org) Date: Wed, 1 Nov 2006 01:12:01 GMT Message-Id: <200611010112.kA11C1Jt066210@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to scottl@freebsd.org using -f From: Scott Long To: Perforce Change Reviews Cc: Subject: PERFORCE change 108878 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 01:12:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=108878 Change 108878 by scottl@scottl-x64 on 2006/11/01 01:11:30 For some wonderful reason, you cannot pass &Giant to msleep. Work around that in a crude fashion. Also add some more assertions. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/cam_periph.c#14 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/cam_periph.c#14 (text+ko) ==== @@ -515,14 +515,16 @@ /* * Interlock the SIM lock with the XPT lock to protect against the * SIM going away unexpectedly while we are trying reference it. + xpt_lock_buses(); */ - xpt_lock_buses(); /* * Now it's safe to take the SIM lock. */ mtx_lock(periph->sim->mtx); + /* xpt_unlock_buses(); + */ /* * Increment the reference count on the peripheral. @@ -757,9 +759,11 @@ cam_periph_getccb(struct cam_periph *periph, u_int32_t priority) { struct ccb_hdr *ccb_h; + struct mtx *mtx; int s; CAM_DEBUG(periph->path, CAM_DEBUG_TRACE, ("entering cdgetccb\n")); + mtx_assert(periph->sim->mtx, MA_OWNED); s = splsoftcam(); @@ -770,7 +774,12 @@ if ((SLIST_FIRST(&periph->ccb_list) != NULL) && (SLIST_FIRST(&periph->ccb_list)->pinfo.priority == priority)) break; - msleep(&periph->ccb_list, periph->sim->mtx, PRIBIO, "cgticb", 0); + mtx_assert(periph->sim->mtx, MA_OWNED); + if (periph->sim->mtx == &Giant) + mtx = NULL; + else + mtx = periph->sim->mtx; + msleep(&periph->ccb_list, mtx, PRIBIO, "cgticb", 0); } ccb_h = SLIST_FIRST(&periph->ccb_list); @@ -782,14 +791,19 @@ void cam_periph_ccbwait(union ccb *ccb) { + struct mtx *mtx; struct cam_sim *sim; int s; s = splsoftcam(); sim = xpt_path_sim(ccb->ccb_h.path); + if (sim->mtx == &Giant) + mtx = NULL; + else + mtx = sim->mtx; if ((ccb->ccb_h.pinfo.index != CAM_UNQUEUED_INDEX) || ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_INPROG)) - msleep(&ccb->ccb_h.cbfcnp, sim->mtx, PRIBIO, "cbwait", 0); + msleep(&ccb->ccb_h.cbfcnp, mtx, PRIBIO, "cbwait", 0); splx(s); } @@ -864,10 +878,13 @@ cam_flags camflags, u_int32_t sense_flags, struct devstat *ds) { + struct cam_sim *sim; int error; error = 0; - + sim = xpt_path_sim(ccb->ccb_h.path); + + mtx_assert(sim->mtx, MA_OWNED); /* * If the user has supplied a stats structure, and if we understand * this particular type of ccb, record the transaction start. From owner-p4-projects@FreeBSD.ORG Wed Nov 1 03:40:33 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7159116A412; Wed, 1 Nov 2006 03:40:33 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 34AD016A403 for ; Wed, 1 Nov 2006 03:40:33 +0000 (UTC) (envelope-from kevlo@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DFCC443D45 for ; Wed, 1 Nov 2006 03:40:32 +0000 (GMT) (envelope-from kevlo@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA13eWmC092569 for ; Wed, 1 Nov 2006 03:40:32 GMT (envelope-from kevlo@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA13eWL2092566 for perforce@freebsd.org; Wed, 1 Nov 2006 03:40:32 GMT (envelope-from kevlo@freebsd.org) Date: Wed, 1 Nov 2006 03:40:32 GMT Message-Id: <200611010340.kA13eWL2092566@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kevlo@freebsd.org using -f From: Kevin Lo To: Perforce Change Reviews Cc: Subject: PERFORCE change 108882 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 03:40:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=108882 Change 108882 by kevlo@kevlo_rtsl on 2006/11/01 03:40:14 MFsam_avila: undo PCI memory byte swap changes. Affected files ... .. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci_space.c#6 edit Differences ... ==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425_pci_space.c#6 (text+ko) ==== @@ -469,7 +469,7 @@ u_int32_t data; data = ixp425_pci_mem_bs_r_4(v, ioh, off); - return (htole32(data)); + return (le32toh(data)); } static void From owner-p4-projects@FreeBSD.ORG Wed Nov 1 06:52:07 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7A0BA16A4D1; Wed, 1 Nov 2006 06:52:07 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 E768D16A416 for ; Wed, 1 Nov 2006 06:52:06 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9F31A43D5C for ; Wed, 1 Nov 2006 06:51:46 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA16pk8j035740 for ; Wed, 1 Nov 2006 06:51:46 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA16phbi035737 for perforce@freebsd.org; Wed, 1 Nov 2006 06:51:43 GMT (envelope-from jb@freebsd.org) Date: Wed, 1 Nov 2006 06:51:43 GMT Message-Id: <200611010651.kA16phbi035737@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 108890 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 06:52:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=108890 Change 108890 by jb@jb_freebsd8 on 2006/11/01 06:51:06 IFC Affected files ... .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#30 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#30 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/articles/committers-guide/article.sgml#5 integrate .. //depot/projects/dtrace/ports/LEGAL#12 integrate .. //depot/projects/dtrace/ports/MOVED#27 integrate .. //depot/projects/dtrace/ports/Mk/bsd.gnome.mk#7 integrate .. //depot/projects/dtrace/ports/Mk/bsd.gnustep.mk#5 integrate .. //depot/projects/dtrace/ports/Mk/bsd.sdl.mk#5 integrate .. //depot/projects/dtrace/ports/UIDs#6 integrate .. //depot/projects/dtrace/ports/UPDATING#20 integrate .. //depot/projects/dtrace/src/ObsoleteFiles.inc#14 integrate .. //depot/projects/dtrace/src/bin/rm/rm.1#4 integrate .. //depot/projects/dtrace/src/bin/rm/rm.c#6 integrate .. //depot/projects/dtrace/src/contrib/bsnmp/snmp_mibII/mibII.c#4 integrate .. //depot/projects/dtrace/src/contrib/bsnmp/snmpd/action.c#4 integrate .. //depot/projects/dtrace/src/contrib/bsnmp/snmpd/tree.def#4 integrate .. //depot/projects/dtrace/src/contrib/pf/man/pf.conf.5#4 integrate .. //depot/projects/dtrace/src/etc/mtree/BSD.include.dist#7 integrate .. //depot/projects/dtrace/src/etc/snmpd.config#4 integrate .. //depot/projects/dtrace/src/games/fortune/datfiles/fortunes#15 integrate .. //depot/projects/dtrace/src/include/Makefile#7 integrate .. //depot/projects/dtrace/src/lib/libufs/Makefile#4 integrate .. //depot/projects/dtrace/src/lib/libufs/cgread.3#4 integrate .. //depot/projects/dtrace/src/lib/libufs/cgroup.c#4 integrate .. //depot/projects/dtrace/src/lib/libufs/libufs.3#4 integrate .. //depot/projects/dtrace/src/lib/libufs/libufs.h#4 integrate .. //depot/projects/dtrace/src/sbin/dumpfs/dumpfs.c#4 integrate .. //depot/projects/dtrace/src/sbin/dumpon/dumpon.c#5 integrate .. //depot/projects/dtrace/src/sbin/fsck_ffs/Makefile#4 integrate .. //depot/projects/dtrace/src/sbin/fsck_ffs/fsck.h#4 integrate .. //depot/projects/dtrace/src/sbin/fsck_ffs/fsutil.c#4 integrate .. //depot/projects/dtrace/src/sbin/fsck_ffs/gjournal.c#1 branch .. //depot/projects/dtrace/src/sbin/fsck_ffs/inode.c#4 integrate .. //depot/projects/dtrace/src/sbin/fsck_ffs/main.c#4 integrate .. //depot/projects/dtrace/src/sbin/fsck_ffs/pass5.c#4 integrate .. //depot/projects/dtrace/src/sbin/fsck_ffs/setup.c#4 integrate .. //depot/projects/dtrace/src/sbin/fsdb/fsdb.c#6 integrate .. //depot/projects/dtrace/src/sbin/fsdb/fsdb.h#5 integrate .. //depot/projects/dtrace/src/sbin/geom/class/Makefile#5 integrate .. //depot/projects/dtrace/src/sbin/geom/class/journal/Makefile#1 branch .. //depot/projects/dtrace/src/sbin/geom/class/journal/geom_journal.c#1 branch .. //depot/projects/dtrace/src/sbin/geom/class/journal/geom_journal.h#1 branch .. //depot/projects/dtrace/src/sbin/geom/class/journal/geom_journal_ufs.c#1 branch .. //depot/projects/dtrace/src/sbin/ggate/shared/ggate.c#4 integrate .. //depot/projects/dtrace/src/sbin/growfs/debug.c#4 integrate .. //depot/projects/dtrace/src/sbin/mount/mount.c#8 integrate .. //depot/projects/dtrace/src/sbin/newfs/mkfs.c#5 integrate .. //depot/projects/dtrace/src/sbin/newfs/newfs.8#4 integrate .. //depot/projects/dtrace/src/sbin/newfs/newfs.c#4 integrate .. //depot/projects/dtrace/src/sbin/newfs/newfs.h#4 integrate .. //depot/projects/dtrace/src/sbin/tunefs/tunefs.8#4 integrate .. //depot/projects/dtrace/src/sbin/tunefs/tunefs.c#4 integrate .. //depot/projects/dtrace/src/share/man/man4/ddb.4#10 integrate .. //depot/projects/dtrace/src/share/man/man4/fdc.4#5 integrate .. //depot/projects/dtrace/src/share/man/man5/fs.5#4 integrate .. //depot/projects/dtrace/src/share/man/man9/disk.9#4 integrate .. //depot/projects/dtrace/src/share/snmp/mibs/FREEBSD-MIB.txt#4 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/genassym.c#4 integrate .. //depot/projects/dtrace/src/sys/amd64/linux32/linux32_sysvec.c#8 integrate .. //depot/projects/dtrace/src/sys/arm/arm/elf_trampoline.c#8 integrate .. //depot/projects/dtrace/src/sys/arm/arm/genassym.c#4 integrate .. //depot/projects/dtrace/src/sys/cam/scsi/scsi_da.c#8 integrate .. //depot/projects/dtrace/src/sys/cam/scsi/scsi_low.c#4 integrate .. //depot/projects/dtrace/src/sys/conf/NOTES#23 integrate .. //depot/projects/dtrace/src/sys/conf/files#35 integrate .. //depot/projects/dtrace/src/sys/conf/options#22 integrate .. //depot/projects/dtrace/src/sys/dev/aac/aac_cam.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/acpi_support/acpi_aiboost.c#1 branch .. //depot/projects/dtrace/src/sys/dev/acpi_support/acpi_sony.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/advansys/advansys.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/advansys/advlib.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/advansys/adwcam.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/aha/aha.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/ahb/ahb.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/aic/aic.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/amd/amd.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/amr/amr.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/amr/amr_cam.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/amr/amr_disk.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/arcmsr/arcmsr.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/asr/asr.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/ata/ata-disk.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/ata/ata-raid.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/ata/atapi-cam.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/bce/if_bce.c#12 integrate .. //depot/projects/dtrace/src/sys/dev/ciss/ciss.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/dc/if_dc.c#8 integrate .. //depot/projects/dtrace/src/sys/dev/dpt/dpt_scsi.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/esp/ncr53c9x.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/firewire/sbp.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/iir/iir.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_freebsd.c#10 integrate .. //depot/projects/dtrace/src/sys/dev/mly/mly.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/mpt/mpt_cam.c#16 integrate .. //depot/projects/dtrace/src/sys/dev/pci/pci.c#10 integrate .. //depot/projects/dtrace/src/sys/dev/pci/pci_pci.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/pci/pcivar.h#6 integrate .. //depot/projects/dtrace/src/sys/dev/trm/trm.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/twa/tw_osl_cam.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/usb/ubsa.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/usb/umass.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/usb/usbdevs#9 integrate .. //depot/projects/dtrace/src/sys/geom/concat/g_concat.c#4 integrate .. //depot/projects/dtrace/src/sys/geom/eli/g_eli.c#9 integrate .. //depot/projects/dtrace/src/sys/geom/geom.h#7 integrate .. //depot/projects/dtrace/src/sys/geom/geom_disk.c#5 integrate .. //depot/projects/dtrace/src/sys/geom/geom_disk.h#4 integrate .. //depot/projects/dtrace/src/sys/geom/geom_io.c#4 integrate .. //depot/projects/dtrace/src/sys/geom/geom_slice.c#5 integrate .. //depot/projects/dtrace/src/sys/geom/journal/g_journal.c#1 branch .. //depot/projects/dtrace/src/sys/geom/journal/g_journal.h#1 branch .. //depot/projects/dtrace/src/sys/geom/journal/g_journal_ufs.c#1 branch .. //depot/projects/dtrace/src/sys/geom/mirror/g_mirror.c#12 integrate .. //depot/projects/dtrace/src/sys/geom/raid3/g_raid3.c#16 integrate .. //depot/projects/dtrace/src/sys/geom/stripe/g_stripe.c#4 integrate .. //depot/projects/dtrace/src/sys/i386/conf/NOTES#11 integrate .. //depot/projects/dtrace/src/sys/i386/i386/genassym.c#5 integrate .. //depot/projects/dtrace/src/sys/ia64/ia64/genassym.c#4 integrate .. //depot/projects/dtrace/src/sys/kern/subr_disk.c#4 integrate .. //depot/projects/dtrace/src/sys/kern/subr_prf.c#8 integrate .. //depot/projects/dtrace/src/sys/kern/tty_cons.c#6 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_subr.c#15 integrate .. //depot/projects/dtrace/src/sys/modules/acpi/Makefile#5 integrate .. //depot/projects/dtrace/src/sys/modules/acpi/acpi_aiboost/Makefile#1 branch .. //depot/projects/dtrace/src/sys/modules/geom/Makefile#5 integrate .. //depot/projects/dtrace/src/sys/modules/geom/geom_journal/Makefile#1 branch .. //depot/projects/dtrace/src/sys/modules/ufs/Makefile#4 integrate .. //depot/projects/dtrace/src/sys/nfsclient/nfs_socket.c#9 integrate .. //depot/projects/dtrace/src/sys/pci/ncr.c#6 integrate .. //depot/projects/dtrace/src/sys/powerpc/powerpc/genassym.c#4 integrate .. //depot/projects/dtrace/src/sys/sparc64/include/endian.h#4 integrate .. //depot/projects/dtrace/src/sys/sparc64/sparc64/genassym.c#7 integrate .. //depot/projects/dtrace/src/sys/sun4v/include/endian.h#5 integrate .. //depot/projects/dtrace/src/sys/sys/bio.h#4 integrate .. //depot/projects/dtrace/src/sys/sys/cons.h#5 integrate .. //depot/projects/dtrace/src/sys/sys/mac_policy.h#8 integrate .. //depot/projects/dtrace/src/sys/sys/mount.h#7 integrate .. //depot/projects/dtrace/src/sys/sys/pcpu.h#11 integrate .. //depot/projects/dtrace/src/sys/sys/vnode.h#5 integrate .. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_extern.h#4 integrate .. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_vfsops.c#12 integrate .. //depot/projects/dtrace/src/sys/ufs/ffs/fs.h#5 integrate .. //depot/projects/dtrace/src/sys/ufs/ufs/gjournal.h#1 branch .. //depot/projects/dtrace/src/sys/ufs/ufs/ufs_gjournal.c#1 branch .. //depot/projects/dtrace/src/sys/ufs/ufs/ufs_inode.c#5 integrate .. //depot/projects/dtrace/src/sys/ufs/ufs/ufs_vnops.c#8 integrate .. //depot/projects/dtrace/src/tools/tools/find-sb/mini_ufs.h#3 integrate .. //depot/projects/dtrace/src/tools/tools/tinybsd/README#3 integrate .. //depot/projects/dtrace/src/tools/tools/tinybsd/conf/bridge/tinybsd.localfiles#1 branch .. //depot/projects/dtrace/src/tools/tools/tinybsd/conf/default/tinybsd.localfiles#1 branch .. //depot/projects/dtrace/src/tools/tools/tinybsd/conf/firewall/tinybsd.localfiles#1 branch .. //depot/projects/dtrace/src/tools/tools/tinybsd/conf/minimal/tinybsd.localfiles#1 branch .. //depot/projects/dtrace/src/tools/tools/tinybsd/conf/vpn/tinybsd.localfiles#1 branch .. //depot/projects/dtrace/src/tools/tools/tinybsd/conf/wireless/tinybsd.localfiles#1 branch .. //depot/projects/dtrace/src/tools/tools/tinybsd/conf/wrap/tinybsd.localfiles#1 branch .. //depot/projects/dtrace/src/tools/tools/tinybsd/tinybsd#5 integrate .. //depot/projects/dtrace/src/usr.sbin/bluetooth/bthidcontrol/bthidcontrol.8#4 integrate .. //depot/projects/dtrace/src/usr.sbin/bluetooth/bthidcontrol/bthidcontrol.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/bluetooth/bthidcontrol/hid.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/bsnmpd/bsnmpd/Makefile#5 integrate .. //depot/projects/dtrace/www/en/releases/6.2R/approvals.sgml#4 integrate .. //depot/projects/dtrace/www/en/releases/6.2R/schedule.sgml#9 integrate .. //depot/projects/dtrace/www/en/releases/6.2R/todo.sgml#4 integrate .. //depot/projects/dtrace/www/en/releng/index.sgml#15 integrate .. //depot/projects/dtrace/www/share/sgml/news.xml#8 integrate .. //depot/projects/dtrace/www/share/sgml/release.ent#6 integrate .. //depot/projects/dtrace/www/share/sgml/usergroups.xml#11 integrate .. //depot/projects/dtrace/www/zh_CN/index.xsl#5 integrate Differences ... ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#30 (text+ko) ==== @@ -1,4 +1,4 @@ - + @@ -7188,6 +7188,25 @@ after a &man.pkg.add.1; or to display licensing information. + When some lines about the build-time knobs or warnings + have to be displayed, use ECHO_MSG. The + pkg-message file is only for + post-installation steps. Likewise, the distinction between + ECHO_MSG and ECHO_CMD + should be kept in mind. The former is for printing + informational text to the screen, while the latter is for + command pipelining. + + A good example for both can be found in + shells/bash2/Makefile: + + update-etc-shells: + @${ECHO_MSG} "updating /etc/shells" + @${CP} /etc/shells /etc/shells.bak + @( ${GREP} -v ${PREFIX}/bin/bash /etc/shells.bak; \ + ${ECHO_CMD} ${PREFIX}/bin/bash) >/etc/shells + @${RM} /etc/shells.bak + The pkg-message file does not need to be added to pkg-plist. Also, it will not get ==== //depot/projects/dtrace/doc/ru_RU.KOI8-R/articles/committers-guide/article.sgml#5 (text+ko) ==== @@ -2,7 +2,7 @@ @@ -26,7 +26,7 @@ - $FreeBSD: doc/ru_RU.KOI8-R/articles/committers-guide/article.sgml,v 1.16 2006/06/18 10:01:57 marck Exp $ + $FreeBSD: doc/ru_RU.KOI8-R/articles/committers-guide/article.sgml,v 1.17 2006/10/31 08:56:10 marck Exp $ 1999 @@ -343,6 +343,7 @@ ôÅÐÅÒØ ×ÓÅ ÏÐÅÒÁÃÉÉ Ó CVS ÍÏÇÕÔ ×ÙÐÏÌÎÑÔØÓÑ ÎÁ ÌÏËÁÌØÎÏÊ ÍÁÛÉÎÅ, Á ÄÌÑ ×ÎÅÓÅÎÉÑ ÉÚÍÅÎÅÎÉÊ × ÏÆÉÃÉÁÌØÎÏÅ ÄÅÒÅ×Ï CVS ÓÌÅÄÕÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ + ËÏÍÁÎÄÕ Xcvs commit. åÓÌÉ ×ÁÍ ÎÕÖÎÏ ÄÏÂÁ×ÉÔØ × ÐÒÏÅËÔ ÞÔÏ-ÌÉÂÏ ÓÏ×ÅÒÛÅÎÎÏ ÎÏ×ÏÅ (ÎÁÐÒÉÍÅÒ, ÉÓÈÏÄÎÙÅ ÔÅËÓÔÙ ÓÔÏÒÏÎÎÉÈ ÒÁÚÒÁÂÏÔÞÉËÏ×), ÎÕÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ËÏÍÁÎÄÕ cvs import; ÏÂÒÁÔÉÔÅÓØ Ë ÓÔÒÁÎÉÃÅ ÓÐÒÁ×ÏÞÎÉËÁ ÐÏ ==== //depot/projects/dtrace/ports/LEGAL#12 (text+ko) ==== @@ -1,5 +1,5 @@ # Creator: Jordan Hubbard -# $FreeBSD: ports/LEGAL,v 1.507 2006/10/10 06:01:49 ale Exp $ +# $FreeBSD: ports/LEGAL,v 1.508 2006/10/31 14:13:16 vd Exp $ ********************************************************************** *** NOTE TO COMMITTERS *** @@ -378,8 +378,6 @@ libots-*.alpha.rpm lang/compaq-cc Distribution not allowed libSDLx11.so.tar.gz multimedia/mtv No redistribution LimeWireOther.zip net-p2p/limewire No redistribution allowed -linunace* archivers/linux-unace Distribution is permitted within the - original package only Linux-ACU-Driver-v* sysutils/linux-acu Redistribution not allowed rpm/i386/fedora/4/gtk2-* x11-toolkits/linux-gtk2 LGPL binary, no source linuxq3ademo-* games/linux-quake3-demo Restrictive license by Loki Software ==== //depot/projects/dtrace/ports/MOVED#27 (text+ko) ==== @@ -1,7 +1,7 @@ # # MOVED - a list of (recently) moved or removed ports # -# $FreeBSD: ports/MOVED,v 1.1168 2006/10/21 03:02:07 kris Exp $ +# $FreeBSD: ports/MOVED,v 1.1170 2006/10/31 21:39:53 edwin Exp $ # # Each entry consists of a single line containing the following four # fields in the order named, separated with the pipe (`|') character: @@ -2490,3 +2490,10 @@ emulators/linux_base-suse-9.1||2006-10-20|Port expired and was removed emulators/linux_base-suse-9.2||2006-10-20|Port expired and was removed emulators/linux_base-suse-9.3||2006-10-20|Port expired and was removed +archivers/linux-unace||2006-10-31|Has expired: security issues +audio/gdesklets-cornerxmms||2006-10-31|Has expired: dead project and not fetchable any more +deskutils/gdesklets-sensor-displayconstraints||2006-10-31|Has expired: dead project and not fetchable any more +devel/sdl_ldbad||2006-10-31|Has expired: incorrect pkg-plist and doesn't required anymore +lang/pdss||2006-10-31|Has expired: fails to compile on recent FreeBSD versions +multimedia/slideshow||2006-10-31|Has expired: dead project and doesn't work with recent sdl +dns/queryperf|dns/dnsperf|2006-11-01|Project was improved and renamed ==== //depot/projects/dtrace/ports/Mk/bsd.gnome.mk#7 (text+ko) ==== @@ -1,7 +1,7 @@ #-*- mode: Fundamental; tab-width: 4; -*- # ex:ts=4 # -# $FreeBSD: ports/Mk/bsd.gnome.mk,v 1.135 2006/10/15 03:42:39 marcus Exp $ +# $FreeBSD: ports/Mk/bsd.gnome.mk,v 1.136 2006/10/31 09:11:23 jylefort Exp $ # $NetBSD: $ # $MCom: ports/Mk/bsd.gnome.mk,v 1.401 2006/08/05 05:25:55 marcus Exp $ # @@ -728,6 +728,12 @@ . endif .endif +.if defined(USE_GNOME_SUBR) +GNOME_SUBR= ${LOCALBASE}/etc/gnome.subr +RUN_DEPENDS+= ${GNOME_SUBR}:${PORTSDIR}/sysutils/gnome_subr +SUB_LIST+= GNOME_SUBR=${GNOME_SUBR} +.endif + .if ${MAINTAINER}=="gnome@FreeBSD.org" CONFIGURE_FAIL_MESSAGE= "Please run the gnomelogalyzer, available from \"http://www.freebsd.org/gnome/gnomelogalyzer.sh\", which will diagnose the problem and suggest a solution. If - and only if - the gnomelogalyzer cannot solve the problem, report the build failure to the FreeBSD GNOME team at ${MAINTAINER}, and attach (a) \"${CONFIGURE_WRKSRC}/${CONFIGURE_LOG}\", (b) the output of the failed make command, and (c) the gnomelogalyzer output. Also, it might be a good idea to provide an overview of all packages installed on your system (i.e. an \`ls ${PKG_DBDIR}\`). Put your attachment up on any website, copy-and-paste into http://freebsd-gnome.pastebin.com, or use send-pr(1) with the attachment. Try to avoid sending any attachments to the mailing list (${MAINTAINER}), because attachments sent to FreeBSD mailing lists are usually discarded by the mailing list software." .endif ==== //depot/projects/dtrace/ports/Mk/bsd.gnustep.mk#5 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: ports/Mk/bsd.gnustep.mk,v 1.31 2006/10/05 17:27:31 dinoex Exp $ +# $FreeBSD: ports/Mk/bsd.gnustep.mk,v 1.32 2006/10/31 05:27:21 dinoex Exp $ # # This file contains some variable definitions that are supposed to # make your life easier when dealing with ports related to the GNUstep. @@ -63,16 +63,24 @@ # USE_GNUSTEP_INSTALL=yes # call install target with GNUstep.sh sourced in the current shell # +# USE_GNUSTEP_MAKE_DIRS= App Tools +# call build and install target in each of the given dirs. +# # USE_GNUSTEP_MAKE=yes # require GNUstep.sh for build and install # -# USE_GNUSTEP_SYSTEM_LIBS= Renaissance:x11-toolkits/renaissance +# USE_GNUSTEP_SYSTEM_LIBS+= Renaissance:x11-toolkits/renaissance # depends on a shared lib in System directrory # -# USE_GNUSTEP_LOCAL_LIBS= pantomime:mail/pantomime +# USE_GNUSTEP_LOCAL_LIBS+= pantomime:mail/pantomime # depends on a shared lib in Local directrory # - +# USE_GNUSTEP_SYSTEM_APPS+= ProjectCenter:devel/projectcenter.app +# depends on Application installed in System directrory at runtime +# +# USE_GNUSTEP_LOCAL_APPS+= Ink:misc/gnustep-examples +# depends on Application installed in Local directrory at runtime +# # --------------------------------------------------------------------------- .if !defined(_POSTMKINCLUDED) @@ -250,7 +258,7 @@ .endif # --------------------------------------------------------------------------- -# source system liibs +# source system libs # .if defined(USE_GNUSTEP_SYSTEM_LIBS) .for _GNUSTEP_DEP in ${USE_GNUSTEP_SYSTEM_LIBS} @@ -260,9 +268,8 @@ .endif # --------------------------------------------------------------------------- -# source local liibs +# source local libs # -:C/[.][0-9]*$//1 .if defined(USE_GNUSTEP_LOCAL_LIBS) .for _GNUSTEP_DEP in ${USE_GNUSTEP_LOCAL_LIBS} BUILD_DEPENDS+= ${LOCALLIBDIR}/lib${_GNUSTEP_DEP:C/:.*//}.so:${PORTSDIR}/${_GNUSTEP_DEP:C/.*://} @@ -271,6 +278,24 @@ .endif # --------------------------------------------------------------------------- +# source system apps +# +.if defined(USE_GNUSTEP_SYSTEM_APPS) +.for _GNUSTEP_DEP in ${USE_GNUSTEP_SYSTEM_APPS} +RUN_DEPENDS+= ${SYSTEMDIR}/Applications/${_GNUSTEP_DEP:C/:.*//}.app/${_GNUSTEP_DEP:C/:.*//}:${PORTSDIR}/${_GNUSTEP_DEP:C/.*://} +.endfor +.endif + +# --------------------------------------------------------------------------- +# source local apps +# +.if defined(USE_GNUSTEP_LOCAL_APPS) +.for _GNUSTEP_DEP in ${USE_GNUSTEP_LOCAL_APPS} +RUN_DEPENDS+= ${GNUSTEP_PREFIX}/Local/Applications/${_GNUSTEP_DEP:C/:.*//}.app/${_GNUSTEP_DEP:C/:.*//}:${PORTSDIR}/${_GNUSTEP_DEP:C/.*://} +.endfor +.endif + +# --------------------------------------------------------------------------- # source GNUstep.sh # .if defined(USE_GNUSTEP_CONFIGURE) @@ -298,8 +323,15 @@ # .if defined(USE_GNUSTEP_BUILD) do-build: +.if defined(USE_GNUSTEP_MAKE_DIRS) +.for i in ${USE_GNUSTEP_MAKE_DIRS} + @(cd ${WRKSRC}/${i}; . ${SYSMAKEDIR}/GNUstep.sh; \ + ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${ALL_TARGET}) +.endfor +.else @(cd ${WRKSRC}; . ${SYSMAKEDIR}/GNUstep.sh; \ ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${ALL_TARGET}) +.endif .endif @@ -308,8 +340,15 @@ # .if defined(USE_GNUSTEP_INSTALL) do-install: +.if defined(USE_GNUSTEP_MAKE_DIRS) +.for i in ${USE_GNUSTEP_MAKE_DIRS} + @(cd ${WRKSRC}/${i}; . ${SYSMAKEDIR}/GNUstep.sh; \ + ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${INSTALL_TARGET}) +.endfor +.else @(cd ${WRKSRC}; . ${SYSMAKEDIR}/GNUstep.sh; \ ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${INSTALL_TARGET}) +.endif .if defined(PARALLEL_PACKAGE_BUILD) || defined(BATCH) || defined(CLEAN_ROOT) rm -rf /root/GNUstep .endif ==== //depot/projects/dtrace/ports/Mk/bsd.sdl.mk#5 (text+ko) ==== @@ -29,7 +29,7 @@ # # -# $FreeBSD: ports/Mk/bsd.sdl.mk,v 1.11 2006/09/20 11:20:32 stas Exp $ +# $FreeBSD: ports/Mk/bsd.sdl.mk,v 1.12 2006/10/31 21:37:05 edwin Exp $ # SDL_Include_MAINTAINER= edwin@FreeBSD.org @@ -37,7 +37,7 @@ # # These are the current supported SDL modules # -_USE_SDL_ALL= gfx gui image mixer mm net sdl sound ttf +_USE_SDL_ALL= gfx gui image mixer mm net pango sdl sound ttf # # Variables used to determine what is needed: @@ -74,6 +74,11 @@ _SUBDIR_net= net _REQUIRES_net= sdl +_VERSION_pango= 2 +_SUBDIR_pango= x11-toolkits +_LIB_pango= SDL_Pango +_REQUIRES_pango=sdl + _VERSION_sdl= 11 _SUBDIR_sdl= devel _LIB_sdl= SDL ==== //depot/projects/dtrace/ports/UIDs#6 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: ports/UIDs,v 1.13 2006/09/04 11:59:22 ru Exp $ +$FreeBSD: ports/UIDs,v 1.14 2006/10/31 02:43:54 marcus Exp $ # Please keep this file sorted by UID! bind:*:53:53:Bind Sandbox:/:/sbin/nologin majordom:*:54:54:Majordomo Pseudo User:/usr/local/majordomo:/nonexistent @@ -92,6 +92,7 @@ ircdru:*:555:555:Russian hybrid IRC server:/nonexistent:/bin/sh messagebus:*:556:556:D-BUS Daemon User:/nonexistent:/sbin/nologin avahi:*:558:558:Avahi Daemon User:/nonexistent:/sbin/nologin +tacacs:*:559:559:TACACS+ Daemon User:/nonexistent:/sbin/nologin bnetd:*:700:700:Bnetd user:/nonexistent:/sbin/nologin bopm:*:717:717:Blitzed Open Proxy Monitor:/nonexistent:/bin/sh openxpki:*:777:777:OpenXPKI Owner:/nonexistent:/usr/sbin/nologin ==== //depot/projects/dtrace/ports/UPDATING#20 (text+ko) ==== @@ -6,6 +6,29 @@ time you update your ports collection, before attempting any port upgrades. +20061031: + AFFECTS: Users of math/rkward + AUTHOR: thierry@FreeBSD.org + + The way some information such as descriptive labels is stored in the + R workspace was changed in RKWard 0.4.0. + While the data itself can still be loaded, labels will not be + available from workspaces created with an earlier version of RKWard. + To convert the old labels to the new format, run + rk.convert.pre040 () + in the RKWard R console after loading the workspace in question. + +20061031: + AFFECTS: Users of news/inn-current or news/inn-stable + AUTHOR: shaun@FreeBSD.org + + The stable and current ports of inn have been updated. They suffered + from the same problem previously documented and fixed in news/inn. + When upgrading either of the two mentioned ports, users are advised + to move inn's database directory (/usr/local/news/db) out of the way + prior to _deinstallation_ in order to save its contents from being + erased. + 20061014: AFFECTS: All GTK+2 and GNOME users AUTHOR: gnome@FreeBSD.org @@ -4286,4 +4309,4 @@ 2) Update all p5-* modules. portupgrade -f p5-\* -$FreeBSD: ports/UPDATING,v 1.415 2006/10/20 02:18:17 mezz Exp $ +$FreeBSD: ports/UPDATING,v 1.417 2006/10/31 22:04:07 thierry Exp $ ==== //depot/projects/dtrace/src/ObsoleteFiles.inc#14 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.56 2006/10/21 14:19:52 ru Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.57 2006/10/31 21:05:35 jmg Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -628,7 +628,9 @@ OLD_FILES+=usr/lib/libpam_ssh_p.a OLD_FILES+=usr/bin/help OLD_FILES+=usr/bin/sccs +.if ${TARGET_ARCH} != "i386" OLD_FILES+=usr/bin/gdbserver +.endif OLD_FILES+=usr/bin/ssh-keysign OLD_FILES+=usr/sbin/gifconfig OLD_FILES+=usr/sbin/prefix ==== //depot/projects/dtrace/src/bin/rm/rm.1#4 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)rm.1 8.5 (Berkeley) 12/5/94 -.\" $FreeBSD: src/bin/rm/rm.1,v 1.39 2005/11/17 12:15:23 ru Exp $ +.\" $FreeBSD: src/bin/rm/rm.1,v 1.41 2006/10/31 02:22:36 delphij Exp $ .\" -.Dd September 29, 2005 +.Dd October 30, 2006 .Dt RM 1 .Os .Sh NAME @@ -88,6 +88,10 @@ Overwrite regular files before deleting them. Files are overwritten three times, first with the byte pattern 0xff, then 0x00, and then 0xff again, before they are deleted. +Files with multiple links will not be overwritten nor deleted unless +.Fl f +is specified, a warning is generated instead. +.Pp Specifying this flag for a read only file will cause .Nm to generate an error message and exit. @@ -168,6 +172,12 @@ For example: .Dl rm /home/user/-filename .Dl rm ./-filename +.Pp +When +.Fl P +is specified with +.Fl f +the file will be overwritten and removed even if it has hard links. .Sh COMPATIBILITY The .Nm ==== //depot/projects/dtrace/src/bin/rm/rm.c#6 (text+ko) ==== @@ -39,7 +39,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/rm/rm.c,v 1.56 2006/10/18 13:16:06 maxim Exp $"); +__FBSDID("$FreeBSD: src/bin/rm/rm.c,v 1.58 2006/10/31 02:22:36 delphij Exp $"); #include #include @@ -400,6 +400,11 @@ } if (!S_ISREG(sbp->st_mode)) return (1); + if (sbp->st_nlink > 1 && !fflag) { + warnx("%s (inode %u): not overwritten due to multiple links", + file, sbp->st_ino); + return (0); + } if ((fd = open(file, O_WRONLY, 0)) == -1) goto err; if (fstatfs(fd, &fsb) == -1) ==== //depot/projects/dtrace/src/contrib/bsnmp/snmp_mibII/mibII.c#4 (text+ko) ==== @@ -26,12 +26,13 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Begemot: bsnmp/snmp_mibII/mibII.c,v 1.24 2006/02/14 09:04:18 brandt_h Exp $ + * $Begemot: mibII.c 516 2006-10-27 15:54:02Z brandt_h $ * * Implementation of the standard interfaces and ip MIB. */ #include "mibII.h" #include "mibII_oid.h" +#include #include @@ -376,16 +377,16 @@ u_int ticks; if ((ticks = mibif_force_hc_update_interval) == 0) { - if (mibif_maxspeed <= 10000000) { + if (mibif_maxspeed <= IF_Mbps(10)) { /* at 10Mbps overflow needs 3436 seconds */ ticks = 3000 * 100; /* 50 minutes */ - } else if (mibif_maxspeed <= 100000000) { + } else if (mibif_maxspeed <= IF_Mbps(100)) { /* at 100Mbps overflow needs 343 seconds */ ticks = 300 * 100; /* 5 minutes */ - } else if (mibif_maxspeed < 650000000) { + } else if (mibif_maxspeed < IF_Mbps(622)) { /* at 622Mbps overflow needs 53 seconds */ ticks = 40 * 100; /* 40 seconds */ - } else if (mibif_maxspeed <= 1000000000) { + } else if (mibif_maxspeed <= IF_Mbps(1000)) { /* at 1Gbps overflow needs 34 seconds */ ticks = 20 * 100; /* 20 seconds */ } else { ==== //depot/projects/dtrace/src/contrib/bsnmp/snmpd/action.c#4 (text+ko) ==== @@ -2,6 +2,9 @@ * Copyright (c) 2001-2003 * Fraunhofer Institute for Open Communication Systems (FhG Fokus). * All rights reserved. + * Copyright (c) 2004-2006 + * Hartmut Brandt. + * All rights reserved. * * Author: Harti Brandt * @@ -26,13 +29,14 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Begemot: bsnmp/snmpd/action.c,v 1.58 2004/08/06 08:47:09 brandt Exp $ + * $Begemot: action.c 517 2006-10-31 08:52:04Z brandt_h $ * * Variable access for SNMPd */ #include #include #include +#include #include #include #include @@ -48,6 +52,11 @@ static const struct asn_oid oid_begemotSnmpdModuleTable = OIDX_begemotSnmpdModuleTable; +#ifdef __FreeBSD__ +static const struct asn_oid + oid_freeBSDVersion = OIDX_freeBSDVersion; +#endif + /* * Get a string value from the KERN sysctl subtree. */ @@ -100,39 +109,57 @@ int init_actvals(void) { - char *v[4]; - u_int i; + struct utsname uts; + char *hostid; size_t len; +#ifdef __FreeBSD__ + char *rel, *p, *end; + u_long num; +#endif - if ((systemg.name = act_getkernstring(KERN_HOSTNAME)) == NULL) + if (uname(&uts) == -1) + return (-1); + + if ((systemg.name = strdup(uts.nodename)) == NULL) + return (-1); + + if ((hostid = act_getkernint(KERN_HOSTID)) == NULL) return (-1); - for (i = 0; i < 4; i++) - v[1] = NULL; + len = strlen(uts.nodename) + 1; + len += strlen(hostid) + 1; + len += strlen(uts.sysname) + 1; + len += strlen(uts.release) + 1; - if ((v[0] = act_getkernstring(KERN_HOSTNAME)) == NULL) - goto err; - if ((v[1] = act_getkernint(KERN_HOSTID)) == NULL) - goto err; - if ((v[2] = act_getkernstring(KERN_OSTYPE)) == NULL) - goto err; - if ((v[3] = act_getkernstring(KERN_OSRELEASE)) == NULL) - goto err; + if ((systemg.descr = malloc(len)) == NULL) { + free(hostid); + return (-1); + } + sprintf(systemg.descr, "%s %s %s %s", uts.nodename, hostid, uts.sysname, + uts.release); - for (i = 0, len = 0; i < 4; i++) - len += strlen(v[i]) + 1; +#ifdef __FreeBSD__ + /* + * Construct a FreeBSD oid + */ + systemg.object_id = oid_freeBSDVersion; + rel = uts.release; + while ((p = strsep(&rel, ".")) != NULL && + systemg.object_id.len < ASN_MAXOIDLEN) { + systemg.object_id.subs[systemg.object_id.len] = 0; + if (*p != '\0') { + num = strtoul(p, &end, 10); + if (end == p) + break; + systemg.object_id.subs[systemg.object_id.len] = num; + } + systemg.object_id.len++; + } +#endif - if ((systemg.descr = malloc(len)) == NULL) - goto err; - sprintf(systemg.descr, "%s %s %s %s", v[0], v[1], v[2], v[3]); + free(hostid); return (0); - - err: - for (i = 0; i < 4; i++) - if (v[i] != NULL) - free(v[i]); - return (-1); } ==== //depot/projects/dtrace/src/contrib/bsnmp/snmpd/tree.def#4 (text+ko) ==== @@ -26,7 +26,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $Begemot: bsnmp/snmpd/tree.def,v 1.38 2004/08/06 08:47:17 brandt Exp $ +# $Begemot: tree.def 517 2006-10-31 08:52:04Z brandt_h $ # # System group and private Begemot SNMPd MIB. # @@ -64,11 +64,19 @@ (32 snmpProxyDrops COUNTER op_snmp GET) ) )) + + (4 private + (1 enterprises +# +# FreeBSD stuff # + (2238 freeBSD + (4 freeBSDVersion) + ) + +# # Private Begemot Stuff # - (4 private - (1 enterprises (12325 fokus (1 begemot ==== //depot/projects/dtrace/src/contrib/pf/man/pf.conf.5#4 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $FreeBSD: src/contrib/pf/man/pf.conf.5,v 1.9 2005/09/28 08:11:15 mlaier Exp $ +.\" $FreeBSD: src/contrib/pf/man/pf.conf.5,v 1.10 2006/10/30 15:15:37 mlaier Exp $ .\" $OpenBSD: pf.conf.5,v 1.292 2004/02/24 05:44:48 mcbride Exp $ .\" .\" Copyright (c) 2002, Daniel Hartmeier @@ -28,7 +28,7 @@ .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd February 7, 2005 +.Dd October 30, 2006 .Dt PF.CONF 5 .Os .Sh NAME @@ -2851,6 +2851,12 @@ for the moment. This workaround will still produce the LOR, but Giant will protect from the deadlock. +.Pp +Route labels are not supported by the +.Fx +.Xr route 4 +system. +Rules with a route label do not match any traffic. .Sh SEE ALSO .Xr altq 4 , .Xr icmp 4 , ==== //depot/projects/dtrace/src/etc/mtree/BSD.include.dist#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.109 2006/10/06 08:27:07 ru Exp $ +# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.110 2006/10/31 22:22:29 pjd Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -108,6 +108,8 @@ .. gate .. + journal + .. label .. mirror ==== //depot/projects/dtrace/src/etc/snmpd.config#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/snmpd.config,v 1.6 2006/02/27 16:31:01 harti Exp $ +# $FreeBSD: src/etc/snmpd.config,v 1.7 2006/10/31 10:23:28 harti Exp $ # # Example configuration file for bsnmpd(1). # @@ -6,7 +6,6 @@ # # Set some common variables # -host := foobar location := "Room 200" contact := "sysmeister@example.com" system := 1 # FreeBSD @@ -43,8 +42,7 @@ begemotSnmpdCommunityDisable = 1 # open standard SNMP ports -begemotSnmpdPortStatus.[$(host)].161 = 1 -begemotSnmpdPortStatus.127.0.0.1.161 = 1 +begemotSnmpdPortStatus.0.0.0.0.161 = 1 # open a unix domain socket begemotSnmpdLocalPortStatus."/var/run/snmpd.sock" = 1 ==== //depot/projects/dtrace/src/games/fortune/datfiles/fortunes#15 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.229 2006/10/23 13:25:17 phk Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.230 2006/10/30 12:01:57 keramida Exp $ % ======================================================================= @@ -22147,7 +22147,7 @@ There are not stars enough in heaven. % Here at the Phone Company, we serve all kinds of people; -from President's and Kings to the scum of the earth... +from Presidents and Kings to the scum of the earth... % Here comes the orator, with his flood of words and his drop of reason. % ==== //depot/projects/dtrace/src/include/Makefile#7 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 1/4/94 -# $FreeBSD: src/include/Makefile,v 1.264 2006/10/06 08:27:06 ru Exp $ +# $FreeBSD: src/include/Makefile,v 1.265 2006/10/31 22:22:29 pjd Exp $ # # Doing a "make install" builds /usr/include. @@ -45,8 +45,8 @@ 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/cache geom/concat geom/eli geom/gate geom/label geom/mirror \ - geom/nop geom/raid3 geom/shsec geom/stripe \ + geom/cache geom/concat geom/eli geom/gate geom/journal geom/label \ + geom/mirror geom/nop geom/raid3 geom/shsec geom/stripe \ isofs/cd9660 \ netatm/ipatm netatm/sigpvc netatm/spans netatm/uni \ netgraph/atm netgraph/netflow \ ==== //depot/projects/dtrace/src/lib/libufs/Makefile#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libufs/Makefile,v 1.13 2005/09/26 06:23:43 keramida Exp $ +# $FreeBSD: src/lib/libufs/Makefile,v 1.14 2006/10/31 21:21:48 pjd Exp $ LIB= ufs SHLIBDIR?= /lib @@ -9,6 +9,7 @@ MAN= bread.3 cgread.3 libufs.3 sbread.3 ufs_disk_close.3 MLINKS+= bread.3 bwrite.3 MLINKS+= cgread.3 cgread1.3 +MLINKS+= cgread.3 cgwrite1.3 MLINKS+= sbread.3 sbwrite.3 MLINKS+= ufs_disk_close.3 ufs_disk_fillout.3 MLINKS+= ufs_disk_close.3 ufs_disk_fillout_blank.3 ==== //depot/projects/dtrace/src/lib/libufs/cgread.3#4 (text+ko) ==== @@ -4,17 +4,18 @@ .\" Manual page for libufs functions: .\" cgread(3) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Nov 1 06:55:01 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7AE8116A47C; Wed, 1 Nov 2006 06:55:01 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 566CA16A403 for ; Wed, 1 Nov 2006 06:55:01 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A74EF43D66 for ; Wed, 1 Nov 2006 06:54:51 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA16spwl036446 for ; Wed, 1 Nov 2006 06:54:51 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA16so4X036443 for perforce@freebsd.org; Wed, 1 Nov 2006 06:54:50 GMT (envelope-from jb@freebsd.org) Date: Wed, 1 Nov 2006 06:54:50 GMT Message-Id: <200611010654.kA16so4X036443@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 108891 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 06:55:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=108891 Change 108891 by jb@jb_freebsd8 on 2006/11/01 06:53:52 IFlibbsdelf Affected files ... .. //depot/projects/dtrace/src/lib/libelf/Makefile#14 integrate .. //depot/projects/dtrace/src/lib/libelf/_libelf.h#9 integrate .. //depot/projects/dtrace/src/lib/libelf/elf_data.c#2 integrate .. //depot/projects/dtrace/src/lib/libelf/elf_getdata.3#3 integrate .. //depot/projects/dtrace/src/lib/libelf/elf_getscn.3#2 integrate .. //depot/projects/dtrace/src/lib/libelf/elf_getshnum.3#1 branch .. //depot/projects/dtrace/src/lib/libelf/elf_getshstrndx.3#1 branch .. //depot/projects/dtrace/src/lib/libelf/elf_scn.c#3 integrate .. //depot/projects/dtrace/src/lib/libelf/elf_shnum.c#1 branch .. //depot/projects/dtrace/src/lib/libelf/elf_shstrndx.c#1 branch .. //depot/projects/dtrace/src/lib/libelf/elf_update.3#4 integrate .. //depot/projects/dtrace/src/lib/libelf/elf_update.c#4 integrate .. //depot/projects/dtrace/src/lib/libelf/gelf_getmove.3#1 branch .. //depot/projects/dtrace/src/lib/libelf/gelf_getsyminfo.3#1 branch .. //depot/projects/dtrace/src/lib/libelf/gelf_newphdr.3#3 integrate .. //depot/projects/dtrace/src/lib/libelf/gelf_update.c#3 integrate .. //depot/projects/dtrace/src/lib/libelf/libelf.c#5 integrate .. //depot/projects/dtrace/src/lib/libelf/libelf.h#10 integrate .. //depot/projects/dtrace/src/lib/libelf/libelf_align.c#1 branch .. //depot/projects/dtrace/src/lib/libelf/libelf_allocate.c#5 integrate .. //depot/projects/dtrace/src/lib/libelf/libelf_convert.m4#10 integrate .. //depot/projects/dtrace/src/lib/libelf/libelf_data.c#2 integrate .. //depot/projects/dtrace/src/lib/libelf/libelf_fsize.m4#5 integrate .. //depot/projects/dtrace/src/lib/libelf/libelf_msize.m4#4 integrate .. //depot/projects/dtrace/src/lib/libelf/libelf_phdr.c#3 integrate Differences ... ==== //depot/projects/dtrace/src/lib/libelf/Makefile#14 (text+ko) ==== @@ -18,6 +18,8 @@ elf_next.c \ elf_rand.c \ elf_rawfile.c \ + elf_shnum.c \ + elf_shstrndx.c \ elf_scn.c \ elf_strptr.c \ elf_update.c \ @@ -35,6 +37,7 @@ gelf_update.c \ gelf_xlate.c \ libelf.c \ + libelf_align.c \ libelf_allocate.c \ libelf_ar.c \ libelf_checksum.c \ @@ -66,6 +69,8 @@ elf_getdata.3 \ elf_getident.3 \ elf_getscn.3 \ + elf_getshnum.3 \ + elf_getshstrndx.3 \ elf_hash.3 \ elf_kind.3 \ elf_memory.3 \ @@ -81,22 +86,18 @@ gelf_getclass.3 \ gelf_getdyn.3 \ gelf_getehdr.3 \ + gelf_getmove.3 \ gelf_getphdr.3 \ gelf_getrel.3 \ gelf_getrela.3 \ gelf_getshdr.3 \ gelf_getsym.3 \ + gelf_getsyminfo.3 \ gelf_newehdr.3 \ gelf_newphdr.3 \ gelf_update_ehdr.3 \ gelf_xlatetof.3 -MLINKS+= \ - gelf.3 gelf_getmove.3 \ - gelf.3 gelf_getsyminfo.3 \ - gelf.3 gelf_update_move.3 \ - gelf.3 gelf_update_syminfo.3 - MLINKS+= \ elf_errmsg.3 elf_errno.3 \ elf_flagdata.3 elf_flagehdr.3 \ @@ -109,10 +110,13 @@ elf_getscn.3 elf_ndxscn.3 \ elf_getscn.3 elf_newscn.3 \ elf_getscn.3 elf_nextscn.3 \ + elf_getshstrndx.3 elf_setshstrndx.3 \ gelf_getdyn.3 gelf_update_dyn.3 \ + gelf_getmove.3 gelf_update_move.3 \ gelf_getrel.3 gelf_update_rel.3 \ gelf_getrela.3 gelf_update_rela.3 \ gelf_getsym.3 gelf_update_sym.3 \ + gelf_getsyminfo.3 gelf_update_syminfo.3 \ gelf_update_ehdr.3 gelf_update_phdr.3 \ gelf_update_ehdr.3 gelf_update_shdr.3 \ gelf_xlatetof.3 gelf_xlatetom.3 ==== //depot/projects/dtrace/src/lib/libelf/_libelf.h#9 (text+ko) ==== @@ -146,11 +146,14 @@ int _libelf_dump64(Elf *_elf, const char *_name, const char *_outfile, unsigned int _flags); void *_libelf_ehdr(Elf *_e, int _elfclass, int _allocate); +int _libelf_falign(Elf_Type _t, int _elfclass); size_t _libelf_fsize(Elf_Type _t, int _elfclass, unsigned int _version, size_t count); void (*_libelf_get_translator(Elf_Type _t, int _direction, int _elfclass)) (char *_dst, char *_src, int _cnt, int _byteswap); void *_libelf_getphdr(Elf *_e, int _elfclass); +int _libelf_getshnum(void *_eh, int _elfclass, size_t *_shnum); +int _libelf_getshstrndx(void *_eh, int _elfclass, size_t *_shstrndx); void _libelf_init_elf(Elf *_e, Elf_Kind _kind); int _libelf_malign(Elf_Type _t, int _elfclass); size_t _libelf_msize(Elf_Type _t, int _elfclass, unsigned int _version); @@ -158,6 +161,8 @@ Elf_Data *_libelf_release_data(Elf_Data *_d); Elf *_libelf_release_elf(Elf *_e); Elf_Scn *_libelf_release_scn(Elf_Scn *_s); +int _libelf_setshnum(void *_eh, int _elfclass, size_t _shnum); +int _libelf_setshstrndx(void *_eh, int _elfclass, size_t _shstrndx); Elf_Data *_libelf_xlate(Elf_Data *_d, const Elf_Data *_s, unsigned int _encoding, int _elfclass, int _direction); int _libelf_xlate_shtype(size_t _sht); ==== //depot/projects/dtrace/src/lib/libelf/elf_data.c#2 (text+ko) ==== @@ -140,26 +140,24 @@ return (NULL); } - if (e->e_cmd == ELF_C_READ) { - LIBELF_SET_ERROR(MODE, 0); - return (NULL); - } - if ((d = malloc(sizeof(Elf_Data))) == NULL) { LIBELF_SET_ERROR(RESOURCE, errno); return (NULL); } STAILQ_INSERT_TAIL(&s->s_data, d, d_next); + d->d_flags = 0; d->d_scn = s; + d->d_align = 1; d->d_buf = NULL; d->d_off = (off_t) -1; - d->d_align = 1; d->d_size = 0; d->d_type = ELF_T_BYTE; d->d_version = LIBELF_PRIVATE(version); + (void) elf_flagscn(s, ELF_C_SET, ELF_F_DIRTY); + return (d); } ==== //depot/projects/dtrace/src/lib/libelf/elf_getdata.3#3 (text+ko) ==== @@ -145,10 +145,6 @@ .Ar data was not associated with section descriptor .Ar scn . -.It Bq Er ELF_E_MODE -Section descriptor -.Ar scn -was not associated with a file opened for writing. .It Bq Er ELF_E_RESOURCE An out of memory condition was detected. .El ==== //depot/projects/dtrace/src/lib/libelf/elf_getscn.3#2 (text+ko) ==== @@ -79,10 +79,6 @@ .Dv ( SHN_UNDEF ) on the first call to .Fn elf_newscn . -Function -.Fn elf_newscn -is only valid for ELF descriptors opened for writing or for reading -and writing. .Pp Function .Fn elf_nextscn @@ -133,10 +129,10 @@ .Ar scn was not associated with ELF descriptor .Ar elf . -.It Bq Er ELF_E_MODE -ELF descriptor +.It Bq Er ELF_E_CLASS +Descriptor .Ar elf -was not opened for writing. +was of an unknown ELF class. .El .Sh SEE ALSO .Xr elf 3 , @@ -144,4 +140,4 @@ .Xr elf_flagscn 3 , .Xr elf_getdata 3 , .Xr elf_getshdr 3 , -.Xr gelf 3+.Xr gelf 3 ==== //depot/projects/dtrace/src/lib/libelf/elf_scn.c#3 (text+ko) ==== @@ -163,12 +163,16 @@ uint16_t *pshnum; Elf_Scn *scn; - if (e == NULL || e->e_kind != ELF_K_ELF || - ((ec = e->e_class) != ELFCLASS32 && ec != ELFCLASS64)) { + if (e == NULL || e->e_kind != ELF_K_ELF) { LIBELF_SET_ERROR(ARGUMENT, 0); return (NULL); } + if ((ec = e->e_class) != ELFCLASS32 && ec != ELFCLASS64) { + LIBELF_SET_ERROR(CLASS, 0); + return (NULL); + } + if ((ehdr = _libelf_ehdr(e, ec, 0)) == NULL) return (NULL); @@ -195,13 +199,13 @@ assert(*pshnum == 0); if ((scn = _libelf_allocate_scn(e, SHN_UNDEF)) == NULL) return (NULL); - *pshnum++; + (*pshnum)++; } if ((scn = _libelf_allocate_scn(e, *pshnum)) == NULL) return (NULL); - *pshnum++; + (*pshnum)++; (void) elf_flagscn(scn, ELF_C_SET, ELF_F_DIRTY); ==== //depot/projects/dtrace/src/lib/libelf/elf_update.3#4 (text+ko) ==== @@ -131,7 +131,7 @@ This value must be a power of two. .It Va sh_entsize Set to the size of each entry, for sections containing fixed size -elements. +elements, or set to zero for sections without fixed size elements. For section contents of types known to the library, the application may leave this field as zero. .It Va sh_flags @@ -205,13 +205,7 @@ .Vt Elf_Data descriptor contained in argument .Ar elf -had a type or version mismatch. -.It Bq Er ELF_E_DATA -An -.Vt Elf_Data -descriptor contained in argument -.Ar elf -specified an alignment incompatible with its containing section. +specified a type incompatible with its containing section. .It Bq Er ELF_E_HEADER The ELF header in argument .Ar elf @@ -220,6 +214,12 @@ .It Bq Er ELF_E_IO An I/O error was encountered. .It Bq Er ELF_E_LAYOUT +An +.Vt Elf_Data +descriptor contained in argument +.Ar elf +specified an alignment incompatible with its containing section. +.It Bq Er ELF_E_LAYOUT Argument .Ar elf contained section descriptors that overlapped in extent. ==== //depot/projects/dtrace/src/lib/libelf/elf_update.c#4 (text+ko) ==== @@ -88,7 +88,8 @@ * `dirty'. Affected members include `d_align', `d_offset', `d_type', * and `d_size'. * - The section as a whole is `dirty', e.g., it has been allocated - * using elf_newscn(). + * using elf_newscn(), or if a new Elf_Data structure was added using + * elf_newdata(). * * Each of these conditions would result in the ELF_F_DIRTY bit being * set on the section descriptor's `s_flags' field. @@ -126,7 +127,7 @@ scn_alignment = 0; if (sh_align == 0) - sh_align = _libelf_malign(elftype, ec); + sh_align = _libelf_falign(elftype, ec); STAILQ_FOREACH_SAFE(d, &s->s_data, d_next, td) { if (d->d_type != elftype) { @@ -138,7 +139,7 @@ return (0); } if (d->d_align % sh_align) { - LIBELF_SET_ERROR(DATA, 0); + LIBELF_SET_ERROR(LAYOUT, 0); return (0); } @@ -166,9 +167,16 @@ if (scn_alignment > sh_align) sh_align = scn_alignment; - if (sh_entsize == 0) - sh_entsize = _libelf_fsize(elftype, ec, e->e_version, - 1); + /* + * If the section entry size is zero, try and fill in an + * appropriate entry size. Per the elf(5) manual page + * sections without fixed-size entries should have their + * 'sh_entsize' field set to zero. + */ + if (sh_entsize == 0 && + (sh_entsize = _libelf_fsize(elftype, ec, e->e_version, + 1)) == 1) + sh_entsize = 0; sh_size = scn_size; sh_offset = roundup(*rc, sh_align); @@ -382,7 +390,7 @@ */ if (phnum) { fsz = _libelf_fsize(ELF_T_PHDR, ec, eh_version, phnum); - align = _libelf_malign(ELF_T_PHDR, ec); + align = _libelf_falign(ELF_T_PHDR, ec); if (e->e_flags & ELF_F_LAYOUT) { /* @@ -401,7 +409,7 @@ } else phoff = roundup(rc, align); - rc = phoff + fsz * phnum; + rc = phoff + fsz; } else phoff = 0; @@ -419,7 +427,7 @@ */ if (shnum) { fsz = _libelf_fsize(ELF_T_SHDR, ec, eh_version, 1); - align = _libelf_malign(ELF_T_SHDR, ec); + align = _libelf_falign(ELF_T_SHDR, ec); if (e->e_flags & ELF_F_LAYOUT) { if (rc < shoff) { @@ -486,7 +494,7 @@ msz = _libelf_msize(elftype, ec, e->e_version); sh_off = s->s_offset; - assert(sh_off % _libelf_malign(elftype, ec) == 0); + assert(sh_off % _libelf_falign(elftype, ec) == 0); /* * If the section has a `rawdata' descriptor, and the section @@ -547,13 +555,13 @@ fsz = _libelf_fsize(elftype, ec, e->e_version, nobjects); dst.d_buf = nf + rc; - dst.d_size = fsz * nobjects; + dst.d_size = fsz; if (_libelf_xlate(&dst, d, e->e_byteorder, ec, ELF_TOFILE) == NULL) return ((off_t) -1); - rc += fsz * nobjects; + rc += fsz; } return ((off_t) rc); @@ -650,9 +658,9 @@ if (phnum != 0 && phoff != 0) { assert((unsigned) rc <= phoff); - fsz = _libelf_fsize(ELF_T_PHDR, ec, e->e_version, 1); + fsz = _libelf_fsize(ELF_T_PHDR, ec, e->e_version, phnum); - assert(phoff % _libelf_malign(ELF_T_PHDR, ec) == 0); + assert(phoff % _libelf_falign(ELF_T_PHDR, ec) == 0); assert(fsz > 0); src.d_version = dst.d_version = e->e_version; @@ -672,12 +680,13 @@ (void) memset(newfile + rc, LIBELF_PRIVATE(fillchar), phoff - rc); - rc = phoff; dst.d_buf = newfile + rc; if (_libelf_xlate(&dst, &src, e->e_byteorder, ec, ELF_TOFILE) == NULL) goto error; + + rc = phoff + fsz; } /* @@ -701,7 +710,7 @@ rc = shoff; - assert(rc % _libelf_malign(ELF_T_SHDR, ec) == 0); + assert(rc % _libelf_falign(ELF_T_SHDR, ec) == 0); src.d_type = ELF_T_SHDR; src.d_size = _libelf_msize(ELF_T_SHDR, ec, e->e_version); ==== //depot/projects/dtrace/src/lib/libelf/gelf_newphdr.3#3 (text+ko) ==== @@ -43,8 +43,13 @@ .Ft "void *" .Fn gelf_newphdr "Elf *elf" "size_t count" .Sh DESCRIPTION -These functions allocate an ELF program header +These functions allocate an ELF Program Header table for an ELF descriptor. +.Vt Elf32_Phdr +and +.Vt Elf64_Phdr +descriptors are described further in +.Xr elf 5 . .Pp Functions .Fn elf32_newphdr @@ -56,18 +61,13 @@ and .Vt Elf64_Phdr descriptors respectively, -ignoring any existing program header table +discarding any existing program header table already present in the ELF descriptor .Ar elf . A value of zero for argument .Ar count may be used to delete an existing program header table from an ELF descriptor. -.Vt Elf32_Phdr -and -.Vt Elf64_Phdr -descriptors are described in -.Xr elf 5 . .Pp Function .Fn gelf_newphdr @@ -80,7 +80,7 @@ elements depending on the ELF class of ELF descriptor .Ar elf . .Pp -The functions set the +The functions set the .Va e_phnum field of the executable header for ELF descriptor .Ar elf @@ -89,6 +89,17 @@ and also set the .Dv ELF_F_DIRTY bit on the program header table. +All members of the returned array of Phdr structures +will be initialized to zero. +.Pp +After a successful call to these functions, the pointer returned +by a prior call to +.Fn elf32_getphdr +or +.Fn elf64_getphdr +on the same descriptor +.Ar elf +will no longer be valid. .Sh RETURN VALUES The functions a valid pointer if successful, or NULL in case an error was encountered. @@ -110,8 +121,7 @@ .It Bq Er ELF_E_RESOURCE An out of memory condition was detected. .It Bq Er ELF_E_SEQUENCE -An executable header was not allocated -for writable ELF descriptor +An executable header was not allocated for ELF descriptor .Ar elf before using these APIs. .El ==== //depot/projects/dtrace/src/lib/libelf/gelf_update.c#3 (text+ko) ==== ==== //depot/projects/dtrace/src/lib/libelf/libelf.c#5 (text+ko) ==== @@ -46,65 +46,6 @@ }; -struct memalign { - int ma32; - int ma64; -}; - -#ifdef __GNUC__ -#define ALIGNMENT(N) { \ - .ma32 = __alignof__(Elf32_##N), \ - .ma64 = __alignof__(Elf64_##N) \ - } -#define ALIGN64(V) { \ - .ma32 = 0, \ - .ma64 = __alignof__(Elf64_##V) \ - } -#else -#error Need the __alignof__ builtin. -#endif -#define UNSUPPORTED() { \ - .ma32 = 0, \ - .ma64 = 0 \ - } - -static struct memalign memalign[ELF_T_NUM] = { - [ELF_T_ADDR] = ALIGNMENT(Addr), - [ELF_T_BYTE] = { .ma32 = 1, .ma64 = 1 }, - [ELF_T_CAP] = ALIGNMENT(Cap), - [ELF_T_DYN] = ALIGNMENT(Dyn), - [ELF_T_EHDR] = ALIGNMENT(Ehdr), - [ELF_T_HALF] = ALIGNMENT(Half), - [ELF_T_MOVE] = ALIGNMENT(Move), - [ELF_T_MOVEP] = UNSUPPORTED(), - [ELF_T_NOTE] = ALIGNMENT(Nhdr), - [ELF_T_OFF] = ALIGNMENT(Off), - [ELF_T_PHDR] = ALIGNMENT(Phdr), - [ELF_T_REL] = ALIGNMENT(Rel), - [ELF_T_RELA] = ALIGNMENT(Rela), - [ELF_T_SHDR] = ALIGNMENT(Shdr), - [ELF_T_SWORD] = ALIGNMENT(Sword), - [ELF_T_SXWORD] = ALIGN64(Sxword), - [ELF_T_SYMINFO] = ALIGNMENT(Syminfo), - [ELF_T_SYM] = ALIGNMENT(Sym), -#if __FreeBSD_version >= 700009 - [ELF_T_VDEF] = ALIGNMENT(Verdef), - [ELF_T_VNEED] = ALIGNMENT(Verneed), -#endif - [ELF_T_WORD] = ALIGNMENT(Word), - [ELF_T_XWORD] = ALIGN64(Xword) -}; - -int -_libelf_malign(Elf_Type t, int elfclass) -{ - if (t >= ELF_T_NUM || (int) t < 0) - return (0); - - return (elfclass == ELFCLASS32 ? memalign[t].ma32 : - memalign[t].ma64); -} - #if defined(LIBELF_TEST_HOOKS) int _libelf_get_elf_class(Elf *elf) ==== //depot/projects/dtrace/src/lib/libelf/libelf.h#10 (text+ko) ==== @@ -106,9 +106,9 @@ * `Public' members that are part of the ELF(3) API. */ uint64_t d_align; + void *d_buf; uint64_t d_off; uint64_t d_size; - void *d_buf; Elf_Type d_type; unsigned int d_version; @@ -233,6 +233,7 @@ off_t elf_rand(Elf *_elf, off_t _off); Elf_Data *elf_rawdata(Elf_Scn *_scn, Elf_Data *_data); char *elf_rawfile(Elf *_elf, size_t *_size); +int elf_setshstrndx(Elf *_elf, size_t _shnum); char *elf_strptr(Elf *_elf, size_t _section, size_t _offset); off_t elf_update(Elf *_elf, Elf_Cmd _cmd); unsigned int elf_version(unsigned int _version); ==== //depot/projects/dtrace/src/lib/libelf/libelf_allocate.c#5 (text+ko) ==== @@ -165,7 +165,7 @@ STAILQ_INIT(&s->s_data); STAILQ_INIT(&s->s_rawdata); - STAILQ_INSERT_HEAD(&e->e_u.e_elf.e_scn, s, s_next); + STAILQ_INSERT_TAIL(&e->e_u.e_elf.e_scn, s, s_next); return (s); } ==== //depot/projects/dtrace/src/lib/libelf/libelf_convert.m4#10 (text+ko) ==== @@ -223,7 +223,7 @@ include(SRCDIR`/elf_types.m4') /* - * `IGNORE'_XXX flags turn off generation of template code. + * `IGNORE'_* flags turn off generation of template code. */ define(`IGNORE', @@ -234,11 +234,15 @@ IGNORE(NOTE) ifelse(eval(OSRELDATE < 700009),1, - `IGNORE(VDEF) - IGNORE(VNEED)', + `IGNORE(CAP) + IGNORE(MOVE) + IGNORE(SYMINFO) + IGNORE(VDEF) + IGNORE(VNEED) + define(`IGNORE_LWORD', 1)', `') -define(IGNORE_BYTE, 1) +define(IGNORE_BYTE, 1) /* 'lator, leave 'em bytes alone */ define(IGNORE_SXWORD32, 1) define(IGNORE_XWORD32, 1) @@ -481,9 +485,6 @@ (void) memcpy(dst, src, count); } -#define libelf_cvt_BYTE_tom libelf_cvt_BYTE_tox -#define libelf_cvt_BYTE_tof libelf_cvt_BYTE_tox - MAKE_TYPE_CONVERTERS(ELF_TYPE_LIST) struct converters { @@ -498,7 +499,9 @@ `ifdef(`IGNORE_'$1$2, `.$3$2 = NULL', `ifdef(`BASE_'$1, - `.$3$2 = libelf_cvt_$1_$3', + `ifdef(`IGNORE_'$1, + `.$3$2 = NULL', + `.$3$2 = libelf_cvt_$1_$3')', `ifdef(`SIZEDEP_'$1, `.$3$2 = libelf_cvt_$1$2_$3', `.$3$2 = libelf_cvt$2_$1_$3')')')') @@ -518,6 +521,13 @@ static struct converters cvt[ELF_T_NUM] = { CONVERTER_NAMES(ELF_TYPE_LIST) + + [ELF_T_BYTE] = { + .tof32 = libelf_cvt_BYTE_tox, + .tom32 = libelf_cvt_BYTE_tox, + .tof64 = libelf_cvt_BYTE_tox, + .tom64 = libelf_cvt_BYTE_tox + } }; void (*_libelf_get_translator(Elf_Type t, int direction, int elfclass)) ==== //depot/projects/dtrace/src/lib/libelf/libelf_data.c#2 (text+ko) ==== @@ -66,12 +66,16 @@ case SHT_SYMTAB: return (ELF_T_SYM); #if __FreeBSD_version > 700009 - case SHT_GNU_verdef: + case SHT_GNU_verdef: /* == SHT_SUNW_verdef */ return (ELF_T_VDEF); - case SHT_GNU_verneed: + case SHT_GNU_verneed: /* == SHT_SUNW_verneed */ return (ELF_T_VNEED); - case SHT_GNU_versym: - return (ELF_T_SYM); + case SHT_GNU_versym: /* == SHT_SUNW_versym */ + return (-1); /* XXX */ + case SHT_SUNW_move: + return (ELF_T_MOVE); + case SHT_SUNW_syminfo: + return (ELF_T_SYMINFO); #endif default: return (-1); ==== //depot/projects/dtrace/src/lib/libelf/libelf_fsize.m4#5 (text+ko) ==== @@ -55,7 +55,11 @@ define(`SXWORD_SIZE32', 0) ifelse(eval(OSRELDATE < 700009),1, - `define(`VDEF_SIZE', 0) + `define(`CAP_SIZE', 0) + define(`LWORD_SIZE', 0) + define(`MOVE_SIZE', 0) + define(`SYMINFO_SIZE', 0) + define(`VDEF_SIZE', 0) define(`VNEED_SIZE', 0)',`') /* ==== //depot/projects/dtrace/src/lib/libelf/libelf_msize.m4#4 (text+ko) ==== @@ -58,7 +58,11 @@ define(XWORD_SIZE32, 0) ifelse(eval(OSRELDATE < 700009),1, - `define(`VDEF_SIZE', 0) + `define(`CAP_SIZE', 0) + define(`LWORD_SIZE', 0) + define(`MOVE_SIZE', 0) + define(`SYMINFO_SIZE', 0) + define(`VDEF_SIZE', 0) define(`VNEED_SIZE', 0)',`') define(`DEFINE_ELF_MSIZE', ==== //depot/projects/dtrace/src/lib/libelf/libelf_phdr.c#3 (text+ko) ==== @@ -135,7 +135,8 @@ assert(msz > 0); - if ((nphdr = calloc(count, msz)) == NULL) { + nphdr = NULL; + if (count > 0 && (nphdr = calloc(count, msz)) == NULL) { LIBELF_SET_ERROR(RESOURCE, 0); return (NULL); } From owner-p4-projects@FreeBSD.ORG Wed Nov 1 07:20:25 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1E5AE16A415; Wed, 1 Nov 2006 07:20:25 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 B6AED16A47C for ; Wed, 1 Nov 2006 07:20:24 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 722F043D49 for ; Wed, 1 Nov 2006 07:20:24 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA17KOI1041124 for ; Wed, 1 Nov 2006 07:20:24 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA17KNnL041121 for perforce@freebsd.org; Wed, 1 Nov 2006 07:20:23 GMT (envelope-from jb@freebsd.org) Date: Wed, 1 Nov 2006 07:20:23 GMT Message-Id: <200611010720.kA17KNnL041121@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 108892 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 07:20:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=108892 Change 108892 by jb@jb_freebsd8 on 2006/11/01 07:19:53 Reset these files to match current. I had been keeping a version of the never-ending-updated-by-everyone driver that actually worked on sun4v. It changes faster than I can test it. In my new sun4v branch I've got a driver called 'me' that I can use every time the 'em' from current goes off into no-worky-land. Affected files ... .. //depot/projects/dtrace/src/sys/dev/em/if_em.c#10 integrate .. //depot/projects/dtrace/src/sys/dev/em/if_em.h#6 integrate .. //depot/projects/dtrace/src/sys/dev/em/if_em_hw.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/em/if_em_hw.h#5 integrate .. //depot/projects/dtrace/src/sys/dev/em/if_em_osdep.h#6 integrate Differences ... ==== //depot/projects/dtrace/src/sys/dev/em/if_em.c#10 (text+ko) ==== @@ -1,7 +1,6 @@ -//depot/projects/dtrace/src/sys/dev/em/if_em.c#7 - edit change 102692 (text+ko) /************************************************************************** -Copyright (c) 2001-2005, Intel Corporation +Copyright (c) 2001-2006, Intel Corporation All rights reserved. Redistribution and use in source and binary forms, with or without @@ -32,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.119 2006/07/20 04:18:45 yongari Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.160 2006/10/31 17:21:14 jhb Exp $*/ #ifdef HAVE_KERNEL_OPTION_HEADERS #include "opt_device_polling.h" @@ -70,9 +69,11 @@ #include #include #include +#include #include #include +#include #include #include #include @@ -87,7 +88,7 @@ * Driver version *********************************************************************/ -char em_driver_version[] = "Version - 5.1.5"; +char em_driver_version[] = "Version - 6.2.9"; /********************************************************************* @@ -151,6 +152,10 @@ { 0x8086, E1000_DEV_ID_82571EB_COPPER, PCI_ANY_ID, PCI_ANY_ID, 0}, { 0x8086, E1000_DEV_ID_82571EB_FIBER, PCI_ANY_ID, PCI_ANY_ID, 0}, { 0x8086, E1000_DEV_ID_82571EB_SERDES, PCI_ANY_ID, PCI_ANY_ID, 0}, + { 0x8086, E1000_DEV_ID_82571EB_QUAD_COPPER, + PCI_ANY_ID, PCI_ANY_ID, 0}, + { 0x8086, E1000_DEV_ID_82571EB_QUAD_COPPER_LOWPROFILE, + PCI_ANY_ID, PCI_ANY_ID, 0}, { 0x8086, E1000_DEV_ID_82572EI_COPPER, PCI_ANY_ID, PCI_ANY_ID, 0}, { 0x8086, E1000_DEV_ID_82572EI_FIBER, PCI_ANY_ID, PCI_ANY_ID, 0}, @@ -160,10 +165,21 @@ { 0x8086, E1000_DEV_ID_82573E, PCI_ANY_ID, PCI_ANY_ID, 0}, { 0x8086, E1000_DEV_ID_82573E_IAMT, PCI_ANY_ID, PCI_ANY_ID, 0}, { 0x8086, E1000_DEV_ID_82573L, PCI_ANY_ID, PCI_ANY_ID, 0}, + { 0x8086, E1000_DEV_ID_80003ES2LAN_COPPER_SPT, + PCI_ANY_ID, PCI_ANY_ID, 0}, + { 0x8086, E1000_DEV_ID_80003ES2LAN_SERDES_SPT, + PCI_ANY_ID, PCI_ANY_ID, 0}, { 0x8086, E1000_DEV_ID_80003ES2LAN_COPPER_DPT, PCI_ANY_ID, PCI_ANY_ID, 0}, { 0x8086, E1000_DEV_ID_80003ES2LAN_SERDES_DPT, PCI_ANY_ID, PCI_ANY_ID, 0}, + { 0x8086, E1000_DEV_ID_ICH8_IGP_M_AMT, PCI_ANY_ID, PCI_ANY_ID, 0}, + { 0x8086, E1000_DEV_ID_ICH8_IGP_AMT, PCI_ANY_ID, PCI_ANY_ID, 0}, + { 0x8086, E1000_DEV_ID_ICH8_IGP_C, PCI_ANY_ID, PCI_ANY_ID, 0}, + { 0x8086, E1000_DEV_ID_ICH8_IFE, PCI_ANY_ID, PCI_ANY_ID, 0}, + { 0x8086, E1000_DEV_ID_ICH8_IFE_GT, PCI_ANY_ID, PCI_ANY_ID, 0}, + { 0x8086, E1000_DEV_ID_ICH8_IFE_G, PCI_ANY_ID, PCI_ANY_ID, 0}, + { 0x8086, E1000_DEV_ID_ICH8_IGP_M, PCI_ANY_ID, PCI_ANY_ID, 0}, /* required last entry */ { 0, 0, 0, 0, 0} @@ -191,64 +207,65 @@ static int em_ioctl(struct ifnet *, u_long, caddr_t); static void em_watchdog(struct ifnet *); static void em_init(void *); -static void em_init_locked(struct em_softc *); +static void em_init_locked(struct adapter *); static void em_stop(void *); static void em_media_status(struct ifnet *, struct ifmediareq *); static int em_media_change(struct ifnet *); -static void em_identify_hardware(struct em_softc *); -static int em_allocate_pci_resources(struct em_softc *); -static int em_allocate_intr(struct em_softc *); -static void em_free_intr(struct em_softc *); -static void em_free_pci_resources(struct em_softc *); +static void em_identify_hardware(struct adapter *); +static int em_allocate_pci_resources(struct adapter *); +static int em_allocate_intr(struct adapter *); +static void em_free_intr(struct adapter *); +static void em_free_pci_resources(struct adapter *); static void em_local_timer(void *); -static int em_hardware_init(struct em_softc *); -static void em_setup_interface(device_t, struct em_softc *); -static int em_setup_transmit_structures(struct em_softc *); -static void em_initialize_transmit_unit(struct em_softc *); -static int em_setup_receive_structures(struct em_softc *); -static void em_initialize_receive_unit(struct em_softc *); -static void em_enable_intr(struct em_softc *); -static void em_disable_intr(struct em_softc *); -static void em_free_transmit_structures(struct em_softc *); -static void em_free_receive_structures(struct em_softc *); -static void em_update_stats_counters(struct em_softc *); -static void em_txeof(struct em_softc *); -static int em_allocate_receive_structures(struct em_softc *); -static int em_allocate_transmit_structures(struct em_softc *); -static int em_rxeof(struct em_softc *, int); +static int em_hardware_init(struct adapter *); +static void em_setup_interface(device_t, struct adapter *); +static void em_setup_transmit_structures(struct adapter *); +static void em_initialize_transmit_unit(struct adapter *); +static int em_setup_receive_structures(struct adapter *); +static void em_initialize_receive_unit(struct adapter *); +static void em_enable_intr(struct adapter *); +static void em_disable_intr(struct adapter *); +static void em_free_transmit_structures(struct adapter *); +static void em_free_receive_structures(struct adapter *); +static void em_update_stats_counters(struct adapter *); +static void em_txeof(struct adapter *); +static int em_allocate_receive_structures(struct adapter *); +static int em_allocate_transmit_structures(struct adapter *); +static int em_rxeof(struct adapter *, int); #ifndef __NO_STRICT_ALIGNMENT -static int em_fixup_rx(struct em_softc *); +static int em_fixup_rx(struct adapter *); #endif -static void em_receive_checksum(struct em_softc *, struct em_rx_desc *, +static void em_receive_checksum(struct adapter *, struct em_rx_desc *, struct mbuf *); -static void em_transmit_checksum_setup(struct em_softc *, struct mbuf *, +static void em_transmit_checksum_setup(struct adapter *, struct mbuf *, + uint32_t *, uint32_t *); +static boolean_t em_tso_setup(struct adapter *, struct mbuf *, uint32_t *, uint32_t *); -static void em_set_promisc(struct em_softc *); -static void em_disable_promisc(struct em_softc *); -static void em_set_multi(struct em_softc *); -static void em_print_hw_stats(struct em_softc *); -static void em_update_link_status(struct em_softc *); -static int em_get_buf(int i, struct em_softc *, struct mbuf *); -static void em_enable_vlans(struct em_softc *); -static void em_disable_vlans(struct em_softc *); -static int em_encap(struct em_softc *, struct mbuf **); -static void em_smartspeed(struct em_softc *); -static int em_82547_fifo_workaround(struct em_softc *, int); -static void em_82547_update_fifo_head(struct em_softc *, int); -static int em_82547_tx_fifo_reset(struct em_softc *); +static void em_set_promisc(struct adapter *); +static void em_disable_promisc(struct adapter *); +static void em_set_multi(struct adapter *); +static void em_print_hw_stats(struct adapter *); +static void em_update_link_status(struct adapter *); +static int em_get_buf(struct adapter *, int); +static void em_enable_vlans(struct adapter *); +static void em_disable_vlans(struct adapter *); +static int em_encap(struct adapter *, struct mbuf **); +static void em_smartspeed(struct adapter *); +static int em_82547_fifo_workaround(struct adapter *, int); +static void em_82547_update_fifo_head(struct adapter *, int); +static int em_82547_tx_fifo_reset(struct adapter *); static void em_82547_move_tail(void *arg); -static void em_82547_move_tail_locked(struct em_softc *); -static int em_dma_malloc(struct em_softc *, bus_size_t, +static int em_dma_malloc(struct adapter *, bus_size_t, struct em_dma_alloc *, int); -static void em_dma_free(struct em_softc *, struct em_dma_alloc *); -static void em_print_debug_info(struct em_softc *); +static void em_dma_free(struct adapter *, struct em_dma_alloc *); +static void em_print_debug_info(struct adapter *); static int em_is_valid_ether_addr(uint8_t *); static int em_sysctl_stats(SYSCTL_HANDLER_ARGS); static int em_sysctl_debug_info(SYSCTL_HANDLER_ARGS); static uint32_t em_fill_descriptors (bus_addr_t address, uint32_t length, PDESC_ARRAY desc_array); static int em_sysctl_int_delay(SYSCTL_HANDLER_ARGS); -static void em_add_int_delay_sysctl(struct em_softc *, const char *, +static void em_add_int_delay_sysctl(struct adapter *, const char *, const char *, struct em_int_delay_info *, int, int); /* @@ -260,7 +277,7 @@ static void em_intr(void *); #else static void em_intr_fast(void *); -static void em_add_int_process_limit(struct em_softc *, const char *, +static void em_add_int_process_limit(struct adapter *, const char *, const char *, int *, int); static void em_handle_rxtx(void *context, int pending); static void em_handle_link(void *context, int pending); @@ -282,7 +299,7 @@ }; static driver_t em_driver = { - "em", em_methods, sizeof(struct em_softc), + "em", em_methods, sizeof(struct adapter), }; static devclass_t em_devclass; @@ -296,6 +313,7 @@ #define E1000_TICKS_TO_USECS(ticks) ((1024 * (ticks) + 500) / 1000) #define E1000_USECS_TO_TICKS(usecs) ((1000 * (usecs) + 512) / 1024) +#define M_TSO_LEN 66 static int em_tx_int_delay_dflt = E1000_TICKS_TO_USECS(EM_TIDV); static int em_rx_int_delay_dflt = E1000_TICKS_TO_USECS(EM_RDTR); @@ -303,6 +321,7 @@ static int em_rx_abs_int_delay_dflt = E1000_TICKS_TO_USECS(EM_RADV); static int em_rxd = EM_DEFAULT_RXD; static int em_txd = EM_DEFAULT_TXD; +static int em_smart_pwr_down = FALSE; TUNABLE_INT("hw.em.tx_int_delay", &em_tx_int_delay_dflt); TUNABLE_INT("hw.em.rx_int_delay", &em_rx_int_delay_dflt); @@ -310,6 +329,7 @@ TUNABLE_INT("hw.em.rx_abs_int_delay", &em_rx_abs_int_delay_dflt); TUNABLE_INT("hw.em.rxd", &em_rxd); TUNABLE_INT("hw.em.txd", &em_txd); +TUNABLE_INT("hw.em.smart_pwr_down", &em_smart_pwr_down); #ifndef DEVICE_POLLING static int em_rx_process_limit = 100; TUNABLE_INT("hw.em.rx_process_limit", &em_rx_process_limit); @@ -379,199 +399,216 @@ static int em_attach(device_t dev) { - struct em_softc *sc; + struct adapter *adapter; int tsize, rsize; int error = 0; INIT_DEBUGOUT("em_attach: begin"); - sc = device_get_softc(dev); - sc->dev = sc->osdep.dev = dev; - EM_LOCK_INIT(sc, device_get_nameunit(dev)); + adapter = device_get_softc(dev); + adapter->dev = adapter->osdep.dev = dev; + EM_LOCK_INIT(adapter, device_get_nameunit(dev)); /* SYSCTL stuff */ SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), - OID_AUTO, "debug_info", CTLTYPE_INT|CTLFLAG_RW, sc, 0, + OID_AUTO, "debug_info", CTLTYPE_INT|CTLFLAG_RW, adapter, 0, em_sysctl_debug_info, "I", "Debug Information"); SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), - OID_AUTO, "stats", CTLTYPE_INT|CTLFLAG_RW, sc, 0, + OID_AUTO, "stats", CTLTYPE_INT|CTLFLAG_RW, adapter, 0, em_sysctl_stats, "I", "Statistics"); - callout_init(&sc->timer, CALLOUT_MPSAFE); - callout_init(&sc->tx_fifo_timer, CALLOUT_MPSAFE); + callout_init_mtx(&adapter->timer, &adapter->mtx, 0); + callout_init_mtx(&adapter->tx_fifo_timer, &adapter->mtx, 0); /* Determine hardware revision */ - em_identify_hardware(sc); + em_identify_hardware(adapter); /* Set up some sysctls for the tunable interrupt delays */ - em_add_int_delay_sysctl(sc, "rx_int_delay", - "receive interrupt delay in usecs", &sc->rx_int_delay, - E1000_REG_OFFSET(&sc->hw, RDTR), em_rx_int_delay_dflt); - em_add_int_delay_sysctl(sc, "tx_int_delay", - "transmit interrupt delay in usecs", &sc->tx_int_delay, - E1000_REG_OFFSET(&sc->hw, TIDV), em_tx_int_delay_dflt); - if (sc->hw.mac_type >= em_82540) { - em_add_int_delay_sysctl(sc, "rx_abs_int_delay", + em_add_int_delay_sysctl(adapter, "rx_int_delay", + "receive interrupt delay in usecs", &adapter->rx_int_delay, + E1000_REG_OFFSET(&adapter->hw, RDTR), em_rx_int_delay_dflt); + em_add_int_delay_sysctl(adapter, "tx_int_delay", + "transmit interrupt delay in usecs", &adapter->tx_int_delay, + E1000_REG_OFFSET(&adapter->hw, TIDV), em_tx_int_delay_dflt); + if (adapter->hw.mac_type >= em_82540) { + em_add_int_delay_sysctl(adapter, "rx_abs_int_delay", "receive interrupt delay limit in usecs", - &sc->rx_abs_int_delay, - E1000_REG_OFFSET(&sc->hw, RADV), + &adapter->rx_abs_int_delay, + E1000_REG_OFFSET(&adapter->hw, RADV), em_rx_abs_int_delay_dflt); - em_add_int_delay_sysctl(sc, "tx_abs_int_delay", + em_add_int_delay_sysctl(adapter, "tx_abs_int_delay", "transmit interrupt delay limit in usecs", - &sc->tx_abs_int_delay, - E1000_REG_OFFSET(&sc->hw, TADV), + &adapter->tx_abs_int_delay, + E1000_REG_OFFSET(&adapter->hw, TADV), em_tx_abs_int_delay_dflt); } #ifndef DEVICE_POLLING /* Sysctls for limiting the amount of work done in the taskqueue */ - em_add_int_process_limit(sc, "rx_processing_limit", - "max number of rx packets to process", &sc->rx_process_limit, + em_add_int_process_limit(adapter, "rx_processing_limit", + "max number of rx packets to process", &adapter->rx_process_limit, em_rx_process_limit); #endif /* * Validate number of transmit and receive descriptors. It * must not exceed hardware maximum, and must be multiple - * of E1000_DBA_ALIGN. + * of EM_DBA_ALIGN. */ - if (((em_txd * sizeof(struct em_tx_desc)) % E1000_DBA_ALIGN) != 0 || - (sc->hw.mac_type >= em_82544 && em_txd > EM_MAX_TXD) || - (sc->hw.mac_type < em_82544 && em_txd > EM_MAX_TXD_82543) || + if (((em_txd * sizeof(struct em_tx_desc)) % EM_DBA_ALIGN) != 0 || + (adapter->hw.mac_type >= em_82544 && em_txd > EM_MAX_TXD) || + (adapter->hw.mac_type < em_82544 && em_txd > EM_MAX_TXD_82543) || (em_txd < EM_MIN_TXD)) { device_printf(dev, "Using %d TX descriptors instead of %d!\n", EM_DEFAULT_TXD, em_txd); - sc->num_tx_desc = EM_DEFAULT_TXD; + adapter->num_tx_desc = EM_DEFAULT_TXD; } else - sc->num_tx_desc = em_txd; - if (((em_rxd * sizeof(struct em_rx_desc)) % E1000_DBA_ALIGN) != 0 || - (sc->hw.mac_type >= em_82544 && em_rxd > EM_MAX_RXD) || - (sc->hw.mac_type < em_82544 && em_rxd > EM_MAX_RXD_82543) || + adapter->num_tx_desc = em_txd; + if (((em_rxd * sizeof(struct em_rx_desc)) % EM_DBA_ALIGN) != 0 || + (adapter->hw.mac_type >= em_82544 && em_rxd > EM_MAX_RXD) || + (adapter->hw.mac_type < em_82544 && em_rxd > EM_MAX_RXD_82543) || (em_rxd < EM_MIN_RXD)) { device_printf(dev, "Using %d RX descriptors instead of %d!\n", EM_DEFAULT_RXD, em_rxd); - sc->num_rx_desc = EM_DEFAULT_RXD; + adapter->num_rx_desc = EM_DEFAULT_RXD; } else - sc->num_rx_desc = em_rxd; + adapter->num_rx_desc = em_rxd; - sc->hw.autoneg = DO_AUTO_NEG; - sc->hw.wait_autoneg_complete = WAIT_FOR_AUTO_NEG_DEFAULT; - sc->hw.autoneg_advertised = AUTONEG_ADV_DEFAULT; - sc->hw.tbi_compatibility_en = TRUE; - sc->rx_buffer_len = EM_RXBUFFER_2048; + adapter->hw.autoneg = DO_AUTO_NEG; + adapter->hw.wait_autoneg_complete = WAIT_FOR_AUTO_NEG_DEFAULT; + adapter->hw.autoneg_advertised = AUTONEG_ADV_DEFAULT; + adapter->hw.tbi_compatibility_en = TRUE; + adapter->rx_buffer_len = EM_RXBUFFER_2048; - sc->hw.phy_init_script = 1; - sc->hw.phy_reset_disable = FALSE; + adapter->hw.phy_init_script = 1; + adapter->hw.phy_reset_disable = FALSE; #ifndef EM_MASTER_SLAVE - sc->hw.master_slave = em_ms_hw_default; + adapter->hw.master_slave = em_ms_hw_default; #else - sc->hw.master_slave = EM_MASTER_SLAVE; + adapter->hw.master_slave = EM_MASTER_SLAVE; #endif /* * Set the max frame size assuming standard ethernet * sized frames. */ - sc->hw.max_frame_size = ETHERMTU + ETHER_HDR_LEN + ETHER_CRC_LEN; + adapter->hw.max_frame_size = ETHERMTU + ETHER_HDR_LEN + ETHER_CRC_LEN; - sc->hw.min_frame_size = MINIMUM_ETHERNET_PACKET_SIZE + ETHER_CRC_LEN; + adapter->hw.min_frame_size = MINIMUM_ETHERNET_PACKET_SIZE + ETHER_CRC_LEN; /* * This controls when hardware reports transmit completion * status. */ - sc->hw.report_tx_early = 1; - if (em_allocate_pci_resources(sc)) { + adapter->hw.report_tx_early = 1; + if (em_allocate_pci_resources(adapter)) { device_printf(dev, "Allocation of PCI resources failed\n"); error = ENXIO; goto err_pci; } /* Initialize eeprom parameters */ - em_init_eeprom_params(&sc->hw); + em_init_eeprom_params(&adapter->hw); - tsize = roundup2(sc->num_tx_desc * sizeof(struct em_tx_desc), - E1000_DBA_ALIGN); + tsize = roundup2(adapter->num_tx_desc * sizeof(struct em_tx_desc), + EM_DBA_ALIGN); /* Allocate Transmit Descriptor ring */ - if (em_dma_malloc(sc, tsize, &sc->txdma, BUS_DMA_NOWAIT)) { + if (em_dma_malloc(adapter, tsize, &adapter->txdma, BUS_DMA_NOWAIT)) { device_printf(dev, "Unable to allocate tx_desc memory\n"); error = ENOMEM; goto err_tx_desc; } - sc->tx_desc_base = (struct em_tx_desc *)sc->txdma.dma_vaddr; + adapter->tx_desc_base = (struct em_tx_desc *)adapter->txdma.dma_vaddr; - rsize = roundup2(sc->num_rx_desc * sizeof(struct em_rx_desc), - E1000_DBA_ALIGN); + rsize = roundup2(adapter->num_rx_desc * sizeof(struct em_rx_desc), + EM_DBA_ALIGN); /* Allocate Receive Descriptor ring */ - if (em_dma_malloc(sc, rsize, &sc->rxdma, BUS_DMA_NOWAIT)) { + if (em_dma_malloc(adapter, rsize, &adapter->rxdma, BUS_DMA_NOWAIT)) { device_printf(dev, "Unable to allocate rx_desc memory\n"); error = ENOMEM; goto err_rx_desc; } - sc->rx_desc_base = (struct em_rx_desc *)sc->rxdma.dma_vaddr; + adapter->rx_desc_base = (struct em_rx_desc *)adapter->rxdma.dma_vaddr; /* Initialize the hardware */ - if (em_hardware_init(sc)) { + if (em_hardware_init(adapter)) { device_printf(dev, "Unable to initialize the hardware\n"); error = EIO; goto err_hw_init; } /* Copy the permanent MAC address out of the EEPROM */ - if (em_read_mac_addr(&sc->hw) < 0) { + if (em_read_mac_addr(&adapter->hw) < 0) { device_printf(dev, "EEPROM read error while reading MAC" " address\n"); error = EIO; goto err_hw_init; } - if (!em_is_valid_ether_addr(sc->hw.mac_addr)) { + if (!em_is_valid_ether_addr(adapter->hw.mac_addr)) { device_printf(dev, "Invalid MAC address\n"); error = EIO; goto err_hw_init; } + /* Allocate transmit descriptors and buffers */ + if (em_allocate_transmit_structures(adapter)) { + device_printf(dev, "Could not setup transmit structures\n"); + error = ENOMEM; + goto err_tx_struct; + } + + /* Allocate receive descriptors and buffers */ + if (em_allocate_receive_structures(adapter)) { + device_printf(dev, "Could not setup receive structures\n"); + error = ENOMEM; + goto err_rx_struct; + } + /* Setup OS specific network interface */ - em_setup_interface(dev, sc); + em_setup_interface(dev, adapter); - em_allocate_intr(sc); + em_allocate_intr(adapter); /* Initialize statistics */ - em_clear_hw_cntrs(&sc->hw); - em_update_stats_counters(sc); - sc->hw.get_link_status = 1; - em_update_link_status(sc); + em_clear_hw_cntrs(&adapter->hw); + em_update_stats_counters(adapter); + adapter->hw.get_link_status = 1; + em_update_link_status(adapter); /* Indicate SOL/IDER usage */ - if (em_check_phy_reset_block(&sc->hw)) + if (em_check_phy_reset_block(&adapter->hw)) device_printf(dev, "PHY reset is blocked due to SOL/IDER session.\n"); /* Identify 82544 on PCIX */ - em_get_bus_info(&sc->hw); - if(sc->hw.bus_type == em_bus_type_pcix && sc->hw.mac_type == em_82544) - sc->pcix_82544 = TRUE; + em_get_bus_info(&adapter->hw); + if(adapter->hw.bus_type == em_bus_type_pcix && adapter->hw.mac_type == em_82544) + adapter->pcix_82544 = TRUE; else - sc->pcix_82544 = FALSE; + adapter->pcix_82544 = FALSE; INIT_DEBUGOUT("em_attach: end"); return (0); +err_rx_struct: + em_free_transmit_structures(adapter); +err_tx_struct: err_hw_init: - em_dma_free(sc, &sc->rxdma); + em_dma_free(adapter, &adapter->rxdma); err_rx_desc: - em_dma_free(sc, &sc->txdma); + em_dma_free(adapter, &adapter->txdma); err_tx_desc: err_pci: - em_free_intr(sc); - em_free_pci_resources(sc); - EM_LOCK_DESTROY(sc); + em_free_intr(adapter); + em_free_pci_resources(adapter); + EM_LOCK_DESTROY(adapter); return (error); } @@ -589,8 +626,8 @@ static int em_detach(device_t dev) { - struct em_softc *sc = device_get_softc(dev); - struct ifnet *ifp = sc->ifp; + struct adapter *adapter = device_get_softc(dev); + struct ifnet *ifp = adapter->ifp; INIT_DEBUGOUT("em_detach: begin"); @@ -599,31 +636,37 @@ ether_poll_deregister(ifp); #endif - em_free_intr(sc); - EM_LOCK(sc); - sc->in_detach = 1; - em_stop(sc); - em_phy_hw_reset(&sc->hw); - EM_UNLOCK(sc); - ether_ifdetach(sc->ifp); + em_free_intr(adapter); + EM_LOCK(adapter); + adapter->in_detach = 1; + em_stop(adapter); + em_phy_hw_reset(&adapter->hw); + EM_UNLOCK(adapter); + ether_ifdetach(adapter->ifp); + + callout_drain(&adapter->timer); + callout_drain(&adapter->tx_fifo_timer); - em_free_pci_resources(sc); + em_free_pci_resources(adapter); bus_generic_detach(dev); if_free(ifp); + em_free_transmit_structures(adapter); + em_free_receive_structures(adapter); + /* Free Transmit Descriptor ring */ - if (sc->tx_desc_base) { - em_dma_free(sc, &sc->txdma); - sc->tx_desc_base = NULL; + if (adapter->tx_desc_base) { + em_dma_free(adapter, &adapter->txdma); + adapter->tx_desc_base = NULL; } /* Free Receive Descriptor ring */ - if (sc->rx_desc_base) { - em_dma_free(sc, &sc->rxdma); - sc->rx_desc_base = NULL; + if (adapter->rx_desc_base) { + em_dma_free(adapter, &adapter->rxdma); + adapter->rx_desc_base = NULL; } - EM_LOCK_DESTROY(sc); + EM_LOCK_DESTROY(adapter); return (0); } @@ -637,10 +680,10 @@ static int em_shutdown(device_t dev) { - struct em_softc *sc = device_get_softc(dev); - EM_LOCK(sc); - em_stop(sc); - EM_UNLOCK(sc); + struct adapter *adapter = device_get_softc(dev); + EM_LOCK(adapter); + em_stop(adapter); + EM_UNLOCK(adapter); return (0); } @@ -650,11 +693,11 @@ static int em_suspend(device_t dev) { - struct em_softc *sc = device_get_softc(dev); + struct adapter *adapter = device_get_softc(dev); - EM_LOCK(sc); - em_stop(sc); - EM_UNLOCK(sc); + EM_LOCK(adapter); + em_stop(adapter); + EM_UNLOCK(adapter); return bus_generic_suspend(dev); } @@ -662,15 +705,15 @@ static int em_resume(device_t dev) { - struct em_softc *sc = device_get_softc(dev); - struct ifnet *ifp = sc->ifp; + struct adapter *adapter = device_get_softc(dev); + struct ifnet *ifp = adapter->ifp; - EM_LOCK(sc); - em_init_locked(sc); + EM_LOCK(adapter); + em_init_locked(adapter); if ((ifp->if_flags & IFF_UP) && (ifp->if_drv_flags & IFF_DRV_RUNNING)) em_start_locked(ifp); - EM_UNLOCK(sc); + EM_UNLOCK(adapter); return bus_generic_resume(dev); } @@ -689,15 +732,15 @@ static void em_start_locked(struct ifnet *ifp) { - struct em_softc *sc = ifp->if_softc; + struct adapter *adapter = ifp->if_softc; struct mbuf *m_head; - EM_LOCK_ASSERT(sc); + EM_LOCK_ASSERT(adapter); if ((ifp->if_drv_flags & (IFF_DRV_RUNNING|IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING) return; - if (!sc->link_active) + if (!adapter->link_active) return; while (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) { @@ -709,7 +752,7 @@ * em_encap() can modify our pointer, and or make it NULL on * failure. In that event, we can't requeue. */ - if (em_encap(sc, &m_head)) { + if (em_encap(adapter, &m_head)) { if (m_head == NULL) break; ifp->if_drv_flags |= IFF_DRV_OACTIVE; @@ -728,12 +771,12 @@ static void em_start(struct ifnet *ifp) { - struct em_softc *sc = ifp->if_softc; + struct adapter *adapter = ifp->if_softc; - EM_LOCK(sc); + EM_LOCK(adapter); if (ifp->if_drv_flags & IFF_DRV_RUNNING) em_start_locked(ifp); - EM_UNLOCK(sc); + EM_UNLOCK(adapter); } /********************************************************************* @@ -748,12 +791,12 @@ static int em_ioctl(struct ifnet *ifp, u_long command, caddr_t data) { - struct em_softc *sc = ifp->if_softc; + struct adapter *adapter = ifp->if_softc; struct ifreq *ifr = (struct ifreq *)data; struct ifaddr *ifa = (struct ifaddr *)data; int error = 0; - if (sc->in_detach) + if (adapter->in_detach) return (error); switch (command) { @@ -769,9 +812,9 @@ */ ifp->if_flags |= IFF_UP; if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { - EM_LOCK(sc); - em_init_locked(sc); - EM_UNLOCK(sc); + EM_LOCK(adapter); + em_init_locked(adapter); + EM_UNLOCK(adapter); } arp_ifinit(ifp, ifa); } else @@ -784,14 +827,14 @@ IOCTL_DEBUGOUT("ioctl rcv'd: SIOCSIFMTU (Set Interface MTU)"); - EM_LOCK(sc); - switch (sc->hw.mac_type) { + EM_LOCK(adapter); + switch (adapter->hw.mac_type) { case em_82573: /* * 82573 only supports jumbo frames * if ASPM is disabled. */ - em_read_eeprom(&sc->hw, EEPROM_INIT_3GIO_3, 1, + em_read_eeprom(&adapter->hw, EEPROM_INIT_3GIO_3, 1, &eeprom_data); if (eeprom_data & EEPROM_WORD1A_ASPM_MASK) { max_frame_size = ETHER_MAX_LEN; @@ -803,64 +846,77 @@ case em_80003es2lan: /* Limit Jumbo Frame size */ max_frame_size = 9234; break; + case em_ich8lan: + /* ICH8 does not support jumbo frames */ + max_frame_size = ETHER_MAX_LEN; + break; default: max_frame_size = MAX_JUMBO_FRAME_SIZE; } if (ifr->ifr_mtu > max_frame_size - ETHER_HDR_LEN - ETHER_CRC_LEN) { - EM_UNLOCK(sc); + EM_UNLOCK(adapter); error = EINVAL; break; } ifp->if_mtu = ifr->ifr_mtu; - sc->hw.max_frame_size = - ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN; - em_init_locked(sc); - EM_UNLOCK(sc); + adapter->hw.max_frame_size = + ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN; + em_init_locked(adapter); + EM_UNLOCK(adapter); break; } case SIOCSIFFLAGS: IOCTL_DEBUGOUT("ioctl rcv'd: SIOCSIFFLAGS (Set Interface Flags)"); - EM_LOCK(sc); + EM_LOCK(adapter); if (ifp->if_flags & IFF_UP) { if ((ifp->if_drv_flags & IFF_DRV_RUNNING)) { - if ((ifp->if_flags ^ sc->if_flags) & + if ((ifp->if_flags ^ adapter->if_flags) & IFF_PROMISC) { - em_disable_promisc(sc); - em_set_promisc(sc); + em_disable_promisc(adapter); + em_set_promisc(adapter); } } else - em_init_locked(sc); + em_init_locked(adapter); } else { if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - em_stop(sc); + em_stop(adapter); } } - sc->if_flags = ifp->if_flags; - EM_UNLOCK(sc); + adapter->if_flags = ifp->if_flags; + EM_UNLOCK(adapter); break; case SIOCADDMULTI: case SIOCDELMULTI: IOCTL_DEBUGOUT("ioctl rcv'd: SIOC(ADD|DEL)MULTI"); if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - EM_LOCK(sc); - em_disable_intr(sc); - em_set_multi(sc); - if (sc->hw.mac_type == em_82542_rev2_0) { - em_initialize_receive_unit(sc); + EM_LOCK(adapter); + em_disable_intr(adapter); + em_set_multi(adapter); + if (adapter->hw.mac_type == em_82542_rev2_0) { + em_initialize_receive_unit(adapter); } #ifdef DEVICE_POLLING if (!(ifp->if_capenable & IFCAP_POLLING)) #endif - em_enable_intr(sc); - EM_UNLOCK(sc); + em_enable_intr(adapter); + EM_UNLOCK(adapter); } break; case SIOCSIFMEDIA: + /* Check SOL/IDER usage */ + EM_LOCK(adapter); + if (em_check_phy_reset_block(&adapter->hw)) { + EM_UNLOCK(adapter); + device_printf(adapter->dev, "Media change is" + "blocked due to SOL/IDER session.\n"); + break; + } + EM_UNLOCK(adapter); case SIOCGIFMEDIA: IOCTL_DEBUGOUT("ioctl rcv'd: SIOCxIFMEDIA (Get/Set Interface Media)"); - error = ifmedia_ioctl(ifp, ifr, &sc->media, command); + error = ifmedia_ioctl(ifp, ifr, &adapter->media, command); break; case SIOCSIFCAP: { @@ -875,17 +931,17 @@ error = ether_poll_register(em_poll, ifp); if (error) return (error); - EM_LOCK(sc); - em_disable_intr(sc); + EM_LOCK(adapter); + em_disable_intr(adapter); ifp->if_capenable |= IFCAP_POLLING; - EM_UNLOCK(sc); + EM_UNLOCK(adapter); } else { error = ether_poll_deregister(ifp); /* Enable interrupt even in error case */ - EM_LOCK(sc); - em_enable_intr(sc); + EM_LOCK(adapter); + em_enable_intr(adapter); ifp->if_capenable &= ~IFCAP_POLLING; - EM_UNLOCK(sc); + EM_UNLOCK(adapter); } } #endif @@ -893,12 +949,16 @@ ifp->if_capenable ^= IFCAP_HWCSUM; reinit = 1; } + if (mask & IFCAP_TSO4) { + ifp->if_capenable ^= IFCAP_TSO4; + reinit = 1; + } if (mask & IFCAP_VLAN_HWTAGGING) { ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING; reinit = 1; } if (reinit && (ifp->if_drv_flags & IFF_DRV_RUNNING)) - em_init(sc); + em_init(adapter); VLAN_CAPABILITIES(ifp); break; } @@ -920,26 +980,38 @@ static void em_watchdog(struct ifnet *ifp) { - struct em_softc *sc = ifp->if_softc; + struct adapter *adapter = ifp->if_softc; - EM_LOCK(sc); + EM_LOCK(adapter); /* If we are in this routine because of pause frames, then * don't reset the hardware. */ - if (E1000_READ_REG(&sc->hw, STATUS) & E1000_STATUS_TXOFF) { + if (E1000_READ_REG(&adapter->hw, STATUS) & E1000_STATUS_TXOFF) { ifp->if_timer = EM_TX_TIMEOUT; - EM_UNLOCK(sc); + EM_UNLOCK(adapter); + return; + } + + /* + * Reclaim first as there is a possibility of losing Tx completion + * interrupts. Possible cause of missing Tx completion interrupts + * comes from Tx interrupt moderation mechanism(delayed interrupts) + * or chipset bug. + */ + em_txeof(adapter); + if (adapter->num_tx_desc_avail == adapter->num_tx_desc) { + EM_UNLOCK(adapter); return; } - if (em_check_for_link(&sc->hw) == 0) - device_printf(sc->dev, "watchdog timeout -- resetting\n"); + if (em_check_for_link(&adapter->hw) == 0) + device_printf(adapter->dev, "watchdog timeout -- resetting\n"); ifp->if_drv_flags &= ~IFF_DRV_RUNNING; - sc->watchdog_events++; + adapter->watchdog_events++; - em_init_locked(sc); - EM_UNLOCK(sc); + em_init_locked(adapter); + EM_UNLOCK(adapter); } /********************************************************************* @@ -954,33 +1026,39 @@ **********************************************************************/ static void -em_init_locked(struct em_softc *sc) +em_init_locked(struct adapter *adapter) { - struct ifnet *ifp = sc->ifp; - device_t dev = sc->dev; + struct ifnet *ifp = adapter->ifp; + device_t dev = adapter->dev; uint32_t pba; INIT_DEBUGOUT("em_init: begin"); - EM_LOCK_ASSERT(sc); + EM_LOCK_ASSERT(adapter); - em_stop(sc); + em_stop(adapter); /* * Packet Buffer Allocation (PBA) * Writing PBA sets the receive portion of the buffer * the remainder is used for the transmit buffer. + * + * Devices before the 82547 had a Packet Buffer of 64K. + * Default allocation: PBA=48K for Rx, leaving 16K for Tx. + * After the 82547 the buffer was reduced to 40K. + * Default allocation: PBA=30K for Rx, leaving 10K for Tx. + * Note: default does not leave enough room for Jumbo Frame >10k. */ - switch (sc->hw.mac_type) { + switch (adapter->hw.mac_type) { case em_82547: case em_82547_rev_2: /* 82547: Total Packet Buffer is 40K */ - if (sc->hw.max_frame_size > EM_RXBUFFER_8192) + if (adapter->hw.max_frame_size > EM_RXBUFFER_8192) pba = E1000_PBA_22K; /* 22K for Rx, 18K for Tx */ else pba = E1000_PBA_30K; /* 30K for Rx, 10K for Tx */ - sc->tx_fifo_head = 0; - sc->tx_head_addr = pba << EM_TX_HEAD_ADDR_SHIFT; - sc->tx_fifo_size = (E1000_PBA_40K - pba) << EM_PBA_BYTES_SHIFT; + adapter->tx_fifo_head = 0; + adapter->tx_head_addr = pba << EM_TX_HEAD_ADDR_SHIFT; + adapter->tx_fifo_size = (E1000_PBA_40K - pba) << EM_PBA_BYTES_SHIFT; break; case em_80003es2lan: /* 80003es2lan: Total Packet Buffer is 48K */ case em_82571: /* 82571: Total Packet Buffer is 48K */ @@ -991,150 +1069,154 @@ /* Jumbo frames not supported */ pba = E1000_PBA_12K; /* 12K for Rx, 20K for Tx */ break; + case em_ich8lan: + pba = E1000_PBA_8K; + break; default: /* Devices before 82547 had a Packet Buffer of 64K. */ - if(sc->hw.max_frame_size > EM_RXBUFFER_8192) + if(adapter->hw.max_frame_size > EM_RXBUFFER_8192) pba = E1000_PBA_40K; /* 40K for Rx, 24K for Tx */ else pba = E1000_PBA_48K; /* 48K for Rx, 16K for Tx */ } INIT_DEBUGOUT1("em_init: pba=%dK",pba); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Nov 1 08:05:22 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1B47D16A417; Wed, 1 Nov 2006 08:05:22 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 C8C2B16A412 for ; Wed, 1 Nov 2006 08:05:21 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 34E8643D55 for ; Wed, 1 Nov 2006 08:05:21 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA185LLh050208 for ; Wed, 1 Nov 2006 08:05:21 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA185L0P050205 for perforce@freebsd.org; Wed, 1 Nov 2006 08:05:21 GMT (envelope-from jb@freebsd.org) Date: Wed, 1 Nov 2006 08:05:21 GMT Message-Id: <200611010805.kA185L0P050205@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 108894 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 08:05:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=108894 Change 108894 by jb@jb_freebsd8 on 2006/11/01 08:05:16 Remove this file. It was part of my threads-in-libc experiment. Affected files ... .. //depot/projects/dtrace/src/lib/libc/thread/Makefile.inc#3 delete Differences ... From owner-p4-projects@FreeBSD.ORG Wed Nov 1 08:08:27 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 883EB16A4DF; Wed, 1 Nov 2006 08:08:27 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 4CF8316A4C9 for ; Wed, 1 Nov 2006 08:08:27 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E852443D6A for ; Wed, 1 Nov 2006 08:08:25 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA188PN5050461 for ; Wed, 1 Nov 2006 08:08:25 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA188P1B050458 for perforce@freebsd.org; Wed, 1 Nov 2006 08:08:25 GMT (envelope-from jb@freebsd.org) Date: Wed, 1 Nov 2006 08:08:25 GMT Message-Id: <200611010808.kA188P1B050458@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 108895 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 08:08:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=108895 Change 108895 by jb@jb_freebsd8 on 2006/11/01 08:07:47 This file is no longer required now that sun4v shares sparc64. Affected files ... .. //depot/projects/dtrace/src/lib/libdisk/write_sun4v_disk.c#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Wed Nov 1 08:23:47 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A854816A412; Wed, 1 Nov 2006 08:23:47 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 701C516A407 for ; Wed, 1 Nov 2006 08:23:47 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 118AF43D55 for ; Wed, 1 Nov 2006 08:23:47 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA18NkLG053154 for ; Wed, 1 Nov 2006 08:23:46 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA18Nkbc053145 for perforce@freebsd.org; Wed, 1 Nov 2006 08:23:46 GMT (envelope-from jb@freebsd.org) Date: Wed, 1 Nov 2006 08:23:46 GMT Message-Id: <200611010823.kA18Nkbc053145@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 108897 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 08:23:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=108897 Change 108897 by jb@jb_freebsd8 on 2006/11/01 08:22:57 IFC Affected files ... .. //depot/projects/dtrace/src/sys/sun4v/include/hypervisorvar.h#6 integrate .. //depot/projects/dtrace/src/sys/sun4v/sun4v/hcall.S#7 integrate .. //depot/projects/dtrace/www/en/security/security.sgml#8 integrate Differences ... ==== //depot/projects/dtrace/src/sys/sun4v/include/hypervisorvar.h#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/sun4v/include/hypervisorvar.h,v 1.1 2006/10/05 06:14:25 kmacy Exp $ + * $FreeBSD: src/sys/sun4v/include/hypervisorvar.h,v 1.2 2006/11/01 08:14:14 jb Exp $ */ ==== //depot/projects/dtrace/src/sys/sun4v/sun4v/hcall.S#7 (text+ko) ==== @@ -32,7 +32,7 @@ #define _ASM #include -__FBSDID("$FreeBSD: src/sys/sun4v/sun4v/hcall.S,v 1.1 2006/10/05 06:14:28 kmacy Exp $") +__FBSDID("$FreeBSD: src/sys/sun4v/sun4v/hcall.S,v 1.2 2006/11/01 08:14:14 jb Exp $") #include #include ==== //depot/projects/dtrace/www/en/security/security.sgml#8 (text+ko) ==== @@ -1,12 +1,12 @@ - + %developers; ]> - + &header; @@ -268,20 +268,6 @@ May 31, 2008 - RELENG_5_3 - 5.3-RELEASE - Extended - November 6, 2004 - October 31, 2006 - - - RELENG_5_4 - 5.4-RELEASE - Normal - May 9, 2005 - October 31, 2006 - - RELENG_5_5 5.5-RELEASE Extended @@ -300,7 +286,7 @@ 6.0-RELEASE Normal November 4, 2005 - November 30, 2006 + January 31, 2007 RELENG_6_1 From owner-p4-projects@FreeBSD.ORG Wed Nov 1 08:40:08 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3617A16A412; Wed, 1 Nov 2006 08:40:08 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 E044616A407 for ; Wed, 1 Nov 2006 08:40:07 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8A71043D49 for ; Wed, 1 Nov 2006 08:40:07 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA18e7XA055381 for ; Wed, 1 Nov 2006 08:40:07 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA18e7M8055378 for perforce@freebsd.org; Wed, 1 Nov 2006 08:40:07 GMT (envelope-from jb@freebsd.org) Date: Wed, 1 Nov 2006 08:40:07 GMT Message-Id: <200611010840.kA18e7M8055378@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 108898 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 08:40:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=108898 Change 108898 by jb@jb_freebsd8 on 2006/11/01 08:39:22 Remove my experimental threads-in-lib toggle. Affected files ... .. //depot/projects/dtrace/src/share/mk/bsd.own.mk#10 edit Differences ... ==== //depot/projects/dtrace/src/share/mk/bsd.own.mk#10 (text+ko) ==== @@ -368,8 +368,7 @@ .for var in \ BIND_LIBS \ HESIOD \ - IDEA \ - LIBC_THREADS + IDEA .if defined(WITH_${var}) && defined(WITHOUT_${var}) .error WITH_${var} and WITHOUT_${var} can't both be set. .endif From owner-p4-projects@FreeBSD.ORG Wed Nov 1 08:43:12 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 542F616A415; Wed, 1 Nov 2006 08:43:12 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 2E26216A40F for ; Wed, 1 Nov 2006 08:43:12 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C48D843D58 for ; Wed, 1 Nov 2006 08:43:11 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA18hBVu056391 for ; Wed, 1 Nov 2006 08:43:11 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA18hBxx056387 for perforce@freebsd.org; Wed, 1 Nov 2006 08:43:11 GMT (envelope-from jb@freebsd.org) Date: Wed, 1 Nov 2006 08:43:11 GMT Message-Id: <200611010843.kA18hBxx056387@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 108899 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 08:43:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=108899 Change 108899 by jb@jb_freebsd8 on 2006/11/01 08:42:23 Document the build option to not build files that are licensed under Sun's CDDL. Affected files ... .. //depot/projects/dtrace/src/tools/build/options/WITHOUT_CDDL#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Wed Nov 1 09:26:09 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3ACB516A417; Wed, 1 Nov 2006 09:26:09 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 E98AD16A407 for ; Wed, 1 Nov 2006 09:26:08 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B4C0F43D49 for ; Wed, 1 Nov 2006 09:26:08 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA19Q8Zk074108 for ; Wed, 1 Nov 2006 09:26:08 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA19Q7CJ074105 for perforce@freebsd.org; Wed, 1 Nov 2006 09:26:07 GMT (envelope-from jb@freebsd.org) Date: Wed, 1 Nov 2006 09:26:07 GMT Message-Id: <200611010926.kA19Q7CJ074105@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 108903 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 09:26:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=108903 Change 108903 by jb@jb_freebsd8 on 2006/11/01 09:25:13 IFC Affected files ... .. //depot/projects/dtrace/src/sys/net/bridgestp.c#8 integrate .. //depot/projects/dtrace/src/sys/net/bridgestp.h#4 integrate .. //depot/projects/dtrace/src/sys/net/if_bridge.c#15 integrate .. //depot/projects/dtrace/src/sys/net/if_bridgevar.h#6 integrate .. //depot/projects/dtrace/www/de/docs/books.sgml#8 integrate .. //depot/projects/dtrace/www/de/security/security.sgml#8 integrate .. //depot/projects/dtrace/www/de/share/sgml/news.xml#5 integrate .. //depot/projects/dtrace/www/de/share/sgml/press.xml#5 integrate Differences ... ==== //depot/projects/dtrace/src/sys/net/bridgestp.c#8 (text+ko) ==== @@ -2,6 +2,7 @@ /* * Copyright (c) 2000 Jason L. Wright (jason@thought.net) + * Copyright (c) 2006 Andrew Thompson (thompsa@FreeBSD.org) * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -30,12 +31,11 @@ /* * Implementation of the spanning tree protocol as defined in - * ISO/IEC Final DIS 15802-3 (IEEE P802.1D/D17), May 25, 1998. - * (In English: IEEE 802.1D, Draft 17, 1998) + * ISO/IEC 802.1D-2004, June 9, 2004. */ #include -__FBSDID("$FreeBSD: src/sys/net/bridgestp.c,v 1.20 2006/10/01 03:48:32 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/net/bridgestp.c,v 1.21 2006/11/01 09:07:47 thompsa Exp $"); #include #include @@ -62,276 +62,172 @@ #include #include +#ifdef BRIDGESTP_DEBUG +#define DPRINTF(fmt, arg...) printf("bstp: " fmt, ##arg) +#else +#define DPRINTF(fmt, arg...) +#endif + +#define PV2ADDR(pv, eaddr) do { \ + eaddr[0] = pv >> 40; \ + eaddr[1] = pv >> 32; \ + eaddr[2] = pv >> 24; \ + eaddr[3] = pv >> 16; \ + eaddr[4] = pv >> 8; \ + eaddr[5] = pv >> 0; \ +} while (0) + +#define INFO_BETTER 1 +#define INFO_SAME 0 +#define INFO_WORSE -1 + const uint8_t bstp_etheraddr[] = { 0x01, 0x80, 0xc2, 0x00, 0x00, 0x00 }; LIST_HEAD(, bstp_state) bstp_list; static struct mtx bstp_list_mtx; -static void bstp_initialize_port(struct bstp_state *, - struct bstp_port *); +static void bstp_transmit(struct bstp_state *, struct bstp_port *); +static void bstp_transmit_bpdu(struct bstp_state *, struct bstp_port *); +static void bstp_transmit_tcn(struct bstp_state *, struct bstp_port *); +static void bstp_decode_bpdu(struct bstp_port *, struct bstp_cbpdu *, + struct bstp_config_unit *); +static void bstp_send_bpdu(struct bstp_state *, struct bstp_port *, + struct bstp_cbpdu *); +static void bstp_enqueue(struct ifnet *, struct mbuf *); +static int bstp_pdu_flags(struct bstp_port *); +static void bstp_received_stp(struct bstp_state *, struct bstp_port *, + struct mbuf *, struct bstp_tbpdu *); +static void bstp_received_rstp(struct bstp_state *, struct bstp_port *, + struct mbuf *, struct bstp_tbpdu *); +static void bstp_received_tcn(struct bstp_state *, struct bstp_port *, + struct bstp_tcn_unit *); +static void bstp_received_bpdu(struct bstp_state *, struct bstp_port *, + struct bstp_config_unit *); +static int bstp_pdu_rcvtype(struct bstp_port *, struct bstp_config_unit *); +static int bstp_pdu_bettersame(struct bstp_port *, int); +static int bstp_info_cmp(struct bstp_pri_vector *, + struct bstp_pri_vector *); +static int bstp_info_superior(struct bstp_pri_vector *, + struct bstp_pri_vector *); +static void bstp_assign_roles(struct bstp_state *); +static void bstp_update_roles(struct bstp_state *, struct bstp_port *); +static void bstp_update_state(struct bstp_state *, struct bstp_port *); +static void bstp_update_tc(struct bstp_port *); +static void bstp_update_info(struct bstp_port *); +static void bstp_set_other_tcprop(struct bstp_port *); +static void bstp_set_all_reroot(struct bstp_state *); +static void bstp_set_all_sync(struct bstp_state *); +static void bstp_set_port_state(struct bstp_port *, int); +static void bstp_set_port_role(struct bstp_port *, int); +static void bstp_set_port_proto(struct bstp_port *, int); +static void bstp_set_port_tc(struct bstp_port *, int); +static void bstp_set_timer_tc(struct bstp_port *); +static void bstp_set_timer_msgage(struct bstp_port *); +static int bstp_rerooted(struct bstp_state *, struct bstp_port *); +static uint32_t bstp_calc_path_cost(struct bstp_port *); +static void bstp_notify_state(void *, int); +static void bstp_notify_rtage(void *, int); static void bstp_ifupdstatus(struct bstp_state *, struct bstp_port *); static void bstp_enable_port(struct bstp_state *, struct bstp_port *); -static void bstp_disable_port(struct bstp_state *, - struct bstp_port *); -#ifdef notused -static void bstp_enable_change_detection(struct bstp_port *); -static void bstp_disable_change_detection(struct bstp_port *); -#endif /* notused */ -static int bstp_root_bridge(struct bstp_state *bs); -static int bstp_supersedes_port_info(struct bstp_state *, - struct bstp_port *, struct bstp_config_unit *); -static int bstp_designated_port(struct bstp_state *, - struct bstp_port *); -static int bstp_designated_for_some_port(struct bstp_state *); -static void bstp_transmit_config(struct bstp_state *, - struct bstp_port *); -static void bstp_transmit_tcn(struct bstp_state *); -static void bstp_received_config_bpdu(struct bstp_state *, - struct bstp_port *, struct bstp_config_unit *); -static void bstp_received_tcn_bpdu(struct bstp_state *, - struct bstp_port *, struct bstp_tcn_unit *); -static void bstp_record_config_information(struct bstp_state *, - struct bstp_port *, struct bstp_config_unit *); -static void bstp_record_config_timeout_values(struct bstp_state *, - struct bstp_config_unit *); -static void bstp_config_bpdu_generation(struct bstp_state *); -static void bstp_send_config_bpdu(struct bstp_state *, - struct bstp_port *, struct bstp_config_unit *); -static void bstp_configuration_update(struct bstp_state *); -static void bstp_root_selection(struct bstp_state *); -static void bstp_designated_port_selection(struct bstp_state *); -static void bstp_become_designated_port(struct bstp_state *, - struct bstp_port *); -static void bstp_port_state_selection(struct bstp_state *); -static void bstp_make_forwarding(struct bstp_state *, - struct bstp_port *); -static void bstp_make_blocking(struct bstp_state *, - struct bstp_port *); -static void bstp_set_port_state(struct bstp_port *, uint8_t); -static void bstp_state_change(void *, int); -static void bstp_update_forward_transitions(struct bstp_port *); -#ifdef notused -static void bstp_set_bridge_priority(struct bstp_state *, uint64_t); -static void bstp_set_port_priority(struct bstp_state *, - struct bstp_port *, uint16_t); -static void bstp_set_path_cost(struct bstp_state *, - struct bstp_port *, uint32_t); -#endif /* notused */ -static void bstp_topology_change_detection(struct bstp_state *); -static void bstp_topology_change_acknowledged(struct bstp_state *); -static void bstp_acknowledge_topology_change(struct bstp_state *, - struct bstp_port *); - -static void bstp_enqueue(struct ifnet *, struct mbuf *); +static void bstp_disable_port(struct bstp_state *, struct bstp_port *); static void bstp_tick(void *); static void bstp_timer_start(struct bstp_timer *, uint16_t); static void bstp_timer_stop(struct bstp_timer *); -static int bstp_timer_expired(struct bstp_timer *, uint16_t); - -static void bstp_hold_timer_expiry(struct bstp_state *, +static void bstp_timer_latch(struct bstp_timer *); +static int bstp_timer_expired(struct bstp_timer *); +static void bstp_hello_timer_expiry(struct bstp_state *, + struct bstp_port *); +static void bstp_message_age_expiry(struct bstp_state *, struct bstp_port *); -static void bstp_message_age_timer_expiry(struct bstp_state *, +static void bstp_migrate_delay_expiry(struct bstp_state *, struct bstp_port *); -static void bstp_forward_delay_timer_expiry(struct bstp_state *, +static void bstp_edge_delay_expiry(struct bstp_state *, struct bstp_port *); -static void bstp_topology_change_timer_expiry(struct bstp_state *); -static void bstp_tcn_timer_expiry(struct bstp_state *); -static void bstp_hello_timer_expiry(struct bstp_state *); static int bstp_addr_cmp(const uint8_t *, const uint8_t *); +static int bstp_same_bridgeid(uint64_t, uint64_t); +static void bstp_reinit(struct bstp_state *); +static void bstp_stop_locked(struct bstp_state *); static void -bstp_transmit_config(struct bstp_state *bs, struct bstp_port *bp) +bstp_transmit(struct bstp_state *bs, struct bstp_port *bp) { - BSTP_LOCK_ASSERT(bs); - - if (bp->bp_hold_timer.active) { - bp->bp_config_pending = 1; + /* + * a PDU can only be sent if we have tx quota left and the + * hello timer is running. + */ + if (bp->bp_hello_timer.active == 0) { + /* Test if it needs to be reset */ + bstp_hello_timer_expiry(bs, bp); return; } + if (bp->bp_txcount > bs->bs_txholdcount) + /* Ran out of karma */ + return; - bp->bp_config_bpdu.cu_message_type = BSTP_MSGTYPE_CFG; - bp->bp_config_bpdu.cu_rootid = bs->bs_designated_root; - bp->bp_config_bpdu.cu_root_path_cost = bs->bs_root_path_cost; - bp->bp_config_bpdu.cu_bridge_id = bs->bs_bridge_id; - bp->bp_config_bpdu.cu_port_id = bp->bp_port_id; + if (bp->bp_protover == BSTP_PROTO_RSTP) { + bstp_transmit_bpdu(bs, bp); + bp->bp_tc_ack = 0; + } else { /* STP */ + switch (bp->bp_role) { + case BSTP_ROLE_DESIGNATED: + bstp_transmit_bpdu(bs, bp); + bp->bp_tc_ack = 0; + break; - if (bstp_root_bridge(bs)) - bp->bp_config_bpdu.cu_message_age = 0; - else - bp->bp_config_bpdu.cu_message_age = - bs->bs_root_port->bp_message_age_timer.value + - BSTP_MESSAGE_AGE_INCR; - - bp->bp_config_bpdu.cu_max_age = bs->bs_max_age; - bp->bp_config_bpdu.cu_hello_time = bs->bs_hello_time; - bp->bp_config_bpdu.cu_forward_delay = bs->bs_forward_delay; - bp->bp_config_bpdu.cu_topology_change_acknowledgment - = bp->bp_topology_change_acknowledge; - bp->bp_config_bpdu.cu_topology_change = bs->bs_topology_change; - - if (bp->bp_config_bpdu.cu_message_age < bs->bs_max_age) { - bp->bp_topology_change_acknowledge = 0; - bp->bp_config_pending = 0; - bstp_send_config_bpdu(bs, bp, &bp->bp_config_bpdu); - bstp_timer_start(&bp->bp_hold_timer, 0); + case BSTP_ROLE_ROOT: + bstp_transmit_tcn(bs, bp); + break; + } } + bstp_timer_start(&bp->bp_hello_timer, bp->bp_desg_htime); + bp->bp_flags &= ~BSTP_PORT_NEWINFO; } static void -bstp_send_config_bpdu(struct bstp_state *bs, struct bstp_port *bp, - struct bstp_config_unit *cu) +bstp_transmit_bpdu(struct bstp_state *bs, struct bstp_port *bp) { - struct ifnet *ifp; - struct mbuf *m; - struct ether_header *eh; struct bstp_cbpdu bpdu; BSTP_LOCK_ASSERT(bs); - ifp = bp->bp_ifp; + bpdu.cbu_rootpri = htons(bp->bp_desg_pv.pv_root_id >> 48); + PV2ADDR(bp->bp_desg_pv.pv_root_id, bpdu.cbu_rootaddr); - if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) - return; + bpdu.cbu_rootpathcost = htonl(bp->bp_desg_pv.pv_cost); - MGETHDR(m, M_DONTWAIT, MT_DATA); - if (m == NULL) - return; + bpdu.cbu_bridgepri = htons(bp->bp_desg_pv.pv_dbridge_id >> 48); + PV2ADDR(bp->bp_desg_pv.pv_dbridge_id, bpdu.cbu_bridgeaddr); - eh = mtod(m, struct ether_header *); + bpdu.cbu_portid = htons(bp->bp_port_id); + bpdu.cbu_messageage = htons(bp->bp_desg_msg_age); + bpdu.cbu_maxage = htons(bp->bp_desg_max_age); + bpdu.cbu_hellotime = htons(bp->bp_desg_htime); + bpdu.cbu_forwarddelay = htons(bp->bp_desg_fdelay); - m->m_pkthdr.rcvif = ifp; - m->m_pkthdr.len = sizeof(*eh) + sizeof(bpdu); - m->m_len = m->m_pkthdr.len; + bpdu.cbu_flags = bstp_pdu_flags(bp); - bpdu.cbu_ssap = bpdu.cbu_dsap = LLC_8021D_LSAP; - bpdu.cbu_ctl = LLC_UI; - bpdu.cbu_protoid = htons(0); - bpdu.cbu_protover = 0; - bpdu.cbu_bpdutype = cu->cu_message_type; - bpdu.cbu_flags = (cu->cu_topology_change ? BSTP_FLAG_TC : 0) | - (cu->cu_topology_change_acknowledgment ? BSTP_FLAG_TCA : 0); + switch (bp->bp_protover) { + case BSTP_PROTO_STP: + bpdu.cbu_bpdutype = BSTP_MSGTYPE_CFG; + break; - bpdu.cbu_rootpri = htons(cu->cu_rootid >> 48); - bpdu.cbu_rootaddr[0] = cu->cu_rootid >> 40; - bpdu.cbu_rootaddr[1] = cu->cu_rootid >> 32; - bpdu.cbu_rootaddr[2] = cu->cu_rootid >> 24; - bpdu.cbu_rootaddr[3] = cu->cu_rootid >> 16; - bpdu.cbu_rootaddr[4] = cu->cu_rootid >> 8; - bpdu.cbu_rootaddr[5] = cu->cu_rootid >> 0; - - bpdu.cbu_rootpathcost = htonl(cu->cu_root_path_cost); - - bpdu.cbu_bridgepri = htons(cu->cu_bridge_id >> 48); - bpdu.cbu_bridgeaddr[0] = cu->cu_bridge_id >> 40; - bpdu.cbu_bridgeaddr[1] = cu->cu_bridge_id >> 32; - bpdu.cbu_bridgeaddr[2] = cu->cu_bridge_id >> 24; - bpdu.cbu_bridgeaddr[3] = cu->cu_bridge_id >> 16; - bpdu.cbu_bridgeaddr[4] = cu->cu_bridge_id >> 8; - bpdu.cbu_bridgeaddr[5] = cu->cu_bridge_id >> 0; - - bpdu.cbu_portid = htons(cu->cu_port_id); - bpdu.cbu_messageage = htons(cu->cu_message_age); - bpdu.cbu_maxage = htons(cu->cu_max_age); - bpdu.cbu_hellotime = htons(cu->cu_hello_time); - bpdu.cbu_forwarddelay = htons(cu->cu_forward_delay); - - memcpy(eh->ether_shost, IF_LLADDR(ifp), ETHER_ADDR_LEN); - memcpy(eh->ether_dhost, bstp_etheraddr, ETHER_ADDR_LEN); - eh->ether_type = htons(sizeof(bpdu)); - - memcpy(mtod(m, caddr_t) + sizeof(*eh), &bpdu, sizeof(bpdu)); - - bstp_enqueue(ifp, m); -} - -static int -bstp_root_bridge(struct bstp_state *bs) -{ - return (bs->bs_designated_root == bs->bs_bridge_id); -} - -static int -bstp_supersedes_port_info(struct bstp_state *bs, struct bstp_port *bp, - struct bstp_config_unit *cu) -{ - if (cu->cu_rootid < bp->bp_designated_root) - return (1); - if (cu->cu_rootid > bp->bp_designated_root) - return (0); - - if (cu->cu_root_path_cost < bp->bp_designated_cost) - return (1); - if (cu->cu_root_path_cost > bp->bp_designated_cost) - return (0); - - if (cu->cu_bridge_id < bp->bp_designated_bridge) - return (1); - if (cu->cu_bridge_id > bp->bp_designated_bridge) - return (0); - - if (bs->bs_bridge_id != cu->cu_bridge_id) - return (1); - if (cu->cu_port_id <= bp->bp_designated_port) - return (1); - return (0); -} - -static void -bstp_record_config_information(struct bstp_state *bs, - struct bstp_port *bp, struct bstp_config_unit *cu) -{ - BSTP_LOCK_ASSERT(bs); - - bp->bp_designated_root = cu->cu_rootid; - bp->bp_designated_cost = cu->cu_root_path_cost; - bp->bp_designated_bridge = cu->cu_bridge_id; - bp->bp_designated_port = cu->cu_port_id; - bstp_timer_start(&bp->bp_message_age_timer, cu->cu_message_age); -} - -static void -bstp_record_config_timeout_values(struct bstp_state *bs, - struct bstp_config_unit *config) -{ - BSTP_LOCK_ASSERT(bs); - - bs->bs_max_age = config->cu_max_age; - bs->bs_hello_time = config->cu_hello_time; - bs->bs_forward_delay = config->cu_forward_delay; - bs->bs_topology_change = config->cu_topology_change; -} - -static void -bstp_config_bpdu_generation(struct bstp_state *bs) -{ - struct bstp_port *bp; - - BSTP_LOCK_ASSERT(bs); - - LIST_FOREACH(bp, &bs->bs_bplist, bp_next) { - if (bstp_designated_port(bs, bp) && - (bp->bp_state != BSTP_IFSTATE_DISABLED)) - bstp_transmit_config(bs, bp); + case BSTP_PROTO_RSTP: + bpdu.cbu_bpdutype = BSTP_MSGTYPE_RSTP; + break; } -} -static int -bstp_designated_port(struct bstp_state *bs, struct bstp_port *bp) -{ - return ((bp->bp_designated_bridge == bs->bs_bridge_id) - && (bp->bp_designated_port == bp->bp_port_id)); + bstp_send_bpdu(bs, bp, &bpdu); } static void -bstp_transmit_tcn(struct bstp_state *bs) +bstp_transmit_tcn(struct bstp_state *bs, struct bstp_port *bp) { struct bstp_tbpdu bpdu; - struct bstp_port *bp = bs->bs_root_port; struct ifnet *ifp = bp->bp_ifp; struct ether_header *eh; struct mbuf *m; - BSTP_LOCK_ASSERT(bs); + KASSERT(bp == bs->bs_root_port, ("%s: bad root port\n", __func__)); if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) return; @@ -358,234 +254,205 @@ memcpy(mtod(m, caddr_t) + sizeof(*eh), &bpdu, sizeof(bpdu)); + bp->bp_txcount++; bstp_enqueue(ifp, m); } static void -bstp_configuration_update(struct bstp_state *bs) +bstp_decode_bpdu(struct bstp_port *bp, struct bstp_cbpdu *cpdu, + struct bstp_config_unit *cu) { - BSTP_LOCK_ASSERT(bs); + int flags; - bstp_root_selection(bs); - bstp_designated_port_selection(bs); -} + cu->cu_pv.pv_root_id = + (((uint64_t)ntohs(cpdu->cbu_rootpri)) << 48) | + (((uint64_t)cpdu->cbu_rootaddr[0]) << 40) | + (((uint64_t)cpdu->cbu_rootaddr[1]) << 32) | + (((uint64_t)cpdu->cbu_rootaddr[2]) << 24) | + (((uint64_t)cpdu->cbu_rootaddr[3]) << 16) | + (((uint64_t)cpdu->cbu_rootaddr[4]) << 8) | + (((uint64_t)cpdu->cbu_rootaddr[5]) << 0); -static void -bstp_root_selection(struct bstp_state *bs) -{ - struct bstp_port *root_port = NULL, *bp; + cu->cu_pv.pv_dbridge_id = + (((uint64_t)ntohs(cpdu->cbu_bridgepri)) << 48) | + (((uint64_t)cpdu->cbu_bridgeaddr[0]) << 40) | + (((uint64_t)cpdu->cbu_bridgeaddr[1]) << 32) | + (((uint64_t)cpdu->cbu_bridgeaddr[2]) << 24) | + (((uint64_t)cpdu->cbu_bridgeaddr[3]) << 16) | + (((uint64_t)cpdu->cbu_bridgeaddr[4]) << 8) | + (((uint64_t)cpdu->cbu_bridgeaddr[5]) << 0); - BSTP_LOCK_ASSERT(bs); + cu->cu_pv.pv_cost = ntohl(cpdu->cbu_rootpathcost); + cu->cu_message_age = ntohs(cpdu->cbu_messageage); + cu->cu_max_age = ntohs(cpdu->cbu_maxage); + cu->cu_hello_time = ntohs(cpdu->cbu_hellotime); + cu->cu_forward_delay = ntohs(cpdu->cbu_forwarddelay); + cu->cu_pv.pv_dport_id = ntohs(cpdu->cbu_portid); + cu->cu_pv.pv_port_id = bp->bp_port_id; + cu->cu_message_type = cpdu->cbu_bpdutype; - LIST_FOREACH(bp, &bs->bs_bplist, bp_next) { - if (bstp_designated_port(bs, bp)) - continue; - if (bp->bp_state == BSTP_IFSTATE_DISABLED) - continue; - if (bp->bp_designated_root >= bs->bs_bridge_id) - continue; - if (root_port == NULL) - goto set_port; + /* Strip off unused flags in STP mode */ + flags = cpdu->cbu_flags; + switch (cpdu->cbu_protover) { + case BSTP_PROTO_STP: + flags &= BSTP_PDU_STPMASK; + /* A STP BPDU explicitly conveys a Designated Port */ + cu->cu_role = BSTP_ROLE_DESIGNATED; + break; - if (bp->bp_designated_root < root_port->bp_designated_root) - goto set_port; - if (bp->bp_designated_root > root_port->bp_designated_root) - continue; + case BSTP_PROTO_RSTP: + flags &= BSTP_PDU_RSTPMASK; + break; + } - if ((bp->bp_designated_cost + bp->bp_path_cost) < - (root_port->bp_designated_cost + root_port->bp_path_cost)) - goto set_port; - if ((bp->bp_designated_cost + bp->bp_path_cost) > - (root_port->bp_designated_cost + root_port->bp_path_cost)) - continue; + cu->cu_topology_change_ack = + (flags & BSTP_PDU_F_TCA) ? 1 : 0; + cu->cu_proposal = + (flags & BSTP_PDU_F_P) ? 1 : 0; + cu->cu_agree = + (flags & BSTP_PDU_F_A) ? 1 : 0; + cu->cu_learning = + (flags & BSTP_PDU_F_L) ? 1 : 0; + cu->cu_forwarding = + (flags & BSTP_PDU_F_F) ? 1 : 0; + cu->cu_topology_change = + (flags & BSTP_PDU_F_TC) ? 1 : 0; - if (bp->bp_designated_bridge < - root_port->bp_designated_bridge) - goto set_port; - if (bp->bp_designated_bridge > - root_port->bp_designated_bridge) - continue; - - if (bp->bp_designated_port < root_port->bp_designated_port) - goto set_port; - if (bp->bp_designated_port > root_port->bp_designated_port) - continue; - - if (bp->bp_port_id >= root_port->bp_port_id) - continue; -set_port: - root_port = bp; + switch ((flags & BSTP_PDU_PRMASK) >> BSTP_PDU_PRSHIFT) { + case BSTP_PDU_F_ROOT: + cu->cu_role = BSTP_ROLE_ROOT; + break; + case BSTP_PDU_F_ALT: + cu->cu_role = BSTP_ROLE_ALTERNATE; + break; + case BSTP_PDU_F_DESG: + cu->cu_role = BSTP_ROLE_DESIGNATED; + break; } - - bs->bs_root_port = root_port; - if (root_port == NULL) { - bs->bs_designated_root = bs->bs_bridge_id; - bs->bs_root_path_cost = 0; - } else { - bs->bs_designated_root = root_port->bp_designated_root; - bs->bs_root_path_cost = root_port->bp_designated_cost + - root_port->bp_path_cost; - } } static void -bstp_designated_port_selection(struct bstp_state *bs) +bstp_send_bpdu(struct bstp_state *bs, struct bstp_port *bp, + struct bstp_cbpdu *bpdu) { - struct bstp_port *bp; + struct ifnet *ifp; + struct mbuf *m; + struct ether_header *eh; BSTP_LOCK_ASSERT(bs); - LIST_FOREACH(bp, &bs->bs_bplist, bp_next) { - if (bstp_designated_port(bs, bp)) - goto designated; - if (bp->bp_designated_root != bs->bs_designated_root) - goto designated; + ifp = bp->bp_ifp; - if (bs->bs_root_path_cost < bp->bp_designated_cost) - goto designated; - if (bs->bs_root_path_cost > bp->bp_designated_cost) - continue; + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + return; - if (bs->bs_bridge_id < bp->bp_designated_bridge) - goto designated; - if (bs->bs_bridge_id > bp->bp_designated_bridge) - continue; + MGETHDR(m, M_DONTWAIT, MT_DATA); + if (m == NULL) + return; - if (bp->bp_port_id > bp->bp_designated_port) - continue; -designated: - bstp_become_designated_port(bs, bp); - } -} + eh = mtod(m, struct ether_header *); -static void -bstp_become_designated_port(struct bstp_state *bs, struct bstp_port *bp) -{ - BSTP_LOCK_ASSERT(bs); + bpdu->cbu_ssap = bpdu->cbu_dsap = LLC_8021D_LSAP; + bpdu->cbu_ctl = LLC_UI; + bpdu->cbu_protoid = htons(BSTP_PROTO_ID); - bp->bp_designated_root = bs->bs_designated_root; - bp->bp_designated_cost = bs->bs_root_path_cost; - bp->bp_designated_bridge = bs->bs_bridge_id; - bp->bp_designated_port = bp->bp_port_id; -} + memcpy(eh->ether_shost, IF_LLADDR(ifp), ETHER_ADDR_LEN); + memcpy(eh->ether_dhost, bstp_etheraddr, ETHER_ADDR_LEN); -static void -bstp_port_state_selection(struct bstp_state *bs) -{ - struct bstp_port *bp; + switch (bpdu->cbu_bpdutype) { + case BSTP_MSGTYPE_CFG: + bpdu->cbu_protover = BSTP_PROTO_STP; + m->m_pkthdr.len = sizeof(*eh) + BSTP_BPDU_STP_LEN; + eh->ether_type = htons(BSTP_BPDU_STP_LEN); + memcpy(mtod(m, caddr_t) + sizeof(*eh), bpdu, + BSTP_BPDU_STP_LEN); + break; - BSTP_LOCK_ASSERT(bs); + case BSTP_MSGTYPE_RSTP: + bpdu->cbu_protover = BSTP_PROTO_RSTP; + bpdu->cbu_versionlen = htons(0); + m->m_pkthdr.len = sizeof(*eh) + BSTP_BPDU_RSTP_LEN; + eh->ether_type = htons(BSTP_BPDU_RSTP_LEN); + memcpy(mtod(m, caddr_t) + sizeof(*eh), bpdu, + BSTP_BPDU_RSTP_LEN); + break; - LIST_FOREACH(bp, &bs->bs_bplist, bp_next) { - if (bp == bs->bs_root_port) { - bp->bp_config_pending = 0; - bp->bp_topology_change_acknowledge = 0; - bstp_make_forwarding(bs, bp); - } else if (bstp_designated_port(bs, bp)) { - bstp_timer_stop(&bp->bp_message_age_timer); - bstp_make_forwarding(bs, bp); - } else { - bp->bp_config_pending = 0; - bp->bp_topology_change_acknowledge = 0; - bstp_make_blocking(bs, bp); - } + default: + panic("not implemented"); } + m->m_pkthdr.rcvif = ifp; + m->m_len = m->m_pkthdr.len; + + bp->bp_txcount++; + bstp_enqueue(ifp, m); } static void -bstp_make_forwarding(struct bstp_state *bs, struct bstp_port *bp) +bstp_enqueue(struct ifnet *dst_ifp, struct mbuf *m) { - BSTP_LOCK_ASSERT(bs); + int err = 0; - if (bp->bp_state == BSTP_IFSTATE_BLOCKING) { - bstp_set_port_state(bp, BSTP_IFSTATE_LISTENING); - bstp_timer_start(&bp->bp_forward_delay_timer, 0); - } -} + IFQ_ENQUEUE(&dst_ifp->if_snd, m, err); -static void -bstp_make_blocking(struct bstp_state *bs, struct bstp_port *bp) -{ - BSTP_LOCK_ASSERT(bs); - - if ((bp->bp_state != BSTP_IFSTATE_DISABLED) && - (bp->bp_state != BSTP_IFSTATE_BLOCKING)) { - if ((bp->bp_state == BSTP_IFSTATE_FORWARDING) || - (bp->bp_state == BSTP_IFSTATE_LEARNING)) { - if (bp->bp_change_detection_enabled) { - bstp_topology_change_detection(bs); - } - } - bstp_set_port_state(bp, BSTP_IFSTATE_BLOCKING); - bstp_timer_stop(&bp->bp_forward_delay_timer); - } + if ((dst_ifp->if_drv_flags & IFF_DRV_OACTIVE) == 0) + (*dst_ifp->if_start)(dst_ifp); } -static void -bstp_set_port_state(struct bstp_port *bp, uint8_t state) +static int +bstp_pdu_flags(struct bstp_port *bp) { - struct bstp_state *bs = bp->bp_bs; + int flags = 0; - bp->bp_state = state; + if (bp->bp_proposing && bp->bp_state != BSTP_IFSTATE_FORWARDING) + flags |= BSTP_PDU_F_P; - /* notify the parent bridge */ - if (bs->bs_state_cb != NULL) - taskqueue_enqueue(taskqueue_swi, &bp->bp_statetask); -} + if (bp->bp_agree) + flags |= BSTP_PDU_F_A; -/* - * Notify the bridge that a port state has changed, we need to do this from a - * taskqueue to avoid a LOR. - */ -static void -bstp_state_change(void *arg, int pending) -{ - struct bstp_port *bp = (struct bstp_port *)arg; - struct bstp_state *bs = bp->bp_bs; + if (bp->bp_tc_timer.active) + flags |= BSTP_PDU_F_TC; - if (bp->bp_active == 1) - (*bs->bs_state_cb)(bp->bp_ifp, bp->bp_state); -} + if (bp->bp_tc_ack) + flags |= BSTP_PDU_F_TCA; -static void -bstp_update_forward_transitions(struct bstp_port *bp) -{ - bp->bp_forward_transitions++; -} + switch (bp->bp_state) { + case BSTP_IFSTATE_LEARNING: + flags |= BSTP_PDU_F_L; + break; -static void -bstp_topology_change_detection(struct bstp_state *bs) -{ - BSTP_LOCK_ASSERT(bs); - - if (bstp_root_bridge(bs)) { - bs->bs_topology_change = 1; - bstp_timer_start(&bs->bs_topology_change_timer, 0); - } else if (!bs->bs_topology_change_detected) { - bstp_transmit_tcn(bs); - bstp_timer_start(&bs->bs_tcn_timer, 0); + case BSTP_IFSTATE_FORWARDING: + flags |= (BSTP_PDU_F_L | BSTP_PDU_F_F); + break; } - bs->bs_topology_change_detected = 1; - getmicrotime(&bs->bs_last_tc_time); -} -static void -bstp_topology_change_acknowledged(struct bstp_state *bs) -{ - BSTP_LOCK_ASSERT(bs); + switch (bp->bp_role) { + case BSTP_ROLE_ROOT: + flags |= + (BSTP_PDU_F_ROOT << BSTP_PDU_PRSHIFT); + break; - bs->bs_topology_change_detected = 0; - bstp_timer_stop(&bs->bs_tcn_timer); -} + case BSTP_ROLE_ALTERNATE: + case BSTP_ROLE_BACKUP: /* fall through */ + flags |= + (BSTP_PDU_F_ALT << BSTP_PDU_PRSHIFT); + break; -static void -bstp_acknowledge_topology_change(struct bstp_state *bs, - struct bstp_port *bp) -{ - BSTP_LOCK_ASSERT(bs); + case BSTP_ROLE_DESIGNATED: + flags |= + (BSTP_PDU_F_DESG << BSTP_PDU_PRSHIFT); + break; + } - bp->bp_topology_change_acknowledge = 1; - bstp_transmit_config(bs, bp); + /* Strip off unused flags in either mode */ + switch (bp->bp_protover) { + case BSTP_PROTO_STP: + flags &= BSTP_PDU_STPMASK; + break; + case BSTP_PROTO_RSTP: + flags &= BSTP_PDU_RSTPMASK; + break; + } + return (flags); } struct mbuf * @@ -594,9 +461,6 @@ struct bstp_state *bs = bp->bp_bs; struct ether_header *eh; struct bstp_tbpdu tpdu; - struct bstp_cbpdu cpdu; - struct bstp_config_unit cu; - struct bstp_tcn_unit tu; uint16_t len; if (bp->bp_active == 0) { @@ -622,59 +486,46 @@ memcpy(&tpdu, mtod(m, caddr_t), sizeof(tpdu)); + /* basic packet checks */ if (tpdu.tbu_dsap != LLC_8021D_LSAP || tpdu.tbu_ssap != LLC_8021D_LSAP || tpdu.tbu_ctl != LLC_UI) goto out; - if (tpdu.tbu_protoid != 0 || tpdu.tbu_protover != 0) + if (tpdu.tbu_protoid != BSTP_PROTO_ID) goto out; - switch (tpdu.tbu_bpdutype) { - case BSTP_MSGTYPE_TCN: - tu.tu_message_type = tpdu.tbu_bpdutype; - bstp_received_tcn_bpdu(bs, bp, &tu); - break; - case BSTP_MSGTYPE_CFG: - if (m->m_len < sizeof(cpdu) && - (m = m_pullup(m, sizeof(cpdu))) == NULL) + /* + * We can treat later versions of the PDU as the same as the maximum + * version we implement. All additional parameters/flags are ignored. + */ + if (tpdu.tbu_protover > BSTP_PROTO_MAX) + tpdu.tbu_protover = BSTP_PROTO_MAX; + + if (tpdu.tbu_protover != bp->bp_protover) { + /* + * Wait for the migration delay timer to expire before changing + * protocol version to avoid flip-flops. + */ + if (bp->bp_flags & BSTP_PORT_CANMIGRATE) + bstp_set_port_proto(bp, tpdu.tbu_protover); + else goto out; - memcpy(&cpdu, mtod(m, caddr_t), sizeof(cpdu)); + } - cu.cu_rootid = - (((uint64_t)ntohs(cpdu.cbu_rootpri)) << 48) | - (((uint64_t)cpdu.cbu_rootaddr[0]) << 40) | - (((uint64_t)cpdu.cbu_rootaddr[1]) << 32) | - (((uint64_t)cpdu.cbu_rootaddr[2]) << 24) | - (((uint64_t)cpdu.cbu_rootaddr[3]) << 16) | - (((uint64_t)cpdu.cbu_rootaddr[4]) << 8) | - (((uint64_t)cpdu.cbu_rootaddr[5]) << 0); + /* Clear operedge upon receiving a PDU on the port */ + bp->bp_operedge = 0; + bstp_timer_start(&bp->bp_edge_delay_timer, + BSTP_DEFAULT_MIGRATE_DELAY); - cu.cu_bridge_id = - (((uint64_t)ntohs(cpdu.cbu_bridgepri)) << 48) | - (((uint64_t)cpdu.cbu_bridgeaddr[0]) << 40) | - (((uint64_t)cpdu.cbu_bridgeaddr[1]) << 32) | - (((uint64_t)cpdu.cbu_bridgeaddr[2]) << 24) | - (((uint64_t)cpdu.cbu_bridgeaddr[3]) << 16) | - (((uint64_t)cpdu.cbu_bridgeaddr[4]) << 8) | - (((uint64_t)cpdu.cbu_bridgeaddr[5]) << 0); + switch (tpdu.tbu_protover) { + case BSTP_PROTO_STP: + bstp_received_stp(bs, bp, m, &tpdu); + break; - cu.cu_root_path_cost = ntohl(cpdu.cbu_rootpathcost); - cu.cu_message_age = ntohs(cpdu.cbu_messageage); - cu.cu_max_age = ntohs(cpdu.cbu_maxage); - cu.cu_hello_time = ntohs(cpdu.cbu_hellotime); - cu.cu_forward_delay = ntohs(cpdu.cbu_forwarddelay); - cu.cu_port_id = ntohs(cpdu.cbu_portid); - cu.cu_message_type = cpdu.cbu_bpdutype; - cu.cu_topology_change_acknowledgment = - (cpdu.cbu_flags & BSTP_FLAG_TCA) ? 1 : 0; - cu.cu_topology_change = - (cpdu.cbu_flags & BSTP_FLAG_TC) ? 1 : 0; - bstp_received_config_bpdu(bs, bp, &cu); - break; - default: - goto out; + case BSTP_PROTO_RSTP: + bstp_received_rstp(bs, bp, m, &tpdu); + break; } - out: BSTP_UNLOCK(bs); if (m) @@ -683,441 +534,1199 @@ } static void -bstp_received_config_bpdu(struct bstp_state *bs, struct bstp_port *bp, +bstp_received_stp(struct bstp_state *bs, struct bstp_port *bp, + struct mbuf *m, struct bstp_tbpdu *tpdu) +{ + struct bstp_cbpdu cpdu; + struct bstp_config_unit *cu = &bp->bp_msg_cu; + struct bstp_tcn_unit tu; + + switch (tpdu->tbu_bpdutype) { + case BSTP_MSGTYPE_TCN: + tu.tu_message_type = tpdu->tbu_bpdutype; + bstp_received_tcn(bs, bp, &tu); + break; + case BSTP_MSGTYPE_CFG: + if (m->m_len < BSTP_BPDU_STP_LEN && + (m = m_pullup(m, BSTP_BPDU_STP_LEN)) == NULL) + return; + memcpy(&cpdu, mtod(m, caddr_t), BSTP_BPDU_STP_LEN); + + bstp_decode_bpdu(bp, &cpdu, cu); + bstp_received_bpdu(bs, bp, cu); + break; + } +} + +static void +bstp_received_rstp(struct bstp_state *bs, struct bstp_port *bp, + struct mbuf *m, struct bstp_tbpdu *tpdu) +{ + struct bstp_cbpdu cpdu; + struct bstp_config_unit *cu = &bp->bp_msg_cu; + + if (tpdu->tbu_bpdutype != BSTP_MSGTYPE_RSTP) { + m_freem(m); + return; + } + + if (m->m_len < BSTP_BPDU_RSTP_LEN && + (m = m_pullup(m, BSTP_BPDU_RSTP_LEN)) == NULL) + return; + memcpy(&cpdu, mtod(m, caddr_t), BSTP_BPDU_RSTP_LEN); + + bstp_decode_bpdu(bp, &cpdu, cu); + bstp_received_bpdu(bs, bp, cu); +} + +static void +bstp_received_tcn(struct bstp_state *bs, struct bstp_port *bp, + struct bstp_tcn_unit *tcn) +{ + bp->bp_rcvdtcn = 1; + bstp_update_tc(bp); +} + +static void +bstp_received_bpdu(struct bstp_state *bs, struct bstp_port *bp, struct bstp_config_unit *cu) { - int root; + int type; BSTP_LOCK_ASSERT(bs); - root = bstp_root_bridge(bs); + /* We need to have transitioned to INFO_MINE before proceeding */ + switch (bp->bp_infois) { + case BSTP_INFO_DISABLED: + case BSTP_INFO_AGED: + return; + } + + type = bstp_pdu_rcvtype(bp, cu); + + switch (type) { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Nov 1 14:19:28 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DE02A16A4C2; Wed, 1 Nov 2006 14:19:27 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 A874016A4AB for ; Wed, 1 Nov 2006 14:19:27 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7630543D46 for ; Wed, 1 Nov 2006 14:19:27 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA1EJR7F038299 for ; Wed, 1 Nov 2006 14:19:27 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA1EJQ54038296 for perforce@freebsd.org; Wed, 1 Nov 2006 14:19:26 GMT (envelope-from piso@freebsd.org) Date: Wed, 1 Nov 2006 14:19:26 GMT Message-Id: <200611011419.kA1EJQ54038296@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 108917 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 14:19:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=108917 Change 108917 by piso@piso_newluxor on 2006/11/01 14:18:45 -back out the #ifdef LIBALIAS ... #endif stuff: libalias + nat support add ~120kb to the total kernel size (if both are compiled in), and i guess people can live with that. If someone with _real_ size constraint complains, i'll take a second look at it. -wrap lines at 80 and fix spacing Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#26 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#26 (text+ko) ==== @@ -138,9 +138,7 @@ struct ip_fw_chain { struct ip_fw *rules; /* list of rules */ struct ip_fw *reap; /* list of rules to reap */ -#ifdef LIBALIAS LIST_HEAD(, cfg_nat) nat; /* list of nat entries */ -#endif struct radix_node_head *tables[IPFW_TABLES_MAX]; struct rwlock rwmtx; }; @@ -2032,7 +2030,6 @@ return match; } -#ifdef LIBALIAS static eventhandler_tag ifaddr_event_tag; static void @@ -2053,7 +2050,7 @@ continue; ptr->ip = ((struct sockaddr_in *) (ifa->ifa_addr))->sin_addr; - LibAliasSetAddress(ptr->lib, ptr->ip); + LibAliasSetAddress(ptr->lib, ptr->ip); } mtx_unlock(&ifp->if_addr_mtx); } @@ -2168,14 +2165,17 @@ u_short remotePortCopy = r->rport + i; if (r->rport_cnt == 1 && r->rport == 0) remotePortCopy = 0; - r->alink[i] = LibAliasRedirectPort (ptr->lib, r->laddr, - htons(r->lport + i), - r->raddr, - htons(remotePortCopy), - r->paddr, - htons(r->pport + i), - r->proto); - if (r->alink[i] == NULL) { + r->alink[i] = + LibAliasRedirectPort( + ptr->lib, + r->laddr, + htons(r->lport + i), + r->raddr, + htons(remotePortCopy), + r->paddr, + htons(r->pport + i), + r->proto); + if (r->alink[i] == NULL) { r->alink[0] = NULL; break; } @@ -2186,7 +2186,7 @@ r->laddr, r->raddr, r->paddr, - r->proto); + r->proto); break; default: printf("unknown redirect mode: %u\n", r->mode); @@ -2198,7 +2198,8 @@ } else /* LSNAT handling. */ for (i = 0; i < r->spool_cnt; i++) { ser_s = (struct cfg_spool *)&buf[off]; - s = malloc(sof_redir, M_IPFW, M_WAITOK | M_ZERO); + s = malloc(sof_redir, M_IPFW, + M_WAITOK | M_ZERO); memcpy(s, ser_s, sof_spool); LibAliasAddServer(ptr->lib, r->alink[0], s->addr, @@ -2215,7 +2216,6 @@ /* something really bad happened: panic! */ panic("%s\n", panic_err); } -#endif /* * The main check routine for the firewall. @@ -3439,7 +3439,7 @@ retval = (cmd->opcode == O_NETGRAPH) ? IP_FW_NETGRAPH : IP_FW_NGTEE; goto done; -#ifdef LIBALIAS + case O_NAT: { struct cfg_nat *t; struct mbuf *mcl; @@ -3449,55 +3449,72 @@ args->rule = f; /* Report matching rule. */ retval = 0; - t = ((ipfw_insn_nat *)cmd)->nat; + t = ((ipfw_insn_nat *)cmd)->nat; if (t == NULL) { t = lookup_nat(cmd->arg1); if (t == NULL) { retval = IP_FW_DENY; goto done; } else - ((ipfw_insn_nat *)cmd)->nat = t; + ((ipfw_insn_nat *)cmd)->nat = + t; } - if ((mcl = m_megapullup(m, m->m_pkthdr.len)) == NULL) + if ((mcl = m_megapullup(m, m->m_pkthdr.len)) == + NULL) goto badnat; ip = mtod(mcl, struct ip *); if (args->eh == NULL) { ip->ip_len = htons(ip->ip_len); - ip->ip_off = htons(ip->ip_off); + ip->ip_off = htons(ip->ip_off); } /* - * XXX - Libalias checksum offload 'duct tape': + * XXX - Libalias checksum offload 'duct tape': * - * locally generated packets have only pseudo-header - * checksum calculated and libalias will screw it[1], + * locally generated packets have only + * pseudo-header + * checksum calculated and libalias will + screw it[1], * so mark them for later fix. - * Moreover there are cases when libalias modify tcp + * Moreover there are cases when libalias + modify tcp * packet data[2], mark it for later fix too. * - * [1] libalias was never meant to run in kernel, so - * it doesn't have any knowledge about checksum - * offloading, and it expects a packet with a full + * [1] libalias was never meant to run in + kernel, so + * it doesn't have any knowledge about + checksum + * offloading, and it expects a packet with + a full * internet checksum. Unfortunately, packets * generated locally will have just the pseudo - * header calculated, and when libalias tries to - * adjust the checksum it will actually screw it. + * header calculated, and when libalias tries + to + * adjust the checksum it will actually screw + it. * - * [2] when libalias modify tcp's data content, + * [2] when libalias modify tcp's data content, * full TCP checksum has to be recomputed: - * the problem is that libalias doesn't have any + * the problem is that libalias doesn't have + any * idea about checksum offloading - * To workaround this, we do not do checksumming - * in LibAlias, but only mark the packets in th_x2 + * To workaround this, we do not do + checksumming + * in LibAlias, but only mark the packets in + th_x2 * field. If we receive a marked packet, we * calculate correct checksum for it aware of * offloading. * Why such a terrible hack instead of * recalculating checksum for each packet? - * Because the previous checksum was not checked! - * Recalculating checksums for EVERY packet will - * hide ALL transmission errors. Yes, marked packets - * still suffer from this problem. But, sigh, natd(8) + * Because the previous checksum was not + checked! + * Recalculating checksums for EVERY packet + will + * hide ALL transmission errors. Yes, marked + packets + * still suffer from this problem. But, sigh, + natd(8) * has this problem, too. * * TODO: @@ -3506,15 +3523,17 @@ */ if (mcl->m_pkthdr.rcvif == NULL && - mcl->m_pkthdr.csum_flags & CSUM_DELAY_DATA) { + mcl->m_pkthdr.csum_flags & + CSUM_DELAY_DATA) ldt = 1; - } c = mtod(mcl, char *); if (oif == NULL) - retval = LibAliasIn(t->lib, c, MCLBYTES); + retval = LibAliasIn(t->lib, c, + MCLBYTES); else - retval = LibAliasOut(t->lib, c, MCLBYTES); + retval = LibAliasOut(t->lib, c, + MCLBYTES); if (retval != PKT_ALIAS_OK) { /* XXX - should i add some logging? */ m_free(mcl); @@ -3523,7 +3542,8 @@ retval = IP_FW_DENY; goto done; } - mcl->m_pkthdr.len = mcl->m_len = ntohs(ip->ip_len); + mcl->m_pkthdr.len = mcl->m_len = + ntohs(ip->ip_len); /* * XXX - libalias checksum offload @@ -3532,10 +3552,11 @@ if ((ip->ip_off & htons(IP_OFFMASK)) == 0 && ip->ip_p == IPPROTO_TCP) { - struct tcphdr *th = (struct tcphdr *)(ip + 1); - + struct tcphdr *th; + + th = (struct tcphdr *)(ip + 1); if (th->th_x2) - ldt = 1; + ldt = 1; } if (ldt) { @@ -3544,49 +3565,58 @@ u_short cksum; ip->ip_len = ntohs(ip->ip_len); - cksum = in_pseudo( + cksum = in_pseudo( ip->ip_src.s_addr, ip->ip_dst.s_addr, - htons(ip->ip_p + ip->ip_len - (ip->ip_hl << 2)) + htons(ip->ip_p + ip->ip_len - + (ip->ip_hl << 2)) ); switch (ip->ip_p) { case IPPROTO_TCP: th = (struct tcphdr *)(ip + 1); - /* Maybe it was set in libalias... */ + /* + * Maybe it was set in + * libalias... + */ th->th_x2 = 0; th->th_sum = cksum; mcl->m_pkthdr.csum_data = - offsetof(struct tcphdr, + offsetof(struct tcphdr, th_sum); break; case IPPROTO_UDP: uh = (struct udphdr *)(ip + 1); uh->uh_sum = cksum; mcl->m_pkthdr.csum_data = - offsetof(struct udphdr, + offsetof(struct udphdr, uh_sum); break; } - /* No hw checksum offloading: do it by ourself. */ - if ((mcl->m_pkthdr.csum_flags & CSUM_DELAY_DATA) == 0) { + /* + * No hw checksum offloading: do it + * by ourself. + */ + if ((mcl->m_pkthdr.csum_flags & + CSUM_DELAY_DATA) == 0) { in_delayed_cksum(mcl); - mcl->m_pkthdr.csum_flags &= ~CSUM_DELAY_DATA; + mcl->m_pkthdr.csum_flags &= + ~CSUM_DELAY_DATA; } ip->ip_len = htons(ip->ip_len); } if (args->eh == NULL) { ip->ip_len = ntohs(ip->ip_len); - ip->ip_off = ntohs(ip->ip_off); + ip->ip_off = ntohs(ip->ip_off); } args->m = mcl; retval = IP_FW_NAT; goto done; } -#endif + default: panic("-- unknown opcode %d\n", cmd->opcode); } /* end of switch() on opcodes */ @@ -4533,7 +4563,7 @@ free(tbl, M_TEMP); } break; -#ifdef LIBALIAS + case IP_FW_NAT_CFG: { struct cfg_nat *ptr, *ser_n; @@ -4541,15 +4571,17 @@ buf = malloc(NAT_BUF_LEN, M_IPFW, M_WAITOK | M_ZERO); - error = sooptcopyin(sopt, buf, NAT_BUF_LEN, sizeof(struct cfg_nat)); + error = sooptcopyin(sopt, buf, NAT_BUF_LEN, + sizeof(struct cfg_nat)); ser_n = (struct cfg_nat *)buf; /* * Find/create nat rule. */ IPFW_WLOCK(&layer3_chain); - ptr = lookup_nat(ser_n->id); - if (ptr == NULL) { /* New rule: allocate and init new instance. */ + ptr = lookup_nat(ser_n->id); + if (ptr == NULL) { + /* New rule: allocate and init new instance. */ ptr = malloc(sizeof(struct cfg_nat), M_IPFW, M_NOWAIT | M_ZERO); if (ptr == NULL) { @@ -4561,13 +4593,14 @@ if (ptr->lib == NULL) { free(ptr, M_IPFW); free(buf, M_IPFW); - IPFW_WUNLOCK(&layer3_chain); + IPFW_WUNLOCK(&layer3_chain); return(EINVAL); } LIST_INIT(&ptr->redir_chain); - } else { /* Entry already present: temporarly unhook it. */ + } else { + /* Entry already present: temporarly unhook it. */ UNHOOK_NAT(ptr); - flush_nat_ptrs(ser_n->id); + flush_nat_ptrs(ser_n->id); } IPFW_WUNLOCK(&layer3_chain); @@ -4576,7 +4609,8 @@ */ ptr->id = ser_n->id; /* - * XXX - what if this rule doesn't nat any ip and just redirect? + * XXX - what if this rule doesn't nat any ip and just + * redirect? * do we set aliasaddress to 0.0.0.0? */ ptr->ip = ser_n->ip; @@ -4584,14 +4618,15 @@ ptr->mode = ser_n->mode; LibAliasSetMode(ptr->lib, ser_n->mode, ser_n->mode); LibAliasSetAddress(ptr->lib, ptr->ip); - memcpy(ptr->if_name, ser_n->if_name, IF_NAMESIZE); + memcpy(ptr->if_name, ser_n->if_name, IF_NAMESIZE); /* * Redir and LSNAT configuration. */ - del_redir_spool_cfg(ptr, &ptr->redir_chain); /* Delete old cfgs. */ - add_redir_spool_cfg(&buf[(sizeof(struct cfg_nat))], - ptr); /* Add new entries. */ + /* Delete old cfgs. */ + del_redir_spool_cfg(ptr, &ptr->redir_chain); + /* Add new entries. */ + add_redir_spool_cfg(&buf[(sizeof(struct cfg_nat))], ptr); free(buf, M_IPFW); IPFW_WLOCK(&layer3_chain); HOOK_NAT(&layer3_chain.nat, ptr); @@ -4643,11 +4678,16 @@ off += sof_nat; LIST_FOREACH(r, &n->redir_chain, _next) { if (off + sof_redir < NAT_BUF_LEN) { - bcopy(r, &data[off], sof_redir); + bcopy(r, &data[off], + sof_redir); off += sof_redir; - LIST_FOREACH(s, &r->spool_chain, _next) { - if (off + sof_spool < NAT_BUF_LEN) { - bcopy(s, &data[off], sof_spool); + LIST_FOREACH(s, + &r->spool_chain, + _next) { + if (off + sof_spool < + NAT_BUF_LEN) { + bcopy(s, &data[off], + sof_spool); off += sof_spool; } else goto nospace; @@ -4665,7 +4705,8 @@ break; nospace: IPFW_RUNLOCK(&layer3_chain); - printf("serialized data buffer not big enough: please increase NAT_BUF_LEN\n"); + printf("serialized data buffer not big enough:" + "please increase NAT_BUF_LEN\n"); free(data, M_IPFW); } break; @@ -4699,7 +4740,7 @@ free(data, M_IPFW); } break; -#endif + default: printf("ipfw: ipfw_ctl invalid option %d\n", sopt->sopt_name); error = EINVAL; @@ -4872,11 +4913,9 @@ ip_fw_ctl_ptr = ipfw_ctl; ip_fw_chk_ptr = ipfw_chk; callout_reset(&ipfw_timeout, hz, ipfw_tick, NULL); -#ifdef LIBALIAS LIST_INIT(&layer3_chain.nat); ifaddr_event_tag = EVENTHANDLER_REGISTER(ifaddr_event, ifaddr_change, NULL, EVENTHANDLER_PRI_ANY); -#endif return (0); } @@ -4884,16 +4923,13 @@ ipfw_destroy(void) { struct ip_fw *reap; -#ifdef LIBALIAS struct cfg_nat *ptr, *ptr_temp; -#endif ip_fw_chk_ptr = NULL; ip_fw_ctl_ptr = NULL; callout_drain(&ipfw_timeout); IPFW_WLOCK(&layer3_chain); flush_tables(&layer3_chain); -#ifdef LIBALIAS LIST_FOREACH_SAFE(ptr, &layer3_chain.nat, _next, ptr_temp) { LIST_REMOVE(ptr, _next); del_redir_spool_cfg(ptr, &ptr->redir_chain); @@ -4901,7 +4937,6 @@ free(ptr, M_IPFW); } EVENTHANDLER_DEREGISTER(ifaddr_event, ifaddr_event_tag); -#endif layer3_chain.reap = NULL; free_chain(&layer3_chain, 1 /* kill default rule */); reap = layer3_chain.reap, layer3_chain.reap = NULL; From owner-p4-projects@FreeBSD.ORG Wed Nov 1 15:20:39 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9851916A506; Wed, 1 Nov 2006 15:20:39 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 5B83216A4DF for ; Wed, 1 Nov 2006 15:20:39 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4231E43D6B for ; Wed, 1 Nov 2006 15:19:57 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA1FJhiX060184 for ; Wed, 1 Nov 2006 15:19:43 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA1FJh5p060181 for perforce@freebsd.org; Wed, 1 Nov 2006 15:19:43 GMT (envelope-from piso@freebsd.org) Date: Wed, 1 Nov 2006 15:19:43 GMT Message-Id: <200611011519.kA1FJh5p060181@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 108918 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 15:20:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=108918 Change 108918 by piso@piso_newluxor on 2006/11/01 15:18:55 Fix a comment. Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#27 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#27 (text+ko) ==== @@ -3471,55 +3471,49 @@ /* * XXX - Libalias checksum offload 'duct tape': * - * locally generated packets have only - * pseudo-header - * checksum calculated and libalias will - screw it[1], - * so mark them for later fix. - * Moreover there are cases when libalias - modify tcp - * packet data[2], mark it for later fix too. + * locally generated packets have only + * pseudo-header checksum calculated + * and libalias will screw it[1], so + * mark them for later fix. Moreover + * there are cases when libalias + * modify tcp packet data[2], mark it + * for later fix too. * - * [1] libalias was never meant to run in - kernel, so - * it doesn't have any knowledge about - checksum - * offloading, and it expects a packet with - a full - * internet checksum. Unfortunately, packets - * generated locally will have just the pseudo - * header calculated, and when libalias tries - to - * adjust the checksum it will actually screw - it. + * [1] libalias was never meant to run + * in kernel, so it doesn't have any + * knowledge about checksum + * offloading, and it expects a packet + * with a full internet + * checksum. Unfortunately, packets + * generated locally will have just the + * pseudo header calculated, and when + * libalias tries to adjust the + * checksum it will actually screw it. * - * [2] when libalias modify tcp's data content, - * full TCP checksum has to be recomputed: - * the problem is that libalias doesn't have - any - * idea about checksum offloading - * To workaround this, we do not do - checksumming - * in LibAlias, but only mark the packets in - th_x2 - * field. If we receive a marked packet, we - * calculate correct checksum for it aware of - * offloading. - * Why such a terrible hack instead of - * recalculating checksum for each packet? - * Because the previous checksum was not - checked! - * Recalculating checksums for EVERY packet - will - * hide ALL transmission errors. Yes, marked - packets - * still suffer from this problem. But, sigh, - natd(8) - * has this problem, too. + * [2] when libalias modify tcp's data + * content, full TCP checksum has to + * be recomputed: the problem is that + * libalias doesn't have any idea + * about checksum offloading To + * workaround this, we do not do + * checksumming in LibAlias, but only + * mark the packets in th_x2 field. If + * we receive a marked packet, we + * calculate correct checksum for it + * aware of offloading. Why such a + * terrible hack instead of + * recalculating checksum for each + * packet? Because the previous + * checksum was not checked! + * Recalculating checksums for EVERY + * packet will hide ALL transmission + * errors. Yes, marked packets still + * suffer from this problem. But, + * sigh, natd(8) has this problem, + * too. * - * TODO: - * -make libalias mbuf aware (so it can handle - * delayed checksum) + * TODO: -make libalias mbuf aware (so + * it can handle delayed checksum) */ if (mcl->m_pkthdr.rcvif == NULL && From owner-p4-projects@FreeBSD.ORG Wed Nov 1 16:14:17 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 57C4C16A415; Wed, 1 Nov 2006 16:14:17 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 ED82716A53F; Wed, 1 Nov 2006 16:14:16 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id 57E7543D81; Wed, 1 Nov 2006 16:13:59 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.6/8.13.6) with ESMTP id kA1GDjwD001931; Wed, 1 Nov 2006 11:13:50 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: Scott Long Date: Wed, 1 Nov 2006 10:47:07 -0500 User-Agent: KMail/1.9.1 References: <200611010112.kA11C1Jt066210@repoman.freebsd.org> In-Reply-To: <200611010112.kA11C1Jt066210@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200611011047.07627.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Wed, 01 Nov 2006 11:13:50 -0500 (EST) X-Virus-Scanned: ClamAV 0.88.3/2138/Wed Nov 1 06:55:22 2006 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 108878 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 16:14:17 -0000 On Tuesday 31 October 2006 20:12, Scott Long wrote: > http://perforce.freebsd.org/chv.cgi?CH=108878 > > Change 108878 by scottl@scottl-x64 on 2006/11/01 01:11:30 > > For some wonderful reason, you cannot pass &Giant to msleep. Work > around that in a crude fashion. Also add some more assertions. Ah, yes, that would be most unhappy. I guess mostly the idea is that Giant should be rather implicit and explicitly using Giant for an object lock is discouraged. I'm not sure that is what you are doing though. I think maybe you are borrowing Giant that's already held? > Affected files ... > > .. //depot/projects/scottl-camlock/src/sys/cam/cam_periph.c#14 edit > > Differences ... > > ==== //depot/projects/scottl-camlock/src/sys/cam/cam_periph.c#14 (text+ko) ==== > > @@ -515,14 +515,16 @@ > /* > * Interlock the SIM lock with the XPT lock to protect against the > * SIM going away unexpectedly while we are trying reference it. > + xpt_lock_buses(); > */ > - xpt_lock_buses(); > > /* > * Now it's safe to take the SIM lock. > */ > mtx_lock(periph->sim->mtx); > + /* > xpt_unlock_buses(); > + */ > > /* > * Increment the reference count on the peripheral. > @@ -757,9 +759,11 @@ > cam_periph_getccb(struct cam_periph *periph, u_int32_t priority) > { > struct ccb_hdr *ccb_h; > + struct mtx *mtx; > int s; > > CAM_DEBUG(periph->path, CAM_DEBUG_TRACE, ("entering cdgetccb\n")); > + mtx_assert(periph->sim->mtx, MA_OWNED); > > s = splsoftcam(); > > @@ -770,7 +774,12 @@ > if ((SLIST_FIRST(&periph->ccb_list) != NULL) > && (SLIST_FIRST(&periph->ccb_list)->pinfo.priority == priority)) > break; > - msleep(&periph->ccb_list, periph->sim->mtx, PRIBIO, "cgticb", 0); > + mtx_assert(periph->sim->mtx, MA_OWNED); > + if (periph->sim->mtx == &Giant) > + mtx = NULL; > + else > + mtx = periph->sim->mtx; > + msleep(&periph->ccb_list, mtx, PRIBIO, "cgticb", 0); > } > > ccb_h = SLIST_FIRST(&periph->ccb_list); > @@ -782,14 +791,19 @@ > void > cam_periph_ccbwait(union ccb *ccb) > { > + struct mtx *mtx; > struct cam_sim *sim; > int s; > > s = splsoftcam(); > sim = xpt_path_sim(ccb->ccb_h.path); > + if (sim->mtx == &Giant) > + mtx = NULL; > + else > + mtx = sim->mtx; > if ((ccb->ccb_h.pinfo.index != CAM_UNQUEUED_INDEX) > || ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_INPROG)) > - msleep(&ccb->ccb_h.cbfcnp, sim->mtx, PRIBIO, "cbwait", 0); > + msleep(&ccb->ccb_h.cbfcnp, mtx, PRIBIO, "cbwait", 0); > > splx(s); > } > @@ -864,10 +878,13 @@ > cam_flags camflags, u_int32_t sense_flags, > struct devstat *ds) > { > + struct cam_sim *sim; > int error; > > error = 0; > - > + sim = xpt_path_sim(ccb->ccb_h.path); > + > + mtx_assert(sim->mtx, MA_OWNED); > /* > * If the user has supplied a stats structure, and if we understand > * this particular type of ccb, record the transaction start. > -- John Baldwin From owner-p4-projects@FreeBSD.ORG Wed Nov 1 16:52:28 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EA73916A416; Wed, 1 Nov 2006 16:52:27 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 C003016A403 for ; Wed, 1 Nov 2006 16:52:27 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 88E6C43D49 for ; Wed, 1 Nov 2006 16:52:27 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA1GqR7g087646 for ; Wed, 1 Nov 2006 16:52:27 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA1GqKgZ087639 for perforce@freebsd.org; Wed, 1 Nov 2006 16:52:20 GMT (envelope-from jhb@freebsd.org) Date: Wed, 1 Nov 2006 16:52:20 GMT Message-Id: <200611011652.kA1GqKgZ087639@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 108925 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 16:52:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=108925 Change 108925 by jhb@jhb_mutex on 2006/11/01 16:51:48 IFC @108920. Affected files ... .. //depot/projects/smpng/sys/amd64/amd64/busdma_machdep.c#23 integrate .. //depot/projects/smpng/sys/amd64/amd64/db_trace.c#20 integrate .. //depot/projects/smpng/sys/amd64/amd64/genassym.c#16 integrate .. //depot/projects/smpng/sys/amd64/amd64/intr_machdep.c#20 integrate .. //depot/projects/smpng/sys/amd64/amd64/machdep.c#58 integrate .. //depot/projects/smpng/sys/amd64/amd64/pmap.c#68 integrate .. //depot/projects/smpng/sys/amd64/amd64/prof_machdep.c#5 integrate .. //depot/projects/smpng/sys/amd64/amd64/support.S#17 integrate .. //depot/projects/smpng/sys/amd64/amd64/trap.c#55 integrate .. //depot/projects/smpng/sys/amd64/conf/DEFAULTS#6 integrate .. //depot/projects/smpng/sys/amd64/conf/GENERIC#52 integrate .. //depot/projects/smpng/sys/amd64/conf/GENERIC.hints#4 integrate .. //depot/projects/smpng/sys/amd64/conf/NOTES#36 integrate .. //depot/projects/smpng/sys/amd64/include/asmacros.h#7 integrate .. //depot/projects/smpng/sys/amd64/include/profile.h#10 integrate .. //depot/projects/smpng/sys/amd64/linux32/linux.h#5 integrate .. //depot/projects/smpng/sys/amd64/linux32/linux32_dummy.c#6 integrate .. //depot/projects/smpng/sys/amd64/linux32/linux32_machdep.c#13 integrate .. //depot/projects/smpng/sys/amd64/linux32/linux32_proto.h#17 integrate .. //depot/projects/smpng/sys/amd64/linux32/linux32_syscall.h#17 integrate .. //depot/projects/smpng/sys/amd64/linux32/linux32_sysent.c#17 integrate .. //depot/projects/smpng/sys/amd64/linux32/linux32_sysvec.c#21 integrate .. //depot/projects/smpng/sys/amd64/linux32/syscalls.master#22 integrate .. //depot/projects/smpng/sys/arm/arm/cpufunc.c#11 integrate .. //depot/projects/smpng/sys/arm/arm/elf_trampoline.c#12 integrate .. //depot/projects/smpng/sys/arm/arm/fusu.S#9 integrate .. //depot/projects/smpng/sys/arm/arm/genassym.c#7 integrate .. //depot/projects/smpng/sys/arm/arm/nexus.c#8 integrate .. //depot/projects/smpng/sys/arm/arm/nexus_io.c#5 integrate .. //depot/projects/smpng/sys/arm/arm/trap.c#26 integrate .. //depot/projects/smpng/sys/arm/arm/undefined.c#14 integrate .. //depot/projects/smpng/sys/arm/arm/vm_machdep.c#23 integrate .. //depot/projects/smpng/sys/arm/at91/at91_mci.c#1 branch .. //depot/projects/smpng/sys/arm/at91/at91_mcireg.h#1 branch .. //depot/projects/smpng/sys/arm/at91/at91_spi.c#3 integrate .. //depot/projects/smpng/sys/arm/at91/at91_ssc.c#3 integrate .. //depot/projects/smpng/sys/arm/at91/at91_sscreg.h#2 integrate .. //depot/projects/smpng/sys/arm/at91/at91_twi.c#5 integrate .. //depot/projects/smpng/sys/arm/at91/if_ate.c#8 integrate .. //depot/projects/smpng/sys/arm/at91/kb920x_machdep.c#11 integrate .. //depot/projects/smpng/sys/arm/at91/std.at91#3 integrate .. //depot/projects/smpng/sys/arm/at91/std.kb920x#3 integrate .. //depot/projects/smpng/sys/arm/conf/EP80219#2 integrate .. //depot/projects/smpng/sys/arm/conf/IQ31244#12 integrate .. //depot/projects/smpng/sys/arm/conf/KB920X#5 integrate .. //depot/projects/smpng/sys/arm/conf/SIMICS#10 integrate .. //depot/projects/smpng/sys/arm/conf/SKYEYE#4 integrate .. //depot/projects/smpng/sys/arm/sa11x0/assabet_machdep.c#12 integrate .. //depot/projects/smpng/sys/arm/sa11x0/sa11x0.c#7 integrate .. //depot/projects/smpng/sys/arm/sa11x0/sa11x0_io.c#7 integrate .. //depot/projects/smpng/sys/arm/sa11x0/sa11x0_irqhandler.c#6 integrate .. //depot/projects/smpng/sys/arm/sa11x0/sa11x0_ost.c#5 integrate .. //depot/projects/smpng/sys/arm/xscale/i80321/ep80219_machdep.c#2 integrate .. //depot/projects/smpng/sys/arm/xscale/i80321/iq31244_machdep.c#21 integrate .. //depot/projects/smpng/sys/boot/arm/Makefile#3 integrate .. //depot/projects/smpng/sys/boot/arm/at91/Makefile.inc#3 integrate .. //depot/projects/smpng/sys/boot/arm/at91/boot0spi/main.c#3 integrate .. //depot/projects/smpng/sys/boot/arm/at91/boot2/Makefile#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/boot2/boot2.c#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/boot2/kb920x_board.c#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/bootiic/env_vars.c#2 integrate .. //depot/projects/smpng/sys/boot/arm/at91/bootiic/loader_prompt.c#3 integrate .. //depot/projects/smpng/sys/boot/arm/at91/bootspi/Makefile#3 integrate .. //depot/projects/smpng/sys/boot/arm/at91/bootspi/arm_init.S#2 integrate .. //depot/projects/smpng/sys/boot/arm/at91/bootspi/ee.c#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/bootspi/ee.h#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/bootspi/env_vars.c#2 integrate .. //depot/projects/smpng/sys/boot/arm/at91/bootspi/loader_prompt.c#2 integrate .. //depot/projects/smpng/sys/boot/arm/at91/bootspi/main.c#3 integrate .. //depot/projects/smpng/sys/boot/arm/at91/libat91/Makefile#4 integrate .. //depot/projects/smpng/sys/boot/arm/at91/libat91/at91rm9200.h#3 integrate .. //depot/projects/smpng/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.c#2 integrate .. //depot/projects/smpng/sys/boot/arm/at91/libat91/emac.c#4 integrate .. //depot/projects/smpng/sys/boot/arm/at91/libat91/emac.h#4 integrate .. //depot/projects/smpng/sys/boot/arm/at91/libat91/emac_init.c#2 integrate .. //depot/projects/smpng/sys/boot/arm/at91/libat91/lib.h#3 integrate .. //depot/projects/smpng/sys/boot/arm/at91/libat91/lib_AT91RM9200.h#2 integrate .. //depot/projects/smpng/sys/boot/arm/at91/libat91/mci_device.c#2 integrate .. //depot/projects/smpng/sys/boot/arm/at91/libat91/mci_device.h#2 integrate .. //depot/projects/smpng/sys/boot/arm/at91/libat91/memcmp.c#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/libat91/memcpy.c#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/libat91/memset.c#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/libat91/p_string.c#3 integrate .. //depot/projects/smpng/sys/boot/arm/at91/libat91/printf.c#2 integrate .. //depot/projects/smpng/sys/boot/arm/at91/libat91/putchar.c#2 integrate .. //depot/projects/smpng/sys/boot/arm/at91/libat91/sd-card.c#2 integrate .. //depot/projects/smpng/sys/boot/arm/at91/libat91/spi_flash.c#2 integrate .. //depot/projects/smpng/sys/boot/arm/at91/libat91/strcmp.c#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/libat91/strcpy.c#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/libat91/strcvt.c#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/libat91/strlen.c#1 branch .. //depot/projects/smpng/sys/boot/common/help.common#21 integrate .. //depot/projects/smpng/sys/boot/common/load_elf.c#15 integrate .. //depot/projects/smpng/sys/boot/common/loader.8#41 integrate .. //depot/projects/smpng/sys/boot/forth/support.4th#4 integrate .. //depot/projects/smpng/sys/boot/i386/boot2/boot2.c#30 integrate .. //depot/projects/smpng/sys/boot/i386/libi386/elf32_freebsd.c#4 integrate .. //depot/projects/smpng/sys/boot/i386/libi386/elf64_freebsd.c#6 integrate .. //depot/projects/smpng/sys/boot/pc98/boot2/boot.c#8 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_da.c#70 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_low.c#14 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_proto.h#34 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscall.h#34 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscalls.c#34 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_sysent.c#34 integrate .. //depot/projects/smpng/sys/compat/freebsd32/syscalls.master#39 integrate .. //depot/projects/smpng/sys/compat/linprocfs/linprocfs.c#51 integrate .. //depot/projects/smpng/sys/compat/linux/linux_emul.c#3 integrate .. //depot/projects/smpng/sys/compat/linux/linux_emul.h#3 integrate .. //depot/projects/smpng/sys/compat/linux/linux_file.c#33 integrate .. //depot/projects/smpng/sys/compat/linux/linux_getcwd.c#22 integrate .. //depot/projects/smpng/sys/compat/linux/linux_misc.c#72 integrate .. //depot/projects/smpng/sys/compat/linux/linux_misc.h#1 branch .. //depot/projects/smpng/sys/compat/linux/linux_signal.c#23 integrate .. //depot/projects/smpng/sys/compat/linux/linux_signal.h#5 integrate .. //depot/projects/smpng/sys/compat/linux/linux_stats.c#34 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_fcntl.c#22 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_misc.c#58 integrate .. //depot/projects/smpng/sys/conf/NOTES#128 integrate .. //depot/projects/smpng/sys/conf/files#188 integrate .. //depot/projects/smpng/sys/conf/files.amd64#48 integrate .. //depot/projects/smpng/sys/conf/files.i386#103 integrate .. //depot/projects/smpng/sys/conf/files.ia64#57 integrate .. //depot/projects/smpng/sys/conf/files.pc98#85 integrate .. //depot/projects/smpng/sys/conf/files.powerpc#33 integrate .. //depot/projects/smpng/sys/conf/files.sparc64#57 integrate .. //depot/projects/smpng/sys/conf/kern.post.mk#57 integrate .. //depot/projects/smpng/sys/conf/kern.pre.mk#54 integrate .. //depot/projects/smpng/sys/conf/kmod.mk#61 integrate .. //depot/projects/smpng/sys/conf/options#127 integrate .. //depot/projects/smpng/sys/contrib/pf/net/pf.c#24 integrate .. //depot/projects/smpng/sys/crypto/sha2/sha2.c#8 integrate .. //depot/projects/smpng/sys/ddb/db_ps.c#37 integrate .. //depot/projects/smpng/sys/dev/aac/aac_cam.c#19 integrate .. //depot/projects/smpng/sys/dev/acpi_support/acpi_aiboost.c#1 branch .. //depot/projects/smpng/sys/dev/acpi_support/acpi_sony.c#5 integrate .. //depot/projects/smpng/sys/dev/advansys/advansys.c#12 integrate .. //depot/projects/smpng/sys/dev/advansys/advlib.c#7 integrate .. //depot/projects/smpng/sys/dev/advansys/adwcam.c#13 integrate .. //depot/projects/smpng/sys/dev/aha/aha.c#17 integrate .. //depot/projects/smpng/sys/dev/ahb/ahb.c#14 integrate .. //depot/projects/smpng/sys/dev/aic/aic.c#9 integrate .. //depot/projects/smpng/sys/dev/amd/amd.c#16 integrate .. //depot/projects/smpng/sys/dev/amr/amr.c#43 integrate .. //depot/projects/smpng/sys/dev/amr/amr_cam.c#17 integrate .. //depot/projects/smpng/sys/dev/amr/amr_disk.c#19 integrate .. //depot/projects/smpng/sys/dev/arcmsr/arcmsr.c#7 integrate .. //depot/projects/smpng/sys/dev/asr/asr.c#33 integrate .. //depot/projects/smpng/sys/dev/ata/ata-disk.c#61 integrate .. //depot/projects/smpng/sys/dev/ata/ata-raid.c#49 integrate .. //depot/projects/smpng/sys/dev/ata/atapi-cam.c#28 integrate .. //depot/projects/smpng/sys/dev/atkbdc/atkbd.c#5 integrate .. //depot/projects/smpng/sys/dev/awi/if_awi_pccard.c#17 integrate .. //depot/projects/smpng/sys/dev/bce/if_bce.c#7 integrate .. //depot/projects/smpng/sys/dev/bce/if_bcereg.h#4 integrate .. //depot/projects/smpng/sys/dev/bge/if_bge.c#80 integrate .. //depot/projects/smpng/sys/dev/ciss/ciss.c#47 integrate .. //depot/projects/smpng/sys/dev/dc/if_dc.c#10 integrate .. //depot/projects/smpng/sys/dev/dpt/dpt_scsi.c#16 integrate .. //depot/projects/smpng/sys/dev/em/if_em.c#74 integrate .. //depot/projects/smpng/sys/dev/em/if_em.h#36 integrate .. //depot/projects/smpng/sys/dev/em/if_em_hw.c#20 integrate .. //depot/projects/smpng/sys/dev/em/if_em_hw.h#20 integrate .. //depot/projects/smpng/sys/dev/em/if_em_osdep.h#19 integrate .. //depot/projects/smpng/sys/dev/esp/ncr53c9x.c#7 integrate .. //depot/projects/smpng/sys/dev/firewire/sbp.c#38 integrate .. //depot/projects/smpng/sys/dev/iir/iir.c#16 integrate .. //depot/projects/smpng/sys/dev/ipmi/ipmi.c#4 integrate .. //depot/projects/smpng/sys/dev/isp/isp_freebsd.c#46 integrate .. //depot/projects/smpng/sys/dev/iwi/if_iwi.c#20 integrate .. //depot/projects/smpng/sys/dev/iwi/if_iwireg.h#9 integrate .. //depot/projects/smpng/sys/dev/mfi/mfi.c#11 integrate .. //depot/projects/smpng/sys/dev/mfi/mfi_debug.c#2 integrate .. //depot/projects/smpng/sys/dev/mfi/mfi_disk.c#5 integrate .. //depot/projects/smpng/sys/dev/mfi/mfireg.h#5 integrate .. //depot/projects/smpng/sys/dev/mfi/mfivar.h#5 integrate .. //depot/projects/smpng/sys/dev/mly/mly.c#27 integrate .. //depot/projects/smpng/sys/dev/mmc/bridge.h#1 branch .. //depot/projects/smpng/sys/dev/mmc/mmc.c#1 branch .. //depot/projects/smpng/sys/dev/mmc/mmcbr_if.m#1 branch .. //depot/projects/smpng/sys/dev/mmc/mmcbrvar.h#1 branch .. //depot/projects/smpng/sys/dev/mmc/mmcbus_if.m#1 branch .. //depot/projects/smpng/sys/dev/mmc/mmcreg.h#1 branch .. //depot/projects/smpng/sys/dev/mmc/mmcsd.c#1 branch .. //depot/projects/smpng/sys/dev/mmc/mmcvar.h#1 branch .. //depot/projects/smpng/sys/dev/mpt/mpt_cam.c#14 integrate .. //depot/projects/smpng/sys/dev/mxge/if_mxge.c#7 integrate .. //depot/projects/smpng/sys/dev/nfe/if_nfe.c#4 integrate .. //depot/projects/smpng/sys/dev/nfe/if_nfereg.h#3 integrate .. //depot/projects/smpng/sys/dev/pci/pci.c#74 integrate .. //depot/projects/smpng/sys/dev/pci/pci_pci.c#29 integrate .. //depot/projects/smpng/sys/dev/pci/pcivar.h#20 integrate .. //depot/projects/smpng/sys/dev/ray/if_ray.c#25 integrate .. //depot/projects/smpng/sys/dev/sound/midi/sequencer.c#15 integrate .. //depot/projects/smpng/sys/dev/sound/pci/hda/hdac.c#2 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/dsp.c#39 integrate .. //depot/projects/smpng/sys/dev/spibus/spibus.c#2 integrate .. //depot/projects/smpng/sys/dev/trm/trm.c#23 integrate .. //depot/projects/smpng/sys/dev/twa/tw_osl_cam.c#7 integrate .. //depot/projects/smpng/sys/dev/ubsec/ubsec.c#23 integrate .. //depot/projects/smpng/sys/dev/usb/ehci.c#27 integrate .. //depot/projects/smpng/sys/dev/usb/if_axe.c#28 integrate .. //depot/projects/smpng/sys/dev/usb/if_udav.c#16 integrate .. //depot/projects/smpng/sys/dev/usb/if_ural.c#20 integrate .. //depot/projects/smpng/sys/dev/usb/ohci.c#44 integrate .. //depot/projects/smpng/sys/dev/usb/ubsa.c#15 integrate .. //depot/projects/smpng/sys/dev/usb/uhci.c#43 integrate .. //depot/projects/smpng/sys/dev/usb/ukbd.c#22 integrate .. //depot/projects/smpng/sys/dev/usb/umass.c#58 integrate .. //depot/projects/smpng/sys/dev/usb/usb.c#35 integrate .. //depot/projects/smpng/sys/dev/usb/usbdevs#95 integrate .. //depot/projects/smpng/sys/dev/usb/usbdi.h#19 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs.h#20 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs_devs.c#24 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs_int.h#3 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs_vnops.c#59 integrate .. //depot/projects/smpng/sys/fs/msdosfs/denode.h#13 integrate .. //depot/projects/smpng/sys/fs/msdosfs/direntry.h#8 integrate .. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_conv.c#16 integrate .. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_denode.c#27 integrate .. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_vnops.c#35 integrate .. //depot/projects/smpng/sys/fs/ntfs/ntfs_vnops.c#26 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs_subr.c#10 integrate .. //depot/projects/smpng/sys/fs/procfs/procfs_status.c#25 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_subr.c#9 integrate .. //depot/projects/smpng/sys/geom/concat/g_concat.c#16 integrate .. //depot/projects/smpng/sys/geom/eli/g_eli.c#16 integrate .. //depot/projects/smpng/sys/geom/geom.h#49 integrate .. //depot/projects/smpng/sys/geom/geom_disk.c#48 integrate .. //depot/projects/smpng/sys/geom/geom_disk.h#6 integrate .. //depot/projects/smpng/sys/geom/geom_gpt.c#27 integrate .. //depot/projects/smpng/sys/geom/geom_io.c#43 integrate .. //depot/projects/smpng/sys/geom/geom_slice.c#35 integrate .. //depot/projects/smpng/sys/geom/journal/g_journal.c#1 branch .. //depot/projects/smpng/sys/geom/journal/g_journal.h#1 branch .. //depot/projects/smpng/sys/geom/journal/g_journal_ufs.c#1 branch .. //depot/projects/smpng/sys/geom/mirror/g_mirror.c#35 integrate .. //depot/projects/smpng/sys/geom/raid3/g_raid3.c#36 integrate .. //depot/projects/smpng/sys/geom/shsec/g_shsec.c#5 integrate .. //depot/projects/smpng/sys/geom/stripe/g_stripe.c#16 integrate .. //depot/projects/smpng/sys/i386/acpica/Makefile#8 integrate .. //depot/projects/smpng/sys/i386/conf/DEFAULTS#7 integrate .. //depot/projects/smpng/sys/i386/conf/GENERIC#83 integrate .. //depot/projects/smpng/sys/i386/conf/NOTES#125 integrate .. //depot/projects/smpng/sys/i386/i386/db_trace.c#32 integrate .. //depot/projects/smpng/sys/i386/i386/genassym.c#33 integrate .. //depot/projects/smpng/sys/i386/i386/machdep.c#117 integrate .. //depot/projects/smpng/sys/i386/i386/pmap.c#108 integrate .. //depot/projects/smpng/sys/i386/i386/support.s#22 integrate .. //depot/projects/smpng/sys/i386/i386/sys_machdep.c#47 integrate .. //depot/projects/smpng/sys/i386/i386/trap.c#103 integrate .. //depot/projects/smpng/sys/i386/ibcs2/ibcs2_misc.c#30 integrate .. //depot/projects/smpng/sys/i386/include/asmacros.h#7 integrate .. //depot/projects/smpng/sys/i386/include/profile.h#15 integrate .. //depot/projects/smpng/sys/i386/isa/prof_machdep.c#8 integrate .. //depot/projects/smpng/sys/i386/linux/linux.h#13 integrate .. //depot/projects/smpng/sys/i386/linux/linux_dummy.c#17 integrate .. //depot/projects/smpng/sys/i386/linux/linux_machdep.c#37 integrate .. //depot/projects/smpng/sys/i386/linux/linux_proto.h#36 integrate .. //depot/projects/smpng/sys/i386/linux/linux_syscall.h#35 integrate .. //depot/projects/smpng/sys/i386/linux/linux_sysent.c#36 integrate .. //depot/projects/smpng/sys/i386/linux/syscalls.master#42 integrate .. //depot/projects/smpng/sys/ia64/conf/DEFAULTS#6 integrate .. //depot/projects/smpng/sys/ia64/conf/GENERIC#54 integrate .. //depot/projects/smpng/sys/ia64/conf/NOTES#10 integrate .. //depot/projects/smpng/sys/ia64/ia64/busdma_machdep.c#26 integrate .. //depot/projects/smpng/sys/ia64/ia64/clock.c#19 integrate .. //depot/projects/smpng/sys/ia64/ia64/genassym.c#28 integrate .. //depot/projects/smpng/sys/ia64/ia64/machdep.c#105 integrate .. //depot/projects/smpng/sys/ia64/ia64/nexus.c#13 integrate .. //depot/projects/smpng/sys/ia64/ia64/pmap.c#81 integrate .. //depot/projects/smpng/sys/ia64/ia64/support.S#8 integrate .. //depot/projects/smpng/sys/ia64/ia64/trap.c#91 integrate .. //depot/projects/smpng/sys/kern/init_main.c#62 integrate .. //depot/projects/smpng/sys/kern/init_sysent.c#77 integrate .. //depot/projects/smpng/sys/kern/kern_acct.c#46 integrate .. //depot/projects/smpng/sys/kern/kern_acl.c#27 integrate .. //depot/projects/smpng/sys/kern/kern_alq.c#13 integrate .. //depot/projects/smpng/sys/kern/kern_clock.c#52 integrate .. //depot/projects/smpng/sys/kern/kern_conf.c#49 integrate .. //depot/projects/smpng/sys/kern/kern_environment.c#23 integrate .. //depot/projects/smpng/sys/kern/kern_exec.c#100 integrate .. //depot/projects/smpng/sys/kern/kern_exit.c#119 integrate .. //depot/projects/smpng/sys/kern/kern_fork.c#102 integrate .. //depot/projects/smpng/sys/kern/kern_idle.c#26 integrate .. //depot/projects/smpng/sys/kern/kern_intr.c#79 integrate .. //depot/projects/smpng/sys/kern/kern_jail.c#43 integrate .. //depot/projects/smpng/sys/kern/kern_kse.c#32 integrate .. //depot/projects/smpng/sys/kern/kern_ktrace.c#54 integrate .. //depot/projects/smpng/sys/kern/kern_linker.c#82 integrate .. //depot/projects/smpng/sys/kern/kern_mac.c#46 integrate .. //depot/projects/smpng/sys/kern/kern_malloc.c#46 integrate .. //depot/projects/smpng/sys/kern/kern_mbuf.c#21 integrate .. //depot/projects/smpng/sys/kern/kern_poll.c#22 integrate .. //depot/projects/smpng/sys/kern/kern_proc.c#87 integrate .. //depot/projects/smpng/sys/kern/kern_prot.c#99 integrate .. //depot/projects/smpng/sys/kern/kern_resource.c#64 integrate .. //depot/projects/smpng/sys/kern/kern_shutdown.c#64 integrate .. //depot/projects/smpng/sys/kern/kern_sig.c#127 integrate .. //depot/projects/smpng/sys/kern/kern_subr.c#42 integrate .. //depot/projects/smpng/sys/kern/kern_switch.c#65 integrate .. //depot/projects/smpng/sys/kern/kern_synch.c#105 integrate .. //depot/projects/smpng/sys/kern/kern_sysctl.c#51 integrate .. //depot/projects/smpng/sys/kern/kern_thr.c#37 integrate .. //depot/projects/smpng/sys/kern/kern_thread.c#95 integrate .. //depot/projects/smpng/sys/kern/kern_time.c#46 integrate .. //depot/projects/smpng/sys/kern/kern_umtx.c#27 integrate .. //depot/projects/smpng/sys/kern/link_elf.c#41 integrate .. //depot/projects/smpng/sys/kern/link_elf_obj.c#15 integrate .. //depot/projects/smpng/sys/kern/sched_4bsd.c#61 integrate .. //depot/projects/smpng/sys/kern/sched_ule.c#69 integrate .. //depot/projects/smpng/sys/kern/subr_disk.c#29 integrate .. //depot/projects/smpng/sys/kern/subr_fattime.c#1 branch .. //depot/projects/smpng/sys/kern/subr_prf.c#48 integrate .. //depot/projects/smpng/sys/kern/subr_trap.c#81 integrate .. //depot/projects/smpng/sys/kern/sys_generic.c#47 integrate .. //depot/projects/smpng/sys/kern/sys_pipe.c#56 integrate .. //depot/projects/smpng/sys/kern/sys_process.c#56 integrate .. //depot/projects/smpng/sys/kern/sys_socket.c#25 integrate .. //depot/projects/smpng/sys/kern/syscalls.c#77 integrate .. //depot/projects/smpng/sys/kern/syscalls.master#84 integrate .. //depot/projects/smpng/sys/kern/systrace_args.c#4 integrate .. //depot/projects/smpng/sys/kern/sysv_msg.c#31 integrate .. //depot/projects/smpng/sys/kern/sysv_sem.c#44 integrate .. //depot/projects/smpng/sys/kern/sysv_shm.c#36 integrate .. //depot/projects/smpng/sys/kern/tty.c#66 integrate .. //depot/projects/smpng/sys/kern/tty_cons.c#35 integrate .. //depot/projects/smpng/sys/kern/uipc_mbuf.c#49 integrate .. //depot/projects/smpng/sys/kern/uipc_mbuf2.c#21 integrate .. //depot/projects/smpng/sys/kern/uipc_sem.c#20 integrate .. //depot/projects/smpng/sys/kern/uipc_socket.c#94 integrate .. //depot/projects/smpng/sys/kern/uipc_syscalls.c#94 integrate .. //depot/projects/smpng/sys/kern/uipc_usrreq.c#68 integrate .. //depot/projects/smpng/sys/kern/vfs_aio.c#75 integrate .. //depot/projects/smpng/sys/kern/vfs_bio.c#96 integrate .. //depot/projects/smpng/sys/kern/vfs_cluster.c#46 integrate .. //depot/projects/smpng/sys/kern/vfs_lookup.c#39 integrate .. //depot/projects/smpng/sys/kern/vfs_mount.c#65 integrate .. //depot/projects/smpng/sys/kern/vfs_subr.c#134 integrate .. //depot/projects/smpng/sys/kern/vfs_syscalls.c#117 integrate .. //depot/projects/smpng/sys/kern/vfs_vnops.c#75 integrate .. //depot/projects/smpng/sys/modules/acpi/Makefile#29 integrate .. //depot/projects/smpng/sys/modules/acpi/acpi_aiboost/Makefile#1 branch .. //depot/projects/smpng/sys/modules/aio/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/geom/Makefile#14 integrate .. //depot/projects/smpng/sys/modules/geom/geom_journal/Makefile#1 branch .. //depot/projects/smpng/sys/modules/linux/Makefile#18 integrate .. //depot/projects/smpng/sys/modules/mem/Makefile#4 integrate .. //depot/projects/smpng/sys/modules/mmc/Makefile#1 branch .. //depot/projects/smpng/sys/modules/mmcsd/Makefile#1 branch .. //depot/projects/smpng/sys/modules/powermac_nvram/Makefile#2 integrate .. //depot/projects/smpng/sys/modules/uart/Makefile#10 integrate .. //depot/projects/smpng/sys/modules/ufs/Makefile#4 integrate .. //depot/projects/smpng/sys/net/bpf.c#64 integrate .. //depot/projects/smpng/sys/net/bridgestp.c#13 integrate .. //depot/projects/smpng/sys/net/bridgestp.h#4 integrate .. //depot/projects/smpng/sys/net/bsd_comp.c#11 integrate .. //depot/projects/smpng/sys/net/if.c#87 integrate .. //depot/projects/smpng/sys/net/if_atmsubr.c#22 integrate .. //depot/projects/smpng/sys/net/if_bridge.c#38 integrate .. //depot/projects/smpng/sys/net/if_bridgevar.h#13 integrate .. //depot/projects/smpng/sys/net/if_ethersubr.c#76 integrate .. //depot/projects/smpng/sys/net/if_fddisubr.c#28 integrate .. //depot/projects/smpng/sys/net/if_fwsubr.c#14 integrate .. //depot/projects/smpng/sys/net/if_gif.c#39 integrate .. //depot/projects/smpng/sys/net/if_iso88025subr.c#25 integrate .. //depot/projects/smpng/sys/net/if_ppp.c#42 integrate .. //depot/projects/smpng/sys/net/if_stf.c#39 integrate .. //depot/projects/smpng/sys/net/if_tun.c#48 integrate .. //depot/projects/smpng/sys/netatalk/aarp.c#20 integrate .. //depot/projects/smpng/sys/netatalk/ddp_input.c#15 integrate .. //depot/projects/smpng/sys/netatalk/ddp_output.c#12 integrate .. //depot/projects/smpng/sys/netgraph/netgraph.h#27 integrate .. //depot/projects/smpng/sys/netgraph/ng_message.h#14 integrate .. //depot/projects/smpng/sys/netgraph/ng_nat.c#3 integrate .. //depot/projects/smpng/sys/netgraph/ng_socket.c#41 integrate .. //depot/projects/smpng/sys/netgraph/ng_socket.h#4 integrate .. //depot/projects/smpng/sys/netinet/if_ether.c#51 integrate .. //depot/projects/smpng/sys/netinet/igmp.c#18 integrate .. //depot/projects/smpng/sys/netinet/in_pcb.c#68 integrate .. //depot/projects/smpng/sys/netinet/ip_divert.c#50 integrate .. //depot/projects/smpng/sys/netinet/ip_dummynet.c#45 integrate .. //depot/projects/smpng/sys/netinet/ip_fw2.c#78 integrate .. //depot/projects/smpng/sys/netinet/ip_fw_pfil.c#16 integrate .. //depot/projects/smpng/sys/netinet/ip_icmp.c#40 integrate .. //depot/projects/smpng/sys/netinet/ip_input.c#80 integrate .. //depot/projects/smpng/sys/netinet/ip_mroute.c#48 integrate .. //depot/projects/smpng/sys/netinet/ip_options.c#2 integrate .. //depot/projects/smpng/sys/netinet/ip_output.c#87 integrate .. //depot/projects/smpng/sys/netinet/raw_ip.c#61 integrate .. //depot/projects/smpng/sys/netinet/tcp_input.c#91 integrate .. //depot/projects/smpng/sys/netinet/tcp_output.c#41 integrate .. //depot/projects/smpng/sys/netinet/tcp_subr.c#84 integrate .. //depot/projects/smpng/sys/netinet/tcp_syncache.c#53 integrate .. //depot/projects/smpng/sys/netinet/udp_usrreq.c#71 integrate .. //depot/projects/smpng/sys/netinet6/in6_ifattach.c#20 integrate .. //depot/projects/smpng/sys/netinet6/in6_proto.c#16 integrate .. //depot/projects/smpng/sys/netinet6/nd6.c#36 integrate .. //depot/projects/smpng/sys/nfsclient/nfs.h#27 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_socket.c#47 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#62 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_serv.c#48 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_srvsock.c#29 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_syscalls.c#29 integrate .. //depot/projects/smpng/sys/pc98/conf/DEFAULTS#7 integrate .. //depot/projects/smpng/sys/pc98/conf/GENERIC#66 integrate .. //depot/projects/smpng/sys/pc98/conf/NOTES#58 integrate .. //depot/projects/smpng/sys/pc98/pc98/machdep.c#17 integrate .. //depot/projects/smpng/sys/pci/agp.c#28 integrate .. //depot/projects/smpng/sys/pci/if_sis.c#61 integrate .. //depot/projects/smpng/sys/pci/ncr.c#22 integrate .. //depot/projects/smpng/sys/pci/nfsmb.c#4 integrate .. //depot/projects/smpng/sys/posix4/ksched.c#20 integrate .. //depot/projects/smpng/sys/powerpc/conf/DEFAULTS#5 integrate .. //depot/projects/smpng/sys/powerpc/conf/GENERIC#39 integrate .. //depot/projects/smpng/sys/powerpc/conf/NOTES#5 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/copyinout.c#12 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/genassym.c#26 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/machdep.c#70 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/trap.c#60 integrate .. //depot/projects/smpng/sys/security/mac/mac_framework.h#2 integrate .. //depot/projects/smpng/sys/security/mac/mac_inet.c#3 integrate .. //depot/projects/smpng/sys/security/mac/mac_label.c#4 integrate .. //depot/projects/smpng/sys/security/mac/mac_net.c#15 integrate .. //depot/projects/smpng/sys/security/mac/mac_pipe.c#8 integrate .. //depot/projects/smpng/sys/security/mac/mac_posix_sem.c#3 integrate .. //depot/projects/smpng/sys/security/mac/mac_process.c#11 integrate .. //depot/projects/smpng/sys/security/mac/mac_socket.c#6 integrate .. //depot/projects/smpng/sys/security/mac/mac_system.c#6 integrate .. //depot/projects/smpng/sys/security/mac/mac_sysv_msg.c#4 integrate .. //depot/projects/smpng/sys/security/mac/mac_sysv_sem.c#4 integrate .. //depot/projects/smpng/sys/security/mac/mac_sysv_shm.c#3 integrate .. //depot/projects/smpng/sys/security/mac/mac_vfs.c#14 integrate .. //depot/projects/smpng/sys/security/mac_lomac/mac_lomac.c#31 integrate .. //depot/projects/smpng/sys/sparc64/conf/DEFAULTS#5 integrate .. //depot/projects/smpng/sys/sparc64/conf/GENERIC#74 integrate .. //depot/projects/smpng/sys/sparc64/conf/NOTES#23 integrate .. //depot/projects/smpng/sys/sparc64/include/endian.h#15 integrate .. //depot/projects/smpng/sys/sparc64/pci/ofw_pcib.c#7 integrate .. //depot/projects/smpng/sys/sparc64/pci/ofw_pcib_subr.c#7 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/genassym.c#38 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/machdep.c#81 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/support.S#9 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/trap.c#75 integrate .. //depot/projects/smpng/sys/sun4v/conf/DEFAULTS#2 integrate .. //depot/projects/smpng/sys/sun4v/conf/NOTES#2 integrate .. //depot/projects/smpng/sys/sun4v/include/endian.h#2 integrate .. //depot/projects/smpng/sys/sun4v/include/hypervisorvar.h#2 integrate .. //depot/projects/smpng/sys/sun4v/sun4v/fpemu.c#2 delete .. //depot/projects/smpng/sys/sun4v/sun4v/genassym.c#2 delete .. //depot/projects/smpng/sys/sun4v/sun4v/hcall.S#2 integrate .. //depot/projects/smpng/sys/sun4v/sun4v/hvcons.c#2 integrate .. //depot/projects/smpng/sys/sun4v/sun4v/machdep.c#2 integrate .. //depot/projects/smpng/sys/sun4v/sun4v/pmap.c#2 integrate .. //depot/projects/smpng/sys/sun4v/sun4v/support.S#2 integrate .. //depot/projects/smpng/sys/sun4v/sun4v/trap.c#2 integrate .. //depot/projects/smpng/sys/sys/bio.h#28 integrate .. //depot/projects/smpng/sys/sys/clock.h#4 integrate .. //depot/projects/smpng/sys/sys/conf.h#46 integrate .. //depot/projects/smpng/sys/sys/cons.h#11 integrate .. //depot/projects/smpng/sys/sys/elf32.h#5 integrate .. //depot/projects/smpng/sys/sys/elf64.h#6 integrate .. //depot/projects/smpng/sys/sys/mac.h#37 integrate .. //depot/projects/smpng/sys/sys/mac_policy.h#39 integrate .. //depot/projects/smpng/sys/sys/mount.h#55 integrate .. //depot/projects/smpng/sys/sys/param.h#105 integrate .. //depot/projects/smpng/sys/sys/pcpu.h#16 integrate .. //depot/projects/smpng/sys/sys/proc.h#172 integrate .. //depot/projects/smpng/sys/sys/queue.h#18 integrate .. //depot/projects/smpng/sys/sys/rtprio.h#6 integrate .. //depot/projects/smpng/sys/sys/rwlock.h#5 integrate .. //depot/projects/smpng/sys/sys/sched.h#23 integrate .. //depot/projects/smpng/sys/sys/sem.h#8 integrate .. //depot/projects/smpng/sys/sys/soundcard.h#12 integrate .. //depot/projects/smpng/sys/sys/syscall.h#76 integrate .. //depot/projects/smpng/sys/sys/syscall.mk#76 integrate .. //depot/projects/smpng/sys/sys/sysproto.h#80 integrate .. //depot/projects/smpng/sys/sys/systm.h#74 integrate .. //depot/projects/smpng/sys/sys/umtx.h#17 integrate .. //depot/projects/smpng/sys/sys/vnode.h#74 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_extern.h#22 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_softdep.c#58 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_vfsops.c#89 integrate .. //depot/projects/smpng/sys/ufs/ffs/fs.h#20 integrate .. //depot/projects/smpng/sys/ufs/ufs/gjournal.h#1 branch .. //depot/projects/smpng/sys/ufs/ufs/ufs_gjournal.c#1 branch .. //depot/projects/smpng/sys/ufs/ufs/ufs_inode.c#25 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_vnops.c#58 integrate .. //depot/projects/smpng/sys/vm/device_pager.c#22 integrate .. //depot/projects/smpng/sys/vm/phys_pager.c#14 integrate .. //depot/projects/smpng/sys/vm/swap_pager.c#65 integrate .. //depot/projects/smpng/sys/vm/uma_core.c#66 integrate .. //depot/projects/smpng/sys/vm/vm_contig.c#39 integrate .. //depot/projects/smpng/sys/vm/vm_fault.c#62 integrate .. //depot/projects/smpng/sys/vm/vm_glue.c#58 integrate .. //depot/projects/smpng/sys/vm/vm_kern.c#33 integrate .. //depot/projects/smpng/sys/vm/vm_map.c#82 integrate .. //depot/projects/smpng/sys/vm/vm_mmap.c#60 integrate .. //depot/projects/smpng/sys/vm/vm_object.c#87 integrate .. //depot/projects/smpng/sys/vm/vm_page.c#84 integrate .. //depot/projects/smpng/sys/vm/vm_page.h#36 integrate .. //depot/projects/smpng/sys/vm/vm_pageout.c#59 integrate .. //depot/projects/smpng/sys/vm/vm_zeroidle.c#31 integrate .. //depot/projects/smpng/sys/vm/vnode_pager.c#61 integrate Differences ... ==== //depot/projects/smpng/sys/amd64/amd64/busdma_machdep.c#23 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.77 2006/06/01 04:49:29 silby Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.78 2006/10/15 16:52:59 hrs Exp $"); #include #include @@ -520,7 +520,7 @@ __func__, dmat, dmat->flags, ENOMEM); return (ENOMEM); } else if ((uintptr_t)*vaddr & (dmat->alignment - 1)) { - printf("bus_dmamem_alloc failed to align memory properly."); + printf("bus_dmamem_alloc failed to align memory properly.\n"); } CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d", __func__, dmat, dmat->flags, ENOMEM); ==== //depot/projects/smpng/sys/amd64/amd64/db_trace.c#20 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.75 2006/07/12 21:22:42 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.76 2006/10/20 09:44:20 bde Exp $"); #include #include @@ -91,6 +91,7 @@ { "r15", DB_OFFSET(tf_r15), db_frame }, { "rip", DB_OFFSET(tf_rip), db_frame }, { "rflags", DB_OFFSET(tf_rflags), db_frame }, +#define DB_N_SHOW_REGS 20 /* Don't show registers after here. */ { "dr0", NULL, db_dr0 }, { "dr1", NULL, db_dr1 }, { "dr2", NULL, db_dr2 }, @@ -100,7 +101,7 @@ { "dr6", NULL, db_dr6 }, { "dr7", NULL, db_dr7 }, }; -struct db_variable *db_eregs = db_regs + sizeof(db_regs)/sizeof(db_regs[0]); +struct db_variable *db_eregs = db_regs + DB_N_SHOW_REGS; #define DB_DRX_FUNC(reg) \ static int \ ==== //depot/projects/smpng/sys/amd64/amd64/genassym.c#16 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.157 2005/09/27 21:10:10 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.158 2006/11/01 04:54:49 jb Exp $"); #include "opt_compat.h" #include "opt_kstack_pages.h" @@ -185,6 +185,7 @@ ASSYM(PC_FPCURTHREAD, offsetof(struct pcpu, pc_fpcurthread)); ASSYM(PC_IDLETHREAD, offsetof(struct pcpu, pc_idlethread)); ASSYM(PC_CURPCB, offsetof(struct pcpu, pc_curpcb)); +ASSYM(PC_CONS_BUFR, offsetof(struct pcpu, pc_cons_bufr)); ASSYM(PC_CPUID, offsetof(struct pcpu, pc_cpuid)); ASSYM(PC_SCRATCH_RSP, offsetof(struct pcpu, pc_scratch_rsp)); ASSYM(PC_CURPMAP, offsetof(struct pcpu, pc_curpmap)); ==== //depot/projects/smpng/sys/amd64/amd64/intr_machdep.c#20 (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.21 2006/10/10 23:23:11 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.25 2006/10/16 21:40:46 jhb Exp $ */ /* @@ -56,6 +56,14 @@ #include #endif +#ifndef DEV_ATPIC +#include +#include +#include +#include +#include +#endif + #define MAX_STRAY_LOG 5 typedef void (*mask_fn)(void *); ==== //depot/projects/smpng/sys/amd64/amd64/machdep.c#58 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.655 2006/10/10 23:23:11 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.657 2006/10/26 21:42:16 jb Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -125,9 +125,11 @@ #include #endif -#include +#ifdef DEV_ATPIC #include +#else #include +#endif #include #include @@ -1118,7 +1120,11 @@ * This may be done better later if it gets more high level * components in it. If so just link td->td_proc here. */ +#ifdef KSE proc_linkup(&proc0, &ksegrp0, &thread0); +#else + proc_linkup(&proc0, &thread0); +#endif preload_metadata = (caddr_t)(uintptr_t)(modulep + KERNBASE); preload_bootstrap_relocate(KERNBASE); ==== //depot/projects/smpng/sys/amd64/amd64/pmap.c#68 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.571 2006/08/14 15:39:41 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.572 2006/10/22 04:18:01 alc Exp $"); /* * Manages physical address maps. @@ -1665,7 +1665,7 @@ vm_page_t m; TAILQ_FOREACH(m, &vpq->pl, pageq) { - if (m->hold_count || m->busy || (m->flags & PG_BUSY)) + if (m->hold_count || m->busy) continue; TAILQ_FOREACH_SAFE(pv, &m->md.pv_list, pv_list, next_pv) { va = pv->pv_va; ==== //depot/projects/smpng/sys/amd64/amd64/prof_machdep.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/prof_machdep.c,v 1.24 2005/05/14 09:10:00 nyan Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/prof_machdep.c,v 1.28 2006/10/29 09:48:44 bde Exp $"); #ifdef GUPROF #if 0 @@ -37,20 +37,15 @@ #include #include #include +#include #include #include #if 0 #include #endif -#include -#undef MCOUNT -#endif - -#include #include -#ifdef GUPROF #define CPUTIME_CLOCK_UNINITIALIZED 0 #define CPUTIME_CLOCK_I8254 1 #define CPUTIME_CLOCK_TSC 2 @@ -60,7 +55,7 @@ int cputime_bias = 1; /* initialize for locality of reference */ static int cputime_clock = CPUTIME_CLOCK_UNINITIALIZED; -#ifdef I586_PMC_GUPROF +#if defined(PERFMON) && defined(I586_PMC_GUPROF) static u_int cputime_clock_pmc_conf = I586_PMC_GUPROF; static int cputime_clock_pmc_init; static struct gmonparam saved_gmp; @@ -80,7 +75,7 @@ # \n\ # Check that we are profiling. Do it early for speed. \n\ # \n\ - cmpl $GMON_PROF_OFF," __XSTRING(CNAME(_gmonparam)) "+GM_STATE \n\ + cmpl $GMON_PROF_OFF,_gmonparam+GM_STATE \n\ je .mcount_exit \n\ # \n\ # __mcount is the same as [.]mcount except the caller \n\ @@ -98,11 +93,11 @@ jmp .got_frompc \n\ \n\ .p2align 4,0x90 \n\ - .globl " __XSTRING(HIDENAME(mcount)) " \n\ -" __XSTRING(HIDENAME(mcount)) ": \n\ + .globl .mcount \n\ +.mcount: \n\ .globl __cyg_profile_func_enter \n\ __cyg_profile_func_enter: \n\ - cmpl $GMON_PROF_OFF," __XSTRING(CNAME(_gmonparam)) "+GM_STATE \n\ + cmpl $GMON_PROF_OFF,_gmonparam+GM_STATE \n\ je .mcount_exit \n\ # \n\ # The caller's stack frame has already been built, so \n\ @@ -126,7 +121,7 @@ \n\ pushfq \n\ cli \n\ - call " __XSTRING(CNAME(mcount)) " \n\ + call mcount \n\ popfq \n\ popq %r9 \n\ popq %r8 \n\ @@ -139,7 +134,7 @@ ret \n\ "); #else /* !__GNUCLIKE_ASM */ -#error this file needs to be ported to your compiler +#error "this file needs to be ported to your compiler" #endif /* __GNUCLIKE_ASM */ #ifdef GUPROF @@ -164,11 +159,11 @@ GMON_PROF_HIRES = 4 \n\ \n\ .p2align 4,0x90 \n\ - .globl " __XSTRING(HIDENAME(mexitcount)) " \n\ -" __XSTRING(HIDENAME(mexitcount)) ": \n\ + .globl .mexitcount \n\ +.mexitcount: \n\ .globl __cyg_profile_func_exit \n\ __cyg_profile_func_exit: \n\ - cmpl $GMON_PROF_HIRES," __XSTRING(CNAME(_gmonparam)) "+GM_STATE \n\ + cmpl $GMON_PROF_HIRES,_gmonparam+GM_STATE \n\ jne .mexitcount_exit \n\ pushq %rax \n\ pushq %rdx \n\ @@ -180,7 +175,7 @@ movq 7*8(%rsp),%rdi \n\ pushfq \n\ cli \n\ - call " __XSTRING(CNAME(mexitcount)) " \n\ + call mexitcount \n\ popfq \n\ popq %r9 \n\ popq %r8 \n\ @@ -192,8 +187,6 @@ .mexitcount_exit: \n\ ret \n\ "); -#else /* !__GNUCLIKE_ASM */ -#error this file needs to be ported to your compiler #endif /* __GNUCLIKE_ASM */ /* @@ -212,7 +205,6 @@ u_char high, low; static u_int prev_count; -#ifndef SMP if (cputime_clock == CPUTIME_CLOCK_TSC) { /* * Scale the TSC a little to make cputime()'s frequency @@ -226,7 +218,7 @@ prev_count = count; return (delta); } -#if defined(PERFMON) && defined(I586_PMC_GUPROF) +#if defined(PERFMON) && defined(I586_PMC_GUPROF) && !defined(SMP) if (cputime_clock == CPUTIME_CLOCK_I586_PMC) { /* * XXX permon_read() should be inlined so that the @@ -240,8 +232,7 @@ prev_count = count; return (delta); } -#endif /* PERFMON && I586_PMC_GUPROF */ -#endif /* !SMP */ +#endif /* PERFMON && I586_PMC_GUPROF && !SMP */ /* * Read the current value of the 8254 timer counter 0. @@ -323,13 +314,10 @@ { if (cputime_clock == CPUTIME_CLOCK_UNINITIALIZED) { cputime_clock = CPUTIME_CLOCK_I8254; -#ifndef SMP - if (tsc_freq != 0) + if (tsc_freq != 0 && !tsc_is_broken && mp_ncpus < 2) cputime_clock = CPUTIME_CLOCK_TSC; -#endif } gp->profrate = timer_freq << CPUTIME_CLOCK_I8254_SHIFT; -#ifndef SMP if (cputime_clock == CPUTIME_CLOCK_TSC) gp->profrate = tsc_freq >> 1; #if defined(PERFMON) && defined(I586_PMC_GUPROF) @@ -358,7 +346,6 @@ } } #endif /* PERFMON && I586_PMC_GUPROF */ -#endif /* !SMP */ cputime_bias = 0; cputime(); } @@ -375,17 +362,4 @@ } #endif } - -#else /* !GUPROF */ -#ifdef __GNUCLIKE_ASM -__asm(" \n\ - .text \n\ - .p2align 4,0x90 \n\ - .globl " __XSTRING(HIDENAME(mexitcount)) " \n\ -" __XSTRING(HIDENAME(mexitcount)) ": \n\ - ret \n\ -"); -#else /* !__GNUCLIKE_ASM */ -#error this file needs to be ported to your compiler -#endif /* __GNUCLIKE_ASM */ #endif /* GUPROF */ ==== //depot/projects/smpng/sys/amd64/amd64/support.S#17 (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.120 2006/08/28 02:28:14 davidxu Exp $ + * $FreeBSD: src/sys/amd64/amd64/support.S,v 1.121 2006/10/17 02:24:45 davidxu Exp $ */ #include "opt_ddb.h" @@ -342,10 +342,10 @@ ret /* - * casuptr. Compare and set user pointer. Returns -1 or the current value. + * casuword. Compare and set user word. Returns -1 or the current value. * dst = %rdi, old = %rsi, new = %rdx */ -ENTRY(casuptr) +ENTRY(casuword) movq PCPU(CURPCB),%rcx movq $fusufault,PCB_ONFAULT(%rcx) ==== //depot/projects/smpng/sys/amd64/amd64/trap.c#55 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.310 2006/08/14 19:53:53 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.311 2006/10/26 21:42:16 jb Exp $"); /* * AMD64 Trap and System call handling @@ -299,8 +299,10 @@ case T_PAGEFLT: /* page fault */ addr = frame.tf_addr; +#ifdef KSE if (td->td_pflags & TDP_SA) thread_user_enter(td); +#endif i = trap_pfault(&frame, TRUE); if (i == -1) goto userout; @@ -757,8 +759,10 @@ td->td_frame = &frame; if (td->td_ucred != p->p_ucred) cred_update_thread(td); +#ifdef KSE if (p->p_flag & P_SA) thread_user_enter(td); +#endif params = (caddr_t)frame.tf_rsp + sizeof(register_t); code = frame.tf_rax; orig_tf_rflags = frame.tf_rflags; ==== //depot/projects/smpng/sys/amd64/conf/DEFAULTS#6 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/amd64 # -# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.6 2006/06/12 04:21:49 imp Exp $ +# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.7 2006/10/26 22:05:24 jb Exp $ machine amd64 @@ -14,3 +14,6 @@ # UART chips on this platform device uart_ns8250 + +# KSE support went from being default to a kernel option +options KSE ==== //depot/projects/smpng/sys/amd64/conf/GENERIC#52 (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.466 2006/10/05 20:31:57 simon Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.468 2006/10/26 22:11:34 jb Exp $ cpu HAMMER ident GENERIC ==== //depot/projects/smpng/sys/amd64/conf/GENERIC.hints#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.15 2004/07/22 22:28:34 imp Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.16 2006/10/21 12:52:46 ru Exp $ hint.fdc.0.at="isa" hint.fdc.0.port="0x3F0" hint.fdc.0.irq="6" @@ -11,7 +11,6 @@ hint.atkbdc.0.port="0x060" hint.atkbd.0.at="atkbdc" hint.atkbd.0.irq="1" -hint.atkbd.0.flags="0x1" hint.psm.0.at="atkbdc" hint.psm.0.irq="12" hint.vga.0.at="isa" ==== //depot/projects/smpng/sys/amd64/conf/NOTES#36 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.59 2006/09/22 22:11:28 jhb Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.63 2006/10/23 13:23:13 ru Exp $ # # @@ -103,7 +103,7 @@ # # sio: serial ports (see sio(4)), including support for various -# PC Card devices, such as Modem and NICs (see etc/defaults/pccard.conf) +# PC Card devices, such as Modem and NICs # device sio hint.sio.0.at="isa" @@ -202,6 +202,61 @@ # Optional devices: # +# PS/2 mouse +device psm +hint.psm.0.at="atkbdc" +hint.psm.0.irq="12" + +# Options for psm: +options PSM_HOOKRESUME #hook the system resume event, useful + #for some laptops +options PSM_RESETAFTERSUSPEND #reset the device at the resume event + +# The keyboard controller; it controls the keyboard and the PS/2 mouse. +device atkbdc +hint.atkbdc.0.at="isa" +hint.atkbdc.0.port="0x060" + >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Nov 1 18:43:46 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 591F216A412; Wed, 1 Nov 2006 18:43:46 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 1C62216A415 for ; Wed, 1 Nov 2006 18:43:46 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DDE7143D55 for ; Wed, 1 Nov 2006 18:43:45 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA1IhjE1008150 for ; Wed, 1 Nov 2006 18:43:45 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA1IhjQJ008145 for perforce@freebsd.org; Wed, 1 Nov 2006 18:43:45 GMT (envelope-from jhb@freebsd.org) Date: Wed, 1 Nov 2006 18:43:45 GMT Message-Id: <200611011843.kA1IhjQJ008145@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 108932 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 18:43:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=108932 Change 108932 by jhb@jhb_mutex on 2006/11/01 18:43:12 Update. Affected files ... .. //depot/projects/smpng/sys/notes#94 edit .. //depot/user/jhb/intr/notes#44 edit .. //depot/user/jhb/msi/notes#2 edit Differences ... ==== //depot/projects/smpng/sys/notes#94 (text+ko) ==== @@ -80,10 +80,11 @@ - untested Active child branches: -- jhb_intr - MSI? +- jhb_intr - misc interrupt stuff - jhb_intr_fast - jeff's fast ithread patches - jhb_ktrace - kernel debugging stuff, asm constraints - jhb_lock - synchronization primitives +- jhb_msi - PCI MSI/MSI-X interrupts - jhb_needresched - scheduler fun - jhb_preemption - preemption - jhb_proc - proc locking ==== //depot/user/jhb/intr/notes#44 (text+ko) ==== @@ -107,32 +107,6 @@ - atpic code is now only used for UP, so it can use spinlock sections explicitly rather than icu lock -MSI Support: -- i386 - - MSI interrupt source class - - eoi just does lapic_eoi() - - enable/disable source do little - - need a function for allocating N vectors which creates the interrupt - sources, allocs apic vectors for them, and then adds them - - need a way to teardown as well, maybe nexus' bus_release_resource() - would do that via a new release_resource intsrc method? - - determine new-bus interface for MSI IRQs - - need a way to request MSIs - - pci bridge drivers (or bus) should have opportunity to blacklist - known-bad bridges - - need to support alloc'ing certain amounts (1, 4, 8, etc.) from the - driver - - i386 MSI class will add new interrupt sources after the I/O APIC IRQs - - nexus (or somebody) will then create IRQ resources at rid 1 .. N and - set them up for the child device - - alternative is to fix MSI at rid 1 and let that resource have multiple - IRQs. driver has to call bus_alloc_resourc() for each supported - count, and bus_setup_intr() will have to grow an index. this - interface requires the IRQs to be contiguously numbered though, and - I think that is a bad assumption to enforce - - child device can then do bus_alloc_resource() / bus_setup_intr() -- amd64, just copy over from i386 for now - Remaining Interrupt Event issues: + Port to powerpc - has a few XXX, doesn't handle multiple fast ==== //depot/user/jhb/msi/notes#2 (text+ko) ==== @@ -90,3 +90,27 @@ - jhb_proc_slock - per-process spin lock Space reserved for child branches: +- i386 + - MSI interrupt source class + - eoi just does lapic_eoi() + - enable/disable source do little + - need a function for allocating N vectors which creates the interrupt + sources, allocs apic vectors for them, and then adds them + - need a way to teardown as well, maybe nexus' bus_release_resource() + would do that via a new release_resource intsrc method? + - determine new-bus interface for MSI IRQs + - need a way to request MSIs + - pci bridge drivers (or bus) should have opportunity to blacklist + known-bad bridges + - need to support alloc'ing certain amounts (1, 4, 8, etc.) from the + driver + - i386 MSI class will add new interrupt sources after the I/O APIC IRQs + - nexus (or somebody) will then create IRQ resources at rid 1 .. N and + set them up for the child device + - alternative is to fix MSI at rid 1 and let that resource have multiple + IRQs. driver has to call bus_alloc_resourc() for each supported + count, and bus_setup_intr() will have to grow an index. this + interface requires the IRQs to be contiguously numbered though, and + I think that is a bad assumption to enforce + - child device can then do bus_alloc_resource() / bus_setup_intr() +- amd64, just copy over from i386 for now From owner-p4-projects@FreeBSD.ORG Wed Nov 1 19:05:16 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EB3A816A47C; Wed, 1 Nov 2006 19:05:15 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 B62B716A403 for ; Wed, 1 Nov 2006 19:05:15 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7FB2643D70 for ; Wed, 1 Nov 2006 19:05:15 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA1J5Fno013074 for ; Wed, 1 Nov 2006 19:05:15 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA1J5FLq013070 for perforce@freebsd.org; Wed, 1 Nov 2006 19:05:15 GMT (envelope-from marcel@freebsd.org) Date: Wed, 1 Nov 2006 19:05:15 GMT Message-Id: <200611011905.kA1J5FLq013070@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 Cc: Subject: PERFORCE change 108935 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 19:05:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=108935 Change 108935 by marcel@marcel_cluster on 2006/11/01 19:04:39 Use __FBSDID Affected files ... .. //depot/projects/ia64/sys/boot/efi/libefi/efifs.c#13 edit Differences ... ==== //depot/projects/ia64/sys/boot/efi/libefi/efifs.c#13 (text+ko) ==== @@ -23,10 +23,11 @@ * LIABILITY, OR TORT (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/boot/efi/libefi/efifs.c,v 1.8 2003/08/02 08:22:03 marcel Exp $ */ +#include +__FBSDID("$FreeBSD: src/sys/boot/efi/libefi/efifs.c,v 1.8 2003/08/02 08:22:03 marcel Exp $"); + #include #include #include From owner-p4-projects@FreeBSD.ORG Wed Nov 1 19:40:01 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 207DC16A47E; Wed, 1 Nov 2006 19:40:01 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 D886016A416 for ; Wed, 1 Nov 2006 19:40:00 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3ED4D43D5D for ; Wed, 1 Nov 2006 19:40:00 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA1Je0kx018274 for ; Wed, 1 Nov 2006 19:40:00 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA1Jdx9o018259 for perforce@freebsd.org; Wed, 1 Nov 2006 19:39:59 GMT (envelope-from marcel@freebsd.org) Date: Wed, 1 Nov 2006 19:39:59 GMT Message-Id: <200611011939.kA1Jdx9o018259@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 Cc: Subject: PERFORCE change 108938 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 19:40:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=108938 Change 108938 by marcel@marcel_cluster on 2006/11/01 19:39:51 Remove efifpswa.c. It's ia64 specific and integrated with the ia64 EFI loader. Affected files ... .. //depot/projects/ia64/sys/boot/efi/libefi/efifpswa.c#7 delete Differences ... From owner-p4-projects@FreeBSD.ORG Wed Nov 1 19:45:16 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D2C4C16A506; Wed, 1 Nov 2006 19:45:15 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 52BF216A4FF for ; Wed, 1 Nov 2006 19:45:15 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5438643D9C for ; Wed, 1 Nov 2006 19:45:08 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA1Jj8GB019772 for ; Wed, 1 Nov 2006 19:45:08 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA1Jj7pr019743 for perforce@freebsd.org; Wed, 1 Nov 2006 19:45:07 GMT (envelope-from marcel@freebsd.org) Date: Wed, 1 Nov 2006 19:45:07 GMT Message-Id: <200611011945.kA1Jj7pr019743@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 Cc: Subject: PERFORCE change 108939 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 19:45:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=108939 Change 108939 by marcel@marcel_cluster on 2006/11/01 19:44:13 Export efi_status_to_errno(). It's too useful to leep it as a static function in efifs.c. Affected files ... .. //depot/projects/ia64/sys/boot/efi/include/efilib.h#8 edit .. //depot/projects/ia64/sys/boot/efi/libefi/Makefile#14 edit .. //depot/projects/ia64/sys/boot/efi/libefi/efifs.c#14 edit .. //depot/projects/ia64/sys/boot/efi/libefi/errno.c#1 add Differences ... ==== //depot/projects/ia64/sys/boot/efi/include/efilib.h#8 (text+ko) ==== @@ -37,14 +37,14 @@ extern struct devsw efifs_dev; extern struct fs_ops efifs_fsops; +extern struct devsw efinet_dev; extern struct netif_driver efinetif; void *efi_get_table(EFI_GUID *tbl); void efi_main(EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *system_table); +int efi_status_to_errno(EFI_STATUS); time_t efi_time(EFI_TIME *); -EFI_PHYSICAL_ADDRESS efimd_va2pa(EFI_VIRTUAL_ADDRESS); - EFI_STATUS main(int argc, CHAR16 *argv[]); void exit(EFI_STATUS status); ==== //depot/projects/ia64/sys/boot/efi/libefi/Makefile#14 (text+ko) ==== @@ -3,7 +3,7 @@ LIB= efi INTERNALLIB= -SRCS= delay.c efi_console.c efifs.c efinet.c libefi.c module.c time.c +SRCS= delay.c efi_console.c efifs.c efinet.c errno.c libefi.c module.c time.c CFLAGS+= -I${.CURDIR}/../include CFLAGS+= -I${.CURDIR}/../include/${MACHINE_ARCH:S/amd64/i386/} ==== //depot/projects/ia64/sys/boot/efi/libefi/efifs.c#14 (text+ko) ==== @@ -55,27 +55,6 @@ static int fs_handle_count; static int -status_to_errno(EFI_STATUS status) -{ - - switch (status) { - case EFI_ACCESS_DENIED: return (EPERM); - case EFI_BUFFER_TOO_SMALL: return (EOVERFLOW); - case EFI_DEVICE_ERROR: return (EIO); - case EFI_INVALID_PARAMETER: return (EINVAL); - case EFI_MEDIA_CHANGED: return (ESTALE); - case EFI_NO_MEDIA: return (ENXIO); - case EFI_NOT_FOUND: return (ENOENT); - case EFI_OUT_OF_RESOURCES: return (ENOMEM); - case EFI_UNSUPPORTED: return (ENODEV); - case EFI_VOLUME_CORRUPTED: return (EIO); - case EFI_VOLUME_FULL: return (ENOSPC); - case EFI_WRITE_PROTECTED: return (EACCES); - } - return (EDOOFUS); -} - -static int efifs_open(const char *upath, struct open_file *f) { struct devdesc *dev = f->f_devdata; @@ -91,12 +70,12 @@ status = BS->HandleProtocol(fs_handles[dev->d_unit], &sfs_guid, (VOID **)&fsif); if (EFI_ERROR(status)) - return (status_to_errno(status)); + return (efi_status_to_errno(status)); /* Get the root directory. */ status = fsif->OpenVolume(fsif, &root); if (EFI_ERROR(status)) - return (status_to_errno(status)); + return (efi_status_to_errno(status)); while (*upath == '/') upath++; @@ -134,7 +113,7 @@ free(path); root->Close(root); if (EFI_ERROR(status)) - return (status_to_errno(status)); + return (efi_status_to_errno(status)); f->f_fsdata = file; return (0); @@ -171,7 +150,7 @@ sz = EFI_BLOCK_SIZE; status = file->Read(file, &sz, bufp); if (EFI_ERROR(status)) - return (status_to_errno(status)); + return (efi_status_to_errno(status)); if (sz == 0) break; size -= sz; @@ -200,7 +179,7 @@ sz = EFI_BLOCK_SIZE; status = file->Write(file, &sz, bufp); if (EFI_ERROR(status)) - return (status_to_errno(status)); + return (efi_status_to_errno(status)); if (sz == 0) break; size -= sz; @@ -264,7 +243,7 @@ sz = sizeof(fi); status = file->GetInfo(file, &fi_guid, &sz, &fi); if (EFI_ERROR(status)) - return (status_to_errno(status)); + return (efi_status_to_errno(status)); sb->st_mode = S_IRUSR | S_IRGRP | S_IROTH; if ((fi.info.Attribute & EFI_FILE_READ_ONLY) == 0) @@ -299,7 +278,7 @@ sz = sizeof(fi); status = file->Read(file, &sz, &fi); if (EFI_ERROR(status)) - return (status_to_errno(status)); + return (efi_status_to_errno(status)); if (sz == 0) return (ENOENT); @@ -356,7 +335,7 @@ } } if (EFI_ERROR(status)) - return (status_to_errno(status)); + return (efi_status_to_errno(status)); fs_handle_count = sz / sizeof(EFI_HANDLE); return (0); } @@ -413,7 +392,7 @@ err: sprintf(line, "[--] error %d: unable to obtain information\n", - status_to_errno(status)); + efi_status_to_errno(status)); pager_output(line); } } From owner-p4-projects@FreeBSD.ORG Wed Nov 1 19:58:27 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CAA8416A47E; Wed, 1 Nov 2006 19:58:27 +0000 (UTC) X-Original-To: perforce@FreeBSD.org 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 A361516A416 for ; Wed, 1 Nov 2006 19:58:27 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E674743D5C for ; Wed, 1 Nov 2006 19:58:26 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA1JwQgS022480 for ; Wed, 1 Nov 2006 19:58:26 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA1JwQbN022477 for perforce@freebsd.org; Wed, 1 Nov 2006 19:58:26 GMT (envelope-from rdivacky@FreeBSD.org) Date: Wed, 1 Nov 2006 19:58:26 GMT Message-Id: <200611011958.kA1JwQbN022477@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 108941 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 19:58:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=108941 Change 108941 by rdivacky@rdivacky_witten on 2006/11/01 19:57:42 Lock proc in gettid. Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#22 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#22 (text+ko) ==== @@ -1408,7 +1408,9 @@ printf(ARGS(gettid, "")); #endif + PROC_LOCK(td->td_proc); td->td_retval[0] = td->td_proc->p_pid; + PROC_UNLOCK(td->td_proc); return (0); } From owner-p4-projects@FreeBSD.ORG Wed Nov 1 19:58:29 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2CAAA16A53C; Wed, 1 Nov 2006 19:58:27 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 A7F8216A417 for ; Wed, 1 Nov 2006 19:58:27 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 45A1743D53 for ; Wed, 1 Nov 2006 19:58:27 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA1JwRMF022486 for ; Wed, 1 Nov 2006 19:58:27 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA1JwQlX022483 for perforce@freebsd.org; Wed, 1 Nov 2006 19:58:26 GMT (envelope-from marcel@freebsd.org) Date: Wed, 1 Nov 2006 19:58:26 GMT Message-Id: <200611011958.kA1JwQlX022483@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 Cc: Subject: PERFORCE change 108942 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 19:58:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=108942 Change 108942 by marcel@marcel_cluster on 2006/11/01 19:57:50 Remove module.c. It only contained efi_autoload(), which was a stub that did nothing. It's not used on ia64. Affected files ... .. //depot/projects/ia64/sys/boot/efi/libefi/Makefile#15 edit .. //depot/projects/ia64/sys/boot/efi/libefi/module.c#3 delete Differences ... ==== //depot/projects/ia64/sys/boot/efi/libefi/Makefile#15 (text+ko) ==== @@ -3,7 +3,7 @@ LIB= efi INTERNALLIB= -SRCS= delay.c efi_console.c efifs.c efinet.c errno.c libefi.c module.c time.c +SRCS= delay.c efi_console.c efifs.c efinet.c errno.c libefi.c time.c CFLAGS+= -I${.CURDIR}/../include CFLAGS+= -I${.CURDIR}/../include/${MACHINE_ARCH:S/amd64/i386/} From owner-p4-projects@FreeBSD.ORG Wed Nov 1 20:02:43 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9B9F116A5A7; Wed, 1 Nov 2006 20:02:43 +0000 (UTC) X-Original-To: perforce@FreeBSD.org 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 599E216A58E for ; Wed, 1 Nov 2006 20:02:43 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E64B743D62 for ; Wed, 1 Nov 2006 20:02:34 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA1K2XNk023392 for ; Wed, 1 Nov 2006 20:02:33 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA1K2WUi023389 for perforce@freebsd.org; Wed, 1 Nov 2006 20:02:32 GMT (envelope-from rdivacky@FreeBSD.org) Date: Wed, 1 Nov 2006 20:02:32 GMT Message-Id: <200611012002.kA1K2WUi023389@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 108943 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 20:02:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=108943 Change 108943 by rdivacky@rdivacky_witten on 2006/11/01 20:02:19 Use standard loging. Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_getcwd.c#3 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_getcwd.c#3 (text+ko) ==== @@ -425,8 +425,8 @@ int error, len, lenused; #ifdef DEBUG - printf("Linux-emul(%ld): getcwd(%p, %ld)\n", (long)td->td_proc->p_pid, - args->buf, (long)args->bufsize); + if (ldebug(getcwd)) + printf(ARGS(getcwd, "%p, %ld"), args->buf, (long)args->bufsize); #endif len = args->bufsize; From owner-p4-projects@FreeBSD.ORG Wed Nov 1 20:11:51 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 813C116A49E; Wed, 1 Nov 2006 20:11:51 +0000 (UTC) X-Original-To: perforce@FreeBSD.org 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 36F9316A412 for ; Wed, 1 Nov 2006 20:11:51 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8D65443D93 for ; Wed, 1 Nov 2006 20:11:46 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA1KBkp4026190 for ; Wed, 1 Nov 2006 20:11:46 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA1KBkpR026181 for perforce@freebsd.org; Wed, 1 Nov 2006 20:11:46 GMT (envelope-from rdivacky@FreeBSD.org) Date: Wed, 1 Nov 2006 20:11:46 GMT Message-Id: <200611012011.kA1KBkpR026181@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 108945 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 20:11:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=108945 Change 108945 by rdivacky@rdivacky_witten on 2006/11/01 20:11:03 Make it compilable under -DDEBUG. Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_signal.c#5 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_signal.c#5 (text+ko) ==== @@ -458,8 +458,8 @@ return(error); #ifdef DEBUG if (ldebug(rt_sigtimedwait)) - printf("Linux-emul rt_sigtimedwait (%ld): incoming timeout (%ld/%ld)\n", - (long)p->p_pid, ltv.tv_sec, ltv.tv_usec); + printf("Linux-emul rt_sigtimedwait (%d): incoming timeout (%d/%d)\n", + p->p_pid, ltv.tv_sec, ltv.tv_usec); #endif tv.tv_sec = (long)ltv.tv_sec; tv.tv_usec = (suseconds_t)ltv.tv_usec; @@ -477,8 +477,8 @@ timevalclear(&tv); #ifdef DEBUG if (ldebug(rt_sigtimedwait)) - printf("Linux-emul rt_sigtimedwait (%ld): converted timeout (%ld/%ld)\n", - (long)p->p_pid, tv.tv_sec, tv.tv_usec); + printf("Linux-emul rt_sigtimedwait (%d): converted timeout (%d/%ld)\n", + p->p_pid, tv.tv_sec, tv.tv_usec); #endif } TIMEVAL_TO_TIMESPEC(&tv, &ts); From owner-p4-projects@FreeBSD.ORG Wed Nov 1 20:40:49 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A6FC116A40F; Wed, 1 Nov 2006 20:40:49 +0000 (UTC) X-Original-To: perforce@FreeBSD.org 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 824C616A403 for ; Wed, 1 Nov 2006 20:40:49 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B4C5043D76 for ; Wed, 1 Nov 2006 20:40:25 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA1KeP6P033138 for ; Wed, 1 Nov 2006 20:40:25 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA1KePTX033135 for perforce@freebsd.org; Wed, 1 Nov 2006 20:40:25 GMT (envelope-from rdivacky@FreeBSD.org) Date: Wed, 1 Nov 2006 20:40:25 GMT Message-Id: <200611012040.kA1KePTX033135@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 108950 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 20:40:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=108950 Change 108950 by rdivacky@rdivacky_witten on 2006/11/01 20:39:42 Put some more debuging into syscalls. Its a realy pity to find after 40 minutes of wonder why it doesnt call getppid that you only dont log getppid calling ;( Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#23 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#23 (text+ko) ==== @@ -1385,6 +1385,11 @@ struct linux_emuldata *em; char osrel[LINUX_MAX_UTSNAME]; +#ifdef DEBUG + if (ldebug(getpid)) + printf(ARGS(getpid, "")); +#endif + linux_get_osrelease(td, osrel); if (strlen(osrel) >= 3 && osrel[2] == '6') { em = em_find(td->td_proc, EMUL_UNLOCKED); @@ -1422,6 +1427,11 @@ struct proc *p, *pp; char osrel[LINUX_MAX_UTSNAME]; +#ifdef DEBUG + if (ldebug(getppid)) + printf(ARGS(getppid, "")); +#endif + linux_get_osrelease(td, osrel); if (strlen(osrel) >= 3 && osrel[2] != '6') { PROC_LOCK(td->td_proc); @@ -1466,6 +1476,10 @@ int linux_getgid(struct thread *td, struct linux_getgid_args *args) { +#ifdef DEBUG + if (ldebug(getgid)) + printf(ARGS(getgid, "")); +#endif td->td_retval[0] = td->td_ucred->cr_rgid; return (0); @@ -1474,6 +1488,10 @@ int linux_getuid(struct thread *td, struct linux_getuid_args *args) { +#ifdef DEBUG + if (ldebug(getuid)) + printf(ARGS(getuid, "")); +#endif td->td_retval[0] = td->td_ucred->cr_ruid; return (0); @@ -1484,6 +1502,12 @@ linux_getsid(struct thread *td, struct linux_getsid_args *args) { struct getsid_args bsd; + +#ifdef DEBUG + if (ldebug(getsid)) + printf(ARGS(getsid, "")); +#endif + bsd.pid = args->pid; return getsid(td, &bsd); } @@ -1501,6 +1525,11 @@ struct getpriority_args bsd_args; int error; +#ifdef DEBUG + if (ldebug(getpriority)) + printf(ARGS(getpriority, "")); +#endif + bsd_args.which = args->which; bsd_args.who = args->who; error = getpriority(td, &bsd_args); @@ -1513,6 +1542,11 @@ { int name[2]; +#ifdef DEBUG + if (ldebug(sethostname)) + printf(ARGS(sethostname, "")); +#endif + name[0] = CTL_KERN; name[1] = KERN_HOSTNAME; return (userland_sysctl(td, name, 2, 0, 0, 0, args->hostname, From owner-p4-projects@FreeBSD.ORG Wed Nov 1 20:55:55 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8785616A47C; Wed, 1 Nov 2006 20:55:55 +0000 (UTC) X-Original-To: perforce@FreeBSD.org 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 4917216A416 for ; Wed, 1 Nov 2006 20:55:55 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 25EEA43D55 for ; Wed, 1 Nov 2006 20:55:47 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA1KtlUo044185 for ; Wed, 1 Nov 2006 20:55:47 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA1Ktl1a044182 for perforce@freebsd.org; Wed, 1 Nov 2006 20:55:47 GMT (envelope-from rdivacky@FreeBSD.org) Date: Wed, 1 Nov 2006 20:55:47 GMT Message-Id: <200611012055.kA1Ktl1a044182@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 108953 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 20:55:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=108953 Change 108953 by rdivacky@rdivacky_witten on 2006/11/01 20:55:24 Change runtime check to a KASSERT. Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#24 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#24 (text+ko) ==== @@ -1447,12 +1447,7 @@ /* find the group leader */ p = pfind(em->shared->group_pid); - if (p == NULL) { -#ifdef DEBUG - printf(LMSG("parent process not found.\n")); -#endif - return (0); - } + KASSERT(p != NULL, ("getppid: parent process not found.\n")); pp = p->p_pptr; /* switch to parent */ PROC_LOCK(pp); From owner-p4-projects@FreeBSD.ORG Wed Nov 1 21:16:21 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E386516A505; Wed, 1 Nov 2006 21:16:20 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 7E97716A508 for ; Wed, 1 Nov 2006 21:16:20 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 744BF43D72 for ; Wed, 1 Nov 2006 21:16:16 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA1LGGrB049060 for ; Wed, 1 Nov 2006 21:16:16 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA1LGGbt049057 for perforce@freebsd.org; Wed, 1 Nov 2006 21:16:16 GMT (envelope-from piso@freebsd.org) Date: Wed, 1 Nov 2006 21:16:16 GMT Message-Id: <200611012116.kA1LGGbt049057@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 108959 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 21:16:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=108959 Change 108959 by piso@piso_newluxor on 2006/11/01 21:16:12 -assert lock in functions manipulating libalias -turn libalias lock to non recursive -spacing Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#20 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_db.c#14 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_local.h#9 edit .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_proxy.c#10 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#20 (text+ko) ==== @@ -283,6 +283,8 @@ static int IcmpAliasIn1(struct libalias *la, struct ip *pip) { + + LIBALIAS_LOCK_ASSERT(la); /* De-alias incoming echo and timestamp replies. Alias incoming echo and timestamp requests. @@ -326,6 +328,8 @@ static int IcmpAliasIn2(struct libalias *la, struct ip *pip) { + + LIBALIAS_LOCK_ASSERT(la); /* Alias incoming ICMP error messages containing IP header and first 64 bits of datagram. @@ -429,6 +433,7 @@ int iresult; struct icmp *ic; + LIBALIAS_LOCK_ASSERT(la); /* Return if proxy-only mode is enabled */ if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY) return (PKT_ALIAS_OK); @@ -468,6 +473,7 @@ struct alias_link *lnk; struct icmp *ic; + LIBALIAS_LOCK_ASSERT(la); ic = (struct icmp *)ip_next(pip); /* Save overwritten data for when echo packet returns */ @@ -515,6 +521,7 @@ struct tcphdr *tc; struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); ic = (struct icmp *)ip_next(pip); ip = &ic->icmp_ip; @@ -608,6 +615,7 @@ int iresult; struct icmp *ic; + LIBALIAS_LOCK_ASSERT(la); (void)create; /* Return if proxy-only mode is enabled */ @@ -650,6 +658,7 @@ */ struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); /* Return if proxy-only mode is enabled */ if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY) return (PKT_ALIAS_OK); @@ -681,6 +690,7 @@ */ struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); (void)create; /* Return if proxy-only mode is enabled */ @@ -710,6 +720,7 @@ struct udphdr *ud; struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); /* Return if proxy-only mode is enabled */ if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY) return (PKT_ALIAS_OK); @@ -775,6 +786,7 @@ struct alias_link *lnk; int error; + LIBALIAS_LOCK_ASSERT(la); /* Return if proxy-only mode is enabled */ if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY) return (PKT_ALIAS_OK); @@ -835,6 +847,7 @@ struct tcphdr *tc; struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); tc = (struct tcphdr *)ip_next(pip); lnk = FindUdpTcpIn(la, pip->ip_src, pip->ip_dst, @@ -959,6 +972,7 @@ struct tcphdr *tc; struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); tc = (struct tcphdr *)ip_next(pip); if (create) @@ -1085,6 +1099,7 @@ { struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); lnk = FindFragmentIn2(la, pip->ip_src, pip->ip_dst, pip->ip_id); if (lnk != NULL) { struct in_addr original_address; @@ -1105,6 +1120,7 @@ { struct in_addr alias_address; + LIBALIAS_LOCK_ASSERT(la); alias_address = FindAliasAddress(la, pip->ip_src); DifferentialChecksum(&pip->ip_sum, &alias_address, &pip->ip_src, 2); @@ -1206,7 +1222,9 @@ LIBALIAS_LOCK(la); if (la->packetAliasMode & PKT_ALIAS_REVERSE) { la->packetAliasMode &= ~PKT_ALIAS_REVERSE; + LIBALIAS_UNLOCK(la); iresult = LibAliasOut(la, ptr, maxpacketsize); + LIBALIAS_LOCK(la); la->packetAliasMode |= PKT_ALIAS_REVERSE; goto getout; } @@ -1318,7 +1336,9 @@ LIBALIAS_LOCK(la); if (la->packetAliasMode & PKT_ALIAS_REVERSE) { la->packetAliasMode &= ~PKT_ALIAS_REVERSE; + LIBALIAS_UNLOCK(la); iresult = LibAliasIn(la, ptr, maxpacketsize); + LIBALIAS_LOCK(la); la->packetAliasMode |= PKT_ALIAS_REVERSE; goto getout; } ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_db.c#14 (text+ko) ==== @@ -482,6 +482,8 @@ static void ShowAliasStats(struct libalias *la) { + + LIBALIAS_LOCK_ASSERT(la); /* Used for debugging */ if (la->logDesc) { int tot = la->icmpLinkCount + la->udpLinkCount + @@ -575,6 +577,7 @@ u_short port_sys; u_short port_net; + LIBALIAS_LOCK_ASSERT(la); /* Description of alias_port_param for GetNewPort(). When this parameter is zero or positive, it precisely specifies @@ -675,6 +678,7 @@ int sock; struct sockaddr_in sock_addr; + LIBALIAS_LOCK_ASSERT(la); if (link_type == LINK_TCP) sock = socket(AF_INET, SOCK_STREAM, 0); else if (link_type == LINK_UDP) @@ -733,6 +737,7 @@ u_short port_sys; int link_type; + LIBALIAS_LOCK_ASSERT(la); /* * Get link_type from protocol */ @@ -812,6 +817,7 @@ struct alias_link *lnk; int i, icount; + LIBALIAS_LOCK_ASSERT(la); icount = 0; for (i = 0; i < LINK_TABLE_OUT_SIZE; i++) { lnk = LIST_FIRST(&la->linkTableOut[i]); @@ -835,6 +841,7 @@ int icount; struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); icount = 0; lnk = LIST_FIRST(&la->linkTableOut[la->cleanupIndex++]); while (lnk != NULL) { @@ -875,6 +882,7 @@ { struct libalias *la = lnk->la; + LIBALIAS_LOCK_ASSERT(la); /* Don't do anything if the link is marked permanent */ if (la->deleteAllLinks == 0 && lnk->flags & LINK_PERMANENT) return; @@ -959,6 +967,7 @@ u_int start_point; /* zero, equal to alias port */ struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); lnk = malloc(sizeof(struct alias_link)); if (lnk != NULL) { /* Basic initialization */ @@ -1100,6 +1109,7 @@ struct alias_link *new_lnk; /* zero, equal to alias port */ struct libalias *la = old_lnk->la; + LIBALIAS_LOCK_ASSERT(la); new_lnk = AddLink(la, src_addr, dst_addr, alias_addr, src_port, dst_port, alias_port_param, link_type); @@ -1125,6 +1135,7 @@ u_int i; struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); i = StartPointOut(src_addr, dst_addr, src_port, dst_port, link_type); LIST_FOREACH(lnk, &la->linkTableOut[i], list_out) { if (lnk->src_addr.s_addr == src_addr.s_addr @@ -1172,6 +1183,7 @@ { struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); lnk = _FindLinkOut(la, src_addr, dst_addr, src_port, dst_port, link_type, replace_partial_links); @@ -1208,6 +1220,7 @@ struct alias_link *lnk_unknown_dst_addr; struct alias_link *lnk_unknown_dst_port; + LIBALIAS_LOCK_ASSERT(la); /* Initialize pointers */ lnk_fully_specified = NULL; lnk_unknown_all = NULL; @@ -1311,6 +1324,7 @@ { struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); lnk = _FindLinkIn(la, dst_addr, alias_addr, dst_port, alias_port, link_type, replace_partial_links); @@ -1358,6 +1372,7 @@ { struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); lnk = FindLinkIn(la, dst_addr, alias_addr, NO_DEST_PORT, id_alias, LINK_ICMP, 0); @@ -1381,6 +1396,7 @@ { struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); lnk = FindLinkOut(la, src_addr, dst_addr, id, NO_DEST_PORT, LINK_ICMP, 0); @@ -1403,6 +1419,7 @@ { struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); lnk = FindLinkIn(la, dst_addr, alias_addr, NO_DEST_PORT, ip_id, LINK_FRAGMENT_ID, 0); @@ -1422,6 +1439,8 @@ struct in_addr alias_addr, /* is not found. */ u_short ip_id) { + + LIBALIAS_LOCK_ASSERT(la); return FindLinkIn(la, dst_addr, alias_addr, NO_DEST_PORT, ip_id, LINK_FRAGMENT_ID, 0); @@ -1432,6 +1451,8 @@ AddFragmentPtrLink(struct libalias *la, struct in_addr dst_addr, u_short ip_id) { + + LIBALIAS_LOCK_ASSERT(la); return AddLink(la, la->nullAddress, dst_addr, la->nullAddress, NO_SRC_PORT, NO_DEST_PORT, ip_id, LINK_FRAGMENT_PTR); @@ -1442,6 +1463,8 @@ FindFragmentPtr(struct libalias *la, struct in_addr dst_addr, u_short ip_id) { + + LIBALIAS_LOCK_ASSERT(la); return FindLinkIn(la, dst_addr, la->nullAddress, NO_DEST_PORT, ip_id, LINK_FRAGMENT_PTR, 0); @@ -1455,6 +1478,7 @@ { struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); lnk = FindLinkIn(la, dst_addr, alias_addr, NO_DEST_PORT, 0, proto, 1); @@ -1478,6 +1502,7 @@ { struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); lnk = FindLinkOut(la, src_addr, dst_addr, NO_SRC_PORT, NO_DEST_PORT, proto, 1); @@ -1505,6 +1530,7 @@ int link_type; struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); switch (proto) { case IPPROTO_UDP: link_type = LINK_UDP; @@ -1544,6 +1570,7 @@ int link_type; struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); switch (proto) { case IPPROTO_UDP: link_type = LINK_UDP; @@ -1578,6 +1605,7 @@ { struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); lnk = AddLink(la, src_addr, dst_addr, alias_addr, src_call_id, 0, GET_ALIAS_PORT, LINK_PPTP); @@ -1594,6 +1622,7 @@ u_int i; struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); i = StartPointOut(src_addr, dst_addr, 0, 0, LINK_PPTP); LIST_FOREACH(lnk, &la->linkTableOut[i], list_out) if (lnk->link_type == LINK_PPTP && @@ -1614,6 +1643,7 @@ u_int i; struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); i = StartPointOut(src_addr, dst_addr, 0, 0, LINK_PPTP); LIST_FOREACH(lnk, &la->linkTableOut[i], list_out) if (lnk->link_type == LINK_PPTP && @@ -1634,6 +1664,7 @@ u_int i; struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); i = StartPointIn(alias_addr, 0, LINK_PPTP); LIST_FOREACH(lnk, &la->linkTableIn[i], list_in) if (lnk->link_type == LINK_PPTP && @@ -1653,6 +1684,7 @@ { struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); lnk = FindLinkIn(la, dst_addr, alias_addr, 0 /* any */ , alias_call_id, LINK_PPTP, 0); @@ -1672,6 +1704,7 @@ int link_type; struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); switch (proto) { case IPPROTO_UDP: link_type = LINK_UDP; @@ -1703,6 +1736,7 @@ { struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); lnk = FindLinkIn(la, la->nullAddress, alias_addr, 0, 0, LINK_ADDR, 0); if (lnk == NULL) { @@ -1735,6 +1769,7 @@ { struct alias_link *lnk; + LIBALIAS_LOCK_ASSERT(la); lnk = FindLinkOut(la, original_addr, la->nullAddress, 0, 0, LINK_ADDR, 0); if (lnk == NULL) { @@ -1891,6 +1926,8 @@ struct in_addr GetDefaultAliasAddress(struct libalias *la) { + + LIBALIAS_LOCK_ASSERT(la); return (la->aliasAddress); } @@ -1898,6 +1935,8 @@ void SetDefaultAliasAddress(struct libalias *la, struct in_addr alias_addr) { + + LIBALIAS_LOCK_ASSERT(la); la->aliasAddress = alias_addr; } @@ -2112,6 +2151,8 @@ void ClearCheckNewLink(struct libalias *la) { + + LIBALIAS_LOCK_ASSERT(la); la->newDefaultLink = 0; } @@ -2134,6 +2175,7 @@ { struct libalias *la = lnk->la; + LIBALIAS_LOCK_ASSERT(la); la->deleteAllLinks = 1; lnk = ReLink(lnk, lnk->src_addr, lnk->dst_addr, lnk->alias_addr, lnk->src_port, cid, lnk->alias_port, lnk->link_type); @@ -2166,6 +2208,7 @@ struct timezone tz; #endif + LIBALIAS_LOCK_ASSERT(la); /* * Save system time (seconds) in global variable timeStamp for use * by other functions. This is done so as not to unnecessarily @@ -2213,6 +2256,8 @@ static int InitPacketAliasLog(struct libalias *la) { + + LIBALIAS_LOCK_ASSERT(la); if (~la->packetAliasMode & PKT_ALIAS_LOG) { #ifdef _KERNEL if ((la->logDesc = malloc(LIBALIAS_BUF_SIZE))) @@ -2233,14 +2278,16 @@ static void UninitPacketAliasLog(struct libalias *la) { - if (la->logDesc) { + + LIBALIAS_LOCK_ASSERT(la); + if (la->logDesc) { #ifdef _KERNEL - free(la->logDesc); + free(la->logDesc); #else - fclose(la->logDesc); + fclose(la->logDesc); #endif - la->logDesc = NULL; - } + la->logDesc = NULL; + } la->packetAliasMode &= ~PKT_ALIAS_LOG; } @@ -2501,8 +2548,10 @@ LIST_INIT(&la->linkTableOut[i]); for (i = 0; i < LINK_TABLE_IN_SIZE; i++) LIST_INIT(&la->linkTableIn[i]); - + LIBALIAS_LOCK_INIT(la); + LIBALIAS_LOCK(la); } else { + LIBALIAS_LOCK(la); la->deleteAllLinks = 1; CleanupAliasData(la); la->deleteAllLinks = 0; @@ -2533,7 +2582,7 @@ #ifndef _KERNEL LibAliasRefreshModules(); #endif - LIBALIAS_LOCK_INIT(la); + LIBALIAS_UNLOCK(la); return (la); } @@ -2710,6 +2759,7 @@ InitPunchFW(struct libalias *la) { + LIBALIAS_LOCK_ASSERT(la); la->fireWallField = malloc(la->fireWallNumNums); if (la->fireWallField) { memset(la->fireWallField, 0, la->fireWallNumNums); @@ -2724,6 +2774,8 @@ static void UninitPunchFW(struct libalias *la) { + + LIBALIAS_LOCK_ASSERT(la); ClearAllFWHoles(la); if (la->fireWallFD >= 0) close(la->fireWallFD); @@ -2743,6 +2795,7 @@ struct ip_fw rule; /* On-the-fly built rule */ int fwhole; /* Where to punch hole */ + LIBALIAS_LOCK_ASSERT(la); la = lnk->la; /* Don't do anything unless we are asked to */ @@ -2817,6 +2870,7 @@ struct libalias *la; + LIBALIAS_LOCK_ASSERT(la); la = lnk->la; if (lnk->link_type == LINK_TCP) { int fwhole = lnk->data.tcp->fwhole; /* Where is the firewall @@ -2841,6 +2895,7 @@ struct ip_fw rule; /* On-the-fly built rule */ int i; + LIBALIAS_LOCK_ASSERT(la); if (la->fireWallFD < 0) return; ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_local.h#9 (text+ko) ==== @@ -161,12 +161,14 @@ #ifdef _KERNEL #define LIBALIAS_LOCK_INIT(l) \ - mtx_init(&l->mutex, "per-instance libalias mutex", NULL, MTX_DEF|MTX_RECURSE) + mtx_init(&l->mutex, "per-instance libalias mutex", NULL, MTX_DEF) +#define LIBALIAS_LOCK_ASSERT(l) mtx_assert(&l->mutex, MA_OWNED) #define LIBALIAS_LOCK(l) mtx_lock(&l->mutex) #define LIBALIAS_UNLOCK(l) mtx_unlock(&l->mutex) -#define LIBALIAS_LOCK_DESTROY(l) mtx_destroy(&l->mutex); +#define LIBALIAS_LOCK_DESTROY(l) mtx_destroy(&l->mutex) #else #define LIBALIAS_LOCK_INIT(l) +#define LIBALIAS_LOCK_ASSERT(l) #define LIBALIAS_LOCK(l) #define LIBALIAS_UNLOCK(l) #define LIBALIAS_LOCK_DESTROY(l) ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_proxy.c#10 (text+ko) ==== @@ -312,6 +312,8 @@ struct proxy_entry *ptr; struct proxy_entry *ptr_last; + LIBALIAS_LOCK_ASSERT(la); + if (la->proxyList == NULL) { la->proxyList = entry; entry->last = NULL; @@ -352,6 +354,7 @@ { struct libalias *la; + LIBALIAS_LOCK_ASSERT(la); la = entry->la; if (entry->last != NULL) entry->last->next = entry->next; @@ -370,6 +373,7 @@ int err; struct proxy_entry *ptr; + LIBALIAS_LOCK_ASSERT(la); err = -1; ptr = la->proxyList; while (ptr != NULL) { @@ -566,6 +570,7 @@ struct in_addr dst_addr; struct proxy_entry *ptr; + LIBALIAS_LOCK_ASSERT(la); src_addr = pip->ip_src; dst_addr = pip->ip_dst; dst_port = ((struct tcphdr *)ip_next(pip)) @@ -606,6 +611,7 @@ int proxy_type) { + LIBALIAS_LOCK_ASSERT(la); (void)la; switch (proxy_type) { From owner-p4-projects@FreeBSD.ORG Wed Nov 1 21:48:01 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 56DBD16A416; Wed, 1 Nov 2006 21:48:01 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 E938716A412 for ; Wed, 1 Nov 2006 21:48:00 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id ABEBE43D4C for ; Wed, 1 Nov 2006 21:48:00 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA1Lm0Si053992 for ; Wed, 1 Nov 2006 21:48:00 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA1LlvIg053989 for perforce@freebsd.org; Wed, 1 Nov 2006 21:47:57 GMT (envelope-from jb@freebsd.org) Date: Wed, 1 Nov 2006 21:47:57 GMT Message-Id: <200611012147.kA1LlvIg053989@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 108964 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 21:48:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=108964 Change 108964 by jb@jb_freebsd8 on 2006/11/01 21:47:04 IFC Affected files ... .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#31 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/security/chapter.sgml#11 integrate .. //depot/projects/dtrace/ports/GIDs#6 integrate .. //depot/projects/dtrace/ports/MOVED#28 integrate .. //depot/projects/dtrace/ports/Tools/scripts/rmport#6 integrate .. //depot/projects/dtrace/ports/UIDs#7 integrate .. //depot/projects/dtrace/ports/UPDATING#21 integrate .. //depot/projects/dtrace/src/Makefile#11 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/send-pr/send-pr.sh#4 integrate .. //depot/projects/dtrace/src/sbin/fsck_ffs/gjournal.c#2 integrate .. //depot/projects/dtrace/src/sbin/geom/class/journal/geom_journal.c#2 integrate .. //depot/projects/dtrace/src/sbin/ifconfig/ifbridge.c#4 integrate .. //depot/projects/dtrace/src/sbin/ifconfig/ifconfig.8#8 integrate .. //depot/projects/dtrace/src/share/man/man3/pthread_create.3#5 integrate .. //depot/projects/dtrace/src/share/man/man4/man4.i386/acpi_sony.4#4 integrate .. //depot/projects/dtrace/src/share/man/man9/g_bio.9#4 integrate .. //depot/projects/dtrace/src/share/misc/bsd-family-tree#8 integrate .. //depot/projects/dtrace/src/share/mk/bsd.own.mk#11 integrate .. //depot/projects/dtrace/src/sys/arm/arm/elf_trampoline.c#9 integrate .. //depot/projects/dtrace/src/sys/dev/em/if_em.c#11 integrate .. //depot/projects/dtrace/src/sys/dev/md/md.c#4 integrate .. //depot/projects/dtrace/src/sys/geom/eli/g_eli.c#10 integrate .. //depot/projects/dtrace/src/sys/geom/geom_gpt.c#7 integrate .. //depot/projects/dtrace/src/sys/geom/journal/g_journal.c#2 integrate .. //depot/projects/dtrace/src/sys/geom/shsec/g_shsec.c#4 integrate .. //depot/projects/dtrace/src/sys/kern/tty_pts.c#6 integrate .. //depot/projects/dtrace/src/sys/sparc64/conf/NOTES#7 integrate .. //depot/projects/dtrace/src/sys/sun4v/include/hypervisorvar.h#7 integrate .. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_softdep.c#8 integrate .. //depot/projects/dtrace/src/tools/tools/tinybsd/README#4 integrate .. //depot/projects/dtrace/src/tools/tools/tinybsd/conf/bridge/tinybsd.localfiles#2 delete .. //depot/projects/dtrace/src/tools/tools/tinybsd/conf/bridge/tinybsd.ports#1 branch .. //depot/projects/dtrace/src/tools/tools/tinybsd/conf/default/tinybsd.localfiles#2 delete .. //depot/projects/dtrace/src/tools/tools/tinybsd/conf/default/tinybsd.ports#1 branch .. //depot/projects/dtrace/src/tools/tools/tinybsd/conf/firewall/tinybsd.localfiles#2 delete .. //depot/projects/dtrace/src/tools/tools/tinybsd/conf/firewall/tinybsd.ports#1 branch .. //depot/projects/dtrace/src/tools/tools/tinybsd/conf/minimal/tinybsd.localfiles#2 delete .. //depot/projects/dtrace/src/tools/tools/tinybsd/conf/minimal/tinybsd.ports#1 branch .. //depot/projects/dtrace/src/tools/tools/tinybsd/conf/vpn/tinybsd.localfiles#2 delete .. //depot/projects/dtrace/src/tools/tools/tinybsd/conf/vpn/tinybsd.ports#1 branch .. //depot/projects/dtrace/src/tools/tools/tinybsd/conf/wireless/tinybsd.localfiles#2 delete .. //depot/projects/dtrace/src/tools/tools/tinybsd/conf/wireless/tinybsd.ports#1 branch .. //depot/projects/dtrace/src/tools/tools/tinybsd/conf/wrap/tinybsd.localfiles#2 delete .. //depot/projects/dtrace/src/tools/tools/tinybsd/conf/wrap/tinybsd.ports#1 branch .. //depot/projects/dtrace/src/tools/tools/tinybsd/tinybsd#6 integrate Differences ... ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#31 (text+ko) ==== @@ -1,4 +1,4 @@ - + @@ -3429,7 +3429,7 @@ following commands to configure the tunnel. &prompt.root; ifconfig gif0 create -&prompt.root; ifconfig tunnel gif0 A.B.C.D W.X.Y.Z +&prompt.root; ifconfig gif0 tunnel A.B.C.D W.X.Y.Z &prompt.root; ifconfig gif0 inet 192.168.1.1 192.168.2.1 netmask 0xffffffff @@ -3437,7 +3437,7 @@ but with the order of the IP addresses reversed. &prompt.root; ifconfig gif0 create -&prompt.root; ifconfig tunnel gif0 W.X.Y.Z A.B.C.D +&prompt.root; ifconfig gif0 tunnel W.X.Y.Z A.B.C.D &prompt.root; ifconfig gif0 inet 192.168.2.1 192.168.1.1 netmask 0xffffffff ==== //depot/projects/dtrace/ports/GIDs#6 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: ports/GIDs,v 1.11 2006/08/28 20:15:56 pav Exp $ +$FreeBSD: ports/GIDs,v 1.13 2006/11/01 20:22:48 marcus Exp $ # Please keep this file sorted by GID! bind:*:53: rdfdb:*:55: @@ -67,6 +67,7 @@ smxc:*:262: smxm:*:263: smx:*:264: +haclient:*:275: mrtg:*:279: dkfilter:*:325: ldap:*:389: @@ -81,6 +82,7 @@ messagebus:*:556: realtime:*:557: avahi:*:558: +tacacs:*:559: bnetd:*:700: bopm:*:717: openxpki:*:777: ==== //depot/projects/dtrace/ports/MOVED#28 (text+ko) ==== @@ -1,7 +1,7 @@ # # MOVED - a list of (recently) moved or removed ports # -# $FreeBSD: ports/MOVED,v 1.1170 2006/10/31 21:39:53 edwin Exp $ +# $FreeBSD: ports/MOVED,v 1.1174 2006/11/01 15:36:54 leeym Exp $ # # Each entry consists of a single line containing the following four # fields in the order named, separated with the pipe (`|') character: @@ -2497,3 +2497,20 @@ lang/pdss||2006-10-31|Has expired: fails to compile on recent FreeBSD versions multimedia/slideshow||2006-10-31|Has expired: dead project and doesn't work with recent sdl dns/queryperf|dns/dnsperf|2006-11-01|Project was improved and renamed +x11-toolkits/etox||2006-11-01|Has expired: doesn't work with recent e17 and obsoleted +x11-themes/e17-theme-blokkie||2006-11-01|Has expired: doesn't work with recent e17 +x11-themes/e17-theme-blue_default||2006-11-01|Has expired: doesn't work with recent e17 +x11-themes/e17-theme-carbon||2006-11-01|Has expired: doesn't work with recent e17 +x11-themes/e17-theme-detour||2006-11-01|Has expired: doesn't work with recent e17 +x11-themes/e17-theme-gant||2006-11-01|Has expired: doesn't work with recent e17 +x11-themes/e17-theme-japan2007||2006-11-01|Has expired: doesn't work with recent e17 +x11-themes/e17-theme-milky||2006-11-01|Has expired: doesn't work with recent e17 +x11-themes/e17-theme-neptun||2006-11-01|Has expired: doesn't work with recent e17 +x11-themes/e17-theme-simply_white||2006-11-01|Has expired: doesn't work with recent e17 +x11-themes/e17-theme-winter||2006-11-01|Has expired: doesn't work with recent e17 +x11-themes/e17-theme-mclaren||2006-11-01|Has expired: doesn't work with recent e17 +x11-themes/e17-theme-grey||2006-11-01|Has expired: doesn't work with recent e17 +devel/ac-archive|devel/autoconf-archive|2006-11-01|Replace broken ac-archive with working autoconf-archive +www/firefox-devel|www/firefox|2006-11-01|Firefox 2.0 is now stable +graphics/php4-imlib2|graphics/pecl-imlib2|2006-11-01|Follow PECL ports naming conversion +graphics/php5-imlib2|graphics/pecl-imlib2|2006-11-01|Follow PECL ports naming conversion ==== //depot/projects/dtrace/ports/Tools/scripts/rmport#6 (text+ko) ==== @@ -30,7 +30,7 @@ # Originally written by Vasil Dimov # Others: # -# $FreeBSD: ports/Tools/scripts/rmport,v 1.9 2006/10/05 10:40:29 vd Exp $ +# $FreeBSD: ports/Tools/scripts/rmport,v 1.10 2006/11/01 09:57:36 vd Exp $ # # MAINTAINER= vd@FreeBSD.org # @@ -100,6 +100,13 @@ { log "creating temporary directory" d=`mktemp -d -t rmport` + mkdir ${d}/CVS + cat > ${d}/CVS/Repository < when ready' answer + read -p 'deal with the above issues and hit when ready' dummy done } @@ -186,7 +194,7 @@ msg="${catport}: checking if ${checkstr} is in ports/LEGAL" log "${msg}" while grep -i ${checkstr} ports/LEGAL ; do - read -p "${checkstr} is in ports/LEGAL, remove it and hit when ready" answer + read -p "${checkstr} is in ports/LEGAL, remove it and hit when ready" dummy log "${msg}" done done @@ -213,7 +221,11 @@ DEPRECATED="`make -C ${PORTSDIR}/${catport} -V DEPRECATED`" DEPRECATED=${DEPRECATED:+: ${DEPRECATED}} - REASON="Has expired${DEPRECATED}" + if [ -n "`make -C ${PORTSDIR}/${catport} -V EXPIRATION_DATE`" ] ; then + REASON="Has expired${DEPRECATED}" + else + REASON="Removed${DEPRECATED}" + fi log "${catport}: adding entry to ports/MOVED" @@ -244,6 +256,27 @@ ${PCVS} rm `find ports/${catport} -type f -not -path "*/CVS/*" -delete -print` } +append_Template() +{ + catport=${1} + + msg=${catport} + + EXPIRATION_DATE=`make -C ${PORTSDIR}/${catport} -V EXPIRATION_DATE` + if [ -n "${EXPIRATION_DATE}" ] ; then + msg="${EXPIRATION_DATE} ${msg}" + fi + + DEPRECATED="`make -C ${PORTSDIR}/${catport} -V DEPRECATED`" + if [ -n "${DEPRECATED}" ] ; then + msg="${msg}: ${DEPRECATED}" + fi + + log "${catport}: adding entry to commit message template" + + echo "${msg}" >> ./CVS/Template +} + # diff diff() { @@ -251,23 +284,34 @@ diffout=${codir}/diff - ${PCVS} diff -u CVSROOT/modules ports/MOVED ports/LEGAL \ - ports > ${diffout} 2>&1 || : + ${PCVS} diff -u CVSROOT/modules ports > ${diffout} 2>&1 || : - read -p "hit to view cvs diff output" answer + read -p "hit to view cvs diff output" dummy - # give this to the outside world so it can be removed when we are done + # give this to the outside world so it can be showed to the committer + # and removed when we are done echo ${diffout} } +ask() +{ + question=${1} + + answer=x + while [ "${answer}" != "y" -a "${answer}" != "n" ] ; do + read -p "${question} [yn] " answer + done + + echo ${answer} +} + # ask for confirmation and commit commit() { - read -p "do you want to commit? [yn] " answer + answer=`ask "do you want to commit?"` - if [ "${answer}" = "y" -o "${answer}" = "Y" ] ; then - ${PCVS} ci CVSROOT/modules ports/MOVED ports/LEGAL \ - ports + if [ "${answer}" = "y" ] ; then + ${PCVS} ci CVSROOT/modules ports fi } @@ -280,6 +324,9 @@ rm ${diffout} + rm CVS/Entries.Log CVS/Repository CVS/Template + rmdir CVS + # release cvs directories ${PCVS} rel -d CVSROOT ports @@ -290,12 +337,19 @@ usage() { echo "Usage:" >&2 + echo "" >&2 echo "find expired ports:" >&2 echo "${0} -F" >&2 + echo "" >&2 echo "remove port(s):" >&2 echo "${0} category1/port1 [ category2/port2 ... ]" >&2 + echo "" >&2 + echo "remove all expired ports (as returned by -F):" >&2 + echo "${0} -a" >&2 + echo "" >&2 echo "just check dependencies:" >&2 echo "${0} -d category/port" >&2 + exit 64 } @@ -322,6 +376,14 @@ exit fi +if [ ${1} = "-a" ] ; then + if [ ${#} -ne 1 ] ; then + usage + fi + ${0} `find_expired |cut -f 2 -d ' '` + exit +fi + codir=`mkcodir` cd ${codir} @@ -334,7 +396,7 @@ port=`basename ${catport}` # remove any trailing slashes catport="${cat}/${port}" - pkgname=`pkgname ${cat}/${port}` + pkgname=`pkgname ${catport}` check_dep ${catport} 1 "${*}" @@ -351,12 +413,22 @@ edit_Makefile ${cat} ${port} rm_port ${catport} + + append_Template ${catport} done -diffout=`diff` +# give a chance to the committer to edit files by hand and recreate/review +# the diff afterwards +answer=y +while [ "${answer}" = "y" ] ; do + diffout=`diff` + + # EDITOR instead of PAGER because vim has nice syntax highlighting ;-) + ${EDITOR} ${diffout} -# EDITOR instead of PAGER because vim has nice syntax highlighting ;-) -${EDITOR} ${diffout} + echo "you can now edit files under ${codir}/ by hand" + answer=`ask "do you want to recreate the diff?"` +done commit ==== //depot/projects/dtrace/ports/UIDs#7 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: ports/UIDs,v 1.14 2006/10/31 02:43:54 marcus Exp $ +$FreeBSD: ports/UIDs,v 1.15 2006/11/01 20:06:03 alepulver Exp $ # Please keep this file sorted by UID! bind:*:53:53:Bind Sandbox:/:/sbin/nologin majordom:*:54:54:Majordomo Pseudo User:/usr/local/majordomo:/nonexistent @@ -79,6 +79,7 @@ smxc:*:262:262:Sendmail X SMTPC:/nonexistent:/sbin/nologin smxm:*:263:263:Sendmail X misc:/nonexistent:/sbin/nologin smx:*:264:264:Sendmail X other:/nonexistent:/sbin/nologin +hacluster:*:275:275:Heartbeat cluster user:/nonexistent:/sbin/nologin mrtg:*:279:279:MRTG daemon:/nonexistent:/sbin/nologin dkfilter:*:325:325:DK Filter Owner:/nonexistent:/sbin/nologin ldap:*:389:389:OpenLDAP Server:/nonexistent:/sbin/nologin ==== //depot/projects/dtrace/ports/UPDATING#21 (text+ko) ==== @@ -6,6 +6,20 @@ time you update your ports collection, before attempting any port upgrades. +20061101: + AFFECTS: Users of mail/dovecot + AUTHOR: shaun@FreeBSD.org + + Dovecot now requires the mail root to be set explicitly in the the + default_mail_env variable, where it could previously be omitted. + Using the old-style syntax may result in dovecot being unable to find + mailboxes. Installations using the example/default configuration + settings should not be affected. + + This is noted in the release announcement: + + http://dovecot.org/list/dovecot-news/2006-October/000016.html + 20061031: AFFECTS: Users of math/rkward AUTHOR: thierry@FreeBSD.org @@ -4309,4 +4323,4 @@ 2) Update all p5-* modules. portupgrade -f p5-\* -$FreeBSD: ports/UPDATING,v 1.417 2006/10/31 22:04:07 thierry Exp $ +$FreeBSD: ports/UPDATING,v 1.418 2006/11/01 19:23:29 shaun Exp $ ==== //depot/projects/dtrace/src/Makefile#11 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile,v 1.336 2006/10/16 22:18:59 jb Exp $ +# $FreeBSD: src/Makefile,v 1.337 2006/11/01 09:05:40 jb Exp $ # # The user-driven targets are: # ==== //depot/projects/dtrace/src/gnu/usr.bin/send-pr/send-pr.sh#4 (text+ko) ==== @@ -20,7 +20,7 @@ # along with GNU GNATS; see the file COPYING. If not, write to # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. # -# $FreeBSD: src/gnu/usr.bin/send-pr/send-pr.sh,v 1.37 2005/10/24 01:36:16 obrien Exp $ +# $FreeBSD: src/gnu/usr.bin/send-pr/send-pr.sh,v 1.38 2006/11/01 12:13:08 philip Exp $ # The version of this send-pr. VERSION=3.113 @@ -300,7 +300,7 @@ for file in $TEMP $REF ; do cat > $file << '__EOF__' SEND-PR: -*- send-pr -*- -SEND-PR: vim: syntax=send-pr (needed for vim syntax highlighting) +SEND-PR: vim: syntax=sendpr SEND-PR: SEND-PR: Lines starting with `SEND-PR' will be removed automatically, as SEND-PR: will all comments (text enclosed in `<' and `>'). ==== //depot/projects/dtrace/src/sbin/fsck_ffs/gjournal.c#2 (text+ko) ==== @@ -52,7 +52,7 @@ */ #include -__FBSDID("$FreeBSD: src/sbin/fsck_ffs/gjournal.c,v 1.1 2006/10/31 22:21:01 pjd Exp $"); +__FBSDID("$FreeBSD: src/sbin/fsck_ffs/gjournal.c,v 1.2 2006/11/01 10:56:33 ru Exp $"); #include #include @@ -663,6 +663,7 @@ gjournal_check(const char *filesys) { struct ufs2_dinode *dino; + void *p; struct cgchain *cgc; struct cg *cgp; uint8_t *inosused, *blksfree; @@ -714,8 +715,9 @@ /* Unallocated? Skip it. */ if (isclr(inosused, cino)) continue; - if (getino(disk, (void **)&dino, ino, &mode) == -1) + if (getino(disk, &p, ino, &mode) == -1) err(1, "getino(cg=%d ino=%d)", cg, ino); + dino = p; /* Not a regular file nor directory? Skip it. */ if (!S_ISREG(dino->di_mode) && !S_ISDIR(dino->di_mode)) continue; ==== //depot/projects/dtrace/src/sbin/geom/class/journal/geom_journal.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sbin/geom/class/journal/geom_journal.c,v 1.1 2006/10/31 21:32:54 pjd Exp $"); +__FBSDID("$FreeBSD: src/sbin/geom/class/journal/geom_journal.c,v 1.2 2006/11/01 09:22:33 pjd Exp $"); #include #include @@ -145,6 +145,7 @@ int error, force, i, nargs, checksum, hardcode; nargs = gctl_get_int(req, "nargs"); + str = NULL; /* gcc */ strlcpy(md.md_magic, G_JOURNAL_MAGIC, sizeof(md.md_magic)); md.md_version = G_JOURNAL_VERSION; ==== //depot/projects/dtrace/src/sbin/ifconfig/ifbridge.c#4 (text+ko) ==== @@ -35,7 +35,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/sbin/ifconfig/ifbridge.c,v 1.3 2005/12/14 02:52:12 thompsa Exp $"; + "$FreeBSD: src/sbin/ifconfig/ifbridge.c,v 1.4 2006/11/01 09:07:47 thompsa Exp $"; #endif /* not lint */ #include @@ -61,6 +61,27 @@ #include "ifconfig.h" +static const char *stpstates[] = { + "disabled", + "listening", + "learning", + "forwarding", + "blocking", + "discarding" +}; +static const char *stpproto[] = { + "stp", + "-", + "rstp" +}; +static const char *stproles[] = { + "disabled", + "root", + "designated", + "alternate", + "backup" +}; + static int get_val(const char *cp, u_long *valp) { @@ -113,13 +134,6 @@ static void bridge_interfaces(int s, const char *prefix) { - static const char *stpstates[] = { - "disabled", - "listening", - "learning", - "forwarding", - "blocking", - }; struct ifbifconf bifc; struct ifbreq *req; char *inbuf = NULL, *ninbuf; @@ -159,12 +173,35 @@ printf("port %u priority %u", req->ifbr_portno, req->ifbr_priority); printf(" path cost %u", req->ifbr_path_cost); + if (req->ifbr_proto < + sizeof(stpproto) / sizeof(stpproto[0])) + printf(" proto %s", stpproto[req->ifbr_proto]); + else + printf(" ", + req->ifbr_proto); + + printf("\n%s", pad); + if (req->ifbr_role < + sizeof(stproles) / sizeof(stproles[0])) + printf("role %s", stproles[req->ifbr_role]); + else + printf("", + req->ifbr_role); if (req->ifbr_state < sizeof(stpstates) / sizeof(stpstates[0])) - printf(" %s", stpstates[req->ifbr_state]); + printf(" state %s", stpstates[req->ifbr_state]); else printf(" ", req->ifbr_state); + + if (req->ifbr_p2p) + printf(" p2p"); + else + printf(" shared"); + if (req->ifbr_edge) + printf(" edge"); + if (req->ifbr_autoedge) + printf(" autoedge"); printf("\n"); } } @@ -210,29 +247,23 @@ static void bridge_status(int s) { - struct ifbrparam param; + struct ifbropreq param; u_int16_t pri; - u_int8_t ht, fd, ma; + u_int8_t ht, fd, ma, hc, pro; - if (do_cmd(s, BRDGGPRI, ¶m, sizeof(param), 0) < 0) + if (do_cmd(s, BRDGPARAM, ¶m, sizeof(param), 0) < 0) return; - pri = param.ifbrp_prio; + pri = param.ifbop_priority; + pro = param.ifbop_protocol; + ht = param.ifbop_hellotime; + fd = param.ifbop_fwddelay; + hc = param.ifbop_holdcount; + ma = param.ifbop_maxage; - if (do_cmd(s, BRDGGHT, ¶m, sizeof(param), 0) < 0) - return; - ht = param.ifbrp_hellotime; - - if (do_cmd(s, BRDGGFD, ¶m, sizeof(param), 0) < 0) - return; - fd = param.ifbrp_fwddelay; - - if (do_cmd(s, BRDGGMA, ¶m, sizeof(param), 0) < 0) - return; - ma = param.ifbrp_maxage; + printf("\tpriority %u hellotime %u fwddelay %u" + " maxage %u hc %u proto %s\n", + pri, ht, fd, ma, hc, stpproto[pro]); - printf("\tpriority %u hellotime %u fwddelay %u maxage %u\n", - pri, ht, fd, ma); - bridge_interfaces(s, "\tmember: "); return; @@ -326,6 +357,54 @@ } static void +setbridge_edge(const char *val, int d, int s, const struct afswtch *afp) +{ + struct ifbreq req; + + memset(&req, 0, sizeof(req)); + strlcpy(req.ifbr_ifsname, val, sizeof(req.ifbr_ifsname)); + req.ifbr_edge = 1; + if (do_cmd(s, BRDGSEDGE, &req, sizeof(req), 1) < 0) + err(1, "BRDGSEDGE %s", val); +} + +static void +unsetbridge_edge(const char *val, int d, int s, const struct afswtch *afp) +{ + struct ifbreq req; + + memset(&req, 0, sizeof(req)); + strlcpy(req.ifbr_ifsname, val, sizeof(req.ifbr_ifsname)); + req.ifbr_edge = 0; + if (do_cmd(s, BRDGSEDGE, &req, sizeof(req), 1) < 0) + err(1, "BRDGSEDGE %s", val); +} + +static void +setbridge_autoedge(const char *val, int d, int s, const struct afswtch *afp) +{ + struct ifbreq req; + + memset(&req, 0, sizeof(req)); + strlcpy(req.ifbr_ifsname, val, sizeof(req.ifbr_ifsname)); + req.ifbr_autoedge = 1; + if (do_cmd(s, BRDGSAEDGE, &req, sizeof(req), 1) < 0) + err(1, "BRDGSAEDGE %s", val); +} + +static void +unsetbridge_autoedge(const char *val, int d, int s, const struct afswtch *afp) +{ + struct ifbreq req; + + memset(&req, 0, sizeof(req)); + strlcpy(req.ifbr_ifsname, val, sizeof(req.ifbr_ifsname)); + req.ifbr_autoedge = 0; + if (do_cmd(s, BRDGSAEDGE, &req, sizeof(req), 1) < 0) + err(1, "BRDGSAEDGE %s", val); +} + +static void setbridge_flush(const char *val, int d, int s, const struct afswtch *afp) { struct ifbreq req; @@ -469,6 +548,38 @@ } static void +setbridge_protocol(const char *arg, int d, int s, const struct afswtch *afp) +{ + struct ifbrparam param; + + if (strcasecmp(arg, "stp") == 0) { + param.ifbrp_proto = 0; + } else if (strcasecmp(arg, "rstp") == 0) { + param.ifbrp_proto = 2; + } else { + errx(1, "unknown stp protocol"); + } + + if (do_cmd(s, BRDGSPROTO, ¶m, sizeof(param), 1) < 0) + err(1, "BRDGSPROTO %s", arg); +} + +static void +setbridge_holdcount(const char *arg, int d, int s, const struct afswtch *afp) +{ + struct ifbrparam param; + u_long val; + + if (get_val(arg, &val) < 0 || (val & ~0xff) != 0) + errx(1, "invalid value: %s", arg); + + param.ifbrp_txhc = val & 0xff; + + if (do_cmd(s, BRDGSTXHC, ¶m, sizeof(param), 1) < 0) + err(1, "BRDGSTXHC %s", arg); +} + +static void setbridge_ifpriority(const char *ifn, const char *pri, int s, const struct afswtch *afp) { @@ -496,11 +607,11 @@ memset(&req, 0, sizeof(req)); - if (get_val(cost, &val) < 0 || (val & ~0xff) != 0) + if (get_val(cost, &val) < 0) errx(1, "invalid value: %s", cost); strlcpy(req.ifbr_ifsname, ifn, sizeof(req.ifbr_ifsname)); - req.ifbr_path_cost = val & 0xffff; + req.ifbr_path_cost = val; if (do_cmd(s, BRDGSIFCOST, &req, sizeof(req), 1) < 0) err(1, "BRDGSIFCOST %s", cost); @@ -532,6 +643,10 @@ DEF_CMD_ARG("-span", unsetbridge_span), DEF_CMD_ARG("stp", setbridge_stp), DEF_CMD_ARG("-stp", unsetbridge_stp), + DEF_CMD_ARG("edge", setbridge_edge), + DEF_CMD_ARG("-edge", unsetbridge_edge), + DEF_CMD_ARG("autoedge", setbridge_autoedge), + DEF_CMD_ARG("-autoedge", unsetbridge_autoedge), DEF_CMD("flush", 0, setbridge_flush), DEF_CMD("flushall", 0, setbridge_flushall), DEF_CMD_ARG2("static", setbridge_static), @@ -542,6 +657,8 @@ DEF_CMD_ARG("fwddelay", setbridge_fwddelay), DEF_CMD_ARG("maxage", setbridge_maxage), DEF_CMD_ARG("priority", setbridge_priority), + DEF_CMD_ARG("proto", setbridge_protocol), + DEF_CMD_ARG("holdcount", setbridge_holdcount), DEF_CMD_ARG2("ifpriority", setbridge_ifpriority), DEF_CMD_ARG2("ifpathcost", setbridge_ifpathcost), DEF_CMD_ARG("timeout", setbridge_timeout), ==== //depot/projects/dtrace/src/sbin/ifconfig/ifconfig.8#8 (text+ko) ==== @@ -26,7 +26,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)ifconfig.8 8.3 (Berkeley) 1/5/94 -.\" $FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.124 2006/10/10 09:44:08 ru Exp $ +.\" $FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.125 2006/11/01 09:07:47 thompsa Exp $ .\" .Dd October 9, 2006 .Dt IFCONFIG 8 @@ -1267,38 +1267,67 @@ Disable Spanning Tree protocol on .Ar interface . This is the default for all interfaces added to a bridge. +.It Cm edge Ar interface +Set +.Ar interface +as an edge port. +An edge port connects directly to end stations cannot create bridging +loops in the network, this allows it to transition straight to forwarding. +.It Cm -edge Ar interface +Disable edge status on +.Ar interface . +.It Cm autoedge Ar interface +Allow +.Ar interface +to automatically detect edge status. +This is the default for all interfaces added to a bridge. +.It Cm -autoedge Ar interface +Disable automatic edge status on +.Ar interface . .It Cm maxage Ar seconds Set the time that a Spanning Tree protocol configuration is valid. The default is 20 seconds. -The minimum is 1 second and the maximum is 255 seconds. +The minimum is 6 seconds and the maximum is 40 seconds. .It Cm fwddelay Ar seconds Set the time that must pass before an interface begins forwarding packets when Spanning Tree is enabled. The default is 15 seconds. -The minimum is 1 second and the maximum is 255 seconds. +The minimum is 4 seconds and the maximum is 30 seconds. .It Cm hellotime Ar seconds Set the time between broadcasting of Spanning Tree protocol configuration messages. +The hello time may only be changed when operating in legacy stp mode. The default is 2 seconds. -The minimum is 1 second and the maximum is 255 seconds. +The minimum is 1 second and the maximum is 2 seconds. .It Cm priority Ar value Set the bridge priority for Spanning Tree. The default is 32768. -The minimum is 0 and the maximum is 65536. +The minimum is 0 and the maximum is 61440. +.It Cm protocol Ar value +Set the Spanning Tree protocol. +The default is rstp. +The available options are stp and rstp. +.It Cm holdcount Ar value +Set the transmit hold count for Spanning Tree. +This is the number of packets transmitted before being rate limited. +The default is 6. +The minimum is 1 and the maximum is 10. .It Cm ifpriority Ar interface Ar value Set the Spanning Tree priority of .Ar interface to .Ar value . The default is 128. -The minimum is 0 and the maximum is 255. +The minimum is 0 and the maximum is 240. .It Cm ifpathcost Ar interface Ar value Set the Spanning Tree path cost of .Ar interface to .Ar value . -The default is 55. -The minimum is 0 and the maximum is 65535. +The default is calculated from the link speed. +To change a previously selected path cost back to automatic, set the +cost to 0. +The minimum is 1 and the maximum is 200000000. .El .Pp The following parameters are specific to IP tunnel interfaces, ==== //depot/projects/dtrace/src/share/man/man3/pthread_create.3#5 (text+ko) ==== @@ -28,9 +28,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man3/pthread_create.3,v 1.20 2006/09/30 11:22:25 ru Exp $ +.\" $FreeBSD: src/share/man/man3/pthread_create.3,v 1.22 2006/11/01 04:46:06 maxim Exp $ .\" -.Dd April 4, 1996 +.Dd November 1, 2006 .Dt PTHREAD_CREATE 3 .Os .Sh NAME @@ -108,6 +108,9 @@ The system lacked the necessary resources to create another thread, or the system-imposed limit on the total number of threads in a process [PTHREAD_THREADS_MAX] would be exceeded. +.It Bq Er EPERM +The caller does not have appropriate permission to set the required scheduling +parameters or scheduling policy. .It Bq Er EINVAL The value specified by .Fa attr ==== //depot/projects/dtrace/src/share/man/man4/man4.i386/acpi_sony.4#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/share/man/man4/man4.i386/acpi_sony.4,v 1.3 2006/04/01 11:21:00 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/man4.i386/acpi_sony.4,v 1.4 2006/11/01 03:45:24 kevlo Exp $ .\" .Dd September 14, 2005 .Dt ACPI_SONY 4 i386 @@ -53,6 +53,8 @@ .Bl -tag -width indent .It Va dev.acpi_sony.0.brightness Current brightness level of the display. +.It Va dev.acpi_sony.0.cdp +Turns the CD power on or off. .El .Sh SEE ALSO .Xr acpi 4 , ==== //depot/projects/dtrace/src/share/man/man9/g_bio.9#4 (text+ko) ==== @@ -1,5 +1,5 @@ .\" -.\" Copyright (c) 2004 Pawel Jakub Dawidek +.\" Copyright (c) 2004-2006 Pawel Jakub Dawidek .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without @@ -22,9 +22,9 @@ .\" (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/share/man/man9/g_bio.9,v 1.9 2004/08/04 21:35:05 pjd Exp $ +.\" $FreeBSD: src/share/man/man9/g_bio.9,v 1.12 2006/11/01 12:44:28 pjd Exp $ .\" -.Dd January 16, 2004 +.Dd November 1, 2006 .Dt G_BIO 9 .Os .Sh NAME @@ -39,7 +39,11 @@ .Ft "struct bio *" .Fn g_new_bio void .Ft "struct bio *" +.Fn g_alloc_bio void +.Ft "struct bio *" .Fn g_clone_bio "struct bio *bp" +.Ft "struct bio *" +.Fn g_duplicate_bio "struct bio *bp" .Ft void .Fn g_destroy_bio "struct bio *bp" .Ft void @@ -71,6 +75,8 @@ Attributes are named by ascii strings and are stored in the .Va bio_attribute field. +.It Dv BIO_FLUSH +Tells underlying providers to flush their write caches. .El .It Va bio_flags Available flags: @@ -138,6 +144,13 @@ .Vt bio structure. .Pp +.Fn g_alloc_bio +- same as +.Fn g_new_bio , +but always succeeds (allocates bio with the +.Dv M_WAITOK +malloc flag). +.Pp The .Fn g_clone_bio function allocates a new @@ -174,6 +187,13 @@ Schedule the clone on its own consumer. .El .Pp +.Fn g_duplicate_bio +- same as +.Fn g_clone_bio , +but always succeeds (allocates bio with the +.Dv M_WAITOK +malloc flag). +.Pp The .Fn g_destroy_bio function deallocates and destroys the given ==== //depot/projects/dtrace/src/share/misc/bsd-family-tree#8 (text+ko) ==== @@ -203,7 +203,9 @@ | FreeBSD | | | | | | | 6.1 | | | | | | | | FreeBSD 5.5 | | | | | - | V | | NetBSD 3.0.1 | DragonFly 1.6.0 + | | | | NetBSD 3.0.1 | DragonFly 1.6.0 + | | | | | | + | V | | OpenBSD 4.0 | | | | | | FreeBSD 7 -current | NetBSD -current OpenBSD -current | | | | | | @@ -451,6 +453,7 @@ FreeBSD 5.5 2006-05-25 [FBD] NetBSD 3.0.1 2006-07-24 [NBD] (security/critical release) DragonFly 1.6.0 2006-07-24 [DFB] +OpenBSD 4.0 2006-11-01 [OBD] Bibliography ------------------------ @@ -511,4 +514,4 @@ Copyright (c) 1997-2004 Wolfram Schneider URL: http://cvsweb.freebsd.org/src/share/misc/bsd-family-tree >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Nov 1 22:00:38 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5ACC816A4A0; Wed, 1 Nov 2006 22:00:38 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 0DC4E16A47E for ; Wed, 1 Nov 2006 22:00:38 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0CDFA43D64 for ; Wed, 1 Nov 2006 22:00:37 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA1M0bZ9055741 for ; Wed, 1 Nov 2006 22:00:37 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA1M0aNM055712 for perforce@freebsd.org; Wed, 1 Nov 2006 22:00:36 GMT (envelope-from jb@freebsd.org) Date: Wed, 1 Nov 2006 22:00:36 GMT Message-Id: <200611012200.kA1M0aNM055712@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 108967 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 22:00:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=108967 Change 108967 by jb@jb_freebsd8 on 2006/11/01 22:00:19 IFlibbsdelf and drop some of my changes for the time being. Affected files ... .. //depot/projects/dtrace/src/lib/libelf/_libelf.h#10 integrate .. //depot/projects/dtrace/src/lib/libelf/elf_begin.c#6 integrate .. //depot/projects/dtrace/src/lib/libelf/elf_data.c#3 integrate .. //depot/projects/dtrace/src/lib/libelf/elf_flag.c#3 integrate .. //depot/projects/dtrace/src/lib/libelf/elf_getshstrndx.3#2 integrate .. //depot/projects/dtrace/src/lib/libelf/elf_memory.c#7 integrate .. //depot/projects/dtrace/src/lib/libelf/elf_scn.c#4 integrate .. //depot/projects/dtrace/src/lib/libelf/elf_update.c#5 integrate .. //depot/projects/dtrace/src/lib/libelf/gelf_dyn.c#2 integrate .. //depot/projects/dtrace/src/lib/libelf/gelf_rel.c#3 integrate .. //depot/projects/dtrace/src/lib/libelf/gelf_rela.c#3 integrate .. //depot/projects/dtrace/src/lib/libelf/gelf_sym.c#2 integrate .. //depot/projects/dtrace/src/lib/libelf/gelf_update.c#4 integrate .. //depot/projects/dtrace/src/lib/libelf/libelf.h#11 integrate .. //depot/projects/dtrace/src/lib/libelf/libelf_allocate.c#6 integrate .. //depot/projects/dtrace/src/lib/libelf/libelf_ar.c#2 integrate .. //depot/projects/dtrace/src/lib/libelf/libelf_convert.m4#11 integrate .. //depot/projects/dtrace/src/lib/libelf/libelf_data.c#3 integrate .. //depot/projects/dtrace/src/lib/libelf/libelf_ehdr.c#7 integrate .. //depot/projects/dtrace/src/lib/libelf/libelf_phdr.c#4 integrate .. //depot/projects/dtrace/src/lib/libelf/libelf_xlate.c#2 integrate Differences ... ==== //depot/projects/dtrace/src/lib/libelf/_libelf.h#10 (text+ko) ==== @@ -63,7 +63,7 @@ ((O) << LIBELF_OS_ERROR_SHIFT)); \ } while (0) -#define LIBELF_ADJUST_AR_SIZE(S) (((S) + 1) & ~1) +#define LIBELF_ADJUST_AR_SIZE(S) (((S) + 1U) & ~1U) /* * Flags for library internal use. These use the upper 16 bits of a @@ -141,16 +141,12 @@ Elf_Scn *_libelf_allocate_scn(Elf *_e, size_t _ndx); Elf *_libelf_ar_open(Elf *_e); unsigned long _libelf_checksum(Elf *_e, int _elfclass); -int _libelf_dump32(Elf *_elf, const char *_name, const char *_outfile, - unsigned int _flags); -int _libelf_dump64(Elf *_elf, const char *_name, const char *_outfile, - unsigned int _flags); void *_libelf_ehdr(Elf *_e, int _elfclass, int _allocate); int _libelf_falign(Elf_Type _t, int _elfclass); size_t _libelf_fsize(Elf_Type _t, int _elfclass, unsigned int _version, size_t count); void (*_libelf_get_translator(Elf_Type _t, int _direction, int _elfclass)) - (char *_dst, char *_src, int _cnt, int _byteswap); + (char *_dst, char *_src, size_t _cnt, int _byteswap); void *_libelf_getphdr(Elf *_e, int _elfclass); int _libelf_getshnum(void *_eh, int _elfclass, size_t *_shnum); int _libelf_getshstrndx(void *_eh, int _elfclass, size_t *_shstrndx); @@ -165,6 +161,6 @@ int _libelf_setshstrndx(void *_eh, int _elfclass, size_t _shstrndx); Elf_Data *_libelf_xlate(Elf_Data *_d, const Elf_Data *_s, unsigned int _encoding, int _elfclass, int _direction); -int _libelf_xlate_shtype(size_t _sht); +int _libelf_xlate_shtype(uint32_t _sht); #endif /* __LIBELF_H_ */ ==== //depot/projects/dtrace/src/lib/libelf/elf_begin.c#6 (text+ko) ==== @@ -58,14 +58,14 @@ } m = NULL; - if ((m = mmap(NULL, sb.st_size, PROT_READ, MAP_PRIVATE, fd, + if ((m = mmap(NULL, (size_t) sb.st_size, PROT_READ, MAP_PRIVATE, fd, (off_t) 0)) == MAP_FAILED) { LIBELF_SET_ERROR(IO, errno); return (NULL); } - if ((e = elf_memory(m, sb.st_size)) == NULL) { - (void) munmap(m, sb.st_size); + if ((e = elf_memory(m, (size_t) sb.st_size)) == NULL) { + (void) munmap(m, (size_t) sb.st_size); return (NULL); } @@ -87,7 +87,8 @@ { Elf *e; struct ar_hdr *arh; - int i, ch, sz; + int i, ch; + size_t sz; assert(elf->e_kind == ELF_K_AR); ==== //depot/projects/dtrace/src/lib/libelf/elf_data.c#3 (text+ko) ==== @@ -41,9 +41,10 @@ Elf *e; char *dst; size_t fsz, msz, count; - int elfclass, elftype, sh_type; + int elfclass, elftype; + unsigned int sh_type; uint64_t sh_align, sh_offset, sh_size; - void (*xlate)(char *_d, char *_s, int _c, int _swap); + void (*xlate)(char *_d, char *_s, size_t _c, int _swap); if (s == NULL || (e = s->s_elf) == NULL || e->e_kind != ELF_K_ELF || (d != NULL && s != d->d_scn)) { @@ -86,7 +87,7 @@ } if ((fsz = (elfclass == ELFCLASS32 ? elf32_fsize : elf64_fsize)(elftype, - 1, e->e_version)) == 0) { + (size_t) 1, e->e_version)) == 0) { LIBELF_SET_ERROR(UNIMPL, 0); return (NULL); } @@ -151,7 +152,7 @@ d->d_align = 1; d->d_buf = NULL; - d->d_off = (off_t) -1; + d->d_off = (uint64_t) ~0; d->d_size = 0; d->d_type = ELF_T_BYTE; d->d_version = LIBELF_PRIVATE(version); ==== //depot/projects/dtrace/src/lib/libelf/elf_flag.c#3 (text+ko) ==== ==== //depot/projects/dtrace/src/lib/libelf/elf_getshstrndx.3#2 (text+ko) ==== @@ -27,9 +27,9 @@ .Os .Dt ELF 3 .Sh NAME -.Nm elf_getshstrndx +.Nm elf_getshstrndx , .Nm elf_setshstrndx -.Nd read/write the number of sections in an ELF file +.Nd retrieve/update the index of the section name string table .Sh LIBRARY .Lb libelf .Sh SYNOPSIS ==== //depot/projects/dtrace/src/lib/libelf/elf_memory.c#7 (text+ko) ==== @@ -28,7 +28,6 @@ __FBSDID("$FreeBSD$"); #include -#include #include #include @@ -81,7 +80,8 @@ return (NULL); } - } else if (sz >= SARMAG && strncmp(image, ARMAG, SARMAG) == 0) { + } else if (sz >= SARMAG && + strncmp(image, ARMAG, (size_t) SARMAG) == 0) { _libelf_init_elf(e, ELF_K_AR); e = _libelf_ar_open(e); } else ==== //depot/projects/dtrace/src/lib/libelf/elf_scn.c#4 (text+ko) ==== @@ -48,7 +48,7 @@ Elf32_Ehdr *eh32; Elf64_Ehdr *eh64; Elf_Scn *scn; - void (*xlator)(char *_d, char *_s, int _c, int _swap); + void (*xlator)(char *_d, char *_s, size_t _c, int _swap); assert(e != NULL); assert(ehdr != NULL); @@ -61,7 +61,7 @@ } \ } while (0) - fsz = gelf_fsize(e, ELF_T_SHDR, 1, e->e_version); + fsz = gelf_fsize(e, ELF_T_SHDR, (size_t) 1, e->e_version); assert(fsz > 0); ec = e->e_class; @@ -90,7 +90,7 @@ else dst = (char *) &scn->s_shdr.s_shdr64; - (*xlator)(dst, src, 1, + (*xlator)(dst, src, (size_t) 1, e->e_byteorder != LIBELF_PRIVATE(byteorder)); if (ec == ELFCLASS32) { @@ -160,7 +160,7 @@ { int ec; void *ehdr; - uint16_t *pshnum; + size_t shnum; Elf_Scn *scn; if (e == NULL || e->e_kind != ELF_K_ELF) { @@ -190,22 +190,26 @@ _libelf_load_scn(e, ehdr) == 0) return (NULL); - if (ec == ELFCLASS32) - pshnum = &((Elf32_Ehdr *) ehdr)->e_shnum; - else - pshnum = &((Elf64_Ehdr *) ehdr)->e_shnum; + if (_libelf_getshnum(ehdr, ec, &shnum) == 0) + return (NULL); if (STAILQ_EMPTY(&e->e_u.e_elf.e_scn)) { - assert(*pshnum == 0); - if ((scn = _libelf_allocate_scn(e, SHN_UNDEF)) == NULL) + assert(shnum == 0); + if ((scn = _libelf_allocate_scn(e, (size_t) SHN_UNDEF)) == + NULL) return (NULL); - (*pshnum)++; + shnum++; } - if ((scn = _libelf_allocate_scn(e, *pshnum)) == NULL) + assert(shnum > 0); + + if ((scn = _libelf_allocate_scn(e, shnum)) == NULL) return (NULL); - (*pshnum)++; + shnum++; + + if (_libelf_setshnum(ehdr, ec, shnum) == 0) + return (NULL); (void) elf_flagscn(scn, ELF_C_SET, ELF_F_DIRTY); ==== //depot/projects/dtrace/src/lib/libelf/elf_update.c#5 (text+ko) ==== @@ -175,7 +175,7 @@ */ if (sh_entsize == 0 && (sh_entsize = _libelf_fsize(elftype, ec, e->e_version, - 1)) == 1) + (size_t) 1)) == 1) sh_entsize = 0; sh_size = scn_size; @@ -299,7 +299,7 @@ int ec, eh_class, eh_type; unsigned int eh_byteorder, eh_version; size_t align, fsz; - uint16_t phnum, shnum; + size_t phnum, shnum; off_t rc, phoff, shoff; void *ehdr; Elf32_Ehdr *eh32; @@ -325,7 +325,6 @@ eh_class = eh32->e_ident[EI_CLASS]; phnum = eh32->e_phnum; phoff = (uint64_t) eh32->e_phoff; - shnum = eh32->e_shnum; shoff = (uint64_t) eh32->e_shoff; eh_type = eh32->e_type; eh_version = eh32->e_version; @@ -334,7 +333,6 @@ eh_class = eh64->e_ident[EI_CLASS]; phnum = eh64->e_phnum; phoff = eh64->e_phoff; - shnum = eh64->e_shnum; shoff = eh64->e_shoff; eh_type = eh64->e_type; eh_version = eh64->e_version; @@ -358,6 +356,9 @@ return ((off_t) -1); } + if (_libelf_getshnum(ehdr, ec, &shnum) == 0) + return ((off_t) -1); + e->e_byteorder = eh_byteorder; #define INITIALIZE_EHDR(E,EC,V) do { \ @@ -367,11 +368,12 @@ (E)->e_ident[EI_MAG3] = ELFMAG3; \ (E)->e_ident[EI_CLASS] = (EC); \ (E)->e_ident[EI_VERSION] = (V); \ - (E)->e_ehsize = _libelf_fsize(ELF_T_EHDR, (EC), (V), 1);\ + (E)->e_ehsize = _libelf_fsize(ELF_T_EHDR, (EC), (V), \ + (size_t) 1); \ (E)->e_phentsize = _libelf_fsize(ELF_T_PHDR, (EC), (V), \ - 1); \ + (size_t) 1); \ (E)->e_shentsize = _libelf_fsize(ELF_T_SHDR, (EC), (V), \ - 1); \ + (size_t) 1); \ } while (0) if (ec == ELFCLASS32) @@ -381,7 +383,7 @@ (void) elf_flagehdr(e, ELF_C_SET, ELF_F_DIRTY); - rc += _libelf_fsize(ELF_T_EHDR, ec, eh_version, 1); + rc += _libelf_fsize(ELF_T_EHDR, ec, eh_version, (size_t) 1); /* * Compute the layout the program header table, if one is @@ -426,7 +428,7 @@ * one is needed. */ if (shnum) { - fsz = _libelf_fsize(ELF_T_SHDR, ec, eh_version, 1); + fsz = _libelf_fsize(ELF_T_SHDR, ec, eh_version, (size_t) 1); align = _libelf_falign(ELF_T_SHDR, ec); if (e->e_flags & ELF_F_LAYOUT) { @@ -471,7 +473,8 @@ _libelf_write_scn(Elf *e, char *nf, Elf_Scn *s, off_t rc) { int ec; - size_t fsz, msz, nobjects, sh_type; + size_t fsz, msz, nobjects; + uint32_t sh_type; uint64_t sh_off; int elftype; Elf_Data *d, dst; @@ -602,7 +605,7 @@ assert(e->e_cmd != ELF_C_READ); assert(e->e_fd >= 0); - if ((newfile = malloc(newsize)) == NULL) { + if ((newfile = malloc((size_t) newsize)) == NULL) { LIBELF_SET_ERROR(RESOURCE, errno); return ((off_t) -1); } @@ -629,7 +632,7 @@ shoff = eh64->e_shoff; } - fsz = _libelf_fsize(ELF_T_EHDR, ec, e->e_version, 1); + fsz = _libelf_fsize(ELF_T_EHDR, ec, e->e_version, (size_t) 1); msz = _libelf_msize(ELF_T_EHDR, ec, e->e_version); (void) memset(&dst, 0, sizeof(dst)); @@ -716,7 +719,7 @@ src.d_size = _libelf_msize(ELF_T_SHDR, ec, e->e_version); src.d_version = dst.d_version = e->e_version; - fsz = _libelf_fsize(ELF_T_SHDR, ec, e->e_version, 1); + fsz = _libelf_fsize(ELF_T_SHDR, ec, e->e_version, (size_t) 1); STAILQ_FOREACH(scn, &e->e_u.e_elf.e_scn, s_next) { if (ec == ELFCLASS32) @@ -750,15 +753,15 @@ goto error; } - if (write(e->e_fd, newfile, newsize) != newsize || - lseek(e->e_fd, 0, SEEK_SET) < 0) { + if (write(e->e_fd, newfile, (size_t) newsize) != newsize || + lseek(e->e_fd, (off_t) 0, SEEK_SET) < 0) { LIBELF_SET_ERROR(IO, errno); goto error; } if (e->e_cmd != ELF_C_WRITE) { - if ((e->e_rawfile = mmap(NULL, newsize, PROT_READ, MAP_PRIVATE, - e->e_fd, (off_t) 0)) == MAP_FAILED) { + if ((e->e_rawfile = mmap(NULL, (size_t) newsize, PROT_READ, + MAP_PRIVATE, e->e_fd, (off_t) 0)) == MAP_FAILED) { LIBELF_SET_ERROR(IO, errno); goto error; } ==== //depot/projects/dtrace/src/lib/libelf/gelf_dyn.c#2 (text+ko) ==== @@ -40,7 +40,8 @@ Elf_Scn *scn; Elf32_Dyn *dyn32; Elf64_Dyn *dyn64; - size_t msz, sh_type; + size_t msz; + uint32_t sh_type; if (d == NULL || ndx < 0 || dst == NULL || (scn = d->d_scn) == NULL || ==== //depot/projects/dtrace/src/lib/libelf/gelf_rel.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2006 John Birrell jb@freebsd.org + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -27,15 +27,64 @@ #include __FBSDID("$FreeBSD$"); +#include #include -#include -#include #include "_libelf.h" GElf_Rel * -gelf_getrel(__unused Elf_Data *src, __unused int indx, __unused GElf_Rel *dst) +gelf_getrel(Elf_Data *d, int ndx, GElf_Rel *dst) { - printf("%s: not implemented\n", __FUNCTION__); - return (0); + int ec; + Elf *e; + Elf_Scn *scn; + Elf32_Rel *rel32; + Elf64_Rel *rel64; + size_t msz; + uint32_t sh_type; + + if (d == NULL || ndx < 0 || dst == NULL || + (scn = d->d_scn) == NULL || + (e = scn->s_elf) == NULL) { + LIBELF_SET_ERROR(ARGUMENT, 0); + return (NULL); + } + + ec = e->e_class; + assert(ec == ELFCLASS32 || ec == ELFCLASS64); + + if (ec == ELFCLASS32) + sh_type = scn->s_shdr.s_shdr32.sh_type; + else + sh_type = scn->s_shdr.s_shdr64.sh_type; + + if (_libelf_xlate_shtype(sh_type) != ELF_T_REL) { + LIBELF_SET_ERROR(ARGUMENT, 0); + return (NULL); + } + + msz = _libelf_msize(ELF_T_REL, ec, e->e_version); + + assert(msz > 0); + + if (msz * ndx >= d->d_size) { + LIBELF_SET_ERROR(ARGUMENT, 0); + return (NULL); + } + + if (ec == ELFCLASS32) { + rel32 = (Elf32_Rel *) d->d_buf + ndx; + + dst->r_offset = (Elf64_Addr) rel32->r_offset; + dst->r_info = (Elf64_Xword) rel32->r_info; + + } else { + + rel64 = (Elf64_Rel *) d->d_buf + ndx; + + *dst = *rel64; + } + + return (dst); } + ==== //depot/projects/dtrace/src/lib/libelf/gelf_rela.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2006 John Birrell jb@freebsd.org + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -27,15 +27,65 @@ #include __FBSDID("$FreeBSD$"); +#include #include -#include -#include #include "_libelf.h" GElf_Rela * -gelf_getrela(__unused Elf_Data *src, __unused int indx, __unused GElf_Rela *dst) +gelf_getrela(Elf_Data *d, int ndx, GElf_Rela *dst) { - printf("%s: not implemented\n", __FUNCTION__); - return (0); + int ec; + Elf *e; + Elf_Scn *scn; + Elf32_Rela *rela32; + Elf64_Rela *rela64; + size_t msz; + uint32_t sh_type; + + if (d == NULL || ndx < 0 || dst == NULL || + (scn = d->d_scn) == NULL || + (e = scn->s_elf) == NULL) { + LIBELF_SET_ERROR(ARGUMENT, 0); + return (NULL); + } + + ec = e->e_class; + assert(ec == ELFCLASS32 || ec == ELFCLASS64); + + if (ec == ELFCLASS32) + sh_type = scn->s_shdr.s_shdr32.sh_type; + else + sh_type = scn->s_shdr.s_shdr64.sh_type; + + if (_libelf_xlate_shtype(sh_type) != ELF_T_RELA) { + LIBELF_SET_ERROR(ARGUMENT, 0); + return (NULL); + } + + msz = _libelf_msize(ELF_T_RELA, ec, e->e_version); + + assert(msz > 0); + + if (msz * ndx >= d->d_size) { + LIBELF_SET_ERROR(ARGUMENT, 0); + return (NULL); + } + + if (ec == ELFCLASS32) { + rela32 = (Elf32_Rela *) d->d_buf + ndx; + + dst->r_offset = (Elf64_Addr) rela32->r_offset; + dst->r_info = (Elf64_Xword) rela32->r_info; + dst->r_addend = (Elf64_Sxword) rela32->r_addend; + + } else { + + rela64 = (Elf64_Rela *) d->d_buf + ndx; + + *dst = *rela64; + } + + return (dst); } + ==== //depot/projects/dtrace/src/lib/libelf/gelf_sym.c#2 (text+ko) ==== @@ -40,7 +40,8 @@ Elf_Scn *scn; Elf32_Sym *sym32; Elf64_Sym *sym64; - size_t msz, sh_type; + size_t msz; + uint32_t sh_type; if (d == NULL || ndx < 0 || dst == NULL || (scn = d->d_scn) == NULL || ==== //depot/projects/dtrace/src/lib/libelf/gelf_update.c#4 (text+ko) ==== @@ -209,7 +209,8 @@ Elf_Scn *scn; Elf32_Sym *sym32; Elf64_Sym *sym64; - size_t msz, sh_type; + size_t msz; + uint32_t sh_type; if (d == NULL || ndx < 0 || gs == NULL || (scn = d->d_scn) == NULL || @@ -266,7 +267,8 @@ Elf_Scn *scn; Elf32_Dyn *dyn32; Elf64_Dyn *dyn64; - size_t msz, sh_type; + size_t msz; + uint32_t sh_type; if (d == NULL || ndx < 0 || ds == NULL || (scn = d->d_scn) == NULL || @@ -318,7 +320,8 @@ Elf_Scn *scn; Elf32_Rel *rel32; Elf64_Rel *rel64; - size_t msz, sh_type; + size_t msz; + uint32_t sh_type; if (d == NULL || ndx < 0 || dr == NULL || (scn = d->d_scn) == NULL || @@ -370,7 +373,8 @@ Elf_Scn *scn; Elf32_Rela *rela32; Elf64_Rela *rela64; - size_t msz, sh_type; + size_t msz; + uint32_t sh_type; if (d == NULL || ndx < 0 || dr == NULL || (scn = d->d_scn) == NULL || @@ -414,5 +418,3 @@ return (1); } - - ==== //depot/projects/dtrace/src/lib/libelf/libelf.h#11 (text+ko) ==== @@ -171,38 +171,12 @@ * Flags defined by the API. */ -#define ELF_F_LAYOUT 0x001 /* application will layout the file */ -#define ELF_F_DIRTY 0x002 /* a section or ELF file is dirty */ - -/* - * Flags passed to elf_dump(). - */ -#define ELF_DUMP_CAP (1 << 0) -#define ELF_DUMP_CHECKSUM (1 << 1) -#define ELF_DUMP_DEMANGLE (1 << 2) -#define ELF_DUMP_DYN (1 << 3) -#define ELF_DUMP_EHDR (1 << 4) -#define ELF_DUMP_GOT (1 << 5) -#define ELF_DUMP_GROUP (1 << 6) -#define ELF_DUMP_HASH (1 << 7) -#define ELF_DUMP_INTERP (1 << 8) -#define ELF_DUMP_LONGNAME (1 << 9) -#define ELF_DUMP_MOVE (1 << 10) -#define ELF_DUMP_NOTE (1 << 11) -#define ELF_DUMP_PHDR (1 << 12) -#define ELF_DUMP_RELOC (1 << 13) -#define ELF_DUMP_SHDR (1 << 14) -#define ELF_DUMP_SYMBOLS (1 << 15) -#define ELF_DUMP_SYMINFO (1 << 16) -#define ELF_DUMP_UNWIND (1 << 17) -#define ELF_DUMP_VERSIONS (1 << 18) +#define ELF_F_LAYOUT 0x001U /* application will layout the file */ +#define ELF_F_DIRTY 0x002U /* a section or ELF file is dirty */ __BEGIN_DECLS Elf *elf_begin(int _fd, Elf_Cmd _cmd, Elf *_elf); int elf_cntl(Elf *_elf, Elf_Cmd _cmd); -int elf_dump(const char *_elf_file, const char *name, - const char *_outfile, unsigned int _flags); -int elf_dump_argv(int _argc, char **_argv); int elf_end(Elf *_elf); const char *elf_errmsg(int _error); int elf_errno(void); ==== //depot/projects/dtrace/src/lib/libelf/libelf_allocate.c#6 (text+ko) ==== @@ -127,7 +127,7 @@ { Elf_Data *d; - if ((d = calloc(1, sizeof(Elf_Data))) == NULL) { + if ((d = calloc((size_t) 1, sizeof(Elf_Data))) == NULL) { LIBELF_SET_ERROR(RESOURCE, 0); return (NULL); } @@ -154,7 +154,7 @@ { Elf_Scn *s; - if ((s = calloc(1, sizeof(Elf_Scn))) == NULL) { + if ((s = calloc((size_t) 1, sizeof(Elf_Scn))) == NULL) { LIBELF_SET_ERROR(RESOURCE, errno); return (NULL); } ==== //depot/projects/dtrace/src/lib/libelf/libelf_ar.c#2 (text+ko) ==== ==== //depot/projects/dtrace/src/lib/libelf/libelf_convert.m4#11 (text+ko) ==== @@ -1,4 +1,3 @@ -//depot/user/jkoshy/projects/libbsdelf/src/libelf_convert.m4#10 - edit change 104937 (text+ko) /*- * Copyright (c) 2006 Joseph Koshy * All rights reserved. @@ -280,10 +279,10 @@ */ define(`MAKEPRIM_TO_F',` static void -libelf_cvt_$1$3_tof(char *dst, char *src, int count, int byteswap) +libelf_cvt_$1$3_tof(char *dst, char *src, size_t count, int byteswap) { Elf$4_$2 t, *s = (Elf$4_$2 *) (uintptr_t) src; - int c; + size_t c; if (dst == src && !byteswap) return; @@ -303,10 +302,10 @@ define(`MAKEPRIM_TO_M',` static void -libelf_cvt_$1$3_tom(char *dst, char *src, int count, int byteswap) +libelf_cvt_$1$3_tom(char *dst, char *src, size_t count, int byteswap) { Elf$4_$2 t, *d = (Elf$4_$2 *) (uintptr_t) dst; - int c; + size_t c; if (dst == src && !byteswap) return; @@ -398,10 +397,10 @@ define(`MAKE_TO_F', `ifdef(`IGNORE_'$1$3,`',` static void -libelf_cvt$3_$1_tof(char *dst, char *src, int count, int byteswap) +libelf_cvt$3_$1_tof(char *dst, char *src, size_t count, int byteswap) { Elf$3_$2 t, *s; - int c; + size_t c; s = (Elf$3_$2 *) (uintptr_t) src; for (c = 0; c < count; c++) { @@ -417,13 +416,13 @@ define(`MAKE_TO_M', `ifdef(`IGNORE_'$1$3,`',` static void -libelf_cvt$3_$1_tom(char *dst, char *src, int count, int byteswap) +libelf_cvt$3_$1_tom(char *dst, char *src, size_t count, int byteswap) { Elf$3_$2 t, *d; unsigned char *s,*s0; size_t fsz; - fsz = elf$3_fsize(ELF_T_$1, 1, EV_CURRENT); + fsz = elf$3_fsize(ELF_T_$1, (size_t) 1, EV_CURRENT); d = ((Elf$3_$2 *) (uintptr_t) dst) + (count - 1); s0 = (unsigned char *) src + (count - 1) * fsz; @@ -478,7 +477,7 @@ */ static void -libelf_cvt_BYTE_tox(char *dst, char *src, int count, int byteswap) +libelf_cvt_BYTE_tox(char *dst, char *src, size_t count, int byteswap) { (void) byteswap; if (dst != src) @@ -488,10 +487,10 @@ MAKE_TYPE_CONVERTERS(ELF_TYPE_LIST) struct converters { - void (*tof32)(char *dst, char *src, int cnt, int byteswap); - void (*tom32)(char *dst, char *src, int cnt, int byteswap); - void (*tof64)(char *dst, char *src, int cnt, int byteswap); - void (*tom64)(char *dst, char *src, int cnt, int byteswap); + void (*tof32)(char *dst, char *src, size_t cnt, int byteswap); + void (*tom32)(char *dst, char *src, size_t cnt, int byteswap); + void (*tof64)(char *dst, char *src, size_t cnt, int byteswap); + void (*tom64)(char *dst, char *src, size_t cnt, int byteswap); }; divert(-1) @@ -531,7 +530,7 @@ }; void (*_libelf_get_translator(Elf_Type t, int direction, int elfclass)) - (char *_dst, char *_src, int _cnt, int _byteswap) + (char *_dst, char *_src, size_t _cnt, int _byteswap) { assert(elfclass == ELFCLASS32 || elfclass == ELFCLASS64); assert(direction == ELF_TOFILE || direction == ELF_TOMEMORY); ==== //depot/projects/dtrace/src/lib/libelf/libelf_data.c#3 (text+ko) ==== @@ -34,7 +34,7 @@ #include "_libelf.h" int -_libelf_xlate_shtype(size_t sht) +_libelf_xlate_shtype(uint32_t sht) { switch (sht) { case SHT_DYNAMIC: ==== //depot/projects/dtrace/src/lib/libelf/libelf_ehdr.c#7 (text+ko) ==== @@ -55,7 +55,7 @@ { size_t fsz, msz; void *ehdr; - void (*xlator)(char *_d, char *_s, int _c, int _swap); + void (*xlator)(char *_d, char *_s, size_t _c, int _swap); assert(ec == ELFCLASS32 || ec == ELFCLASS64); @@ -85,7 +85,7 @@ if (ehdr != NULL) /* already have a translated ehdr */ return (ehdr); - fsz = gelf_fsize(e, ELF_T_EHDR, 1, e->e_version); + fsz = gelf_fsize(e, ELF_T_EHDR, (size_t) 1, e->e_version); assert(fsz > 0); @@ -98,7 +98,7 @@ assert(msz > 0); - if ((ehdr = calloc(1, msz)) == NULL) { + if ((ehdr = calloc((size_t) 1, msz)) == NULL) { LIBELF_SET_ERROR(RESOURCE, 0); return (NULL); } @@ -118,7 +118,8 @@ return (ehdr); xlator = _libelf_get_translator(ELF_T_EHDR, ELF_TOMEMORY, ec); - (*xlator)(ehdr, e->e_rawfile, 1, e->e_byteorder != LIBELF_PRIVATE(byteorder)); + (*xlator)(ehdr, e->e_rawfile, (size_t) 1, + e->e_byteorder != LIBELF_PRIVATE(byteorder)); return (ehdr); } ==== //depot/projects/dtrace/src/lib/libelf/libelf_phdr.c#4 (text+ko) ==== @@ -45,7 +45,7 @@ Elf32_Ehdr *eh32; Elf64_Ehdr *eh64; void *ehdr, *phdr; - void (*xlator)(char *_d, char *_s, int _c, int _swap); + void (*xlator)(char *_d, char *_s, size_t _c, int _swap); assert(ec == ELFCLASS32 || ec == ELFCLASS64); ==== //depot/projects/dtrace/src/lib/libelf/libelf_xlate.c#2 (text+ko) ==== @@ -80,7 +80,7 @@ } if ((fsz = (elfclass == ELFCLASS32 ? elf32_fsize : elf64_fsize)(src->d_type, - 1, src->d_version)) == 0) + (size_t) 1, src->d_version)) == 0) return (NULL); msz = _libelf_msize(src->d_type, elfclass, src->d_version); From owner-p4-projects@FreeBSD.ORG Wed Nov 1 22:41:36 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3095116A50C; Wed, 1 Nov 2006 22:41:36 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 0B86C16A4D4 for ; Wed, 1 Nov 2006 22:41:36 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 85CBE43E16 for ; Wed, 1 Nov 2006 22:37:29 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA1MbTpw063657 for ; Wed, 1 Nov 2006 22:37:29 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA1MbSBe063654 for perforce@freebsd.org; Wed, 1 Nov 2006 22:37:28 GMT (envelope-from marcel@freebsd.org) Date: Wed, 1 Nov 2006 22:37:28 GMT Message-Id: <200611012237.kA1MbSBe063654@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 Cc: Subject: PERFORCE change 108976 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 22:41:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=108976 Change 108976 by marcel@marcel_cluster on 2006/11/01 22:37:13 o Create a devsw for the EFI network interface so that lsdev will actually show the network devices. o Create a "repository" of handles so that we can map from handle to (dev,unit) and vice versa. This eliminates the kluge in main(). It also avoids having each device keep their own books in this regard... Affected files ... .. //depot/projects/ia64/sys/boot/efi/include/efilib.h#9 edit .. //depot/projects/ia64/sys/boot/efi/libefi/Makefile#16 edit .. //depot/projects/ia64/sys/boot/efi/libefi/efifs.c#15 edit .. //depot/projects/ia64/sys/boot/efi/libefi/efinet.c#9 edit .. //depot/projects/ia64/sys/boot/efi/libefi/handles.c#1 add .. //depot/projects/ia64/sys/boot/ia64/efi/conf.c#5 edit .. //depot/projects/ia64/sys/boot/ia64/efi/main.c#5 edit Differences ... ==== //depot/projects/ia64/sys/boot/efi/include/efilib.h#9 (text+ko) ==== @@ -43,6 +43,10 @@ void *efi_get_table(EFI_GUID *tbl); void efi_main(EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *system_table); +int efi_register_handles(struct devsw *, EFI_HANDLE *, int); +EFI_HANDLE efi_find_handle(struct devsw *, int); +int efi_handle_lookup(EFI_HANDLE, struct devsw **, int *); + int efi_status_to_errno(EFI_STATUS); time_t efi_time(EFI_TIME *); ==== //depot/projects/ia64/sys/boot/efi/libefi/Makefile#16 (text+ko) ==== @@ -3,7 +3,8 @@ LIB= efi INTERNALLIB= -SRCS= delay.c efi_console.c efifs.c efinet.c errno.c libefi.c time.c +SRCS= delay.c efi_console.c efifs.c efinet.c errno.c handles.c libefi.c \ + time.c CFLAGS+= -I${.CURDIR}/../include CFLAGS+= -I${.CURDIR}/../include/${MACHINE_ARCH:S/amd64/i386/} ==== //depot/projects/ia64/sys/boot/efi/libefi/efifs.c#15 (text+ko) ==== @@ -51,24 +51,24 @@ static EFI_GUID fs_guid = EFI_FILE_SYSTEM_INFO_ID; static EFI_GUID fi_guid = EFI_FILE_INFO_ID; -static EFI_HANDLE *fs_handles; -static int fs_handle_count; - static int efifs_open(const char *upath, struct open_file *f) { struct devdesc *dev = f->f_devdata; EFI_FILE_IO_INTERFACE *fsif; EFI_FILE *file, *root; + EFI_HANDLE h; EFI_STATUS status; CHAR16 *cp, *path; - if (f->f_dev != &efifs_dev || dev->d_unit < 0 || - dev->d_unit >= fs_handle_count) + if (f->f_dev != &efifs_dev || dev->d_unit < 0) + return (EINVAL); + + h = efi_find_handle(f->f_dev, dev->d_unit); + if (h == NULL) return (EINVAL); - status = BS->HandleProtocol(fs_handles[dev->d_unit], &sfs_guid, - (VOID **)&fsif); + status = BS->HandleProtocol(h, &sfs_guid, (VOID **)&fsif); if (EFI_ERROR(status)) return (efi_status_to_errno(status)); @@ -296,7 +296,7 @@ } struct fs_ops efifs_fsops = { - .fs_name = "fs", + .fs_name = "efifs", .fo_open = efifs_open, .fo_close = efifs_close, .fo_read = efifs_read, @@ -306,38 +306,29 @@ .fo_readdir = efifs_readdir }; -int -efifs_get_unit(EFI_HANDLE h) -{ - int u; - - u = 0; - while (u < fs_handle_count && fs_handles[u] != h) - u++; - return ((u < fs_handle_count) ? u : -1); -} - static int efifs_dev_init(void) { - EFI_STATUS status; - UINTN sz; + EFI_HANDLE *handles; + EFI_STATUS status; + UINTN sz; + int err; sz = 0; status = BS->LocateHandle(ByProtocol, &sfs_guid, 0, &sz, 0); if (status == EFI_BUFFER_TOO_SMALL) { - fs_handles = (EFI_HANDLE *)malloc(sz); + handles = (EFI_HANDLE *)malloc(sz); status = BS->LocateHandle(ByProtocol, &sfs_guid, 0, &sz, - fs_handles); - if (EFI_ERROR(status)) { - free(fs_handles); - fs_handles = NULL; - } + handles); + if (EFI_ERROR(status)) + free(handles); } if (EFI_ERROR(status)) return (efi_status_to_errno(status)); - fs_handle_count = sz / sizeof(EFI_HANDLE); - return (0); + err = efi_register_handles(&efifs_dev, handles, + sz / sizeof(EFI_HANDLE)); + free(handles); + return (err); } /* @@ -353,16 +344,17 @@ char line[80]; EFI_FILE_IO_INTERFACE *fsif; EFI_FILE *volume; + EFI_HANDLE h; EFI_STATUS status; UINTN sz; - int h, i; + int i, unit; - for (h = 0; h < fs_handle_count; h++) { - sprintf(line, " fs%d: ", h); + for (unit = 0, h = efi_find_handle(&efifs_dev, 0); + h != NULL; h = efi_find_handle(&efifs_dev, ++unit)) { + sprintf(line, " %s%d: ", efifs_dev.dv_name, unit); pager_output(line); - status = BS->HandleProtocol(fs_handles[h], &sfs_guid, - (VOID **)&fsif); + status = BS->HandleProtocol(h, &sfs_guid, (VOID **)&fsif); if (EFI_ERROR(status)) goto err; @@ -417,7 +409,7 @@ dev = va_arg(args, struct devdesc*); va_end(args); - if (dev->d_unit < 0 || dev->d_unit >= fs_handle_count) + if (dev->d_unit < 0) return(ENXIO); return (0); } ==== //depot/projects/ia64/sys/boot/efi/libefi/efinet.c#9 (text+ko) ==== @@ -1,5 +1,6 @@ /*- * Copyright (c) 2001 Doug Rabson + * Copyright (c) 2002, 2006 Marcel Moolenaar * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,9 +36,13 @@ #include #include +#include + #include #include +static EFI_GUID sn_guid = EFI_SIMPLE_NETWORK_PROTOCOL; + static void efinet_end(struct netif *); static int efinet_get(struct iodesc *, void *, size_t, time_t); static void efinet_init(struct iodesc *, void *); @@ -46,7 +51,7 @@ static int efinet_put(struct iodesc *, void *, size_t); struct netif_driver efinetif = { - .netif_bname = "net", + .netif_bname = "efinet", .netif_match = efinet_match, .netif_probe = efinet_probe, .netif_init = efinet_init, @@ -117,7 +122,7 @@ status = net->Transmit(net, 0, len, pkt, 0, 0, 0); if (status != EFI_SUCCESS) - return -1; + return (-1); /* Wait for the buffer to be transmitted */ do { @@ -130,7 +135,7 @@ } while (status == EFI_SUCCESS && buf == 0); /* XXX How do we deal with status != EFI_SUCCESS now? */ - return (status == EFI_SUCCESS) ? len : -1; + return ((status == EFI_SUCCESS) ? len : -1); } static int @@ -159,13 +164,13 @@ if (bufsz > len) bufsz = len; bcopy(buf, pkt, bufsz); - return bufsz; + return (bufsz); } if (status != EFI_NOT_READY) - return 0; + return (0); } - return 0; + return (0); } static void @@ -173,11 +178,18 @@ { struct netif *nif = desc->io_netif; EFI_SIMPLE_NETWORK *net; + EFI_HANDLE h; EFI_STATUS status; - net = nif->nif_driver->netif_ifs[nif->nif_unit].dif_private; - nif->nif_devdata = net; + h = nif->nif_driver->netif_ifs[nif->nif_unit].dif_private; + status = BS->HandleProtocol(h, &sn_guid, (VOID **)&nif->nif_devdata); + if (status != EFI_SUCCESS) { + printf("net%d: cannot start interface (status=%ld)\n", + nif->nif_unit, (long)status); + return; + } + net = nif->nif_devdata; if (net->Mode->State == EfiSimpleNetworkStopped) { status = net->Start(net); if (status != EFI_SUCCESS) { @@ -214,58 +226,84 @@ bcopy(net->Mode->CurrentAddress.Addr, desc->myea, 6); desc->xid = 1; +} - return; +static void +efinet_end(struct netif *nif) +{ + EFI_SIMPLE_NETWORK *net = nif->nif_devdata; + + net->Shutdown(net); } -void -efinet_init_driver() +static int efinet_dev_init(void); +static void efinet_dev_print(int); + +struct devsw efinet_dev = { + .dv_name = "net", + .dv_type = DEVT_NET, + .dv_init = efinet_dev_init, + .dv_strategy = net_strategy, + .dv_open = net_open, + .dv_close = net_close, + .dv_ioctl = noioctl, + .dv_print = efinet_dev_print, + .dv_cleanup = NULL +}; + +static int +efinet_dev_init() { - EFI_STATUS status; - UINTN sz; - static EFI_GUID netid = EFI_SIMPLE_NETWORK_PROTOCOL; - EFI_HANDLE *handles; - int nifs, i; -#define MAX_INTERFACES 4 - static struct netif_dif difs[MAX_INTERFACES]; - static struct netif_stats stats[MAX_INTERFACES]; + struct netif_dif *dif; + struct netif_stats *stats; + EFI_HANDLE *handles; + EFI_STATUS status; + UINTN sz; + int err, i, nifs; sz = 0; - status = BS->LocateHandle(ByProtocol, &netid, 0, &sz, 0); - if (status != EFI_BUFFER_TOO_SMALL) - return; - handles = (EFI_HANDLE *) malloc(sz); - status = BS->LocateHandle(ByProtocol, &netid, 0, &sz, handles); - if (EFI_ERROR(status)) { - free(handles); - return; + status = BS->LocateHandle(ByProtocol, &sn_guid, 0, &sz, 0); + if (status == EFI_BUFFER_TOO_SMALL) { + handles = (EFI_HANDLE *)malloc(sz); + status = BS->LocateHandle(ByProtocol, &sn_guid, 0, &sz, + handles); + if (EFI_ERROR(status)) + free(handles); } - + if (EFI_ERROR(status)) + return (efi_status_to_errno(status)); nifs = sz / sizeof(EFI_HANDLE); - if (nifs > MAX_INTERFACES) - nifs = MAX_INTERFACES; + err = efi_register_handles(&efinet_dev, handles, nifs); + free(handles); + if (err != 0) + return (err); efinetif.netif_nifs = nifs; - efinetif.netif_ifs = difs; + efinetif.netif_ifs = calloc(nifs, sizeof(struct netif_dif)); + + stats = calloc(nifs, sizeof(struct netif_stats)); - bzero(stats, sizeof(stats)); for (i = 0; i < nifs; i++) { - struct netif_dif *dif = &efinetif.netif_ifs[i]; + dif = &efinetif.netif_ifs[i]; dif->dif_unit = i; dif->dif_nsel = 1; dif->dif_stats = &stats[i]; - - BS->HandleProtocol(handles[i], &netid, - (VOID**) &dif->dif_private); + dif->dif_private = efi_find_handle(&efinet_dev, i); } - return; + return (0); } static void -efinet_end(struct netif *nif) +efinet_dev_print(int verbose) { - EFI_SIMPLE_NETWORK *net = nif->nif_devdata; + char line[80]; + EFI_HANDLE h; + int unit; - net->Shutdown(net); + for (unit = 0, h = efi_find_handle(&efinet_dev, 0); + h != NULL; h = efi_find_handle(&efinet_dev, ++unit)) { + sprintf(line, " %s%d:\n", efinet_dev.dv_name, unit); + pager_output(line); + } } ==== //depot/projects/ia64/sys/boot/ia64/efi/conf.c#5 (text+ko) ==== @@ -50,17 +50,23 @@ /* Exported for libstand */ struct devsw *devsw[] = { &efifs_dev, + &efinet_dev, NULL }; struct fs_ops *file_system[] = { &efifs_fsops, + &nfs_fsops, &ufs_fsops, &gzipfs_fsops, NULL }; -/* Exported for ia64 only */ +struct netif_driver *netif_drivers[] = { + &efinetif, + NULL +}; + /* * Sort formats so that those that can detect based on arguments * rather than reading the file go first. ==== //depot/projects/ia64/sys/boot/ia64/efi/main.c#5 (text+ko) ==== @@ -124,8 +124,6 @@ if (devsw[i]->dv_init != NULL) (devsw[i]->dv_init)(); - efinet_init_driver(); - /* Get our loaded image protocol interface structure. */ BS->HandleProtocol(IH, &imgid, (VOID**)&img); @@ -135,14 +133,7 @@ printf("%s, Revision %s\n", bootprog_name, bootprog_rev); printf("(%s, %s)\n", bootprog_maker, bootprog_date); - i = efifs_get_unit(img->DeviceHandle); - if (i >= 0) { - currdev.d_dev = devsw[0]; /* XXX disk */ - currdev.d_unit = i; - } else { - currdev.d_dev = devsw[1]; /* XXX net */ - currdev.d_unit = 0; /* XXX */ - } + efi_handle_lookup(img->DeviceHandle, &currdev.d_dev, &currdev.d_unit); currdev.d_type = currdev.d_dev->dv_type; /* From owner-p4-projects@FreeBSD.ORG Wed Nov 1 22:54:00 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3FC7D16A52B; Wed, 1 Nov 2006 22:54:00 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 0DFE216A514 for ; Wed, 1 Nov 2006 22:54:00 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7ED4B43D7E for ; Wed, 1 Nov 2006 22:53:53 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA1Mrr5j066864 for ; Wed, 1 Nov 2006 22:53:53 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA1Mroax066849 for perforce@freebsd.org; Wed, 1 Nov 2006 22:53:50 GMT (envelope-from marcel@freebsd.org) Date: Wed, 1 Nov 2006 22:53:50 GMT Message-Id: <200611012253.kA1Mroax066849@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 Cc: Subject: PERFORCE change 108978 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 22:54:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=108978 Change 108978 by marcel@marcel_nfs on 2006/11/01 22:53:02 IFC @108971 Affected files ... .. //depot/projects/ia64/Makefile#53 integrate .. //depot/projects/ia64/ObsoleteFiles.inc#10 integrate .. //depot/projects/ia64/bin/rm/rm.1#14 integrate .. //depot/projects/ia64/bin/rm/rm.c#17 integrate .. //depot/projects/ia64/contrib/bsnmp/snmp_mibII/mibII.c#11 integrate .. //depot/projects/ia64/contrib/bsnmp/snmpd/action.c#5 integrate .. //depot/projects/ia64/contrib/bsnmp/snmpd/tree.def#4 integrate .. //depot/projects/ia64/contrib/pf/man/pf.conf.5#10 integrate .. //depot/projects/ia64/etc/mtree/BSD.include.dist#39 integrate .. //depot/projects/ia64/etc/snmpd.config#4 integrate .. //depot/projects/ia64/games/fortune/datfiles/fortunes#61 integrate .. //depot/projects/ia64/gnu/usr.bin/send-pr/send-pr.sh#9 integrate .. //depot/projects/ia64/include/Makefile#55 integrate .. //depot/projects/ia64/lib/libufs/Makefile#9 integrate .. //depot/projects/ia64/lib/libufs/cgread.3#4 integrate .. //depot/projects/ia64/lib/libufs/cgroup.c#3 integrate .. //depot/projects/ia64/lib/libufs/libufs.3#4 integrate .. //depot/projects/ia64/lib/libufs/libufs.h#8 integrate .. //depot/projects/ia64/sbin/dumpfs/dumpfs.c#20 integrate .. //depot/projects/ia64/sbin/dumpon/dumpon.c#11 integrate .. //depot/projects/ia64/sbin/fsck_ffs/Makefile#9 integrate .. //depot/projects/ia64/sbin/fsck_ffs/fsck.h#15 integrate .. //depot/projects/ia64/sbin/fsck_ffs/fsutil.c#17 integrate .. //depot/projects/ia64/sbin/fsck_ffs/gjournal.c#1 branch .. //depot/projects/ia64/sbin/fsck_ffs/inode.c#12 integrate .. //depot/projects/ia64/sbin/fsck_ffs/main.c#18 integrate .. //depot/projects/ia64/sbin/fsck_ffs/pass5.c#17 integrate .. //depot/projects/ia64/sbin/fsck_ffs/setup.c#21 integrate .. //depot/projects/ia64/sbin/fsdb/fsdb.c#16 integrate .. //depot/projects/ia64/sbin/fsdb/fsdb.h#8 integrate .. //depot/projects/ia64/sbin/geom/class/Makefile#7 integrate .. //depot/projects/ia64/sbin/geom/class/journal/Makefile#1 branch .. //depot/projects/ia64/sbin/geom/class/journal/geom_journal.c#1 branch .. //depot/projects/ia64/sbin/geom/class/journal/geom_journal.h#1 branch .. //depot/projects/ia64/sbin/geom/class/journal/geom_journal_ufs.c#1 branch .. //depot/projects/ia64/sbin/ggate/shared/ggate.c#6 integrate .. //depot/projects/ia64/sbin/growfs/debug.c#7 integrate .. //depot/projects/ia64/sbin/ifconfig/ifbridge.c#4 integrate .. //depot/projects/ia64/sbin/ifconfig/ifconfig.8#41 integrate .. //depot/projects/ia64/sbin/mount/mount.c#29 integrate .. //depot/projects/ia64/sbin/newfs/mkfs.c#40 integrate .. //depot/projects/ia64/sbin/newfs/newfs.8#23 integrate .. //depot/projects/ia64/sbin/newfs/newfs.c#30 integrate .. //depot/projects/ia64/sbin/newfs/newfs.h#17 integrate .. //depot/projects/ia64/sbin/tunefs/tunefs.8#19 integrate .. //depot/projects/ia64/sbin/tunefs/tunefs.c#15 integrate .. //depot/projects/ia64/share/man/man3/pthread_create.3#4 integrate .. //depot/projects/ia64/share/man/man4/ddb.4#14 integrate .. //depot/projects/ia64/share/man/man4/fdc.4#6 integrate .. //depot/projects/ia64/share/man/man4/man4.i386/acpi_sony.4#4 integrate .. //depot/projects/ia64/share/man/man5/fs.5#10 integrate .. //depot/projects/ia64/share/man/man9/disk.9#5 integrate .. //depot/projects/ia64/share/man/man9/g_bio.9#5 integrate .. //depot/projects/ia64/share/misc/bsd-family-tree#33 integrate .. //depot/projects/ia64/share/mk/bsd.own.mk#16 integrate .. //depot/projects/ia64/share/snmp/mibs/FREEBSD-MIB.txt#2 integrate .. //depot/projects/ia64/sys/amd64/amd64/genassym.c#15 integrate .. //depot/projects/ia64/sys/amd64/linux32/linux32_sysvec.c#12 integrate .. //depot/projects/ia64/sys/arm/arm/elf_trampoline.c#8 integrate .. //depot/projects/ia64/sys/arm/arm/genassym.c#6 integrate .. //depot/projects/ia64/sys/cam/scsi/scsi_da.c#69 integrate .. //depot/projects/ia64/sys/cam/scsi/scsi_low.c#16 integrate .. //depot/projects/ia64/sys/conf/NOTES#107 integrate .. //depot/projects/ia64/sys/conf/files#148 integrate .. //depot/projects/ia64/sys/conf/options#98 integrate .. //depot/projects/ia64/sys/dev/aac/aac_cam.c#20 integrate .. //depot/projects/ia64/sys/dev/acpi_support/acpi_aiboost.c#1 branch .. //depot/projects/ia64/sys/dev/acpi_support/acpi_sony.c#6 integrate .. //depot/projects/ia64/sys/dev/advansys/advansys.c#12 integrate .. //depot/projects/ia64/sys/dev/advansys/advlib.c#8 integrate .. //depot/projects/ia64/sys/dev/advansys/adwcam.c#13 integrate .. //depot/projects/ia64/sys/dev/aha/aha.c#15 integrate .. //depot/projects/ia64/sys/dev/ahb/ahb.c#14 integrate .. //depot/projects/ia64/sys/dev/aic/aic.c#11 integrate .. //depot/projects/ia64/sys/dev/amd/amd.c#16 integrate .. //depot/projects/ia64/sys/dev/amr/amr.c#38 integrate .. //depot/projects/ia64/sys/dev/amr/amr_cam.c#16 integrate .. //depot/projects/ia64/sys/dev/amr/amr_disk.c#18 integrate .. //depot/projects/ia64/sys/dev/arcmsr/arcmsr.c#7 integrate .. //depot/projects/ia64/sys/dev/asr/asr.c#32 integrate .. //depot/projects/ia64/sys/dev/ata/ata-disk.c#48 integrate .. //depot/projects/ia64/sys/dev/ata/ata-raid.c#41 integrate .. //depot/projects/ia64/sys/dev/ata/atapi-cam.c#30 integrate .. //depot/projects/ia64/sys/dev/bce/if_bce.c#5 integrate .. //depot/projects/ia64/sys/dev/ciss/ciss.c#46 integrate .. //depot/projects/ia64/sys/dev/dc/if_dc.c#9 integrate .. //depot/projects/ia64/sys/dev/dpt/dpt_scsi.c#18 integrate .. //depot/projects/ia64/sys/dev/em/if_em.c#55 integrate .. //depot/projects/ia64/sys/dev/em/if_em.h#35 integrate .. //depot/projects/ia64/sys/dev/em/if_em_hw.c#22 integrate .. //depot/projects/ia64/sys/dev/em/if_em_hw.h#21 integrate .. //depot/projects/ia64/sys/dev/em/if_em_osdep.h#20 integrate .. //depot/projects/ia64/sys/dev/esp/ncr53c9x.c#8 integrate .. //depot/projects/ia64/sys/dev/firewire/sbp.c#53 integrate .. //depot/projects/ia64/sys/dev/iir/iir.c#16 integrate .. //depot/projects/ia64/sys/dev/isp/isp_freebsd.c#32 integrate .. //depot/projects/ia64/sys/dev/md/md.c#56 integrate .. //depot/projects/ia64/sys/dev/mly/mly.c#25 integrate .. //depot/projects/ia64/sys/dev/mpt/mpt_cam.c#9 integrate .. //depot/projects/ia64/sys/dev/pci/pci.c#59 integrate .. //depot/projects/ia64/sys/dev/pci/pci_pci.c#31 integrate .. //depot/projects/ia64/sys/dev/pci/pcivar.h#17 integrate .. //depot/projects/ia64/sys/dev/trm/trm.c#26 integrate .. //depot/projects/ia64/sys/dev/twa/tw_osl_cam.c#6 integrate .. //depot/projects/ia64/sys/dev/usb/ubsa.c#16 integrate .. //depot/projects/ia64/sys/dev/usb/umass.c#51 integrate .. //depot/projects/ia64/sys/dev/usb/usbdevs#77 integrate .. //depot/projects/ia64/sys/geom/concat/g_concat.c#13 integrate .. //depot/projects/ia64/sys/geom/eli/g_eli.c#9 integrate .. //depot/projects/ia64/sys/geom/geom.h#50 integrate .. //depot/projects/ia64/sys/geom/geom_disk.c#51 integrate .. //depot/projects/ia64/sys/geom/geom_disk.h#5 integrate .. //depot/projects/ia64/sys/geom/geom_gpt.c#34 integrate .. //depot/projects/ia64/sys/geom/geom_io.c#44 integrate .. //depot/projects/ia64/sys/geom/geom_slice.c#37 integrate .. //depot/projects/ia64/sys/geom/journal/g_journal.c#1 branch .. //depot/projects/ia64/sys/geom/journal/g_journal.h#1 branch .. //depot/projects/ia64/sys/geom/journal/g_journal_ufs.c#1 branch .. //depot/projects/ia64/sys/geom/mirror/g_mirror.c#22 integrate .. //depot/projects/ia64/sys/geom/raid3/g_raid3.c#22 integrate .. //depot/projects/ia64/sys/geom/raid3/g_raid3_ctl.c#11 integrate .. //depot/projects/ia64/sys/geom/shsec/g_shsec.c#5 integrate .. //depot/projects/ia64/sys/geom/stripe/g_stripe.c#11 integrate .. //depot/projects/ia64/sys/i386/conf/NOTES#79 integrate .. //depot/projects/ia64/sys/i386/i386/genassym.c#25 integrate .. //depot/projects/ia64/sys/ia64/ia64/genassym.c#21 integrate .. //depot/projects/ia64/sys/kern/subr_disk.c#25 integrate .. //depot/projects/ia64/sys/kern/subr_prf.c#39 integrate .. //depot/projects/ia64/sys/kern/tty_cons.c#27 integrate .. //depot/projects/ia64/sys/kern/tty_pts.c#5 integrate .. //depot/projects/ia64/sys/kern/vfs_subr.c#92 integrate .. //depot/projects/ia64/sys/modules/acpi/Makefile#27 integrate .. //depot/projects/ia64/sys/modules/acpi/acpi_aiboost/Makefile#1 branch .. //depot/projects/ia64/sys/modules/geom/Makefile#11 integrate .. //depot/projects/ia64/sys/modules/geom/geom_journal/Makefile#1 branch .. //depot/projects/ia64/sys/modules/ufs/Makefile#4 integrate .. //depot/projects/ia64/sys/net/bridgestp.c#7 integrate .. //depot/projects/ia64/sys/net/bridgestp.h#2 integrate .. //depot/projects/ia64/sys/net/if_bridge.c#11 integrate .. //depot/projects/ia64/sys/net/if_bridgevar.h#7 integrate .. //depot/projects/ia64/sys/nfsclient/nfs_socket.c#37 integrate .. //depot/projects/ia64/sys/pci/ncr.c#23 integrate .. //depot/projects/ia64/sys/powerpc/powerpc/genassym.c#16 integrate .. //depot/projects/ia64/sys/sparc64/conf/NOTES#20 integrate .. //depot/projects/ia64/sys/sparc64/include/endian.h#12 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/genassym.c#30 integrate .. //depot/projects/ia64/sys/sun4v/include/endian.h#2 integrate .. //depot/projects/ia64/sys/sun4v/include/hypervisorvar.h#2 integrate .. //depot/projects/ia64/sys/sun4v/sun4v/hcall.S#2 integrate .. //depot/projects/ia64/sys/sys/bio.h#28 integrate .. //depot/projects/ia64/sys/sys/cons.h#12 integrate .. //depot/projects/ia64/sys/sys/mac_policy.h#34 integrate .. //depot/projects/ia64/sys/sys/mount.h#40 integrate .. //depot/projects/ia64/sys/sys/pcpu.h#14 integrate .. //depot/projects/ia64/sys/sys/proc.h#105 integrate .. //depot/projects/ia64/sys/sys/vnode.h#57 integrate .. //depot/projects/ia64/sys/ufs/ffs/ffs_extern.h#22 integrate .. //depot/projects/ia64/sys/ufs/ffs/ffs_softdep.c#52 integrate .. //depot/projects/ia64/sys/ufs/ffs/ffs_vfsops.c#65 integrate .. //depot/projects/ia64/sys/ufs/ffs/fs.h#21 integrate .. //depot/projects/ia64/sys/ufs/ufs/gjournal.h#1 branch .. //depot/projects/ia64/sys/ufs/ufs/ufs_gjournal.c#1 branch .. //depot/projects/ia64/sys/ufs/ufs/ufs_inode.c#22 integrate .. //depot/projects/ia64/sys/ufs/ufs/ufs_vnops.c#57 integrate .. //depot/projects/ia64/tools/build/options/WITHOUT_CDDL#1 branch .. //depot/projects/ia64/tools/tools/find-sb/mini_ufs.h#2 integrate .. //depot/projects/ia64/tools/tools/tinybsd/README#2 integrate .. //depot/projects/ia64/tools/tools/tinybsd/conf/bridge/tinybsd.ports#1 branch .. //depot/projects/ia64/tools/tools/tinybsd/conf/default/tinybsd.ports#1 branch .. //depot/projects/ia64/tools/tools/tinybsd/conf/firewall/tinybsd.ports#1 branch .. //depot/projects/ia64/tools/tools/tinybsd/conf/minimal/tinybsd.ports#1 branch .. //depot/projects/ia64/tools/tools/tinybsd/conf/vpn/tinybsd.ports#1 branch .. //depot/projects/ia64/tools/tools/tinybsd/conf/wireless/tinybsd.ports#1 branch .. //depot/projects/ia64/tools/tools/tinybsd/conf/wrap/tinybsd.ports#1 branch .. //depot/projects/ia64/tools/tools/tinybsd/tinybsd#3 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/bthidcontrol/bthidcontrol.8#3 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/bthidcontrol/bthidcontrol.c#2 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/bthidcontrol/hid.c#2 integrate .. //depot/projects/ia64/usr.sbin/bsnmpd/bsnmpd/Makefile#11 integrate Differences ... ==== //depot/projects/ia64/Makefile#53 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile,v 1.336 2006/10/16 22:18:59 jb Exp $ +# $FreeBSD: src/Makefile,v 1.337 2006/11/01 09:05:40 jb Exp $ # # The user-driven targets are: # @@ -240,7 +240,7 @@ MMAKE= ${MMAKEENV} make \ -D_UPGRADING \ -DNOMAN -DNO_MAN -DNOSHARED -DNO_SHARED \ - -DNO_CPU_CFLAGS -DNO_WERROR + -DNO_CPU_CFLAGS -DNO_WERROR -DNO_CTF make: .PHONY @echo ==== //depot/projects/ia64/ObsoleteFiles.inc#10 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.56 2006/10/21 14:19:52 ru Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.57 2006/10/31 21:05:35 jmg Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -628,7 +628,9 @@ OLD_FILES+=usr/lib/libpam_ssh_p.a OLD_FILES+=usr/bin/help OLD_FILES+=usr/bin/sccs +.if ${TARGET_ARCH} != "i386" OLD_FILES+=usr/bin/gdbserver +.endif OLD_FILES+=usr/bin/ssh-keysign OLD_FILES+=usr/sbin/gifconfig OLD_FILES+=usr/sbin/prefix ==== //depot/projects/ia64/bin/rm/rm.1#14 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)rm.1 8.5 (Berkeley) 12/5/94 -.\" $FreeBSD: src/bin/rm/rm.1,v 1.39 2005/11/17 12:15:23 ru Exp $ +.\" $FreeBSD: src/bin/rm/rm.1,v 1.41 2006/10/31 02:22:36 delphij Exp $ .\" -.Dd September 29, 2005 +.Dd October 30, 2006 .Dt RM 1 .Os .Sh NAME @@ -88,6 +88,10 @@ Overwrite regular files before deleting them. Files are overwritten three times, first with the byte pattern 0xff, then 0x00, and then 0xff again, before they are deleted. +Files with multiple links will not be overwritten nor deleted unless +.Fl f +is specified, a warning is generated instead. +.Pp Specifying this flag for a read only file will cause .Nm to generate an error message and exit. @@ -168,6 +172,12 @@ For example: .Dl rm /home/user/-filename .Dl rm ./-filename +.Pp +When +.Fl P +is specified with +.Fl f +the file will be overwritten and removed even if it has hard links. .Sh COMPATIBILITY The .Nm ==== //depot/projects/ia64/bin/rm/rm.c#17 (text+ko) ==== @@ -39,7 +39,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/rm/rm.c,v 1.56 2006/10/18 13:16:06 maxim Exp $"); +__FBSDID("$FreeBSD: src/bin/rm/rm.c,v 1.58 2006/10/31 02:22:36 delphij Exp $"); #include #include @@ -400,6 +400,11 @@ } if (!S_ISREG(sbp->st_mode)) return (1); + if (sbp->st_nlink > 1 && !fflag) { + warnx("%s (inode %u): not overwritten due to multiple links", + file, sbp->st_ino); + return (0); + } if ((fd = open(file, O_WRONLY, 0)) == -1) goto err; if (fstatfs(fd, &fsb) == -1) ==== //depot/projects/ia64/contrib/bsnmp/snmp_mibII/mibII.c#11 (text+ko) ==== @@ -26,12 +26,13 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Begemot: bsnmp/snmp_mibII/mibII.c,v 1.24 2006/02/14 09:04:18 brandt_h Exp $ + * $Begemot: mibII.c 516 2006-10-27 15:54:02Z brandt_h $ * * Implementation of the standard interfaces and ip MIB. */ #include "mibII.h" #include "mibII_oid.h" +#include #include @@ -376,16 +377,16 @@ u_int ticks; if ((ticks = mibif_force_hc_update_interval) == 0) { - if (mibif_maxspeed <= 10000000) { + if (mibif_maxspeed <= IF_Mbps(10)) { /* at 10Mbps overflow needs 3436 seconds */ ticks = 3000 * 100; /* 50 minutes */ - } else if (mibif_maxspeed <= 100000000) { + } else if (mibif_maxspeed <= IF_Mbps(100)) { /* at 100Mbps overflow needs 343 seconds */ ticks = 300 * 100; /* 5 minutes */ - } else if (mibif_maxspeed < 650000000) { + } else if (mibif_maxspeed < IF_Mbps(622)) { /* at 622Mbps overflow needs 53 seconds */ ticks = 40 * 100; /* 40 seconds */ - } else if (mibif_maxspeed <= 1000000000) { + } else if (mibif_maxspeed <= IF_Mbps(1000)) { /* at 1Gbps overflow needs 34 seconds */ ticks = 20 * 100; /* 20 seconds */ } else { ==== //depot/projects/ia64/contrib/bsnmp/snmpd/action.c#5 (text+ko) ==== @@ -2,6 +2,9 @@ * Copyright (c) 2001-2003 * Fraunhofer Institute for Open Communication Systems (FhG Fokus). * All rights reserved. + * Copyright (c) 2004-2006 + * Hartmut Brandt. + * All rights reserved. * * Author: Harti Brandt * @@ -26,13 +29,14 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Begemot: bsnmp/snmpd/action.c,v 1.58 2004/08/06 08:47:09 brandt Exp $ + * $Begemot: action.c 517 2006-10-31 08:52:04Z brandt_h $ * * Variable access for SNMPd */ #include #include #include +#include #include #include #include @@ -48,6 +52,11 @@ static const struct asn_oid oid_begemotSnmpdModuleTable = OIDX_begemotSnmpdModuleTable; +#ifdef __FreeBSD__ +static const struct asn_oid + oid_freeBSDVersion = OIDX_freeBSDVersion; +#endif + /* * Get a string value from the KERN sysctl subtree. */ @@ -100,39 +109,57 @@ int init_actvals(void) { - char *v[4]; - u_int i; + struct utsname uts; + char *hostid; size_t len; +#ifdef __FreeBSD__ + char *rel, *p, *end; + u_long num; +#endif - if ((systemg.name = act_getkernstring(KERN_HOSTNAME)) == NULL) + if (uname(&uts) == -1) + return (-1); + + if ((systemg.name = strdup(uts.nodename)) == NULL) + return (-1); + + if ((hostid = act_getkernint(KERN_HOSTID)) == NULL) return (-1); - for (i = 0; i < 4; i++) - v[1] = NULL; + len = strlen(uts.nodename) + 1; + len += strlen(hostid) + 1; + len += strlen(uts.sysname) + 1; + len += strlen(uts.release) + 1; - if ((v[0] = act_getkernstring(KERN_HOSTNAME)) == NULL) - goto err; - if ((v[1] = act_getkernint(KERN_HOSTID)) == NULL) - goto err; - if ((v[2] = act_getkernstring(KERN_OSTYPE)) == NULL) - goto err; - if ((v[3] = act_getkernstring(KERN_OSRELEASE)) == NULL) - goto err; + if ((systemg.descr = malloc(len)) == NULL) { + free(hostid); + return (-1); + } + sprintf(systemg.descr, "%s %s %s %s", uts.nodename, hostid, uts.sysname, + uts.release); - for (i = 0, len = 0; i < 4; i++) - len += strlen(v[i]) + 1; +#ifdef __FreeBSD__ + /* + * Construct a FreeBSD oid + */ + systemg.object_id = oid_freeBSDVersion; + rel = uts.release; + while ((p = strsep(&rel, ".")) != NULL && + systemg.object_id.len < ASN_MAXOIDLEN) { + systemg.object_id.subs[systemg.object_id.len] = 0; + if (*p != '\0') { + num = strtoul(p, &end, 10); + if (end == p) + break; + systemg.object_id.subs[systemg.object_id.len] = num; + } + systemg.object_id.len++; + } +#endif - if ((systemg.descr = malloc(len)) == NULL) - goto err; - sprintf(systemg.descr, "%s %s %s %s", v[0], v[1], v[2], v[3]); + free(hostid); return (0); - - err: - for (i = 0; i < 4; i++) - if (v[i] != NULL) - free(v[i]); - return (-1); } ==== //depot/projects/ia64/contrib/bsnmp/snmpd/tree.def#4 (text+ko) ==== @@ -26,7 +26,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $Begemot: bsnmp/snmpd/tree.def,v 1.38 2004/08/06 08:47:17 brandt Exp $ +# $Begemot: tree.def 517 2006-10-31 08:52:04Z brandt_h $ # # System group and private Begemot SNMPd MIB. # @@ -64,11 +64,19 @@ (32 snmpProxyDrops COUNTER op_snmp GET) ) )) + + (4 private + (1 enterprises +# +# FreeBSD stuff # + (2238 freeBSD + (4 freeBSDVersion) + ) + +# # Private Begemot Stuff # - (4 private - (1 enterprises (12325 fokus (1 begemot ==== //depot/projects/ia64/contrib/pf/man/pf.conf.5#10 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $FreeBSD: src/contrib/pf/man/pf.conf.5,v 1.9 2005/09/28 08:11:15 mlaier Exp $ +.\" $FreeBSD: src/contrib/pf/man/pf.conf.5,v 1.10 2006/10/30 15:15:37 mlaier Exp $ .\" $OpenBSD: pf.conf.5,v 1.292 2004/02/24 05:44:48 mcbride Exp $ .\" .\" Copyright (c) 2002, Daniel Hartmeier @@ -28,7 +28,7 @@ .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd February 7, 2005 +.Dd October 30, 2006 .Dt PF.CONF 5 .Os .Sh NAME @@ -2851,6 +2851,12 @@ for the moment. This workaround will still produce the LOR, but Giant will protect from the deadlock. +.Pp +Route labels are not supported by the +.Fx +.Xr route 4 +system. +Rules with a route label do not match any traffic. .Sh SEE ALSO .Xr altq 4 , .Xr icmp 4 , ==== //depot/projects/ia64/etc/mtree/BSD.include.dist#39 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.109 2006/10/06 08:27:07 ru Exp $ +# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.110 2006/10/31 22:22:29 pjd Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -108,6 +108,8 @@ .. gate .. + journal + .. label .. mirror ==== //depot/projects/ia64/etc/snmpd.config#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/snmpd.config,v 1.6 2006/02/27 16:31:01 harti Exp $ +# $FreeBSD: src/etc/snmpd.config,v 1.7 2006/10/31 10:23:28 harti Exp $ # # Example configuration file for bsnmpd(1). # @@ -6,7 +6,6 @@ # # Set some common variables # -host := foobar location := "Room 200" contact := "sysmeister@example.com" system := 1 # FreeBSD @@ -43,8 +42,7 @@ begemotSnmpdCommunityDisable = 1 # open standard SNMP ports -begemotSnmpdPortStatus.[$(host)].161 = 1 -begemotSnmpdPortStatus.127.0.0.1.161 = 1 +begemotSnmpdPortStatus.0.0.0.0.161 = 1 # open a unix domain socket begemotSnmpdLocalPortStatus."/var/run/snmpd.sock" = 1 ==== //depot/projects/ia64/games/fortune/datfiles/fortunes#61 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.229 2006/10/23 13:25:17 phk Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.230 2006/10/30 12:01:57 keramida Exp $ % ======================================================================= @@ -22147,7 +22147,7 @@ There are not stars enough in heaven. % Here at the Phone Company, we serve all kinds of people; -from President's and Kings to the scum of the earth... +from Presidents and Kings to the scum of the earth... % Here comes the orator, with his flood of words and his drop of reason. % ==== //depot/projects/ia64/gnu/usr.bin/send-pr/send-pr.sh#9 (text+ko) ==== @@ -20,7 +20,7 @@ # along with GNU GNATS; see the file COPYING. If not, write to # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. # -# $FreeBSD: src/gnu/usr.bin/send-pr/send-pr.sh,v 1.37 2005/10/24 01:36:16 obrien Exp $ +# $FreeBSD: src/gnu/usr.bin/send-pr/send-pr.sh,v 1.38 2006/11/01 12:13:08 philip Exp $ # The version of this send-pr. VERSION=3.113 @@ -300,7 +300,7 @@ for file in $TEMP $REF ; do cat > $file << '__EOF__' SEND-PR: -*- send-pr -*- -SEND-PR: vim: syntax=send-pr (needed for vim syntax highlighting) +SEND-PR: vim: syntax=sendpr SEND-PR: SEND-PR: Lines starting with `SEND-PR' will be removed automatically, as SEND-PR: will all comments (text enclosed in `<' and `>'). ==== //depot/projects/ia64/include/Makefile#55 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 1/4/94 -# $FreeBSD: src/include/Makefile,v 1.264 2006/10/06 08:27:06 ru Exp $ +# $FreeBSD: src/include/Makefile,v 1.265 2006/10/31 22:22:29 pjd Exp $ # # Doing a "make install" builds /usr/include. @@ -45,8 +45,8 @@ 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/cache geom/concat geom/eli geom/gate geom/label geom/mirror \ - geom/nop geom/raid3 geom/shsec geom/stripe \ + geom/cache geom/concat geom/eli geom/gate geom/journal geom/label \ + geom/mirror geom/nop geom/raid3 geom/shsec geom/stripe \ isofs/cd9660 \ netatm/ipatm netatm/sigpvc netatm/spans netatm/uni \ netgraph/atm netgraph/netflow \ ==== //depot/projects/ia64/lib/libufs/Makefile#9 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libufs/Makefile,v 1.13 2005/09/26 06:23:43 keramida Exp $ +# $FreeBSD: src/lib/libufs/Makefile,v 1.14 2006/10/31 21:21:48 pjd Exp $ LIB= ufs SHLIBDIR?= /lib @@ -9,6 +9,7 @@ MAN= bread.3 cgread.3 libufs.3 sbread.3 ufs_disk_close.3 MLINKS+= bread.3 bwrite.3 MLINKS+= cgread.3 cgread1.3 +MLINKS+= cgread.3 cgwrite1.3 MLINKS+= sbread.3 sbwrite.3 MLINKS+= ufs_disk_close.3 ufs_disk_fillout.3 MLINKS+= ufs_disk_close.3 ufs_disk_fillout_blank.3 ==== //depot/projects/ia64/lib/libufs/cgread.3#4 (text+ko) ==== @@ -4,17 +4,18 @@ .\" Manual page for libufs functions: .\" cgread(3) .\" cgread1(3) +.\" cgwrite1(3) .\" .\" This file is in the public domain. .\" -.\" $FreeBSD: src/lib/libufs/cgread.3,v 1.6 2004/07/05 06:53:34 ru Exp $ +.\" $FreeBSD: src/lib/libufs/cgread.3,v 1.7 2006/10/31 21:21:48 pjd Exp $ .\" .Dd June 4, 2003 .Dt CGREAD 3 .Os .Sh NAME -.Nm cgread , cgread1 -.Nd read cylinder groups of UFS disks +.Nm cgread , cgread1, cgwrite1 +.Nd read/write cylinder groups of UFS disks .Sh LIBRARY .Lb libufs .Sh SYNOPSIS @@ -28,6 +29,8 @@ .Fn cgread "struct uufsd *disk" .Ft int .Fn cgread1 "struct uufsd *disk" "int c" +.Ft int +.Fn cgwrite1 "struct uufsd *disk" "int c" .Sh DESCRIPTION The .Fn cgread @@ -60,6 +63,14 @@ field, and then incrementing the .Va d_ccg field. +.Pp +The +.Fn cgwrite1 +function stores cylinder group specified by +.Fa c +from +.Va d_cg +field of a userland UFS disk structure on disk. .Sh RETURN VALUES Both functions return 0 if there are no more cylinder groups to read, 1 if there are more cylinder groups, and \-1 on error. @@ -75,8 +86,16 @@ .Fn cgread1 has semantically identical failure conditions to those of .Fn cgread . +.Pp +The function +.Fn cgwrite1 +may fail and set +.Va errno +for any of the errors specified for the library function +.Xr bwrite 3 . .Sh SEE ALSO .Xr bread 3 , +.Xr bwrite 3 , .Xr libufs 3 .Sh HISTORY These functions first appeared as part of ==== //depot/projects/ia64/lib/libufs/cgroup.c#3 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libufs/cgroup.c,v 1.3 2003/06/09 09:32:29 jmallett Exp $"); +__FBSDID("$FreeBSD: src/lib/libufs/cgroup.c,v 1.4 2006/10/31 21:21:48 pjd Exp $"); #include #include @@ -71,3 +71,17 @@ disk->d_lcg = c; return (1); } + +int +cgwrite1(struct uufsd *disk, int c) +{ + struct fs *fs; + + fs = &disk->d_fs; + if (bwrite(disk, fsbtodb(fs, cgtod(fs, c)), + disk->d_cgunion.d_buf, fs->fs_bsize) == -1) { + ERROR(disk, "unable to write cylinder group"); + return (-1); + } + return (0); +} ==== //depot/projects/ia64/lib/libufs/libufs.3#4 (text+ko) ==== @@ -5,7 +5,7 @@ .\" .\" This file is in the public domain. .\" -.\" $FreeBSD: src/lib/libufs/libufs.3,v 1.8 2004/07/05 06:53:34 ru Exp $ +.\" $FreeBSD: src/lib/libufs/libufs.3,v 1.9 2006/10/31 21:21:48 pjd Exp $ .\" .Dd June 4, 2003 .Dt LIBUFS 3 @@ -57,6 +57,7 @@ .Xr bwrite 3 , .Xr cgread 3 , .Xr cgread1 3 , +.Xr cgwrite1 3 , .Xr sbread 3 , .Xr sbwrite 3 , .Xr ufs_disk_close 3 , ==== //depot/projects/ia64/lib/libufs/libufs.h#8 (text+ko) ==== @@ -24,7 +24,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libufs/libufs.h,v 1.11 2003/06/09 09:47:38 jmallett Exp $ + * $FreeBSD: src/lib/libufs/libufs.h,v 1.12 2006/10/31 21:21:48 pjd Exp $ */ #ifndef __LIBUFS_H__ @@ -110,6 +110,7 @@ */ int cgread(struct uufsd *); int cgread1(struct uufsd *, int); +int cgwrite1(struct uufsd *, int); /* * inode.c ==== //depot/projects/ia64/sbin/dumpfs/dumpfs.c#20 (text+ko) ==== @@ -47,7 +47,7 @@ static char sccsid[] = "@(#)dumpfs.c 8.5 (Berkeley) 4/29/95"; #endif static const char rcsid[] = - "$FreeBSD: src/sbin/dumpfs/dumpfs.c,v 1.43 2004/04/09 19:58:27 markm Exp $"; + "$FreeBSD: src/sbin/dumpfs/dumpfs.c,v 1.44 2006/10/31 22:02:24 pjd Exp $"; #endif /* not lint */ #include @@ -168,8 +168,9 @@ (intmax_t)afs.fs_cstotal.cs_ndir, (intmax_t)afs.fs_cstotal.cs_nifree, (intmax_t)afs.fs_cstotal.cs_nffree); - printf("bpg\t%d\tfpg\t%d\tipg\t%d\n", - afs.fs_fpg / afs.fs_frag, afs.fs_fpg, afs.fs_ipg); + printf("bpg\t%d\tfpg\t%d\tipg\t%d\tunrefs\t%jd\n", + afs.fs_fpg / afs.fs_frag, afs.fs_fpg, afs.fs_ipg, + (intmax_t)afs.fs_unrefs); printf("nindir\t%d\tinopb\t%d\tmaxfilesize\t%ju\n", afs.fs_nindir, afs.fs_inopb, (uintmax_t)afs.fs_maxfilesize); @@ -228,10 +229,12 @@ printf("acls "); if (fsflags & FS_MULTILABEL) printf("multilabel "); + if (fsflags & FS_GJOURNAL) + printf("gjournal "); if (fsflags & FS_FLAGS_UPDATED) printf("fs_flags expanded "); fsflags &= ~(FS_UNCLEAN | FS_DOSOFTDEP | FS_NEEDSFSCK | FS_INDEXDIRS | - FS_ACLS | FS_MULTILABEL | FS_FLAGS_UPDATED); + FS_ACLS | FS_MULTILABEL | FS_GJOURNAL | FS_FLAGS_UPDATED); if (fsflags != 0) printf("unknown flags (%#x)", fsflags); putchar('\n'); @@ -282,8 +285,9 @@ cgtime = acg.cg_time; printf("magic\t%x\ttell\t%jx\ttime\t%s", acg.cg_magic, (intmax_t)cur, ctime(&cgtime)); - printf("cgx\t%d\tndblk\t%d\tniblk\t%d\tinitiblk %d\n", - acg.cg_cgx, acg.cg_ndblk, acg.cg_niblk, acg.cg_initediblk); + printf("cgx\t%d\tndblk\t%d\tniblk\t%d\tinitiblk %d\tunrefs %d\n", + acg.cg_cgx, acg.cg_ndblk, acg.cg_niblk, acg.cg_initediblk, + acg.cg_unrefs); break; case 1: cgtime = acg.cg_old_time; ==== //depot/projects/ia64/sbin/dumpon/dumpon.c#11 (text+ko) ==== @@ -39,7 +39,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/sbin/dumpon/dumpon.c,v 1.23 2006/04/27 19:01:54 ps Exp $"); +__FBSDID("$FreeBSD: src/sbin/dumpon/dumpon.c,v 1.24 2006/10/31 22:36:49 jhb Exp $"); #include #include @@ -70,18 +70,17 @@ check_size(int fd, const char *fn) { int name[] = { CTL_HW, HW_PHYSMEM }; - size_t namelen = sizeof name / sizeof *name; + size_t namelen = sizeof(name) / sizeof(*name); unsigned long physmem; size_t len; off_t mediasize; int minidump; - - len = sizeof minidump; + len = sizeof(minidump); if (sysctlbyname("debug.minidump", &minidump, &len, NULL, 0) == 0 && minidump == 1) return; - len = sizeof physmem; + len = sizeof(physmem); if (sysctl(name, namelen, &physmem, &len, NULL, 0) != 0) err(EX_OSERR, "can't get memory size"); if (ioctl(fd, DIOCGMEDIASIZE, &mediasize) != 0) ==== //depot/projects/ia64/sbin/fsck_ffs/Makefile#9 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sbin/fsck_ffs/Makefile,v 1.16 2004/09/01 08:26:39 scottl Exp $ +# $FreeBSD: src/sbin/fsck_ffs/Makefile,v 1.17 2006/10/31 22:06:56 pjd Exp $ # @(#)Makefile 8.2 (Berkeley) 4/27/95 PROG= fsck_ffs @@ -7,7 +7,9 @@ MAN= fsck_ffs.8 MLINKS= fsck_ffs.8 fsck_ufs.8 fsck_ffs.8 fsck_4.2bsd.8 SRCS= dir.c ea.c fsutil.c inode.c main.c pass1.c pass1b.c pass2.c pass3.c \ - pass4.c pass5.c setup.c utilities.c ffs_subr.c ffs_tables.c + pass4.c pass5.c setup.c utilities.c ffs_subr.c ffs_tables.c gjournal.c +DPADD= ${LIBUFS} +LDADD= -lufs WARNS?= 2 CFLAGS+= -I${.CURDIR} ==== //depot/projects/ia64/sbin/fsck_ffs/fsck.h#15 (text+ko) ==== @@ -57,7 +57,7 @@ * SUCH DAMAGE. * * @(#)fsck.h 8.4 (Berkeley) 5/9/95 - * $FreeBSD: src/sbin/fsck_ffs/fsck.h,v 1.36 2005/03/07 08:42:49 delphij Exp $ + * $FreeBSD: src/sbin/fsck_ffs/fsck.h,v 1.37 2006/10/31 22:06:56 pjd Exp $ */ #include @@ -328,9 +328,9 @@ ino_t allocino(ino_t request, int type); void blkerror(ino_t ino, const char *type, ufs2_daddr_t blk); char *blockcheck(char *name); -int bread(int fd, char *buf, ufs2_daddr_t blk, long size); +int blread(int fd, char *buf, ufs2_daddr_t blk, long size); void bufinit(void); -void bwrite(int fd, char *buf, ufs2_daddr_t blk, long size); +void blwrite(int fd, char *buf, ufs2_daddr_t blk, long size); void cacheino(union dinode *dp, ino_t inumber); void catch(int); void catchquit(int); @@ -388,3 +388,4 @@ void sblock_init(void); void setinodebuf(ino_t); int setup(char *dev); +void gjournal_check(const char *filesys); ==== //depot/projects/ia64/sbin/fsck_ffs/fsutil.c#17 (text+ko) ==== @@ -33,7 +33,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/sbin/fsck_ffs/fsutil.c,v 1.25 2004/10/08 20:44:47 truckman Exp $"); +__FBSDID("$FreeBSD: src/sbin/fsck_ffs/fsutil.c,v 1.26 2006/10/31 22:06:56 pjd Exp $"); #include #include @@ -221,7 +221,7 @@ if (bp->b_bno != dblk) { flush(fswritefd, bp); diskreads++; - bp->b_errs = bread(fsreadfd, bp->b_un.b_buf, dblk, size); + bp->b_errs = blread(fsreadfd, bp->b_un.b_buf, dblk, size); bp->b_bno = dblk; bp->b_size = size; } @@ -244,11 +244,11 @@ (bp->b_errs == bp->b_size / dev_bsize) ? "" : "PARTIALLY ", (long long)bp->b_bno); bp->b_errs = 0; - bwrite(fd, bp->b_un.b_buf, bp->b_bno, (long)bp->b_size); + blwrite(fd, bp->b_un.b_buf, bp->b_bno, (long)bp->b_size); if (bp != &sblk) return; for (i = 0, j = 0; i < sblock.fs_cssize; i += sblock.fs_bsize, j++) { - bwrite(fswritefd, (char *)sblock.fs_csp + i, + blwrite(fswritefd, (char *)sblock.fs_csp + i, fsbtodb(&sblock, sblock.fs_csaddr + j * sblock.fs_frag), sblock.fs_cssize - i < sblock.fs_bsize ? sblock.fs_cssize - i : sblock.fs_bsize); @@ -345,7 +345,7 @@ } int -bread(int fd, char *buf, ufs2_daddr_t blk, long size) +blread(int fd, char *buf, ufs2_daddr_t blk, long size) { char *cp; int i, errs; @@ -387,7 +387,7 @@ } void -bwrite(int fd, char *buf, ufs2_daddr_t blk, long size) +blwrite(int fd, char *buf, ufs2_daddr_t blk, long size) { int i; char *cp; ==== //depot/projects/ia64/sbin/fsck_ffs/inode.c#12 (text+ko) ==== @@ -33,7 +33,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/sbin/fsck_ffs/inode.c,v 1.37 2004/10/08 20:44:47 truckman Exp $"); +__FBSDID("$FreeBSD: src/sbin/fsck_ffs/inode.c,v 1.38 2006/10/31 22:06:56 pjd Exp $"); #include #include @@ -329,10 +329,10 @@ lastinum += fullcnt; } /* - * If bread returns an error, it will already have zeroed + * If blread returns an error, it will already have zeroed * out the buffer, so we do not need to do so here. */ - (void)bread(fsreadfd, inodebuf, dblk, size); + (void)blread(fsreadfd, inodebuf, dblk, size); nextinop = inodebuf; } dp = (union dinode *)nextinop; ==== //depot/projects/ia64/sbin/fsck_ffs/main.c#18 (text+ko) ==== @@ -39,7 +39,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/sbin/fsck_ffs/main.c,v 1.44 2005/02/10 09:19:29 ru Exp $"); +__FBSDID("$FreeBSD: src/sbin/fsck_ffs/main.c,v 1.45 2006/10/31 22:06:56 pjd Exp $"); #include #include @@ -237,6 +237,29 @@ exit(7); /* Filesystem clean, report it now */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Nov 1 22:55:18 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BA06316A4D8; Wed, 1 Nov 2006 22:55:18 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 9267B16A4D1 for ; Wed, 1 Nov 2006 22:55:18 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 14CF743D98 for ; Wed, 1 Nov 2006 22:55:00 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA1MsvhB067359 for ; Wed, 1 Nov 2006 22:54:57 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA1MstsE067330 for perforce@freebsd.org; Wed, 1 Nov 2006 22:54:55 GMT (envelope-from piso@freebsd.org) Date: Wed, 1 Nov 2006 22:54:55 GMT Message-Id: <200611012254.kA1MstsE067330@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 108979 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 22:55:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=108979 Change 108979 by piso@piso_newluxor on 2006/11/01 22:54:11 IFC@108961 Affected files ... .. //depot/projects/soc2005/libalias/Makefile#9 integrate .. //depot/projects/soc2005/libalias/ObsoleteFiles.inc#12 integrate .. //depot/projects/soc2005/libalias/bin/rm/rm.1#2 integrate .. //depot/projects/soc2005/libalias/bin/rm/rm.c#3 integrate .. //depot/projects/soc2005/libalias/contrib/bsnmp/snmp_mibII/mibII.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bsnmp/snmpd/action.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/bsnmp/snmpd/tree.def#2 integrate .. //depot/projects/soc2005/libalias/contrib/pf/man/pf.conf.5#2 integrate .. //depot/projects/soc2005/libalias/etc/mtree/BSD.include.dist#5 integrate .. //depot/projects/soc2005/libalias/etc/snmpd.config#2 integrate .. //depot/projects/soc2005/libalias/games/fortune/datfiles/fortunes#8 integrate .. //depot/projects/soc2005/libalias/gnu/usr.bin/send-pr/send-pr.sh#2 integrate .. //depot/projects/soc2005/libalias/include/Makefile#5 integrate .. //depot/projects/soc2005/libalias/lib/libufs/Makefile#2 integrate .. //depot/projects/soc2005/libalias/lib/libufs/cgread.3#2 integrate .. //depot/projects/soc2005/libalias/lib/libufs/cgroup.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libufs/libufs.3#2 integrate .. //depot/projects/soc2005/libalias/lib/libufs/libufs.h#2 integrate .. //depot/projects/soc2005/libalias/sbin/dumpfs/dumpfs.c#2 integrate .. //depot/projects/soc2005/libalias/sbin/dumpon/dumpon.c#2 integrate .. //depot/projects/soc2005/libalias/sbin/fsck_ffs/Makefile#2 integrate .. //depot/projects/soc2005/libalias/sbin/fsck_ffs/fsck.h#2 integrate .. //depot/projects/soc2005/libalias/sbin/fsck_ffs/fsutil.c#2 integrate .. //depot/projects/soc2005/libalias/sbin/fsck_ffs/gjournal.c#1 branch .. //depot/projects/soc2005/libalias/sbin/fsck_ffs/inode.c#2 integrate .. //depot/projects/soc2005/libalias/sbin/fsck_ffs/main.c#2 integrate .. //depot/projects/soc2005/libalias/sbin/fsck_ffs/pass5.c#2 integrate .. //depot/projects/soc2005/libalias/sbin/fsck_ffs/setup.c#2 integrate .. //depot/projects/soc2005/libalias/sbin/fsdb/fsdb.c#3 integrate .. //depot/projects/soc2005/libalias/sbin/fsdb/fsdb.h#2 integrate .. //depot/projects/soc2005/libalias/sbin/geom/class/Makefile#3 integrate .. //depot/projects/soc2005/libalias/sbin/geom/class/journal/Makefile#1 branch .. //depot/projects/soc2005/libalias/sbin/geom/class/journal/geom_journal.c#1 branch .. //depot/projects/soc2005/libalias/sbin/geom/class/journal/geom_journal.h#1 branch .. //depot/projects/soc2005/libalias/sbin/geom/class/journal/geom_journal_ufs.c#1 branch .. //depot/projects/soc2005/libalias/sbin/ggate/shared/ggate.c#2 integrate .. //depot/projects/soc2005/libalias/sbin/growfs/debug.c#2 integrate .. //depot/projects/soc2005/libalias/sbin/ifconfig/ifbridge.c#2 integrate .. //depot/projects/soc2005/libalias/sbin/ifconfig/ifconfig.8#7 integrate .. //depot/projects/soc2005/libalias/sbin/mount/mount.c#4 integrate .. //depot/projects/soc2005/libalias/sbin/newfs/mkfs.c#3 integrate .. //depot/projects/soc2005/libalias/sbin/newfs/newfs.8#2 integrate .. //depot/projects/soc2005/libalias/sbin/newfs/newfs.c#2 integrate .. //depot/projects/soc2005/libalias/sbin/newfs/newfs.h#2 integrate .. //depot/projects/soc2005/libalias/sbin/tunefs/tunefs.8#2 integrate .. //depot/projects/soc2005/libalias/sbin/tunefs/tunefs.c#2 integrate .. //depot/projects/soc2005/libalias/share/man/man3/pthread_create.3#3 integrate .. //depot/projects/soc2005/libalias/share/man/man4/ddb.4#7 integrate .. //depot/projects/soc2005/libalias/share/man/man4/fdc.4#2 integrate .. //depot/projects/soc2005/libalias/share/man/man4/man4.i386/acpi_sony.4#2 integrate .. //depot/projects/soc2005/libalias/share/man/man5/fs.5#2 integrate .. //depot/projects/soc2005/libalias/share/man/man9/disk.9#2 integrate .. //depot/projects/soc2005/libalias/share/man/man9/g_bio.9#2 integrate .. //depot/projects/soc2005/libalias/share/misc/bsd-family-tree#4 integrate .. //depot/projects/soc2005/libalias/share/mk/bsd.own.mk#4 integrate .. //depot/projects/soc2005/libalias/share/snmp/mibs/FREEBSD-MIB.txt#2 integrate .. //depot/projects/soc2005/libalias/sys/amd64/amd64/genassym.c#2 integrate .. //depot/projects/soc2005/libalias/sys/amd64/linux32/linux32_sysvec.c#5 integrate .. //depot/projects/soc2005/libalias/sys/arm/arm/elf_trampoline.c#5 integrate .. //depot/projects/soc2005/libalias/sys/arm/arm/genassym.c#2 integrate .. //depot/projects/soc2005/libalias/sys/cam/scsi/scsi_da.c#5 integrate .. //depot/projects/soc2005/libalias/sys/cam/scsi/scsi_low.c#2 integrate .. //depot/projects/soc2005/libalias/sys/conf/NOTES#12 integrate .. //depot/projects/soc2005/libalias/sys/conf/files#16 integrate .. //depot/projects/soc2005/libalias/sys/conf/options#9 integrate .. //depot/projects/soc2005/libalias/sys/dev/aac/aac_cam.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/acpi_support/acpi_aiboost.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/acpi_support/acpi_sony.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/advansys/advansys.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/advansys/advlib.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/advansys/adwcam.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/aha/aha.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/ahb/ahb.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/aic/aic.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/amd/amd.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/amr/amr.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/amr/amr_cam.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/amr/amr_disk.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/arcmsr/arcmsr.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/asr/asr.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/ata/ata-disk.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/ata/ata-raid.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/ata/atapi-cam.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/bce/if_bce.c#8 integrate .. //depot/projects/soc2005/libalias/sys/dev/ciss/ciss.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/dpt/dpt_scsi.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/if_em.c#13 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/if_em.h#7 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/if_em_hw.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/if_em_hw.h#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/em/if_em_osdep.h#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/esp/ncr53c9x.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/firewire/sbp.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/iir/iir.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/isp/isp_freebsd.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/md/md.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/mly/mly.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/mpt/mpt_cam.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/pci/pci.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/pci/pci_pci.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/pci/pcivar.h#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/trm/trm.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/twa/tw_osl_cam.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/ubsa.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/umass.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/usbdevs#5 integrate .. //depot/projects/soc2005/libalias/sys/geom/concat/g_concat.c#2 integrate .. //depot/projects/soc2005/libalias/sys/geom/eli/g_eli.c#5 integrate .. //depot/projects/soc2005/libalias/sys/geom/geom.h#4 integrate .. //depot/projects/soc2005/libalias/sys/geom/geom_disk.c#2 integrate .. //depot/projects/soc2005/libalias/sys/geom/geom_disk.h#2 integrate .. //depot/projects/soc2005/libalias/sys/geom/geom_gpt.c#4 integrate .. //depot/projects/soc2005/libalias/sys/geom/geom_io.c#2 integrate .. //depot/projects/soc2005/libalias/sys/geom/geom_slice.c#2 integrate .. //depot/projects/soc2005/libalias/sys/geom/journal/g_journal.c#1 branch .. //depot/projects/soc2005/libalias/sys/geom/journal/g_journal.h#1 branch .. //depot/projects/soc2005/libalias/sys/geom/journal/g_journal_ufs.c#1 branch .. //depot/projects/soc2005/libalias/sys/geom/mirror/g_mirror.c#5 integrate .. //depot/projects/soc2005/libalias/sys/geom/raid3/g_raid3.c#7 integrate .. //depot/projects/soc2005/libalias/sys/geom/shsec/g_shsec.c#2 integrate .. //depot/projects/soc2005/libalias/sys/geom/stripe/g_stripe.c#2 integrate .. //depot/projects/soc2005/libalias/sys/i386/conf/NOTES#7 integrate .. //depot/projects/soc2005/libalias/sys/i386/i386/genassym.c#2 integrate .. //depot/projects/soc2005/libalias/sys/ia64/ia64/genassym.c#2 integrate .. //depot/projects/soc2005/libalias/sys/kern/subr_disk.c#2 integrate .. //depot/projects/soc2005/libalias/sys/kern/subr_prf.c#4 integrate .. //depot/projects/soc2005/libalias/sys/kern/tty_cons.c#2 integrate .. //depot/projects/soc2005/libalias/sys/kern/tty_pts.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/vfs_subr.c#8 integrate .. //depot/projects/soc2005/libalias/sys/modules/geom/Makefile#3 integrate .. //depot/projects/soc2005/libalias/sys/modules/geom/geom_journal/Makefile#1 branch .. //depot/projects/soc2005/libalias/sys/modules/ufs/Makefile#2 integrate .. //depot/projects/soc2005/libalias/sys/net/bridgestp.c#5 integrate .. //depot/projects/soc2005/libalias/sys/net/bridgestp.h#3 integrate .. //depot/projects/soc2005/libalias/sys/net/if_bridge.c#11 integrate .. //depot/projects/soc2005/libalias/sys/net/if_bridgevar.h#5 integrate .. //depot/projects/soc2005/libalias/sys/nfsclient/nfs_socket.c#4 integrate .. //depot/projects/soc2005/libalias/sys/pci/ncr.c#3 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/powerpc/genassym.c#2 integrate .. //depot/projects/soc2005/libalias/sys/sparc64/conf/NOTES#4 integrate .. //depot/projects/soc2005/libalias/sys/sparc64/include/endian.h#2 integrate .. //depot/projects/soc2005/libalias/sys/sparc64/sparc64/genassym.c#3 integrate .. //depot/projects/soc2005/libalias/sys/sun4v/include/endian.h#2 integrate .. //depot/projects/soc2005/libalias/sys/sun4v/include/hypervisorvar.h#2 integrate .. //depot/projects/soc2005/libalias/sys/sun4v/sun4v/hcall.S#2 integrate .. //depot/projects/soc2005/libalias/sys/sys/bio.h#2 integrate .. //depot/projects/soc2005/libalias/sys/sys/cons.h#2 integrate .. //depot/projects/soc2005/libalias/sys/sys/mac_policy.h#5 integrate .. //depot/projects/soc2005/libalias/sys/sys/mount.h#5 integrate .. //depot/projects/soc2005/libalias/sys/sys/pcpu.h#2 integrate .. //depot/projects/soc2005/libalias/sys/sys/vnode.h#2 integrate .. //depot/projects/soc2005/libalias/sys/ufs/ffs/ffs_extern.h#2 integrate .. //depot/projects/soc2005/libalias/sys/ufs/ffs/ffs_softdep.c#3 integrate .. //depot/projects/soc2005/libalias/sys/ufs/ffs/ffs_vfsops.c#5 integrate .. //depot/projects/soc2005/libalias/sys/ufs/ffs/fs.h#2 integrate .. //depot/projects/soc2005/libalias/sys/ufs/ufs/gjournal.h#1 branch .. //depot/projects/soc2005/libalias/sys/ufs/ufs/ufs_gjournal.c#1 branch .. //depot/projects/soc2005/libalias/sys/ufs/ufs/ufs_inode.c#2 integrate .. //depot/projects/soc2005/libalias/sys/ufs/ufs/ufs_vnops.c#6 integrate .. //depot/projects/soc2005/libalias/tools/build/options/WITHOUT_CDDL#1 branch .. //depot/projects/soc2005/libalias/tools/tools/find-sb/mini_ufs.h#2 integrate .. //depot/projects/soc2005/libalias/tools/tools/tinybsd/README#2 integrate .. //depot/projects/soc2005/libalias/tools/tools/tinybsd/conf/bridge/tinybsd.ports#1 branch .. //depot/projects/soc2005/libalias/tools/tools/tinybsd/conf/default/tinybsd.ports#1 branch .. //depot/projects/soc2005/libalias/tools/tools/tinybsd/conf/firewall/tinybsd.ports#1 branch .. //depot/projects/soc2005/libalias/tools/tools/tinybsd/conf/minimal/tinybsd.ports#1 branch .. //depot/projects/soc2005/libalias/tools/tools/tinybsd/conf/vpn/tinybsd.ports#1 branch .. //depot/projects/soc2005/libalias/tools/tools/tinybsd/conf/wireless/tinybsd.ports#1 branch .. //depot/projects/soc2005/libalias/tools/tools/tinybsd/conf/wrap/tinybsd.ports#1 branch .. //depot/projects/soc2005/libalias/tools/tools/tinybsd/tinybsd#4 integrate .. //depot/projects/soc2005/libalias/usr.sbin/bluetooth/bthidcontrol/bthidcontrol.8#2 integrate .. //depot/projects/soc2005/libalias/usr.sbin/bluetooth/bthidcontrol/bthidcontrol.c#2 integrate .. //depot/projects/soc2005/libalias/usr.sbin/bluetooth/bthidcontrol/hid.c#2 integrate .. //depot/projects/soc2005/libalias/usr.sbin/bsnmpd/bsnmpd/Makefile#2 integrate Differences ... ==== //depot/projects/soc2005/libalias/Makefile#9 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile,v 1.336 2006/10/16 22:18:59 jb Exp $ +# $FreeBSD: src/Makefile,v 1.337 2006/11/01 09:05:40 jb Exp $ # # The user-driven targets are: # @@ -240,7 +240,7 @@ MMAKE= ${MMAKEENV} make \ -D_UPGRADING \ -DNOMAN -DNO_MAN -DNOSHARED -DNO_SHARED \ - -DNO_CPU_CFLAGS -DNO_WERROR + -DNO_CPU_CFLAGS -DNO_WERROR -DNO_CTF make: .PHONY @echo ==== //depot/projects/soc2005/libalias/ObsoleteFiles.inc#12 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.56 2006/10/21 14:19:52 ru Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.57 2006/10/31 21:05:35 jmg Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -646,7 +646,9 @@ OLD_FILES+=usr/lib/libpam_ssh_p.a OLD_FILES+=usr/bin/help OLD_FILES+=usr/bin/sccs +.if ${TARGET_ARCH} != "i386" OLD_FILES+=usr/bin/gdbserver +.endif OLD_FILES+=usr/bin/ssh-keysign OLD_FILES+=usr/sbin/gifconfig OLD_FILES+=usr/sbin/prefix ==== //depot/projects/soc2005/libalias/bin/rm/rm.1#2 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)rm.1 8.5 (Berkeley) 12/5/94 -.\" $FreeBSD: src/bin/rm/rm.1,v 1.39 2005/11/17 12:15:23 ru Exp $ +.\" $FreeBSD: src/bin/rm/rm.1,v 1.41 2006/10/31 02:22:36 delphij Exp $ .\" -.Dd September 29, 2005 +.Dd October 30, 2006 .Dt RM 1 .Os .Sh NAME @@ -88,6 +88,10 @@ Overwrite regular files before deleting them. Files are overwritten three times, first with the byte pattern 0xff, then 0x00, and then 0xff again, before they are deleted. +Files with multiple links will not be overwritten nor deleted unless +.Fl f +is specified, a warning is generated instead. +.Pp Specifying this flag for a read only file will cause .Nm to generate an error message and exit. @@ -168,6 +172,12 @@ For example: .Dl rm /home/user/-filename .Dl rm ./-filename +.Pp +When +.Fl P +is specified with +.Fl f +the file will be overwritten and removed even if it has hard links. .Sh COMPATIBILITY The .Nm ==== //depot/projects/soc2005/libalias/bin/rm/rm.c#3 (text+ko) ==== @@ -39,7 +39,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/bin/rm/rm.c,v 1.56 2006/10/18 13:16:06 maxim Exp $"); +__FBSDID("$FreeBSD: src/bin/rm/rm.c,v 1.58 2006/10/31 02:22:36 delphij Exp $"); #include #include @@ -400,6 +400,11 @@ } if (!S_ISREG(sbp->st_mode)) return (1); + if (sbp->st_nlink > 1 && !fflag) { + warnx("%s (inode %u): not overwritten due to multiple links", + file, sbp->st_ino); + return (0); + } if ((fd = open(file, O_WRONLY, 0)) == -1) goto err; if (fstatfs(fd, &fsb) == -1) ==== //depot/projects/soc2005/libalias/contrib/bsnmp/snmp_mibII/mibII.c#2 (text+ko) ==== @@ -26,12 +26,13 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Begemot: bsnmp/snmp_mibII/mibII.c,v 1.24 2006/02/14 09:04:18 brandt_h Exp $ + * $Begemot: mibII.c 516 2006-10-27 15:54:02Z brandt_h $ * * Implementation of the standard interfaces and ip MIB. */ #include "mibII.h" #include "mibII_oid.h" +#include #include @@ -376,16 +377,16 @@ u_int ticks; if ((ticks = mibif_force_hc_update_interval) == 0) { - if (mibif_maxspeed <= 10000000) { + if (mibif_maxspeed <= IF_Mbps(10)) { /* at 10Mbps overflow needs 3436 seconds */ ticks = 3000 * 100; /* 50 minutes */ - } else if (mibif_maxspeed <= 100000000) { + } else if (mibif_maxspeed <= IF_Mbps(100)) { /* at 100Mbps overflow needs 343 seconds */ ticks = 300 * 100; /* 5 minutes */ - } else if (mibif_maxspeed < 650000000) { + } else if (mibif_maxspeed < IF_Mbps(622)) { /* at 622Mbps overflow needs 53 seconds */ ticks = 40 * 100; /* 40 seconds */ - } else if (mibif_maxspeed <= 1000000000) { + } else if (mibif_maxspeed <= IF_Mbps(1000)) { /* at 1Gbps overflow needs 34 seconds */ ticks = 20 * 100; /* 20 seconds */ } else { ==== //depot/projects/soc2005/libalias/contrib/bsnmp/snmpd/action.c#2 (text+ko) ==== @@ -2,6 +2,9 @@ * Copyright (c) 2001-2003 * Fraunhofer Institute for Open Communication Systems (FhG Fokus). * All rights reserved. + * Copyright (c) 2004-2006 + * Hartmut Brandt. + * All rights reserved. * * Author: Harti Brandt * @@ -26,13 +29,14 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Begemot: bsnmp/snmpd/action.c,v 1.58 2004/08/06 08:47:09 brandt Exp $ + * $Begemot: action.c 517 2006-10-31 08:52:04Z brandt_h $ * * Variable access for SNMPd */ #include #include #include +#include #include #include #include @@ -48,6 +52,11 @@ static const struct asn_oid oid_begemotSnmpdModuleTable = OIDX_begemotSnmpdModuleTable; +#ifdef __FreeBSD__ +static const struct asn_oid + oid_freeBSDVersion = OIDX_freeBSDVersion; +#endif + /* * Get a string value from the KERN sysctl subtree. */ @@ -100,39 +109,57 @@ int init_actvals(void) { - char *v[4]; - u_int i; + struct utsname uts; + char *hostid; size_t len; +#ifdef __FreeBSD__ + char *rel, *p, *end; + u_long num; +#endif - if ((systemg.name = act_getkernstring(KERN_HOSTNAME)) == NULL) + if (uname(&uts) == -1) + return (-1); + + if ((systemg.name = strdup(uts.nodename)) == NULL) + return (-1); + + if ((hostid = act_getkernint(KERN_HOSTID)) == NULL) return (-1); - for (i = 0; i < 4; i++) - v[1] = NULL; + len = strlen(uts.nodename) + 1; + len += strlen(hostid) + 1; + len += strlen(uts.sysname) + 1; + len += strlen(uts.release) + 1; - if ((v[0] = act_getkernstring(KERN_HOSTNAME)) == NULL) - goto err; - if ((v[1] = act_getkernint(KERN_HOSTID)) == NULL) - goto err; - if ((v[2] = act_getkernstring(KERN_OSTYPE)) == NULL) - goto err; - if ((v[3] = act_getkernstring(KERN_OSRELEASE)) == NULL) - goto err; + if ((systemg.descr = malloc(len)) == NULL) { + free(hostid); + return (-1); + } + sprintf(systemg.descr, "%s %s %s %s", uts.nodename, hostid, uts.sysname, + uts.release); - for (i = 0, len = 0; i < 4; i++) - len += strlen(v[i]) + 1; +#ifdef __FreeBSD__ + /* + * Construct a FreeBSD oid + */ + systemg.object_id = oid_freeBSDVersion; + rel = uts.release; + while ((p = strsep(&rel, ".")) != NULL && + systemg.object_id.len < ASN_MAXOIDLEN) { + systemg.object_id.subs[systemg.object_id.len] = 0; + if (*p != '\0') { + num = strtoul(p, &end, 10); + if (end == p) + break; + systemg.object_id.subs[systemg.object_id.len] = num; + } + systemg.object_id.len++; + } +#endif - if ((systemg.descr = malloc(len)) == NULL) - goto err; - sprintf(systemg.descr, "%s %s %s %s", v[0], v[1], v[2], v[3]); + free(hostid); return (0); - - err: - for (i = 0; i < 4; i++) - if (v[i] != NULL) - free(v[i]); - return (-1); } ==== //depot/projects/soc2005/libalias/contrib/bsnmp/snmpd/tree.def#2 (text+ko) ==== @@ -26,7 +26,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $Begemot: bsnmp/snmpd/tree.def,v 1.38 2004/08/06 08:47:17 brandt Exp $ +# $Begemot: tree.def 517 2006-10-31 08:52:04Z brandt_h $ # # System group and private Begemot SNMPd MIB. # @@ -64,11 +64,19 @@ (32 snmpProxyDrops COUNTER op_snmp GET) ) )) + + (4 private + (1 enterprises +# +# FreeBSD stuff # + (2238 freeBSD + (4 freeBSDVersion) + ) + +# # Private Begemot Stuff # - (4 private - (1 enterprises (12325 fokus (1 begemot ==== //depot/projects/soc2005/libalias/contrib/pf/man/pf.conf.5#2 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $FreeBSD: src/contrib/pf/man/pf.conf.5,v 1.9 2005/09/28 08:11:15 mlaier Exp $ +.\" $FreeBSD: src/contrib/pf/man/pf.conf.5,v 1.10 2006/10/30 15:15:37 mlaier Exp $ .\" $OpenBSD: pf.conf.5,v 1.292 2004/02/24 05:44:48 mcbride Exp $ .\" .\" Copyright (c) 2002, Daniel Hartmeier @@ -28,7 +28,7 @@ .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd February 7, 2005 +.Dd October 30, 2006 .Dt PF.CONF 5 .Os .Sh NAME @@ -2851,6 +2851,12 @@ for the moment. This workaround will still produce the LOR, but Giant will protect from the deadlock. +.Pp +Route labels are not supported by the +.Fx +.Xr route 4 +system. +Rules with a route label do not match any traffic. .Sh SEE ALSO .Xr altq 4 , .Xr icmp 4 , ==== //depot/projects/soc2005/libalias/etc/mtree/BSD.include.dist#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.109 2006/10/06 08:27:07 ru Exp $ +# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.110 2006/10/31 22:22:29 pjd Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -108,6 +108,8 @@ .. gate .. + journal + .. label .. mirror ==== //depot/projects/soc2005/libalias/etc/snmpd.config#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/snmpd.config,v 1.6 2006/02/27 16:31:01 harti Exp $ +# $FreeBSD: src/etc/snmpd.config,v 1.7 2006/10/31 10:23:28 harti Exp $ # # Example configuration file for bsnmpd(1). # @@ -6,7 +6,6 @@ # # Set some common variables # -host := foobar location := "Room 200" contact := "sysmeister@example.com" system := 1 # FreeBSD @@ -43,8 +42,7 @@ begemotSnmpdCommunityDisable = 1 # open standard SNMP ports -begemotSnmpdPortStatus.[$(host)].161 = 1 -begemotSnmpdPortStatus.127.0.0.1.161 = 1 +begemotSnmpdPortStatus.0.0.0.0.161 = 1 # open a unix domain socket begemotSnmpdLocalPortStatus."/var/run/snmpd.sock" = 1 ==== //depot/projects/soc2005/libalias/games/fortune/datfiles/fortunes#8 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.229 2006/10/23 13:25:17 phk Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.230 2006/10/30 12:01:57 keramida Exp $ % ======================================================================= @@ -22147,7 +22147,7 @@ There are not stars enough in heaven. % Here at the Phone Company, we serve all kinds of people; -from President's and Kings to the scum of the earth... +from Presidents and Kings to the scum of the earth... % Here comes the orator, with his flood of words and his drop of reason. % ==== //depot/projects/soc2005/libalias/gnu/usr.bin/send-pr/send-pr.sh#2 (text+ko) ==== @@ -20,7 +20,7 @@ # along with GNU GNATS; see the file COPYING. If not, write to # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. # -# $FreeBSD: src/gnu/usr.bin/send-pr/send-pr.sh,v 1.37 2005/10/24 01:36:16 obrien Exp $ +# $FreeBSD: src/gnu/usr.bin/send-pr/send-pr.sh,v 1.38 2006/11/01 12:13:08 philip Exp $ # The version of this send-pr. VERSION=3.113 @@ -300,7 +300,7 @@ for file in $TEMP $REF ; do cat > $file << '__EOF__' SEND-PR: -*- send-pr -*- -SEND-PR: vim: syntax=send-pr (needed for vim syntax highlighting) +SEND-PR: vim: syntax=sendpr SEND-PR: SEND-PR: Lines starting with `SEND-PR' will be removed automatically, as SEND-PR: will all comments (text enclosed in `<' and `>'). ==== //depot/projects/soc2005/libalias/include/Makefile#5 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 1/4/94 -# $FreeBSD: src/include/Makefile,v 1.264 2006/10/06 08:27:06 ru Exp $ +# $FreeBSD: src/include/Makefile,v 1.265 2006/10/31 22:22:29 pjd Exp $ # # Doing a "make install" builds /usr/include. @@ -45,8 +45,8 @@ 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/cache geom/concat geom/eli geom/gate geom/label geom/mirror \ - geom/nop geom/raid3 geom/shsec geom/stripe \ + geom/cache geom/concat geom/eli geom/gate geom/journal geom/label \ + geom/mirror geom/nop geom/raid3 geom/shsec geom/stripe \ isofs/cd9660 \ netatm/ipatm netatm/sigpvc netatm/spans netatm/uni \ netgraph/atm netgraph/netflow \ ==== //depot/projects/soc2005/libalias/lib/libufs/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libufs/Makefile,v 1.13 2005/09/26 06:23:43 keramida Exp $ +# $FreeBSD: src/lib/libufs/Makefile,v 1.14 2006/10/31 21:21:48 pjd Exp $ LIB= ufs SHLIBDIR?= /lib @@ -9,6 +9,7 @@ MAN= bread.3 cgread.3 libufs.3 sbread.3 ufs_disk_close.3 MLINKS+= bread.3 bwrite.3 MLINKS+= cgread.3 cgread1.3 +MLINKS+= cgread.3 cgwrite1.3 MLINKS+= sbread.3 sbwrite.3 MLINKS+= ufs_disk_close.3 ufs_disk_fillout.3 MLINKS+= ufs_disk_close.3 ufs_disk_fillout_blank.3 ==== //depot/projects/soc2005/libalias/lib/libufs/cgread.3#2 (text+ko) ==== @@ -4,17 +4,18 @@ .\" Manual page for libufs functions: .\" cgread(3) .\" cgread1(3) +.\" cgwrite1(3) .\" .\" This file is in the public domain. .\" -.\" $FreeBSD: src/lib/libufs/cgread.3,v 1.6 2004/07/05 06:53:34 ru Exp $ +.\" $FreeBSD: src/lib/libufs/cgread.3,v 1.7 2006/10/31 21:21:48 pjd Exp $ .\" .Dd June 4, 2003 .Dt CGREAD 3 .Os .Sh NAME -.Nm cgread , cgread1 -.Nd read cylinder groups of UFS disks +.Nm cgread , cgread1, cgwrite1 +.Nd read/write cylinder groups of UFS disks .Sh LIBRARY .Lb libufs .Sh SYNOPSIS @@ -28,6 +29,8 @@ .Fn cgread "struct uufsd *disk" .Ft int .Fn cgread1 "struct uufsd *disk" "int c" +.Ft int +.Fn cgwrite1 "struct uufsd *disk" "int c" .Sh DESCRIPTION The .Fn cgread @@ -60,6 +63,14 @@ field, and then incrementing the .Va d_ccg field. +.Pp +The +.Fn cgwrite1 +function stores cylinder group specified by +.Fa c +from +.Va d_cg +field of a userland UFS disk structure on disk. .Sh RETURN VALUES Both functions return 0 if there are no more cylinder groups to read, 1 if there are more cylinder groups, and \-1 on error. @@ -75,8 +86,16 @@ .Fn cgread1 has semantically identical failure conditions to those of .Fn cgread . +.Pp +The function +.Fn cgwrite1 +may fail and set +.Va errno +for any of the errors specified for the library function +.Xr bwrite 3 . .Sh SEE ALSO .Xr bread 3 , +.Xr bwrite 3 , .Xr libufs 3 .Sh HISTORY These functions first appeared as part of ==== //depot/projects/soc2005/libalias/lib/libufs/cgroup.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libufs/cgroup.c,v 1.3 2003/06/09 09:32:29 jmallett Exp $"); +__FBSDID("$FreeBSD: src/lib/libufs/cgroup.c,v 1.4 2006/10/31 21:21:48 pjd Exp $"); #include #include @@ -71,3 +71,17 @@ disk->d_lcg = c; return (1); } + +int +cgwrite1(struct uufsd *disk, int c) +{ + struct fs *fs; + + fs = &disk->d_fs; + if (bwrite(disk, fsbtodb(fs, cgtod(fs, c)), + disk->d_cgunion.d_buf, fs->fs_bsize) == -1) { + ERROR(disk, "unable to write cylinder group"); + return (-1); + } + return (0); +} ==== //depot/projects/soc2005/libalias/lib/libufs/libufs.3#2 (text+ko) ==== @@ -5,7 +5,7 @@ .\" .\" This file is in the public domain. .\" -.\" $FreeBSD: src/lib/libufs/libufs.3,v 1.8 2004/07/05 06:53:34 ru Exp $ +.\" $FreeBSD: src/lib/libufs/libufs.3,v 1.9 2006/10/31 21:21:48 pjd Exp $ .\" .Dd June 4, 2003 .Dt LIBUFS 3 @@ -57,6 +57,7 @@ .Xr bwrite 3 , .Xr cgread 3 , .Xr cgread1 3 , +.Xr cgwrite1 3 , .Xr sbread 3 , .Xr sbwrite 3 , .Xr ufs_disk_close 3 , ==== //depot/projects/soc2005/libalias/lib/libufs/libufs.h#2 (text+ko) ==== @@ -24,7 +24,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/lib/libufs/libufs.h,v 1.11 2003/06/09 09:47:38 jmallett Exp $ + * $FreeBSD: src/lib/libufs/libufs.h,v 1.12 2006/10/31 21:21:48 pjd Exp $ */ #ifndef __LIBUFS_H__ @@ -110,6 +110,7 @@ */ int cgread(struct uufsd *); int cgread1(struct uufsd *, int); +int cgwrite1(struct uufsd *, int); /* * inode.c ==== //depot/projects/soc2005/libalias/sbin/dumpfs/dumpfs.c#2 (text+ko) ==== @@ -47,7 +47,7 @@ static char sccsid[] = "@(#)dumpfs.c 8.5 (Berkeley) 4/29/95"; #endif static const char rcsid[] = - "$FreeBSD: src/sbin/dumpfs/dumpfs.c,v 1.43 2004/04/09 19:58:27 markm Exp $"; + "$FreeBSD: src/sbin/dumpfs/dumpfs.c,v 1.44 2006/10/31 22:02:24 pjd Exp $"; #endif /* not lint */ #include @@ -168,8 +168,9 @@ (intmax_t)afs.fs_cstotal.cs_ndir, (intmax_t)afs.fs_cstotal.cs_nifree, (intmax_t)afs.fs_cstotal.cs_nffree); - printf("bpg\t%d\tfpg\t%d\tipg\t%d\n", - afs.fs_fpg / afs.fs_frag, afs.fs_fpg, afs.fs_ipg); + printf("bpg\t%d\tfpg\t%d\tipg\t%d\tunrefs\t%jd\n", + afs.fs_fpg / afs.fs_frag, afs.fs_fpg, afs.fs_ipg, + (intmax_t)afs.fs_unrefs); printf("nindir\t%d\tinopb\t%d\tmaxfilesize\t%ju\n", afs.fs_nindir, afs.fs_inopb, (uintmax_t)afs.fs_maxfilesize); @@ -228,10 +229,12 @@ printf("acls "); if (fsflags & FS_MULTILABEL) printf("multilabel "); + if (fsflags & FS_GJOURNAL) + printf("gjournal "); if (fsflags & FS_FLAGS_UPDATED) printf("fs_flags expanded "); fsflags &= ~(FS_UNCLEAN | FS_DOSOFTDEP | FS_NEEDSFSCK | FS_INDEXDIRS | - FS_ACLS | FS_MULTILABEL | FS_FLAGS_UPDATED); + FS_ACLS | FS_MULTILABEL | FS_GJOURNAL | FS_FLAGS_UPDATED); if (fsflags != 0) printf("unknown flags (%#x)", fsflags); putchar('\n'); @@ -282,8 +285,9 @@ cgtime = acg.cg_time; printf("magic\t%x\ttell\t%jx\ttime\t%s", acg.cg_magic, (intmax_t)cur, ctime(&cgtime)); - printf("cgx\t%d\tndblk\t%d\tniblk\t%d\tinitiblk %d\n", - acg.cg_cgx, acg.cg_ndblk, acg.cg_niblk, acg.cg_initediblk); + printf("cgx\t%d\tndblk\t%d\tniblk\t%d\tinitiblk %d\tunrefs %d\n", + acg.cg_cgx, acg.cg_ndblk, acg.cg_niblk, acg.cg_initediblk, + acg.cg_unrefs); break; case 1: cgtime = acg.cg_old_time; ==== //depot/projects/soc2005/libalias/sbin/dumpon/dumpon.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/sbin/dumpon/dumpon.c,v 1.23 2006/04/27 19:01:54 ps Exp $"); +__FBSDID("$FreeBSD: src/sbin/dumpon/dumpon.c,v 1.24 2006/10/31 22:36:49 jhb Exp $"); #include #include @@ -70,18 +70,17 @@ check_size(int fd, const char *fn) { int name[] = { CTL_HW, HW_PHYSMEM }; - size_t namelen = sizeof name / sizeof *name; + size_t namelen = sizeof(name) / sizeof(*name); unsigned long physmem; size_t len; off_t mediasize; int minidump; - - len = sizeof minidump; + len = sizeof(minidump); if (sysctlbyname("debug.minidump", &minidump, &len, NULL, 0) == 0 && minidump == 1) return; - len = sizeof physmem; + len = sizeof(physmem); if (sysctl(name, namelen, &physmem, &len, NULL, 0) != 0) err(EX_OSERR, "can't get memory size"); if (ioctl(fd, DIOCGMEDIASIZE, &mediasize) != 0) ==== //depot/projects/soc2005/libalias/sbin/fsck_ffs/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sbin/fsck_ffs/Makefile,v 1.16 2004/09/01 08:26:39 scottl Exp $ +# $FreeBSD: src/sbin/fsck_ffs/Makefile,v 1.17 2006/10/31 22:06:56 pjd Exp $ # @(#)Makefile 8.2 (Berkeley) 4/27/95 PROG= fsck_ffs @@ -7,7 +7,9 @@ MAN= fsck_ffs.8 MLINKS= fsck_ffs.8 fsck_ufs.8 fsck_ffs.8 fsck_4.2bsd.8 SRCS= dir.c ea.c fsutil.c inode.c main.c pass1.c pass1b.c pass2.c pass3.c \ - pass4.c pass5.c setup.c utilities.c ffs_subr.c ffs_tables.c + pass4.c pass5.c setup.c utilities.c ffs_subr.c ffs_tables.c gjournal.c +DPADD= ${LIBUFS} +LDADD= -lufs WARNS?= 2 CFLAGS+= -I${.CURDIR} ==== //depot/projects/soc2005/libalias/sbin/fsck_ffs/fsck.h#2 (text+ko) ==== @@ -57,7 +57,7 @@ * SUCH DAMAGE. * * @(#)fsck.h 8.4 (Berkeley) 5/9/95 - * $FreeBSD: src/sbin/fsck_ffs/fsck.h,v 1.36 2005/03/07 08:42:49 delphij Exp $ + * $FreeBSD: src/sbin/fsck_ffs/fsck.h,v 1.37 2006/10/31 22:06:56 pjd Exp $ */ #include @@ -328,9 +328,9 @@ ino_t allocino(ino_t request, int type); void blkerror(ino_t ino, const char *type, ufs2_daddr_t blk); char *blockcheck(char *name); -int bread(int fd, char *buf, ufs2_daddr_t blk, long size); +int blread(int fd, char *buf, ufs2_daddr_t blk, long size); void bufinit(void); -void bwrite(int fd, char *buf, ufs2_daddr_t blk, long size); +void blwrite(int fd, char *buf, ufs2_daddr_t blk, long size); void cacheino(union dinode *dp, ino_t inumber); void catch(int); void catchquit(int); @@ -388,3 +388,4 @@ void sblock_init(void); void setinodebuf(ino_t); int setup(char *dev); +void gjournal_check(const char *filesys); ==== //depot/projects/soc2005/libalias/sbin/fsck_ffs/fsutil.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/sbin/fsck_ffs/fsutil.c,v 1.25 2004/10/08 20:44:47 truckman Exp $"); +__FBSDID("$FreeBSD: src/sbin/fsck_ffs/fsutil.c,v 1.26 2006/10/31 22:06:56 pjd Exp $"); #include #include @@ -221,7 +221,7 @@ if (bp->b_bno != dblk) { flush(fswritefd, bp); diskreads++; - bp->b_errs = bread(fsreadfd, bp->b_un.b_buf, dblk, size); + bp->b_errs = blread(fsreadfd, bp->b_un.b_buf, dblk, size); bp->b_bno = dblk; bp->b_size = size; } @@ -244,11 +244,11 @@ (bp->b_errs == bp->b_size / dev_bsize) ? "" : "PARTIALLY ", (long long)bp->b_bno); bp->b_errs = 0; - bwrite(fd, bp->b_un.b_buf, bp->b_bno, (long)bp->b_size); + blwrite(fd, bp->b_un.b_buf, bp->b_bno, (long)bp->b_size); if (bp != &sblk) return; for (i = 0, j = 0; i < sblock.fs_cssize; i += sblock.fs_bsize, j++) { - bwrite(fswritefd, (char *)sblock.fs_csp + i, + blwrite(fswritefd, (char *)sblock.fs_csp + i, fsbtodb(&sblock, sblock.fs_csaddr + j * sblock.fs_frag), sblock.fs_cssize - i < sblock.fs_bsize ? sblock.fs_cssize - i : sblock.fs_bsize); @@ -345,7 +345,7 @@ } int -bread(int fd, char *buf, ufs2_daddr_t blk, long size) +blread(int fd, char *buf, ufs2_daddr_t blk, long size) { char *cp; int i, errs; @@ -387,7 +387,7 @@ } void -bwrite(int fd, char *buf, ufs2_daddr_t blk, long size) +blwrite(int fd, char *buf, ufs2_daddr_t blk, long size) { int i; char *cp; ==== //depot/projects/soc2005/libalias/sbin/fsck_ffs/inode.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/sbin/fsck_ffs/inode.c,v 1.37 2004/10/08 20:44:47 truckman Exp $"); +__FBSDID("$FreeBSD: src/sbin/fsck_ffs/inode.c,v 1.38 2006/10/31 22:06:56 pjd Exp $"); #include #include @@ -329,10 +329,10 @@ lastinum += fullcnt; } /* - * If bread returns an error, it will already have zeroed + * If blread returns an error, it will already have zeroed * out the buffer, so we do not need to do so here. */ - (void)bread(fsreadfd, inodebuf, dblk, size); + (void)blread(fsreadfd, inodebuf, dblk, size); nextinop = inodebuf; } dp = (union dinode *)nextinop; ==== //depot/projects/soc2005/libalias/sbin/fsck_ffs/main.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/sbin/fsck_ffs/main.c,v 1.44 2005/02/10 09:19:29 ru Exp $"); +__FBSDID("$FreeBSD: src/sbin/fsck_ffs/main.c,v 1.45 2006/10/31 22:06:56 pjd Exp $"); #include #include @@ -237,6 +237,29 @@ exit(7); /* Filesystem clean, report it now */ exit(0); } + if (preen && skipclean) { + /* + * If file system is gjournaled, check it here. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Nov 1 23:05:39 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1623316A417; Wed, 1 Nov 2006 23:05:39 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 AA9DB16A415; Wed, 1 Nov 2006 23:05:38 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2358043D5A; Wed, 1 Nov 2006 23:05:37 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.6/8.13.6) with ESMTP id kA1N5YmM005380; Wed, 1 Nov 2006 18:05:34 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: Roman Divacky Date: Wed, 1 Nov 2006 16:25:27 -0500 User-Agent: KMail/1.9.1 References: <200611011958.kA1JwQbN022477@repoman.freebsd.org> In-Reply-To: <200611011958.kA1JwQbN022477@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200611011625.28582.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Wed, 01 Nov 2006 18:05:34 -0500 (EST) X-Virus-Scanned: ClamAV 0.88.3/2143/Wed Nov 1 17:03:47 2006 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 108941 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2006 23:05:39 -0000 On Wednesday 01 November 2006 14:58, Roman Divacky wrote: > http://perforce.freebsd.org/chv.cgi?CH=108941 > > Change 108941 by rdivacky@rdivacky_witten on 2006/11/01 19:57:42 > > Lock proc in gettid. > > Affected files ... > > .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#22 edit > > Differences ... > > ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#22 (text+ko) ==== > > @@ -1408,7 +1408,9 @@ > printf(ARGS(gettid, "")); > #endif > > + PROC_LOCK(td->td_proc); > td->td_retval[0] = td->td_proc->p_pid; > + PROC_UNLOCK(td->td_proc); > return (0); > } You don't need this. p_pid is read-only after fork(). -- John Baldwin From owner-p4-projects@FreeBSD.ORG Thu Nov 2 00:39:13 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8DD9F16A416; Thu, 2 Nov 2006 00:39:13 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 4F8C916A412 for ; Thu, 2 Nov 2006 00:39:13 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 190F643D49 for ; Thu, 2 Nov 2006 00:39:13 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA20dCgF088033 for ; Thu, 2 Nov 2006 00:39:12 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA20dCbf088030 for perforce@freebsd.org; Thu, 2 Nov 2006 00:39:12 GMT (envelope-from marcel@freebsd.org) Date: Thu, 2 Nov 2006 00:39:12 GMT Message-Id: <200611020039.kA20dCbf088030@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 Cc: Subject: PERFORCE change 108985 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 00:39:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=108985 Change 108985 by marcel@marcel_cluster on 2006/11/02 00:38:42 IFC @108984 Affected files ... .. //depot/projects/ia64/sys/boot/common/Makefile.inc#11 integrate .. //depot/projects/ia64/sys/boot/common/devopen.c#4 integrate .. //depot/projects/ia64/sys/boot/i386/loader/Makefile#20 integrate .. //depot/projects/ia64/sys/boot/ia64/efi/main.c#6 integrate .. //depot/projects/ia64/sys/boot/ia64/ski/main.c#3 integrate .. //depot/projects/ia64/sys/boot/ofw/common/main.c#6 integrate .. //depot/projects/ia64/sys/boot/pc98/loader/Makefile#16 integrate .. //depot/projects/ia64/sys/boot/sparc64/loader/main.c#21 integrate .. //depot/projects/ia64/sys/conf/files.sparc64#50 integrate .. //depot/projects/ia64/sys/conf/options.sparc64#14 integrate .. //depot/projects/ia64/sys/dev/dc/if_dc.c#10 integrate .. //depot/projects/ia64/sys/dev/uart/uart_kbd_sun.c#9 integrate .. //depot/projects/ia64/sys/dev/uart/uart_kbd_sun.h#3 integrate .. //depot/projects/ia64/sys/geom/mirror/g_mirror.c#23 integrate .. //depot/projects/ia64/sys/geom/mirror/g_mirror.h#10 integrate .. //depot/projects/ia64/sys/geom/mirror/g_mirror_ctl.c#10 integrate .. //depot/projects/ia64/sys/geom/raid3/g_raid3.c#23 integrate .. //depot/projects/ia64/sys/geom/raid3/g_raid3.h#11 integrate .. //depot/projects/ia64/sys/geom/raid3/g_raid3_ctl.c#12 integrate .. //depot/projects/ia64/sys/pci/if_sis.c#48 integrate .. //depot/projects/ia64/sys/sparc64/conf/NOTES#21 integrate Differences ... ==== //depot/projects/ia64/sys/boot/common/Makefile.inc#11 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/boot/common/Makefile.inc,v 1.22 2006/05/12 04:09:52 jhb Exp $ +# $FreeBSD: src/sys/boot/common/Makefile.inc,v 1.23 2006/11/02 00:26:44 marcel Exp $ SRCS+= boot.c commands.c console.c devopen.c interp.c SRCS+= interp_backslash.c interp_parse.c ls.c misc.c ==== //depot/projects/ia64/sys/boot/common/devopen.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/common/devopen.c,v 1.4 2003/08/25 23:30:41 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/common/devopen.c,v 1.5 2006/11/02 00:02:22 marcel Exp $"); #include #include ==== //depot/projects/ia64/sys/boot/i386/loader/Makefile#20 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.83 2006/03/17 18:54:35 ru Exp $ +# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.84 2006/11/02 00:26:44 marcel Exp $ .include ==== //depot/projects/ia64/sys/boot/ia64/efi/main.c#6 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ia64/efi/main.c,v 1.24 2004/11/23 05:37:47 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/ia64/efi/main.c,v 1.25 2006/11/02 00:26:44 marcel Exp $"); #include #include ==== //depot/projects/ia64/sys/boot/ia64/ski/main.c#3 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ia64/ski/main.c,v 1.6 2004/09/24 04:06:22 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/ia64/ski/main.c,v 1.7 2006/11/02 00:26:45 marcel Exp $"); #include #include ==== //depot/projects/ia64/sys/boot/ofw/common/main.c#6 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ofw/common/main.c,v 1.7 2004/08/16 15:45:24 marius Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/ofw/common/main.c,v 1.8 2006/11/02 00:26:45 marcel Exp $"); #include #include "openfirm.h" ==== //depot/projects/ia64/sys/boot/pc98/loader/Makefile#16 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/boot/pc98/loader/Makefile,v 1.40 2006/03/17 18:54:35 ru Exp $ +# $FreeBSD: src/sys/boot/pc98/loader/Makefile,v 1.41 2006/11/02 00:26:45 marcel Exp $ .include ==== //depot/projects/ia64/sys/boot/sparc64/loader/main.c#21 (text+ko) ==== @@ -8,7 +8,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/sparc64/loader/main.c,v 1.28 2006/10/09 05:59:04 kmacy Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/sparc64/loader/main.c,v 1.29 2006/11/02 00:26:45 marcel Exp $"); /* * FreeBSD/sparc64 kernel loader - machine dependent part * ==== //depot/projects/ia64/sys/conf/files.sparc64#50 (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.sparc64,v 1.82 2006/10/23 13:23:12 ru Exp $ +# $FreeBSD: src/sys/conf/files.sparc64,v 1.83 2006/11/02 00:01:15 marius Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -12,6 +12,11 @@ no-obj no-implicit-rule before-depend \ clean "atkbdmap.h" # +sunkbdmap.h optional sunkbd_dflt_keymap \ + compile-with "/usr/sbin/kbdcontrol -L ${SUNKBD_DFLT_KEYMAP} | sed -e 's/^static keymap_t.* = /static keymap_t key_map = /' -e 's/^static accentmap_t.* = /static accentmap_t accent_map = /' > sunkbdmap.h" \ + no-obj no-implicit-rule before-depend \ + clean "sunkbdmap.h" +# ukbdmap.h optional ukbd_dflt_keymap \ compile-with "/usr/sbin/kbdcontrol -L ${UKBD_DFLT_KEYMAP} | sed -e 's/^static keymap_t.* = /static keymap_t key_map = /' -e 's/^static accentmap_t.* = /static accentmap_t accent_map = /' > ukbdmap.h" \ no-obj no-implicit-rule before-depend \ ==== //depot/projects/ia64/sys/conf/options.sparc64#14 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.sparc64,v 1.13 2005/06/10 20:58:59 marius Exp $ +# $FreeBSD: src/sys/conf/options.sparc64,v 1.14 2006/11/02 00:01:15 marius Exp $ SUN4U opt_global.h @@ -18,3 +18,5 @@ PSM_DEBUG opt_psm.h PSM_HOOKRESUME opt_psm.h PSM_RESETAFTERSUSPEND opt_psm.h +SUNKBD_DFLT_KEYMAP opt_sunkbd.h +SUNKBD_EMULATE_ATKBD opt_sunkbd.h ==== //depot/projects/ia64/sys/dev/dc/if_dc.c#10 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/dc/if_dc.c,v 1.187 2006/10/30 01:58:50 marius Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/dc/if_dc.c,v 1.188 2006/11/02 00:05:15 marius Exp $"); /* * DEC "tulip" clone ethernet driver. Supports the DEC/Intel 21143 @@ -104,7 +104,6 @@ #include #include #include -#include #include #include ==== //depot/projects/ia64/sys/dev/uart/uart_kbd_sun.c#9 (text+ko) ==== @@ -25,10 +25,16 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/uart/uart_kbd_sun.c,v 1.9 2006/09/27 19:56:59 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/uart/uart_kbd_sun.c,v 1.10 2006/11/02 00:01:15 marius Exp $"); #include "opt_compat.h" #include "opt_kbd.h" +#include "opt_sunkbd.h" + +#if (defined(SUNKBD_EMULATE_ATKBD) && defined(SUNKBD_DFLT_KEYMAP)) || \ + !defined(SUNKBD_EMULATE_ATKBD) +#define KBD_DFLT_KEYMAP +#endif #include #include @@ -36,26 +42,28 @@ #include #include #include -#include -#include +#include #include -#include -#include - #include +#include #include #include #include #include +#if !defined(SUNKBD_EMULATE_ATKBD) #include +#endif +#if defined(SUNKBD_EMULATE_ATKBD) && defined(SUNKBD_DFLT_KEYMAP) +#include "sunkbdmap.h" +#endif #include "uart_if.h" -#define SUNKBD_BUF_SIZE 128 +#define SUNKBD_DRIVER_NAME "sunkbd" #define TODO printf("%s: unimplemented", __func__) @@ -64,14 +72,23 @@ struct uart_softc *sc_uart; struct uart_devinfo *sc_sysdev; + int sc_checked_key; + struct callout sc_repeat_callout; int sc_repeat_key; int sc_accents; + int sc_composed_char; + int sc_flags; +#define KPCOMPOSE (1 << 0) int sc_mode; int sc_polling; int sc_repeating; int sc_state; + +#if defined(SUNKBD_EMULATE_ATKBD) + int sc_buffered_char[2]; +#endif }; static int sunkbd_configure(int flags); @@ -97,6 +114,9 @@ static void sunkbd_diag(keyboard_t *kbd, int level); static void sunkbd_repeat(void *v); +#if defined(SUNKBD_EMULATE_ATKBD) +static int keycode2scancode(int keycode, int shift, int up); +#endif static keyboard_switch_t sunkbdsw = { sunkbd_probe, @@ -125,41 +145,46 @@ static struct sunkbd_softc sunkbd_softc; static struct uart_devinfo uart_keyboard; -static fkeytab_t fkey_tab[96] = { -/* 01-04 */ {"\033[M", 3}, {"\033[N", 3}, {"\033[O", 3}, {"\033[P", 3}, -/* 05-08 */ {"\033[Q", 3}, {"\033[R", 3}, {"\033[S", 3}, {"\033[T", 3}, -/* 09-12 */ {"\033[U", 3}, {"\033[V", 3}, {"\033[W", 3}, {"\033[X", 3}, -/* 13-16 */ {"\033[Y", 3}, {"\033[Z", 3}, {"\033[a", 3}, {"\033[b", 3}, -/* 17-20 */ {"\033[c", 3}, {"\033[d", 3}, {"\033[e", 3}, {"\033[f", 3}, -/* 21-24 */ {"\033[g", 3}, {"\033[h", 3}, {"\033[i", 3}, {"\033[j", 3}, -/* 25-28 */ {"\033[k", 3}, {"\033[l", 3}, {"\033[m", 3}, {"\033[n", 3}, -/* 29-32 */ {"\033[o", 3}, {"\033[p", 3}, {"\033[q", 3}, {"\033[r", 3}, -/* 33-36 */ {"\033[s", 3}, {"\033[t", 3}, {"\033[u", 3}, {"\033[v", 3}, -/* 37-40 */ {"\033[w", 3}, {"\033[x", 3}, {"\033[y", 3}, {"\033[z", 3}, -/* 41-44 */ {"\033[@", 3}, {"\033[[", 3}, {"\033[\\",3}, {"\033[]", 3}, -/* 45-48 */ {"\033[^", 3}, {"\033[_", 3}, {"\033[`", 3}, {"\033[{", 3}, -/* 49-52 */ {"\033[H", 3}, {"\033[A", 3}, {"\033[I", 3}, {"-" , 1}, -/* 53-56 */ {"\033[D", 3}, {"\033[E", 3}, {"\033[C", 3}, {"+" , 1}, -/* 57-60 */ {"\033[F", 3}, {"\033[B", 3}, {"\033[G", 3}, {"\033[L", 3}, -/* 61-64 */ {"\177", 1}, {"\033[J", 3}, {"\033[~", 3}, {"\033[}", 3}, -/* 65-68 */ {"", 0} , {"", 0} , {"", 0} , {"", 0} , -/* 69-72 */ {"", 0} , {"", 0} , {"", 0} , {"", 0} , -/* 73-76 */ {"", 0} , {"", 0} , {"", 0} , {"", 0} , -/* 77-80 */ {"", 0} , {"", 0} , {"", 0} , {"", 0} , -/* 81-84 */ {"", 0} , {"", 0} , {"", 0} , {"", 0} , -/* 85-88 */ {"", 0} , {"", 0} , {"", 0} , {"", 0} , -/* 89-92 */ {"", 0} , {"", 0} , {"", 0} , {"", 0} , -/* 93-96 */ {"", 0} , {"", 0} , {"", 0} , {"", 0} +#if defined(SUNKBD_EMULATE_ATKBD) + +#define SCAN_PRESS 0x000 +#define SCAN_RELEASE 0x080 +#define SCAN_PREFIX_E0 0x100 +#define SCAN_PREFIX_E1 0x200 +#define SCAN_PREFIX_CTL 0x400 +#define SCAN_PREFIX_SHIFT 0x800 +#define SCAN_PREFIX (SCAN_PREFIX_E0 | SCAN_PREFIX_E1 | \ + SCAN_PREFIX_CTL | SCAN_PREFIX_SHIFT) + +#define NOTR 0x0 /* no translation */ + +static const uint8_t sunkbd_trtab[] = { + NOTR, 0x6d, 0x78, 0x6e, 0x79, 0x3b, 0x3c, 0x44, /* 0x00 - 0x07 */ + 0x3d, 0x57, 0x3e, 0x58, 0x3f, 0x5d, 0x40, NOTR, /* 0x08 - 0x0f */ + 0x41, 0x42, 0x43, 0x38, 0x5f, 0x68, 0x5c, 0x46, /* 0x10 - 0x17 */ + 0x61, 0x6e, 0x70, 0x64, 0x62, 0x01, 0x02, 0x03, /* 0x18 - 0x1f */ + 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, /* 0x20 - 0x27 */ + 0x0c, 0x0d, 0x29, 0x0e, 0x66, 0x77, 0x5b, 0x37, /* 0x28 - 0x2f */ + 0x7a, 0x71, 0x53, 0x72, 0x5e, 0x0f, 0x10, 0x11, /* 0x30 - 0x37 */ + 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, /* 0x38 - 0x3f */ + 0x1a, 0x1b, 0x67, 0x6b, 0x47, 0x48, 0x49, 0x4a, /* 0x40 - 0x47 */ + 0x73, 0x74, 0x63, NOTR, 0x1d, 0x1e, 0x1f, 0x20, /* 0x48 - 0x4f */ + 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, /* 0x50 - 0x57 */ + 0x2b, 0x1c, 0x59, 0x4b, 0x4c, 0x4d, 0x52, 0x75, /* 0x58 - 0x5f */ + 0x60, 0x76, 0x45, 0x2a, 0x2c, 0x2d, 0x2e, 0x2f, /* 0x60 - 0x67 */ + 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, NOTR, /* 0x68 - 0x6f */ + 0x4f, 0x50, 0x51, NOTR, NOTR, NOTR, 0x6c, 0x3a, /* 0x70 - 0x77 */ + 0x69, 0x39, 0x6a, 0x65, 0x56, 0x4e, NOTR, NOTR /* 0x78 - 0x7f */ }; +#endif + static int sunkbd_probe_keyboard(struct uart_devinfo *di) { - int tries; + int c, id, ltries, tries; for (tries = 5; tries != 0; tries--) { - int ltries; - uart_putc(di, SKBD_CMD_RESET); for (ltries = 1000; ltries != 0; ltries--) { if (uart_poll(di) == SKBD_RSP_RESET) @@ -168,17 +193,18 @@ } if (ltries == 0) continue; + id = -1; for (ltries = 1000; ltries != 0; ltries--) { - if (uart_poll(di) == SKBD_RSP_IDLE) + switch (c = uart_poll(di)) { + case -1: break; + case SKBD_RSP_IDLE: + return (id); + default: + id = c; + } DELAY(1000); } - if (ltries == 0) - continue; - uart_putc(di, SKBD_CMD_LAYOUT); - if (uart_getc(di) != SKBD_RSP_LAYOUT) - break; - return (uart_getc(di)); } return (-1); } @@ -212,18 +238,23 @@ uart_keyboard.attach = sunkbd_attach; uart_add_sysdev(&uart_keyboard); - if (sunkbd_probe_keyboard(&uart_keyboard) == -1) + if (sunkbd_probe_keyboard(&uart_keyboard) != KB_SUN4) return (0); sc = &sunkbd_softc; callout_init(&sc->sc_repeat_callout, 0); - sc->sc_repeat_key = -1; - sc->sc_repeating = 0; + sunkbd_clear_state(&sc->sc_kbd); - kbd_init_struct(&sc->sc_kbd, "sunkbd", KB_OTHER, 0, 0, 0, 0); +#if defined(SUNKBD_EMULATE_ATKBD) + kbd_init_struct(&sc->sc_kbd, SUNKBD_DRIVER_NAME, KB_101, 0, 0, 0, 0); + kbd_set_maps(&sc->sc_kbd, &key_map, &accent_map, fkey_tab, + sizeof(fkey_tab) / sizeof(fkey_tab[0])); +#else + kbd_init_struct(&sc->sc_kbd, SUNKBD_DRIVER_NAME, KB_OTHER, 0, 0, 0, 0); kbd_set_maps(&sc->sc_kbd, &keymap_sun_us_unix_kbd, &accentmap_sun_us_unix_kbd, fkey_tab, sizeof(fkey_tab) / sizeof(fkey_tab[0])); +#endif sc->sc_mode = K_XLATE; kbd_register(&sc->sc_kbd); @@ -284,12 +315,12 @@ KBDIO_KEYINPUT, sc->sc_kbd.kb_callback.kc_arg); } } - } static int sunkbd_probe(int unit, void *arg, int flags) { + TODO; return (0); } @@ -297,6 +328,7 @@ static int sunkbd_init(int unit, keyboard_t **kbdp, void *arg, int flags) { + TODO; return (0); } @@ -304,6 +336,7 @@ static int sunkbd_term(keyboard_t *kbd) { + TODO; return (0); } @@ -311,6 +344,7 @@ static int sunkbd_intr(keyboard_t *kbd, void *arg) { + TODO; return (0); } @@ -318,6 +352,7 @@ static int sunkbd_test_if(keyboard_t *kbd) { + TODO; return (0); } @@ -325,6 +360,7 @@ static int sunkbd_enable(keyboard_t *kbd) { + KBD_ACTIVATE(kbd); return (0); } @@ -332,6 +368,7 @@ static int sunkbd_disable(keyboard_t *kbd) { + KBD_DEACTIVATE(kbd); return (0); } @@ -339,6 +376,7 @@ static int sunkbd_read(keyboard_t *kbd, int wait) { + TODO; return (0); } @@ -346,69 +384,255 @@ static int sunkbd_check(keyboard_t *kbd) { - TODO; - return (0); + struct sunkbd_softc *sc; + + if (!KBD_IS_ACTIVE(kbd)) + return (FALSE); + + sc = (struct sunkbd_softc *)kbd; + +#if defined(SUNKBD_EMULATE_ATKBD) + if (sc->sc_buffered_char[0]) + return (TRUE); +#endif + + if (sc->sc_repeating) + return (TRUE); + + if (sc->sc_uart != NULL && !uart_rx_empty(sc->sc_uart)) + return (TRUE); + + if (sc->sc_polling != 0 && sc->sc_sysdev != NULL && + (sc->sc_checked_key = uart_poll(sc->sc_sysdev)) != -1) + return (TRUE); + + return (FALSE); } static u_int sunkbd_read_char(keyboard_t *kbd, int wait) { struct sunkbd_softc *sc; - int action; - int key; + int key, release, repeated, suncode; sc = (struct sunkbd_softc *)kbd; + +#if defined(SUNKBD_EMULATE_ATKBD) + if (sc->sc_mode == K_RAW && sc->sc_buffered_char[0]) { + key = sc->sc_buffered_char[0]; + if (key & SCAN_PREFIX) { + sc->sc_buffered_char[0] = key & ~SCAN_PREFIX; + return ((key & SCAN_PREFIX_E0) ? 0xe0 : 0xe1); + } else { + sc->sc_buffered_char[0] = sc->sc_buffered_char[1]; + sc->sc_buffered_char[1] = 0; + return (key); + } + } +#endif + + repeated = 0; if (sc->sc_repeating) { + repeated = 1; sc->sc_repeating = 0; callout_reset(&sc->sc_repeat_callout, hz / 10, sunkbd_repeat, sc); - key = sc->sc_repeat_key; - if (sc->sc_mode == K_RAW) - return (key); - else - return genkbd_keyaction(kbd, key & 0x7f, key & 0x80, - &sc->sc_state, &sc->sc_accents); + suncode = sc->sc_repeat_key; + goto process_code; + } + + if (sc->sc_checked_key != -1) { + suncode = sc->sc_checked_key; + sc->sc_checked_key = -1; + goto process_code; } for (;;) { - /* XXX compose */ + next_code: + if (!(sc->sc_flags & KPCOMPOSE) && (sc->sc_composed_char > 0)) { + key = sc->sc_composed_char; + sc->sc_composed_char = 0; + if (key > UCHAR_MAX) + return (ERRKEY); + return (key); + } if (sc->sc_uart != NULL && !uart_rx_empty(sc->sc_uart)) { - key = uart_rx_get(sc->sc_uart); + suncode = uart_rx_get(sc->sc_uart); } else if (sc->sc_polling != 0 && sc->sc_sysdev != NULL) { if (wait) - key = uart_getc(sc->sc_sysdev); - else if ((key = uart_poll(sc->sc_sysdev)) == -1) + suncode = uart_getc(sc->sc_sysdev); + else if ((suncode = uart_poll(sc->sc_sysdev)) == -1) return (NOKEY); } else { return (NOKEY); } - switch (key) { + switch (suncode) { case SKBD_RSP_IDLE: break; default: + + process_code: ++kbd->kb_count; - - if ((key & 0x80) == 0) { - callout_reset(&sc->sc_repeat_callout, hz / 2, - sunkbd_repeat, sc); - sc->sc_repeat_key = key; - } else { - if (sc->sc_repeat_key == (key & 0x7f)) { + key = SKBD_KEY_CHAR(suncode); + release = suncode & SKBD_KEY_RELEASE; + if (!repeated) { + if (release == 0) { + callout_reset(&sc->sc_repeat_callout, + hz / 2, sunkbd_repeat, sc); + sc->sc_repeat_key = suncode; + } else if (sc->sc_repeat_key == key) { callout_stop(&sc->sc_repeat_callout); sc->sc_repeat_key = -1; } } - if (sc->sc_mode == K_RAW) +#if defined(SUNKBD_EMULATE_ATKBD) + key = sunkbd_trtab[key]; + if (key == NOTR) + return (NOKEY); + + if (!repeated) { + switch (key) { + case 0x1d: /* ctrl */ + if (release != 0) + sc->sc_flags &= ~CTLS; + else + sc->sc_flags |= CTLS; + break; + case 0x2a: /* left shift */ + case 0x36: /* right shift */ + if (release != 0) + sc->sc_flags &= ~SHIFTS; + else + sc->sc_flags |= SHIFTS; + break; + case 0x38: /* alt */ + case 0x5d: /* altgr */ + if (release != 0) + sc->sc_flags &= ~ALTS; + else + sc->sc_flags |= ALTS; + break; + } + } + if (sc->sc_mode == K_RAW) { + key = keycode2scancode(key, sc->sc_flags, + release); + if (key & SCAN_PREFIX) { + if (key & SCAN_PREFIX_CTL) { + sc->sc_buffered_char[0] = + 0x1d | (key & SCAN_RELEASE); + sc->sc_buffered_char[1] = + key & ~SCAN_PREFIX; + } else if (key & SCAN_PREFIX_SHIFT) { + sc->sc_buffered_char[0] = + 0x2a | (key & SCAN_RELEASE); + sc->sc_buffered_char[1] = + key & ~SCAN_PREFIX_SHIFT; + } else { + sc->sc_buffered_char[0] = + key & ~SCAN_PREFIX; + sc->sc_buffered_char[1] = 0; + } + return ((key & SCAN_PREFIX_E0) ? + 0xe0 : 0xe1); + } return (key); + } + switch (key) { + case 0x5c: /* print screen */ + if (sc->sc_flags & ALTS) + key = 0x54; /* sysrq */ + break; + case 0x68: /* pause/break */ + if (sc->sc_flags & CTLS) + key = 0x6c; /* break */ + break; + } - action = genkbd_keyaction(kbd, key & 0x7f, key & 0x80, + if (sc->sc_mode == K_CODE) + return (key | release); +#else + if (sc->sc_mode == K_RAW || sc->sc_mode == K_CODE) + return (suncode); +#endif + +#if defined(SUNKBD_EMULATE_ATKBD) + if (key == 0x38) { /* left alt (KP compose key) */ +#else + if (key == 0x13) { /* left alt (KP compose key) */ +#endif + if (release != 0) { + if (sc->sc_flags & KPCOMPOSE) { + sc->sc_flags &= ~KPCOMPOSE; + if (sc->sc_composed_char > UCHAR_MAX) + sc->sc_composed_char = 0; + } + } else { + if (!(sc->sc_flags & KPCOMPOSE)) { + sc->sc_flags |= KPCOMPOSE; + sc->sc_composed_char = 0; + } + } + } + if (sc->sc_flags & KPCOMPOSE) { + switch (suncode) { + case 0x44: /* KP 7 */ + case 0x45: /* KP 8 */ + case 0x46: /* KP 9 */ + sc->sc_composed_char *= 10; + sc->sc_composed_char += suncode - 0x3d; + if (sc->sc_composed_char > UCHAR_MAX) + return (ERRKEY); + goto next_code; + case 0x5b: /* KP 4 */ + case 0x5c: /* KP 5 */ + case 0x5d: /* KP 6 */ + sc->sc_composed_char *= 10; + sc->sc_composed_char += suncode - 0x58; + if (sc->sc_composed_char > UCHAR_MAX) + return (ERRKEY); + goto next_code; + case 0x70: /* KP 1 */ + case 0x71: /* KP 2 */ + case 0x72: /* KP 3 */ + sc->sc_composed_char *= 10; + sc->sc_composed_char += suncode - 0x6f; + if (sc->sc_composed_char > UCHAR_MAX) + return (ERRKEY); + goto next_code; + case 0x5e: /* KP 0 */ + sc->sc_composed_char *= 10; + if (sc->sc_composed_char > UCHAR_MAX) + return (ERRKEY); + goto next_code; + + case 0x44 | SKBD_KEY_RELEASE: /* KP 7 */ + case 0x45 | SKBD_KEY_RELEASE: /* KP 8 */ + case 0x46 | SKBD_KEY_RELEASE: /* KP 9 */ + case 0x5b | SKBD_KEY_RELEASE: /* KP 4 */ + case 0x5c | SKBD_KEY_RELEASE: /* KP 5 */ + case 0x5d | SKBD_KEY_RELEASE: /* KP 6 */ + case 0x70 | SKBD_KEY_RELEASE: /* KP 1 */ + case 0x71 | SKBD_KEY_RELEASE: /* KP 2 */ + case 0x72 | SKBD_KEY_RELEASE: /* KP 3 */ + case 0x5e | SKBD_KEY_RELEASE: /* KP 0 */ + goto next_code; + default: + if (sc->sc_composed_char > 0) { + sc->sc_flags &= ~KPCOMPOSE; + sc->sc_composed_char = 0; + return (ERRKEY); + } + } + } + + key = genkbd_keyaction(kbd, key, release, &sc->sc_state, &sc->sc_accents); - if (action != NOKEY) - return (action); - break; + if (key != NOKEY || repeated) + return (key); } } return (0); @@ -417,15 +641,23 @@ static int sunkbd_check_char(keyboard_t *kbd) { - TODO; - return (0); + struct sunkbd_softc *sc; + + if (!KBD_IS_ACTIVE(kbd)) + return (FALSE); + + sc = (struct sunkbd_softc *)kbd; + if (!(sc->sc_flags & KPCOMPOSE) && (sc->sc_composed_char > 0)) + return (TRUE); + + return (sunkbd_check(kbd)); } static int sunkbd_ioctl(keyboard_t *kbd, u_long cmd, caddr_t data) { struct sunkbd_softc *sc; - int error; + int c, error; #if defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD5) int ival; #endif @@ -477,18 +709,19 @@ error = EINVAL; break; } - if (sc->sc_uart == NULL) + if (sc->sc_sysdev == NULL) break; - sc->sc_uart->sc_txdatasz = 2; - sc->sc_uart->sc_txbuf[0] = SKBD_CMD_SETLED; - sc->sc_uart->sc_txbuf[1] = 0; + c = 0; if (*(int *)data & CLKED) - sc->sc_uart->sc_txbuf[1] |= SKBD_LED_CAPSLOCK; + c |= SKBD_LED_CAPSLOCK; if (*(int *)data & NLKED) - sc->sc_uart->sc_txbuf[1] |= SKBD_LED_NUMLOCK; + c |= SKBD_LED_NUMLOCK; if (*(int *)data & SLKED) - sc->sc_uart->sc_txbuf[1] |= SKBD_LED_SCROLLLOCK; - UART_TRANSMIT(sc->sc_uart); + c |= SKBD_LED_SCROLLLOCK; + uart_lock(sc->sc_sysdev->hwmtx); + sc->sc_sysdev->ops.putc(&sc->sc_sysdev->bas, SKBD_CMD_SETLED); + sc->sc_sysdev->ops.putc(&sc->sc_sysdev->bas, c); + uart_unlock(sc->sc_sysdev->hwmtx); KBD_LED_VAL(kbd) = *(int *)data; break; case KDGKBSTATE: @@ -524,6 +757,7 @@ static int sunkbd_lock(keyboard_t *kbd, int lock) { + TODO; return (0); } @@ -531,12 +765,28 @@ static void sunkbd_clear_state(keyboard_t *kbd) { - /* TODO; */ + struct sunkbd_softc *sc; + + sc = (struct sunkbd_softc *)kbd; + sc->sc_checked_key = -1; + sc->sc_repeat_key = -1; + sc->sc_accents = 0; + sc->sc_composed_char = 0; + sc->sc_flags = 0; + sc->sc_polling = 0; + sc->sc_repeating = 0; + sc->sc_state &= LOCK_MASK; /* Preserve locking key state. */ + +#if defined(SUNKBD_EMULATE_ATKBD) + sc->sc_buffered_char[0] = 0; + sc->sc_buffered_char[1] = 0; +#endif } static int sunkbd_get_state(keyboard_t *kbd, void *buf, size_t len) { + TODO; return (0); } @@ -544,6 +794,7 @@ static int sunkbd_set_state(keyboard_t *kbd, void *buf, size_t len) { + TODO; return (0); } @@ -564,6 +815,7 @@ static void sunkbd_diag(keyboard_t *kbd, int level) { + TODO; } @@ -580,3 +832,45 @@ } } } + +#if defined(SUNKBD_EMULATE_ATKBD) +static int +keycode2scancode(int keycode, int shift, int up) +{ + static const int scan[] = { + /* KP enter, right ctrl, KP divide */ + 0x1c , 0x1d , 0x35 , + /* print screen */ + 0x37 | SCAN_PREFIX_SHIFT, + /* right alt, home, up, page up, left, right, end */ + 0x38, 0x47, 0x48, 0x49, 0x4b, 0x4d, 0x4f, + /* down, page down, insert, delete */ + 0x50, 0x51, 0x52, 0x53, + /* pause/break (see also below) */ + 0x46, + /* + * MS: left window, right window, menu + * also Sun: left meta, right meta, compose + */ + 0x5b, 0x5c, 0x5d, + /* Sun type 6 USB */ + /* help, stop, again, props, undo, front, copy */ + 0x68, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, + /* open, paste, find, cut, audiomute, audiolower, audioraise */ + 0x64, 0x65, 0x66, 0x67, 0x25, 0x1f, 0x1e, + /* power */ + 0x20 + }; + int scancode; + + scancode = keycode; + if ((keycode >= 89) && (keycode < 89 + sizeof(scan) / sizeof(scan[0]))) + scancode = scan[keycode - 89] | SCAN_PREFIX_E0; + /* pause/break */ + if ((keycode == 104) && !(shift & CTLS)) + scancode = 0x45 | SCAN_PREFIX_E1 | SCAN_PREFIX_CTL; + if (shift & SHIFTS) + scancode &= ~SCAN_PREFIX_SHIFT; + return (scancode | (up ? SCAN_RELEASE : SCAN_PRESS)); +} +#endif ==== //depot/projects/ia64/sys/dev/uart/uart_kbd_sun.h#3 (text+ko) ==== @@ -32,7 +32,7 @@ * Agency (DARPA) and Air Force Research Laboratory, Air Force * Materiel Command, USAF, under agreement number F30602-01-2-0537. * - * $FreeBSD: src/sys/dev/uart/uart_kbd_sun.h,v 1.2 2005/01/06 01:43:26 imp Exp $ + * $FreeBSD: src/sys/dev/uart/uart_kbd_sun.h,v 1.3 2006/11/02 00:01:15 marius Exp $ */ /* keyboard commands (host->kbd) */ @@ -63,3 +63,6 @@ #define KB_SUN2 2 /* type 2 keyboard */ #define KB_SUN3 3 /* type 3 keyboard */ #define KB_SUN4 4 /* type 4/5/6 keyboard */ + +#define SKBD_KEY_RELEASE 0x80 +#define SKBD_KEY_CHAR(c) ((c) & 0x7f) ==== //depot/projects/ia64/sys/geom/mirror/g_mirror.c#23 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/mirror/g_mirror.c,v 1.91 2006/10/31 21:23:50 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/mirror/g_mirror.c,v 1.92 2006/11/01 22:51:49 pjd Exp $"); #include #include @@ -802,6 +802,8 @@ if (sc->sc_provider == NULL) return (0); + if ((sc->sc_flags & G_MIRROR_DEVICE_FLAG_NOFAILSYNC) != 0) + return (0); if (sc->sc_idle) return (0); if (sc->sc_writes > 0) @@ -831,6 +833,8 @@ g_topology_assert_not(); sx_assert(&sc->sc_lock, SX_XLOCKED); + if ((sc->sc_flags & G_MIRROR_DEVICE_FLAG_NOFAILSYNC) != 0) + return; sc->sc_idle = 0; sc->sc_last_write = time_uptime; LIST_FOREACH(disk, &sc->sc_disks, d_next) { @@ -1884,6 +1888,8 @@ sx_assert(&sc->sc_lock, SX_LOCKED); + if ((sc->sc_flags & G_MIRROR_DEVICE_FLAG_NOFAILSYNC) != 0) + return; if (!sc->sc_idle && (disk->d_flags & G_MIRROR_DISK_FLAG_DIRTY) == 0) { G_MIRROR_DEBUG(1, "Disk %s (device %s) marked as dirty.", g_mirror_get_diskname(disk), sc->sc_name); @@ -1928,7 +1934,8 @@ G_MIRROR_DEBUG(0, "Device %s: rebuilding provider %s.", sc->sc_name, g_mirror_get_diskname(disk)); - disk->d_flags |= G_MIRROR_DISK_FLAG_DIRTY; + if ((sc->sc_flags & G_MIRROR_DEVICE_FLAG_NOFAILSYNC) == 0) + disk->d_flags |= G_MIRROR_DISK_FLAG_DIRTY; KASSERT(disk->d_sync.ds_consumer == NULL, ("Sync consumer already exists (device=%s, disk=%s).", sc->sc_name, g_mirror_get_diskname(disk))); @@ -3180,6 +3187,7 @@ sbuf_printf(sb, name); \ } \ } while (0) + ADD_FLAG(G_MIRROR_DEVICE_FLAG_NOFAILSYNC, "NOFAILSYNC"); ADD_FLAG(G_MIRROR_DEVICE_FLAG_NOAUTOSYNC, "NOAUTOSYNC"); #undef ADD_FLAG } ==== //depot/projects/ia64/sys/geom/mirror/g_mirror.h#10 (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/geom/mirror/g_mirror.h,v 1.23 2006/04/10 10:32:21 pjd Exp $ + * $FreeBSD: src/sys/geom/mirror/g_mirror.h,v 1.24 2006/11/01 22:51:49 pjd Exp $ */ #ifndef _G_MIRROR_H_ @@ -41,8 +41,9 @@ * 1 - Added 'prefer' balance algorithm. * 2 - Added md_genid field to metadata. * 3 - Added md_provsize field to metadata. + * 4 - Added 'no failure synchronization' flag. */ -#define G_MIRROR_VERSION 3 +#define G_MIRROR_VERSION 4 #define G_MIRROR_BALANCE_NONE 0 >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Nov 2 01:31:27 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 531CB16A47C; Thu, 2 Nov 2006 01:31:27 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 F31CA16A403 for ; Thu, 2 Nov 2006 01:31:26 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8251343D4C for ; Thu, 2 Nov 2006 01:31:26 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA21VQKZ007749 for ; Thu, 2 Nov 2006 01:31:26 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA21VONW007739 for perforce@freebsd.org; Thu, 2 Nov 2006 01:31:24 GMT (envelope-from marcel@freebsd.org) Date: Thu, 2 Nov 2006 01:31:24 GMT Message-Id: <200611020131.kA21VONW007739@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 Cc: Subject: PERFORCE change 108994 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 01:31:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=108994 Change 108994 by marcel@marcel_cluster on 2006/11/02 01:31:07 IFC @108992 Affected files ... .. //depot/projects/ia64/sys/boot/common/bootstrap.h#10 integrate .. //depot/projects/ia64/sys/boot/efi/libefi/efifs.c#16 integrate .. //depot/projects/ia64/sys/boot/i386/libi386/bioscd.c#9 integrate .. //depot/projects/ia64/sys/boot/i386/libi386/biosdisk.c#14 integrate .. //depot/projects/ia64/sys/boot/i386/libi386/bootinfo32.c#4 integrate .. //depot/projects/ia64/sys/boot/i386/libi386/devicename.c#6 integrate .. //depot/projects/ia64/sys/boot/i386/libi386/libi386.h#14 integrate .. //depot/projects/ia64/sys/boot/i386/loader/main.c#14 integrate .. //depot/projects/ia64/sys/boot/ia64/efi/main.c#7 integrate .. //depot/projects/ia64/sys/boot/ia64/ski/libski.h#3 integrate .. //depot/projects/ia64/sys/boot/ia64/ski/main.c#4 integrate .. //depot/projects/ia64/sys/boot/ofw/libofw/libofw.h#9 integrate .. //depot/projects/ia64/sys/boot/pc98/libpc98/bioscd.c#3 integrate .. //depot/projects/ia64/sys/boot/pc98/libpc98/biosdisk.c#13 integrate .. //depot/projects/ia64/sys/boot/pc98/loader/main.c#12 integrate .. //depot/projects/ia64/sys/cam/cam_ccb.h#10 integrate .. //depot/projects/ia64/sys/cam/cam_xpt.c#33 integrate .. //depot/projects/ia64/sys/cam/scsi/scsi_low.c#17 integrate .. //depot/projects/ia64/sys/conf/NOTES#108 integrate .. //depot/projects/ia64/sys/conf/options#99 integrate .. //depot/projects/ia64/sys/dev/aac/aac_cam.c#21 integrate .. //depot/projects/ia64/sys/dev/advansys/advansys.c#13 integrate .. //depot/projects/ia64/sys/dev/advansys/advlib.c#9 integrate .. //depot/projects/ia64/sys/dev/advansys/adwcam.c#14 integrate .. //depot/projects/ia64/sys/dev/aha/aha.c#16 integrate .. //depot/projects/ia64/sys/dev/ahb/ahb.c#15 integrate .. //depot/projects/ia64/sys/dev/aic/aic.c#12 integrate .. //depot/projects/ia64/sys/dev/aic7xxx/aic79xx_osm.c#21 integrate .. //depot/projects/ia64/sys/dev/aic7xxx/aic79xx_osm.h#18 integrate .. //depot/projects/ia64/sys/dev/aic7xxx/aic7xxx_osm.c#20 integrate .. //depot/projects/ia64/sys/dev/aic7xxx/aic7xxx_osm.h#20 integrate .. //depot/projects/ia64/sys/dev/amd/amd.c#17 integrate .. //depot/projects/ia64/sys/dev/amr/amr_cam.c#17 integrate .. //depot/projects/ia64/sys/dev/arcmsr/arcmsr.c#8 integrate .. //depot/projects/ia64/sys/dev/asr/asr.c#33 integrate .. //depot/projects/ia64/sys/dev/ata/atapi-cam.c#31 integrate .. //depot/projects/ia64/sys/dev/buslogic/bt.c#16 integrate .. //depot/projects/ia64/sys/dev/ciss/ciss.c#47 integrate .. //depot/projects/ia64/sys/dev/dpt/dpt_scsi.c#19 integrate .. //depot/projects/ia64/sys/dev/esp/ncr53c9x.c#9 integrate .. //depot/projects/ia64/sys/dev/firewire/sbp.c#54 integrate .. //depot/projects/ia64/sys/dev/iir/iir.c#17 integrate .. //depot/projects/ia64/sys/dev/isp/isp_freebsd.c#33 integrate .. //depot/projects/ia64/sys/dev/mly/mly.c#26 integrate .. //depot/projects/ia64/sys/dev/mpt/mpt_cam.c#10 integrate .. //depot/projects/ia64/sys/dev/sym/sym_hipd.c#26 integrate .. //depot/projects/ia64/sys/dev/trm/trm.c#27 integrate .. //depot/projects/ia64/sys/dev/twa/tw_osl_cam.c#7 integrate .. //depot/projects/ia64/sys/dev/usb/umass.c#52 integrate .. //depot/projects/ia64/sys/geom/journal/g_journal.c#2 integrate .. //depot/projects/ia64/sys/net/bridgestp.c#8 integrate .. //depot/projects/ia64/sys/pci/ncr.c#24 integrate Differences ... ==== //depot/projects/ia64/sys/boot/common/bootstrap.h#10 (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/boot/common/bootstrap.h,v 1.42 2005/12/18 04:52:35 marcel Exp $ + * $FreeBSD: src/sys/boot/common/bootstrap.h,v 1.43 2006/11/02 01:23:17 marcel Exp $ */ #include ==== //depot/projects/ia64/sys/boot/efi/libefi/efifs.c#16 (text+ko) ==== ==== //depot/projects/ia64/sys/boot/i386/libi386/bioscd.c#9 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/bioscd.c,v 1.8 2005/05/20 13:14:18 charnier Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/bioscd.c,v 1.9 2006/11/02 01:23:17 marcel Exp $"); /* * BIOS CD device handling for CD's that have been booted off of via no ==== //depot/projects/ia64/sys/boot/i386/libi386/biosdisk.c#14 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biosdisk.c,v 1.47 2006/05/31 09:05:49 iedowse Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biosdisk.c,v 1.48 2006/11/02 01:23:17 marcel Exp $"); /* * BIOS disk device handling. ==== //depot/projects/ia64/sys/boot/i386/libi386/bootinfo32.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/bootinfo32.c,v 1.36 2003/08/25 23:28:31 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/bootinfo32.c,v 1.37 2006/11/02 01:23:17 marcel Exp $"); #include #include ==== //depot/projects/ia64/sys/boot/i386/libi386/devicename.c#6 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/devicename.c,v 1.7 2005/05/27 19:28:04 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/devicename.c,v 1.8 2006/11/02 01:23:17 marcel Exp $"); #include #include ==== //depot/projects/ia64/sys/boot/i386/libi386/libi386.h#14 (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/boot/i386/libi386/libi386.h,v 1.26 2006/09/29 20:27:41 ru Exp $ + * $FreeBSD: src/sys/boot/i386/libi386/libi386.h,v 1.27 2006/11/02 01:23:17 marcel Exp $ */ ==== //depot/projects/ia64/sys/boot/i386/loader/main.c#14 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/loader/main.c,v 1.37 2006/08/04 07:56:32 yar Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/loader/main.c,v 1.38 2006/11/02 01:23:18 marcel Exp $"); /* * MD bootstrap main() and assorted miscellaneous ==== //depot/projects/ia64/sys/boot/ia64/efi/main.c#7 (text+ko) ==== ==== //depot/projects/ia64/sys/boot/ia64/ski/libski.h#3 (text+ko) ==== ==== //depot/projects/ia64/sys/boot/ia64/ski/main.c#4 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ia64/ski/main.c,v 1.7 2006/11/02 00:26:45 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/ia64/ski/main.c,v 1.8 2006/11/02 01:23:18 marcel Exp $"); #include #include ==== //depot/projects/ia64/sys/boot/ofw/libofw/libofw.h#9 (text+ko) ==== @@ -22,7 +22,7 @@ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/boot/ofw/libofw/libofw.h,v 1.11 2005/10/20 11:14:34 marius Exp $ + * $FreeBSD: src/sys/boot/ofw/libofw/libofw.h,v 1.12 2006/11/02 01:23:18 marcel Exp $ */ #include "openfirm.h" ==== //depot/projects/ia64/sys/boot/pc98/libpc98/bioscd.c#3 (text) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/pc98/libpc98/bioscd.c,v 1.1 2006/05/14 07:26:02 nyan Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/pc98/libpc98/bioscd.c,v 1.2 2006/11/02 01:23:18 marcel Exp $"); /* * BIOS CD device handling for CD's that have been booted off of via no ==== //depot/projects/ia64/sys/boot/pc98/libpc98/biosdisk.c#13 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/pc98/libpc98/biosdisk.c,v 1.33 2005/12/21 06:09:09 nyan Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/pc98/libpc98/biosdisk.c,v 1.34 2006/11/02 01:23:18 marcel Exp $"); /* * BIOS disk device handling. ==== //depot/projects/ia64/sys/boot/pc98/loader/main.c#12 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/pc98/loader/main.c,v 1.23 2006/08/04 07:56:32 yar Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/pc98/loader/main.c,v 1.24 2006/11/02 01:23:18 marcel Exp $"); /* * MD bootstrap main() and assorted miscellaneous ==== //depot/projects/ia64/sys/cam/cam_ccb.h#10 (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/cam/cam_ccb.h,v 1.32 2006/06/05 22:22:14 mjacob Exp $ + * $FreeBSD: src/sys/cam/cam_ccb.h,v 1.33 2006/11/02 00:54:32 mjacob Exp $ */ #ifndef _CAM_CAM_CCB_H @@ -34,9 +34,7 @@ #include #include #include -#ifdef CAM_NEW_TRAN_CODE #include -#endif /* CAM_NEW_TRAN_CODE */ #ifndef _KERNEL #include #endif @@ -209,7 +207,6 @@ #define XPT_FC_IS_QUEUED(ccb) \ (((ccb)->ccb_h.func_code & XPT_FC_QUEUED) != 0) -#ifdef CAM_NEW_TRAN_CODE typedef enum { PROTO_UNKNOWN, PROTO_UNSPECIFIED, @@ -234,7 +231,6 @@ #define PROTO_VERSION_UNSPECIFIED UINT_MAX #define XPORT_VERSION_UNKNOWN (UINT_MAX - 1) #define XPORT_VERSION_UNSPECIFIED UINT_MAX -#endif /* CAM_NEW_TRAN_CODE */ typedef union { LIST_ENTRY(ccb_hdr) le; @@ -518,7 +514,6 @@ PIM_SEQSCAN = 0x04 /* Do bus scans sequentially, not in parallel */ } pi_miscflag; -#ifdef CAM_NEW_TRAN_CODE /* Path Inquiry CCB */ struct ccb_pathinq_settings_spi { u_int8_t ppr_options; @@ -533,7 +528,6 @@ u_int32_t bitrate; /* Mbps */ }; #define PATHINQ_SETTINGS_SIZE 128 -#endif /* CAM_NEW_TRAN_CODE */ struct ccb_pathinq { struct ccb_hdr ccb_h; @@ -555,7 +549,6 @@ u_int32_t unit_number; /* Unit number for SIM */ u_int32_t bus_id; /* Bus ID for SIM */ u_int32_t base_transfer_speed;/* Base bus speed in KB/sec */ -#ifdef CAM_NEW_TRAN_CODE cam_proto protocol; u_int protocol_version; cam_xport transport; @@ -566,7 +559,6 @@ struct ccb_pathinq_settings_sas sas; char ccb_pathinq_settings_opaque[PATHINQ_SETTINGS_SIZE]; } xport_specific; -#endif /* CAM_NEW_TRAN_CODE */ }; /* Path Statistics CCB */ @@ -704,27 +696,6 @@ union ccb *termio_ccb; /* Pointer to CCB to terminate */ }; -#ifndef CAM_NEW_TRAN_CODE -/* Get/Set transfer rate/width/disconnection/tag queueing settings */ -struct ccb_trans_settings { - struct ccb_hdr ccb_h; - u_int valid; /* Which fields to honor */ -#define CCB_TRANS_SYNC_RATE_VALID 0x01 -#define CCB_TRANS_SYNC_OFFSET_VALID 0x02 -#define CCB_TRANS_BUS_WIDTH_VALID 0x04 -#define CCB_TRANS_DISC_VALID 0x08 -#define CCB_TRANS_TQ_VALID 0x10 - u_int flags; -#define CCB_TRANS_CURRENT_SETTINGS 0x01 -#define CCB_TRANS_USER_SETTINGS 0x02 -#define CCB_TRANS_DISC_ENB 0x04 -#define CCB_TRANS_TAG_ENB 0x08 - u_int sync_period; - u_int sync_offset; - u_int bus_width; -}; - -#else /* CAM_NEW_TRAN_CODE */ typedef enum { CTS_TYPE_CURRENT_SETTINGS, CTS_TYPE_USER_SETTINGS @@ -794,7 +765,6 @@ } xport_specific; }; -#endif /* CAM_NEW_TRAN_CODE */ /* * Calculate the geometry parameters for a device ==== //depot/projects/ia64/sys/cam/cam_xpt.c#33 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.165 2006/09/16 17:35:47 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.166 2006/11/02 00:54:33 mjacob Exp $"); #include #include @@ -127,12 +127,10 @@ struct cam_periph *owner; /* Peripheral driver's ownership tag */ struct xpt_quirk_entry *quirk; /* Oddities about this device */ /* Storage for the inquiry data */ -#ifdef CAM_NEW_TRAN_CODE cam_proto protocol; u_int protocol_version; cam_xport transport; u_int transport_version; -#endif /* CAM_NEW_TRAN_CODE */ struct scsi_inquiry_data inq_data; u_int8_t inq_flags; /* * Current settings for inquiry flags. @@ -876,9 +874,7 @@ static void probedone(struct cam_periph *periph, union ccb *done_ccb); static void probecleanup(struct cam_periph *periph); static void xpt_find_quirk(struct cam_ed *device); -#ifdef CAM_NEW_TRAN_CODE static void xpt_devise_transport(struct cam_path *path); -#endif /* CAM_NEW_TRAN_CODE */ static void xpt_set_transfer_settings(struct ccb_trans_settings *cts, struct cam_ed *device, int async_update); @@ -1573,7 +1569,6 @@ } -#ifdef CAM_NEW_TRAN_CODE void xpt_announce_periph(struct cam_periph *periph, char *announce_string) @@ -1708,113 +1703,6 @@ periph->unit_number, announce_string); splx(s); } -#else /* CAM_NEW_TRAN_CODE */ -void -xpt_announce_periph(struct cam_periph *periph, char *announce_string) -{ - int s; - u_int mb; - struct cam_path *path; - struct ccb_trans_settings cts; - - GIANT_REQUIRED; - - path = periph->path; - /* - * To ensure that this is printed in one piece, - * mask out CAM interrupts. - */ - s = splsoftcam(); - printf("%s%d at %s%d bus %d target %d lun %d\n", - periph->periph_name, periph->unit_number, - path->bus->sim->sim_name, - path->bus->sim->unit_number, - path->bus->sim->bus_id, - path->target->target_id, - path->device->lun_id); - printf("%s%d: ", periph->periph_name, periph->unit_number); - scsi_print_inquiry(&path->device->inq_data); - if ((bootverbose) - && (path->device->serial_num_len > 0)) { - /* Don't wrap the screen - print only the first 60 chars */ - printf("%s%d: Serial Number %.60s\n", periph->periph_name, - periph->unit_number, path->device->serial_num); - } - xpt_setup_ccb(&cts.ccb_h, path, /*priority*/1); - cts.ccb_h.func_code = XPT_GET_TRAN_SETTINGS; - cts.flags = CCB_TRANS_CURRENT_SETTINGS; - xpt_action((union ccb*)&cts); - if (cts.ccb_h.status == CAM_REQ_CMP) { - u_int speed; - u_int freq; - - if ((cts.valid & CCB_TRANS_SYNC_OFFSET_VALID) != 0 - && cts.sync_offset != 0) { - freq = scsi_calc_syncsrate(cts.sync_period); - speed = freq; - } else { - struct ccb_pathinq cpi; - - /* Ask the SIM for its base transfer speed */ - xpt_setup_ccb(&cpi.ccb_h, path, /*priority*/1); - cpi.ccb_h.func_code = XPT_PATH_INQ; - xpt_action((union ccb *)&cpi); - - speed = cpi.base_transfer_speed; - freq = 0; - } - if ((cts.valid & CCB_TRANS_BUS_WIDTH_VALID) != 0) - speed *= (0x01 << cts.bus_width); - mb = speed / 1000; - if (mb > 0) - printf("%s%d: %d.%03dMB/s transfers", - periph->periph_name, periph->unit_number, - mb, speed % 1000); - else - printf("%s%d: %dKB/s transfers", periph->periph_name, - periph->unit_number, speed); - if ((cts.valid & CCB_TRANS_SYNC_OFFSET_VALID) != 0 - && cts.sync_offset != 0) { - printf(" (%d.%03dMHz, offset %d", freq / 1000, - freq % 1000, cts.sync_offset); - } - if ((cts.valid & CCB_TRANS_BUS_WIDTH_VALID) != 0 - && cts.bus_width > 0) { - if ((cts.valid & CCB_TRANS_SYNC_OFFSET_VALID) != 0 - && cts.sync_offset != 0) { - printf(", "); - } else { - printf(" ("); - } - printf("%dbit)", 8 * (0x01 << cts.bus_width)); - } else if ((cts.valid & CCB_TRANS_SYNC_OFFSET_VALID) != 0 - && cts.sync_offset != 0) { - printf(")"); - } - - if (path->device->inq_flags & SID_CmdQue - || path->device->flags & CAM_DEV_TAG_AFTER_COUNT) { - printf(", Tagged Queueing Enabled"); - } - - printf("\n"); - } else if (path->device->inq_flags & SID_CmdQue - || path->device->flags & CAM_DEV_TAG_AFTER_COUNT) { - printf("%s%d: Tagged Queueing Enabled\n", - periph->periph_name, periph->unit_number); - } - - /* - * We only want to print the caller's announce string if they've - * passed one in.. - */ - if (announce_string != NULL) - printf("%s%d: %s\n", periph->periph_name, - periph->unit_number, announce_string); - splx(s); -} - -#endif /* CAM_NEW_TRAN_CODE */ static dev_match_ret xptbusmatch(struct dev_match_pattern *patterns, u_int num_patterns, @@ -3028,9 +2916,7 @@ switch (start_ccb->ccb_h.func_code) { case XPT_SCSI_IO: { -#ifdef CAM_NEW_TRAN_CODE struct cam_ed *device; -#endif /* CAM_NEW_TRAN_CODE */ #ifdef CAMDEBUG char cdb_str[(SCSI_MAX_CDBLEN * 3) + 1]; struct cam_path *path; @@ -3054,12 +2940,8 @@ * This means that this code will be exercised while probing * devices with an ANSI revision greater than 2. */ -#ifdef CAM_NEW_TRAN_CODE device = start_ccb->ccb_h.path->device; if (device->protocol_version <= SCSI_REV_2 -#else /* CAM_NEW_TRAN_CODE */ - if (SID_ANSI_REV(&start_ccb->ccb_h.path->device->inq_data) <= 2 -#endif /* CAM_NEW_TRAN_CODE */ && start_ccb->ccb_h.target_lun < 8 && (start_ccb->ccb_h.flags & CAM_CDB_POINTER) == 0) { @@ -5112,9 +4994,7 @@ static struct cam_ed * xpt_alloc_device(struct cam_eb *bus, struct cam_et *target, lun_id_t lun_id) { -#ifdef CAM_NEW_TRAN_CODE struct cam_path path; -#endif /* CAM_NEW_TRAN_CODE */ struct cam_ed *device; struct cam_devq *devq; cam_status status; @@ -5195,7 +5075,6 @@ TAILQ_INSERT_TAIL(&target->ed_entries, device, links); } target->generation++; -#ifdef CAM_NEW_TRAN_CODE if (lun_id != CAM_LUN_WILDCARD) { xpt_compile_path(&path, NULL, @@ -5205,7 +5084,6 @@ xpt_devise_transport(&path); xpt_release_path(&path); } -#endif /* CAM_NEW_TRAN_CODE */ } return (device); } @@ -5955,19 +5833,10 @@ xpt_setup_ccb(&cts.ccb_h, periph->path, /*priority*/1); cts.ccb_h.func_code = XPT_GET_TRAN_SETTINGS; -#ifdef CAM_NEW_TRAN_CODE cts.type = CTS_TYPE_USER_SETTINGS; -#else /* CAM_NEW_TRAN_CODE */ - cts.flags = CCB_TRANS_USER_SETTINGS; -#endif /* CAM_NEW_TRAN_CODE */ xpt_action((union ccb *)&cts); cts.ccb_h.func_code = XPT_SET_TRAN_SETTINGS; -#ifdef CAM_NEW_TRAN_CODE cts.type = CTS_TYPE_CURRENT_SETTINGS; -#else /* CAM_NEW_TRAN_CODE */ - cts.flags &= ~CCB_TRANS_USER_SETTINGS; - cts.flags |= CCB_TRANS_CURRENT_SETTINGS; -#endif /* CAM_NEW_TRAN_CODE */ xpt_action((union ccb *)&cts); } @@ -6043,9 +5912,7 @@ xpt_find_quirk(path->device); -#ifdef CAM_NEW_TRAN_CODE xpt_devise_transport(path); -#endif /* CAM_NEW_TRAN_CODE */ if (INQ_DATA_TQ_ENABLED(inq_buf)) softc->action = PROBE_MODE_SENSE; else @@ -6298,7 +6165,6 @@ } } -#ifdef CAM_NEW_TRAN_CODE static void xpt_devise_transport(struct cam_path *path) @@ -6668,196 +6534,8 @@ (*(sim->sim_action))(sim, (union ccb *)cts); } -#else /* CAM_NEW_TRAN_CODE */ static void -xpt_set_transfer_settings(struct ccb_trans_settings *cts, struct cam_ed *device, - int async_update) -{ - struct cam_sim *sim; - int qfrozen; - - sim = cts->ccb_h.path->bus->sim; - if (async_update == FALSE) { - struct scsi_inquiry_data *inq_data; - struct ccb_pathinq cpi; - struct ccb_trans_settings cur_cts; - - if (device == NULL) { - cts->ccb_h.status = CAM_PATH_INVALID; - xpt_done((union ccb *)cts); - return; - } - - /* - * Perform sanity checking against what the - * controller and device can do. - */ - xpt_setup_ccb(&cpi.ccb_h, cts->ccb_h.path, /*priority*/1); - cpi.ccb_h.func_code = XPT_PATH_INQ; - xpt_action((union ccb *)&cpi); - xpt_setup_ccb(&cur_cts.ccb_h, cts->ccb_h.path, /*priority*/1); - cur_cts.ccb_h.func_code = XPT_GET_TRAN_SETTINGS; - cur_cts.flags = CCB_TRANS_CURRENT_SETTINGS; - xpt_action((union ccb *)&cur_cts); - inq_data = &device->inq_data; - - /* Fill in any gaps in what the user gave us */ - if ((cts->valid & CCB_TRANS_SYNC_RATE_VALID) == 0) - cts->sync_period = cur_cts.sync_period; - if ((cts->valid & CCB_TRANS_SYNC_OFFSET_VALID) == 0) - cts->sync_offset = cur_cts.sync_offset; - if ((cts->valid & CCB_TRANS_BUS_WIDTH_VALID) == 0) - cts->bus_width = cur_cts.bus_width; - if ((cts->valid & CCB_TRANS_DISC_VALID) == 0) { - cts->flags &= ~CCB_TRANS_DISC_ENB; - cts->flags |= cur_cts.flags & CCB_TRANS_DISC_ENB; - } - if ((cts->valid & CCB_TRANS_TQ_VALID) == 0) { - cts->flags &= ~CCB_TRANS_TAG_ENB; - cts->flags |= cur_cts.flags & CCB_TRANS_TAG_ENB; - } - - if (((device->flags & CAM_DEV_INQUIRY_DATA_VALID) != 0 - && (inq_data->flags & SID_Sync) == 0) - || ((cpi.hba_inquiry & PI_SDTR_ABLE) == 0) - || (cts->sync_offset == 0) - || (cts->sync_period == 0)) { - /* Force async */ - cts->sync_period = 0; - cts->sync_offset = 0; - } else if ((device->flags & CAM_DEV_INQUIRY_DATA_VALID) != 0 - && (inq_data->spi3data & SID_SPI_CLOCK_DT) == 0 - && cts->sync_period <= 0x9) { - /* - * Don't allow DT transmission rates if the - * device does not support it. - */ - cts->sync_period = 0xa; - } - - switch (cts->bus_width) { - case MSG_EXT_WDTR_BUS_32_BIT: - if (((device->flags & CAM_DEV_INQUIRY_DATA_VALID) == 0 - || (inq_data->flags & SID_WBus32) != 0) - && (cpi.hba_inquiry & PI_WIDE_32) != 0) - break; - /* FALLTHROUGH to 16-bit */ - case MSG_EXT_WDTR_BUS_16_BIT: - if (((device->flags & CAM_DEV_INQUIRY_DATA_VALID) == 0 - || (inq_data->flags & SID_WBus16) != 0) - && (cpi.hba_inquiry & PI_WIDE_16) != 0) { - cts->bus_width = MSG_EXT_WDTR_BUS_16_BIT; - break; - } - /* FALLTHROUGH to 8-bit */ - default: /* New bus width?? */ - case MSG_EXT_WDTR_BUS_8_BIT: - /* All targets can do this */ - cts->bus_width = MSG_EXT_WDTR_BUS_8_BIT; - break; - } - - if ((cts->flags & CCB_TRANS_DISC_ENB) == 0) { - /* - * Can't tag queue without disconnection. - */ - cts->flags &= ~CCB_TRANS_TAG_ENB; - cts->valid |= CCB_TRANS_TQ_VALID; - } - - if ((cpi.hba_inquiry & PI_TAG_ABLE) == 0 - || (INQ_DATA_TQ_ENABLED(inq_data)) == 0 - || (device->queue_flags & SCP_QUEUE_DQUE) != 0 - || (device->quirk->mintags == 0)) { - /* - * Can't tag on hardware that doesn't support, - * doesn't have it enabled, or has broken tag support. - */ - cts->flags &= ~CCB_TRANS_TAG_ENB; - } - } - - qfrozen = FALSE; - if ((cts->valid & CCB_TRANS_TQ_VALID) != 0) { - int device_tagenb; - - /* - * If we are transitioning from tags to no-tags or - * vice-versa, we need to carefully freeze and restart - * the queue so that we don't overlap tagged and non-tagged - * commands. We also temporarily stop tags if there is - * a change in transfer negotiation settings to allow - * "tag-less" negotiation. - */ - if ((device->flags & CAM_DEV_TAG_AFTER_COUNT) != 0 - || (device->inq_flags & SID_CmdQue) != 0) - device_tagenb = TRUE; - else - device_tagenb = FALSE; - - if (((cts->flags & CCB_TRANS_TAG_ENB) != 0 - && device_tagenb == FALSE) - || ((cts->flags & CCB_TRANS_TAG_ENB) == 0 - && device_tagenb == TRUE)) { - - if ((cts->flags & CCB_TRANS_TAG_ENB) != 0) { - /* - * Delay change to use tags until after a - * few commands have gone to this device so - * the controller has time to perform transfer - * negotiations without tagged messages getting - * in the way. - */ - device->tag_delay_count = CAM_TAG_DELAY_COUNT; - device->flags |= CAM_DEV_TAG_AFTER_COUNT; - } else { - xpt_freeze_devq(cts->ccb_h.path, /*count*/1); - qfrozen = TRUE; - device->inq_flags &= ~SID_CmdQue; - xpt_dev_ccbq_resize(cts->ccb_h.path, - sim->max_dev_openings); - device->flags &= ~CAM_DEV_TAG_AFTER_COUNT; - device->tag_delay_count = 0; - } - } - } - - if (async_update == FALSE) { - /* - * If we are currently performing tagged transactions to - * this device and want to change its negotiation parameters, - * go non-tagged for a bit to give the controller a chance to - * negotiate unhampered by tag messages. - */ - if ((device->inq_flags & SID_CmdQue) != 0 - && (cts->flags & (CCB_TRANS_SYNC_RATE_VALID| - CCB_TRANS_SYNC_OFFSET_VALID| - CCB_TRANS_BUS_WIDTH_VALID)) != 0) - xpt_toggle_tags(cts->ccb_h.path); - - (*(sim->sim_action))(sim, (union ccb *)cts); - } - - if (qfrozen) { - struct ccb_relsim crs; - - xpt_setup_ccb(&crs.ccb_h, cts->ccb_h.path, - /*priority*/1); - crs.ccb_h.func_code = XPT_REL_SIMQ; - crs.release_flags = RELSIM_RELEASE_AFTER_QEMPTY; - crs.openings - = crs.release_timeout - = crs.qfrozen_cnt - = 0; - xpt_action((union ccb *)&crs); - } -} - - -#endif /* CAM_NEW_TRAN_CODE */ - -static void xpt_toggle_tags(struct cam_path *path) { struct cam_ed *dev; @@ -6876,24 +6554,15 @@ struct ccb_trans_settings cts; xpt_setup_ccb(&cts.ccb_h, path, 1); -#ifdef CAM_NEW_TRAN_CODE cts.protocol = PROTO_SCSI; cts.protocol_version = PROTO_VERSION_UNSPECIFIED; cts.transport = XPORT_UNSPECIFIED; cts.transport_version = XPORT_VERSION_UNSPECIFIED; cts.proto_specific.scsi.flags = 0; cts.proto_specific.scsi.valid = CTS_SCSI_VALID_TQ; -#else /* CAM_NEW_TRAN_CODE */ - cts.flags = 0; - cts.valid = CCB_TRANS_TQ_VALID; -#endif /* CAM_NEW_TRAN_CODE */ xpt_set_transfer_settings(&cts, path->device, /*async_update*/TRUE); -#ifdef CAM_NEW_TRAN_CODE cts.proto_specific.scsi.flags = CTS_SCSI_FLAGS_TAG_ENB; -#else /* CAM_NEW_TRAN_CODE */ - cts.flags = CCB_TRANS_TAG_ENB; -#endif /* CAM_NEW_TRAN_CODE */ xpt_set_transfer_settings(&cts, path->device, /*async_update*/TRUE); } @@ -7157,12 +6826,10 @@ cpi->unit_number = sim->unit_number; cpi->bus_id = sim->bus_id; cpi->base_transfer_speed = 0; -#ifdef CAM_NEW_TRAN_CODE cpi->protocol = PROTO_UNSPECIFIED; cpi->protocol_version = PROTO_VERSION_UNSPECIFIED; cpi->transport = XPORT_UNSPECIFIED; cpi->transport_version = XPORT_VERSION_UNSPECIFIED; -#endif /* CAM_NEW_TRAN_CODE */ cpi->ccb_h.status = CAM_REQ_CMP; xpt_done(work_ccb); break; ==== //depot/projects/ia64/sys/cam/scsi/scsi_low.c#17 (text+ko) ==== @@ -2,7 +2,7 @@ /* $NetBSD$ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_low.c,v 1.25 2006/10/31 05:53:24 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_low.c,v 1.26 2006/11/02 00:54:33 mjacob Exp $"); #define SCSI_LOW_STATICS #define SCSI_LOW_DEBUG @@ -1084,10 +1084,8 @@ break; case XPT_SET_TRAN_SETTINGS: { -#ifdef CAM_NEW_TRAN_CODE struct ccb_trans_settings_scsi *scsi; struct ccb_trans_settings_spi *spi; -#endif struct ccb_trans_settings *cts; u_int val; @@ -1106,57 +1104,6 @@ lun = 0; s = SCSI_LOW_SPLSCSI(); -#ifndef CAM_NEW_TRAN_CODE - if ((cts->valid & (CCB_TRANS_BUS_WIDTH_VALID | - CCB_TRANS_SYNC_RATE_VALID | - CCB_TRANS_SYNC_OFFSET_VALID)) != 0) - { - if ((cts->valid & CCB_TRANS_BUS_WIDTH_VALID) != 0) { - val = cts->bus_width; - if (val < ti->ti_width) - ti->ti_width = val; - } - if ((cts->valid & CCB_TRANS_SYNC_RATE_VALID) != 0) { - val = cts->sync_period; - if (val == 0 || val > ti->ti_maxsynch.period) - ti->ti_maxsynch.period = val; - } - if ((cts->valid & CCB_TRANS_SYNC_OFFSET_VALID) != 0) { - val = cts->sync_offset; - if (val < ti->ti_maxsynch.offset) - ti->ti_maxsynch.offset = val; - } - - ti->ti_flags_valid |= SCSI_LOW_TARG_FLAGS_QUIRKS_VALID; - scsi_low_calcf_target(ti); - } - - if ((cts->valid & (CCB_TRANS_DISC_VALID | - CCB_TRANS_TQ_VALID)) != 0) - { - li = scsi_low_alloc_li(ti, lun, 1); - if ((cts->valid & CCB_TRANS_DISC_VALID) != 0) - { - if ((cts->flags & CCB_TRANS_DISC_ENB) != 0) - li->li_quirks |= SCSI_LOW_DISK_DISC; - else - li->li_quirks &= ~SCSI_LOW_DISK_DISC; - } - if ((cts->valid & CCB_TRANS_TQ_VALID) != 0) - { - if ((cts->flags & CCB_TRANS_TAG_ENB) != 0) - li->li_quirks |= SCSI_LOW_DISK_QTAG; - else - li->li_quirks &= ~SCSI_LOW_DISK_QTAG; - } - - li->li_flags_valid |= SCSI_LOW_LUN_FLAGS_QUIRKS_VALID; - scsi_low_calcf_target(ti); - scsi_low_calcf_lun(li); - if ((slp->sl_show_result & SHOW_CALCF_RES) != 0) - scsi_low_calcf_show(li); - } -#else scsi = &cts->proto_specific.scsi; spi = &cts->xport_specific.spi; if ((spi->valid & (CTS_SPI_VALID_BUS_WIDTH | @@ -1203,7 +1150,6 @@ if ((slp->sl_show_result & SHOW_CALCF_RES) != 0) scsi_low_calcf_show(li); } -#endif splx(s); ccb->ccb_h.status = CAM_REQ_CMP; @@ -1231,7 +1177,6 @@ s = SCSI_LOW_SPLSCSI(); li = scsi_low_alloc_li(ti, lun, 1); -#ifdef CAM_NEW_TRAN_CODE if (li != NULL && cts->type == CTS_TYPE_CURRENT_SETTINGS) { struct ccb_trans_settings_scsi *scsi = &cts->proto_specific.scsi; @@ -1275,65 +1220,6 @@ scsi->valid = 0; } else ccb->ccb_h.status = CAM_FUNC_NOTAVAIL; -#else - if ((cts->flags & CCB_TRANS_USER_SETTINGS) != 0) - { -#ifdef SCSI_LOW_DIAGNOSTIC - if ((li->li_flags_valid & SCSI_LOW_LUN_FLAGS_DISK_VALID) == 0) - { - ccb->ccb_h.status = CAM_FUNC_NOTAVAIL; - printf("%s: invalid GET_TRANS_USER_SETTINGS call\n", - slp->sl_xname); - goto settings_out; - } -#endif /* SCSI_LOW_DIAGNOSTIC */ - diskflags = li->li_diskflags & li->li_cfgflags; - if ((diskflags & SCSI_LOW_DISK_DISC) != 0) - cts->flags |= CCB_TRANS_DISC_ENB; - else - cts->flags &= ~CCB_TRANS_DISC_ENB; - if ((diskflags & SCSI_LOW_DISK_QTAG) != 0) - cts->flags |= CCB_TRANS_TAG_ENB; - else - cts->flags &= ~CCB_TRANS_TAG_ENB; - } - else if ((cts->flags & CCB_TRANS_CURRENT_SETTINGS) != 0) - { -#ifdef SCSI_LOW_DIAGNOSTIC - if (li->li_flags_valid != SCSI_LOW_LUN_FLAGS_ALL_VALID) - { - ccb->ccb_h.status = CAM_FUNC_NOTAVAIL; - printf("%s: invalid GET_TRANS_CURRENT_SETTINGS call\n", - slp->sl_xname); - goto settings_out; - } -#endif /* SCSI_LOW_DIAGNOSTIC */ - if ((li->li_flags & SCSI_LOW_DISC) != 0) - cts->flags |= CCB_TRANS_DISC_ENB; - else - cts->flags &= ~CCB_TRANS_DISC_ENB; - if ((li->li_flags & SCSI_LOW_QTAG) != 0) - cts->flags |= CCB_TRANS_TAG_ENB; - else - cts->flags &= ~CCB_TRANS_TAG_ENB; - } - else - { - ccb->ccb_h.status = CAM_FUNC_NOTAVAIL; - goto settings_out; - } - - cts->sync_period = ti->ti_maxsynch.period; - cts->sync_offset = ti->ti_maxsynch.offset; - cts->bus_width = ti->ti_width; - - cts->valid = CCB_TRANS_SYNC_RATE_VALID - | CCB_TRANS_SYNC_OFFSET_VALID - | CCB_TRANS_BUS_WIDTH_VALID - | CCB_TRANS_DISC_VALID - | CCB_TRANS_TQ_VALID; - ccb->ccb_h.status = CAM_REQ_CMP; -#endif settings_out: splx(s); xpt_done(ccb); @@ -1414,12 +1300,10 @@ cpi->initiator_id = slp->sl_hostid; cpi->bus_id = cam_sim_bus(sim); cpi->base_transfer_speed = 3300; -#ifdef CAM_NEW_TRAN_CODE cpi->transport = XPORT_SPI; cpi->transport_version = 2; cpi->protocol = PROTO_SCSI; cpi->protocol_version = SCSI_REV_2; -#endif strncpy(cpi->sim_vid, "FreeBSD", SIM_IDLEN); strncpy(cpi->hba_vid, "SCSI_LOW", HBA_IDLEN); strncpy(cpi->dev_name, cam_sim_name(sim), DEV_IDLEN); ==== //depot/projects/ia64/sys/conf/NOTES#108 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1395 2006/10/31 22:22:29 pjd Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1396 2006/11/02 00:54:33 mjacob Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -1137,8 +1137,6 @@ # CAM_DEBUG_SUBTRACE, and CAM_DEBUG_CDB # # CAM_MAX_HIGHPOWER: Maximum number of concurrent high power (start unit) cmds -# CAM_NEW_TRAN_CODE: this is the new transport layer code that will be switched -# to soon # SCSI_NO_SENSE_STRINGS: When defined disables sense descriptions # SCSI_NO_OP_STRINGS: When defined disables opcode descriptions # SCSI_DELAY: The number of MILLISECONDS to freeze the SIM (scsi adapter) ==== //depot/projects/ia64/sys/conf/options#99 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.561 2006/10/31 22:22:29 pjd Exp $ +# $FreeBSD: src/sys/conf/options,v 1.562 2006/11/02 00:54:33 mjacob Exp $ # # On the handling of kernel options >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Nov 2 01:48:49 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3A1E516A580; Thu, 2 Nov 2006 01:48:49 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 E781E16A5A8 for ; Thu, 2 Nov 2006 01:48:48 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B650943D60 for ; Thu, 2 Nov 2006 01:48:48 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA21mmQc010994 for ; Thu, 2 Nov 2006 01:48:48 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA21mmU6010991 for perforce@freebsd.org; Thu, 2 Nov 2006 01:48:48 GMT (envelope-from mjacob@freebsd.org) Date: Thu, 2 Nov 2006 01:48:48 GMT Message-Id: <200611020148.kA21mmU6010991@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 108995 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 01:48:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=108995 Change 108995 by mjacob@newisp on 2006/11/02 01:47:58 Allow for just using a WWPN for 24XX cards. Affected files ... .. //depot/projects/newisp/dev/isp/isp.c#25 edit Differences ... ==== //depot/projects/newisp/dev/isp/isp.c#25 (text+ko) ==== @@ -1725,9 +1725,16 @@ ((uint32_t) (nwwn & 0xffffffff)), ((uint32_t) (pwwn >> 32)), ((uint32_t) (pwwn & 0xffffffff))); + } else if (pwwn) { + icbp->icb_fwoptions &= ~ICBOPT_BOTH_WWNS; + MAKE_NODE_NAME_FROM_WWN(icbp->icb_portname, pwwn); + isp_prt(isp, ISP_LOGDEBUG1, + "Setting ICB Port 0x%08x%08x", + ((uint32_t) (pwwn >> 32)), + ((uint32_t) (pwwn & 0xffffffff))); } else { - isp_prt(isp, ISP_LOGDEBUG1, "Not using any WWNs"); - icbp->icb_fwoptions &= ~(ICBOPT_BOTH_WWNS|ICBOPT_FULL_LOGIN); + isp_prt(isp, ISP_LOGERR, "No valid WWNs to use"); + return; } icbp->icb_rqstqlen = RQUEST_QUEUE_LEN(isp); if (icbp->icb_rqstqlen < 1) { @@ -1945,9 +1952,8 @@ ((uint32_t) (pwwn >> 32)), ((uint32_t) (pwwn & 0xffffffff))); } else { - isp_prt(isp, ISP_LOGDEBUG1, "Not using any WWNs"); - icbp->icb_fwoptions1 &= - ~(ICB2400_OPT1_BOTH_WWNS|ICB2400_OPT1_FULL_LOGIN); + isp_prt(isp, ISP_LOGERR, "No valid WWNs to use"); + return; } icbp->icb_retry_count = fcp->isp_retry_count; From owner-p4-projects@FreeBSD.ORG Thu Nov 2 01:48:52 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0EE1116A591; Thu, 2 Nov 2006 01:48:51 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 A8E4A16A58F for ; Thu, 2 Nov 2006 01:48:51 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1565143D60 for ; Thu, 2 Nov 2006 01:48:51 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA21mpkw011001 for ; Thu, 2 Nov 2006 01:48:51 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA21mmMU010997 for perforce@freebsd.org; Thu, 2 Nov 2006 01:48:48 GMT (envelope-from mjacob@freebsd.org) Date: Thu, 2 Nov 2006 01:48:48 GMT Message-Id: <200611020148.kA21mmMU010997@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 108996 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 01:48:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=108996 Change 108996 by mjacob@newisp on 2006/11/02 01:48:19 IFC Affected files ... .. //depot/projects/newisp/amd64/amd64/genassym.c#2 integrate .. //depot/projects/newisp/amd64/linux32/linux32_sysvec.c#3 integrate .. //depot/projects/newisp/arm/arm/elf_trampoline.c#4 integrate .. //depot/projects/newisp/arm/arm/genassym.c#2 integrate .. //depot/projects/newisp/boot/common/Makefile.inc#2 integrate .. //depot/projects/newisp/boot/common/bootstrap.h#2 integrate .. //depot/projects/newisp/boot/common/devopen.c#2 integrate .. //depot/projects/newisp/boot/efi/libefi/devicename.c#2 integrate .. //depot/projects/newisp/boot/efi/libefi/efiboot.h#2 integrate .. //depot/projects/newisp/boot/efi/libefi/efifs.c#2 integrate .. //depot/projects/newisp/boot/i386/libi386/bioscd.c#2 integrate .. //depot/projects/newisp/boot/i386/libi386/biosdisk.c#2 integrate .. //depot/projects/newisp/boot/i386/libi386/bootinfo32.c#2 integrate .. //depot/projects/newisp/boot/i386/libi386/devicename.c#2 integrate .. //depot/projects/newisp/boot/i386/libi386/libi386.h#3 integrate .. //depot/projects/newisp/boot/i386/loader/Makefile#2 integrate .. //depot/projects/newisp/boot/i386/loader/main.c#2 integrate .. //depot/projects/newisp/boot/ia64/efi/main.c#2 integrate .. //depot/projects/newisp/boot/ia64/ski/devicename.c#2 integrate .. //depot/projects/newisp/boot/ia64/ski/libski.h#2 integrate .. //depot/projects/newisp/boot/ia64/ski/main.c#2 integrate .. //depot/projects/newisp/boot/ofw/common/main.c#2 integrate .. //depot/projects/newisp/boot/ofw/libofw/libofw.h#2 integrate .. //depot/projects/newisp/boot/pc98/libpc98/bioscd.c#2 integrate .. //depot/projects/newisp/boot/pc98/libpc98/biosdisk.c#2 integrate .. //depot/projects/newisp/boot/pc98/loader/Makefile#2 integrate .. //depot/projects/newisp/boot/pc98/loader/main.c#2 integrate .. //depot/projects/newisp/boot/sparc64/loader/main.c#3 integrate .. //depot/projects/newisp/cam/cam_ccb.h#2 integrate .. //depot/projects/newisp/cam/cam_xpt.c#4 integrate .. //depot/projects/newisp/cam/scsi/scsi_da.c#5 integrate .. //depot/projects/newisp/cam/scsi/scsi_low.c#3 integrate .. //depot/projects/newisp/conf/NOTES#11 integrate .. //depot/projects/newisp/conf/files#10 integrate .. //depot/projects/newisp/conf/files.sparc64#3 integrate .. //depot/projects/newisp/conf/options#5 integrate .. //depot/projects/newisp/conf/options.sparc64#2 integrate .. //depot/projects/newisp/dev/aac/aac_cam.c#3 integrate .. //depot/projects/newisp/dev/acpi_support/acpi_aiboost.c#2 integrate .. //depot/projects/newisp/dev/acpi_support/acpi_sony.c#2 integrate .. //depot/projects/newisp/dev/advansys/advansys.c#3 integrate .. //depot/projects/newisp/dev/advansys/advlib.c#3 integrate .. //depot/projects/newisp/dev/advansys/adwcam.c#3 integrate .. //depot/projects/newisp/dev/aha/aha.c#3 integrate .. //depot/projects/newisp/dev/ahb/ahb.c#3 integrate .. //depot/projects/newisp/dev/aic/aic.c#3 integrate .. //depot/projects/newisp/dev/aic7xxx/aic79xx_osm.c#2 integrate .. //depot/projects/newisp/dev/aic7xxx/aic79xx_osm.h#2 integrate .. //depot/projects/newisp/dev/aic7xxx/aic7xxx_osm.c#3 integrate .. //depot/projects/newisp/dev/aic7xxx/aic7xxx_osm.h#2 integrate .. //depot/projects/newisp/dev/amd/amd.c#3 integrate .. //depot/projects/newisp/dev/amr/amr.c#2 integrate .. //depot/projects/newisp/dev/amr/amr_cam.c#3 integrate .. //depot/projects/newisp/dev/amr/amr_disk.c#2 integrate .. //depot/projects/newisp/dev/arcmsr/arcmsr.c#4 integrate .. //depot/projects/newisp/dev/asr/asr.c#3 integrate .. //depot/projects/newisp/dev/ata/ata-disk.c#3 integrate .. //depot/projects/newisp/dev/ata/ata-raid.c#2 integrate .. //depot/projects/newisp/dev/ata/atapi-cam.c#3 integrate .. //depot/projects/newisp/dev/buslogic/bt.c#2 integrate .. //depot/projects/newisp/dev/ciss/ciss.c#3 integrate .. //depot/projects/newisp/dev/dc/if_dc.c#4 integrate .. //depot/projects/newisp/dev/dpt/dpt_scsi.c#3 integrate .. //depot/projects/newisp/dev/em/if_em.c#11 integrate .. //depot/projects/newisp/dev/em/if_em.h#5 integrate .. //depot/projects/newisp/dev/em/if_em_hw.c#3 integrate .. //depot/projects/newisp/dev/em/if_em_hw.h#3 integrate .. //depot/projects/newisp/dev/em/if_em_osdep.h#3 integrate .. //depot/projects/newisp/dev/esp/ncr53c9x.c#3 integrate .. //depot/projects/newisp/dev/firewire/sbp.c#3 integrate .. //depot/projects/newisp/dev/iir/iir.c#3 integrate .. //depot/projects/newisp/dev/isp/isp_freebsd.c#17 integrate .. //depot/projects/newisp/dev/md/md.c#2 integrate .. //depot/projects/newisp/dev/mly/mly.c#3 integrate .. //depot/projects/newisp/dev/mpt/mpt_cam.c#7 integrate .. //depot/projects/newisp/dev/sym/sym_hipd.c#2 integrate .. //depot/projects/newisp/dev/trm/trm.c#3 integrate .. //depot/projects/newisp/dev/twa/tw_osl_cam.c#3 integrate .. //depot/projects/newisp/dev/uart/uart_kbd_sun.c#4 integrate .. //depot/projects/newisp/dev/uart/uart_kbd_sun.h#2 integrate .. //depot/projects/newisp/dev/usb/umass.c#5 integrate .. //depot/projects/newisp/geom/concat/g_concat.c#2 integrate .. //depot/projects/newisp/geom/eli/g_eli.c#3 integrate .. //depot/projects/newisp/geom/geom.h#3 integrate .. //depot/projects/newisp/geom/geom_disk.c#2 integrate .. //depot/projects/newisp/geom/geom_disk.h#2 integrate .. //depot/projects/newisp/geom/geom_gpt.c#2 integrate .. //depot/projects/newisp/geom/geom_io.c#2 integrate .. //depot/projects/newisp/geom/geom_slice.c#2 integrate .. //depot/projects/newisp/geom/journal/g_journal.c#1 branch .. //depot/projects/newisp/geom/journal/g_journal.h#1 branch .. //depot/projects/newisp/geom/journal/g_journal_ufs.c#1 branch .. //depot/projects/newisp/geom/mirror/g_mirror.c#4 integrate .. //depot/projects/newisp/geom/mirror/g_mirror.h#2 integrate .. //depot/projects/newisp/geom/mirror/g_mirror_ctl.c#2 integrate .. //depot/projects/newisp/geom/raid3/g_raid3.c#6 integrate .. //depot/projects/newisp/geom/raid3/g_raid3.h#2 integrate .. //depot/projects/newisp/geom/raid3/g_raid3_ctl.c#3 integrate .. //depot/projects/newisp/geom/shsec/g_shsec.c#2 integrate .. //depot/projects/newisp/geom/stripe/g_stripe.c#2 integrate .. //depot/projects/newisp/i386/conf/NOTES#6 integrate .. //depot/projects/newisp/i386/i386/genassym.c#2 integrate .. //depot/projects/newisp/ia64/ia64/genassym.c#2 integrate .. //depot/projects/newisp/kern/subr_disk.c#2 integrate .. //depot/projects/newisp/kern/subr_prf.c#3 integrate .. //depot/projects/newisp/kern/tty_cons.c#2 integrate .. //depot/projects/newisp/kern/tty_pts.c#3 integrate .. //depot/projects/newisp/kern/vfs_subr.c#6 integrate .. //depot/projects/newisp/modules/geom/Makefile#3 integrate .. //depot/projects/newisp/modules/geom/geom_journal/Makefile#1 branch .. //depot/projects/newisp/modules/ufs/Makefile#2 integrate .. //depot/projects/newisp/net/bridgestp.c#3 integrate .. //depot/projects/newisp/net/bridgestp.h#2 integrate .. //depot/projects/newisp/net/if_bridge.c#5 integrate .. //depot/projects/newisp/net/if_bridgevar.h#2 integrate .. //depot/projects/newisp/nfsclient/nfs_socket.c#3 integrate .. //depot/projects/newisp/pci/if_sis.c#4 integrate .. //depot/projects/newisp/pci/ncr.c#3 integrate .. //depot/projects/newisp/powerpc/powerpc/genassym.c#2 integrate .. //depot/projects/newisp/sparc64/conf/NOTES#4 integrate .. //depot/projects/newisp/sparc64/sparc64/genassym.c#3 integrate .. //depot/projects/newisp/sun4v/include/hypervisorvar.h#2 integrate .. //depot/projects/newisp/sun4v/sun4v/hcall.S#2 integrate .. //depot/projects/newisp/sys/bio.h#2 integrate .. //depot/projects/newisp/sys/cons.h#2 integrate .. //depot/projects/newisp/sys/mount.h#5 integrate .. //depot/projects/newisp/sys/pcpu.h#2 integrate .. //depot/projects/newisp/sys/vnode.h#2 integrate .. //depot/projects/newisp/ufs/ffs/ffs_extern.h#2 integrate .. //depot/projects/newisp/ufs/ffs/ffs_softdep.c#4 integrate .. //depot/projects/newisp/ufs/ffs/ffs_vfsops.c#4 integrate .. //depot/projects/newisp/ufs/ffs/fs.h#2 integrate .. //depot/projects/newisp/ufs/ufs/gjournal.h#1 branch .. //depot/projects/newisp/ufs/ufs/ufs_gjournal.c#1 branch .. //depot/projects/newisp/ufs/ufs/ufs_inode.c#2 integrate .. //depot/projects/newisp/ufs/ufs/ufs_vnops.c#5 integrate Differences ... ==== //depot/projects/newisp/amd64/amd64/genassym.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.157 2005/09/27 21:10:10 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.158 2006/11/01 04:54:49 jb Exp $"); #include "opt_compat.h" #include "opt_kstack_pages.h" @@ -185,6 +185,7 @@ ASSYM(PC_FPCURTHREAD, offsetof(struct pcpu, pc_fpcurthread)); ASSYM(PC_IDLETHREAD, offsetof(struct pcpu, pc_idlethread)); ASSYM(PC_CURPCB, offsetof(struct pcpu, pc_curpcb)); +ASSYM(PC_CONS_BUFR, offsetof(struct pcpu, pc_cons_bufr)); ASSYM(PC_CPUID, offsetof(struct pcpu, pc_cpuid)); ASSYM(PC_SCRATCH_RSP, offsetof(struct pcpu, pc_scratch_rsp)); ASSYM(PC_CURPMAP, offsetof(struct pcpu, pc_curpmap)); ==== //depot/projects/newisp/amd64/linux32/linux32_sysvec.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.24 2006/09/09 16:25:25 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.25 2006/10/31 17:53:02 kib Exp $"); #include "opt_compat.h" #ifndef COMPAT_IA32 @@ -868,7 +868,7 @@ */ if (sigcodesz) copyout(imgp->proc->p_sysent->sv_sigcode, - ((caddr_t)arginfo - sigcodesz), szsigcode); + ((caddr_t)arginfo - sigcodesz), sigcodesz); /* * If we have a valid auxargs ptr, prepare some room ==== //depot/projects/newisp/arm/arm/elf_trampoline.c#4 (text+ko) ==== @@ -23,11 +23,10 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.15 2006/10/30 23:23:00 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.16 2006/11/01 12:41:43 cognet Exp $"); #include -#include +#include #include -#include #include #include #include ==== //depot/projects/newisp/arm/arm/genassym.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/genassym.c,v 1.6 2005/10/06 11:26:37 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/genassym.c,v 1.7 2006/11/01 04:54:50 jb Exp $"); #include #include #include @@ -69,6 +69,7 @@ ASSYM(PCB_PC, offsetof(struct pcb, un_32.pcb32_pc)); ASSYM(PCB_SP, offsetof(struct pcb, un_32.pcb32_sp)); +ASSYM(PC_CONS_BUFR, offsetof(struct pcpu, pc_cons_bufr)); ASSYM(PC_CURPCB, offsetof(struct pcpu, pc_curpcb)); ASSYM(PC_CURTHREAD, offsetof(struct pcpu, pc_curthread)); ASSYM(M_LEN, offsetof(struct mbuf, m_len)); ==== //depot/projects/newisp/boot/common/Makefile.inc#2 (text+ko) ==== @@ -1,6 +1,6 @@ -# $FreeBSD: src/sys/boot/common/Makefile.inc,v 1.22 2006/05/12 04:09:52 jhb Exp $ +# $FreeBSD: src/sys/boot/common/Makefile.inc,v 1.23 2006/11/02 00:26:44 marcel Exp $ -SRCS+= bcache.c boot.c commands.c console.c devopen.c interp.c +SRCS+= boot.c commands.c console.c devopen.c interp.c SRCS+= interp_backslash.c interp_parse.c ls.c misc.c SRCS+= module.c panic.c @@ -19,6 +19,10 @@ SRCS+= dev_net.c .endif +.if defined(HAVE_BCACHE) +SRCS+= bcache.c +.endif + # Machine-independant ISA PnP .if defined(HAVE_ISABUS) SRCS+= isapnp.c ==== //depot/projects/newisp/boot/common/bootstrap.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/boot/common/bootstrap.h,v 1.42 2005/12/18 04:52:35 marcel Exp $ + * $FreeBSD: src/sys/boot/common/bootstrap.h,v 1.43 2006/11/02 01:23:17 marcel Exp $ */ #include @@ -43,6 +43,7 @@ #define DEVT_DISK 1 #define DEVT_NET 2 #define DEVT_CD 3 + int d_unit; }; /* Commands and return values; nonzero return sets command_errmsg != NULL */ ==== //depot/projects/newisp/boot/common/devopen.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/common/devopen.c,v 1.4 2003/08/25 23:30:41 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/common/devopen.c,v 1.5 2006/11/02 00:02:22 marcel Exp $"); #include #include @@ -35,20 +35,25 @@ int devopen(struct open_file *f, const char *fname, const char **file) { - struct devdesc *dev; - int result; + struct devdesc *dev; + int result; + + result = archsw.arch_getdev((void **)&dev, fname, file); + if (result) + return (result); - if ((result = archsw.arch_getdev((void *)&dev, fname, file)) == 0) { /* get the device */ - /* point to device-specific data so that device open can use it */ - f->f_devdata = dev; - if ((result = dev->d_dev->dv_open(f, dev)) == 0) { /* try to open it */ - /* reference the devsw entry from the open_file structure */ - f->f_dev = dev->d_dev; - } else { - free(dev); /* release the device descriptor */ - } + /* point to device-specific data so that device open can use it */ + f->f_devdata = dev; + result = dev->d_dev->dv_open(f, dev); + if (result != 0) { + f->f_devdata = NULL; + free(dev); + return (result); } - return(result); + + /* reference the devsw entry from the open_file structure */ + f->f_dev = dev->d_dev; + return (0); } int ==== //depot/projects/newisp/boot/efi/libefi/devicename.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/efi/libefi/devicename.c,v 1.3 2004/01/04 23:28:16 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/efi/libefi/devicename.c,v 1.4 2006/11/02 01:23:17 marcel Exp $"); #include #include @@ -146,7 +146,7 @@ goto fail; } - idev->d_kind.efidisk.unit = unit; + idev->d_unit = unit; idev->d_kind.efidisk.slice = slice; idev->d_kind.efidisk.partition = partition; @@ -169,7 +169,7 @@ goto fail; } - idev->d_kind.netif.unit = unit; + idev->d_unit = unit; if (path != NULL) *path = (*cp == 0) ? cp : cp + 1; break; @@ -207,7 +207,7 @@ case DEVT_DISK: cp = buf; - cp += sprintf(cp, "%s%d", dev->d_dev->dv_name, dev->d_kind.efidisk.unit); + cp += sprintf(cp, "%s%d", dev->d_dev->dv_name, dev->d_unit); if (dev->d_kind.efidisk.slice > 0) cp += sprintf(cp, "s%d", dev->d_kind.efidisk.slice); if (dev->d_kind.efidisk.partition >= 0) @@ -216,7 +216,7 @@ break; case DEVT_NET: - sprintf(buf, "%s%d:", dev->d_dev->dv_name, dev->d_kind.netif.unit); + sprintf(buf, "%s%d:", dev->d_dev->dv_name, dev->d_unit); break; } return(buf); ==== //depot/projects/newisp/boot/efi/libefi/efiboot.h#2 (text+ko) ==== @@ -28,7 +28,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/boot/efi/libefi/efiboot.h,v 1.9 2005/01/05 22:16:57 imp Exp $ + * $FreeBSD: src/sys/boot/efi/libefi/efiboot.h,v 1.10 2006/11/02 01:23:17 marcel Exp $ */ /* @@ -40,16 +40,13 @@ #define DEVT_NONE 0 #define DEVT_DISK 1 #define DEVT_NET 2 + int d_unit; EFI_HANDLE d_handle; union { struct { - int unit; int slice; int partition; } efidisk; - struct { - int unit; /* XXX net layer lives over these? */ - } netif; } d_kind; }; ==== //depot/projects/newisp/boot/efi/libefi/efifs.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/boot/efi/libefi/efifs.c,v 1.8 2003/08/02 08:22:03 marcel Exp $ + * $FreeBSD: src/sys/boot/efi/libefi/efifs.c,v 1.9 2006/11/02 01:23:17 marcel Exp $ */ #include @@ -365,7 +365,7 @@ dev = va_arg(args, struct efi_devdesc*); va_end(args); - unit = dev->d_kind.efidisk.unit; + unit = dev->d_unit; if (unit < 0 || unit >= fs_handle_count) { printf("attempt to open nonexistent EFI filesystem\n"); return(ENXIO); ==== //depot/projects/newisp/boot/i386/libi386/bioscd.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/bioscd.c,v 1.8 2005/05/20 13:14:18 charnier Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/bioscd.c,v 1.9 2006/11/02 01:23:17 marcel Exp $"); /* * BIOS CD device handling for CD's that have been booted off of via no @@ -195,7 +195,7 @@ va_start(ap, f); dev = va_arg(ap, struct i386_devdesc *); va_end(ap); - if (dev->d_kind.bioscd.unit >= nbcinfo) { + if (dev->d_unit >= nbcinfo) { DEBUG("attempt to open nonexistent disk"); return(ENXIO); } @@ -230,7 +230,7 @@ if (rw != F_READ) return(EROFS); dev = (struct i386_devdesc *)devdata; - unit = dev->d_kind.bioscd.unit; + unit = dev->d_unit; blks = size / BIOSCD_SECSIZE; if (dblk % (BIOSCD_SECSIZE / DEV_BSIZE) != 0) return (EINVAL); @@ -331,7 +331,7 @@ int major; int rootdev; - unit = dev->d_kind.bioscd.unit; + unit = dev->d_unit; biosdev = bc_unit2bios(unit); DEBUG("unit %d BIOS device %d", unit, biosdev); if (biosdev == -1) /* not a BIOS device */ ==== //depot/projects/newisp/boot/i386/libi386/biosdisk.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biosdisk.c,v 1.47 2006/05/31 09:05:49 iedowse Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biosdisk.c,v 1.48 2006/11/02 01:23:17 marcel Exp $"); /* * BIOS disk device handling. @@ -251,7 +251,7 @@ pager_output(line); /* try to open the whole disk */ - dev.d_kind.biosdisk.unit = i; + dev.d_unit = i; dev.d_kind.biosdisk.slice = -1; dev.d_kind.biosdisk.partition = -1; @@ -454,7 +454,7 @@ int error; char buf[BUFSIZE]; - if (dev->d_kind.biosdisk.unit >= nbdinfo) { + if (dev->d_unit >= nbdinfo) { DEBUG("attempt to open nonexistent disk"); return(ENXIO); } @@ -466,14 +466,14 @@ } /* Look up BIOS unit number, intialise open_disk structure */ - od->od_dkunit = dev->d_kind.biosdisk.unit; + od->od_dkunit = dev->d_unit; od->od_unit = bdinfo[od->od_dkunit].bd_unit; od->od_flags = bdinfo[od->od_dkunit].bd_flags; od->od_boff = 0; od->od_nslices = 0; error = 0; DEBUG("open '%s', unit 0x%x slice %d partition %c", - i386_fmtdev(dev), dev->d_kind.biosdisk.unit, + i386_fmtdev(dev), dev->d_unit, dev->d_kind.biosdisk.slice, dev->d_kind.biosdisk.partition + 'a'); /* Get geometry for this open (removable device may have changed) */ @@ -1177,8 +1177,8 @@ char *nip, *cp; int unitofs = 0, i, unit; - biosdev = bd_unit2bios(dev->d_kind.biosdisk.unit); - DEBUG("unit %d BIOS device %d", dev->d_kind.biosdisk.unit, biosdev); + biosdev = bd_unit2bios(dev->d_unit); + DEBUG("unit %d BIOS device %d", dev->d_unit, biosdev); if (biosdev == -1) /* not a BIOS device */ return(-1); if (bd_opendisk(&od, dev) != 0) /* oops, not a viable device */ @@ -1186,7 +1186,7 @@ if (biosdev < 0x80) { /* floppy (or emulated floppy) or ATAPI device */ - if (bdinfo[dev->d_kind.biosdisk.unit].bd_type == DT_ATAPI) { + if (bdinfo[dev->d_unit].bd_type == DT_ATAPI) { /* is an ATAPI disk */ major = WFDMAJOR; } else { ==== //depot/projects/newisp/boot/i386/libi386/bootinfo32.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/bootinfo32.c,v 1.36 2003/08/25 23:28:31 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/bootinfo32.c,v 1.37 2006/11/02 01:23:17 marcel Exp $"); #include #include @@ -172,13 +172,13 @@ switch(rootdev->d_type) { case DEVT_CD: /* Pass in BIOS device number. */ - bi.bi_bios_dev = bc_unit2bios(rootdev->d_kind.bioscd.unit); + bi.bi_bios_dev = bc_unit2bios(rootdev->d_unit); bootdevnr = bc_getdev(rootdev); break; case DEVT_DISK: /* pass in the BIOS device number of the current disk */ - bi.bi_bios_dev = bd_unit2bios(rootdev->d_kind.biosdisk.unit); + bi.bi_bios_dev = bd_unit2bios(rootdev->d_unit); bootdevnr = bd_getdev(rootdev); break; ==== //depot/projects/newisp/boot/i386/libi386/devicename.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/devicename.c,v 1.7 2005/05/27 19:28:04 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/devicename.c,v 1.8 2006/11/02 01:23:17 marcel Exp $"); #include #include @@ -142,7 +142,7 @@ goto fail; } - idev->d_kind.biosdisk.unit = unit; + idev->d_unit = unit; idev->d_kind.biosdisk.slice = slice; idev->d_kind.biosdisk.partition = partition; if (path != NULL) @@ -165,10 +165,7 @@ goto fail; } - if (dv->dv_type == DEVT_NET) - idev->d_kind.netif.unit = unit; - else - idev->d_kind.bioscd.unit = unit; + idev->d_unit = unit; if (path != NULL) *path = (*cp == 0) ? cp : cp + 1; break; @@ -205,12 +202,12 @@ break; case DEVT_CD: - sprintf(buf, "%s%d:", dev->d_dev->dv_name, dev->d_kind.bioscd.unit); + sprintf(buf, "%s%d:", dev->d_dev->dv_name, dev->d_unit); break; case DEVT_DISK: cp = buf; - cp += sprintf(cp, "%s%d", dev->d_dev->dv_name, dev->d_kind.biosdisk.unit); + cp += sprintf(cp, "%s%d", dev->d_dev->dv_name, dev->d_unit); if (dev->d_kind.biosdisk.slice > 0) cp += sprintf(cp, "s%d", dev->d_kind.biosdisk.slice); if (dev->d_kind.biosdisk.partition >= 0) @@ -219,7 +216,7 @@ break; case DEVT_NET: - sprintf(buf, "%s%d:", dev->d_dev->dv_name, dev->d_kind.netif.unit); + sprintf(buf, "%s%d:", dev->d_dev->dv_name, dev->d_unit); break; } return(buf); ==== //depot/projects/newisp/boot/i386/libi386/libi386.h#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/sys/boot/i386/libi386/libi386.h,v 1.26 2006/09/29 20:27:41 ru Exp $ + * $FreeBSD: src/sys/boot/i386/libi386/libi386.h,v 1.27 2006/11/02 01:23:17 marcel Exp $ */ @@ -36,24 +36,19 @@ { struct devsw *d_dev; int d_type; + int d_unit; union { struct { - int unit; + void *data; int slice; int partition; - void *data; } biosdisk; struct { - int unit; void *data; } bioscd; - struct - { - int unit; /* XXX net layer lives over these? */ - } netif; } d_kind; }; ==== //depot/projects/newisp/boot/i386/loader/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.83 2006/03/17 18:54:35 ru Exp $ +# $FreeBSD: src/sys/boot/i386/loader/Makefile,v 1.84 2006/11/02 00:26:44 marcel Exp $ .include @@ -16,6 +16,9 @@ CFLAGS+= -DLOADER_NFS_SUPPORT .endif +# Include bcache code. +HAVE_BCACHE= yes + # Enable PnP and ISA-PnP code. HAVE_PNP= yes HAVE_ISABUS= yes ==== //depot/projects/newisp/boot/i386/loader/main.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/loader/main.c,v 1.37 2006/08/04 07:56:32 yar Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/loader/main.c,v 1.38 2006/11/02 01:23:18 marcel Exp $"); /* * MD bootstrap main() and assorted miscellaneous @@ -201,11 +201,11 @@ if ((kargs->bootflags & KARGS_FLAGS_CD) != 0) { /* we are booting from a CD with cdboot */ new_currdev.d_dev = &bioscd; - new_currdev.d_kind.bioscd.unit = bc_bios2unit(initial_bootdev); + new_currdev.d_unit = bc_bios2unit(initial_bootdev); } else if ((kargs->bootflags & KARGS_FLAGS_PXE) != 0) { /* we are booting from pxeldr */ new_currdev.d_dev = &pxedisk; - new_currdev.d_kind.netif.unit = 0; + new_currdev.d_unit = 0; } else { /* we don't know what our boot device is */ new_currdev.d_kind.biosdisk.slice = -1; @@ -240,10 +240,10 @@ * which one we booted off of, just use disk0: as a reasonable default. */ if ((new_currdev.d_type == biosdisk.dv_type) && - ((new_currdev.d_kind.biosdisk.unit = bd_bios2unit(biosdev)) == -1)) { + ((new_currdev.d_unit = bd_bios2unit(biosdev)) == -1)) { printf("Can't work out which disk we are booting from.\n" "Guessed BIOS device 0x%x not found by probes, defaulting to disk0:\n", biosdev); - new_currdev.d_kind.biosdisk.unit = 0; + new_currdev.d_unit = 0; } env_setenv("currdev", EV_VOLATILE, i386_fmtdev(&new_currdev), i386_setcurrdev, env_nounset); ==== //depot/projects/newisp/boot/ia64/efi/main.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ia64/efi/main.c,v 1.24 2004/11/23 05:37:47 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/ia64/efi/main.c,v 1.26 2006/11/02 01:23:18 marcel Exp $"); #include #include @@ -112,11 +112,6 @@ */ cons_probe(); - /* - * Initialise the block cache - */ - bcache_init(32, 512); /* 16k XXX tune this */ - find_pal_proc(); /* @@ -140,13 +135,13 @@ i = efifs_get_unit(img->DeviceHandle); if (i >= 0) { currdev.d_dev = devsw[0]; /* XXX disk */ - currdev.d_kind.efidisk.unit = i; + currdev.d_unit = i; /* XXX should be able to detect this, default to autoprobe */ currdev.d_kind.efidisk.slice = -1; currdev.d_kind.efidisk.partition = 0; } else { currdev.d_dev = devsw[1]; /* XXX net */ - currdev.d_kind.netif.unit = 0; /* XXX */ + currdev.d_unit = 0; /* XXX */ } currdev.d_type = currdev.d_dev->dv_type; ==== //depot/projects/newisp/boot/ia64/ski/devicename.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ia64/ski/devicename.c,v 1.3 2004/09/24 03:53:50 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/ia64/ski/devicename.c,v 1.4 2006/11/02 01:23:18 marcel Exp $"); #include #include @@ -143,7 +143,7 @@ goto fail; } - idev->d_kind.skidisk.unit = unit; + idev->d_unit = unit; idev->d_kind.skidisk.slice = slice; idev->d_kind.skidisk.partition = partition; @@ -166,7 +166,7 @@ goto fail; } - idev->d_kind.netif.unit = unit; + idev->d_unit = unit; if (path != NULL) *path = (*cp == 0) ? cp : cp + 1; break; @@ -204,7 +204,7 @@ case DEVT_DISK: cp = buf; - cp += sprintf(cp, "%s%d", dev->d_dev->dv_name, dev->d_kind.skidisk.unit); + cp += sprintf(cp, "%s%d", dev->d_dev->dv_name, dev->d_unit); if (dev->d_kind.skidisk.slice > 0) cp += sprintf(cp, "s%d", dev->d_kind.skidisk.slice); if (dev->d_kind.skidisk.partition >= 0) @@ -213,7 +213,7 @@ break; case DEVT_NET: - sprintf(buf, "%s%d:", dev->d_dev->dv_name, dev->d_kind.netif.unit); + sprintf(buf, "%s%d:", dev->d_dev->dv_name, dev->d_unit); break; } return(buf); ==== //depot/projects/newisp/boot/ia64/ski/libski.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/boot/ia64/ski/libski.h,v 1.6 2004/09/24 04:06:22 marcel Exp $ + * $FreeBSD: src/sys/boot/ia64/ski/libski.h,v 1.7 2006/11/02 01:23:18 marcel Exp $ */ /* @@ -35,15 +35,12 @@ #define DEVT_NONE 0 #define DEVT_DISK 1 #define DEVT_NET 2 + int d_unit; union { struct { - int unit; int slice; int partition; } skidisk; - struct { - int unit; /* XXX net layer lives over these? */ - } netif; } d_kind; }; ==== //depot/projects/newisp/boot/ia64/ski/main.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ia64/ski/main.c,v 1.6 2004/09/24 04:06:22 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/ia64/ski/main.c,v 1.8 2006/11/02 01:23:18 marcel Exp $"); #include #include @@ -73,11 +73,6 @@ cons_probe(); /* - * Initialise the block cache - */ - bcache_init(32, 512); /* 16k XXX tune this */ - - /* * March through the device switch probing for things. */ for (i = 0; devsw[i] != NULL; i++) @@ -94,7 +89,7 @@ /* XXX presumes that biosdisk is first in devsw */ currdev.d_dev = devsw[0]; currdev.d_type = currdev.d_dev->dv_type; - currdev.d_kind.skidisk.unit = 0; + currdev.d_unit = 0; /* XXX should be able to detect this, default to autoprobe */ currdev.d_kind.skidisk.slice = -1; /* default to 'a' */ ==== //depot/projects/newisp/boot/ofw/common/main.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ofw/common/main.c,v 1.7 2004/08/16 15:45:24 marius Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/ofw/common/main.c,v 1.8 2006/11/02 00:26:45 marcel Exp $"); #include #include "openfirm.h" @@ -125,11 +125,6 @@ init_heap(); /* - * Initialise the block cache - */ - bcache_init(32, 512); /* 16k XXX tune this */ - - /* * March through the device switch probing for things. */ for (i = 0; devsw[i] != NULL; i++) ==== //depot/projects/newisp/boot/ofw/libofw/libofw.h#2 (text+ko) ==== @@ -22,7 +22,7 @@ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/boot/ofw/libofw/libofw.h,v 1.11 2005/10/20 11:14:34 marius Exp $ + * $FreeBSD: src/sys/boot/ofw/libofw/libofw.h,v 1.12 2006/11/02 01:23:18 marcel Exp $ */ #include "openfirm.h" @@ -31,6 +31,7 @@ struct ofw_devdesc { struct devsw *d_dev; int d_type; + int d_unit; ihandle_t d_handle; char d_path[256]; }; ==== //depot/projects/newisp/boot/pc98/libpc98/bioscd.c#2 (text) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/pc98/libpc98/bioscd.c,v 1.1 2006/05/14 07:26:02 nyan Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/pc98/libpc98/bioscd.c,v 1.2 2006/11/02 01:23:18 marcel Exp $"); /* * BIOS CD device handling for CD's that have been booted off of via no @@ -192,7 +192,7 @@ va_start(ap, f); dev = va_arg(ap, struct i386_devdesc *); va_end(ap); - if (dev->d_kind.bioscd.unit >= nbcinfo) { + if (dev->d_unit >= nbcinfo) { DEBUG("attempt to open nonexistent disk"); return(ENXIO); } @@ -227,7 +227,7 @@ if (rw != F_READ) return(EROFS); dev = (struct i386_devdesc *)devdata; - unit = dev->d_kind.bioscd.unit; + unit = dev->d_unit; blks = size / BIOSCD_SECSIZE; if (dblk % (BIOSCD_SECSIZE / DEV_BSIZE) != 0) return (EINVAL); @@ -321,7 +321,7 @@ int major; int rootdev; - unit = dev->d_kind.bioscd.unit; + unit = dev->d_unit; biosdev = bc_unit2bios(unit); DEBUG("unit %d BIOS device %d", unit, biosdev); if (biosdev == -1) /* not a BIOS device */ ==== //depot/projects/newisp/boot/pc98/libpc98/biosdisk.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/pc98/libpc98/biosdisk.c,v 1.33 2005/12/21 06:09:09 nyan Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/pc98/libpc98/biosdisk.c,v 1.34 2006/11/02 01:23:18 marcel Exp $"); /* * BIOS disk device handling. @@ -256,7 +256,7 @@ pager_output(line); /* try to open the whole disk */ - dev.d_kind.biosdisk.unit = i; + dev.d_unit = i; dev.d_kind.biosdisk.slice = -1; dev.d_kind.biosdisk.partition = -1; @@ -385,7 +385,7 @@ int error; char buf[BUFSIZE]; - if (dev->d_kind.biosdisk.unit >= nbdinfo) { + if (dev->d_unit >= nbdinfo) { DEBUG("attempt to open nonexistent disk"); return(ENXIO); } @@ -397,14 +397,14 @@ } /* Look up BIOS unit number, intialise open_disk structure */ - od->od_dkunit = dev->d_kind.biosdisk.unit; + od->od_dkunit = dev->d_unit; od->od_unit = bdinfo[od->od_dkunit].bd_unit; od->od_flags = bdinfo[od->od_dkunit].bd_flags; od->od_boff = 0; od->od_nslices = 0; error = 0; DEBUG("open '%s', unit 0x%x slice %d partition %c", - i386_fmtdev(dev), dev->d_kind.biosdisk.unit, + i386_fmtdev(dev), dev->d_unit, dev->d_kind.biosdisk.slice, dev->d_kind.biosdisk.partition + 'a'); /* Get geometry for this open (removable device may have changed) */ @@ -1058,8 +1058,8 @@ char *nip, *cp; int unitofs = 0, i, unit; - biosdev = bd_unit2bios(dev->d_kind.biosdisk.unit); - DEBUG("unit %d BIOS device %d", dev->d_kind.biosdisk.unit, biosdev); + biosdev = bd_unit2bios(dev->d_unit); + DEBUG("unit %d BIOS device %d", dev->d_unit, biosdev); if (biosdev == -1) /* not a BIOS device */ return(-1); if (bd_opendisk(&od, dev) != 0) /* oops, not a viable device */ @@ -1067,7 +1067,7 @@ if ((biosdev & 0xf0) == 0x90 || (biosdev & 0xf0) == 0x30) { /* floppy (or emulated floppy) or ATAPI device */ - if (bdinfo[dev->d_kind.biosdisk.unit].bd_type == DT_ATAPI) { + if (bdinfo[dev->d_unit].bd_type == DT_ATAPI) { /* is an ATAPI disk */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Nov 2 02:49:11 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 379E816A403; Thu, 2 Nov 2006 02:49:11 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 D398916A416 for ; Thu, 2 Nov 2006 02:49:10 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A03FC43D49 for ; Thu, 2 Nov 2006 02:49:10 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA22nAOJ021801 for ; Thu, 2 Nov 2006 02:49:10 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA22n9lk021798 for perforce@freebsd.org; Thu, 2 Nov 2006 02:49:09 GMT (envelope-from marcel@freebsd.org) Date: Thu, 2 Nov 2006 02:49:09 GMT Message-Id: <200611020249.kA22n9lk021798@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 Cc: Subject: PERFORCE change 109000 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 02:49:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=109000 Change 109000 by marcel@marcel_cluster on 2006/11/02 02:48:58 IFC @108999 Affected files ... .. //depot/projects/ia64/sys/boot/efi/include/efi.h#6 integrate .. //depot/projects/ia64/sys/boot/efi/include/efi_nii.h#4 integrate .. //depot/projects/ia64/sys/boot/efi/include/efiapi.h#11 integrate .. //depot/projects/ia64/sys/boot/efi/include/eficon.h#4 integrate .. //depot/projects/ia64/sys/boot/efi/include/efidebug.h#4 integrate .. //depot/projects/ia64/sys/boot/efi/include/efidef.h#4 integrate .. //depot/projects/ia64/sys/boot/efi/include/efidevp.h#4 integrate .. //depot/projects/ia64/sys/boot/efi/include/efierr.h#3 integrate .. //depot/projects/ia64/sys/boot/efi/include/efifs.h#4 integrate .. //depot/projects/ia64/sys/boot/efi/include/efilib.h#10 integrate .. //depot/projects/ia64/sys/boot/efi/include/efinet.h#4 integrate .. //depot/projects/ia64/sys/boot/efi/include/efipart.h#4 integrate .. //depot/projects/ia64/sys/boot/efi/include/efiprot.h#5 integrate .. //depot/projects/ia64/sys/boot/efi/include/efipxebc.h#4 integrate .. //depot/projects/ia64/sys/boot/efi/include/efiser.h#4 integrate .. //depot/projects/ia64/sys/boot/efi/include/efistdarg.h#3 integrate .. //depot/projects/ia64/sys/boot/efi/include/i386/efibind.h#6 integrate .. //depot/projects/ia64/sys/boot/efi/include/i386/pe.h#3 integrate .. //depot/projects/ia64/sys/boot/efi/include/ia64/efibind.h#6 integrate .. //depot/projects/ia64/sys/boot/efi/include/ia64/pe.h#3 integrate Differences ... ==== //depot/projects/ia64/sys/boot/efi/include/efi.h#6 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/boot/efi/include/efi.h,v 1.3 2002/05/19 03:17:20 marcel Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/efi.h,v 1.4 2006/11/02 02:42:47 marcel Exp $ */ /*++ Copyright (c) 1999 - 2002 Intel Corporation. All rights reserved ==== //depot/projects/ia64/sys/boot/efi/include/efi_nii.h#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/boot/efi/include/efi_nii.h,v 1.2 2002/05/19 03:17:20 marcel Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/efi_nii.h,v 1.3 2006/11/02 02:42:47 marcel Exp $ */ #ifndef _EFI_NII_H #define _EFI_NII_H ==== //depot/projects/ia64/sys/boot/efi/include/efiapi.h#11 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/boot/efi/include/efiapi.h,v 1.6 2003/12/10 19:08:09 jhb Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/efiapi.h,v 1.7 2006/11/02 02:42:47 marcel Exp $ */ #ifndef _EFI_API_H #define _EFI_API_H ==== //depot/projects/ia64/sys/boot/efi/include/eficon.h#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/boot/efi/include/eficon.h,v 1.2 2002/05/19 03:17:20 marcel Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/eficon.h,v 1.3 2006/11/02 02:42:47 marcel Exp $ */ #ifndef _EFI_CON_H #define _EFI_CON_H ==== //depot/projects/ia64/sys/boot/efi/include/efidebug.h#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/boot/efi/include/efidebug.h,v 1.2 2002/05/19 03:17:20 marcel Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/efidebug.h,v 1.3 2006/11/02 02:42:47 marcel Exp $ */ #ifndef _EFI_DEBUG_H #define _EFI_DEBUG_H ==== //depot/projects/ia64/sys/boot/efi/include/efidef.h#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/boot/efi/include/efidef.h,v 1.2 2002/05/19 03:17:20 marcel Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/efidef.h,v 1.3 2006/11/02 02:42:47 marcel Exp $ */ #ifndef _EFI_DEF_H #define _EFI_DEF_H ==== //depot/projects/ia64/sys/boot/efi/include/efidevp.h#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/boot/efi/include/efidevp.h,v 1.2 2002/05/19 03:17:20 marcel Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/efidevp.h,v 1.3 2006/11/02 02:42:47 marcel Exp $ */ #ifndef _DEVPATH_H #define _DEVPATH_H ==== //depot/projects/ia64/sys/boot/efi/include/efierr.h#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/boot/efi/include/efierr.h,v 1.1 2001/06/09 16:49:49 dfr Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/efierr.h,v 1.2 2006/11/02 02:42:47 marcel Exp $ */ #ifndef _EFI_ERR_H #define _EFI_ERR_H ==== //depot/projects/ia64/sys/boot/efi/include/efifs.h#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/boot/efi/include/efifs.h,v 1.2 2002/05/19 03:17:20 marcel Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/efifs.h,v 1.3 2006/11/02 02:42:47 marcel Exp $ */ #ifndef _EFI_FS_H #define _EFI_FS_H ==== //depot/projects/ia64/sys/boot/efi/include/efilib.h#10 (text+ko) ==== ==== //depot/projects/ia64/sys/boot/efi/include/efinet.h#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/boot/efi/include/efinet.h,v 1.2 2002/05/19 03:17:20 marcel Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/efinet.h,v 1.3 2006/11/02 02:42:47 marcel Exp $ */ #ifndef _EFINET_H #define _EFINET_H ==== //depot/projects/ia64/sys/boot/efi/include/efipart.h#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/boot/efi/include/efipart.h,v 1.2 2002/05/19 03:17:20 marcel Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/efipart.h,v 1.3 2006/11/02 02:42:47 marcel Exp $ */ #ifndef _EFI_PART_H #define _EFI_PART_H ==== //depot/projects/ia64/sys/boot/efi/include/efiprot.h#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/boot/efi/include/efiprot.h,v 1.3 2002/05/19 03:17:20 marcel Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/efiprot.h,v 1.4 2006/11/02 02:42:47 marcel Exp $ */ #ifndef _EFI_PROT_H #define _EFI_PROT_H ==== //depot/projects/ia64/sys/boot/efi/include/efipxebc.h#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/boot/efi/include/efipxebc.h,v 1.2 2002/05/19 03:17:20 marcel Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/efipxebc.h,v 1.3 2006/11/02 02:42:47 marcel Exp $ */ #ifndef _EFIPXEBC_H #define _EFIPXEBC_H ==== //depot/projects/ia64/sys/boot/efi/include/efiser.h#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/boot/efi/include/efiser.h,v 1.2 2002/05/19 03:17:21 marcel Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/efiser.h,v 1.3 2006/11/02 02:42:47 marcel Exp $ */ #ifndef _EFI_SER_H #define _EFI_SER_H ==== //depot/projects/ia64/sys/boot/efi/include/efistdarg.h#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/boot/efi/include/efistdarg.h,v 1.1 2001/06/09 16:49:49 dfr Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/efistdarg.h,v 1.2 2006/11/02 02:42:47 marcel Exp $ */ #ifndef _EFISTDARG_H_ #define _EFISTDARG_H_ ==== //depot/projects/ia64/sys/boot/efi/include/i386/efibind.h#6 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/boot/efi/include/i386/efibind.h,v 1.3 2005/03/07 15:38:37 stefanf Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/i386/efibind.h,v 1.4 2006/11/02 02:42:47 marcel Exp $ */ /*++ Copyright (c) 1999 - 2003 Intel Corporation. All rights reserved ==== //depot/projects/ia64/sys/boot/efi/include/i386/pe.h#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/boot/efi/include/i386/pe.h,v 1.1 2001/06/09 16:49:50 dfr Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/i386/pe.h,v 1.2 2006/11/02 02:42:48 marcel Exp $ */ /* PE32+ header file */ ==== //depot/projects/ia64/sys/boot/efi/include/ia64/efibind.h#6 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/boot/efi/include/ia64/efibind.h,v 1.6 2005/03/07 15:38:37 stefanf Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/ia64/efibind.h,v 1.7 2006/11/02 02:42:48 marcel Exp $ */ /*++ Copyright (c) 1999 - 2003 Intel Corporation. All rights reserved ==== //depot/projects/ia64/sys/boot/efi/include/ia64/pe.h#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/boot/efi/include/ia64/pe.h,v 1.1 2001/06/09 16:49:50 dfr Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/ia64/pe.h,v 1.2 2006/11/02 02:42:48 marcel Exp $ */ /* PE32+ header file */ From owner-p4-projects@FreeBSD.ORG Thu Nov 2 03:00:35 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E805016A40F; Thu, 2 Nov 2006 03:00:26 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 CB2DE16A47B for ; Thu, 2 Nov 2006 03:00:25 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 612A543D46 for ; Thu, 2 Nov 2006 03:00:25 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA230PEZ023570 for ; Thu, 2 Nov 2006 03:00:25 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA230PJf023567 for perforce@freebsd.org; Thu, 2 Nov 2006 03:00:25 GMT (envelope-from marcel@freebsd.org) Date: Thu, 2 Nov 2006 03:00:25 GMT Message-Id: <200611020300.kA230PJf023567@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 Cc: Subject: PERFORCE change 109001 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 03:00:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=109001 Change 109001 by marcel@marcel_cluster on 2006/11/02 02:59:59 Sync $FreeBSD$ Affected files ... .. //depot/projects/ia64/sys/boot/efi/include/efilib.h#11 edit .. //depot/projects/ia64/sys/boot/efi/libefi/efifs.c#17 edit .. //depot/projects/ia64/sys/boot/ia64/efi/efimd.c#4 edit .. //depot/projects/ia64/sys/boot/ia64/efi/main.c#8 edit .. //depot/projects/ia64/sys/boot/ia64/ski/libski.h#4 edit Differences ... ==== //depot/projects/ia64/sys/boot/efi/include/efilib.h#11 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/boot/efi/include/efilib.h,v 1.4 2004/11/28 00:30:22 marcel Exp $ + * $FreeBSD: src/sys/boot/efi/include/efilib.h,v 1.5 2006/11/02 02:42:47 marcel Exp $ */ #include ==== //depot/projects/ia64/sys/boot/efi/libefi/efifs.c#17 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/efi/libefi/efifs.c,v 1.8 2003/08/02 08:22:03 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/efi/libefi/efifs.c,v 1.9 2006/11/02 01:23:17 marcel Exp $"); #include #include ==== //depot/projects/ia64/sys/boot/ia64/efi/efimd.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/boot/ia64/efi/efimd.c,v 1.2 2005/01/05 22:16:57 imp Exp $"); #include ==== //depot/projects/ia64/sys/boot/ia64/efi/main.c#8 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ia64/efi/main.c,v 1.25 2006/11/02 00:26:44 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/ia64/efi/main.c,v 1.26 2006/11/02 01:23:18 marcel Exp $"); #include #include ==== //depot/projects/ia64/sys/boot/ia64/ski/libski.h#4 (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/boot/ia64/ski/libski.h,v 1.6 2004/09/24 04:06:22 marcel Exp $ + * $FreeBSD: src/sys/boot/ia64/ski/libski.h,v 1.7 2006/11/02 01:23:18 marcel Exp $ */ #define MAXDEV 31 /* maximum number of distinct devices */ From owner-p4-projects@FreeBSD.ORG Thu Nov 2 03:28:07 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3A65B16A4B3; Thu, 2 Nov 2006 03:28:07 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 184DA16A4A0 for ; Thu, 2 Nov 2006 03:28:07 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DC2AB43D46 for ; Thu, 2 Nov 2006 03:28:06 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA23S6dE029742 for ; Thu, 2 Nov 2006 03:28:06 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA23S6Nd029738 for perforce@freebsd.org; Thu, 2 Nov 2006 03:28:06 GMT (envelope-from marcel@freebsd.org) Date: Thu, 2 Nov 2006 03:28:06 GMT Message-Id: <200611020328.kA23S6Nd029738@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 Cc: Subject: PERFORCE change 109006 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 03:28:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=109006 Change 109006 by marcel@marcel_cluster on 2006/11/02 03:27:48 Prepare for MFp4... Affected files ... .. //depot/projects/ia64/sys/boot/ia64/common/bootinfo.c#3 edit .. //depot/projects/ia64/sys/boot/ia64/common/devicename.c#4 edit .. //depot/projects/ia64/sys/boot/ia64/efi/efimd.c#5 edit Differences ... ==== //depot/projects/ia64/sys/boot/ia64/common/bootinfo.c#3 (text+ko) ==== @@ -1,5 +1,6 @@ /*- * Copyright (c) 1998 Michael Smith + * Copyright (c) 2006 Marcel Moolenaar * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/efi/libefi/bootinfo.c,v 1.13 2006/05/12 04:09:53 jhb Exp $"); +__FBSDID("$FreeBSD$"); #include #include ==== //depot/projects/ia64/sys/boot/ia64/common/devicename.c#4 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/efi/libefi/devicename.c,v 1.3 2004/01/04 23:28:16 obrien Exp $"); +__FBSDID("$FreeBSD$"); #include #include ==== //depot/projects/ia64/sys/boot/ia64/efi/efimd.c#5 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2006 Marcel Moolenaar + * Copyright (c) 2004, 2006 Marcel Moolenaar * All rights reserved. * * Redistribution and use in source and binary forms, with or without From owner-p4-projects@FreeBSD.ORG Thu Nov 2 04:18:12 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DDA6B16A412; Thu, 2 Nov 2006 04:18:11 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 B3AE416A407 for ; Thu, 2 Nov 2006 04:18:11 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 47ED143D5F for ; Thu, 2 Nov 2006 04:18:11 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA24IBCA041646 for ; Thu, 2 Nov 2006 04:18:11 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA24IAu1041641 for perforce@freebsd.org; Thu, 2 Nov 2006 04:18:10 GMT (envelope-from mjacob@freebsd.org) Date: Thu, 2 Nov 2006 04:18:10 GMT Message-Id: <200611020418.kA24IAu1041641@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 109008 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 04:18:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=109008 Change 109008 by mjacob@newisp on 2006/11/02 04:17:58 IFC Affected files ... .. //depot/projects/newisp/boot/efi/include/efi.h#2 integrate .. //depot/projects/newisp/boot/efi/include/efi_nii.h#2 integrate .. //depot/projects/newisp/boot/efi/include/efiapi.h#2 integrate .. //depot/projects/newisp/boot/efi/include/eficon.h#2 integrate .. //depot/projects/newisp/boot/efi/include/efidebug.h#2 integrate .. //depot/projects/newisp/boot/efi/include/efidef.h#2 integrate .. //depot/projects/newisp/boot/efi/include/efidevp.h#2 integrate .. //depot/projects/newisp/boot/efi/include/efierr.h#2 integrate .. //depot/projects/newisp/boot/efi/include/efifs.h#2 integrate .. //depot/projects/newisp/boot/efi/include/efilib.h#2 integrate .. //depot/projects/newisp/boot/efi/include/efinet.h#2 integrate .. //depot/projects/newisp/boot/efi/include/efipart.h#2 integrate .. //depot/projects/newisp/boot/efi/include/efiprot.h#2 integrate .. //depot/projects/newisp/boot/efi/include/efipxebc.h#2 integrate .. //depot/projects/newisp/boot/efi/include/efiser.h#2 integrate .. //depot/projects/newisp/boot/efi/include/efistdarg.h#2 integrate .. //depot/projects/newisp/boot/efi/include/i386/efibind.h#2 integrate .. //depot/projects/newisp/boot/efi/include/i386/pe.h#2 integrate .. //depot/projects/newisp/boot/efi/include/ia64/efibind.h#2 integrate .. //depot/projects/newisp/boot/efi/include/ia64/pe.h#2 integrate .. //depot/projects/newisp/dev/isp/isp.c#26 integrate .. //depot/projects/newisp/dev/isp/isp_freebsd.c#18 integrate .. //depot/projects/newisp/dev/isp/isp_freebsd.h#12 integrate .. //depot/projects/newisp/dev/isp/isp_library.c#14 integrate .. //depot/projects/newisp/dev/isp/isp_library.h#10 integrate .. //depot/projects/newisp/dev/isp/isp_pci.c#16 integrate .. //depot/projects/newisp/dev/isp/isp_sbus.c#8 integrate .. //depot/projects/newisp/dev/isp/isp_target.c#10 integrate .. //depot/projects/newisp/dev/isp/isp_target.h#11 integrate .. //depot/projects/newisp/dev/isp/isp_tpublic.h#6 integrate .. //depot/projects/newisp/dev/isp/ispmbox.h#12 integrate .. //depot/projects/newisp/dev/isp/ispreg.h#8 integrate .. //depot/projects/newisp/dev/isp/ispvar.h#10 integrate .. //depot/projects/newisp/dev/ispfw/asm_2300.h#3 integrate Differences ... ==== //depot/projects/newisp/boot/efi/include/efi.h#2 (text+ko) ==== @@ -1,7 +1,14 @@ -/* $FreeBSD: src/sys/boot/efi/include/efi.h,v 1.3 2002/05/19 03:17:20 marcel Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/efi.h,v 1.4 2006/11/02 02:42:47 marcel Exp $ */ /*++ -Copyright (c) 1998 Intel Corporation +Copyright (c) 1999 - 2002 Intel Corporation. All rights reserved +This software and associated documentation (if any) is furnished +under a license and may only be used or copied in accordance +with the terms of the license. Except as permitted by such +license, no part of this software or documentation may be +reproduced, stored in a retrieval system, or transmitted in any +form or by any means without the express written consent of +Intel Corporation. Module Name: @@ -17,19 +24,20 @@ --*/ -/* - * Build flags on input - * EFI32 - * EFI_DEBUG - Enable debugging code - * EFI_NT_EMULATOR - Building for running under NT - */ +// +// Build flags on input +// EFI32 +// EFI_DEBUG - Enable debugging code +// EFI_NT_EMULATOR - Building for running under NT +// + #ifndef _EFI_INCLUDE_ #define _EFI_INCLUDE_ #define EFI_FIRMWARE_VENDOR L"INTEL" -#define EFI_FIRMWARE_MAJOR_REVISION 12 -#define EFI_FIRMWARE_MINOR_REVISION 33 +#define EFI_FIRMWARE_MAJOR_REVISION 14 +#define EFI_FIRMWARE_MINOR_REVISION 62 #define EFI_FIRMWARE_REVISION ((EFI_FIRMWARE_MAJOR_REVISION <<16) | (EFI_FIRMWARE_MINOR_REVISION)) #include "efibind.h" @@ -43,7 +51,12 @@ #include "efinet.h" #include "efiapi.h" #include "efifs.h" -#include "efifpswa.h" #include "efierr.h" +#define EFI_STRINGIZE(a) #a +#define EFI_PROTOCOL_DEFINITION(a) EFI_STRINGIZE(Protocol/a/a.h) + +#define EFI_GUID_DEFINITION(a) EFI_STRINGIZE(Guid/a/a##.h) +#define EFI_GUID_STRING(guidpointer, shortstring, longstring) + #endif ==== //depot/projects/newisp/boot/efi/include/efi_nii.h#2 (text+ko) ==== @@ -1,9 +1,16 @@ -/* $FreeBSD: src/sys/boot/efi/include/efi_nii.h,v 1.2 2002/05/19 03:17:20 marcel Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/efi_nii.h,v 1.3 2006/11/02 02:42:47 marcel Exp $ */ #ifndef _EFI_NII_H #define _EFI_NII_H /*++ -Copyright (c) 2000 Intel Corporation +Copyright (c) 1999 - 2002 Intel Corporation. All rights reserved +This software and associated documentation (if any) is furnished +under a license and may only be used or copied in accordance +with the terms of the license. Except as permitted by such +license, no part of this software or documentation may be +reproduced, stored in a retrieval system, or transmitted in any +form or by any means without the express written consent of +Intel Corporation. Module name: efi_nii.h @@ -20,8 +27,11 @@ #define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL \ { 0xE18541CD, 0xF755, 0x4f73, 0x92, 0x8D, 0x64, 0x3C, 0x8A, 0x79, 0xB2, 0x29 } +#define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_31 \ + { 0x1ACED566, 0x76ED, 0x4218, 0xBC, 0x81, 0x76, 0x7F, 0x1F, 0x97, 0x7A, 0x89 } #define EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE_REVISION 0x00010000 +#define EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE_REVISION_31 0x00010001 typedef enum { EfiNetworkInterfaceUndi = 1 @@ -29,54 +39,48 @@ typedef struct { - /* Revision of the network interface identifier protocol interface. */ UINT64 Revision; + // Revision of the network interface identifier protocol interface. - /* - * Address of the first byte of the identifying structure for this - * network interface. This is set to zero if there is no structure. - * For PXE/UNDI this is the first byte of the !PXE structure. - */ UINT64 ID; + // Address of the first byte of the identifying structure for this + // network interface. This is set to zero if there is no structure. + // + // For PXE/UNDI this is the first byte of the !PXE structure. - /* - * Address of the UNrelocated driver/ROM image. This is set - * to zero if there is no driver/ROM image. - * For 16-bit UNDI, this is the first byte of the option ROM in - * upper memory. - * For 32/64-bit S/W UNDI, this is the first byte of the EFI ROM - * image. - * For H/W UNDI, this is set to zero. - */ UINT64 ImageAddr; + // Address of the UNrelocated driver/ROM image. This is set + // to zero if there is no driver/ROM image. + // + // For 16-bit UNDI, this is the first byte of the option ROM in + // upper memory. + // + // For 32/64-bit S/W UNDI, this is the first byte of the EFI ROM + // image. + // + // For H/W UNDI, this is set to zero. - /* - * Size of the UNrelocated driver/ROM image of this network interface. - * This is set to zero if there is no driver/ROM image. - */ UINT32 ImageSize; + // Size of the UNrelocated driver/ROM image of this network interface. + // This is set to zero if there is no driver/ROM image. - /* - * 4 char ASCII string to go in class identifier (option 60) in DHCP - * and Boot Server discover packets. - * For EfiNetworkInterfaceUndi this field is "UNDI". - * For EfiNetworkInterfaceSnp this field is "SNPN". - */ CHAR8 StringId[4]; + // 4 char ASCII string to go in class identifier (option 60) in DHCP + // and Boot Server discover packets. + // For EfiNetworkInterfaceUndi this field is "UNDI". + // For EfiNetworkInterfaceSnp this field is "SNPN". - /* - * Information to be placed into the PXE DHCP and Discover packets. - * This is the network interface type and version number that will - * be placed into DHCP option 94 (client network interface identifier). - */ UINT8 Type; UINT8 MajorVer; UINT8 MinorVer; - + // Information to be placed into the PXE DHCP and Discover packets. + // This is the network interface type and version number that will + // be placed into DHCP option 94 (client network interface identifier). BOOLEAN Ipv6Supported; - UINT8 IfNum; /* interface number to be used with pxeid structure */ + UINT8 IfNum; // interface number to be used with pxeid structure } EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE; extern EFI_GUID NetworkInterfaceIdentifierProtocol; +extern EFI_GUID NetworkInterfaceIdentifierProtocol_31; -#endif /* _EFI_NII_H */ +#endif // _EFI_NII_H ==== //depot/projects/newisp/boot/efi/include/efiapi.h#2 (text+ko) ==== @@ -1,10 +1,17 @@ -/* $FreeBSD: src/sys/boot/efi/include/efiapi.h,v 1.6 2003/12/10 19:08:09 jhb Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/efiapi.h,v 1.7 2006/11/02 02:42:47 marcel Exp $ */ #ifndef _EFI_API_H #define _EFI_API_H /*++ -Copyright (c) 1998 Intel Corporation +Copyright (c) 1999 - 2002 Intel Corporation. All rights reserved +This software and associated documentation (if any) is furnished +under a license and may only be used or copied in accordance +with the terms of the license. Except as permitted by such +license, no part of this software or documentation may be +reproduced, stored in a retrieval system, or transmitted in any +form or by any means without the express written consent of +Intel Corporation. Module Name: @@ -21,22 +28,22 @@ --*/ -/* - * EFI Specification Revision - */ +// +// EFI Specification Revision +// #define EFI_SPECIFICATION_MAJOR_REVISION 1 -#define EFI_SPECIFICATION_MINOR_REVISION 02 +#define EFI_SPECIFICATION_MINOR_REVISION 10 -/* - * Declare forward referenced data structures - */ +// +// Declare forward referenced data structures +// INTERFACE_DECL(_EFI_SYSTEM_TABLE); -/* - * EFI Memory - */ +// +// EFI Memory +// typedef EFI_STATUS @@ -92,8 +99,8 @@ #define EFI_OPTIONAL_PTR 0x00000001 -#define EFI_INTERNAL_FNC 0x00000002 /* Pointer to internal runtime fnc */ -#define EFI_INTERNAL_PTR 0x00000004 /* Pointer to internal runtime data */ +#define EFI_INTERNAL_FNC 0x00000002 // Pointer to internal runtime fnc +#define EFI_INTERNAL_PTR 0x00000004 // Pointer to internal runtime data typedef @@ -104,9 +111,9 @@ ); -/* - * EFI Events - */ +// +// EFI Events +// @@ -181,9 +188,9 @@ IN EFI_EVENT Event ); -/* - * Task priority level - */ +// +// Task priority level +// #define TPL_APPLICATION 4 #define TPL_CALLBACK 8 @@ -203,19 +210,19 @@ ); -/* - * EFI platform variables - */ +// +// EFI platform varibles +// #define EFI_GLOBAL_VARIABLE \ { 0x8BE4DF61, 0x93CA, 0x11d2, 0xAA, 0x0D, 0x00, 0xE0, 0x98, 0x03, 0x2B, 0x8C } -/* Variable attributes */ +// Variable attributes #define EFI_VARIABLE_NON_VOLATILE 0x00000001 #define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002 #define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004 -/* Variable size limitation */ +// Variable size limitation #define EFI_MAXIMUM_VARIABLE_SIZE 1024 typedef @@ -248,14 +255,14 @@ ); -/* - * EFI Time - */ +// +// EFI Time +// typedef struct { - UINT32 Resolution; /* 1e-6 parts per million */ - UINT32 Accuracy; /* hertz */ - BOOLEAN SetsToZero; /* Set clears sub-second time */ + UINT32 Resolution; // 1e-6 parts per million + UINT32 Accuracy; // hertz + BOOLEAN SetsToZero; // Set clears sub-second time } EFI_TIME_CAPABILITIES; @@ -288,12 +295,12 @@ ); -/* - * Image functions - */ +// +// Image functions +// -/* PE32+ Subsystem type for EFI images */ +// PE32+ Subsystem type for EFI images #if !defined(IMAGE_SUBSYSTEM_EFI_APPLICATION) #define IMAGE_SUBSYSTEM_EFI_APPLICATION 10 @@ -301,7 +308,7 @@ #define IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER 12 #endif -/* PE32+ Machine type for EFI images */ +// PE32+ Machine type for EFI images #if !defined(EFI_IMAGE_MACHINE_IA32) #define EFI_IMAGE_MACHINE_IA32 0x014c @@ -311,7 +318,11 @@ #define EFI_IMAGE_MACHINE_IA64 0x0200 #endif -/* Image Entry prototype */ +#if !defined(EFI_IMAGE_MACHINE_EBC) +#define EFI_IMAGE_MACHINE_EBC 0x0EBC +#endif + +// Image Entry prototype typedef EFI_STATUS @@ -355,32 +366,32 @@ ); -/* Image handle */ +// Image handle #define LOADED_IMAGE_PROTOCOL \ { 0x5B1B31A1, 0x9562, 0x11d2, 0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B } -#define EFI_IMAGE_INFORMATION_REVISION 0x1000 +#define EFI_LOADED_IMAGE_INFORMATION_REVISION 0x1000 typedef struct { UINT32 Revision; EFI_HANDLE ParentHandle; struct _EFI_SYSTEM_TABLE *SystemTable; - /* Source location of image */ + // Source location of image EFI_HANDLE DeviceHandle; EFI_DEVICE_PATH *FilePath; VOID *Reserved; - /* Images load options */ + // Images load options UINT32 LoadOptionsSize; VOID *LoadOptions; - /* Location of where image was loaded */ + // Location of where image was loaded VOID *ImageBase; UINT64 ImageSize; EFI_MEMORY_TYPE ImageCodeType; EFI_MEMORY_TYPE ImageDataType; - /* If the driver image supports a dynamic unload request */ + // If the driver image supports a dynamic unload request EFI_IMAGE_UNLOAD Unload; } EFI_LOADED_IMAGE; @@ -393,9 +404,9 @@ IN UINTN MapKey ); -/* - * Misc - */ +// +// Misc +// typedef @@ -416,11 +427,12 @@ typedef enum { EfiResetCold, - EfiResetWarm + EfiResetWarm, + EfiResetShutdown } EFI_RESET_TYPE; typedef -EFI_STATUS +VOID (EFIAPI *EFI_RESET_SYSTEM) ( IN EFI_RESET_TYPE ResetType, IN EFI_STATUS ResetStatus, @@ -440,13 +452,12 @@ OUT UINT32 *HighCount ); -/* - * Protocol handler functions - */ +// +// Protocol handler functions +// typedef enum { - EFI_NATIVE_INTERFACE, - EFI_PCODE_INTERFACE + EFI_NATIVE_INTERFACE } EFI_INTERFACE_TYPE; typedef @@ -525,179 +536,355 @@ typedef EFI_STATUS (EFIAPI *EFI_RESERVED_SERVICE) ( - VOID ); -/* - * Standard EFI table header - */ +typedef +EFI_STATUS +(EFIAPI *EFI_CONNECT_CONTROLLER) ( + IN EFI_HANDLE ControllerHandle, + IN EFI_HANDLE *DriverImageHandle OPTIONAL, + IN EFI_DEVICE_PATH *RemainingDevicePath OPTIONAL, + IN BOOLEAN Recursive + ); + +typedef +EFI_STATUS +(EFIAPI *EFI_DISCONNECT_CONTROLLER)( + IN EFI_HANDLE ControllerHandle, + IN EFI_HANDLE DriverImageHandle, OPTIONAL + IN EFI_HANDLE ChildHandle OPTIONAL + ); + +#define EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL 0x00000001 +#define EFI_OPEN_PROTOCOL_GET_PROTOCOL 0x00000002 +#define EFI_OPEN_PROTOCOL_TEST_PROTOCOL 0x00000004 +#define EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER 0x00000008 +#define EFI_OPEN_PROTOCOL_BY_DRIVER 0x00000010 +#define EFI_OPEN_PROTOCOL_EXCLUSIVE 0x00000020 + +typedef +EFI_STATUS +(EFIAPI *EFI_OPEN_PROTOCOL) ( + IN EFI_HANDLE Handle, + IN EFI_GUID *Protocol, + OUT VOID **Interface, + IN EFI_HANDLE ImageHandle, + IN EFI_HANDLE ControllerHandle, OPTIONAL + IN UINT32 Attributes + ); + +typedef +EFI_STATUS +(EFIAPI *EFI_CLOSE_PROTOCOL) ( + IN EFI_HANDLE Handle, + IN EFI_GUID *Protocol, + IN EFI_HANDLE ImageHandle, + IN EFI_HANDLE DeviceHandle + ); + +typedef struct { + EFI_HANDLE AgentHandle; + EFI_HANDLE ControllerHandle; + UINT32 Attributes; + UINT32 OpenCount; +} EFI_OPEN_PROTOCOL_INFORMATION_ENTRY; + +typedef +EFI_STATUS +(EFIAPI *EFI_OPEN_PROTOCOL_INFORMATION) ( + IN EFI_HANDLE UserHandle, + IN EFI_GUID *Protocol, + IN EFI_OPEN_PROTOCOL_INFORMATION_ENTRY **EntryBuffer, + OUT UINTN *EntryCount + ); + +typedef +EFI_STATUS +(EFIAPI *EFI_PROTOCOLS_PER_HANDLE) ( + IN EFI_HANDLE UserHandle, + OUT EFI_GUID ***ProtocolBuffer, + OUT UINTN *ProtocolBufferCount + ); + +typedef +EFI_STATUS +(EFIAPI *EFI_LOCATE_HANDLE_BUFFER) ( + IN EFI_LOCATE_SEARCH_TYPE SearchType, + IN EFI_GUID *Protocol OPTIONAL, + IN VOID *SearchKey OPTIONAL, + IN OUT UINTN *NumberHandles, + OUT EFI_HANDLE **Buffer + ); + +typedef +EFI_STATUS +(EFIAPI *EFI_LOCATE_PROTOCOL) ( + EFI_GUID *Protocol, + VOID *Registration, OPTIONAL + VOID **Interface + ); + +typedef +EFI_STATUS +(EFIAPI *EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES) ( + IN OUT EFI_HANDLE *Handle, + ... + ); + +typedef +EFI_STATUS +(EFIAPI *EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES) ( + IN EFI_HANDLE Handle, + ... + ); + +typedef +EFI_STATUS +(EFIAPI *EFI_CALCULATE_CRC32) ( + IN VOID *Data, + IN UINTN DataSize, + OUT UINT32 *Crc32 + ); + +typedef +VOID +(EFIAPI *EFI_COPY_MEM) ( + IN VOID *Destination, + IN VOID *Source, + IN UINTN Length + ); + +typedef +VOID +(EFIAPI *EFI_SET_MEM) ( + IN VOID *Buffer, + IN UINTN Size, + IN UINT8 Value + ); + +// +// Standard EFI table header +// typedef struct _EFI_TABLE_HEARDER { - UINT64 Signature; - UINT32 Revision; - UINT32 HeaderSize; - UINT32 CRC32; - UINT32 Reserved; + UINT64 Signature; + UINT32 Revision; + UINT32 HeaderSize; + UINT32 CRC32; + UINT32 Reserved; } EFI_TABLE_HEADER; -/* - * EFI Runtime Serivces Table - */ +// +// EFI Runtime Serivces Table +// #define EFI_RUNTIME_SERVICES_SIGNATURE 0x56524553544e5552 -#define EFI_RUNTIME_SERVICES_REVISION (EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION) +#define EFI_RUNTIME_SERVICES_REVISION ((EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION)) typedef struct { - EFI_TABLE_HEADER Hdr; + EFI_TABLE_HEADER Hdr; - /* Time services */ + // + // Time services + // - EFI_GET_TIME GetTime; - EFI_SET_TIME SetTime; - EFI_GET_WAKEUP_TIME GetWakeupTime; - EFI_SET_WAKEUP_TIME SetWakeupTime; + EFI_GET_TIME GetTime; + EFI_SET_TIME SetTime; + EFI_GET_WAKEUP_TIME GetWakeupTime; + EFI_SET_WAKEUP_TIME SetWakeupTime; - /* Virtual memory services */ + // + // Virtual memory services + // - EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap; - EFI_CONVERT_POINTER ConvertPointer; + EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap; + EFI_CONVERT_POINTER ConvertPointer; - /* Variable serviers */ + // + // Variable serviers + // - EFI_GET_VARIABLE GetVariable; - EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName; - EFI_SET_VARIABLE SetVariable; + EFI_GET_VARIABLE GetVariable; + EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName; + EFI_SET_VARIABLE SetVariable; - /* Misc */ + // + // Misc + // - EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount; - EFI_RESET_SYSTEM ResetSystem; + EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount; + EFI_RESET_SYSTEM ResetSystem; } EFI_RUNTIME_SERVICES; -/* - * EFI Boot Services Table - */ +// +// EFI Boot Services Table +// #define EFI_BOOT_SERVICES_SIGNATURE 0x56524553544f4f42 -#define EFI_BOOT_SERVICES_REVISION (EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION) +#define EFI_BOOT_SERVICES_REVISION ((EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION)) + +typedef struct { + + EFI_TABLE_HEADER Hdr; + + // + // Task priority functions + // + + EFI_RAISE_TPL RaiseTPL; + EFI_RESTORE_TPL RestoreTPL; + + // + // Memory functions + // + + EFI_ALLOCATE_PAGES AllocatePages; + EFI_FREE_PAGES FreePages; + EFI_GET_MEMORY_MAP GetMemoryMap; + EFI_ALLOCATE_POOL AllocatePool; + EFI_FREE_POOL FreePool; -typedef struct _EFI_BOOT_SERVICES { + // + // Event & timer functions + // - EFI_TABLE_HEADER Hdr; + EFI_CREATE_EVENT CreateEvent; + EFI_SET_TIMER SetTimer; + EFI_WAIT_FOR_EVENT WaitForEvent; + EFI_SIGNAL_EVENT SignalEvent; + EFI_CLOSE_EVENT CloseEvent; + EFI_CHECK_EVENT CheckEvent; - /* Task priority functions */ + // + // Protocol handler functions + // - EFI_RAISE_TPL RaiseTPL; - EFI_RESTORE_TPL RestoreTPL; + EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface; + EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface; + EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface; + EFI_HANDLE_PROTOCOL HandleProtocol; + VOID *Reserved; + EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify; + EFI_LOCATE_HANDLE LocateHandle; + EFI_LOCATE_DEVICE_PATH LocateDevicePath; + EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable; - /* Memory functions */ + // + // Image functions + // - EFI_ALLOCATE_PAGES AllocatePages; - EFI_FREE_PAGES FreePages; - EFI_GET_MEMORY_MAP GetMemoryMap; - EFI_ALLOCATE_POOL AllocatePool; - EFI_FREE_POOL FreePool; + EFI_IMAGE_LOAD LoadImage; + EFI_IMAGE_START StartImage; + EFI_EXIT Exit; + EFI_IMAGE_UNLOAD UnloadImage; + EFI_EXIT_BOOT_SERVICES ExitBootServices; - /* Event & timer functions */ + // + // Misc functions + // - EFI_CREATE_EVENT CreateEvent; - EFI_SET_TIMER SetTimer; - EFI_WAIT_FOR_EVENT WaitForEvent; - EFI_SIGNAL_EVENT SignalEvent; - EFI_CLOSE_EVENT CloseEvent; - EFI_CHECK_EVENT CheckEvent; + EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount; + EFI_STALL Stall; + EFI_SET_WATCHDOG_TIMER SetWatchdogTimer; - /* Protocol handler functions */ + // + // DriverSupport Services + // + EFI_CONNECT_CONTROLLER ConnectController; + EFI_DISCONNECT_CONTROLLER DisconnectController; - EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface; - EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface; - EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface; - EFI_HANDLE_PROTOCOL HandleProtocol; - EFI_HANDLE_PROTOCOL PCHandleProtocol; - EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify; - EFI_LOCATE_HANDLE LocateHandle; - EFI_LOCATE_DEVICE_PATH LocateDevicePath; - EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable; + // + // Open and Close Protocol Services + // + EFI_OPEN_PROTOCOL OpenProtocol; + EFI_CLOSE_PROTOCOL CloseProtocol; + EFI_OPEN_PROTOCOL_INFORMATION OpenProtocolInformation; - /* Image functions */ + // + // Library Services to reduce size of drivers + // + EFI_PROTOCOLS_PER_HANDLE ProtocolsPerHandle; + EFI_LOCATE_HANDLE_BUFFER LocateHandleBuffer; + EFI_LOCATE_PROTOCOL LocateProtocol; - EFI_IMAGE_LOAD LoadImage; - EFI_IMAGE_START StartImage; - EFI_EXIT Exit; - EFI_IMAGE_UNLOAD UnloadImage; - EFI_EXIT_BOOT_SERVICES ExitBootServices; + EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES InstallMultipleProtocolInterfaces; + EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES UninstallMultipleProtocolInterfaces; - /* Misc functions */ + // + // CRC32 services + // + EFI_CALCULATE_CRC32 CalculateCrc32; - EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount; - EFI_STALL Stall; - EFI_SET_WATCHDOG_TIMER SetWatchdogTimer; + // + // Memory Utility Services + // + EFI_COPY_MEM CopyMem; + EFI_SET_MEM SetMem; } EFI_BOOT_SERVICES; -/* - * EFI Configuration Table and GUID definitions - */ +// +// EFI Configuration Table and GUID definitions +// #define MPS_TABLE_GUID \ - { 0xeb9d2d2f, 0x2d88, 0x11d3, { 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } } + { 0xeb9d2d2f, 0x2d88, 0x11d3, 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } #define ACPI_TABLE_GUID \ - { 0xeb9d2d30, 0x2d88, 0x11d3, { 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } } + { 0xeb9d2d30, 0x2d88, 0x11d3, 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } #define ACPI_20_TABLE_GUID \ - { 0x8868e871, 0xe4f1, 0x11d3, { 0xbc, 0x22, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } } + { 0x8868e871, 0xe4f1, 0x11d3, 0xbc, 0x22, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } #define SMBIOS_TABLE_GUID \ - { 0xeb9d2d31, 0x2d88, 0x11d3, { 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } } + { 0xeb9d2d31, 0x2d88, 0x11d3, 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } #define SAL_SYSTEM_TABLE_GUID \ - { 0xeb9d2d32, 0x2d88, 0x11d3, { 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } } + { 0xeb9d2d32, 0x2d88, 0x11d3, 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } -/* DIG64 Headless Console & Debug Port Table. */ -#define HCDP_TABLE_GUID \ - {0xf951938d,0x620b,0x42ef,{0x82,0x79,0xa8,0x4b,0x79,0x61,0x78,0x98}} typedef struct _EFI_CONFIGURATION_TABLE { - EFI_GUID VendorGuid; - VOID *VendorTable; + EFI_GUID VendorGuid; + VOID *VendorTable; } EFI_CONFIGURATION_TABLE; -/* - * EFI System Table - */ +// +// EFI System Table +// #define EFI_SYSTEM_TABLE_SIGNATURE 0x5453595320494249 -#define EFI_SYSTEM_TABLE_REVISION (EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION) +#define EFI_SYSTEM_TABLE_REVISION ((EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION)) +#define EFI_1_10_SYSTEM_TABLE_REVISION ((1<<16) | 10) +#define EFI_1_02_SYSTEM_TABLE_REVISION ((1<<16) | 02) typedef struct _EFI_SYSTEM_TABLE { - EFI_TABLE_HEADER Hdr; + EFI_TABLE_HEADER Hdr; - CHAR16 *FirmwareVendor; - UINT32 FirmwareRevision; + CHAR16 *FirmwareVendor; + UINT32 FirmwareRevision; - EFI_HANDLE ConsoleInHandle; - SIMPLE_INPUT_INTERFACE *ConIn; + EFI_HANDLE ConsoleInHandle; + SIMPLE_INPUT_INTERFACE *ConIn; - EFI_HANDLE ConsoleOutHandle; - SIMPLE_TEXT_OUTPUT_INTERFACE *ConOut; + EFI_HANDLE ConsoleOutHandle; + SIMPLE_TEXT_OUTPUT_INTERFACE *ConOut; - EFI_HANDLE StandardErrorHandle; - SIMPLE_TEXT_OUTPUT_INTERFACE *StdErr; + EFI_HANDLE StandardErrorHandle; + SIMPLE_TEXT_OUTPUT_INTERFACE *StdErr; - EFI_RUNTIME_SERVICES *RuntimeServices; - EFI_BOOT_SERVICES *BootServices; + EFI_RUNTIME_SERVICES *RuntimeServices; + EFI_BOOT_SERVICES *BootServices; - UINTN NumberOfTableEntries; - EFI_CONFIGURATION_TABLE *ConfigurationTable; + UINTN NumberOfTableEntries; + EFI_CONFIGURATION_TABLE *ConfigurationTable; } EFI_SYSTEM_TABLE; ==== //depot/projects/newisp/boot/efi/include/eficon.h#2 (text+ko) ==== @@ -1,10 +1,17 @@ -/* $FreeBSD: src/sys/boot/efi/include/eficon.h,v 1.2 2002/05/19 03:17:20 marcel Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/eficon.h,v 1.3 2006/11/02 02:42:47 marcel Exp $ */ #ifndef _EFI_CON_H #define _EFI_CON_H /*++ -Copyright (c) 1998 Intel Corporation +Copyright (c) 1999 - 2002 Intel Corporation. All rights reserved +This software and associated documentation (if any) is furnished +under a license and may only be used or copied in accordance +with the terms of the license. Except as permitted by such +license, no part of this software or documentation may be +reproduced, stored in a retrieval system, or transmitted in any +form or by any means without the express written consent of +Intel Corporation. Module Name: @@ -20,9 +27,9 @@ --*/ -/* - * Text output protocol - */ +// +// Text output protocol +// #define SIMPLE_TEXT_OUTPUT_PROTOCOL \ { 0x387477c2, 0x69c7, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } @@ -126,7 +133,7 @@ typedef struct { INT32 MaxMode; - /* current settings */ + // current settings INT32 Mode; INT32 Attribute; INT32 CursorColumn; @@ -148,13 +155,13 @@ EFI_TEXT_SET_CURSOR_POSITION SetCursorPosition; EFI_TEXT_ENABLE_CURSOR EnableCursor; - /* Current mode */ + // Current mode SIMPLE_TEXT_OUTPUT_MODE *Mode; } SIMPLE_TEXT_OUTPUT_INTERFACE; -/* - * Define's for required EFI Unicode Box Draw character - */ +// +// Define's for required EFI Unicode Box Draw character >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Nov 2 04:45:46 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 142EF16A412; Thu, 2 Nov 2006 04:45:46 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 C929516A407 for ; Thu, 2 Nov 2006 04:45:45 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 97C2443D49 for ; Thu, 2 Nov 2006 04:45:45 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA24jjah046076 for ; Thu, 2 Nov 2006 04:45:45 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA24jjLV046073 for perforce@freebsd.org; Thu, 2 Nov 2006 04:45:45 GMT (envelope-from mjacob@freebsd.org) Date: Thu, 2 Nov 2006 04:45:45 GMT Message-Id: <200611020445.kA24jjLV046073@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 109009 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 04:45:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=109009 Change 109009 by mjacob@newisp on 2006/11/02 04:45:21 Beginning stub of basic domain validation. Affected files ... .. //depot/projects/newisp/cam/cam_ccb.h#3 edit .. //depot/projects/newisp/cam/cam_xpt.c#5 edit .. //depot/projects/newisp/cam/scsi/scsi_all.h#2 edit Differences ... ==== //depot/projects/newisp/cam/cam_ccb.h#3 (text+ko) ==== ==== //depot/projects/newisp/cam/cam_xpt.c#5 (text+ko) ==== @@ -871,6 +871,7 @@ static void probeschedule(struct cam_periph *probe_periph); static void probestart(struct cam_periph *periph, union ccb *start_ccb); static void proberequestdefaultnegotiation(struct cam_periph *periph); +static int proberequestbackoff(struct cam_periph *periph); static void probedone(struct cam_periph *periph, union ccb *done_ccb); static void probecleanup(struct cam_periph *periph); static void xpt_find_quirk(struct cam_ed *device); @@ -5457,11 +5458,14 @@ typedef enum { PROBE_TUR, - PROBE_INQUIRY, + PROBE_INQUIRY, /* this counts as DV0 for Basic Domain Validation */ PROBE_FULL_INQUIRY, PROBE_MODE_SENSE, PROBE_SERIAL_NUM, - PROBE_TUR_FOR_NEGOTIATION + PROBE_TUR_FOR_NEGOTIATION, + PROBE_INQUIRY_BASIC_DV1, + PROBE_INQUIRY_BASIC_DV2, + PROBE_DV_EXIT } probe_action; typedef enum { @@ -5692,6 +5696,7 @@ switch (softc->action) { case PROBE_TUR: case PROBE_TUR_FOR_NEGOTIATION: + case PROBE_DV_EXIT: { scsi_test_unit_ready(csio, /*retries*/4, @@ -5703,11 +5708,14 @@ } case PROBE_INQUIRY: case PROBE_FULL_INQUIRY: + case PROBE_INQUIRY_BASIC_DV1: + case PROBE_INQUIRY_BASIC_DV2: { u_int inquiry_len; struct scsi_inquiry_data *inq_buf; inq_buf = &periph->path->device->inq_data; + /* * If the device is currently configured, we calculate an * MD5 checksum of the inquiry data, and if the serial number @@ -5734,9 +5742,7 @@ if (softc->action == PROBE_INQUIRY) inquiry_len = SHORT_INQUIRY_LENGTH; else - inquiry_len = inq_buf->additional_length - + offsetof(struct scsi_inquiry_data, - additional_length) + 1; + inquiry_len = SID_ADDITIONAL_LENGTH(inq_buf); /* * Some parallel SCSI devices fail to send an @@ -5746,6 +5752,22 @@ */ inquiry_len = roundup2(inquiry_len, 2); + if (softc->action == PROBE_INQUIRY_BASIC_DV1 + || softc->action == PROBE_INQUIRY_BASIC_DV2) { + inq_buf = malloc(inquiry_len, M_TEMP, M_NOWAIT); + } + if (inq_buf == NULL) { + xpt_print_path(periph->path); + printf("malloc failure- skipping Domain Validation\n"); + softc->action = PROBE_DV_EXIT; + scsi_test_unit_ready(csio, + /*retries*/4, + probedone, + MSG_SIMPLE_Q_TAG, + SSD_FULL_SIZE, + /*timeout*/60000); + break; + } scsi_inquiry(csio, /*retries*/4, probedone, @@ -5840,6 +5862,24 @@ xpt_action((union ccb *)&cts); } +/* + * Backoff Negotiation Code + */ +static int +proberequestbackoff(struct cam_periph *periph) +{ + struct ccb_trans_settings cts; + + xpt_setup_ccb(&cts.ccb_h, periph->path, /*priority*/1); + cts.ccb_h.func_code = XPT_GET_TRAN_SETTINGS; + cts.type = CTS_TYPE_CURRENT_SETTINGS; + xpt_action((union ccb *)&cts); + if ((cts.ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) { + return (0); + } + return (1); +} + static void probedone(struct cam_periph *periph, union ccb *done_ccb) { @@ -6076,7 +6116,7 @@ * negotiations... Controllers don't perform * any negotiation or tagged queuing until * after the first XPT_SET_TRAN_SETTINGS ccb is - * received. So, on a new device, just retreive + * received. So, on a new device, just retrieve * the user settings, and set them as the current * settings to set the device up. */ @@ -6095,25 +6135,82 @@ break; } case PROBE_TUR_FOR_NEGOTIATION: + case PROBE_DV_EXIT: if ((done_ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) { /* Don't wedge the queue */ xpt_release_devq(done_ccb->ccb_h.path, /*count*/1, /*run_queue*/TRUE); } + /* + * Do Domain Validation for lun 0 on devices that claim + * to support Synchronous Transfer modes. + */ + if (softc->action == PROBE_TUR_FOR_NEGOTIATION + && done_ccb->ccb_h.target_lun == 0 + && (path->device->inq_data.flags & SID_Sync) != 0) { + xpt_release_ccb(done_ccb); + softc->action = PROBE_INQUIRY_BASIC_DV1; + xpt_schedule(periph, priority); + return; + } + path->device->flags &= ~CAM_DEV_UNCONFIGURED; + if ((softc->flags & PROBE_NO_ANNOUNCE) == 0) { + /* Inform the XPT that a new device has been found */ + done_ccb->ccb_h.func_code = XPT_GDEV_TYPE; + xpt_action(done_ccb); + xpt_async(AC_FOUND_DEVICE, done_ccb->ccb_h.path, + done_ccb); + } + xpt_release_ccb(done_ccb); + break; + case PROBE_INQUIRY_BASIC_DV1: + case PROBE_INQUIRY_BASIC_DV2: + { + struct scsi_inquiry_data *nbuf; + struct ccb_scsiio *csio; + int iqlen = SID_ADDITIONAL_LENGTH(&path->device->inq_data); + + if ((done_ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) { + /* Don't wedge the queue */ + xpt_release_devq(done_ccb->ccb_h.path, /*count*/1, + /*run_queue*/TRUE); + } + csio = &done_ccb->csio; + nbuf = (struct scsi_inquiry_data *)csio->data_ptr; + if (bcmp(nbuf, &path->device->inq_data, iqlen) != 0) { + xpt_print_path(path); + printf("inquiry data does not compare at DV%d step\n", + softc->action == PROBE_INQUIRY_BASIC_DV1? 1 : 2); + if (proberequestbackoff(periph)) { + softc->action = PROBE_DV_EXIT; + } else { + softc->action = PROBE_TUR_FOR_NEGOTIATION; + } + free(nbuf, M_TEMP); + xpt_release_ccb(done_ccb); + xpt_schedule(periph, priority); + return; + } + free(nbuf, M_TEMP); + if (softc->action == PROBE_INQUIRY_BASIC_DV1) { + softc->action = PROBE_INQUIRY_BASIC_DV2; + xpt_release_ccb(done_ccb); + xpt_schedule(periph, priority); + return; + } path->device->flags &= ~CAM_DEV_UNCONFIGURED; - if ((softc->flags & PROBE_NO_ANNOUNCE) == 0) { /* Inform the XPT that a new device has been found */ done_ccb->ccb_h.func_code = XPT_GDEV_TYPE; xpt_action(done_ccb); - xpt_async(AC_FOUND_DEVICE, done_ccb->ccb_h.path, done_ccb); } xpt_release_ccb(done_ccb); break; } + } done_ccb = (union ccb *)TAILQ_FIRST(&softc->request_ccbs); TAILQ_REMOVE(&softc->request_ccbs, &done_ccb->ccb_h, periph_links.tqe); done_ccb->ccb_h.status = CAM_REQ_CMP; ==== //depot/projects/newisp/cam/scsi/scsi_all.h#2 (text+ko) ==== @@ -599,6 +599,9 @@ #define SID_AENC 0x80 #define SID_TrmIOP 0x40 u_int8_t additional_length; +#define SID_ADDITIONAL_LENGTH(iqd) \ + ((iqd)->additional_length + \ + offsetof(struct scsi_inquiry_data, additional_length) + 1) u_int8_t reserved; u_int8_t spc2_flags; #define SPC2_SID_MChngr 0x08 From owner-p4-projects@FreeBSD.ORG Thu Nov 2 07:05:43 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CED4516A412; Thu, 2 Nov 2006 07:05:43 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 8B98B16A407 for ; Thu, 2 Nov 2006 07:05:43 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 595EA43D49 for ; Thu, 2 Nov 2006 07:05:43 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA275hkm079490 for ; Thu, 2 Nov 2006 07:05:43 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA275gNM079487 for perforce@freebsd.org; Thu, 2 Nov 2006 07:05:42 GMT (envelope-from mjacob@freebsd.org) Date: Thu, 2 Nov 2006 07:05:42 GMT Message-Id: <200611020705.kA275gNM079487@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 109010 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 07:05:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=109010 Change 109010 by mjacob@newisp on 2006/11/02 07:05:26 More Domain Validation work- sync backoff works like you'd expect after some fault injection testing. Affected files ... .. //depot/projects/newisp/cam/cam_xpt.c#6 edit Differences ... ==== //depot/projects/newisp/cam/cam_xpt.c#6 (text+ko) ==== @@ -150,6 +150,7 @@ #define CAM_DEV_RESIZE_QUEUE_NEEDED 0x10 #define CAM_DEV_TAG_AFTER_COUNT 0x20 #define CAM_DEV_INQUIRY_DATA_VALID 0x40 +#define CAM_DEV_IN_DV 0x80 u_int32_t tag_delay_count; #define CAM_TAG_DELAY_COUNT 5 u_int32_t tag_saved_openings; @@ -5863,20 +5864,76 @@ } /* - * Backoff Negotiation Code + * Backoff Negotiation Code- only pertinent for SPI devices. */ static int proberequestbackoff(struct cam_periph *periph) { struct ccb_trans_settings cts; + struct ccb_trans_settings_spi *spi; xpt_setup_ccb(&cts.ccb_h, periph->path, /*priority*/1); cts.ccb_h.func_code = XPT_GET_TRAN_SETTINGS; cts.type = CTS_TYPE_CURRENT_SETTINGS; xpt_action((union ccb *)&cts); if ((cts.ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) { + xpt_print_path(periph->path); + printf("failed to get current settings\n"); + return (0); + } + if (cts.transport != XPORT_SPI) { + xpt_print_path(periph->path); + printf("not SPI transport\n"); + return (0); + } + spi = &cts.xport_specific.spi; + + /* + * We cannot renegotiate sync rate if we don't have one. + */ + if ((spi->valid & CTS_SPI_VALID_SYNC_RATE) == 0) { + xpt_print_path(periph->path); + printf("no sync rate known\n"); + return (0); + } + + /* + * XXX: skipping PPR options + */ + if ((spi->valid & CTS_SPI_VALID_PPR_OPTIONS) != 0) { + xpt_print_path(periph->path); + printf("PPR options not handled yet\n"); + return (0); + } + + /* + * A sync rate with unknown or zero offset is nonsensical. + */ + if ((spi->valid & CTS_SPI_VALID_SYNC_RATE) != 0 + && ((spi->valid & CTS_SPI_VALID_SYNC_OFFSET) == 0 + || ((spi->sync_offset == 0)))) { + xpt_print_path(periph->path); + printf("nonsensical sync rate/offset validity\n"); return (0); } + + /* + * Jump sync_period up by one, but stop at 5MHz and fall back to Async. + */ + spi->valid = CTS_SPI_VALID_SYNC_RATE | CTS_SPI_VALID_SYNC_OFFSET; + for (;;) { + spi->sync_period++; + if (spi->sync_period >= 0xf) { + spi->sync_period = 0; + spi->sync_offset = 0; + } + cts.ccb_h.func_code = XPT_SET_TRAN_SETTINGS; + cts.type = CTS_TYPE_CURRENT_SETTINGS; + xpt_action((union ccb *)&cts); + if ((cts.ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) { + break; + } + } return (1); } @@ -6147,13 +6204,15 @@ */ if (softc->action == PROBE_TUR_FOR_NEGOTIATION && done_ccb->ccb_h.target_lun == 0 - && (path->device->inq_data.flags & SID_Sync) != 0) { + && (path->device->inq_data.flags & SID_Sync) != 0 + && (path->device->flags & CAM_DEV_IN_DV) == 0) { + path->device->flags |= CAM_DEV_IN_DV; xpt_release_ccb(done_ccb); softc->action = PROBE_INQUIRY_BASIC_DV1; xpt_schedule(periph, priority); return; } - path->device->flags &= ~CAM_DEV_UNCONFIGURED; + path->device->flags &= ~(CAM_DEV_UNCONFIGURED|CAM_DEV_IN_DV); if ((softc->flags & PROBE_NO_ANNOUNCE) == 0) { /* Inform the XPT that a new device has been found */ done_ccb->ccb_h.func_code = XPT_GDEV_TYPE; @@ -6177,15 +6236,14 @@ } csio = &done_ccb->csio; nbuf = (struct scsi_inquiry_data *)csio->data_ptr; - if (bcmp(nbuf, &path->device->inq_data, iqlen) != 0) { xpt_print_path(path); printf("inquiry data does not compare at DV%d step\n", softc->action == PROBE_INQUIRY_BASIC_DV1? 1 : 2); if (proberequestbackoff(periph)) { + softc->action = PROBE_TUR_FOR_NEGOTIATION; + } else { softc->action = PROBE_DV_EXIT; - } else { - softc->action = PROBE_TUR_FOR_NEGOTIATION; } free(nbuf, M_TEMP); xpt_release_ccb(done_ccb); From owner-p4-projects@FreeBSD.ORG Thu Nov 2 07:15:58 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5FD4616A412; Thu, 2 Nov 2006 07:15:58 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 1E9FB16A403 for ; Thu, 2 Nov 2006 07:15:58 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E107143D64 for ; Thu, 2 Nov 2006 07:15:57 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA27FvOc081015 for ; Thu, 2 Nov 2006 07:15:57 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA27FvAI081012 for perforce@freebsd.org; Thu, 2 Nov 2006 07:15:57 GMT (envelope-from imp@freebsd.org) Date: Thu, 2 Nov 2006 07:15:57 GMT Message-Id: <200611020715.kA27FvAI081012@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 Cc: Subject: PERFORCE change 109011 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 07:15:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=109011 Change 109011 by imp@imp_lighthouse on 2006/11/02 07:15:29 Properly account for tx and rx packets, as well as collisions. Affected files ... .. //depot/projects/arm/src/sys/arm/at91/if_ate.c#58 edit Differences ... ==== //depot/projects/arm/src/sys/arm/at91/if_ate.c#58 (text+ko) ==== @@ -492,8 +492,10 @@ ate_tick(void *xsc) { struct ate_softc *sc = xsc; + struct ifnet *ifp = sc->ifp; struct mii_data *mii; int active; + uint32_t c; /* * The KB920x boot loader tests ETH_SR & ETH_SR_LINK and will ask @@ -535,16 +537,25 @@ * the dot3Stats mib, so for those we just count them as general * errors. Stats for iframes, ibutes, oframes and obytes are * collected elsewhere. These registers zero on a read to prevent - * races. + * races. For all the collision stats, also update the collision + * stats for the interface. */ sc->mibdata.dot3StatsAlignmentErrors += RD4(sc, ETH_ALE); sc->mibdata.dot3StatsFCSErrors += RD4(sc, ETH_SEQE); - sc->mibdata.dot3StatsSingleCollisionFrames += RD4(sc, ETH_SCOL); - sc->mibdata.dot3StatsMultipleCollisionFrames += RD4(sc, ETH_MCOL); + c = RD4(sc, ETH_SCOL); + ifp->if_collisions += c; + sc->mibdata.dot3StatsSingleCollisionFrames += c; + c = RD4(sc, ETH_MCOL); + sc->mibdata.dot3StatsMultipleCollisionFrames += c; + ifp->if_collisions += c; sc->mibdata.dot3StatsSQETestErrors += RD4(sc, ETH_SQEE); sc->mibdata.dot3StatsDeferredTransmissions += RD4(sc, ETH_DTE); - sc->mibdata.dot3StatsLateCollisions += RD4(sc, ETH_LCOL); - sc->mibdata.dot3StatsExcessiveCollisions += RD4(sc, ETH_ECOL); + c = RD4(sc, ETH_LCOL); + sc->mibdata.dot3StatsLateCollisions += c; + ifp->if_collisions += c; + c = RD4(sc, ETH_ECOL); + sc->mibdata.dot3StatsExcessiveCollisions += c; + ifp->if_collisions += c; sc->mibdata.dot3StatsCarrierSenseErrors += RD4(sc, ETH_CSE); sc->mibdata.dot3StatsFrameTooLongs += RD4(sc, ETH_ELR); sc->mibdata.dot3StatsInternalMacReceiveErrors += RD4(sc, ETH_DRFC); @@ -552,7 +563,7 @@ * not sure where to lump these, so count them against the errors * for the interface. */ - sc->ifp->if_oerrors += RD4(sc, ETH_CSE) + RD4(sc, ETH_TUE); + sc->ifp->if_oerrors += RD4(sc, ETH_TUE); sc->ifp->if_ierrors += RD4(sc, ETH_CDE) + RD4(sc, ETH_RJB) + RD4(sc, ETH_USF); @@ -595,6 +606,7 @@ ate_intr(void *xsc) { struct ate_softc *sc = xsc; + struct ifnet *ifp = sc->ifp; int status; int i; void *bp; @@ -630,25 +642,30 @@ */ mb = m_devget(sc->rx_buf[i], (rx_stat & ETH_LEN_MASK) - ETHER_CRC_LEN, - ETHER_ALIGN, sc->ifp, NULL); + ETHER_ALIGN, ifp, NULL); sc->rx_descs[i].addr &= ~ETH_CPU_OWNER; bus_dmamap_sync(sc->rx_desc_tag, sc->rx_desc_map, BUS_DMASYNC_PREWRITE); bus_dmamap_sync(sc->rxtag, sc->rx_map[i], BUS_DMASYNC_PREREAD); - if (mb != NULL) - (*sc->ifp->if_input)(sc->ifp, mb); + if (mb != NULL) { + ifp->if_ipackets++; + (*ifp->if_input)(ifp, mb); + } + } } if (status & ETH_ISR_TCOM) { ATE_LOCK(sc); if (sc->sent_mbuf[0]) { m_freem(sc->sent_mbuf[0]); + ifp->if_opackets++; sc->sent_mbuf[0] = NULL; } if (sc->sent_mbuf[1]) { if (RD4(sc, ETH_TSR) & ETH_TSR_IDLE) { m_freem(sc->sent_mbuf[1]); + ifp->if_opackets++; sc->txcur = 0; sc->sent_mbuf[0] = sc->sent_mbuf[1] = NULL; } else { From owner-p4-projects@FreeBSD.ORG Thu Nov 2 07:56:00 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1886C16A417; Thu, 2 Nov 2006 07:56:00 +0000 (UTC) X-Original-To: perforce@FreeBSD.org 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 C135B16A40F for ; Thu, 2 Nov 2006 07:55:59 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8F19043D55 for ; Thu, 2 Nov 2006 07:55:59 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA27txif087137 for ; Thu, 2 Nov 2006 07:55:59 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA27txfg087134 for perforce@freebsd.org; Thu, 2 Nov 2006 07:55:59 GMT (envelope-from rdivacky@FreeBSD.org) Date: Thu, 2 Nov 2006 07:55:59 GMT Message-Id: <200611020755.kA27txfg087134@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 109014 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 07:56:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=109014 Change 109014 by rdivacky@rdivacky_witten on 2006/11/02 07:55:11 Share pid and threads etc for CLONE_THREAD not for CLONE_VM. This makes clone02 and hopefully a lot of other tests in LTP work. Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_emul.c#14 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_emul.c#14 (text+ko) ==== @@ -85,7 +85,7 @@ em = malloc(sizeof *em, M_LINUX, M_WAITOK | M_ZERO); em->pid = child; em->pdeath_signal = 0; - if (flags & CLONE_VM) { + if (flags & CLONE_THREAD) { /* handled later in the code */ } else { struct linux_emuldata_shared *s; @@ -117,10 +117,10 @@ * the newly created proc */ if (child != 0) { - if (flags & CLONE_VM) { + if (flags & CLONE_THREAD) { /* lookup the parent */ p_em = em_find(td->td_proc, EMUL_LOCKED); - KASSERT(p_em != NULL, ("proc_init: parent emuldata not found for CLONE_VM\n")); + KASSERT(p_em != NULL, ("proc_init: parent emuldata not found for CLONE_THREAD\n")); em->shared = p_em->shared; em->shared->refs++; } else { From owner-p4-projects@FreeBSD.ORG Thu Nov 2 08:04:11 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 986E716A416; Thu, 2 Nov 2006 08:04:11 +0000 (UTC) X-Original-To: perforce@FreeBSD.org 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 355DB16A412 for ; Thu, 2 Nov 2006 08:04:11 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 019E143D46 for ; Thu, 2 Nov 2006 08:04:11 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA284A7h089628 for ; Thu, 2 Nov 2006 08:04:10 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA284A2a089624 for perforce@freebsd.org; Thu, 2 Nov 2006 08:04:10 GMT (envelope-from rdivacky@FreeBSD.org) Date: Thu, 2 Nov 2006 08:04:10 GMT Message-Id: <200611020804.kA284A2a089624@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 109016 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 08:04:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=109016 Change 109016 by rdivacky@rdivacky_witten on 2006/11/02 08:03:49 Dont forget to print arguments in the newly added debug prints. Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#25 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#25 (text+ko) ==== @@ -1500,7 +1500,7 @@ #ifdef DEBUG if (ldebug(getsid)) - printf(ARGS(getsid, "")); + printf(ARGS(getsid, "%i"), args->pid); #endif bsd.pid = args->pid; @@ -1522,7 +1522,7 @@ #ifdef DEBUG if (ldebug(getpriority)) - printf(ARGS(getpriority, "")); + printf(ARGS(getpriority, "%i, %i"), args->which, args->who); #endif bsd_args.which = args->which; @@ -1539,7 +1539,7 @@ #ifdef DEBUG if (ldebug(sethostname)) - printf(ARGS(sethostname, "")); + printf(ARGS(sethostname, "%s, %i"), args->hostname, args->len); #endif name[0] = CTL_KERN; From owner-p4-projects@FreeBSD.ORG Thu Nov 2 08:25:38 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AD3E316A416; Thu, 2 Nov 2006 08:25:38 +0000 (UTC) X-Original-To: perforce@FreeBSD.org 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 87A8A16A412 for ; Thu, 2 Nov 2006 08:25:38 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 54B2043D73 for ; Thu, 2 Nov 2006 08:25:38 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA28Pc52093152 for ; Thu, 2 Nov 2006 08:25:38 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA28Pc9q093149 for perforce@freebsd.org; Thu, 2 Nov 2006 08:25:38 GMT (envelope-from rdivacky@FreeBSD.org) Date: Thu, 2 Nov 2006 08:25:38 GMT Message-Id: <200611020825.kA28Pc9q093149@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 109018 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 08:25:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=109018 Change 109018 by rdivacky@rdivacky_witten on 2006/11/02 08:25:06 Dont lock proc->pid in getpid and gettid. Suggested by: jhb Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#26 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#26 (text+ko) ==== @@ -1397,9 +1397,7 @@ td->td_retval[0] = em->shared->group_pid; EMUL_UNLOCK(&emul_lock); } else { - PROC_LOCK(td->td_proc); td->td_retval[0] = td->td_proc->p_pid; - PROC_UNLOCK(td->td_proc); } return (0); @@ -1413,9 +1411,7 @@ printf(ARGS(gettid, "")); #endif - PROC_LOCK(td->td_proc); td->td_retval[0] = td->td_proc->p_pid; - PROC_UNLOCK(td->td_proc); return (0); } From owner-p4-projects@FreeBSD.ORG Thu Nov 2 08:45:07 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9ACCD16A417; Thu, 2 Nov 2006 08:45:07 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 6F59F16A412 for ; Thu, 2 Nov 2006 08:45:07 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 25ACA43D49 for ; Thu, 2 Nov 2006 08:45:07 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA28j75H096454 for ; Thu, 2 Nov 2006 08:45:07 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA28j1Ro096451 for perforce@freebsd.org; Thu, 2 Nov 2006 08:45:01 GMT (envelope-from piso@freebsd.org) Date: Thu, 2 Nov 2006 08:45:01 GMT Message-Id: <200611020845.kA28j1Ro096451@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 109019 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 08:45:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=109019 Change 109019 by piso@piso_newluxor on 2006/11/02 08:44:23 IFC@109017 Affected files ... .. //depot/projects/soc2005/libalias/sys/boot/common/Makefile.inc#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/common/bootstrap.h#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/common/devopen.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/efi/include/efi.h#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/efi/include/efi_nii.h#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/efi/include/efiapi.h#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/efi/include/eficon.h#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/efi/include/efidebug.h#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/efi/include/efidef.h#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/efi/include/efidevp.h#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/efi/include/efierr.h#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/efi/include/efifs.h#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/efi/include/efilib.h#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/efi/include/efinet.h#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/efi/include/efipart.h#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/efi/include/efiprot.h#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/efi/include/efipxebc.h#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/efi/include/efiser.h#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/efi/include/efistdarg.h#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/efi/include/i386/efibind.h#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/efi/include/i386/pe.h#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/efi/include/ia64/efibind.h#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/efi/include/ia64/pe.h#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/efi/libefi/devicename.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/efi/libefi/efiboot.h#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/efi/libefi/efifs.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/i386/libi386/bioscd.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/i386/libi386/biosdisk.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/i386/libi386/bootinfo32.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/i386/libi386/devicename.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/i386/libi386/libi386.h#3 integrate .. //depot/projects/soc2005/libalias/sys/boot/i386/loader/Makefile#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/i386/loader/main.c#3 integrate .. //depot/projects/soc2005/libalias/sys/boot/ia64/efi/main.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/ia64/ski/devicename.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/ia64/ski/libski.h#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/ia64/ski/main.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/ofw/common/main.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/ofw/libofw/libofw.h#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/pc98/libpc98/bioscd.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/pc98/libpc98/biosdisk.c#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/pc98/loader/Makefile#2 integrate .. //depot/projects/soc2005/libalias/sys/boot/pc98/loader/main.c#3 integrate .. //depot/projects/soc2005/libalias/sys/boot/sparc64/loader/main.c#3 integrate .. //depot/projects/soc2005/libalias/sys/cam/cam_ccb.h#2 integrate .. //depot/projects/soc2005/libalias/sys/cam/cam_xpt.c#4 integrate .. //depot/projects/soc2005/libalias/sys/cam/scsi/scsi_low.c#3 integrate .. //depot/projects/soc2005/libalias/sys/conf/NOTES#13 integrate .. //depot/projects/soc2005/libalias/sys/conf/files.sparc64#3 integrate .. //depot/projects/soc2005/libalias/sys/conf/options#10 integrate .. //depot/projects/soc2005/libalias/sys/conf/options.sparc64#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/aac/aac_cam.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/advansys/advansys.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/advansys/advlib.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/advansys/adwcam.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/aha/aha.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/ahb/ahb.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/aic/aic.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/aic7xxx/aic79xx_osm.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/aic7xxx/aic79xx_osm.h#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/aic7xxx/aic7xxx_osm.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/aic7xxx/aic7xxx_osm.h#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/amd/amd.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/amr/amr_cam.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/arcmsr/arcmsr.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/asr/asr.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/ata/atapi-cam.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/buslogic/bt.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/ciss/ciss.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/dc/if_dc.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/dpt/dpt_scsi.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/esp/ncr53c9x.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/firewire/sbp.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/iir/iir.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/isp/isp.c#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/isp/isp_freebsd.c#7 integrate .. //depot/projects/soc2005/libalias/sys/dev/isp/isp_freebsd.h#5 integrate .. //depot/projects/soc2005/libalias/sys/dev/isp/isp_library.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/isp/isp_library.h#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/isp/isp_pci.c#7 integrate .. //depot/projects/soc2005/libalias/sys/dev/isp/isp_sbus.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/isp/isp_stds.h#1 branch .. //depot/projects/soc2005/libalias/sys/dev/isp/isp_target.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/isp/isp_target.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/isp/isp_tpublic.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/isp/ispmbox.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/isp/ispreg.h#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/isp/ispvar.h#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/ispfw/asm_2300.h#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/mly/mly.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/mpt/mpt_cam.c#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/sym/sym_hipd.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/trm/trm.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/twa/tw_osl_cam.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/uart/uart_kbd_sun.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/uart/uart_kbd_sun.h#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/umass.c#5 integrate .. //depot/projects/soc2005/libalias/sys/geom/journal/g_journal.c#2 integrate .. //depot/projects/soc2005/libalias/sys/geom/mirror/g_mirror.c#6 integrate .. //depot/projects/soc2005/libalias/sys/geom/mirror/g_mirror.h#2 integrate .. //depot/projects/soc2005/libalias/sys/geom/mirror/g_mirror_ctl.c#3 integrate .. //depot/projects/soc2005/libalias/sys/geom/raid3/g_raid3.c#8 integrate .. //depot/projects/soc2005/libalias/sys/geom/raid3/g_raid3.h#2 integrate .. //depot/projects/soc2005/libalias/sys/geom/raid3/g_raid3_ctl.c#4 integrate .. //depot/projects/soc2005/libalias/sys/geom/stripe/g_stripe.c#3 integrate .. //depot/projects/soc2005/libalias/sys/net/bridgestp.c#6 integrate .. //depot/projects/soc2005/libalias/sys/pci/if_sis.c#4 integrate .. //depot/projects/soc2005/libalias/sys/pci/ncr.c#4 integrate .. //depot/projects/soc2005/libalias/sys/sparc64/conf/NOTES#5 integrate Differences ... ==== //depot/projects/soc2005/libalias/sys/boot/common/Makefile.inc#2 (text+ko) ==== @@ -1,6 +1,6 @@ -# $FreeBSD: src/sys/boot/common/Makefile.inc,v 1.22 2006/05/12 04:09:52 jhb Exp $ +# $FreeBSD: src/sys/boot/common/Makefile.inc,v 1.23 2006/11/02 00:26:44 marcel Exp $ -SRCS+= bcache.c boot.c commands.c console.c devopen.c interp.c +SRCS+= boot.c commands.c console.c devopen.c interp.c SRCS+= interp_backslash.c interp_parse.c ls.c misc.c SRCS+= module.c panic.c @@ -19,6 +19,10 @@ SRCS+= dev_net.c .endif +.if defined(HAVE_BCACHE) +SRCS+= bcache.c +.endif + # Machine-independant ISA PnP .if defined(HAVE_ISABUS) SRCS+= isapnp.c ==== //depot/projects/soc2005/libalias/sys/boot/common/bootstrap.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/boot/common/bootstrap.h,v 1.42 2005/12/18 04:52:35 marcel Exp $ + * $FreeBSD: src/sys/boot/common/bootstrap.h,v 1.43 2006/11/02 01:23:17 marcel Exp $ */ #include @@ -43,6 +43,7 @@ #define DEVT_DISK 1 #define DEVT_NET 2 #define DEVT_CD 3 + int d_unit; }; /* Commands and return values; nonzero return sets command_errmsg != NULL */ ==== //depot/projects/soc2005/libalias/sys/boot/common/devopen.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/common/devopen.c,v 1.4 2003/08/25 23:30:41 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/common/devopen.c,v 1.5 2006/11/02 00:02:22 marcel Exp $"); #include #include @@ -35,20 +35,25 @@ int devopen(struct open_file *f, const char *fname, const char **file) { - struct devdesc *dev; - int result; + struct devdesc *dev; + int result; + + result = archsw.arch_getdev((void **)&dev, fname, file); + if (result) + return (result); - if ((result = archsw.arch_getdev((void *)&dev, fname, file)) == 0) { /* get the device */ - /* point to device-specific data so that device open can use it */ - f->f_devdata = dev; - if ((result = dev->d_dev->dv_open(f, dev)) == 0) { /* try to open it */ - /* reference the devsw entry from the open_file structure */ - f->f_dev = dev->d_dev; - } else { - free(dev); /* release the device descriptor */ - } + /* point to device-specific data so that device open can use it */ + f->f_devdata = dev; + result = dev->d_dev->dv_open(f, dev); + if (result != 0) { + f->f_devdata = NULL; + free(dev); + return (result); } - return(result); + + /* reference the devsw entry from the open_file structure */ + f->f_dev = dev->d_dev; + return (0); } int ==== //depot/projects/soc2005/libalias/sys/boot/efi/include/efi.h#2 (text+ko) ==== @@ -1,7 +1,14 @@ -/* $FreeBSD: src/sys/boot/efi/include/efi.h,v 1.3 2002/05/19 03:17:20 marcel Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/efi.h,v 1.4 2006/11/02 02:42:47 marcel Exp $ */ /*++ -Copyright (c) 1998 Intel Corporation +Copyright (c) 1999 - 2002 Intel Corporation. All rights reserved +This software and associated documentation (if any) is furnished +under a license and may only be used or copied in accordance +with the terms of the license. Except as permitted by such +license, no part of this software or documentation may be +reproduced, stored in a retrieval system, or transmitted in any +form or by any means without the express written consent of +Intel Corporation. Module Name: @@ -17,19 +24,20 @@ --*/ -/* - * Build flags on input - * EFI32 - * EFI_DEBUG - Enable debugging code - * EFI_NT_EMULATOR - Building for running under NT - */ +// +// Build flags on input +// EFI32 +// EFI_DEBUG - Enable debugging code +// EFI_NT_EMULATOR - Building for running under NT +// + #ifndef _EFI_INCLUDE_ #define _EFI_INCLUDE_ #define EFI_FIRMWARE_VENDOR L"INTEL" -#define EFI_FIRMWARE_MAJOR_REVISION 12 -#define EFI_FIRMWARE_MINOR_REVISION 33 +#define EFI_FIRMWARE_MAJOR_REVISION 14 +#define EFI_FIRMWARE_MINOR_REVISION 62 #define EFI_FIRMWARE_REVISION ((EFI_FIRMWARE_MAJOR_REVISION <<16) | (EFI_FIRMWARE_MINOR_REVISION)) #include "efibind.h" @@ -43,7 +51,12 @@ #include "efinet.h" #include "efiapi.h" #include "efifs.h" -#include "efifpswa.h" #include "efierr.h" +#define EFI_STRINGIZE(a) #a +#define EFI_PROTOCOL_DEFINITION(a) EFI_STRINGIZE(Protocol/a/a.h) + +#define EFI_GUID_DEFINITION(a) EFI_STRINGIZE(Guid/a/a##.h) +#define EFI_GUID_STRING(guidpointer, shortstring, longstring) + #endif ==== //depot/projects/soc2005/libalias/sys/boot/efi/include/efi_nii.h#2 (text+ko) ==== @@ -1,9 +1,16 @@ -/* $FreeBSD: src/sys/boot/efi/include/efi_nii.h,v 1.2 2002/05/19 03:17:20 marcel Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/efi_nii.h,v 1.3 2006/11/02 02:42:47 marcel Exp $ */ #ifndef _EFI_NII_H #define _EFI_NII_H /*++ -Copyright (c) 2000 Intel Corporation +Copyright (c) 1999 - 2002 Intel Corporation. All rights reserved +This software and associated documentation (if any) is furnished +under a license and may only be used or copied in accordance +with the terms of the license. Except as permitted by such +license, no part of this software or documentation may be +reproduced, stored in a retrieval system, or transmitted in any +form or by any means without the express written consent of +Intel Corporation. Module name: efi_nii.h @@ -20,8 +27,11 @@ #define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL \ { 0xE18541CD, 0xF755, 0x4f73, 0x92, 0x8D, 0x64, 0x3C, 0x8A, 0x79, 0xB2, 0x29 } +#define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_31 \ + { 0x1ACED566, 0x76ED, 0x4218, 0xBC, 0x81, 0x76, 0x7F, 0x1F, 0x97, 0x7A, 0x89 } #define EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE_REVISION 0x00010000 +#define EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE_REVISION_31 0x00010001 typedef enum { EfiNetworkInterfaceUndi = 1 @@ -29,54 +39,48 @@ typedef struct { - /* Revision of the network interface identifier protocol interface. */ UINT64 Revision; + // Revision of the network interface identifier protocol interface. - /* - * Address of the first byte of the identifying structure for this - * network interface. This is set to zero if there is no structure. - * For PXE/UNDI this is the first byte of the !PXE structure. - */ UINT64 ID; + // Address of the first byte of the identifying structure for this + // network interface. This is set to zero if there is no structure. + // + // For PXE/UNDI this is the first byte of the !PXE structure. - /* - * Address of the UNrelocated driver/ROM image. This is set - * to zero if there is no driver/ROM image. - * For 16-bit UNDI, this is the first byte of the option ROM in - * upper memory. - * For 32/64-bit S/W UNDI, this is the first byte of the EFI ROM - * image. - * For H/W UNDI, this is set to zero. - */ UINT64 ImageAddr; + // Address of the UNrelocated driver/ROM image. This is set + // to zero if there is no driver/ROM image. + // + // For 16-bit UNDI, this is the first byte of the option ROM in + // upper memory. + // + // For 32/64-bit S/W UNDI, this is the first byte of the EFI ROM + // image. + // + // For H/W UNDI, this is set to zero. - /* - * Size of the UNrelocated driver/ROM image of this network interface. - * This is set to zero if there is no driver/ROM image. - */ UINT32 ImageSize; + // Size of the UNrelocated driver/ROM image of this network interface. + // This is set to zero if there is no driver/ROM image. - /* - * 4 char ASCII string to go in class identifier (option 60) in DHCP - * and Boot Server discover packets. - * For EfiNetworkInterfaceUndi this field is "UNDI". - * For EfiNetworkInterfaceSnp this field is "SNPN". - */ CHAR8 StringId[4]; + // 4 char ASCII string to go in class identifier (option 60) in DHCP + // and Boot Server discover packets. + // For EfiNetworkInterfaceUndi this field is "UNDI". + // For EfiNetworkInterfaceSnp this field is "SNPN". - /* - * Information to be placed into the PXE DHCP and Discover packets. - * This is the network interface type and version number that will - * be placed into DHCP option 94 (client network interface identifier). - */ UINT8 Type; UINT8 MajorVer; UINT8 MinorVer; - + // Information to be placed into the PXE DHCP and Discover packets. + // This is the network interface type and version number that will + // be placed into DHCP option 94 (client network interface identifier). BOOLEAN Ipv6Supported; - UINT8 IfNum; /* interface number to be used with pxeid structure */ + UINT8 IfNum; // interface number to be used with pxeid structure } EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE; extern EFI_GUID NetworkInterfaceIdentifierProtocol; +extern EFI_GUID NetworkInterfaceIdentifierProtocol_31; -#endif /* _EFI_NII_H */ +#endif // _EFI_NII_H ==== //depot/projects/soc2005/libalias/sys/boot/efi/include/efiapi.h#2 (text+ko) ==== @@ -1,10 +1,17 @@ -/* $FreeBSD: src/sys/boot/efi/include/efiapi.h,v 1.6 2003/12/10 19:08:09 jhb Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/efiapi.h,v 1.7 2006/11/02 02:42:47 marcel Exp $ */ #ifndef _EFI_API_H #define _EFI_API_H /*++ -Copyright (c) 1998 Intel Corporation +Copyright (c) 1999 - 2002 Intel Corporation. All rights reserved +This software and associated documentation (if any) is furnished +under a license and may only be used or copied in accordance +with the terms of the license. Except as permitted by such +license, no part of this software or documentation may be +reproduced, stored in a retrieval system, or transmitted in any +form or by any means without the express written consent of +Intel Corporation. Module Name: @@ -21,22 +28,22 @@ --*/ -/* - * EFI Specification Revision - */ +// +// EFI Specification Revision +// #define EFI_SPECIFICATION_MAJOR_REVISION 1 -#define EFI_SPECIFICATION_MINOR_REVISION 02 +#define EFI_SPECIFICATION_MINOR_REVISION 10 -/* - * Declare forward referenced data structures - */ +// +// Declare forward referenced data structures +// INTERFACE_DECL(_EFI_SYSTEM_TABLE); -/* - * EFI Memory - */ +// +// EFI Memory +// typedef EFI_STATUS @@ -92,8 +99,8 @@ #define EFI_OPTIONAL_PTR 0x00000001 -#define EFI_INTERNAL_FNC 0x00000002 /* Pointer to internal runtime fnc */ -#define EFI_INTERNAL_PTR 0x00000004 /* Pointer to internal runtime data */ +#define EFI_INTERNAL_FNC 0x00000002 // Pointer to internal runtime fnc +#define EFI_INTERNAL_PTR 0x00000004 // Pointer to internal runtime data typedef @@ -104,9 +111,9 @@ ); -/* - * EFI Events - */ +// +// EFI Events +// @@ -181,9 +188,9 @@ IN EFI_EVENT Event ); -/* - * Task priority level - */ +// +// Task priority level +// #define TPL_APPLICATION 4 #define TPL_CALLBACK 8 @@ -203,19 +210,19 @@ ); -/* - * EFI platform variables - */ +// +// EFI platform varibles +// #define EFI_GLOBAL_VARIABLE \ { 0x8BE4DF61, 0x93CA, 0x11d2, 0xAA, 0x0D, 0x00, 0xE0, 0x98, 0x03, 0x2B, 0x8C } -/* Variable attributes */ +// Variable attributes #define EFI_VARIABLE_NON_VOLATILE 0x00000001 #define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002 #define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004 -/* Variable size limitation */ +// Variable size limitation #define EFI_MAXIMUM_VARIABLE_SIZE 1024 typedef @@ -248,14 +255,14 @@ ); -/* - * EFI Time - */ +// +// EFI Time +// typedef struct { - UINT32 Resolution; /* 1e-6 parts per million */ - UINT32 Accuracy; /* hertz */ - BOOLEAN SetsToZero; /* Set clears sub-second time */ + UINT32 Resolution; // 1e-6 parts per million + UINT32 Accuracy; // hertz + BOOLEAN SetsToZero; // Set clears sub-second time } EFI_TIME_CAPABILITIES; @@ -288,12 +295,12 @@ ); -/* - * Image functions - */ +// +// Image functions +// -/* PE32+ Subsystem type for EFI images */ +// PE32+ Subsystem type for EFI images #if !defined(IMAGE_SUBSYSTEM_EFI_APPLICATION) #define IMAGE_SUBSYSTEM_EFI_APPLICATION 10 @@ -301,7 +308,7 @@ #define IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER 12 #endif -/* PE32+ Machine type for EFI images */ +// PE32+ Machine type for EFI images #if !defined(EFI_IMAGE_MACHINE_IA32) #define EFI_IMAGE_MACHINE_IA32 0x014c @@ -311,7 +318,11 @@ #define EFI_IMAGE_MACHINE_IA64 0x0200 #endif -/* Image Entry prototype */ +#if !defined(EFI_IMAGE_MACHINE_EBC) +#define EFI_IMAGE_MACHINE_EBC 0x0EBC +#endif + +// Image Entry prototype typedef EFI_STATUS @@ -355,32 +366,32 @@ ); -/* Image handle */ +// Image handle #define LOADED_IMAGE_PROTOCOL \ { 0x5B1B31A1, 0x9562, 0x11d2, 0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B } -#define EFI_IMAGE_INFORMATION_REVISION 0x1000 +#define EFI_LOADED_IMAGE_INFORMATION_REVISION 0x1000 typedef struct { UINT32 Revision; EFI_HANDLE ParentHandle; struct _EFI_SYSTEM_TABLE *SystemTable; - /* Source location of image */ + // Source location of image EFI_HANDLE DeviceHandle; EFI_DEVICE_PATH *FilePath; VOID *Reserved; - /* Images load options */ + // Images load options UINT32 LoadOptionsSize; VOID *LoadOptions; - /* Location of where image was loaded */ + // Location of where image was loaded VOID *ImageBase; UINT64 ImageSize; EFI_MEMORY_TYPE ImageCodeType; EFI_MEMORY_TYPE ImageDataType; - /* If the driver image supports a dynamic unload request */ + // If the driver image supports a dynamic unload request EFI_IMAGE_UNLOAD Unload; } EFI_LOADED_IMAGE; @@ -393,9 +404,9 @@ IN UINTN MapKey ); -/* - * Misc - */ +// +// Misc +// typedef @@ -416,11 +427,12 @@ typedef enum { EfiResetCold, - EfiResetWarm + EfiResetWarm, + EfiResetShutdown } EFI_RESET_TYPE; typedef -EFI_STATUS +VOID (EFIAPI *EFI_RESET_SYSTEM) ( IN EFI_RESET_TYPE ResetType, IN EFI_STATUS ResetStatus, @@ -440,13 +452,12 @@ OUT UINT32 *HighCount ); -/* - * Protocol handler functions - */ +// +// Protocol handler functions +// typedef enum { - EFI_NATIVE_INTERFACE, - EFI_PCODE_INTERFACE + EFI_NATIVE_INTERFACE } EFI_INTERFACE_TYPE; typedef @@ -525,179 +536,355 @@ typedef EFI_STATUS (EFIAPI *EFI_RESERVED_SERVICE) ( - VOID ); -/* - * Standard EFI table header - */ +typedef +EFI_STATUS +(EFIAPI *EFI_CONNECT_CONTROLLER) ( + IN EFI_HANDLE ControllerHandle, + IN EFI_HANDLE *DriverImageHandle OPTIONAL, + IN EFI_DEVICE_PATH *RemainingDevicePath OPTIONAL, + IN BOOLEAN Recursive + ); + +typedef +EFI_STATUS +(EFIAPI *EFI_DISCONNECT_CONTROLLER)( + IN EFI_HANDLE ControllerHandle, + IN EFI_HANDLE DriverImageHandle, OPTIONAL + IN EFI_HANDLE ChildHandle OPTIONAL + ); + +#define EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL 0x00000001 +#define EFI_OPEN_PROTOCOL_GET_PROTOCOL 0x00000002 +#define EFI_OPEN_PROTOCOL_TEST_PROTOCOL 0x00000004 +#define EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER 0x00000008 +#define EFI_OPEN_PROTOCOL_BY_DRIVER 0x00000010 +#define EFI_OPEN_PROTOCOL_EXCLUSIVE 0x00000020 + +typedef +EFI_STATUS +(EFIAPI *EFI_OPEN_PROTOCOL) ( + IN EFI_HANDLE Handle, + IN EFI_GUID *Protocol, + OUT VOID **Interface, + IN EFI_HANDLE ImageHandle, + IN EFI_HANDLE ControllerHandle, OPTIONAL + IN UINT32 Attributes + ); + +typedef +EFI_STATUS +(EFIAPI *EFI_CLOSE_PROTOCOL) ( + IN EFI_HANDLE Handle, + IN EFI_GUID *Protocol, + IN EFI_HANDLE ImageHandle, + IN EFI_HANDLE DeviceHandle + ); + +typedef struct { + EFI_HANDLE AgentHandle; + EFI_HANDLE ControllerHandle; + UINT32 Attributes; + UINT32 OpenCount; +} EFI_OPEN_PROTOCOL_INFORMATION_ENTRY; + +typedef +EFI_STATUS +(EFIAPI *EFI_OPEN_PROTOCOL_INFORMATION) ( + IN EFI_HANDLE UserHandle, + IN EFI_GUID *Protocol, + IN EFI_OPEN_PROTOCOL_INFORMATION_ENTRY **EntryBuffer, + OUT UINTN *EntryCount + ); + +typedef +EFI_STATUS +(EFIAPI *EFI_PROTOCOLS_PER_HANDLE) ( + IN EFI_HANDLE UserHandle, + OUT EFI_GUID ***ProtocolBuffer, + OUT UINTN *ProtocolBufferCount + ); + +typedef +EFI_STATUS +(EFIAPI *EFI_LOCATE_HANDLE_BUFFER) ( + IN EFI_LOCATE_SEARCH_TYPE SearchType, + IN EFI_GUID *Protocol OPTIONAL, + IN VOID *SearchKey OPTIONAL, + IN OUT UINTN *NumberHandles, + OUT EFI_HANDLE **Buffer + ); + +typedef +EFI_STATUS +(EFIAPI *EFI_LOCATE_PROTOCOL) ( + EFI_GUID *Protocol, + VOID *Registration, OPTIONAL + VOID **Interface + ); + +typedef +EFI_STATUS +(EFIAPI *EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES) ( + IN OUT EFI_HANDLE *Handle, + ... + ); + +typedef +EFI_STATUS +(EFIAPI *EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES) ( + IN EFI_HANDLE Handle, + ... + ); + +typedef +EFI_STATUS +(EFIAPI *EFI_CALCULATE_CRC32) ( + IN VOID *Data, + IN UINTN DataSize, + OUT UINT32 *Crc32 + ); + +typedef +VOID +(EFIAPI *EFI_COPY_MEM) ( + IN VOID *Destination, + IN VOID *Source, + IN UINTN Length + ); + +typedef +VOID +(EFIAPI *EFI_SET_MEM) ( + IN VOID *Buffer, + IN UINTN Size, + IN UINT8 Value + ); + +// +// Standard EFI table header +// typedef struct _EFI_TABLE_HEARDER { - UINT64 Signature; - UINT32 Revision; - UINT32 HeaderSize; - UINT32 CRC32; - UINT32 Reserved; + UINT64 Signature; + UINT32 Revision; + UINT32 HeaderSize; + UINT32 CRC32; + UINT32 Reserved; } EFI_TABLE_HEADER; -/* - * EFI Runtime Serivces Table - */ +// +// EFI Runtime Serivces Table +// #define EFI_RUNTIME_SERVICES_SIGNATURE 0x56524553544e5552 -#define EFI_RUNTIME_SERVICES_REVISION (EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION) +#define EFI_RUNTIME_SERVICES_REVISION ((EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION)) typedef struct { - EFI_TABLE_HEADER Hdr; + EFI_TABLE_HEADER Hdr; - /* Time services */ + // + // Time services + // - EFI_GET_TIME GetTime; - EFI_SET_TIME SetTime; - EFI_GET_WAKEUP_TIME GetWakeupTime; - EFI_SET_WAKEUP_TIME SetWakeupTime; + EFI_GET_TIME GetTime; + EFI_SET_TIME SetTime; + EFI_GET_WAKEUP_TIME GetWakeupTime; + EFI_SET_WAKEUP_TIME SetWakeupTime; - /* Virtual memory services */ + // + // Virtual memory services + // - EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap; - EFI_CONVERT_POINTER ConvertPointer; + EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap; + EFI_CONVERT_POINTER ConvertPointer; - /* Variable serviers */ + // + // Variable serviers + // - EFI_GET_VARIABLE GetVariable; - EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName; - EFI_SET_VARIABLE SetVariable; + EFI_GET_VARIABLE GetVariable; + EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName; + EFI_SET_VARIABLE SetVariable; - /* Misc */ + // + // Misc + // - EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount; - EFI_RESET_SYSTEM ResetSystem; + EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount; + EFI_RESET_SYSTEM ResetSystem; } EFI_RUNTIME_SERVICES; -/* - * EFI Boot Services Table - */ +// +// EFI Boot Services Table +// #define EFI_BOOT_SERVICES_SIGNATURE 0x56524553544f4f42 -#define EFI_BOOT_SERVICES_REVISION (EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION) +#define EFI_BOOT_SERVICES_REVISION ((EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION)) + +typedef struct { + + EFI_TABLE_HEADER Hdr; + + // + // Task priority functions + // + + EFI_RAISE_TPL RaiseTPL; + EFI_RESTORE_TPL RestoreTPL; + + // + // Memory functions + // + + EFI_ALLOCATE_PAGES AllocatePages; + EFI_FREE_PAGES FreePages; + EFI_GET_MEMORY_MAP GetMemoryMap; + EFI_ALLOCATE_POOL AllocatePool; + EFI_FREE_POOL FreePool; -typedef struct _EFI_BOOT_SERVICES { + // + // Event & timer functions + // - EFI_TABLE_HEADER Hdr; + EFI_CREATE_EVENT CreateEvent; + EFI_SET_TIMER SetTimer; + EFI_WAIT_FOR_EVENT WaitForEvent; + EFI_SIGNAL_EVENT SignalEvent; + EFI_CLOSE_EVENT CloseEvent; + EFI_CHECK_EVENT CheckEvent; - /* Task priority functions */ + // + // Protocol handler functions + // - EFI_RAISE_TPL RaiseTPL; - EFI_RESTORE_TPL RestoreTPL; + EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface; + EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface; + EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface; + EFI_HANDLE_PROTOCOL HandleProtocol; + VOID *Reserved; + EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify; + EFI_LOCATE_HANDLE LocateHandle; + EFI_LOCATE_DEVICE_PATH LocateDevicePath; + EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable; - /* Memory functions */ + // + // Image functions + // - EFI_ALLOCATE_PAGES AllocatePages; - EFI_FREE_PAGES FreePages; - EFI_GET_MEMORY_MAP GetMemoryMap; - EFI_ALLOCATE_POOL AllocatePool; - EFI_FREE_POOL FreePool; + EFI_IMAGE_LOAD LoadImage; + EFI_IMAGE_START StartImage; + EFI_EXIT Exit; + EFI_IMAGE_UNLOAD UnloadImage; + EFI_EXIT_BOOT_SERVICES ExitBootServices; - /* Event & timer functions */ + // + // Misc functions + // - EFI_CREATE_EVENT CreateEvent; - EFI_SET_TIMER SetTimer; - EFI_WAIT_FOR_EVENT WaitForEvent; - EFI_SIGNAL_EVENT SignalEvent; - EFI_CLOSE_EVENT CloseEvent; - EFI_CHECK_EVENT CheckEvent; + EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount; + EFI_STALL Stall; + EFI_SET_WATCHDOG_TIMER SetWatchdogTimer; - /* Protocol handler functions */ + // + // DriverSupport Services + // + EFI_CONNECT_CONTROLLER ConnectController; + EFI_DISCONNECT_CONTROLLER DisconnectController; - EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface; - EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface; - EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface; - EFI_HANDLE_PROTOCOL HandleProtocol; - EFI_HANDLE_PROTOCOL PCHandleProtocol; - EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify; - EFI_LOCATE_HANDLE LocateHandle; - EFI_LOCATE_DEVICE_PATH LocateDevicePath; - EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable; + // + // Open and Close Protocol Services + // + EFI_OPEN_PROTOCOL OpenProtocol; + EFI_CLOSE_PROTOCOL CloseProtocol; + EFI_OPEN_PROTOCOL_INFORMATION OpenProtocolInformation; - /* Image functions */ + // + // Library Services to reduce size of drivers + // + EFI_PROTOCOLS_PER_HANDLE ProtocolsPerHandle; + EFI_LOCATE_HANDLE_BUFFER LocateHandleBuffer; + EFI_LOCATE_PROTOCOL LocateProtocol; - EFI_IMAGE_LOAD LoadImage; - EFI_IMAGE_START StartImage; - EFI_EXIT Exit; - EFI_IMAGE_UNLOAD UnloadImage; - EFI_EXIT_BOOT_SERVICES ExitBootServices; + EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES InstallMultipleProtocolInterfaces; + EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES UninstallMultipleProtocolInterfaces; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Nov 2 08:45:14 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E767216A4A0; Thu, 2 Nov 2006 08:45:13 +0000 (UTC) X-Original-To: perforce@FreeBSD.org 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 C3E9F16A494 for ; Thu, 2 Nov 2006 08:45:13 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3FAB543D49 for ; Thu, 2 Nov 2006 08:45:13 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA28jD3q096466 for ; Thu, 2 Nov 2006 08:45:13 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA28j7VJ096457 for perforce@freebsd.org; Thu, 2 Nov 2006 08:45:07 GMT (envelope-from rdivacky@FreeBSD.org) Date: Thu, 2 Nov 2006 08:45:07 GMT Message-Id: <200611020845.kA28j7VJ096457@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 109020 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 08:45:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=109020 Change 109020 by rdivacky@rdivacky_witten on 2006/11/02 08:45:01 IFC Affected files ... .. //depot/projects/linuxolator/src/sys/amd64/amd64/genassym.c#2 integrate .. //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_sysvec.c#4 integrate .. //depot/projects/linuxolator/src/sys/arm/arm/elf_trampoline.c#3 integrate .. //depot/projects/linuxolator/src/sys/arm/arm/genassym.c#2 integrate .. //depot/projects/linuxolator/src/sys/boot/common/Makefile.inc#2 integrate .. //depot/projects/linuxolator/src/sys/boot/common/bootstrap.h#2 integrate .. //depot/projects/linuxolator/src/sys/boot/common/devopen.c#2 integrate .. //depot/projects/linuxolator/src/sys/boot/efi/include/efi.h#2 integrate .. //depot/projects/linuxolator/src/sys/boot/efi/include/efi_nii.h#2 integrate .. //depot/projects/linuxolator/src/sys/boot/efi/include/efiapi.h#2 integrate .. //depot/projects/linuxolator/src/sys/boot/efi/include/eficon.h#2 integrate .. //depot/projects/linuxolator/src/sys/boot/efi/include/efidebug.h#2 integrate .. //depot/projects/linuxolator/src/sys/boot/efi/include/efidef.h#2 integrate .. //depot/projects/linuxolator/src/sys/boot/efi/include/efidevp.h#2 integrate .. //depot/projects/linuxolator/src/sys/boot/efi/include/efierr.h#2 integrate .. //depot/projects/linuxolator/src/sys/boot/efi/include/efifs.h#2 integrate .. //depot/projects/linuxolator/src/sys/boot/efi/include/efilib.h#2 integrate .. //depot/projects/linuxolator/src/sys/boot/efi/include/efinet.h#2 integrate .. //depot/projects/linuxolator/src/sys/boot/efi/include/efipart.h#2 integrate .. //depot/projects/linuxolator/src/sys/boot/efi/include/efiprot.h#2 integrate .. //depot/projects/linuxolator/src/sys/boot/efi/include/efipxebc.h#2 integrate .. //depot/projects/linuxolator/src/sys/boot/efi/include/efiser.h#2 integrate .. //depot/projects/linuxolator/src/sys/boot/efi/include/efistdarg.h#2 integrate .. //depot/projects/linuxolator/src/sys/boot/efi/include/i386/efibind.h#2 integrate .. //depot/projects/linuxolator/src/sys/boot/efi/include/i386/pe.h#2 integrate .. //depot/projects/linuxolator/src/sys/boot/efi/include/ia64/efibind.h#2 integrate .. //depot/projects/linuxolator/src/sys/boot/efi/include/ia64/pe.h#2 integrate .. //depot/projects/linuxolator/src/sys/boot/efi/libefi/devicename.c#2 integrate .. //depot/projects/linuxolator/src/sys/boot/efi/libefi/efiboot.h#2 integrate .. //depot/projects/linuxolator/src/sys/boot/efi/libefi/efifs.c#2 integrate .. //depot/projects/linuxolator/src/sys/boot/i386/libi386/bioscd.c#2 integrate .. //depot/projects/linuxolator/src/sys/boot/i386/libi386/biosdisk.c#2 integrate .. //depot/projects/linuxolator/src/sys/boot/i386/libi386/bootinfo32.c#2 integrate .. //depot/projects/linuxolator/src/sys/boot/i386/libi386/devicename.c#2 integrate .. //depot/projects/linuxolator/src/sys/boot/i386/libi386/libi386.h#3 integrate .. //depot/projects/linuxolator/src/sys/boot/i386/loader/Makefile#2 integrate .. //depot/projects/linuxolator/src/sys/boot/i386/loader/main.c#2 integrate .. //depot/projects/linuxolator/src/sys/boot/ia64/efi/main.c#2 integrate .. //depot/projects/linuxolator/src/sys/boot/ia64/ski/devicename.c#2 integrate .. //depot/projects/linuxolator/src/sys/boot/ia64/ski/libski.h#2 integrate .. //depot/projects/linuxolator/src/sys/boot/ia64/ski/main.c#2 integrate .. //depot/projects/linuxolator/src/sys/boot/ofw/common/main.c#2 integrate .. //depot/projects/linuxolator/src/sys/boot/ofw/libofw/libofw.h#2 integrate .. //depot/projects/linuxolator/src/sys/boot/pc98/libpc98/bioscd.c#2 integrate .. //depot/projects/linuxolator/src/sys/boot/pc98/libpc98/biosdisk.c#2 integrate .. //depot/projects/linuxolator/src/sys/boot/pc98/loader/Makefile#2 integrate .. //depot/projects/linuxolator/src/sys/boot/pc98/loader/main.c#2 integrate .. //depot/projects/linuxolator/src/sys/boot/sparc64/loader/main.c#3 integrate .. //depot/projects/linuxolator/src/sys/cam/cam_ccb.h#2 integrate .. //depot/projects/linuxolator/src/sys/cam/cam_xpt.c#3 integrate .. //depot/projects/linuxolator/src/sys/cam/scsi/scsi_da.c#4 integrate .. //depot/projects/linuxolator/src/sys/cam/scsi/scsi_low.c#2 integrate .. //depot/projects/linuxolator/src/sys/compat/linux/linux_file.c#7 edit .. //depot/projects/linuxolator/src/sys/conf/NOTES#8 integrate .. //depot/projects/linuxolator/src/sys/conf/files#8 integrate .. //depot/projects/linuxolator/src/sys/conf/files.sparc64#3 integrate .. //depot/projects/linuxolator/src/sys/conf/options#5 integrate .. //depot/projects/linuxolator/src/sys/conf/options.sparc64#2 integrate .. //depot/projects/linuxolator/src/sys/dev/aac/aac_cam.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/acpi_support/acpi_aiboost.c#1 branch .. //depot/projects/linuxolator/src/sys/dev/acpi_support/acpi_sony.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/advansys/advansys.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/advansys/advlib.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/advansys/adwcam.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/aha/aha.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/ahb/ahb.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/aic/aic.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/aic7xxx/aic79xx_osm.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/aic7xxx/aic79xx_osm.h#2 integrate .. //depot/projects/linuxolator/src/sys/dev/aic7xxx/aic7xxx_osm.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/aic7xxx/aic7xxx_osm.h#2 integrate .. //depot/projects/linuxolator/src/sys/dev/amd/amd.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/amr/amr.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/amr/amr_cam.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/amr/amr_disk.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/arcmsr/arcmsr.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/asr/asr.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/ata/ata-disk.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/ata/ata-raid.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/ata/atapi-cam.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/bce/if_bce.c#6 integrate .. //depot/projects/linuxolator/src/sys/dev/buslogic/bt.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/ciss/ciss.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/dc/if_dc.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/dpt/dpt_scsi.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/em/if_em.c#7 integrate .. //depot/projects/linuxolator/src/sys/dev/em/if_em.h#3 integrate .. //depot/projects/linuxolator/src/sys/dev/em/if_em_hw.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/em/if_em_hw.h#3 integrate .. //depot/projects/linuxolator/src/sys/dev/em/if_em_osdep.h#3 integrate .. //depot/projects/linuxolator/src/sys/dev/esp/ncr53c9x.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/firewire/sbp.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/iir/iir.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_freebsd.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_freebsd.h#3 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_library.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_library.h#2 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_pci.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_sbus.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_stds.h#1 branch .. //depot/projects/linuxolator/src/sys/dev/isp/isp_target.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_target.h#2 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/isp_tpublic.h#2 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/ispmbox.h#2 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/ispreg.h#2 integrate .. //depot/projects/linuxolator/src/sys/dev/isp/ispvar.h#2 integrate .. //depot/projects/linuxolator/src/sys/dev/ispfw/asm_2300.h#2 integrate .. //depot/projects/linuxolator/src/sys/dev/md/md.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/mly/mly.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/mpt/mpt_cam.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/pci/pci.c#5 integrate .. //depot/projects/linuxolator/src/sys/dev/pci/pci_pci.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/pci/pcivar.h#3 integrate .. //depot/projects/linuxolator/src/sys/dev/sym/sym_hipd.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/trm/trm.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/twa/tw_osl_cam.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/uart/uart_kbd_sun.c#4 integrate .. //depot/projects/linuxolator/src/sys/dev/uart/uart_kbd_sun.h#2 integrate .. //depot/projects/linuxolator/src/sys/dev/usb/ubsa.c#2 integrate .. //depot/projects/linuxolator/src/sys/dev/usb/umass.c#3 integrate .. //depot/projects/linuxolator/src/sys/dev/usb/usbdevs#4 integrate .. //depot/projects/linuxolator/src/sys/geom/concat/g_concat.c#2 integrate .. //depot/projects/linuxolator/src/sys/geom/eli/g_eli.c#3 integrate .. //depot/projects/linuxolator/src/sys/geom/geom.h#3 integrate .. //depot/projects/linuxolator/src/sys/geom/geom_disk.c#2 integrate .. //depot/projects/linuxolator/src/sys/geom/geom_disk.h#2 integrate .. //depot/projects/linuxolator/src/sys/geom/geom_gpt.c#2 integrate .. //depot/projects/linuxolator/src/sys/geom/geom_io.c#2 integrate .. //depot/projects/linuxolator/src/sys/geom/geom_slice.c#2 integrate .. //depot/projects/linuxolator/src/sys/geom/journal/g_journal.c#1 branch .. //depot/projects/linuxolator/src/sys/geom/journal/g_journal.h#1 branch .. //depot/projects/linuxolator/src/sys/geom/journal/g_journal_ufs.c#1 branch .. //depot/projects/linuxolator/src/sys/geom/mirror/g_mirror.c#3 integrate .. //depot/projects/linuxolator/src/sys/geom/mirror/g_mirror.h#2 integrate .. //depot/projects/linuxolator/src/sys/geom/mirror/g_mirror_ctl.c#2 integrate .. //depot/projects/linuxolator/src/sys/geom/raid3/g_raid3.c#5 integrate .. //depot/projects/linuxolator/src/sys/geom/raid3/g_raid3.h#2 integrate .. //depot/projects/linuxolator/src/sys/geom/raid3/g_raid3_ctl.c#3 integrate .. //depot/projects/linuxolator/src/sys/geom/shsec/g_shsec.c#2 integrate .. //depot/projects/linuxolator/src/sys/geom/stripe/g_stripe.c#2 integrate .. //depot/projects/linuxolator/src/sys/i386/conf/NOTES#6 integrate .. //depot/projects/linuxolator/src/sys/i386/i386/genassym.c#2 integrate .. //depot/projects/linuxolator/src/sys/ia64/ia64/genassym.c#2 integrate .. //depot/projects/linuxolator/src/sys/kern/subr_disk.c#2 integrate .. //depot/projects/linuxolator/src/sys/kern/subr_prf.c#3 integrate .. //depot/projects/linuxolator/src/sys/kern/tty_cons.c#2 integrate .. //depot/projects/linuxolator/src/sys/kern/tty_pts.c#3 integrate .. //depot/projects/linuxolator/src/sys/kern/vfs_subr.c#5 integrate .. //depot/projects/linuxolator/src/sys/modules/acpi/Makefile#2 integrate .. //depot/projects/linuxolator/src/sys/modules/acpi/acpi_aiboost/Makefile#1 branch .. //depot/projects/linuxolator/src/sys/modules/geom/Makefile#3 integrate .. //depot/projects/linuxolator/src/sys/modules/geom/geom_journal/Makefile#1 branch .. //depot/projects/linuxolator/src/sys/modules/powermac_nvram/Makefile#2 integrate .. //depot/projects/linuxolator/src/sys/modules/ufs/Makefile#2 integrate .. //depot/projects/linuxolator/src/sys/net/bridgestp.c#3 integrate .. //depot/projects/linuxolator/src/sys/net/bridgestp.h#2 integrate .. //depot/projects/linuxolator/src/sys/net/if_bridge.c#5 integrate .. //depot/projects/linuxolator/src/sys/net/if_bridgevar.h#2 integrate .. //depot/projects/linuxolator/src/sys/nfsclient/nfs_socket.c#2 integrate .. //depot/projects/linuxolator/src/sys/pci/if_sis.c#3 integrate .. //depot/projects/linuxolator/src/sys/pci/ncr.c#2 integrate .. //depot/projects/linuxolator/src/sys/powerpc/powerpc/genassym.c#2 integrate .. //depot/projects/linuxolator/src/sys/sparc64/conf/NOTES#4 integrate .. //depot/projects/linuxolator/src/sys/sparc64/include/endian.h#2 integrate .. //depot/projects/linuxolator/src/sys/sparc64/sparc64/genassym.c#3 integrate .. //depot/projects/linuxolator/src/sys/sun4v/include/endian.h#2 integrate .. //depot/projects/linuxolator/src/sys/sun4v/include/hypervisorvar.h#2 integrate .. //depot/projects/linuxolator/src/sys/sun4v/sun4v/hcall.S#2 integrate .. //depot/projects/linuxolator/src/sys/sys/bio.h#2 integrate .. //depot/projects/linuxolator/src/sys/sys/cons.h#2 integrate .. //depot/projects/linuxolator/src/sys/sys/mac_policy.h#4 integrate .. //depot/projects/linuxolator/src/sys/sys/mount.h#5 integrate .. //depot/projects/linuxolator/src/sys/sys/param.h#5 integrate .. //depot/projects/linuxolator/src/sys/sys/pcpu.h#2 integrate .. //depot/projects/linuxolator/src/sys/sys/proc.h#5 integrate .. //depot/projects/linuxolator/src/sys/sys/vnode.h#2 integrate .. //depot/projects/linuxolator/src/sys/ufs/ffs/ffs_extern.h#2 integrate .. //depot/projects/linuxolator/src/sys/ufs/ffs/ffs_softdep.c#4 integrate .. //depot/projects/linuxolator/src/sys/ufs/ffs/ffs_vfsops.c#4 integrate .. //depot/projects/linuxolator/src/sys/ufs/ffs/fs.h#2 integrate .. //depot/projects/linuxolator/src/sys/ufs/ufs/gjournal.h#1 branch .. //depot/projects/linuxolator/src/sys/ufs/ufs/ufs_gjournal.c#1 branch .. //depot/projects/linuxolator/src/sys/ufs/ufs/ufs_inode.c#2 integrate .. //depot/projects/linuxolator/src/sys/ufs/ufs/ufs_vnops.c#5 integrate Differences ... ==== //depot/projects/linuxolator/src/sys/amd64/amd64/genassym.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.157 2005/09/27 21:10:10 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.158 2006/11/01 04:54:49 jb Exp $"); #include "opt_compat.h" #include "opt_kstack_pages.h" @@ -185,6 +185,7 @@ ASSYM(PC_FPCURTHREAD, offsetof(struct pcpu, pc_fpcurthread)); ASSYM(PC_IDLETHREAD, offsetof(struct pcpu, pc_idlethread)); ASSYM(PC_CURPCB, offsetof(struct pcpu, pc_curpcb)); +ASSYM(PC_CONS_BUFR, offsetof(struct pcpu, pc_cons_bufr)); ASSYM(PC_CPUID, offsetof(struct pcpu, pc_cpuid)); ASSYM(PC_SCRATCH_RSP, offsetof(struct pcpu, pc_scratch_rsp)); ASSYM(PC_CURPMAP, offsetof(struct pcpu, pc_curpmap)); ==== //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_sysvec.c#4 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.24 2006/09/09 16:25:25 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.25 2006/10/31 17:53:02 kib Exp $"); #include "opt_compat.h" #ifndef COMPAT_IA32 @@ -868,7 +868,7 @@ */ if (sigcodesz) copyout(imgp->proc->p_sysent->sv_sigcode, - ((caddr_t)arginfo - sigcodesz), szsigcode); + ((caddr_t)arginfo - sigcodesz), sigcodesz); /* * If we have a valid auxargs ptr, prepare some room ==== //depot/projects/linuxolator/src/sys/arm/arm/elf_trampoline.c#3 (text+ko) ==== @@ -23,10 +23,10 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.14 2006/10/21 04:25:00 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.16 2006/11/01 12:41:43 cognet Exp $"); #include +#include #include -#include #include #include #include ==== //depot/projects/linuxolator/src/sys/arm/arm/genassym.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/genassym.c,v 1.6 2005/10/06 11:26:37 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/genassym.c,v 1.7 2006/11/01 04:54:50 jb Exp $"); #include #include #include @@ -69,6 +69,7 @@ ASSYM(PCB_PC, offsetof(struct pcb, un_32.pcb32_pc)); ASSYM(PCB_SP, offsetof(struct pcb, un_32.pcb32_sp)); +ASSYM(PC_CONS_BUFR, offsetof(struct pcpu, pc_cons_bufr)); ASSYM(PC_CURPCB, offsetof(struct pcpu, pc_curpcb)); ASSYM(PC_CURTHREAD, offsetof(struct pcpu, pc_curthread)); ASSYM(M_LEN, offsetof(struct mbuf, m_len)); ==== //depot/projects/linuxolator/src/sys/boot/common/Makefile.inc#2 (text+ko) ==== @@ -1,6 +1,6 @@ -# $FreeBSD: src/sys/boot/common/Makefile.inc,v 1.22 2006/05/12 04:09:52 jhb Exp $ +# $FreeBSD: src/sys/boot/common/Makefile.inc,v 1.23 2006/11/02 00:26:44 marcel Exp $ -SRCS+= bcache.c boot.c commands.c console.c devopen.c interp.c +SRCS+= boot.c commands.c console.c devopen.c interp.c SRCS+= interp_backslash.c interp_parse.c ls.c misc.c SRCS+= module.c panic.c @@ -19,6 +19,10 @@ SRCS+= dev_net.c .endif +.if defined(HAVE_BCACHE) +SRCS+= bcache.c +.endif + # Machine-independant ISA PnP .if defined(HAVE_ISABUS) SRCS+= isapnp.c ==== //depot/projects/linuxolator/src/sys/boot/common/bootstrap.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/boot/common/bootstrap.h,v 1.42 2005/12/18 04:52:35 marcel Exp $ + * $FreeBSD: src/sys/boot/common/bootstrap.h,v 1.43 2006/11/02 01:23:17 marcel Exp $ */ #include @@ -43,6 +43,7 @@ #define DEVT_DISK 1 #define DEVT_NET 2 #define DEVT_CD 3 + int d_unit; }; /* Commands and return values; nonzero return sets command_errmsg != NULL */ ==== //depot/projects/linuxolator/src/sys/boot/common/devopen.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/common/devopen.c,v 1.4 2003/08/25 23:30:41 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/common/devopen.c,v 1.5 2006/11/02 00:02:22 marcel Exp $"); #include #include @@ -35,20 +35,25 @@ int devopen(struct open_file *f, const char *fname, const char **file) { - struct devdesc *dev; - int result; + struct devdesc *dev; + int result; + + result = archsw.arch_getdev((void **)&dev, fname, file); + if (result) + return (result); - if ((result = archsw.arch_getdev((void *)&dev, fname, file)) == 0) { /* get the device */ - /* point to device-specific data so that device open can use it */ - f->f_devdata = dev; - if ((result = dev->d_dev->dv_open(f, dev)) == 0) { /* try to open it */ - /* reference the devsw entry from the open_file structure */ - f->f_dev = dev->d_dev; - } else { - free(dev); /* release the device descriptor */ - } + /* point to device-specific data so that device open can use it */ + f->f_devdata = dev; + result = dev->d_dev->dv_open(f, dev); + if (result != 0) { + f->f_devdata = NULL; + free(dev); + return (result); } - return(result); + + /* reference the devsw entry from the open_file structure */ + f->f_dev = dev->d_dev; + return (0); } int ==== //depot/projects/linuxolator/src/sys/boot/efi/include/efi.h#2 (text+ko) ==== @@ -1,7 +1,14 @@ -/* $FreeBSD: src/sys/boot/efi/include/efi.h,v 1.3 2002/05/19 03:17:20 marcel Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/efi.h,v 1.4 2006/11/02 02:42:47 marcel Exp $ */ /*++ -Copyright (c) 1998 Intel Corporation +Copyright (c) 1999 - 2002 Intel Corporation. All rights reserved +This software and associated documentation (if any) is furnished +under a license and may only be used or copied in accordance +with the terms of the license. Except as permitted by such +license, no part of this software or documentation may be +reproduced, stored in a retrieval system, or transmitted in any +form or by any means without the express written consent of +Intel Corporation. Module Name: @@ -17,19 +24,20 @@ --*/ -/* - * Build flags on input - * EFI32 - * EFI_DEBUG - Enable debugging code - * EFI_NT_EMULATOR - Building for running under NT - */ +// +// Build flags on input +// EFI32 +// EFI_DEBUG - Enable debugging code +// EFI_NT_EMULATOR - Building for running under NT +// + #ifndef _EFI_INCLUDE_ #define _EFI_INCLUDE_ #define EFI_FIRMWARE_VENDOR L"INTEL" -#define EFI_FIRMWARE_MAJOR_REVISION 12 -#define EFI_FIRMWARE_MINOR_REVISION 33 +#define EFI_FIRMWARE_MAJOR_REVISION 14 +#define EFI_FIRMWARE_MINOR_REVISION 62 #define EFI_FIRMWARE_REVISION ((EFI_FIRMWARE_MAJOR_REVISION <<16) | (EFI_FIRMWARE_MINOR_REVISION)) #include "efibind.h" @@ -43,7 +51,12 @@ #include "efinet.h" #include "efiapi.h" #include "efifs.h" -#include "efifpswa.h" #include "efierr.h" +#define EFI_STRINGIZE(a) #a +#define EFI_PROTOCOL_DEFINITION(a) EFI_STRINGIZE(Protocol/a/a.h) + +#define EFI_GUID_DEFINITION(a) EFI_STRINGIZE(Guid/a/a##.h) +#define EFI_GUID_STRING(guidpointer, shortstring, longstring) + #endif ==== //depot/projects/linuxolator/src/sys/boot/efi/include/efi_nii.h#2 (text+ko) ==== @@ -1,9 +1,16 @@ -/* $FreeBSD: src/sys/boot/efi/include/efi_nii.h,v 1.2 2002/05/19 03:17:20 marcel Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/efi_nii.h,v 1.3 2006/11/02 02:42:47 marcel Exp $ */ #ifndef _EFI_NII_H #define _EFI_NII_H /*++ -Copyright (c) 2000 Intel Corporation +Copyright (c) 1999 - 2002 Intel Corporation. All rights reserved +This software and associated documentation (if any) is furnished +under a license and may only be used or copied in accordance +with the terms of the license. Except as permitted by such +license, no part of this software or documentation may be +reproduced, stored in a retrieval system, or transmitted in any +form or by any means without the express written consent of +Intel Corporation. Module name: efi_nii.h @@ -20,8 +27,11 @@ #define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL \ { 0xE18541CD, 0xF755, 0x4f73, 0x92, 0x8D, 0x64, 0x3C, 0x8A, 0x79, 0xB2, 0x29 } +#define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_31 \ + { 0x1ACED566, 0x76ED, 0x4218, 0xBC, 0x81, 0x76, 0x7F, 0x1F, 0x97, 0x7A, 0x89 } #define EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE_REVISION 0x00010000 +#define EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE_REVISION_31 0x00010001 typedef enum { EfiNetworkInterfaceUndi = 1 @@ -29,54 +39,48 @@ typedef struct { - /* Revision of the network interface identifier protocol interface. */ UINT64 Revision; + // Revision of the network interface identifier protocol interface. - /* - * Address of the first byte of the identifying structure for this - * network interface. This is set to zero if there is no structure. - * For PXE/UNDI this is the first byte of the !PXE structure. - */ UINT64 ID; + // Address of the first byte of the identifying structure for this + // network interface. This is set to zero if there is no structure. + // + // For PXE/UNDI this is the first byte of the !PXE structure. - /* - * Address of the UNrelocated driver/ROM image. This is set - * to zero if there is no driver/ROM image. - * For 16-bit UNDI, this is the first byte of the option ROM in - * upper memory. - * For 32/64-bit S/W UNDI, this is the first byte of the EFI ROM - * image. - * For H/W UNDI, this is set to zero. - */ UINT64 ImageAddr; + // Address of the UNrelocated driver/ROM image. This is set + // to zero if there is no driver/ROM image. + // + // For 16-bit UNDI, this is the first byte of the option ROM in + // upper memory. + // + // For 32/64-bit S/W UNDI, this is the first byte of the EFI ROM + // image. + // + // For H/W UNDI, this is set to zero. - /* - * Size of the UNrelocated driver/ROM image of this network interface. - * This is set to zero if there is no driver/ROM image. - */ UINT32 ImageSize; + // Size of the UNrelocated driver/ROM image of this network interface. + // This is set to zero if there is no driver/ROM image. - /* - * 4 char ASCII string to go in class identifier (option 60) in DHCP - * and Boot Server discover packets. - * For EfiNetworkInterfaceUndi this field is "UNDI". - * For EfiNetworkInterfaceSnp this field is "SNPN". - */ CHAR8 StringId[4]; + // 4 char ASCII string to go in class identifier (option 60) in DHCP + // and Boot Server discover packets. + // For EfiNetworkInterfaceUndi this field is "UNDI". + // For EfiNetworkInterfaceSnp this field is "SNPN". - /* - * Information to be placed into the PXE DHCP and Discover packets. - * This is the network interface type and version number that will - * be placed into DHCP option 94 (client network interface identifier). - */ UINT8 Type; UINT8 MajorVer; UINT8 MinorVer; - + // Information to be placed into the PXE DHCP and Discover packets. + // This is the network interface type and version number that will + // be placed into DHCP option 94 (client network interface identifier). BOOLEAN Ipv6Supported; - UINT8 IfNum; /* interface number to be used with pxeid structure */ + UINT8 IfNum; // interface number to be used with pxeid structure } EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE; extern EFI_GUID NetworkInterfaceIdentifierProtocol; +extern EFI_GUID NetworkInterfaceIdentifierProtocol_31; -#endif /* _EFI_NII_H */ +#endif // _EFI_NII_H ==== //depot/projects/linuxolator/src/sys/boot/efi/include/efiapi.h#2 (text+ko) ==== @@ -1,10 +1,17 @@ -/* $FreeBSD: src/sys/boot/efi/include/efiapi.h,v 1.6 2003/12/10 19:08:09 jhb Exp $ */ +/* $FreeBSD: src/sys/boot/efi/include/efiapi.h,v 1.7 2006/11/02 02:42:47 marcel Exp $ */ #ifndef _EFI_API_H #define _EFI_API_H /*++ -Copyright (c) 1998 Intel Corporation +Copyright (c) 1999 - 2002 Intel Corporation. All rights reserved +This software and associated documentation (if any) is furnished +under a license and may only be used or copied in accordance +with the terms of the license. Except as permitted by such +license, no part of this software or documentation may be +reproduced, stored in a retrieval system, or transmitted in any +form or by any means without the express written consent of +Intel Corporation. Module Name: @@ -21,22 +28,22 @@ --*/ -/* - * EFI Specification Revision - */ +// +// EFI Specification Revision +// #define EFI_SPECIFICATION_MAJOR_REVISION 1 -#define EFI_SPECIFICATION_MINOR_REVISION 02 +#define EFI_SPECIFICATION_MINOR_REVISION 10 -/* - * Declare forward referenced data structures - */ +// +// Declare forward referenced data structures +// INTERFACE_DECL(_EFI_SYSTEM_TABLE); -/* - * EFI Memory - */ +// +// EFI Memory +// typedef EFI_STATUS @@ -92,8 +99,8 @@ #define EFI_OPTIONAL_PTR 0x00000001 -#define EFI_INTERNAL_FNC 0x00000002 /* Pointer to internal runtime fnc */ -#define EFI_INTERNAL_PTR 0x00000004 /* Pointer to internal runtime data */ +#define EFI_INTERNAL_FNC 0x00000002 // Pointer to internal runtime fnc +#define EFI_INTERNAL_PTR 0x00000004 // Pointer to internal runtime data typedef @@ -104,9 +111,9 @@ ); -/* - * EFI Events - */ +// +// EFI Events +// @@ -181,9 +188,9 @@ IN EFI_EVENT Event ); -/* - * Task priority level - */ +// +// Task priority level +// #define TPL_APPLICATION 4 #define TPL_CALLBACK 8 @@ -203,19 +210,19 @@ ); -/* - * EFI platform variables - */ +// +// EFI platform varibles +// #define EFI_GLOBAL_VARIABLE \ { 0x8BE4DF61, 0x93CA, 0x11d2, 0xAA, 0x0D, 0x00, 0xE0, 0x98, 0x03, 0x2B, 0x8C } -/* Variable attributes */ +// Variable attributes #define EFI_VARIABLE_NON_VOLATILE 0x00000001 #define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002 #define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004 -/* Variable size limitation */ +// Variable size limitation #define EFI_MAXIMUM_VARIABLE_SIZE 1024 typedef @@ -248,14 +255,14 @@ ); -/* - * EFI Time - */ +// +// EFI Time +// typedef struct { - UINT32 Resolution; /* 1e-6 parts per million */ - UINT32 Accuracy; /* hertz */ - BOOLEAN SetsToZero; /* Set clears sub-second time */ + UINT32 Resolution; // 1e-6 parts per million + UINT32 Accuracy; // hertz + BOOLEAN SetsToZero; // Set clears sub-second time } EFI_TIME_CAPABILITIES; @@ -288,12 +295,12 @@ ); -/* - * Image functions - */ +// +// Image functions +// -/* PE32+ Subsystem type for EFI images */ +// PE32+ Subsystem type for EFI images #if !defined(IMAGE_SUBSYSTEM_EFI_APPLICATION) #define IMAGE_SUBSYSTEM_EFI_APPLICATION 10 @@ -301,7 +308,7 @@ #define IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER 12 #endif -/* PE32+ Machine type for EFI images */ +// PE32+ Machine type for EFI images #if !defined(EFI_IMAGE_MACHINE_IA32) #define EFI_IMAGE_MACHINE_IA32 0x014c @@ -311,7 +318,11 @@ #define EFI_IMAGE_MACHINE_IA64 0x0200 #endif -/* Image Entry prototype */ +#if !defined(EFI_IMAGE_MACHINE_EBC) +#define EFI_IMAGE_MACHINE_EBC 0x0EBC +#endif + +// Image Entry prototype typedef EFI_STATUS @@ -355,32 +366,32 @@ ); -/* Image handle */ +// Image handle #define LOADED_IMAGE_PROTOCOL \ { 0x5B1B31A1, 0x9562, 0x11d2, 0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B } -#define EFI_IMAGE_INFORMATION_REVISION 0x1000 +#define EFI_LOADED_IMAGE_INFORMATION_REVISION 0x1000 typedef struct { UINT32 Revision; EFI_HANDLE ParentHandle; struct _EFI_SYSTEM_TABLE *SystemTable; - /* Source location of image */ + // Source location of image EFI_HANDLE DeviceHandle; EFI_DEVICE_PATH *FilePath; VOID *Reserved; - /* Images load options */ + // Images load options UINT32 LoadOptionsSize; VOID *LoadOptions; - /* Location of where image was loaded */ + // Location of where image was loaded VOID *ImageBase; UINT64 ImageSize; EFI_MEMORY_TYPE ImageCodeType; EFI_MEMORY_TYPE ImageDataType; - /* If the driver image supports a dynamic unload request */ + // If the driver image supports a dynamic unload request EFI_IMAGE_UNLOAD Unload; } EFI_LOADED_IMAGE; @@ -393,9 +404,9 @@ IN UINTN MapKey ); -/* - * Misc - */ +// +// Misc +// typedef @@ -416,11 +427,12 @@ typedef enum { EfiResetCold, - EfiResetWarm + EfiResetWarm, + EfiResetShutdown } EFI_RESET_TYPE; typedef -EFI_STATUS +VOID (EFIAPI *EFI_RESET_SYSTEM) ( IN EFI_RESET_TYPE ResetType, IN EFI_STATUS ResetStatus, @@ -440,13 +452,12 @@ OUT UINT32 *HighCount ); -/* - * Protocol handler functions - */ +// +// Protocol handler functions +// typedef enum { - EFI_NATIVE_INTERFACE, - EFI_PCODE_INTERFACE + EFI_NATIVE_INTERFACE } EFI_INTERFACE_TYPE; typedef @@ -525,179 +536,355 @@ typedef EFI_STATUS (EFIAPI *EFI_RESERVED_SERVICE) ( - VOID ); -/* - * Standard EFI table header - */ +typedef +EFI_STATUS +(EFIAPI *EFI_CONNECT_CONTROLLER) ( + IN EFI_HANDLE ControllerHandle, + IN EFI_HANDLE *DriverImageHandle OPTIONAL, + IN EFI_DEVICE_PATH *RemainingDevicePath OPTIONAL, + IN BOOLEAN Recursive + ); + +typedef +EFI_STATUS +(EFIAPI *EFI_DISCONNECT_CONTROLLER)( + IN EFI_HANDLE ControllerHandle, + IN EFI_HANDLE DriverImageHandle, OPTIONAL + IN EFI_HANDLE ChildHandle OPTIONAL + ); + +#define EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL 0x00000001 +#define EFI_OPEN_PROTOCOL_GET_PROTOCOL 0x00000002 +#define EFI_OPEN_PROTOCOL_TEST_PROTOCOL 0x00000004 +#define EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER 0x00000008 +#define EFI_OPEN_PROTOCOL_BY_DRIVER 0x00000010 +#define EFI_OPEN_PROTOCOL_EXCLUSIVE 0x00000020 + +typedef +EFI_STATUS +(EFIAPI *EFI_OPEN_PROTOCOL) ( + IN EFI_HANDLE Handle, + IN EFI_GUID *Protocol, + OUT VOID **Interface, + IN EFI_HANDLE ImageHandle, + IN EFI_HANDLE ControllerHandle, OPTIONAL + IN UINT32 Attributes + ); + +typedef +EFI_STATUS +(EFIAPI *EFI_CLOSE_PROTOCOL) ( + IN EFI_HANDLE Handle, + IN EFI_GUID *Protocol, + IN EFI_HANDLE ImageHandle, + IN EFI_HANDLE DeviceHandle + ); + +typedef struct { + EFI_HANDLE AgentHandle; + EFI_HANDLE ControllerHandle; + UINT32 Attributes; + UINT32 OpenCount; +} EFI_OPEN_PROTOCOL_INFORMATION_ENTRY; + +typedef +EFI_STATUS +(EFIAPI *EFI_OPEN_PROTOCOL_INFORMATION) ( + IN EFI_HANDLE UserHandle, + IN EFI_GUID *Protocol, + IN EFI_OPEN_PROTOCOL_INFORMATION_ENTRY **EntryBuffer, + OUT UINTN *EntryCount + ); + +typedef +EFI_STATUS +(EFIAPI *EFI_PROTOCOLS_PER_HANDLE) ( + IN EFI_HANDLE UserHandle, + OUT EFI_GUID ***ProtocolBuffer, + OUT UINTN *ProtocolBufferCount + ); + +typedef +EFI_STATUS +(EFIAPI *EFI_LOCATE_HANDLE_BUFFER) ( + IN EFI_LOCATE_SEARCH_TYPE SearchType, + IN EFI_GUID *Protocol OPTIONAL, + IN VOID *SearchKey OPTIONAL, + IN OUT UINTN *NumberHandles, + OUT EFI_HANDLE **Buffer + ); + +typedef +EFI_STATUS +(EFIAPI *EFI_LOCATE_PROTOCOL) ( + EFI_GUID *Protocol, + VOID *Registration, OPTIONAL + VOID **Interface + ); + +typedef +EFI_STATUS +(EFIAPI *EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES) ( + IN OUT EFI_HANDLE *Handle, + ... + ); + +typedef +EFI_STATUS +(EFIAPI *EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES) ( + IN EFI_HANDLE Handle, + ... + ); + +typedef +EFI_STATUS +(EFIAPI *EFI_CALCULATE_CRC32) ( + IN VOID *Data, + IN UINTN DataSize, + OUT UINT32 *Crc32 + ); + +typedef +VOID +(EFIAPI *EFI_COPY_MEM) ( + IN VOID *Destination, + IN VOID *Source, + IN UINTN Length + ); + +typedef +VOID +(EFIAPI *EFI_SET_MEM) ( + IN VOID *Buffer, + IN UINTN Size, + IN UINT8 Value + ); + +// +// Standard EFI table header +// typedef struct _EFI_TABLE_HEARDER { - UINT64 Signature; - UINT32 Revision; - UINT32 HeaderSize; - UINT32 CRC32; - UINT32 Reserved; + UINT64 Signature; + UINT32 Revision; + UINT32 HeaderSize; + UINT32 CRC32; + UINT32 Reserved; } EFI_TABLE_HEADER; -/* - * EFI Runtime Serivces Table - */ +// +// EFI Runtime Serivces Table +// #define EFI_RUNTIME_SERVICES_SIGNATURE 0x56524553544e5552 -#define EFI_RUNTIME_SERVICES_REVISION (EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION) +#define EFI_RUNTIME_SERVICES_REVISION ((EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION)) typedef struct { - EFI_TABLE_HEADER Hdr; + EFI_TABLE_HEADER Hdr; - /* Time services */ + // + // Time services + // - EFI_GET_TIME GetTime; - EFI_SET_TIME SetTime; - EFI_GET_WAKEUP_TIME GetWakeupTime; - EFI_SET_WAKEUP_TIME SetWakeupTime; + EFI_GET_TIME GetTime; + EFI_SET_TIME SetTime; + EFI_GET_WAKEUP_TIME GetWakeupTime; + EFI_SET_WAKEUP_TIME SetWakeupTime; - /* Virtual memory services */ + // + // Virtual memory services + // - EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap; - EFI_CONVERT_POINTER ConvertPointer; + EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap; + EFI_CONVERT_POINTER ConvertPointer; - /* Variable serviers */ + // + // Variable serviers + // >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Nov 2 09:44:33 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A4B0016A412; Thu, 2 Nov 2006 09:44:33 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 672E416A407 for ; Thu, 2 Nov 2006 09:44:33 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1D5D543D45 for ; Thu, 2 Nov 2006 09:44:33 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA29iWHu015363 for ; Thu, 2 Nov 2006 09:44:33 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA29iW4N015360 for perforce@freebsd.org; Thu, 2 Nov 2006 09:44:32 GMT (envelope-from piso@freebsd.org) Date: Thu, 2 Nov 2006 09:44:32 GMT Message-Id: <200611020944.kA29iW4N015360@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 109027 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 09:44:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=109027 Change 109027 by piso@piso_newluxor on 2006/11/02 09:44:27 compilation Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_proxy.c#11 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_proxy.c#11 (text+ko) ==== @@ -354,8 +354,8 @@ { struct libalias *la; + la = entry->la; LIBALIAS_LOCK_ASSERT(la); - la = entry->la; if (entry->last != NULL) entry->last->next = entry->next; else From owner-p4-projects@FreeBSD.ORG Thu Nov 2 10:12:11 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E98B416A415; Thu, 2 Nov 2006 10:12:10 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 AB22F16A40F for ; Thu, 2 Nov 2006 10:12:10 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E8AB143D5E for ; Thu, 2 Nov 2006 10:12:09 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA2AC9V7020778 for ; Thu, 2 Nov 2006 10:12:09 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA2AC9oR020775 for perforce@freebsd.org; Thu, 2 Nov 2006 10:12:09 GMT (envelope-from bushman@freebsd.org) Date: Thu, 2 Nov 2006 10:12:09 GMT Message-Id: <200611021012.kA2AC9oR020775@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 109030 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 10:12:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=109030 Change 109030 by bushman@bushman_nss_ldap_cached on 2006/11/02 10:11:29 Bug fix. Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapsearch.c#16 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/nss_ldap/ldapsearch.c#16 (text+ko) ==== @@ -756,8 +756,8 @@ char **values, **viter, *res, *rdn; size_t type_len; int rv; - - assert(rdn != NULL); + + assert(sctx != NULL); assert(type != NULL); assert(str != NULL); assert(len != NULL); From owner-p4-projects@FreeBSD.ORG Thu Nov 2 10:43:54 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EF24216A47B; Thu, 2 Nov 2006 10:43:53 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 8CAF616A407 for ; Thu, 2 Nov 2006 10:43:53 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EB16D43D68 for ; Thu, 2 Nov 2006 10:43:50 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA2AhnOY025698 for ; Thu, 2 Nov 2006 10:43:49 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA2Ahngf025693 for perforce@freebsd.org; Thu, 2 Nov 2006 10:43:49 GMT (envelope-from bushman@freebsd.org) Date: Thu, 2 Nov 2006 10:43:49 GMT Message-Id: <200611021043.kA2Ahngf025693@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 109031 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 10:43:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=109031 Change 109031 by bushman@bushman_nss_ldap_cached on 2006/11/02 10:43:38 IFC Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/etc/mtree/BSD.include.dist#5 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/etc/snmpd.config#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/include/Makefile#5 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.own.mk#6 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bluetooth/bthidcontrol/bthidcontrol.8#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bluetooth/bthidcontrol/bthidcontrol.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bluetooth/bthidcontrol/hid.c#2 integrate .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/bsnmpd/Makefile#2 integrate Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/mtree/BSD.include.dist#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.109 2006/10/06 08:27:07 ru Exp $ +# $FreeBSD: src/etc/mtree/BSD.include.dist,v 1.110 2006/10/31 22:22:29 pjd Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -108,6 +108,8 @@ .. gate .. + journal + .. label .. mirror ==== //depot/projects/soc2006/nss_ldap_cached/src/etc/snmpd.config#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/snmpd.config,v 1.6 2006/02/27 16:31:01 harti Exp $ +# $FreeBSD: src/etc/snmpd.config,v 1.7 2006/10/31 10:23:28 harti Exp $ # # Example configuration file for bsnmpd(1). # @@ -6,7 +6,6 @@ # # Set some common variables # -host := foobar location := "Room 200" contact := "sysmeister@example.com" system := 1 # FreeBSD @@ -43,8 +42,7 @@ begemotSnmpdCommunityDisable = 1 # open standard SNMP ports -begemotSnmpdPortStatus.[$(host)].161 = 1 -begemotSnmpdPortStatus.127.0.0.1.161 = 1 +begemotSnmpdPortStatus.0.0.0.0.161 = 1 # open a unix domain socket begemotSnmpdLocalPortStatus."/var/run/snmpd.sock" = 1 ==== //depot/projects/soc2006/nss_ldap_cached/src/include/Makefile#5 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 1/4/94 -# $FreeBSD: src/include/Makefile,v 1.264 2006/10/06 08:27:06 ru Exp $ +# $FreeBSD: src/include/Makefile,v 1.265 2006/10/31 22:22:29 pjd Exp $ # # Doing a "make install" builds /usr/include. @@ -45,8 +45,8 @@ 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/cache geom/concat geom/eli geom/gate geom/label geom/mirror \ - geom/nop geom/raid3 geom/shsec geom/stripe \ + geom/cache geom/concat geom/eli geom/gate geom/journal geom/label \ + geom/mirror geom/nop geom/raid3 geom/shsec geom/stripe \ isofs/cd9660 \ netatm/ipatm netatm/sigpvc netatm/spans netatm/uni \ netgraph/atm netgraph/netflow \ ==== //depot/projects/soc2006/nss_ldap_cached/src/share/mk/bsd.own.mk#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/mk/bsd.own.mk,v 1.57 2006/09/30 11:32:46 ru Exp $ +# $FreeBSD: src/share/mk/bsd.own.mk,v 1.58 2006/11/01 09:02:10 jb Exp $ # # The include file set common variables for owner, # group, mode, and directories. Defaults are in brackets. @@ -295,6 +295,7 @@ BLUETOOTH \ BOOT \ CALENDAR \ + CDDL \ CPP \ CRYPT \ CVS \ ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bluetooth/bthidcontrol/bthidcontrol.8#2 (text+ko) ==== @@ -23,9 +23,9 @@ .\" SUCH DAMAGE. .\" .\" $Id: bthidcontrol.8,v 1.1 2004/02/13 21:44:41 max Exp $ -.\" $FreeBSD: src/usr.sbin/bluetooth/bthidcontrol/bthidcontrol.8,v 1.3 2005/01/18 20:02:30 ru Exp $ +.\" $FreeBSD: src/usr.sbin/bluetooth/bthidcontrol/bthidcontrol.8,v 1.4 2006/10/31 00:26:58 markus Exp $ .\" -.Dd February 13, 2004 +.Dd October 30, 2006 .Dt BTHIDCONTROL 8 .Os .Sh NAME @@ -38,6 +38,7 @@ .Op Fl a Ar BD_ADDR .Op Fl c Ar file .Op Fl H Ar file +.Op Fl v .Ar command .Sh DESCRIPTION The @@ -67,6 +68,8 @@ .Pa /var/db/bthidd.hids . .It Fl h Display usage message and exit. +.It Fl v +Be verbose and show items that are being used for padding. .It Ar command One of the supported commands (see below). Special command ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bluetooth/bthidcontrol/bthidcontrol.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ * SUCH DAMAGE. * * $Id: bthidcontrol.c,v 1.2 2004/02/13 21:44:41 max Exp $ - * $FreeBSD: src/usr.sbin/bluetooth/bthidcontrol/bthidcontrol.c,v 1.1 2004/04/10 00:18:00 emax Exp $ + * $FreeBSD: src/usr.sbin/bluetooth/bthidcontrol/bthidcontrol.c,v 1.2 2006/10/31 00:26:58 markus Exp $ */ #include @@ -49,6 +49,8 @@ int32_t hid_sdp_query(bdaddr_t const *local, bdaddr_t const *remote, int32_t *error); +uint32_t verbose = 0; + /* * bthidcontrol */ @@ -62,7 +64,7 @@ hid_init(NULL); memcpy(&bdaddr, NG_HCI_BDADDR_ANY, sizeof(bdaddr)); - while ((opt = getopt(argc, argv, "a:c:H:h")) != -1) { + while ((opt = getopt(argc, argv, "a:c:H:hv")) != -1) { switch (opt) { case 'a': /* bdaddr */ if (!bt_aton(optarg, &bdaddr)) { @@ -83,6 +85,10 @@ hids_file = optarg; break; + case 'v': /* verbose */ + verbose++; + break; + case 'h': default: usage(); @@ -202,6 +208,7 @@ " -c file specify path to the bthidd config file\n" \ " -H file specify path to the bthidd HIDs file\n" \ " -h display usage and quit\n" \ +" -v be verbose\n" \ " command one of the supported commands\n"); exit(255); } /* usage */ ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bluetooth/bthidcontrol/hid.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ * SUCH DAMAGE. * * $Id: hid.c,v 1.3 2004/02/17 22:14:57 max Exp $ - * $FreeBSD: src/usr.sbin/bluetooth/bthidcontrol/hid.c,v 1.1 2004/04/10 00:18:00 emax Exp $ + * $FreeBSD: src/usr.sbin/bluetooth/bthidcontrol/hid.c,v 1.2 2006/10/31 00:26:58 markus Exp $ */ #include @@ -39,6 +39,8 @@ #include "bthid_config.h" #include "bthidcontrol.h" +extern uint32_t verbose; + static void hid_dump_descriptor (report_desc_t r); static void hid_dump_item (char const *label, struct hid_item *h); @@ -153,6 +155,9 @@ static void hid_dump_item(char const *label, struct hid_item *h) { + if ((h->flags & HIO_CONST) && !verbose) + return; + fprintf(stdout, "%s id=%u size=%u count=%u page=%s usage=%s%s%s%s%s%s%s%s%s%s", label, (uint8_t) h->report_ID, h->report_size, h->report_count, ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/bsnmpd/bsnmpd/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/usr.sbin/bsnmpd/bsnmpd/Makefile,v 1.14 2006/04/13 12:49:24 ru Exp $ +# $FreeBSD: src/usr.sbin/bsnmpd/bsnmpd/Makefile,v 1.15 2006/10/31 21:44:46 glebius Exp $ # # Author: Harti Brandt @@ -10,7 +10,8 @@ SRCS+= oid.h tree.c tree.h XSYM= snmpMIB begemotSnmpdModuleTable begemotSnmpd begemotTrapSinkTable \ sysUpTime snmpTrapOID coldStart authenticationFailure \ - begemotSnmpdTransUdp begemotSnmpdTransLsock begemotSnmpdLocalPortTable + begemotSnmpdTransUdp begemotSnmpdTransLsock begemotSnmpdLocalPortTable \ + freeBSDVersion CLEANFILES= oid.h tree.c tree.h MAN= bsnmpd.1 snmpmod.3 WARNS?= 6 From owner-p4-projects@FreeBSD.ORG Thu Nov 2 10:45:04 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0798916A4AB; Thu, 2 Nov 2006 10:45:04 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 9F75716A407 for ; Thu, 2 Nov 2006 10:45:03 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9615043D99 for ; Thu, 2 Nov 2006 10:44:51 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA2Aip7U025915 for ; Thu, 2 Nov 2006 10:44:51 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA2AiptE025912 for perforce@freebsd.org; Thu, 2 Nov 2006 10:44:51 GMT (envelope-from piso@freebsd.org) Date: Thu, 2 Nov 2006 10:44:51 GMT Message-Id: <200611021044.kA2AiptE025912@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 109032 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 10:45:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=109032 Change 109032 by piso@piso_newluxor on 2006/11/02 10:44:17 reduce diffs against HEAD Affected files ... .. //depot/projects/soc2005/libalias/ObsoleteFiles.inc#13 edit .. //depot/projects/soc2005/libalias/sys/conf/options#11 edit Differences ... ==== //depot/projects/soc2005/libalias/ObsoleteFiles.inc#13 (text+ko) ==== @@ -2971,6 +2971,7 @@ # - usr/share/tmac/mm/se_locale # - var/yp/Makefile + # 20060729: OpenSSL 0.9.7e -> 0.9.8b upgrade OLD_LIBS+=lib/libcrypto.so.4 OLD_LIBS+=usr/lib/libssl.so.4 ==== //depot/projects/soc2005/libalias/sys/conf/options#11 (text+ko) ==== @@ -378,7 +378,7 @@ IPXIP opt_ipx.h LIBMBPOOL LIBMCHAIN -LIBALIAS opt_net.h +LIBALIAS MBUF_STRESS_TEST NCP NETATALK opt_atalk.h From owner-p4-projects@FreeBSD.ORG Thu Nov 2 11:23:15 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 98A5A16A407; Thu, 2 Nov 2006 11:23:15 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 72C5E16A417; Thu, 2 Nov 2006 11:23:15 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe08.swip.net [212.247.154.225]) by mx1.FreeBSD.org (Postfix) with ESMTP id 793DE43DB9; Thu, 2 Nov 2006 11:23:11 +0000 (GMT) (envelope-from hselasky@c2i.net) X-T2-Posting-ID: gvlK0tOCzrqh9CPROFOFPw== X-Cloudmark-Score: 0.000000 [] Received: from [193.216.90.149] (HELO [10.0.0.249]) by mailfe08.swip.net (CommuniGate Pro SMTP 5.0.8) with ESMTP id 313844656; Thu, 02 Nov 2006 12:23:09 +0100 From: Hans Petter Selasky To: John Baldwin Date: Thu, 2 Nov 2006 12:22:46 +0100 User-Agent: KMail/1.7 References: <200611010112.kA11C1Jt066210@repoman.freebsd.org> <200611011047.07627.jhb@freebsd.org> In-Reply-To: <200611011047.07627.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200611021222.48108.hselasky@c2i.net> Cc: Perforce Change Reviews , Scott Long Subject: Re: PERFORCE change 108878 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 11:23:15 -0000 On Wednesday 01 November 2006 16:47, John Baldwin wrote: > On Tuesday 31 October 2006 20:12, Scott Long wrote: > > http://perforce.freebsd.org/chv.cgi?CH=108878 > > > > Change 108878 by scottl@scottl-x64 on 2006/11/01 01:11:30 > > > > For some wonderful reason, you cannot pass &Giant to msleep. Work > > around that in a crude fashion. Also add some more assertions. > > Ah, yes, that would be most unhappy. I guess mostly the idea is that Giant > should be rather implicit and explicitly using Giant for an object lock is > discouraged. I'm not sure that is what you are doing though. I think > maybe you are borrowing Giant that's already held? I use this patch: /* preliminary fix for a bug in msleep on FreeBSD, * which cannot sleep with Giant: */ #define msleep(i,m,p,w,t) msleep(i,(((m) == &Giant) ? NULL : (m)),p,w,t) Really this issue should be fixed. It happens just because GIANT_DROP is done too early in "msleep()". --HPS From owner-p4-projects@FreeBSD.ORG Thu Nov 2 13:44:43 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2BA9516A492; Thu, 2 Nov 2006 13:44:43 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 E58C516A47C for ; Thu, 2 Nov 2006 13:44:42 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2ECA343D66 for ; Thu, 2 Nov 2006 13:44:42 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA2DigUJ065300 for ; Thu, 2 Nov 2006 13:44:42 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA2DifCA065297 for perforce@freebsd.org; Thu, 2 Nov 2006 13:44:41 GMT (envelope-from bushman@freebsd.org) Date: Thu, 2 Nov 2006 13:44:41 GMT Message-Id: <200611021344.kA2DifCA065297@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 109038 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 13:44:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=109038 Change 109038 by bushman@bushman_nss_ldap_cached on 2006/11/02 13:44:09 Redundant pw_scan file removed Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/gen/Makefile.inc#2 edit .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/gen/pw_scan.c#2 delete .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/gen/pw_scan.h#2 delete Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libc/gen/Makefile.inc#2 (text+ko) ==== @@ -21,7 +21,7 @@ lockf.c lrand48.c mrand48.c nftw.c nice.c \ nlist.c nrand48.c opendir.c \ pause.c pmadvise.c popen.c posixshm.c pselect.c \ - psignal.c pw_scan.c pwcache.c \ + psignal.c pwcache.c \ raise.c readdir.c readpassphrase.c rewinddir.c \ scandir.c seed48.c seekdir.c sem.c semctl.c \ setdomainname.c sethostname.c setjmperr.c setmode.c \ From owner-p4-projects@FreeBSD.ORG Thu Nov 2 14:00:41 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EC8D116A666; Thu, 2 Nov 2006 14:00:40 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 A9C7516A65F for ; Thu, 2 Nov 2006 14:00:40 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 07C3443D94 for ; Thu, 2 Nov 2006 14:00:02 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA2E01EE067342 for ; Thu, 2 Nov 2006 14:00:01 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA2E01fA067333 for perforce@freebsd.org; Thu, 2 Nov 2006 14:00:01 GMT (envelope-from bushman@freebsd.org) Date: Thu, 2 Nov 2006 14:00:01 GMT Message-Id: <200611021400.kA2E01fA067333@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 109039 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 14:00:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=109039 Change 109039 by bushman@bushman_nss_ldap_cached on 2006/11/02 13:59:27 IFC (usr.bin added) Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/Makefile.inc#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/alias/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/alias/generic.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/apply/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/apply/apply.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/apply/apply.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/asa/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/asa/asa.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/asa/asa.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/at/LEGAL#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/at/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/at/Makefile.inc#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/at/at.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/at/at.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/at/at.man#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/at/panic.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/at/panic.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/at/parsetime.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/at/parsetime.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/at/perm.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/at/perm.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/at/privs.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/atm/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/atm/Makefile.inc#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/atm/sscop/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/awk/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/awk/b.c.diff#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/awk/lib.c.diff#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/awk/main.c.diff#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/awk/run.c.diff#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/awk/tran.c.diff#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/banner/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/banner/banner.6#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/banner/banner.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/basename/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/basename/basename.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/basename/basename.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/biff/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/biff/biff.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/biff/biff.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/bluetooth/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/bluetooth/Makefile.inc#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/bluetooth/bthost/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/bluetooth/bthost/bthost.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/bluetooth/bthost/bthost.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/bluetooth/btsockstat/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/bluetooth/btsockstat/btsockstat.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/bluetooth/btsockstat/btsockstat.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/bluetooth/rfcomm_sppd/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sdp.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sppd.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sppd.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/brandelf/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/brandelf/brandelf.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/brandelf/brandelf.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/bsdiff/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/bsdiff/Makefile.inc#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/bsdiff/bsdiff/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/bsdiff/bsdiff/bsdiff.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/bsdiff/bsdiff/bsdiff.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/bsdiff/bspatch/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/bsdiff/bspatch/bspatch.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/bsdiff/bspatch/bspatch.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/bzip2/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/bzip2/doc/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/bzip2recover/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/c89/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/c89/c89.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/c89/c89.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/c99/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/c99/c99.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/c99/c99.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendar.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendar.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendar.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.all#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.australia#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.birthday#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.christian#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.computer#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.croatian#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.freebsd#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.french#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.german#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.history#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.holiday#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.hungarian#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.judaic#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.lotr#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.music#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.newzealand#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.russian#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.southafrica#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.ukrainian#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.usholiday#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/calendar.world#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/de_AT.ISO_8859-15/calendar.feiertag#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.all#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.feiertag#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.geschichte#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.kirche#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.literatur#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.musik#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.wissenschaft#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.all#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.fetes#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.french#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.jferies#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/fr_FR.ISO8859-1/calendar.proverbes#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/hr_HR.ISO8859-2/calendar.all#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/hr_HR.ISO8859-2/calendar.praznici#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/hu_HU.ISO8859-2/calendar.all#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/hu_HU.ISO8859-2/calendar.nevnapok#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/hu_HU.ISO8859-2/calendar.unnepek#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.all#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.common#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.holiday#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.military#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.msk#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.orthodox#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.pagan#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/uk_UA.KOI8-U/calendar.all#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/uk_UA.KOI8-U/calendar.holiday#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/uk_UA.KOI8-U/calendar.misc#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/calendars/uk_UA.KOI8-U/calendar.orthodox#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/day.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/io.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/ostern.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/paskha.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/calendar/pathnames.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/cap_mkdb/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/cap_mkdb/cap_mkdb.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/cap_mkdb/cap_mkdb.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/catman/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/catman/catman.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/catman/catman.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/chat/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/chat/chat.8#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/chat/chat.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/checknr/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/checknr/checknr.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/checknr/checknr.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/chkey/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/chkey/chkey.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/chkey/chkey.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/chpass/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/chpass/chpass.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/chpass/chpass.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/chpass/chpass.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/chpass/edit.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/chpass/field.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/chpass/table.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/chpass/util.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/cksum/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/cksum/cksum.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/cksum/cksum.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/cksum/crc.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/cksum/crc32.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/cksum/extern.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/cksum/print.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/cksum/sum1.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/cksum/sum2.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/cmp/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/cmp/cmp.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/cmp/cmp.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/cmp/extern.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/cmp/link.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/cmp/misc.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/cmp/regular.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/cmp/special.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/col/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/col/README#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/col/col.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/col/col.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/colcrt/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/colcrt/colcrt.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/colcrt/colcrt.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/colldef/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/colldef/colldef.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/colldef/common.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/colldef/parse.y#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/colldef/scan.l#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/colrm/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/colrm/colrm.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/colrm/colrm.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/column/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/column/column.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/column/column.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/comm/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/comm/comm.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/comm/comm.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/compile_et/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/compress/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/compress/compress.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/compress/compress.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/compress/doc/NOTES#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/compress/doc/README#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/compress/doc/revision.log#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/compress/zopen.3#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/compress/zopen.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/compress/zopen.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/csplit/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/csplit/csplit.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/csplit/csplit.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/csup/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ctags/C.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ctags/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ctags/ctags.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ctags/ctags.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ctags/ctags.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ctags/fortran.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ctags/lisp.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ctags/print.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ctags/test/ctags.test#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ctags/tree.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ctags/yacc.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/cut/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/cut/cut.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/cut/cut.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/dig/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/dirname/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/dirname/dirname.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/du/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/du/du.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/du/du.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ee/Artistic#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ee/FREEBSD-upgrade#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ee/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ee/README#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ee/ee.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ee/ee.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ee/ee.i18n.guide#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ee/new_curse.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ee/new_curse.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ee/nls/de_DE.ISO8859-1/ee.msg#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ee/nls/en_US.US-ASCII/ee.msg#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ee/nls/fr_FR.ISO8859-1/ee.msg#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ee/nls/pl_PL.ISO8859-2/ee.msg#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ee/nls/ru_RU.KOI8-R/ee.msg#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ee/nls/uk_UA.KOI8-U/ee.msg#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/elf2aout/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/elf2aout/elf2aout.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/elfdump/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/elfdump/elfdump.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/elfdump/elfdump.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/enigma/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/enigma/enigma.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/enigma/enigma.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/env/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/env/env.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/env/env.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/env/envopts.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/env/envopts.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/expand/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/expand/expand.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/expand/expand.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/false/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/false/false.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/false/false.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/fetch/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/fetch/fetch.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/fetch/fetch.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/file/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/file/config.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/file/file.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/file/magic.5#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/file2c/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/file2c/file2c.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/file2c/file2c.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/find/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/find/extern.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/find/find.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/find/find.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/find/find.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/find/function.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/find/getdate.y#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/find/ls.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/find/main.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/find/misc.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/find/operator.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/find/option.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/finger/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/finger/extern.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/finger/finger.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/finger/finger.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/finger/finger.conf.5#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/finger/finger.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/finger/lprint.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/finger/net.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/finger/pathnames.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/finger/sprint.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/finger/util.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/fmt/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/fmt/fmt.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/fmt/fmt.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/fold/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/fold/fold.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/fold/fold.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/from/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/from/from.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/from/from.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/fstat/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/fstat/cd9660.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/fstat/fstat.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/fstat/fstat.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/fstat/fstat.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/fstat/msdosfs.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/fsync/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/fsync/fsync.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/fsync/fsync.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ftp/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ftp/config.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gcore/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gcore/elfcore.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gcore/extern.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gcore/gcore.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gcore/gcore.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gencat/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gencat/gencat.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gencat/gencat.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/getconf/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/getconf/confstr.gperf#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/getconf/fake-gperf.awk#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/getconf/getconf.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/getconf/getconf.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/getconf/getconf.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/getconf/limits.gperf#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/getconf/pathconf.gperf#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/getconf/progenv.gperf#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/getconf/sysconf.gperf#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/getent/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/getent/getent.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/getent/getent.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/getopt/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/getopt/README#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/getopt/getopt.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/getopt/getopt.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/PSD.doc/abstract.me#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/PSD.doc/gathering.me#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/PSD.doc/header.me#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/PSD.doc/intro.me#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/PSD.doc/postp.me#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/PSD.doc/postp1.pic#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/PSD.doc/postp2.pic#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/PSD.doc/postp3.pic#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/PSD.doc/pres1.pic#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/PSD.doc/pres2.pic#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/PSD.doc/present.me#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/PSD.doc/profiling.me#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/PSD.doc/refs.me#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/amd64.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/aout.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/arcs.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/arm.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/dfn.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/elf.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/gprof.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/gprof.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/gprof.callg#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/gprof.flat#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/gprof.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/hertz.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/i386.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/ia64.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/kernel.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/lookup.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/pathnames.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/powerpc.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/printgprof.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/printlist.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/gprof/sparc64.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/head/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/head/head.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/head/head.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/hesinfo/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/hesinfo/hesinfo.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/hesinfo/hesinfo.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/hexdump/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/hexdump/conv.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/hexdump/display.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/hexdump/hexdump.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/hexdump/hexdump.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/hexdump/hexdump.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/hexdump/hexsyntax.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/hexdump/od.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/hexdump/odsyntax.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/hexdump/parse.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/host/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/id/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/id/groups.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/id/id.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/id/id.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/id/whoami.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/indent/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/indent/README#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/indent/args.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/indent/indent.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/indent/indent.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/indent/indent.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/indent/indent_codes.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/indent/indent_globs.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/indent/io.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/indent/lexi.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/indent/parse.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/indent/pr_comment.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ipcrm/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ipcrm/ipcrm.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ipcrm/ipcrm.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ipcs/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ipcs/ipcs.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ipcs/ipcs.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/join/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/join/join.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/join/join.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/jot/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/jot/jot.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/jot/jot.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/kdump/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/kdump/kdump.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/kdump/kdump.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/kdump/kdump_subr.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/kdump/mkioctls#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/kdump/mksubr#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/keylogin/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/keylogin/keylogin.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/keylogin/keylogin.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/keylogout/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/keylogout/keylogout.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/keylogout/keylogout.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/killall/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/killall/killall.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/killall/killall.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ktrace/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ktrace/ktrace.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ktrace/ktrace.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ktrace/ktrace.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ktrace/subr.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ktrdump/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ktrdump/ktrdump.8#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ktrdump/ktrdump.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lam/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lam/lam.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lam/lam.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/last/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/last/last.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/last/last.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lastcomm/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lastcomm/lastcomm.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lastcomm/lastcomm.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lastcomm/pathnames.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ldd/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ldd/extern.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ldd/ldd.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ldd/ldd.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ldd/sods.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/leave/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/leave/leave.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/leave/leave.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/less/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/less/Makefile.common#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/less/defines.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/less/lesspipe.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/less/zless.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lessecho/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lesskey/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/COPYING#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/FlexLexer.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/NEWS#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/README#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/ccl.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/config.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/dfa.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/ecs.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/flex.skl#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/flexdef.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/gen.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/initscan.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/lex.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/lib/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/lib/libmain.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/lib/libyywrap.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/main.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/misc.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/mkskel.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/nfa.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/parse.y#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/scan.l#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/sym.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/tblcmp.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/version.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lex/yylex.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/limits/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/limits/limits.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/limits/limits.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/locale/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/locale/locale.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/locale/locale.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/locate/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/locate/Makefile.inc#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/locate/bigram/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/locate/bigram/locate.bigram.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/locate/code/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/locate/code/locate.code.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/locate/locate/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/locate/locate/concatdb.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/locate/locate/fastfind.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/locate/locate/locate.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/locate/locate/locate.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/locate/locate/locate.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/locate/locate/locate.rc#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/locate/locate/locate.updatedb.8#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/locate/locate/mklocatedb.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/locate/locate/pathnames.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/locate/locate/updatedb.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/locate/locate/util.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lock/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lock/lock.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lock/lock.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lockf/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lockf/lockf.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lockf/lockf.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/logger/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/logger/logger.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/logger/logger.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/login/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/login/README#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/login/login.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/login/login.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/login/login.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/login/login_audit.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/login/login_fbtab.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/login/pathnames.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/logins/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/logins/logins.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/logins/logins.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/logname/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/logname/logname.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/logname/logname.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/look/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/look/look.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/look/look.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/look/pathnames.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lorder/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lorder/lorder.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lorder/lorder.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lsvfs/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lsvfs/lsvfs.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/lsvfs/lsvfs.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/m4/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/m4/NOTES#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/m4/TEST/ack.m4#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/m4/TEST/hanoi.m4#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/m4/TEST/hash.m4#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/m4/TEST/math.m4#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/m4/TEST/sqroot.m4#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/m4/TEST/string.m4#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/m4/TEST/test.m4#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/m4/eval.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/m4/expr.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/m4/extern.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/m4/gnum4.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/m4/look.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/m4/m4.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/m4/main.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/m4/mdef.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/m4/misc.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/m4/pathnames.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/m4/stdd.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/m4/trace.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/USD.doc/mail0.nr#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/USD.doc/mail1.nr#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/USD.doc/mail2.nr#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/USD.doc/mail3.nr#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/USD.doc/mail4.nr#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/USD.doc/mail5.nr#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/USD.doc/mail6.nr#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/USD.doc/mail7.nr#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/USD.doc/mail8.nr#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/USD.doc/mail9.nr#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/USD.doc/maila.nr#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/aux.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/cmd1.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/cmd2.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/cmd3.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/cmdtab.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/collect.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/def.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/edit.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/extern.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/fio.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/getname.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/glob.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/head.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/lex.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/list.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/mail.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/main.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/misc/mail.help#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/misc/mail.rc#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/misc/mail.tildehelp#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/names.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/pathnames.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/popen.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/quit.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/rcv.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/send.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/strings.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/temp.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/tty.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/v7.local.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/vars.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mail/version.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/GNode.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/Makefile.dist#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/PSD.doc/stubs#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/PSD.doc/tutorial.ms#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/arch.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/arch.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/buf.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/buf.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/cond.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/cond.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/config.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/dir.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/dir.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/for.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/for.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/globals.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/hash.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/hash.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/hash_tables.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/hash_tables.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/job.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/job.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/lst.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/lst.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/main.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/make.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/make.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/make.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/parse.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/parse.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/pathnames.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/proc.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/proc.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/shell.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/shell.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/str.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/str.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/suff.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/suff.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/targ.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/targ.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/util.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/util.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/var.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/make/var.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/makewhatis/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/makewhatis/makewhatis.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/makewhatis/makewhatis.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/makewhatis/makewhatis.local.8#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/makewhatis/makewhatis.local.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mesg/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mesg/mesg.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mesg/mesg.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/minigzip/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/minigzip/minigzip.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mkdep/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mkdep/mkdep.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mkdep/mkdep.gcc.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mkdep/mkdep.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mkfifo/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mkfifo/mkfifo.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mkfifo/mkfifo.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mklocale/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mklocale/extern.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mklocale/ldef.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mklocale/lex.l#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mklocale/mklocale.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mklocale/yacc.y#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mkstr/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mkstr/mkstr.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mkstr/mkstr.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mktemp/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mktemp/mktemp.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mktemp/mktemp.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mkuzip/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mkuzip/mkuzip.8#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mkuzip/mkuzip.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/msgs/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/msgs/msgs.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/msgs/msgs.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/msgs/pathnames.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mt/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mt/mt.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/mt/mt.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/nc/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ncal/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ncal/ncal.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ncal/ncal.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ncplist/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ncplist/ncplist.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ncplist/ncplist.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ncplogin/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ncplogin/ncplogin.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ncplogin/ncplogin.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ncplogin/ncplogout.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/netstat/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/netstat/atalk.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/netstat/bpf.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/netstat/if.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/netstat/inet.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/netstat/inet6.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/netstat/ipsec.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/netstat/ipx.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/netstat/main.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/netstat/mbuf.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/netstat/mcast.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/netstat/mroute.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/netstat/mroute6.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/netstat/netgraph.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/netstat/netstat.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/netstat/netstat.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/netstat/pfkey.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/netstat/route.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/netstat/unix.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/newgrp/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/newgrp/newgrp.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/newgrp/newgrp.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/newkey/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/newkey/extern.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/newkey/generic.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/newkey/newkey.8#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/newkey/newkey.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/newkey/update.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/nfsstat/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/nfsstat/nfsstat.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/nfsstat/nfsstat.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/nice/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/nice/nice.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/nice/nice.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/nl/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/nl/nl.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/nl/nl.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/nohup/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/nohup/nohup.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/nohup/nohup.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/nslookup/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/nsupdate/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/objformat/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/objformat/objformat.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/objformat/objformat.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/opieinfo/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/opiekey/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/opiepasswd/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/pagesize/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/pagesize/pagesize.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/pagesize/pagesize.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/passwd/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/passwd/passwd.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/passwd/passwd.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/paste/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/paste/paste.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/paste/paste.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/pathchk/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/pathchk/pathchk.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/pathchk/pathchk.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/pkill/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/pkill/pkill.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/pkill/pkill.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/pr/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/pr/egetopt.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/pr/extern.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/pr/pr.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/pr/pr.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/pr/pr.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/printenv/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/printenv/printenv.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/printenv/printenv.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/printf/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/printf/printf.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/printf/printf.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/quota/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/quota/quota.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/quota/quota.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/renice/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/renice/renice.8#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/renice/renice.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rev/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rev/rev.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rev/rev.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rlogin/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rlogin/rlogin.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rlogin/rlogin.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rpcgen/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rpcgen/rpc_clntout.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rpcgen/rpc_cout.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rpcgen/rpc_hout.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rpcgen/rpc_main.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rpcgen/rpc_parse.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rpcgen/rpc_parse.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rpcgen/rpc_sample.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rpcgen/rpc_scan.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rpcgen/rpc_scan.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rpcgen/rpc_svcout.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rpcgen/rpc_tblout.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rpcgen/rpc_util.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rpcgen/rpc_util.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rpcgen/rpcgen.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rpcinfo/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rpcinfo/rpcinfo.8#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rpcinfo/rpcinfo.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rs/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rs/rs.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rs/rs.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rsh/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rsh/rsh.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rsh/rsh.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rup/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rup/rup.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rup/rup.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ruptime/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ruptime/ruptime.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/ruptime/ruptime.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rusers/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rusers/rusers.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rusers/rusers.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rwall/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rwall/rwall.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rwall/rwall.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rwho/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rwho/rwho.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/rwho/rwho.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/script/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/script/script.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/script/script.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sed/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sed/POSIX#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sed/TEST/hanoi.sed#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sed/TEST/math.sed#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sed/TEST/sed.test#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sed/compile.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sed/defs.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sed/extern.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sed/main.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sed/misc.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sed/process.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sed/sed.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/shar/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/shar/shar.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/shar/shar.sh#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/showmount/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/showmount/showmount.8#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/showmount/showmount.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/smbutil/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sockstat/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sockstat/sockstat.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/sockstat/sockstat.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/split/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/split/split.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/split/split.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/stat/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/stat/stat.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/stat/stat.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/su/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/su/su.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/su/su.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/cmds.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/cmdtab.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/convtbl.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/convtbl.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/devs.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/devs.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/extern.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/fetch.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/icmp.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/icmp6.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/ifcmds.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/ifstat.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/iostat.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/ip.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/ip6.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/keyboard.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/main.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/mbufs.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/mode.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/mode.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/netcmds.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/netstat.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/pigs.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/swap.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/systat.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/systat.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/tcp.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/systat/vmstat.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tabs/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tabs/tabs.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tabs/tabs.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tail/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tail/extern.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tail/forward.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tail/misc.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tail/read.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tail/reverse.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tail/tail.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tail/tail.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/talk/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/talk/ctl.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/talk/ctl_transact.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/talk/display.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/talk/get_addrs.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/talk/get_iface.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/talk/get_names.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/talk/init_disp.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/talk/invite.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/talk/io.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/talk/look_up.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/talk/msgs.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/talk/talk.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/talk/talk.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/talk/talk.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/talk/talk_ctl.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/COPYING#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/bsdtar.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/bsdtar.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/bsdtar.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/bsdtar_platform.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/getdate.y#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/matching.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/read.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/tree.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/tree.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/util.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tar/write.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tcopy/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tcopy/tcopy.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tcopy/tcopy.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tee/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tee/tee.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tee/tee.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/telnet/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tftp/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tftp/extern.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tftp/main.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tftp/tftp.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tftp/tftp.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tftp/tftpsubs.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tftp/tftpsubs.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/time/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/time/time.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/time/time.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/Makefile.inc#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/README#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/TODO#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/libacu/biz22.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/libacu/biz31.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/libacu/courier.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/libacu/df.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/libacu/dn11.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/libacu/hayes.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/libacu/t3000.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/libacu/v3451.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/libacu/v831.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/libacu/ventel.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/tip/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/tip/acu.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/tip/acutab.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/tip/cmds.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/tip/cmdtab.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/tip/cu.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/tip/cu.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/tip/hunt.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/tip/log.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/tip/partab.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/tip/pathnames.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/tip/remote.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/tip/tip.1#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/tip/tip.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/tip/tip.h#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/tip/tipout.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/tip/uucplock.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/tip/value.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/tip/tip/vars.c#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/top/Makefile#1 branch .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/top/machine.c#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Nov 2 14:12:18 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0F6CC16A40F; Thu, 2 Nov 2006 14:12:18 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 C5F3D16A403 for ; Thu, 2 Nov 2006 14:12:17 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8B57A43D5D for ; Thu, 2 Nov 2006 14:12:17 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA2ECHj1071202 for ; Thu, 2 Nov 2006 14:12:17 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA2ECHff071197 for perforce@freebsd.org; Thu, 2 Nov 2006 14:12:17 GMT (envelope-from bushman@freebsd.org) Date: Thu, 2 Nov 2006 14:12:17 GMT Message-Id: <200611021412.kA2ECHff071197@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 109040 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 14:12:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=109040 Change 109040 by bushman@bushman_nss_ldap_cached on 2006/11/02 14:11:34 __pw_scan should be takend only from libnssutil Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/chpass/Makefile#2 edit .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pwd_mkdb/Makefile#2 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/chpass/Makefile#2 (text+ko) ==== @@ -15,7 +15,12 @@ .endif #Some people need this, uncomment to activate #CFLAGS+=-DRESTRICT_FULLNAME_CHANGE -CFLAGS+=-I${.CURDIR}/../../usr.sbin/pwd_mkdb -I${.CURDIR}/../../lib/libc/gen -I. +CFLAGS+=-I${.CURDIR}/../../usr.sbin/pwd_mkdb -I. + +# Needed to use __pw_scan function, which is in libnssutil +CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../../libnssutil +LD_ADD+= -lnssutil +LDFLAGS+= -L${.OBJDIR}/../../libnssutil DPADD= ${LIBCRYPT} ${LIBUTIL} LDADD= -lcrypt -lutil ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pwd_mkdb/Makefile#2 (text+ko) ==== @@ -8,6 +8,9 @@ SRCS= pw_scan.c pwd_mkdb.c WARNS?= 4 -CFLAGS+= -I${.CURDIR}/../../lib/libc/gen # for pw_scan.h +# Needed to use __pw_scan function, which is in libnssutil +CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../../libnssutil +LD_ADD+= -lnssutil +LDFLAGS+= -L${.OBJDIR}/../../libnssutil .include From owner-p4-projects@FreeBSD.ORG Thu Nov 2 15:43:25 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B2BA316A4E0; Thu, 2 Nov 2006 15:43:25 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 5221A16A4C8 for ; Thu, 2 Nov 2006 15:43:25 +0000 (UTC) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 016F943D6D for ; Thu, 2 Nov 2006 15:43:19 +0000 (GMT) (envelope-from millert@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA2FhBO5086526 for ; Thu, 2 Nov 2006 15:43:11 GMT (envelope-from millert@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA2FhBQZ086521 for perforce@freebsd.org; Thu, 2 Nov 2006 15:43:11 GMT (envelope-from millert@freebsd.org) Date: Thu, 2 Nov 2006 15:43:11 GMT Message-Id: <200611021543.kA2FhBQZ086521@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to millert@freebsd.org using -f From: Todd Miller To: Perforce Change Reviews Cc: Subject: PERFORCE change 109042 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 15:43:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=109042 Change 109042 by millert@millert_g5tower on 2006/11/02 15:42:24 Don't reference documents not shipped as part of sedarwin. Affected files ... .. //depot/projects/trustedbsd/sedarwin8/README#4 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin8/README#4 (text+ko) ==== @@ -1,4 +1,4 @@ -Port of TrustedBSD MAC Framework to Darwin 8.6 +Port of TrustedBSD MAC Framework to Darwin 8.7 SPARTA, Inc 7110 Samuel Morse Drive @@ -44,7 +44,7 @@ appropriate for use in production environments. The following modifications have been made relative to Apple's Darwin -10.4.7 release: +8.7 release: - Inclusion of a subset of the MAC Framework entry points to provide label support and protection of files, processes, System V @@ -138,10 +138,6 @@ generated in a more intelligent way. In the future, would like to provide additional automatic policy generation through the use of these tags. - - The MAC Framework API documentation has been updated; documentation is - available in the docs/Framework/html/directory. - - New Features in the 20060929 release ===================================== @@ -248,17 +244,6 @@ - kernel symbol printing has been reenabled. - - Improved documentation has been included. In particular, - updates were made to the Design and Implementation document, the - Policy Module Writing guide, and man pages. A new document - (ISSO-06-008-Boot.pdf) discusses Boot time improvements made, their - interaction with the MAC Framework and sample policies with respect to - boot integrity. - - - The MAC Framework API documentation has been updated; - documentation is available in the docs/Framework/html/ - directory. - - The ERRATA has the current list of defects. @@ -351,14 +336,8 @@ required to include mac.h - Improved documentation has been included. In particular, - updates were made to the Design and Implementation document, the - Policy Module Writing guide, the Testing guide, and the set of - man pages. + updates were made to the man pages. - - The MAC Framework API documentation has been updated; - documentation is available in the docs/Framework/html/ - directory. - - Some defects that were causing instabilities in the MAC Framework and MLS policy has been fixed. See ERRATA for the current list of defects. @@ -371,9 +350,6 @@ and MLS policy has been fixed. See ERRATA for the current list of defects. - - There are changes in the testbed and detailed instructions can be - found in docs/TestingMacFramework.pdf - New Features in the 20051223 release ===================================== @@ -503,20 +479,7 @@ further automate some of the steps that must be done manually when using the tarfile installation method. - - New and improved documentation has been included. In particular, - a new guide detailing the Design and Implementation of MAC on Darwin 8, - an updated Policy Module Writing guide, Testing guide and man pages - for all MAC Framework APIs has been completed. - - The MAC Framework API documentation has been updated; - documentation is available in the docs/Framework/html/ - directory. - - - Two Review documents have been completed and are included in - this release. The Application Review and the IOKit Review - reports are available in the docs/review directory. - - New Features in the 20050930 release ==================================== @@ -560,16 +523,7 @@ - The documentation has been improved. In particular, man pages for all MAC Framework APIs has been completed. - - The MAC Framework API documentation has been updated; - documentation is available in the docs/Framework/html/ - directory. - - Three Review documents have been completed and are included in - this release. The Framework Review, the System Boot Review, and - the KEXT Review reports are available in the docs/review - directory. - - New Features in the 20050630 release ==================================== @@ -646,12 +600,6 @@ mac_create_sysv_sema -> mac_create_sysv_sem mac_cleanup_sysv_sema -> mac_cleanup_sysv_sem - - This release includes the results of the investigation into - distributed file systems. A paper summarizing the results is - available as docs/isso-05-0001-DFS.pdf and a prototype - implementation (using NFS) is available in the src/nfssuite - directory. - - The kernel was modified to provide support for login contexts; a login context is used to associate both windowed non-graphical applications with a single user-facing session. In a future @@ -688,17 +636,9 @@ access control for Mach IPC. Prototype modifications to the MLS policy to control information flow via Mach IPC. - - Two documents summarizing the results of experimentation with - applications making extensive use of Mach IPC describing how - Mach IPC is used, and the potential impact on mandatory access - control. The two CMW papers are available in the docs - directory, named 'cmw-like-security.pdf' and 'MLS-usage.pdf'. - - Additional maturing in VFS security; in particular, vn_read, vn_write, and vn_rdwr access controls were changed. - - Documentation for all supported MAC Framework entry points is - available in the docs/Framework/html/ directory. New Features in Drop 5 ====================== @@ -716,10 +656,6 @@ the intent that the build system use consistently uses only the GNU format. - - Additional documentation on the test framework and on CMW-like - access controls for Apple OS X is nearly complete and will be - separately shipped. - New Features in Drop 4 ====================== @@ -774,9 +710,7 @@ ====================== - Mach IPC tracing facility - The 'ipctrace' policy module causes - the system to store a log of how IPC is used in Darwin. More - information on ipctrace can be found in docs/ipctrace.txt. - Some example results are also included in examples/ipctrace. + the system to store a log of how IPC is used in Darwin. - System V IPC controls and labelling - Darwin's implementation of System V shared memory and semaphore arrays was extended to @@ -786,13 +720,11 @@ - Updates to SEDarwin - The SEDarwin policy module was extended to support System V IPC security. The supplied policy permits IPC - only between programs running in the same domain. More - information on the sedarwin module is available in docs/sedarwin.txt. + only between programs running in the same domain. - MLS (Multi-Level Security) policy module - We have ported the TrustedBSD MLS policy module to the Darwin security - framework. More information on the macmls module is available - in docs/macmls.txt. + framework. - Updates to the mactest policy module - We have made improvements to the mactest module so that it now supports additional entry @@ -841,13 +773,12 @@ ================== Instructions for building this system may be found in the -src/dsep-install.txt and src/dsep-install-gui.txt files included -with the release. The build instructions include references to -specific versions of Apple-provided operating system software and -tools; this release is unlikely to work correctly with any other -revisions of Apple's software, and may behave incorrectly, resulting -in system failure and/or data loss. The preferred system setup -procedures are documented in docs/system-setup.txt. +sefos-install.txt file included with the release. The build +instructions include references to specific versions of Apple-provided +operating system software and tools; this release is unlikely to +work correctly with any other revisions of Apple's software, and +may behave incorrectly, resulting in system failure and/or data +loss. Policy Module Support From owner-p4-projects@FreeBSD.ORG Thu Nov 2 17:07:03 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4A71916A47C; Thu, 2 Nov 2006 17:07:03 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 0BAD316A40F; Thu, 2 Nov 2006 17:07:03 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id 782DB43D53; Thu, 2 Nov 2006 17:07:02 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from zion.baldwin.cx (zion.baldwin.cx [192.168.0.7]) (authenticated bits=0) by server.baldwin.cx (8.13.6/8.13.6) with ESMTP id kA2H6qRg013455; Thu, 2 Nov 2006 12:06:56 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: Hans Petter Selasky Date: Thu, 2 Nov 2006 11:51:19 -0500 User-Agent: KMail/1.9.1 References: <200611010112.kA11C1Jt066210@repoman.freebsd.org> <200611011047.07627.jhb@freebsd.org> <200611021222.48108.hselasky@c2i.net> In-Reply-To: <200611021222.48108.hselasky@c2i.net> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200611021151.19396.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [192.168.0.1]); Thu, 02 Nov 2006 12:06:56 -0500 (EST) X-Virus-Scanned: ClamAV 0.88.3/2149/Thu Nov 2 10:27:15 2006 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Perforce Change Reviews , Scott Long Subject: Re: PERFORCE change 108878 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 17:07:03 -0000 On Thursday 02 November 2006 06:22, Hans Petter Selasky wrote: > On Wednesday 01 November 2006 16:47, John Baldwin wrote: > > On Tuesday 31 October 2006 20:12, Scott Long wrote: > > > http://perforce.freebsd.org/chv.cgi?CH=108878 > > > > > > Change 108878 by scottl@scottl-x64 on 2006/11/01 01:11:30 > > > > > > For some wonderful reason, you cannot pass &Giant to msleep. Work > > > around that in a crude fashion. Also add some more assertions. > > > > Ah, yes, that would be most unhappy. I guess mostly the idea is that Giant > > should be rather implicit and explicitly using Giant for an object lock is > > discouraged. I'm not sure that is what you are doing though. I think > > maybe you are borrowing Giant that's already held? > > I use this patch: > > /* preliminary fix for a bug in msleep on FreeBSD, > * which cannot sleep with Giant: > */ > #define msleep(i,m,p,w,t) msleep(i,(((m) == &Giant) ? NULL : (m)),p,w,t) > > Really this issue should be fixed. It happens just because GIANT_DROP is done > too early in "msleep()". Giant is special in msleep() and friends to make sure it is first in the lock order, but unlock doesn't matter for lock order, and actually, the current order is less intuitive. I think it's the way it is now because we inherited it from BSD/OS. Also in theory old code under Giant should be using tsleep() and not msleep() anyway. It actually won't hurt to move DROP_GIANT later though. How about this: Index: kern_synch.c =================================================================== RCS file: /host/cvs/usr/cvs/src/sys/kern/kern_synch.c,v retrieving revision 1.281 diff -u -r1.281 kern_synch.c --- kern_synch.c 15 Jun 2006 06:41:57 -0000 1.281 +++ kern_synch.c 2 Nov 2006 16:47:27 -0000 @@ -172,12 +172,12 @@ CTR5(KTR_PROC, "msleep: thread %p (pid %ld, %s) on %s (%p)", (void *)td, (long)p->p_pid, p->p_comm, wmesg, ident); - DROP_GIANT(); if (mtx != NULL) { mtx_assert(mtx, MA_OWNED | MA_NOTRECURSED); WITNESS_SAVE(&mtx->mtx_object, mtx); mtx_unlock(mtx); } + DROP_GIANT(); /* * We put ourselves on the sleep queue and start our timeout Index: kern_condvar.c =================================================================== RCS file: /host/cvs/usr/cvs/src/sys/kern/kern_condvar.c,v retrieving revision 1.55 diff -u -r1.55 kern_condvar.c --- kern_condvar.c 23 Feb 2006 00:13:58 -0000 1.55 +++ kern_condvar.c 2 Nov 2006 16:48:05 -0000 @@ -146,8 +146,8 @@ sleepq_lock(cvp); cvp->cv_waiters++; - DROP_GIANT(); mtx_unlock(mp); + DROP_GIANT(); sleepq_add(cvp, mp, cvp->cv_description, SLEEPQ_CONDVAR); sleepq_wait(cvp); @@ -193,8 +193,8 @@ sleepq_lock(cvp); cvp->cv_waiters++; - DROP_GIANT(); mtx_unlock(mp); + DROP_GIANT(); sleepq_add(cvp, mp, cvp->cv_description, SLEEPQ_CONDVAR | SLEEPQ_INTERRUPTIBLE); @@ -247,8 +247,8 @@ sleepq_lock(cvp); cvp->cv_waiters++; - DROP_GIANT(); mtx_unlock(mp); + DROP_GIANT(); sleepq_add(cvp, mp, cvp->cv_description, SLEEPQ_CONDVAR); sleepq_set_timeout(cvp, timo); @@ -304,8 +304,8 @@ sleepq_lock(cvp); cvp->cv_waiters++; - DROP_GIANT(); mtx_unlock(mp); + DROP_GIANT(); sleepq_add(cvp, mp, cvp->cv_description, SLEEPQ_CONDVAR | SLEEPQ_INTERRUPTIBLE); -- John Baldwin From owner-p4-projects@FreeBSD.ORG Thu Nov 2 17:10:35 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0E13116A417; Thu, 2 Nov 2006 17:10:35 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 DFC5516A407; Thu, 2 Nov 2006 17:10:34 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6708643D45; Thu, 2 Nov 2006 17:10:34 +0000 (GMT) (envelope-from scottl@samsco.org) Received: from [10.10.3.185] ([165.236.175.187]) (authenticated bits=0) by pooker.samsco.org (8.13.4/8.13.4) with ESMTP id kA2HAMdb073515; Thu, 2 Nov 2006 10:10:28 -0700 (MST) (envelope-from scottl@samsco.org) Message-ID: <454A2679.4030609@samsco.org> Date: Thu, 02 Nov 2006 10:10:17 -0700 From: Scott Long User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.12) Gecko/20060206 X-Accept-Language: en-us, en MIME-Version: 1.0 To: John Baldwin References: <200611010112.kA11C1Jt066210@repoman.freebsd.org> <200611011047.07627.jhb@freebsd.org> <200611021222.48108.hselasky@c2i.net> <200611021151.19396.jhb@freebsd.org> In-Reply-To: <200611021151.19396.jhb@freebsd.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=0.0 required=3.8 tests=none autolearn=failed version=3.1.1 X-Spam-Checker-Version: SpamAssassin 3.1.1 (2006-03-10) on pooker.samsco.org Cc: Perforce Change Reviews , Scott Long , Hans Petter Selasky Subject: Re: PERFORCE change 108878 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 17:10:35 -0000 John Baldwin wrote: > On Thursday 02 November 2006 06:22, Hans Petter Selasky wrote: > >>On Wednesday 01 November 2006 16:47, John Baldwin wrote: >> >>>On Tuesday 31 October 2006 20:12, Scott Long wrote: >>> >>>>http://perforce.freebsd.org/chv.cgi?CH=108878 >>>> >>>>Change 108878 by scottl@scottl-x64 on 2006/11/01 01:11:30 >>>> >>>> For some wonderful reason, you cannot pass &Giant to msleep. Work >>>> around that in a crude fashion. Also add some more assertions. >>> >>>Ah, yes, that would be most unhappy. I guess mostly the idea is that Giant >>>should be rather implicit and explicitly using Giant for an object lock is >>>discouraged. I'm not sure that is what you are doing though. I think >>>maybe you are borrowing Giant that's already held? >> >>I use this patch: >> >>/* preliminary fix for a bug in msleep on FreeBSD, >> * which cannot sleep with Giant: >> */ >>#define msleep(i,m,p,w,t) msleep(i,(((m) == &Giant) ? NULL : (m)),p,w,t) >> >>Really this issue should be fixed. It happens just because GIANT_DROP is done >>too early in "msleep()". > > > Giant is special in msleep() and friends to make sure it is first in the > lock order, but unlock doesn't matter for lock order, and actually, the > current order is less intuitive. I think it's the way it is now because we > inherited it from BSD/OS. Also in theory old code under Giant should be > using tsleep() and not msleep() anyway. It actually won't hurt to move > DROP_GIANT later though. > > How about this: > This won't work for what I'm using it for. It's not a big deal, though. Scott From owner-p4-projects@FreeBSD.ORG Thu Nov 2 19:38:20 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E7E9B16A407; Thu, 2 Nov 2006 19:38:19 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 785C816A415 for ; Thu, 2 Nov 2006 19:38:19 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 431F643D46 for ; Thu, 2 Nov 2006 19:38:19 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA2JcJXS038732 for ; Thu, 2 Nov 2006 19:38:19 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA2JcIVx038729 for perforce@freebsd.org; Thu, 2 Nov 2006 19:38:18 GMT (envelope-from piso@freebsd.org) Date: Thu, 2 Nov 2006 19:38:18 GMT Message-Id: <200611021938.kA2JcIVx038729@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 109067 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 19:38:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=109067 Change 109067 by piso@piso_newluxor on 2006/11/02 19:37:58 IFC@109062 Affected files ... .. //depot/projects/soc2005/libalias/sbin/ipfw/ipfw2.c#11 edit .. //depot/projects/soc2005/libalias/sys/boot/common/load_elf.c#3 integrate .. //depot/projects/soc2005/libalias/sys/boot/i386/boot2/boot2.c#3 integrate .. //depot/projects/soc2005/libalias/sys/boot/i386/libi386/elf32_freebsd.c#3 integrate .. //depot/projects/soc2005/libalias/sys/boot/pc98/boot2/boot.c#3 integrate .. //depot/projects/soc2005/libalias/sys/ddb/db_command.c#4 integrate .. //depot/projects/soc2005/libalias/sys/geom/eli/g_eli.c#6 integrate .. //depot/projects/soc2005/libalias/sys/geom/journal/g_journal.c#3 integrate .. //depot/projects/soc2005/libalias/sys/kern/uipc_mbuf.c#4 integrate .. //depot/projects/soc2005/libalias/sys/kern/uipc_socket.c#8 integrate .. //depot/projects/soc2005/libalias/sys/kern/uipc_syscalls.c#6 integrate .. //depot/projects/soc2005/libalias/sys/net/bridgestp.c#7 integrate .. //depot/projects/soc2005/libalias/sys/net/if_tap.c#4 integrate .. //depot/projects/soc2005/libalias/sys/net/if_tun.c#5 integrate .. //depot/projects/soc2005/libalias/sys/net/ppp_tty.c#2 integrate .. //depot/projects/soc2005/libalias/sys/netgraph/ng_device.c#2 integrate .. //depot/projects/soc2005/libalias/sys/sys/libkern.h#4 integrate .. //depot/projects/soc2005/libalias/sys/sys/mbuf.h#6 integrate .. //depot/projects/soc2005/libalias/sys/sys/socket.h#3 integrate Differences ... ==== //depot/projects/soc2005/libalias/sbin/ipfw/ipfw2.c#11 (text+ko) ==== @@ -526,8 +526,9 @@ if (optname == IP_FW_GET || optname == IP_DUMMYNET_GET || optname == IP_FW_ADD || optname == IP_FW_TABLE_LIST || - optname == IP_FW_TABLE_GETSIZE || optname == IP_FW_NAT_GET_CONFIG || - optname == IP_FW_NAT_GET_LOG) + optname == IP_FW_TABLE_GETSIZE || + optname == IP_FW_NAT_GET_CONFIG || + optname == IP_FW_NAT_GET_LOG) i = getsockopt(s, IPPROTO_IP, optname, optval, (socklen_t *)optlen); else ==== //depot/projects/soc2005/libalias/sys/boot/common/load_elf.c#3 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/common/load_elf.c,v 1.35 2006/10/29 14:50:57 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/common/load_elf.c,v 1.36 2006/11/02 17:28:37 ru Exp $"); #include #include @@ -263,7 +263,7 @@ #if __ELF_WORD_SIZE == 64 off = - (off & 0xffffffffff000000ull);/* x86_64 relocates after locore */ #else - off = - (off & 0xc0000000u); /* i386 relocates after locore */ + off = - (off & 0xff000000u); /* i386 relocates after locore */ #endif #else off = 0; /* other archs use direct mapped kernels */ ==== //depot/projects/soc2005/libalias/sys/boot/i386/boot2/boot2.c#3 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.82 2006/10/29 14:50:57 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.83 2006/11/02 17:28:38 ru Exp $"); #include #include @@ -334,7 +334,7 @@ return; } if (fmt == 0) { - addr = hdr.ex.a_entry & 0x3fffffff; + addr = hdr.ex.a_entry & 0xffffff; p = PTOV(addr); fs_off = PAGE_SIZE; if (xfsread(ino, p, hdr.ex.a_text)) @@ -368,7 +368,7 @@ j++; } for (i = 0; i < 2; i++) { - p = PTOV(ep[i].p_paddr & 0x3fffffff); + p = PTOV(ep[i].p_paddr & 0xffffff); fs_off = ep[i].p_offset; if (xfsread(ino, p, ep[i].p_filesz)) return; @@ -389,7 +389,7 @@ p += es[i].sh_size; } } - addr = hdr.eh.e_entry & 0x3fffffff; + addr = hdr.eh.e_entry & 0xffffff; } bootinfo.bi_esymtab = VTOP(p); bootinfo.bi_kernelname = VTOP(kname); ==== //depot/projects/soc2005/libalias/sys/boot/i386/libi386/elf32_freebsd.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/elf32_freebsd.c,v 1.16 2006/10/29 14:50:58 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/elf32_freebsd.c,v 1.17 2006/11/02 17:28:38 ru Exp $"); #include #include @@ -65,7 +65,7 @@ err = bi_load32(fp->f_args, &boothowto, &bootdev, &bootinfop, &modulep, &kernend); if (err != 0) return(err); - entry = ehdr->e_entry & 0x3fffffff; + entry = ehdr->e_entry & 0xffffff; #ifdef DEBUG printf("Start @ 0x%lx ...\n", entry); ==== //depot/projects/soc2005/libalias/sys/boot/pc98/boot2/boot.c#3 (text+ko) ==== @@ -49,7 +49,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/pc98/boot2/boot.c,v 1.15 2006/10/29 14:50:58 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/pc98/boot2/boot.c,v 1.16 2006/11/02 17:28:38 ru Exp $"); #include "boot.h" #include @@ -199,9 +199,9 @@ /* * We assume that the entry address is the same as the lowest text * address and that the kernel startup code handles relocation by - * this address rounded down to a multiple of 1G. + * this address rounded down to a multiple of 16M. */ - startaddr = head.a_entry & 0x3FFFFFFF; + startaddr = head.a_entry & 0x00FFFFFF; addr = startaddr; printf("Booting %d:%s(%d,%c)%s @ 0x%x\n" , dosdev & 0x0f ==== //depot/projects/soc2005/libalias/sys/ddb/db_command.c#4 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ddb/db_command.c,v 1.71 2006/10/10 07:26:53 bde Exp $"); +__FBSDID("$FreeBSD: src/sys/ddb/db_command.c,v 1.72 2006/11/02 11:47:38 kib Exp $"); #include #include @@ -690,14 +690,22 @@ { struct proc *p; struct thread *td; + jmp_buf jb; + void *prev_jb; LIST_FOREACH(p, &allproc, p_list) { - FOREACH_THREAD_IN_PROC(p, td) { - db_printf("\nTracing command %s pid %d tid %ld td %p\n", - p->p_comm, p->p_pid, (long)td->td_tid, td); - db_trace_thread(td, -1); - if (db_pager_quit) - return; + prev_jb = kdb_jmpbuf(jb); + if (setjmp(jb) == 0) { + FOREACH_THREAD_IN_PROC(p, td) { + db_printf("\nTracing command %s pid %d tid %ld td %p\n", + p->p_comm, p->p_pid, (long)td->td_tid, td); + db_trace_thread(td, -1); + if (db_pager_quit) { + kdb_jmpbuf(prev_jb); + return; + } + } } + kdb_jmpbuf(prev_jb); } } ==== //depot/projects/soc2005/libalias/sys/geom/eli/g_eli.c#6 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/eli/g_eli.c,v 1.32 2006/11/01 16:05:06 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/eli/g_eli.c,v 1.33 2006/11/02 09:01:34 pjd Exp $"); #include #include @@ -642,7 +642,7 @@ for (i = 0; i < threads; i++) { if (g_eli_cpu_is_disabled(i)) { G_ELI_DEBUG(1, "%s: CPU %u disabled, skipping.", - bpp->name, threads); + bpp->name, i); continue; } wr = malloc(sizeof(*wr), M_ELI, M_WAITOK | M_ZERO); ==== //depot/projects/soc2005/libalias/sys/geom/journal/g_journal.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/journal/g_journal.c,v 1.6 2006/11/02 00:37:39 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/journal/g_journal.c,v 1.8 2006/11/02 16:24:18 pjd Exp $"); #include #include @@ -600,11 +600,9 @@ &error); g_topology_lock(); g_access(cp, -1, 0, 0); - if (error != 0) { + if (buf == NULL) { GJ_DEBUG(1, "Cannot read metadata from %s (error=%d).", cp->provider->name, error); - if (buf != NULL) - g_free(buf); return (error); } @@ -1622,7 +1620,7 @@ } if (bp != NULL) { if (bp->bio_data == NULL) { - nbp = g_clone_bio(pbp); + nbp = g_duplicate_bio(pbp); nbp->bio_cflags = GJ_BIO_READ; nbp->bio_data = pbp->bio_data + cstart - pbp->bio_offset; @@ -1646,7 +1644,7 @@ * Its time for asking data provider. */ GJ_DEBUG(3, "READ(data): (%jd, %jd)", ostart, oend); - nbp = g_clone_bio(pbp); + nbp = g_duplicate_bio(pbp); nbp->bio_cflags = GJ_BIO_READ; nbp->bio_data = pbp->bio_data + ostart - pbp->bio_offset; nbp->bio_offset = ostart; @@ -2239,6 +2237,8 @@ struct g_consumer *cp; int error; + sc = NULL; /* gcc */ + g_topology_assert(); /* * There are two possibilities: ==== //depot/projects/soc2005/libalias/sys/kern/uipc_mbuf.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_mbuf.c,v 1.168 2006/10/22 11:52:13 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_mbuf.c,v 1.169 2006/11/02 17:37:21 andre Exp $"); #include "opt_mac.h" #include "opt_param.h" @@ -94,61 +94,61 @@ * chain. */ struct mbuf * -m_getm(struct mbuf *m, int len, int how, short type) +m_getm2(struct mbuf *m, int len, int how, short type, int flags) { - struct mbuf *mb, *top, *cur, *mtail; - int num, rem; - int i; + struct mbuf *mb, *nm = NULL, *mtail = NULL; + + KASSERT(len >= 0, ("%s: len is < 0", __func__)); + + /* Validate flags. */ + flags &= (M_PKTHDR | M_EOR); - KASSERT(len >= 0, ("m_getm(): len is < 0")); + /* Packet header mbuf must be first in chain. */ + if ((flags & M_PKTHDR) && m != NULL) + flags &= ~M_PKTHDR; - /* If m != NULL, we will append to the end of that chain. */ - if (m != NULL) - for (mtail = m; mtail->m_next != NULL; mtail = mtail->m_next); - else - mtail = NULL; + /* Loop and append maximum sized mbufs to the chain tail. */ + while (len > 0) { + if (len > MCLBYTES) + mb = m_getjcl(how, type, (flags & M_PKTHDR), + MJUMPAGESIZE); + else if (len >= MINCLSIZE) + mb = m_getcl(how, type, (flags & M_PKTHDR)); + else if (flags & M_PKTHDR) + mb = m_gethdr(how, type); + else + mb = m_get(how, type); - /* - * Calculate how many mbufs+clusters ("packets") we need and how much - * leftover there is after that and allocate the first mbuf+cluster - * if required. - */ - num = len / MCLBYTES; - rem = len % MCLBYTES; - top = cur = NULL; - if (num > 0) { - if ((top = cur = m_getcl(how, type, 0)) == NULL) - goto failed; - top->m_len = 0; - } - num--; + /* Fail the whole operation if one mbuf can't be allocated. */ + if (mb == NULL) { + if (nm != NULL) + m_freem(nm); + return (NULL); + } - for (i = 0; i < num; i++) { - mb = m_getcl(how, type, 0); - if (mb == NULL) - goto failed; - mb->m_len = 0; - cur = (cur->m_next = mb); - } - if (rem > 0) { - mb = (rem >= MINCLSIZE) ? - m_getcl(how, type, 0) : m_get(how, type); - if (mb == NULL) - goto failed; - mb->m_len = 0; - if (cur == NULL) - top = mb; + /* Book keeping. */ + len -= (mb->m_flags & M_EXT) ? mb->m_ext.ext_size : + ((mb->m_flags & M_PKTHDR) ? MHLEN : MLEN); + if (mtail != NULL) + mtail->m_next = mb; else - cur->m_next = mb; + nm = mb; + mtail = mb; + flags &= ~M_PKTHDR; /* Only valid on the first mbuf. */ } + if (flags & M_EOR) + mtail->m_flags |= M_EOR; /* Only valid on the last mbuf. */ + + /* If mbuf was supplied, append new chain to the end of it. */ + if (m != NULL) { + for (mtail = m; mtail->m_next != NULL; mtail = mtail->m_next) + ; + mtail->m_next = nm; + mtail->m_flags &= ~M_EOR; + } else + m = nm; - if (mtail != NULL) - mtail->m_next = top; - return top; -failed: - if (top != NULL) - m_freem(top); - return NULL; + return (m); } /* @@ -1610,55 +1610,58 @@ #endif +/* + * Copy the contents of uio into a properly sized mbuf chain. + */ struct mbuf * -m_uiotombuf(struct uio *uio, int how, int len, int align) +m_uiotombuf(struct uio *uio, int how, int len, int align, int flags) { - struct mbuf *m_new = NULL, *m_final = NULL; - int progress = 0, error = 0, length, total; + struct mbuf *m, *mb; + int error, length, total; + int progress = 0; + /* + * len can be zero or an arbitrary large value bound by + * the total data supplied by the uio. + */ if (len > 0) total = min(uio->uio_resid, len); else total = uio->uio_resid; + + /* + * The smallest unit returned by m_getm2() is a single mbuf + * with pkthdr. We can't align past it. Align align itself. + */ + if (align) + align &= ~(sizeof(long) - 1); if (align >= MHLEN) - goto nospace; - if (total + align > MHLEN) - m_final = m_getcl(how, MT_DATA, M_PKTHDR); - else - m_final = m_gethdr(how, MT_DATA); - if (m_final == NULL) - goto nospace; - m_final->m_data += align; - m_new = m_final; - while (progress < total) { - length = total - progress; - if (length > MCLBYTES) - length = MCLBYTES; - if (m_new == NULL) { - if (length > MLEN) - m_new = m_getcl(how, MT_DATA, 0); - else - m_new = m_get(how, MT_DATA); - if (m_new == NULL) - goto nospace; + return (NULL); + + /* Give us all or nothing. */ + m = m_getm2(NULL, total + align, how, MT_DATA, flags); + if (m == NULL) + return (NULL); + m->m_data += align; + + /* Fill all mbufs with uio data and update header information. */ + for (mb = m; mb != NULL; mb = mb->m_next) { + length = min(M_TRAILINGSPACE(mb), total - progress); + + error = uiomove(mtod(mb, void *), length, uio); + if (error) { + m_freem(m); + return (NULL); } - error = uiomove(mtod(m_new, void *), length, uio); - if (error) - goto nospace; + + mb->m_len = length; progress += length; - m_new->m_len = length; - if (m_new != m_final) - m_cat(m_final, m_new); - m_new = NULL; + if (flags & M_PKTHDR) + m->m_pkthdr.len += length; } - m_fixhdr(m_final); - return (m_final); -nospace: - if (m_new) - m_free(m_new); - if (m_final) - m_freem(m_final); - return (NULL); + KASSERT(progress == total, ("%s: progress != total", __func__)); + + return (m); } /* ==== //depot/projects/soc2005/libalias/sys/kern/uipc_socket.c#8 (text+ko) ==== @@ -94,7 +94,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_socket.c,v 1.284 2006/10/22 11:52:14 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_socket.c,v 1.285 2006/11/02 17:45:28 andre Exp $"); #include "opt_inet.h" #include "opt_mac.h" @@ -813,9 +813,11 @@ #include #include #include -#endif /*ZERO_COPY_SOCKETS*/ /* + * sosend_copyin() is only used if zero copy sockets are enabled. Otherwise + * sosend_dgram() and sosend_generic() use m_uiotombuf(). + * * sosend_copyin() accepts a uio and prepares an mbuf chain holding part or * all of the data referenced by the uio. If desired, it uses zero-copy. * *space will be updated to reflect data copied in. @@ -939,6 +941,7 @@ *retmp = top; return (error); } +#endif /*ZERO_COPY_SOCKETS*/ #define SBLOCKWAIT(f) (((f) & MSG_DONTWAIT) ? M_NOWAIT : M_WAITOK) @@ -954,7 +957,9 @@ { long space, resid; int clen = 0, error, dontroute; +#ifdef ZERO_COPY_SOCKETS int atomic = sosendallatonce(so) || top; +#endif KASSERT(so->so_type == SOCK_DGRAM, ("sodgram_send: !SOCK_DGRAM")); KASSERT(so->so_proto->pr_flags & PR_ATOMIC, @@ -1040,9 +1045,19 @@ if (flags & MSG_EOR) top->m_flags |= M_EOR; } else { +#ifdef ZERO_COPY_SOCKETS error = sosend_copyin(uio, &top, atomic, &space, flags); if (error) goto out; +#else + top = m_uiotombuf(uio, M_WAITOK, space, max_hdr, + (M_PKTHDR | ((flags & MSG_EOR) ? M_EOR : 0))); + if (top == NULL) { + error = EFAULT; /* only possible error */ + goto out; + } + space -= resid - uio->uio_resid; +#endif resid = uio->uio_resid; } KASSERT(resid == 0, ("sosend_dgram: resid != 0")); @@ -1202,12 +1217,25 @@ if (flags & MSG_EOR) top->m_flags |= M_EOR; } else { +#ifdef ZERO_COPY_SOCKETS error = sosend_copyin(uio, &top, atomic, &space, flags); if (error != 0) { SOCKBUF_LOCK(&so->so_snd); goto release; } +#else + top = m_uiotombuf(uio, M_WAITOK, space, + (atomic ? max_hdr : 0), + (atomic ? M_PKTHDR : 0) | + ((flags & MSG_EOR) ? M_EOR : 0)); + if (top == NULL) { + SOCKBUF_LOCK(&so->so_snd); + error = EFAULT; /* only possible error */ + goto release; + } + space -= resid - uio->uio_resid; +#endif resid = uio->uio_resid; } if (dontroute) { ==== //depot/projects/soc2005/libalias/sys/kern/uipc_syscalls.c#6 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.239 2006/10/22 11:52:14 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.241 2006/11/02 17:37:21 andre Exp $"); #include "opt_compat.h" #include "opt_ktrace.h" @@ -1882,19 +1882,20 @@ struct vnode *vp; struct vm_object *obj = NULL; struct socket *so = NULL; - struct mbuf *m, *m_header = NULL; + struct mbuf *m = NULL; struct sf_buf *sf; struct vm_page *pg; - off_t off, xfsize, hdtr_size, sbytes = 0; - int error, headersize = 0, headersent = 0; + off_t off, xfsize, hdtr_size = 0, sbytes = 0, rem = 0; + int error, headersize = 0, headersent = 0, mnw = 0; int vfslocked; NET_LOCK_GIANT(); - hdtr_size = 0; - /* - * The descriptor must be a regular file and have a backing VM object. + * The file descriptor must be a regular file and have a + * backing VM object. + * File offset must be positive. If it goes beyond EOF + * we send only the header/trailer and no payload data. */ if ((error = fgetvp_read(td, uap->fd, &vp)) != 0) goto done; @@ -1922,7 +1923,17 @@ error = EINVAL; goto done; } - if ((error = getsock(td->td_proc->p_fd, uap->s, &sock_fp, NULL)) != 0) + if (uap->offset < 0) { + error = EINVAL; + goto done; + } + + /* + * The socket must be a stream socket and connected. + * Remember if it a blocking or non-blocking socket. + */ + if ((error = getsock(td->td_proc->p_fd, uap->s, &sock_fp, + NULL)) != 0) goto done; so = sock_fp->f_data; if (so->so_type != SOCK_STREAM) { @@ -1933,10 +1944,13 @@ error = ENOTCONN; goto done; } - if (uap->offset < 0) { - error = EINVAL; - goto done; - } + /* + * Do not wait on memory allocations but return ENOMEM for + * caller to retry later. + * XXX: Experimental. + */ + if (uap->flags & SF_MNOWAIT) + mnw = 1; #ifdef MAC SOCK_LOCK(so); @@ -1946,290 +1960,307 @@ goto done; #endif - /* - * If specified, get the pointer to the sf_hdtr struct for - * any headers/trailers. - */ + /* If headers are specified copy them into mbufs. */ if (hdr_uio != NULL) { hdr_uio->uio_td = td; hdr_uio->uio_rw = UIO_WRITE; if (hdr_uio->uio_resid > 0) { - m_header = m_uiotombuf(hdr_uio, M_DONTWAIT, 0, 0); - if (m_header == NULL) + m = m_uiotombuf(hdr_uio, (mnw ? M_NOWAIT : M_WAITOK), + 0, 0, 0); + if (m == NULL) { + error = mnw ? EAGAIN : ENOBUFS; goto done; - headersize = m_header->m_pkthdr.len; + } + headersize = hdr_uio->uio_resid; if (compat) sbytes += headersize; } } - /* - * Protect against multiple writers to the socket. - */ + /* Protect against multiple writers to the socket. */ SOCKBUF_LOCK(&so->so_snd); (void) sblock(&so->so_snd, M_WAITOK); SOCKBUF_UNLOCK(&so->so_snd); /* - * Loop through the pages in the file, starting with the requested + * Loop through the pages of the file, starting with the requested * offset. Get a file page (do I/O if necessary), map the file page * into an sf_buf, attach an mbuf header to the sf_buf, and queue * it on the socket. + * This is done in two loops. The inner loop turns as many pages + * as it can, up to available socket buffer space, without blocking + * into mbufs to have it bulk delivered into the socket send buffer. + * The outer loop checks the state and available space of the socket + * and takes care of the overall progress. */ - for (off = uap->offset; ; off += xfsize, sbytes += xfsize) { - vm_pindex_t pindex; - vm_offset_t pgoff; + for (off = uap->offset; ; ) { + int loopbytes = 0; + int space = 0; + int done = 0; - pindex = OFF_TO_IDX(off); - VM_OBJECT_LOCK(obj); -retry_lookup: /* - * Calculate the amount to transfer. Not to exceed a page, - * the EOF, or the passed in nbytes. - */ - xfsize = obj->un_pager.vnp.vnp_size - off; - VM_OBJECT_UNLOCK(obj); - if (xfsize > PAGE_SIZE) - xfsize = PAGE_SIZE; - pgoff = (vm_offset_t)(off & PAGE_MASK); - if (PAGE_SIZE - pgoff < xfsize) - xfsize = PAGE_SIZE - pgoff; - if (uap->nbytes && xfsize > (uap->nbytes - sbytes)) - xfsize = uap->nbytes - sbytes; - if (xfsize <= 0) { - if (m_header != NULL) { - m = m_header; - m_header = NULL; - SOCKBUF_LOCK(&so->so_snd); - goto retry_space; - } else - break; - } - /* - * Optimize the non-blocking case by looking at the socket space - * before going to the extra work of constituting the sf_buf. + * Check the socket state for ongoing connection, + * no errors and space in socket buffer. + * If space is low allow for the remainder of the + * file to be processed if it fits the socket buffer. + * Otherwise block in waiting for sufficient space + * to proceed, or if the socket is nonblocking, return + * to userland with EAGAIN while reporting how far + * we've come. + * We wait until the socket buffer has significant free + * space to do bulk sends. This makes good use of file + * system read ahead and allows packet segmentation + * offloading hardware to take over lots of work. If + * we were not careful here we would send off only one + * sfbuf at a time. */ SOCKBUF_LOCK(&so->so_snd); - if ((so->so_state & SS_NBIO) && sbspace(&so->so_snd) <= 0) { - if (so->so_snd.sb_state & SBS_CANTSENDMORE) - error = EPIPE; - else - error = EAGAIN; - sbunlock(&so->so_snd); + if (so->so_snd.sb_lowat < so->so_snd.sb_hiwat / 2) + so->so_snd.sb_lowat = so->so_snd.sb_hiwat / 2; +retry_space: + if (so->so_snd.sb_state & SBS_CANTSENDMORE) { + error = EPIPE; + SOCKBUF_UNLOCK(&so->so_snd); + goto done; + } else if (so->so_error) { + error = so->so_error; + so->so_error = 0; SOCKBUF_UNLOCK(&so->so_snd); goto done; } - SOCKBUF_UNLOCK(&so->so_snd); - VM_OBJECT_LOCK(obj); - /* - * Attempt to look up the page. - * - * Allocate if not found - * - * Wait and loop if busy. - */ - pg = vm_page_lookup(obj, pindex); - - if (pg == NULL) { - pg = vm_page_alloc(obj, pindex, VM_ALLOC_NOBUSY | - VM_ALLOC_NORMAL | VM_ALLOC_WIRED); - if (pg == NULL) { - VM_OBJECT_UNLOCK(obj); - VM_WAIT; - VM_OBJECT_LOCK(obj); - goto retry_lookup; + space = sbspace(&so->so_snd); + if (space < rem && + (space <= 0 || + space < so->so_snd.sb_lowat)) { + if (so->so_state & SS_NBIO) { + SOCKBUF_UNLOCK(&so->so_snd); + error = EAGAIN; + goto done; } - } else if (vm_page_sleep_if_busy(pg, TRUE, "sfpbsy")) - goto retry_lookup; - else { + /* + * sbwait drops the lock while sleeping. + * When we loop back to retry_space the + * state may have changed and we retest + * for it. + */ + error = sbwait(&so->so_snd); /* - * Wire the page so it does not get ripped out from - * under us. + * An error from sbwait usually indicates that we've + * been interrupted by a signal. If we've sent anything + * then return bytes sent, otherwise return the error. */ - vm_page_lock_queues(); - vm_page_wire(pg); - vm_page_unlock_queues(); + if (error) { + SOCKBUF_UNLOCK(&so->so_snd); + goto done; + } + goto retry_space; } + SOCKBUF_UNLOCK(&so->so_snd); /* - * If page is not valid for what we need, initiate I/O + * Loop and construct maximum sized mbuf chain to be bulk + * dumped into socket buffer. */ + while(space > loopbytes) { + vm_pindex_t pindex; + vm_offset_t pgoff; + struct mbuf *m0; - if (pg->valid && vm_page_is_valid(pg, pgoff, xfsize)) { - VM_OBJECT_UNLOCK(obj); - } else if (uap->flags & SF_NODISKIO) { - error = EBUSY; - } else { - int bsize, resid; - + VM_OBJECT_LOCK(obj); + /* + * Calculate the amount to transfer. + * Not to exceed a page, the EOF, + * or the passed in nbytes. + */ + pgoff = (vm_offset_t)(off & PAGE_MASK); + xfsize = omin(PAGE_SIZE - pgoff, + obj->un_pager.vnp.vnp_size - off - + sbytes - loopbytes); + if (uap->nbytes) + rem = (uap->nbytes - sbytes - loopbytes); + else + rem = obj->un_pager.vnp.vnp_size - off - + sbytes - loopbytes; + xfsize = omin(rem, xfsize); + if (xfsize <= 0) { + VM_OBJECT_UNLOCK(obj); + done = 1; /* all data sent */ + break; + } /* - * Ensure that our page is still around when the I/O - * completes. + * Don't overflow the send buffer. + * Stop here and send out what we've + * already got. */ - vm_page_io_start(pg); - VM_OBJECT_UNLOCK(obj); - + if (space < loopbytes + xfsize) { + VM_OBJECT_UNLOCK(obj); + break; + } +retry_lookup: /* - * Get the page from backing store. + * Attempt to look up the page. + * Allocate if not found or + * wait and loop if busy. */ - bsize = vp->v_mount->mnt_stat.f_iosize; - vfslocked = VFS_LOCK_GIANT(vp->v_mount); - vn_lock(vp, LK_SHARED | LK_RETRY, td); + pindex = OFF_TO_IDX(off); + pg = vm_page_lookup(obj, pindex); + if (pg == NULL) { + pg = vm_page_alloc(obj, pindex, + VM_ALLOC_NOBUSY | VM_ALLOC_NORMAL | + VM_ALLOC_WIRED); + if (pg == NULL) { + VM_OBJECT_UNLOCK(obj); + VM_WAIT; + VM_OBJECT_LOCK(obj); + goto retry_lookup; + } + } else if (vm_page_sleep_if_busy(pg, TRUE, "sfpbsy")) + goto retry_lookup; + else { + /* + * Wire the page so it does not get + * ripped out from under us. + */ + vm_page_lock_queues(); + vm_page_wire(pg); + vm_page_unlock_queues(); + } + /* - * XXXMAC: Because we don't have fp->f_cred here, - * we pass in NOCRED. This is probably wrong, but - * is consistent with our original implementation. + * Check if page is valid for what we need, + * otherwise initiate I/O. + * If we already turned some pages into mbufs, + * send them off before we come here again and + * block. */ - error = vn_rdwr(UIO_READ, vp, NULL, MAXBSIZE, - trunc_page(off), UIO_NOCOPY, IO_NODELOCKED | - IO_VMIO | ((MAXBSIZE / bsize) << IO_SEQSHIFT), - td->td_ucred, NOCRED, &resid, td); - VOP_UNLOCK(vp, 0, td); - VFS_UNLOCK_GIANT(vfslocked); - VM_OBJECT_LOCK(obj); - vm_page_io_finish(pg); - if (!error) + if (pg->valid && vm_page_is_valid(pg, pgoff, xfsize)) + VM_OBJECT_UNLOCK(obj); + else if (m != NULL) + error = EAGAIN; /* send what we already got */ + else if (uap->flags & SF_NODISKIO) + error = EBUSY; + else { + int bsize, resid; + + /* + * Ensure that our page is still around + * when the I/O completes. + */ + vm_page_io_start(pg); + VM_OBJECT_UNLOCK(obj); + + /* + * Get the page from backing store. + */ + bsize = vp->v_mount->mnt_stat.f_iosize; + vfslocked = VFS_LOCK_GIANT(vp->v_mount); + vn_lock(vp, LK_SHARED | LK_RETRY, td); + + /* + * XXXMAC: Because we don't have fp->f_cred + * here, we pass in NOCRED. This is probably + * wrong, but is consistent with our original + * implementation. + */ + error = vn_rdwr(UIO_READ, vp, NULL, MAXBSIZE, + trunc_page(off), UIO_NOCOPY, IO_NODELOCKED | + IO_VMIO | ((MAXBSIZE / bsize) << IO_SEQSHIFT), + td->td_ucred, NOCRED, &resid, td); + VOP_UNLOCK(vp, 0, td); + VFS_UNLOCK_GIANT(vfslocked); + VM_OBJECT_LOCK(obj); + vm_page_io_finish(pg); + if (!error) + VM_OBJECT_UNLOCK(obj); + mbstat.sf_iocnt++; + } + if (error) { + vm_page_lock_queues(); + vm_page_unwire(pg, 0); + /* + * See if anyone else might know about + * this page. If not and it is not valid, + * then free it. + */ + if (pg->wire_count == 0 && pg->valid == 0 && + pg->busy == 0 && !(pg->oflags & VPO_BUSY) && + pg->hold_count == 0) { + vm_page_free(pg); + } + vm_page_unlock_queues(); VM_OBJECT_UNLOCK(obj); - mbstat.sf_iocnt++; - } - - if (error) { - vm_page_lock_queues(); - vm_page_unwire(pg, 0); + if (error == EAGAIN) + error = 0; /* not a real error */ + break; + } + /* - * See if anyone else might know about this page. - * If not and it is not valid, then free it. + * Get a sendfile buf. We usually wait as long + * as necessary, but this wait can be interrupted. */ - if (pg->wire_count == 0 && pg->valid == 0 && - pg->busy == 0 && !(pg->oflags & VPO_BUSY) && - pg->hold_count == 0) { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Nov 2 20:42:45 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 785BA16A416; Thu, 2 Nov 2006 20:42:45 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 528DE16A407 for ; Thu, 2 Nov 2006 20:42:45 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7FD6343D5A for ; Thu, 2 Nov 2006 20:42:42 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA2KggDG051257 for ; Thu, 2 Nov 2006 20:42:42 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA2Kggex051251 for perforce@freebsd.org; Thu, 2 Nov 2006 20:42:42 GMT (envelope-from piso@freebsd.org) Date: Thu, 2 Nov 2006 20:42:42 GMT Message-Id: <200611022042.kA2Kggex051251@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 109070 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 20:42:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=109070 Change 109070 by piso@piso_newluxor on 2006/11/02 20:42:13 -wrap at 80 cols -spacing Affected files ... .. //depot/projects/soc2005/libalias/sbin/ipfw/ipfw2.c#12 edit Differences ... ==== //depot/projects/soc2005/libalias/sbin/ipfw/ipfw2.c#12 (text+ko) ==== @@ -3443,7 +3443,8 @@ } static int -StrToAddrAndPortRange (const char* str, struct in_addr* addr, char* proto, port_range *portRange) +StrToAddrAndPortRange (const char* str, struct in_addr* addr, char* proto, + port_range *portRange) { char* ptr; @@ -3539,7 +3540,7 @@ /* Setup LSNAT server pool. */ if (sep) { int sof_spool = sizeof(struct cfg_spool); - struct cfg_spool *tmp; + struct cfg_spool *tmp; sep = strtok(tmp_spool_buf, ","); while (sep != NULL) { @@ -3602,12 +3603,14 @@ r->laddr.s_addr = INADDR_NONE; r->lport = ~0; numLocalPorts = 1; - /* Preserve av, copy spool servers to tmp_spool_buf. */ + /* Preserve av, copy spool servers to tmp_spool_buf. */ strncpy(tmp_spool_buf, *av, strlen(*av)+1); lsnat = 1; } else { - if (StrToAddrAndPortRange (*av, &r->laddr, protoName, &portRange) != 0) - errx(EX_DATAERR, "redirect_port: invalid local port range"); + if (StrToAddrAndPortRange (*av, &r->laddr, protoName, + &portRange) != 0) + errx(EX_DATAERR, "redirect_port:" + "invalid local port range"); r->lport = GETLOPORT(portRange); numLocalPorts = GETNUMPORTS(portRange); @@ -3622,12 +3625,15 @@ sep = strchr (*av, ':'); if (sep) { - if (StrToAddrAndPortRange (*av, &r->paddr, protoName, &portRange) != 0) - errx(EX_DATAERR, "redirect_port: invalid public port range"); + if (StrToAddrAndPortRange (*av, &r->paddr, protoName, + &portRange) != 0) + errx(EX_DATAERR, "redirect_port:" + "invalid public port range"); } else { r->paddr.s_addr = INADDR_ANY; if (StrToPortRange (*av, protoName, &portRange) != 0) - errx(EX_DATAERR, "redirect_port: invalid public port range"); + errx(EX_DATAERR, "redirect_port:" + "invalid public port range"); } r->pport = GETLOPORT(portRange); @@ -3644,8 +3650,10 @@ if (ac != 0 && !isalpha(**av)) { sep = strchr (*av, ':'); if (sep) { - if (StrToAddrAndPortRange (*av, &r->raddr, protoName, &portRange) != 0) - errx(EX_DATAERR, "redirect_port: invalid remote port range"); + if (StrToAddrAndPortRange (*av, &r->raddr, protoName, + &portRange) != 0) + errx(EX_DATAERR, "redirect_port:" + "invalid remote port range"); } else { SETLOPORT(portRange, 0); SETNUMPORTS(portRange, 1); @@ -3664,11 +3672,14 @@ * Make sure port ranges match up, then add the redirect ports. */ if (numLocalPorts != r->pport_cnt) - errx(EX_DATAERR, "redirect_port: port ranges must be equal in size"); + errx(EX_DATAERR, "redirect_port:" + "port ranges must be equal in size"); /* Remote port range is allowed to be '0' which means all ports. */ - if (r->rport_cnt != numLocalPorts && (r->rport_cnt != 1 || r->rport != 0)) - errx(EX_DATAERR, "redirect_port: remote port must be 0 or equal to local port range in size"); + if (r->rport_cnt != numLocalPorts && + (r->rport_cnt != 1 || r->rport != 0)) + errx(EX_DATAERR, "redirect_port: remote port must" + "be 0 or equal to local port range in size"); /* * Setup LSNAT server pool. @@ -3684,10 +3695,13 @@ goto nospace; len -= sof_spool; space += sof_spool; - if (StrToAddrAndPortRange(sep, &tmp->addr, protoName, &portRange) != 0) - errx(EX_DATAERR, "redirect_port: invalid local port range"); + if (StrToAddrAndPortRange(sep, &tmp->addr, protoName, + &portRange) != 0) + errx(EX_DATAERR, "redirect_port:" + "invalid local port range"); if (GETNUMPORTS(portRange) != 1) - errx(EX_DATAERR, "redirect_port: local port must be single in this context"); + errx(EX_DATAERR, "redirect_port: local port" + "must be single in this context"); tmp->port = GETLOPORT(portRange); r->spool_cnt++; /* Point to the next possible cfg_spool. */ @@ -3839,13 +3853,15 @@ if (!t->spool_cnt) { printf("%s:%u", inet_ntoa(t->laddr), t->lport); if (t->pport_cnt > 1) - printf("-%u", t->lport+t->pport_cnt-1); + printf("-%u", t->lport + + t->pport_cnt - 1); } else for (i=0; i < t->spool_cnt; i++) { s = (struct cfg_spool *)&buf[off]; if (i) printf(","); - printf("%s:%u", inet_ntoa(s->addr), s->port); + printf("%s:%u", inet_ntoa(s->addr), + s->port); off += sof_spool; } @@ -3853,15 +3869,16 @@ if (t->paddr.s_addr) printf("%s:", inet_ntoa(t->paddr)); printf("%u", t->pport); - if (!t->spool_cnt && t->pport_cnt>1) - printf("-%u", t->pport+t->pport_cnt-1); + if (!t->spool_cnt && t->pport_cnt > 1) + printf("-%u", t->pport + t->pport_cnt - 1); if (t->raddr.s_addr) { printf(" %s", inet_ntoa(t->raddr)); if (t->rport) { printf(":%u", t->rport); - if (!t->spool_cnt && t->rport_cnt>1) - printf("-%u", t->rport+t->rport_cnt-1); + if (!t->spool_cnt && t->rport_cnt > 1) + printf("-%u", t->rport + + t->rport_cnt - 1); } } break; @@ -3870,14 +3887,14 @@ printf(" redir_proto %s %s", p->p_name, inet_ntoa(t->laddr)); if (t->paddr.s_addr != 0) { - printf(" %s", inet_ntoa(t->paddr)); + printf(" %s", inet_ntoa(t->paddr)); if (t->raddr.s_addr) - printf(" %s", inet_ntoa(t->raddr)); + printf(" %s", inet_ntoa(t->raddr)); } break; default: errx(EX_DATAERR, "unknown redir mode"); - break; + break; } } printf("\n"); @@ -3890,7 +3907,7 @@ struct in_addr ip; int i, len = NAT_BUF_LEN; /* Offset in buf: save space for n at the beginning. */ - int off = sizeof(*n); + int off = sizeof(*n); char *id, buf[NAT_BUF_LEN]; /* Buffer for serialized data. */ memset(buf, 0, sizeof(buf)); @@ -5881,18 +5898,18 @@ if (e->mode == REDIR_ADDR || e->mode == REDIR_PORT || e->mode == REDIR_PROTO) i += sizeof(struct cfg_redir) + e->spool_cnt * - sizeof(struct cfg_spool); - } - } else { + sizeof(struct cfg_spool); + } + } else { for (i = 0; 1; i += LIBALIAS_BUF_SIZE + sizeof(int)) { p = &data[i]; - if (p == data + nbytes) + if (p == data + nbytes) break; bcopy(p, &r, sizeof(int)); - if (do_rule) - if (!(frule <= r && lrule >= r)) + if (do_rule) + if (!(frule <= r && lrule >= r)) continue; - printf("nat %u: %s\n", r, p+sizeof(int)); + printf("nat %u: %s\n", r, p+sizeof(int)); } } } From owner-p4-projects@FreeBSD.ORG Thu Nov 2 21:08:24 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1F45616A47C; Thu, 2 Nov 2006 21:08:24 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 F233D16A417 for ; Thu, 2 Nov 2006 21:08:23 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 719AE43D67 for ; Thu, 2 Nov 2006 21:08:16 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA2L8GGb066558 for ; Thu, 2 Nov 2006 21:08:16 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA2L8GGA066555 for perforce@freebsd.org; Thu, 2 Nov 2006 21:08:16 GMT (envelope-from piso@freebsd.org) Date: Thu, 2 Nov 2006 21:08:16 GMT Message-Id: <200611022108.kA2L8GGA066555@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 109072 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 21:08:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=109072 Change 109072 by piso@piso_newluxor on 2006/11/02 21:07:21 wrap at 80 cols Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/ip_fw.h#7 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/ip_fw.h#7 (text+ko) ==== @@ -333,8 +333,9 @@ u_short pport_cnt; /* number of public ports */ u_short rport_cnt; /* number of remote ports */ int proto; /* protocol: tcp/udp */ - struct alias_link **alink; - u_int16_t spool_cnt; /* number of entry in spool chain */ + struct alias_link **alink; + /* num of entry in spool chain */ + u_int16_t spool_cnt; /* chain of spool instances */ LIST_HEAD(spool_chain, cfg_spool) spool_chain; }; @@ -342,14 +343,17 @@ #define NAT_BUF_LEN 1024 /* Nat configuration data struct. */ struct cfg_nat { - LIST_ENTRY(cfg_nat) _next; /* chain of nat instances */ + /* chain of nat instances */ + LIST_ENTRY(cfg_nat) _next; int id; /* nat id */ struct in_addr ip; /* nat ip address */ char if_name[IF_NAMESIZE]; /* interface name */ int mode; /* aliasing mode */ struct libalias *lib; /* libalias instance */ - int redir_cnt; /* number of entry in spool chain */ - LIST_HEAD(redir_chain, cfg_redir) redir_chain; /* chain of redir instances */ + /* number of entry in spool chain */ + int redir_cnt; + /* chain of redir instances */ + LIST_HEAD(redir_chain, cfg_redir) redir_chain; }; /* Nat command. */ From owner-p4-projects@FreeBSD.ORG Thu Nov 2 21:09:18 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A5CA816A412; Thu, 2 Nov 2006 21:09:18 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 68FA316A407 for ; Thu, 2 Nov 2006 21:09:18 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1AB6E43D5D for ; Thu, 2 Nov 2006 21:09:18 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA2L9HW0066581 for ; Thu, 2 Nov 2006 21:09:17 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA2L9HAF066578 for perforce@freebsd.org; Thu, 2 Nov 2006 21:09:17 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 2 Nov 2006 21:09:17 GMT Message-Id: <200611022109.kA2L9HAF066578@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 109073 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 21:09:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=109073 Change 109073 by rwatson@rwatson_zoo on 2006/11/02 21:08:21 Fix date. Submitted by: Antoine Brodin Affected files ... .. //depot/projects/trustedbsd/priv/share/man/man9/priv.9#3 edit Differences ... ==== //depot/projects/trustedbsd/priv/share/man/man9/priv.9#3 (text+ko) ==== @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 30, 2007 +.Dd August 30, 2006 .Dt priv 9 .Os .Sh NAME From owner-p4-projects@FreeBSD.ORG Thu Nov 2 22:07:32 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 30D9216A514; Thu, 2 Nov 2006 22:07:32 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 085D316A4DA; Thu, 2 Nov 2006 22:07:32 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6F64C43D67; Thu, 2 Nov 2006 22:07:29 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from zion.baldwin.cx (zion.baldwin.cx [192.168.0.7]) (authenticated bits=0) by server.baldwin.cx (8.13.6/8.13.6) with ESMTP id kA2M7FQw015381; Thu, 2 Nov 2006 17:07:22 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: Scott Long Date: Thu, 2 Nov 2006 12:31:52 -0500 User-Agent: KMail/1.9.1 References: <200611010112.kA11C1Jt066210@repoman.freebsd.org> <200611021151.19396.jhb@freebsd.org> <454A2679.4030609@samsco.org> In-Reply-To: <454A2679.4030609@samsco.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200611021231.53607.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [192.168.0.1]); Thu, 02 Nov 2006 17:07:22 -0500 (EST) X-Virus-Scanned: ClamAV 0.88.3/2151/Thu Nov 2 13:35:18 2006 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.1 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00, DATE_IN_PAST_03_06 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Perforce Change Reviews , Scott Long , Hans Petter Selasky Subject: Re: PERFORCE change 108878 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 22:07:32 -0000 On Thursday 02 November 2006 12:10, Scott Long wrote: > John Baldwin wrote: > > On Thursday 02 November 2006 06:22, Hans Petter Selasky wrote: > > > >>On Wednesday 01 November 2006 16:47, John Baldwin wrote: > >> > >>>On Tuesday 31 October 2006 20:12, Scott Long wrote: > >>> > >>>>http://perforce.freebsd.org/chv.cgi?CH=108878 > >>>> > >>>>Change 108878 by scottl@scottl-x64 on 2006/11/01 01:11:30 > >>>> > >>>> For some wonderful reason, you cannot pass &Giant to msleep. Work > >>>> around that in a crude fashion. Also add some more assertions. > >>> > >>>Ah, yes, that would be most unhappy. I guess mostly the idea is that Giant > >>>should be rather implicit and explicitly using Giant for an object lock is > >>>discouraged. I'm not sure that is what you are doing though. I think > >>>maybe you are borrowing Giant that's already held? > >> > >>I use this patch: > >> > >>/* preliminary fix for a bug in msleep on FreeBSD, > >> * which cannot sleep with Giant: > >> */ > >>#define msleep(i,m,p,w,t) msleep(i,(((m) == &Giant) ? NULL : (m)),p,w,t) > >> > >>Really this issue should be fixed. It happens just because GIANT_DROP is done > >>too early in "msleep()". > > > > > > Giant is special in msleep() and friends to make sure it is first in the > > lock order, but unlock doesn't matter for lock order, and actually, the > > current order is less intuitive. I think it's the way it is now because we > > inherited it from BSD/OS. Also in theory old code under Giant should be > > using tsleep() and not msleep() anyway. It actually won't hurt to move > > DROP_GIANT later though. > > > > How about this: > > > > This won't work for what I'm using it for. It's not a big deal, though. ? It should make msleep(&Giant) work just the same as msleep(&foo). In this case if Giant is only singly locked, DROP_GIANT just won't do anything. -- John Baldwin From owner-p4-projects@FreeBSD.ORG Thu Nov 2 22:17:09 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E899316A416; Thu, 2 Nov 2006 22:17:08 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 B494B16A403; Thu, 2 Nov 2006 22:17:08 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from pooker.samsco.org (pooker.samsco.org [168.103.85.57]) by mx1.FreeBSD.org (Postfix) with ESMTP id 14FCD43D5F; Thu, 2 Nov 2006 22:17:07 +0000 (GMT) (envelope-from scottl@samsco.org) Received: from [10.10.3.185] ([165.236.175.187]) (authenticated bits=0) by pooker.samsco.org (8.13.4/8.13.4) with ESMTP id kA2MGu2S075503; Thu, 2 Nov 2006 15:17:02 -0700 (MST) (envelope-from scottl@samsco.org) Message-ID: <454A6E52.40207@samsco.org> Date: Thu, 02 Nov 2006 15:16:50 -0700 From: Scott Long User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.12) Gecko/20060206 X-Accept-Language: en-us, en MIME-Version: 1.0 To: John Baldwin References: <200611010112.kA11C1Jt066210@repoman.freebsd.org> <200611021151.19396.jhb@freebsd.org> <454A2679.4030609@samsco.org> <200611021231.53607.jhb@freebsd.org> In-Reply-To: <200611021231.53607.jhb@freebsd.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=0.0 required=3.8 tests=none autolearn=failed version=3.1.1 X-Spam-Checker-Version: SpamAssassin 3.1.1 (2006-03-10) on pooker.samsco.org Cc: Perforce Change Reviews , Scott Long , Hans Petter Selasky Subject: Re: PERFORCE change 108878 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 22:17:09 -0000 John Baldwin wrote: > On Thursday 02 November 2006 12:10, Scott Long wrote: > >>John Baldwin wrote: >> >>>On Thursday 02 November 2006 06:22, Hans Petter Selasky wrote: >>> >>> >>>>On Wednesday 01 November 2006 16:47, John Baldwin wrote: >>>> >>>> >>>>>On Tuesday 31 October 2006 20:12, Scott Long wrote: >>>>> >>>>> >>>>>>http://perforce.freebsd.org/chv.cgi?CH=108878 >>>>>> >>>>>>Change 108878 by scottl@scottl-x64 on 2006/11/01 01:11:30 >>>>>> >>>>>>For some wonderful reason, you cannot pass &Giant to msleep. Work >>>>>>around that in a crude fashion. Also add some more assertions. >>>>> >>>>>Ah, yes, that would be most unhappy. I guess mostly the idea is that Giant >>>>>should be rather implicit and explicitly using Giant for an object lock is >>>>>discouraged. I'm not sure that is what you are doing though. I think >>>>>maybe you are borrowing Giant that's already held? >>>> >>>>I use this patch: >>>> >>>>/* preliminary fix for a bug in msleep on FreeBSD, >>>>* which cannot sleep with Giant: >>>>*/ >>>>#define msleep(i,m,p,w,t) msleep(i,(((m) == &Giant) ? NULL : (m)),p,w,t) >>>> >>>>Really this issue should be fixed. It happens just because GIANT_DROP is done >>>>too early in "msleep()". >>> >>> >>>Giant is special in msleep() and friends to make sure it is first in the >>>lock order, but unlock doesn't matter for lock order, and actually, the >>>current order is less intuitive. I think it's the way it is now because we >>>inherited it from BSD/OS. Also in theory old code under Giant should be >>>using tsleep() and not msleep() anyway. It actually won't hurt to move >>>DROP_GIANT later though. >>> >>>How about this: >>> >> >>This won't work for what I'm using it for. It's not a big deal, though. > > > ? It should make msleep(&Giant) work just the same as msleep(&foo). In this > case if Giant is only singly locked, DROP_GIANT just won't do anything. > Ah, ok, I didn't know that DROP_GIANT had that magic. Scott From owner-p4-projects@FreeBSD.ORG Thu Nov 2 23:07:50 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B31B116A416; Thu, 2 Nov 2006 23:07:50 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 8E0C716A412 for ; Thu, 2 Nov 2006 23:07:50 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 43D8243D5D for ; Thu, 2 Nov 2006 23:07:50 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA2N7oQB087928 for ; Thu, 2 Nov 2006 23:07:50 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA2N7oPe087925 for perforce@freebsd.org; Thu, 2 Nov 2006 23:07:50 GMT (envelope-from mjacob@freebsd.org) Date: Thu, 2 Nov 2006 23:07:50 GMT Message-Id: <200611022307.kA2N7oPe087925@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 109076 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 23:07:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=109076 Change 109076 by mjacob@newisp on 2006/11/02 23:07:36 Fix some negotiation issues (like not being able to negotiate async) Affected files ... .. //depot/projects/newisp/dev/mpt/mpt_cam.c#8 edit Differences ... ==== //depot/projects/newisp/dev/mpt/mpt_cam.c#8 (text+ko) ==== @@ -3021,12 +3021,25 @@ DP_WIDE : DP_NARROW; } - if ((spi->valid & CTS_SPI_VALID_SYNC_OFFSET) && - (spi->valid & CTS_SPI_VALID_SYNC_RATE) && - (spi->sync_period && spi->sync_offset)) { + if (spi->valid & CTS_SPI_VALID_SYNC_OFFSET) { + dval |= DP_SYNC; + offset = spi->sync_offset; + } else { + PTR_CONFIG_PAGE_SCSI_DEVICE_1 ptr = + &mpt->mpt_dev_page1[tgt]; + offset = ptr->RequestedParameters; + offset &= MPI_SCSIDEVPAGE1_RP_MAX_SYNC_OFFSET_MASK; + offset >>= MPI_SCSIDEVPAGE1_RP_SHIFT_MAX_SYNC_OFFSET; + } + if (spi->valid & CTS_SPI_VALID_SYNC_RATE) { dval |= DP_SYNC; period = spi->sync_period; - offset = spi->sync_offset; + } else { + PTR_CONFIG_PAGE_SCSI_DEVICE_1 ptr = + &mpt->mpt_dev_page1[tgt]; + period = ptr->RequestedParameters; + period &= MPI_SCSIDEVPAGE1_RP_MIN_SYNC_PERIOD_MASK; + period >>= MPI_SCSIDEVPAGE1_RP_SHIFT_MIN_SYNC_PERIOD; } CAMLOCK_2_MPTLOCK(mpt); if (dval & DP_DISC_ENABLE) { @@ -3045,6 +3058,12 @@ if (dval & DP_SYNC) { mpt_setsync(mpt, tgt, period, offset); } + if (dval == 0) { + MPTLOCK_2_CAMLOCK(mpt); + mpt_set_ccb_status(ccb, CAM_REQ_CMP); + break; + } + mpt_lprt(mpt, MPT_PRT_NEGOTIATION, "Set Settings[%d]: 0x%x period 0x%x offset %d\n", tgt, dval, period , offset); @@ -3373,7 +3392,13 @@ ptr->RequestedParameters &= ~MPI_SCSIDEVPAGE1_RP_DT; ptr->RequestedParameters &= ~MPI_SCSIDEVPAGE1_RP_QAS; ptr->RequestedParameters &= ~MPI_SCSIDEVPAGE1_RP_IU; - ptr->RequestedParameters |= (period << 8) | (offset << 16); + if (period == 0) { + return; + } + ptr->RequestedParameters |= + period << MPI_SCSIDEVPAGE1_RP_SHIFT_MIN_SYNC_PERIOD; + ptr->RequestedParameters |= + offset << MPI_SCSIDEVPAGE1_RP_SHIFT_MAX_SYNC_OFFSET; if (period < 0xa) { ptr->RequestedParameters |= MPI_SCSIDEVPAGE1_RP_DT; } From owner-p4-projects@FreeBSD.ORG Thu Nov 2 23:20:09 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 21C1D16A416; Thu, 2 Nov 2006 23:20:09 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 F1C7A16A412 for ; Thu, 2 Nov 2006 23:20:08 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9E1F943D5E for ; Thu, 2 Nov 2006 23:20:07 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA2NK7O0089690 for ; Thu, 2 Nov 2006 23:20:07 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA2NK6lM089684 for perforce@freebsd.org; Thu, 2 Nov 2006 23:20:06 GMT (envelope-from mjacob@freebsd.org) Date: Thu, 2 Nov 2006 23:20:06 GMT Message-Id: <200611022320.kA2NK6lM089684@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 109077 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 23:20:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=109077 Change 109077 by mjacob@newisp on 2006/11/02 23:20:04 Do more for the first pass of Domain Validation. Affected files ... .. //depot/projects/newisp/cam/cam_xpt.c#7 edit Differences ... ==== //depot/projects/newisp/cam/cam_xpt.c#7 (text+ko) ==== @@ -151,6 +151,7 @@ #define CAM_DEV_TAG_AFTER_COUNT 0x20 #define CAM_DEV_INQUIRY_DATA_VALID 0x40 #define CAM_DEV_IN_DV 0x80 +#define CAM_DEV_DV_HIT_BOTTOM 0x100 u_int32_t tag_delay_count; #define CAM_TAG_DELAY_COUNT 5 u_int32_t tag_saved_openings; @@ -872,7 +873,8 @@ static void probeschedule(struct cam_periph *probe_periph); static void probestart(struct cam_periph *periph, union ccb *start_ccb); static void proberequestdefaultnegotiation(struct cam_periph *periph); -static int proberequestbackoff(struct cam_periph *periph); +static int proberequestbackoff(struct cam_periph *periph, + struct cam_ed *device); static void probedone(struct cam_periph *periph, union ccb *done_ccb); static void probecleanup(struct cam_periph *periph); static void xpt_find_quirk(struct cam_ed *device); @@ -5759,7 +5761,7 @@ } if (inq_buf == NULL) { xpt_print_path(periph->path); - printf("malloc failure- skipping Domain Validation\n"); + printf("malloc failure- skipping Basic Domain Validation\n"); softc->action = PROBE_DV_EXIT; scsi_test_unit_ready(csio, /*retries*/4, @@ -5867,23 +5869,28 @@ * Backoff Negotiation Code- only pertinent for SPI devices. */ static int -proberequestbackoff(struct cam_periph *periph) +proberequestbackoff(struct cam_periph *periph, struct cam_ed *device) { struct ccb_trans_settings cts; struct ccb_trans_settings_spi *spi; + memset(&cts, 0, sizeof (cts)); xpt_setup_ccb(&cts.ccb_h, periph->path, /*priority*/1); cts.ccb_h.func_code = XPT_GET_TRAN_SETTINGS; cts.type = CTS_TYPE_CURRENT_SETTINGS; xpt_action((union ccb *)&cts); if ((cts.ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) { - xpt_print_path(periph->path); - printf("failed to get current settings\n"); + if (bootverbose) { + xpt_print_path(periph->path); + printf("failed to get current settings\n"); + } return (0); } if (cts.transport != XPORT_SPI) { - xpt_print_path(periph->path); - printf("not SPI transport\n"); + if (bootverbose) { + xpt_print_path(periph->path); + printf("not SPI transport\n"); + } return (0); } spi = &cts.xport_specific.spi; @@ -5892,8 +5899,10 @@ * We cannot renegotiate sync rate if we don't have one. */ if ((spi->valid & CTS_SPI_VALID_SYNC_RATE) == 0) { - xpt_print_path(periph->path); - printf("no sync rate known\n"); + if (bootverbose) { + xpt_print_path(periph->path); + printf("no sync rate known\n"); + } return (0); } @@ -5902,23 +5911,37 @@ */ if ((spi->valid & CTS_SPI_VALID_PPR_OPTIONS) != 0) { xpt_print_path(periph->path); - printf("PPR options not handled yet\n"); + printf("XXX PPR options not handled yet\n"); return (0); } /* * A sync rate with unknown or zero offset is nonsensical. + * A sync period of zero means Async. */ - if ((spi->valid & CTS_SPI_VALID_SYNC_RATE) != 0 - && ((spi->valid & CTS_SPI_VALID_SYNC_OFFSET) == 0 - || ((spi->sync_offset == 0)))) { - xpt_print_path(periph->path); - printf("nonsensical sync rate/offset validity\n"); + if ((spi->valid & CTS_SPI_VALID_SYNC_OFFSET) == 0 + || spi->sync_offset == 0 || spi->sync_period == 0) { + if (bootverbose) { + xpt_print_path(periph->path); + printf("no sync rate available\n"); + } + return (0); + } + + if (device->flags & CAM_DEV_DV_HIT_BOTTOM) { + CAM_DEBUG(periph->path, CAM_DEBUG_INFO, + ("hit async: giving up on DV\n")); return (0); } + /* * Jump sync_period up by one, but stop at 5MHz and fall back to Async. + * We don't try to remember 'last' settings to see if the SIM actually + * gets into the speed we want to set. We check on the SIM telling + * us that a requested speed is bad, but otherwise don't try and + * check the speed due to the asynchronous and handshake nature + * of speed setting. */ spi->valid = CTS_SPI_VALID_SYNC_RATE | CTS_SPI_VALID_SYNC_OFFSET; for (;;) { @@ -5926,6 +5949,17 @@ if (spi->sync_period >= 0xf) { spi->sync_period = 0; spi->sync_offset = 0; + CAM_DEBUG(periph->path, CAM_DEBUG_INFO, + ("setting to async for DV\n")); + /* + * Once we hit async, we don't want to try + * any more settings. + */ + device->flags |= CAM_DEV_DV_HIT_BOTTOM; + } else if (bootverbose) { + CAM_DEBUG(periph->path, CAM_DEBUG_INFO, + ("DV: period 0x%x\n", spi->sync_period)); + printf("setting period to 0x%x\n", spi->sync_period); } cts.ccb_h.func_code = XPT_SET_TRAN_SETTINGS; cts.type = CTS_TYPE_CURRENT_SETTINGS; @@ -5933,6 +5967,11 @@ if ((cts.ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) { break; } + CAM_DEBUG(periph->path, CAM_DEBUG_INFO, + ("DV: failed to set period 0x%x\n", spi->sync_period)); + if (spi->sync_period == 0) { + return (0); + } } return (1); } @@ -6206,13 +6245,20 @@ && done_ccb->ccb_h.target_lun == 0 && (path->device->inq_data.flags & SID_Sync) != 0 && (path->device->flags & CAM_DEV_IN_DV) == 0) { + CAM_DEBUG(periph->path, CAM_DEBUG_INFO, + ("Begin Domain Validation\n")); path->device->flags |= CAM_DEV_IN_DV; xpt_release_ccb(done_ccb); softc->action = PROBE_INQUIRY_BASIC_DV1; xpt_schedule(periph, priority); return; } - path->device->flags &= ~(CAM_DEV_UNCONFIGURED|CAM_DEV_IN_DV); + if (softc->action == PROBE_DV_EXIT) { + CAM_DEBUG(periph->path, CAM_DEBUG_INFO, + ("Leave Domain Validation\n")); + } + path->device->flags &= + ~(CAM_DEV_UNCONFIGURED|CAM_DEV_IN_DV|CAM_DEV_DV_HIT_BOTTOM); if ((softc->flags & PROBE_NO_ANNOUNCE) == 0) { /* Inform the XPT that a new device has been found */ done_ccb->ccb_h.func_code = XPT_GDEV_TYPE; @@ -6238,11 +6284,13 @@ nbuf = (struct scsi_inquiry_data *)csio->data_ptr; if (bcmp(nbuf, &path->device->inq_data, iqlen) != 0) { xpt_print_path(path); - printf("inquiry data does not compare at DV%d step\n", + printf("inquiry fails comparison at DV%d step\n", softc->action == PROBE_INQUIRY_BASIC_DV1? 1 : 2); - if (proberequestbackoff(periph)) { + if (proberequestbackoff(periph, path->device)) { + path->device->flags &= ~CAM_DEV_IN_DV; softc->action = PROBE_TUR_FOR_NEGOTIATION; } else { + /* give up */ softc->action = PROBE_DV_EXIT; } free(nbuf, M_TEMP); @@ -6257,7 +6305,12 @@ xpt_schedule(periph, priority); return; } - path->device->flags &= ~CAM_DEV_UNCONFIGURED; + if (softc->action == PROBE_DV_EXIT) { + CAM_DEBUG(periph->path, CAM_DEBUG_INFO, + ("Leave Domain Validation Successfully\n")); + } + path->device->flags &= + ~(CAM_DEV_UNCONFIGURED|CAM_DEV_IN_DV|CAM_DEV_DV_HIT_BOTTOM); if ((softc->flags & PROBE_NO_ANNOUNCE) == 0) { /* Inform the XPT that a new device has been found */ done_ccb->ccb_h.func_code = XPT_GDEV_TYPE; From owner-p4-projects@FreeBSD.ORG Thu Nov 2 23:30:27 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4E7AF16A415; Thu, 2 Nov 2006 23:30:27 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 2DA8216A403 for ; Thu, 2 Nov 2006 23:30:27 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B853A43D64 for ; Thu, 2 Nov 2006 23:30:21 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA2NULUW091333 for ; Thu, 2 Nov 2006 23:30:21 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA2NULcV091330 for perforce@freebsd.org; Thu, 2 Nov 2006 23:30:21 GMT (envelope-from mjacob@freebsd.org) Date: Thu, 2 Nov 2006 23:30:21 GMT Message-Id: <200611022330.kA2NULcV091330@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 109080 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 23:30:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=109080 Change 109080 by mjacob@newisp on 2006/11/02 23:30:18 Replace PPR options bounce with a comment asserting that we don't have to care about changing PPR options. Affected files ... .. //depot/projects/newisp/cam/cam_xpt.c#8 edit Differences ... ==== //depot/projects/newisp/cam/cam_xpt.c#8 (text+ko) ==== @@ -5907,13 +5907,10 @@ } /* - * XXX: skipping PPR options + * We'll assert that we don't have to touch PPR options- the + * SIM will see what we do with period and offset and adjust + * the PPR options as appropriate. */ - if ((spi->valid & CTS_SPI_VALID_PPR_OPTIONS) != 0) { - xpt_print_path(periph->path); - printf("XXX PPR options not handled yet\n"); - return (0); - } /* * A sync rate with unknown or zero offset is nonsensical. From owner-p4-projects@FreeBSD.ORG Thu Nov 2 23:33:26 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 81DB316A4A0; Thu, 2 Nov 2006 23:33:26 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 4291016A492 for ; Thu, 2 Nov 2006 23:33:26 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 10BEE43D4C for ; Thu, 2 Nov 2006 23:33:26 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA2NXP15092487 for ; Thu, 2 Nov 2006 23:33:25 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA2NXPnk092483 for perforce@freebsd.org; Thu, 2 Nov 2006 23:33:25 GMT (envelope-from imp@freebsd.org) Date: Thu, 2 Nov 2006 23:33:25 GMT Message-Id: <200611022333.kA2NXPnk092483@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 Cc: Subject: PERFORCE change 109081 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 23:33:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=109081 Change 109081 by imp@imp_lighthouse on 2006/11/02 23:33:14 Fix SD booting issue. o Poll the PHY status in ateinit_locked and update the ETH_CFG register to match. o Fix some comments to be more generic. o Remove comment XXX when writing to RSR. I grok that now. o Add comment about TSR register needing to be more completely decoded. Mostly for stats. o Be more pedantic about busdma sync operations (this isn't strictly necessary to fix this issue). o remove a few stray blank lines. Affected files ... .. //depot/projects/arm/src/sys/arm/at91/if_ate.c#59 edit Differences ... ==== //depot/projects/arm/src/sys/arm/at91/if_ate.c#59 (text+ko) ==== @@ -195,7 +195,6 @@ ate_get_mac(sc, eaddr); ate_set_mac(sc, eaddr); - sc->ifp = ifp = if_alloc(IFT_ETHER); if (mii_phy_probe(dev, &sc->miibus, ate_ifmedia_upd, ate_ifmedia_sts)) { device_printf(dev, "Cannot find my PHY.\n"); @@ -271,10 +270,12 @@ * For the last buffer, set the wrap bit so the controller * restarts from the first descriptor. */ + bus_dmamap_sync(sc->rx_desc_tag, sc->rx_desc_map, BUS_DMASYNC_PREWRITE); if (i == ATE_MAX_RX_BUFFERS - 1) sc->rx_descs[i].addr = segs[0].ds_addr | ETH_WRAP_BIT; else sc->rx_descs[i].addr = segs[0].ds_addr; + bus_dmamap_sync(sc->rx_desc_tag, sc->rx_desc_map, BUS_DMASYNC_POSTWRITE); sc->rx_descs[i].status = 0; /* Flush the memory in the mbuf */ bus_dmamap_sync(sc->rxtag, sc->rx_map[i], BUS_DMASYNC_PREREAD); @@ -489,6 +490,23 @@ } static void +ate_stat_update(struct ate_softc *sc, int active) +{ + /* + * The speed and full/half-duplex state needs to be reflected + * in the ETH_CFG register. + */ + if (IFM_SUBTYPE(active) == IFM_10_T) + WR4(sc, ETH_CFG, RD4(sc, ETH_CFG) & ~ETH_CFG_SPD); + else + WR4(sc, ETH_CFG, RD4(sc, ETH_CFG) | ETH_CFG_SPD); + if (active & IFM_FDX) + WR4(sc, ETH_CFG, RD4(sc, ETH_CFG) | ETH_CFG_FD); + else + WR4(sc, ETH_CFG, RD4(sc, ETH_CFG) & ~ETH_CFG_FD); +} + +static void ate_tick(void *xsc) { struct ate_softc *sc = xsc; @@ -508,25 +526,8 @@ active = mii->mii_media_active; mii_tick(mii); if (mii->mii_media_status & IFM_ACTIVE && - active != mii->mii_media_active) { - /* - * The speed and full/half-duplex state needs - * to be reflected in the ETH_CFG register, it - * seems. - */ - if (IFM_SUBTYPE(mii->mii_media_active) == IFM_10_T) - WR4(sc, ETH_CFG, RD4(sc, ETH_CFG) & - ~ETH_CFG_SPD); - else - WR4(sc, ETH_CFG, RD4(sc, ETH_CFG) | - ETH_CFG_SPD); - if (mii->mii_media_active & IFM_FDX) - WR4(sc, ETH_CFG, RD4(sc, ETH_CFG) | - ETH_CFG_FD); - else - WR4(sc, ETH_CFG, RD4(sc, ETH_CFG) & - ~ETH_CFG_FD); - } + active != mii->mii_media_active) + ate_stat_update(sc, mii->mii_media_active); } /* @@ -588,9 +589,9 @@ uint32_t low, high; /* - * The KB920x loaders will setup the MAC with an address, if one - * is set in the loader. The TSC loader will also set the MAC address - * in a similar way. Grab the MAC address from the SA1[HL] registers. + * The boot loader setup the MAC with an address, if one is set in + * the loader. The TSC loader will also set the MAC address in a + * similar way. Grab the MAC address from the SA1[HL] registers. */ low = RD4(sc, ETH_SA1L); high = RD4(sc, ETH_SA1H); @@ -626,15 +627,18 @@ rx_stat = sc->rx_descs[i].status; if ((rx_stat & ETH_LEN_MASK) == 0) { printf("ignoring bogus 0 len packet\n"); + bus_dmamap_sync(sc->rx_desc_tag, sc->rx_desc_map, + BUS_DMASYNC_PREWRITE); sc->rx_descs[i].addr &= ~ETH_CPU_OWNER; bus_dmamap_sync(sc->rx_desc_tag, sc->rx_desc_map, - BUS_DMASYNC_PREWRITE); + BUS_DMASYNC_POSTWRITE); continue; } /* Flush memory for mbuf so we don't get stale bytes */ bus_dmamap_sync(sc->rxtag, sc->rx_map[i], BUS_DMASYNC_POSTREAD); - WR4(sc, ETH_RSR, RD4(sc, ETH_RSR)); // XXX WHY? XXX imp + WR4(sc, ETH_RSR, RD4(sc, ETH_RSR)); + /* * The length returned by the device includes the * ethernet CRC calculation for the packet, but @@ -643,9 +647,11 @@ mb = m_devget(sc->rx_buf[i], (rx_stat & ETH_LEN_MASK) - ETHER_CRC_LEN, ETHER_ALIGN, ifp, NULL); + bus_dmamap_sync(sc->rx_desc_tag, sc->rx_desc_map, + BUS_DMASYNC_PREWRITE); sc->rx_descs[i].addr &= ~ETH_CPU_OWNER; bus_dmamap_sync(sc->rx_desc_tag, sc->rx_desc_map, - BUS_DMASYNC_PREWRITE); + BUS_DMASYNC_POSTWRITE); bus_dmamap_sync(sc->rxtag, sc->rx_map[i], BUS_DMASYNC_PREREAD); if (mb != NULL) { @@ -657,13 +663,18 @@ } if (status & ETH_ISR_TCOM) { ATE_LOCK(sc); + /* XXX TSR register should be cleared */ if (sc->sent_mbuf[0]) { + bus_dmamap_sync(sc->rxtag, sc->tx_map[0], + BUS_DMASYNC_POSTWRITE); m_freem(sc->sent_mbuf[0]); ifp->if_opackets++; sc->sent_mbuf[0] = NULL; } if (sc->sent_mbuf[1]) { if (RD4(sc, ETH_TSR) & ETH_TSR_IDLE) { + bus_dmamap_sync(sc->rxtag, sc->tx_map[1], + BUS_DMASYNC_POSTWRITE); m_freem(sc->sent_mbuf[1]); ifp->if_opackets++; sc->txcur = 0; @@ -701,6 +712,7 @@ { struct ate_softc *sc = xsc; struct ifnet *ifp = sc->ifp; + struct mii_data *mii; ATE_ASSERT_LOCKED(sc); @@ -748,6 +760,10 @@ */ ifp->if_drv_flags |= IFF_DRV_RUNNING; ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; + + mii = device_get_softc(sc->miibus); + mii_pollstat(mii); + ate_stat_update(sc, mii->mii_media_active); atestart_locked(ifp); callout_reset(&sc->tick_ch, hz, ate_tick, sc); From owner-p4-projects@FreeBSD.ORG Thu Nov 2 23:41:38 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3AE2716A415; Thu, 2 Nov 2006 23:41:38 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 109D416A407 for ; Thu, 2 Nov 2006 23:41:38 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DE15243D5F for ; Thu, 2 Nov 2006 23:41:36 +0000 (GMT) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA2NfaIV093542 for ; Thu, 2 Nov 2006 23:41:36 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA2Nfav6093539 for perforce@freebsd.org; Thu, 2 Nov 2006 23:41:36 GMT (envelope-from mjacob@freebsd.org) Date: Thu, 2 Nov 2006 23:41:36 GMT Message-Id: <200611022341.kA2Nfav6093539@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 109082 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Nov 2006 23:41:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=109082 Change 109082 by mjacob@newisp on 2006/11/02 23:40:47 Only compare 36 bytes of inquiry data for Domain Validation purposes. We still alloc and fetch for the whole N bytes. Affected files ... .. //depot/projects/newisp/cam/cam_xpt.c#9 edit Differences ... ==== //depot/projects/newisp/cam/cam_xpt.c#9 (text+ko) ==== @@ -6270,7 +6270,6 @@ { struct scsi_inquiry_data *nbuf; struct ccb_scsiio *csio; - int iqlen = SID_ADDITIONAL_LENGTH(&path->device->inq_data); if ((done_ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) { /* Don't wedge the queue */ @@ -6279,7 +6278,7 @@ } csio = &done_ccb->csio; nbuf = (struct scsi_inquiry_data *)csio->data_ptr; - if (bcmp(nbuf, &path->device->inq_data, iqlen) != 0) { + if (bcmp(nbuf, &path->device->inq_data, SHORT_INQUIRY_LENGTH)) { xpt_print_path(path); printf("inquiry fails comparison at DV%d step\n", softc->action == PROBE_INQUIRY_BASIC_DV1? 1 : 2); From owner-p4-projects@FreeBSD.ORG Fri Nov 3 00:18:25 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 041EA16A509; Fri, 3 Nov 2006 00:18:25 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 BE52116A504 for ; Fri, 3 Nov 2006 00:18:24 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7444543D4C for ; Fri, 3 Nov 2006 00:18:24 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA30IOBg000767 for ; Fri, 3 Nov 2006 00:18:24 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA30IOju000764 for perforce@freebsd.org; Fri, 3 Nov 2006 00:18:24 GMT (envelope-from piso@freebsd.org) Date: Fri, 3 Nov 2006 00:18:24 GMT Message-Id: <200611030018.kA30IOju000764@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 109083 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Nov 2006 00:18:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=109083 Change 109083 by piso@piso_newluxor on 2006/11/03 00:17:23 reduce diff against HEAD Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#28 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#28 (text+ko) ==== @@ -82,6 +82,7 @@ #include #include #include + #include #include #include @@ -305,8 +306,8 @@ #endif /* SYSCTL_NODE */ MODULE_DEPEND(ipfw, libalias, 1, 1, 1); +static int fw_deny_unknown_exthdrs = 1; -static int fw_deny_unknown_exthdrs = 1; /* * L3HDR maps an ipv4 pointer into a layer3 header pointer of type T @@ -4336,6 +4337,7 @@ return (bp - (char *)buf); } + /** * {set|get}sockopt parser. */ From owner-p4-projects@FreeBSD.ORG Fri Nov 3 00:20:28 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7FF9916A416; Fri, 3 Nov 2006 00:20:28 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 5816316A412 for ; Fri, 3 Nov 2006 00:20:28 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6E48043D5E for ; Fri, 3 Nov 2006 00:20:27 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA30KRx9000878 for ; Fri, 3 Nov 2006 00:20:27 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA30KRkn000875 for perforce@freebsd.org; Fri, 3 Nov 2006 00:20:27 GMT (envelope-from imp@freebsd.org) Date: Fri, 3 Nov 2006 00:20:27 GMT Message-Id: <200611030020.kA30KRkn000875@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 Cc: Subject: PERFORCE change 109084 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Nov 2006 00:20:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=109084 Change 109084 by imp@imp_lighthouse on 2006/11/03 00:19:45 Avoid a copy and alloc/free pair when there's only one mbuf. Suggested by: scottl@, sam@ Affected files ... .. //depot/projects/arm/src/sys/arm/at91/if_ate.c#60 edit Differences ... ==== //depot/projects/arm/src/sys/arm/at91/if_ate.c#60 (text+ko) ==== @@ -778,7 +778,7 @@ struct ate_softc *sc = ifp->if_softc; struct mbuf *m, *mdefrag; bus_dma_segment_t segs[1]; - int nseg; + int nseg, e; ATE_ASSERT_LOCKED(sc); if (ifp->if_drv_flags & IFF_DRV_OACTIVE) @@ -800,14 +800,19 @@ ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; return; } - mdefrag = m_defrag(m, M_DONTWAIT); - if (mdefrag == NULL) { - IFQ_DRV_PREPEND(&ifp->if_snd, m); - return; + e = bus_dmamap_load_mbuf_sg(sc->mtag, sc->tx_map[sc->txcur], m, + segs, &nseg, 0); + if (e == EFBIG) { + mdefrag = m_defrag(m, M_DONTWAIT); + if (mdefrag == NULL) { + IFQ_DRV_PREPEND(&ifp->if_snd, m); + return; + } + m = mdefrag; + e = bus_dmamap_load_mbuf_sg(sc->mtag, + sc->tx_map[sc->txcur], m, segs, &nseg, 0); } - m = mdefrag; - if (bus_dmamap_load_mbuf_sg(sc->mtag, sc->tx_map[sc->txcur], m, - segs, &nseg, 0) != 0) { + if (e == EFBIG) { m_freem(m); continue; } From owner-p4-projects@FreeBSD.ORG Fri Nov 3 00:49:06 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1FB0A16A47C; Fri, 3 Nov 2006 00:49:05 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 AF75216A417 for ; Fri, 3 Nov 2006 00:49:05 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7C87A43D46 for ; Fri, 3 Nov 2006 00:49:05 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA30n54u013519 for ; Fri, 3 Nov 2006 00:49:05 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA30n5kf013516 for perforce@freebsd.org; Fri, 3 Nov 2006 00:49:05 GMT (envelope-from piso@freebsd.org) Date: Fri, 3 Nov 2006 00:49:05 GMT Message-Id: <200611030049.kA30n5kf013516@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 109085 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Nov 2006 00:49:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=109085 Change 109085 by piso@piso_newluxor on 2006/11/03 00:48:35 Use fprintf instead of fputs. Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#21 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#21 (text+ko) ==== @@ -1571,18 +1571,16 @@ handle = dlopen (path, RTLD_LAZY); if (!handle) { - fputs (dlerror(), stderr); - fputs ("\n", stderr); - return (EINVAL); + fprintf(stderr, "%s\n", dlerror()); + return (EINVAL); } p = dlsym(handle, "alias_mod"); if ((error = dlerror()) != NULL) { - fputs(error, stderr); - fputs ("\n", stderr); - return (EINVAL); + fprintf(stderr, "%s\n", dlerror()); + return (EINVAL); } - + t = malloc(sizeof(struct dll)); if (t == NULL) return (ENOMEM); @@ -1590,16 +1588,15 @@ t->handle = handle; if (attach_dll(t) == EEXIST) { free(t); - fputs("dll conflict\n", stderr); + fprintf(stderr, "dll conflict\n"); return (EEXIST); } m = dlsym(t->handle, "handlers"); if ((error = dlerror()) != NULL) { - fputs(error, stderr); - fputs ("\n", stderr); - return (EINVAL); - } + fprintf(stderr, "%s\n", error); + return (EINVAL); + } LibAliasAttachHandlers(m); return (0); From owner-p4-projects@FreeBSD.ORG Fri Nov 3 01:26:54 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C144D16A417; Fri, 3 Nov 2006 01:26:54 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 6AEFA16A403 for ; Fri, 3 Nov 2006 01:26:54 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9CD1843D5C for ; Fri, 3 Nov 2006 01:26:53 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA31QrC4021688 for ; Fri, 3 Nov 2006 01:26:53 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA31Qr6Q021679 for perforce@freebsd.org; Fri, 3 Nov 2006 01:26:53 GMT (envelope-from imp@freebsd.org) Date: Fri, 3 Nov 2006 01:26:53 GMT Message-Id: <200611030126.kA31Qr6Q021679@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 Cc: Subject: PERFORCE change 109086 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Nov 2006 01:26:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=109086 Change 109086 by imp@imp_lighthouse on 2006/11/03 01:26:25 Don't change the semantics of the code. e can be != EFBIG. Thanks sam... Affected files ... .. //depot/projects/arm/src/sys/arm/at91/if_ate.c#61 edit Differences ... ==== //depot/projects/arm/src/sys/arm/at91/if_ate.c#61 (text+ko) ==== @@ -812,7 +812,7 @@ e = bus_dmamap_load_mbuf_sg(sc->mtag, sc->tx_map[sc->txcur], m, segs, &nseg, 0); } - if (e == EFBIG) { + if (e != 0) { m_freem(m); continue; } From owner-p4-projects@FreeBSD.ORG Fri Nov 3 04:14:36 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9C26E16A415; Fri, 3 Nov 2006 04:14:36 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 38A7F16A47E for ; Fri, 3 Nov 2006 04:14:36 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0185443D49 for ; Fri, 3 Nov 2006 04:14:36 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA34EZw2068176 for ; Fri, 3 Nov 2006 04:14:35 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA34EVlo068163 for perforce@freebsd.org; Fri, 3 Nov 2006 04:14:31 GMT (envelope-from marcel@freebsd.org) Date: Fri, 3 Nov 2006 04:14:31 GMT Message-Id: <200611030414.kA34EVlo068163@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 Cc: Subject: PERFORCE change 109091 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Nov 2006 04:14:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=109091 Change 109091 by marcel@marcel_cluster on 2006/11/03 04:14:07 IFC @109090 Affected files ... .. //depot/projects/ia64/bin/cp/cp.1#14 integrate .. //depot/projects/ia64/lib/libc/sys/getpid.2#3 integrate .. //depot/projects/ia64/lib/libc/sys/statfs.2#9 integrate .. //depot/projects/ia64/lib/libcam/camlib.c#6 integrate .. //depot/projects/ia64/sbin/camcontrol/camcontrol.c#15 integrate .. //depot/projects/ia64/sbin/geom/class/cache/geom_cache.c#2 integrate .. //depot/projects/ia64/sbin/geom/class/mirror/geom_mirror.c#11 integrate .. //depot/projects/ia64/sbin/geom/class/mirror/gmirror.8#11 integrate .. //depot/projects/ia64/sbin/geom/class/raid3/geom_raid3.c#12 integrate .. //depot/projects/ia64/sbin/geom/class/raid3/graid3.8#6 integrate .. //depot/projects/ia64/share/man/man5/elf.5#12 integrate .. //depot/projects/ia64/sys/boot/common/load_elf.c#19 integrate .. //depot/projects/ia64/sys/boot/i386/boot2/boot2.c#26 integrate .. //depot/projects/ia64/sys/boot/i386/libi386/elf32_freebsd.c#5 integrate .. //depot/projects/ia64/sys/boot/ia64/ski/acpi_stub.c#4 integrate .. //depot/projects/ia64/sys/boot/pc98/boot2/boot.c#9 integrate .. //depot/projects/ia64/sys/cam/scsi/scsi_da.c#70 integrate .. //depot/projects/ia64/sys/ddb/db_command.c#26 integrate .. //depot/projects/ia64/sys/dev/isp/isp.c#31 integrate .. //depot/projects/ia64/sys/dev/isp/isp_freebsd.c#34 integrate .. //depot/projects/ia64/sys/dev/isp/isp_freebsd.h#27 integrate .. //depot/projects/ia64/sys/dev/isp/isp_library.c#4 integrate .. //depot/projects/ia64/sys/dev/isp/isp_library.h#2 integrate .. //depot/projects/ia64/sys/dev/isp/isp_pci.c#33 integrate .. //depot/projects/ia64/sys/dev/isp/isp_sbus.c#18 integrate .. //depot/projects/ia64/sys/dev/isp/isp_stds.h#1 branch .. //depot/projects/ia64/sys/dev/isp/isp_target.c#18 integrate .. //depot/projects/ia64/sys/dev/isp/isp_target.h#13 integrate .. //depot/projects/ia64/sys/dev/isp/isp_tpublic.h#10 integrate .. //depot/projects/ia64/sys/dev/isp/ispmbox.h#17 integrate .. //depot/projects/ia64/sys/dev/isp/ispreg.h#7 integrate .. //depot/projects/ia64/sys/dev/isp/ispvar.h#25 integrate .. //depot/projects/ia64/sys/dev/ispfw/asm_2300.h#10 integrate .. //depot/projects/ia64/sys/dev/mpt/mpt_cam.c#11 integrate .. //depot/projects/ia64/sys/dev/mpt/mpt_raid.c#8 integrate .. //depot/projects/ia64/sys/geom/eli/g_eli.c#10 integrate .. //depot/projects/ia64/sys/geom/journal/g_journal.c#3 integrate .. //depot/projects/ia64/sys/ia64/ia64/machdep.c#122 integrate .. //depot/projects/ia64/sys/kern/uipc_mbuf.c#40 integrate .. //depot/projects/ia64/sys/kern/uipc_socket.c#60 integrate .. //depot/projects/ia64/sys/kern/uipc_syscalls.c#64 integrate .. //depot/projects/ia64/sys/net/bridgestp.c#9 integrate .. //depot/projects/ia64/sys/net/if_tap.c#36 integrate .. //depot/projects/ia64/sys/net/if_tun.c#36 integrate .. //depot/projects/ia64/sys/net/ppp_tty.c#16 integrate .. //depot/projects/ia64/sys/netgraph/ng_device.c#13 integrate .. //depot/projects/ia64/sys/sys/libkern.h#20 integrate .. //depot/projects/ia64/sys/sys/mbuf.h#44 integrate .. //depot/projects/ia64/sys/sys/socket.h#28 integrate .. //depot/projects/ia64/tools/tools/nanobsd/nanobsd.sh#6 integrate .. //depot/projects/ia64/usr.bin/tar/getdate.y#5 integrate .. //depot/projects/ia64/usr.bin/vmstat/vmstat.8#15 integrate .. //depot/projects/ia64/usr.sbin/bluetooth/bthidd/client.c#5 integrate .. //depot/projects/ia64/usr.sbin/rpc.ypxfrd/rpc.ypxfrd.8#7 integrate Differences ... ==== //depot/projects/ia64/bin/cp/cp.1#14 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)cp.1 8.3 (Berkeley) 4/18/94 -.\" $FreeBSD: src/bin/cp/cp.1,v 1.38 2006/10/27 08:26:24 trhodes Exp $ +.\" $FreeBSD: src/bin/cp/cp.1,v 1.39 2006/11/02 19:10:05 ceri Exp $ .\" .Dd October 27, 2006 .Dt CP 1 @@ -264,7 +264,7 @@ is a synonym for .Fl RL and works the same unless modified by other flags. -Historical implemenations +Historical implementations of .Fl r differ as they copy special files as normal ==== //depot/projects/ia64/lib/libc/sys/getpid.2#3 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)getpid.2 8.1 (Berkeley) 6/4/93 -.\" $FreeBSD: src/lib/libc/sys/getpid.2,v 1.14 2002/12/18 09:22:30 ru Exp $ +.\" $FreeBSD: src/lib/libc/sys/getpid.2,v 1.15 2006/11/02 14:10:56 ru Exp $ .\" -.Dd June 4, 1993 +.Dd November 2, 2006 .Dt GETPID 2 .Os .Sh NAME @@ -75,7 +75,12 @@ system calls are always successful, and no return value is reserved to indicate an error. .Sh SEE ALSO -.Xr gethostid 3 +.Xr fork 2 , +.Xr getpgrp 2 , +.Xr kill 2 , +.Xr setpgid 2 , +.Xr setsid 2 , +.Xr exec 3 .Sh STANDARDS The .Fn getpid ==== //depot/projects/ia64/lib/libc/sys/statfs.2#9 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)statfs.2 8.5 (Berkeley) 5/24/95 -.\" $FreeBSD: src/lib/libc/sys/statfs.2,v 1.27 2006/01/10 23:24:47 grog Exp $ +.\" $FreeBSD: src/lib/libc/sys/statfs.2,v 1.28 2006/11/01 23:40:44 pjd Exp $ .\" -.Dd November 26, 2004 +.Dd November 1, 2006 .Dt STATFS 2 .Os .Sh NAME @@ -115,6 +115,9 @@ .It Dv MNT_SOFTDEP Soft updates being done (see .Xr ffs 7 ) . +.It Dv MNT_GJOURNAL +Journaling with gjournal is enabled (see +.Xr gjournal 8 ) . .It Dv MNT_SUIDDIR Special handling of SUID bit on directories. .It Dv MNT_UNION ==== //depot/projects/ia64/lib/libcam/camlib.c#6 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libcam/camlib.c,v 1.15 2006/04/30 07:08:43 marcus Exp $"); +__FBSDID("$FreeBSD: src/lib/libcam/camlib.c,v 1.16 2006/11/02 00:54:32 mjacob Exp $"); #include #include @@ -676,16 +676,24 @@ */ ccb.ccb_h.func_code = XPT_GET_TRAN_SETTINGS; - ccb.cts.flags = CCB_TRANS_CURRENT_SETTINGS; + ccb.cts.type = CTS_TYPE_CURRENT_SETTINGS; if (ioctl(fd, CAMIOCOMMAND, &ccb) == -1) { sprintf(cam_errbuf, "%s: Get Transfer Settings CCB failed\n" "%s: %s", func_name, func_name, strerror(errno)); goto crod_bailout; } - device->sync_period = ccb.cts.sync_period; - device->sync_offset = ccb.cts.sync_offset; - device->bus_width = ccb.cts.bus_width; + if (ccb.cts.protocol == XPORT_SPI) { + struct ccb_trans_settings_spi *spi = + &ccb.cts.xport_specific.spi; + device->sync_period = spi->sync_period; + device->sync_offset = spi->sync_offset; + device->bus_width = spi->bus_width; + } else { + device->sync_period = 0; + device->sync_offset = 0; + device->bus_width = 0; + } return(device); ==== //depot/projects/ia64/sbin/camcontrol/camcontrol.c#15 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sbin/camcontrol/camcontrol.c,v 1.54 2006/08/21 13:24:49 ken Exp $"); +__FBSDID("$FreeBSD: src/sbin/camcontrol/camcontrol.c,v 1.55 2006/11/02 00:54:32 mjacob Exp $"); #include #include @@ -849,8 +849,8 @@ static int scsixferrate(struct cam_device *device) { - u_int32_t freq; - u_int32_t speed; + u_int32_t freq = 0; + u_int32_t speed = 0; union ccb *ccb; u_int mb; int retval = 0; @@ -866,7 +866,7 @@ sizeof(struct ccb_trans_settings) - sizeof(struct ccb_hdr)); ccb->ccb_h.func_code = XPT_GET_TRAN_SETTINGS; - ccb->cts.flags = CCB_TRANS_CURRENT_SETTINGS; + ccb->cts.type = CTS_TYPE_CURRENT_SETTINGS; if (((retval = cam_send_ccb(device, ccb)) < 0) || ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP)) { @@ -887,10 +887,49 @@ } - if (((ccb->cts.valid & CCB_TRANS_SYNC_OFFSET_VALID) != 0) - && (ccb->cts.sync_offset != 0)) { - freq = scsi_calc_syncsrate(ccb->cts.sync_period); - speed = freq; + if (ccb->cts.transport == XPORT_SPI) { + struct ccb_trans_settings_spi *spi = + &ccb->cts.xport_specific.spi; + + if ((spi->valid & CTS_SPI_VALID_SYNC_RATE) != 0) { + freq = scsi_calc_syncsrate(spi->sync_period); + speed = freq; + } + + fprintf(stdout, "%s%d: ", device->device_name, + device->dev_unit_num); + + if ((spi->valid & CTS_SPI_VALID_BUS_WIDTH) != 0) { + speed *= (0x01 << spi->bus_width); + } + + mb = speed / 1000; + + if (mb > 0) + fprintf(stdout, "%d.%03dMB/s transfers ", + mb, speed % 1000); + else + fprintf(stdout, "%dKB/s transfers ", + speed); + + if (((spi->valid & CTS_SPI_VALID_SYNC_OFFSET) != 0) + && (spi->sync_offset != 0)) + fprintf(stdout, "(%d.%03dMHz, offset %d", freq / 1000, + freq % 1000, spi->sync_offset); + + if (((spi->valid & CTS_SPI_VALID_BUS_WIDTH) != 0) + && (spi->bus_width > 0)) { + if (((spi->valid & CTS_SPI_VALID_SYNC_OFFSET) != 0) + && (spi->sync_offset != 0)) { + fprintf(stdout, ", "); + } else { + fprintf(stdout, " ("); + } + fprintf(stdout, "%dbit)", 8 * (0x01 << spi->bus_width)); + } else if (((spi->valid & CTS_SPI_VALID_SYNC_OFFSET) != 0) + && (spi->sync_offset != 0)) { + fprintf(stdout, ")"); + } } else { struct ccb_pathinq cpi; @@ -901,46 +940,28 @@ speed = cpi.base_transfer_speed; freq = 0; - } - fprintf(stdout, "%s%d: ", device->device_name, - device->dev_unit_num); + mb = speed / 1000; - if ((ccb->cts.valid & CCB_TRANS_BUS_WIDTH_VALID) != 0) - speed *= (0x01 << device->bus_width); + if (mb > 0) + fprintf(stdout, "%d.%03dMB/s transfers ", + mb, speed % 1000); + else + fprintf(stdout, "%dKB/s transfers ", + speed); + } - mb = speed / 1000; - - if (mb > 0) - fprintf(stdout, "%d.%03dMB/s transfers ", - mb, speed % 1000); - else - fprintf(stdout, "%dKB/s transfers ", - speed); - - if (((ccb->cts.valid & CCB_TRANS_SYNC_OFFSET_VALID) != 0) - && (ccb->cts.sync_offset != 0)) - fprintf(stdout, "(%d.%03dMHz, offset %d", freq / 1000, - freq % 1000, ccb->cts.sync_offset); - - if (((ccb->cts.valid & CCB_TRANS_BUS_WIDTH_VALID) != 0) - && (ccb->cts.bus_width > 0)) { - if (((ccb->cts.valid & CCB_TRANS_SYNC_OFFSET_VALID) != 0) - && (ccb->cts.sync_offset != 0)) { - fprintf(stdout, ", "); - } else { - fprintf(stdout, " ("); + if (ccb->cts.protocol == PROTO_SCSI) { + struct ccb_trans_settings_scsi *scsi = + &ccb->cts.proto_specific.scsi; + if (scsi->valid & CTS_SCSI_VALID_TQ) { + if (scsi->flags & CTS_SCSI_FLAGS_TAG_ENB) + fprintf(stdout, ", Command Queueing Enabled"); + else + fprintf(stdout, ", Command Queueing Supported"); } - fprintf(stdout, "%dbit)", 8 * (0x01 << ccb->cts.bus_width)); - } else if (((ccb->cts.valid & CCB_TRANS_SYNC_OFFSET_VALID) != 0) - && (ccb->cts.sync_offset != 0)) { - fprintf(stdout, ")"); } - if (((ccb->cts.valid & CCB_TRANS_TQ_VALID) != 0) - && (ccb->cts.flags & CCB_TRANS_TAG_ENB)) - fprintf(stdout, ", Tagged Queueing Enabled"); - fprintf(stdout, "\n"); xferrate_bailout: @@ -2259,36 +2280,51 @@ cam_path_string(device, pathstr, sizeof(pathstr)); - if ((cts->valid & CCB_TRANS_SYNC_RATE_VALID) != 0) { + if (cts->transport == XPORT_SPI) { + struct ccb_trans_settings_spi *spi = + &cts->xport_specific.spi; + + if ((spi->valid & CTS_SPI_VALID_SYNC_RATE) != 0) { + + fprintf(stdout, "%ssync parameter: %d\n", pathstr, + spi->sync_period); - fprintf(stdout, "%ssync parameter: %d\n", pathstr, - cts->sync_period); + if (spi->sync_offset != 0) { + u_int freq; - if (cts->sync_offset != 0) { - u_int freq; + freq = scsi_calc_syncsrate(spi->sync_period); + fprintf(stdout, "%sfrequency: %d.%03dMHz\n", + pathstr, freq / 1000, freq % 1000); + } + } - freq = scsi_calc_syncsrate(cts->sync_period); - fprintf(stdout, "%sfrequency: %d.%03dMHz\n", pathstr, - freq / 1000, freq % 1000); + if (spi->valid & CTS_SPI_VALID_SYNC_OFFSET) { + fprintf(stdout, "%soffset: %d\n", pathstr, + spi->sync_offset); } - } - if (cts->valid & CCB_TRANS_SYNC_OFFSET_VALID) - fprintf(stdout, "%soffset: %d\n", pathstr, cts->sync_offset); + if (spi->valid & CTS_SPI_VALID_BUS_WIDTH) { + fprintf(stdout, "%sbus width: %d bits\n", pathstr, + (0x01 << spi->bus_width) * 8); + } - if (cts->valid & CCB_TRANS_BUS_WIDTH_VALID) - fprintf(stdout, "%sbus width: %d bits\n", pathstr, - (0x01 << cts->bus_width) * 8); + if (spi->valid & CTS_SPI_VALID_DISC) { + fprintf(stdout, "%sdisconnection is %s\n", pathstr, + (spi->flags & CTS_SPI_FLAGS_DISC_ENB) ? + "enabled" : "disabled"); + } + } - if (cts->valid & CCB_TRANS_DISC_VALID) - fprintf(stdout, "%sdisconnection is %s\n", pathstr, - (cts->flags & CCB_TRANS_DISC_ENB) ? "enabled" : - "disabled"); + if (cts->protocol == PROTO_SCSI) { + struct ccb_trans_settings_scsi *scsi= + &cts->proto_specific.scsi; - if (cts->valid & CCB_TRANS_TQ_VALID) - fprintf(stdout, "%stagged queueing is %s\n", pathstr, - (cts->flags & CCB_TRANS_TAG_ENB) ? "enabled" : - "disabled"); + if (scsi->valid & CTS_SCSI_VALID_TQ) { + fprintf(stdout, "%stagged queueing is %s\n", pathstr, + (scsi->flags & CTS_SCSI_FLAGS_TAG_ENB) ? + "enabled" : "disabled"); + } + } } @@ -2500,9 +2536,9 @@ ccb->ccb_h.func_code = XPT_GET_TRAN_SETTINGS; if (user_settings == 0) - ccb->cts.flags = CCB_TRANS_CURRENT_SETTINGS; + ccb->cts.type = CTS_TYPE_CURRENT_SETTINGS; else - ccb->cts.flags = CCB_TRANS_USER_SETTINGS; + ccb->cts.type = CTS_TYPE_USER_SETTINGS; if (cam_send_ccb(device, ccb) < 0) { perror("error sending XPT_GET_TRAN_SETTINGS CCB"); @@ -2676,16 +2712,27 @@ cpi_print(&cpi); if (change_settings) { - if (disc_enable != -1) { - ccb->cts.valid |= CCB_TRANS_DISC_VALID; + int didsettings = 0; + struct ccb_trans_settings_spi *spi = NULL; + struct ccb_trans_settings_scsi *scsi = NULL; + + if (ccb->cts.transport == XPORT_SPI) { + spi = &ccb->cts.xport_specific.spi; + spi->valid = 0; + } + if (ccb->cts.protocol == PROTO_SCSI) { + scsi = &ccb->cts.proto_specific.scsi; + scsi->valid = 0; + } + if (spi && disc_enable != -1) { + spi->valid |= CTS_SPI_VALID_DISC; if (disc_enable == 0) - ccb->cts.flags &= ~CCB_TRANS_DISC_ENB; + spi->flags &= ~CTS_SPI_FLAGS_DISC_ENB; else - ccb->cts.flags |= CCB_TRANS_DISC_ENB; - } else - ccb->cts.valid &= ~CCB_TRANS_DISC_VALID; + spi->flags |= CTS_SPI_FLAGS_DISC_ENB; + } - if (tag_enable != -1) { + if (scsi && tag_enable != -1) { if ((cpi.hba_inquiry & PI_TAG_ABLE) == 0) { warnx("HBA does not support tagged queueing, " "so you cannot modify tag settings"); @@ -2693,16 +2740,16 @@ goto ratecontrol_bailout; } - ccb->cts.valid |= CCB_TRANS_TQ_VALID; + scsi->valid |= CTS_SCSI_VALID_TQ; if (tag_enable == 0) - ccb->cts.flags &= ~CCB_TRANS_TAG_ENB; + scsi->flags &= ~CTS_SCSI_FLAGS_TAG_ENB; else - ccb->cts.flags |= CCB_TRANS_TAG_ENB; - } else - ccb->cts.valid &= ~CCB_TRANS_TQ_VALID; + scsi->flags |= CTS_SCSI_FLAGS_TAG_ENB; + didsettings++; + } - if (offset != -1) { + if (spi && offset != -1) { if ((cpi.hba_inquiry & PI_SDTR_ABLE) == 0) { warnx("HBA at %s%d is not cable of changing " "offset", cpi.dev_name, @@ -2710,12 +2757,12 @@ retval = 1; goto ratecontrol_bailout; } - ccb->cts.valid |= CCB_TRANS_SYNC_OFFSET_VALID; - ccb->cts.sync_offset = offset; - } else - ccb->cts.valid &= ~CCB_TRANS_SYNC_OFFSET_VALID; + spi->valid |= CTS_SPI_VALID_SYNC_OFFSET; + spi->sync_offset = offset; + didsettings++; + } - if (syncrate != -1) { + if (spi && syncrate != -1) { int prelim_sync_period; u_int freq; @@ -2727,7 +2774,7 @@ goto ratecontrol_bailout; } - ccb->cts.valid |= CCB_TRANS_SYNC_RATE_VALID; + spi->valid |= CTS_SPI_VALID_SYNC_RATE; /* * The sync rate the user gives us is in MHz. @@ -2745,12 +2792,12 @@ else prelim_sync_period = 10000000 / syncrate; - ccb->cts.sync_period = + spi->sync_period = scsi_calc_syncparam(prelim_sync_period); - freq = scsi_calc_syncsrate(ccb->cts.sync_period); - } else - ccb->cts.valid &= ~CCB_TRANS_SYNC_RATE_VALID; + freq = scsi_calc_syncsrate(spi->sync_period); + didsettings++; + } /* * The bus_width argument goes like this: @@ -2761,7 +2808,7 @@ * command line right by 4, you should get the correct * number. */ - if (bus_width != -1) { + if (spi && bus_width != -1) { /* * We might as well validate things here with a @@ -2787,11 +2834,14 @@ goto ratecontrol_bailout; } - ccb->cts.valid |= CCB_TRANS_BUS_WIDTH_VALID; - ccb->cts.bus_width = bus_width >> 4; - } else - ccb->cts.valid &= ~CCB_TRANS_BUS_WIDTH_VALID; + spi->valid |= CTS_SPI_VALID_BUS_WIDTH; + spi->bus_width = bus_width >> 4; + didsettings++; + } + if (didsettings == 0) { + goto ratecontrol_bailout; + } ccb->ccb_h.func_code = XPT_SET_TRAN_SETTINGS; if (cam_send_ccb(device, ccb) < 0) { ==== //depot/projects/ia64/sbin/geom/class/cache/geom_cache.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sbin/geom/class/cache/geom_cache.c,v 1.1 2006/10/06 08:27:06 ru Exp $"); +__FBSDID("$FreeBSD: src/sbin/geom/class/cache/geom_cache.c,v 1.2 2006/11/01 22:28:11 pjd Exp $"); #include #include @@ -74,7 +74,7 @@ }, { "destroy", G_FLAG_VERBOSE, NULL, { - { 'f', "force", NULL, G_TYPE_NONE }, + { 'f', "force", NULL, G_TYPE_BOOL }, G_OPT_SENTINEL }, "[-fv] name ..." @@ -95,7 +95,7 @@ }, { "stop", G_FLAG_VERBOSE, NULL, { - { 'f', "force", NULL, G_TYPE_NONE }, + { 'f', "force", NULL, G_TYPE_BOOL }, G_OPT_SENTINEL }, "[-fv] name ..." ==== //depot/projects/ia64/sbin/geom/class/mirror/geom_mirror.c#11 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sbin/geom/class/mirror/geom_mirror.c,v 1.15 2006/10/10 15:00:32 pjd Exp $"); +__FBSDID("$FreeBSD: src/sbin/geom/class/mirror/geom_mirror.c,v 1.16 2006/11/01 22:51:48 pjd Exp $"); #include #include @@ -67,12 +67,14 @@ { 'a', "autosync", NULL, G_TYPE_BOOL }, { 'b', "balance", configure_balance, G_TYPE_STRING }, { 'd', "dynamic", NULL, G_TYPE_BOOL }, + { 'f', "failsync", NULL, G_TYPE_BOOL }, + { 'F', "nofailsync", NULL, G_TYPE_BOOL }, { 'h', "hardcode", NULL, G_TYPE_BOOL }, { 'n', "noautosync", NULL, G_TYPE_BOOL }, { 's', "slice", &configure_slice, G_TYPE_NUMBER }, G_OPT_SENTINEL }, - "[-adhnv] [-b balance] [-s slice] name" + "[-adfFhnv] [-b balance] [-s slice] name" }, { "deactivate", G_FLAG_VERBOSE, NULL, G_NULL_OPTS, "[-v] name prov ..." @@ -86,12 +88,13 @@ { "label", G_FLAG_VERBOSE, mirror_main, { { 'b', "balance", label_balance, G_TYPE_STRING }, + { 'F', "nofailsync", NULL, G_TYPE_BOOL }, { 'h', "hardcode", NULL, G_TYPE_BOOL }, { 'n', "noautosync", NULL, G_TYPE_BOOL }, { 's', "slice", &label_slice, G_TYPE_NUMBER }, G_OPT_SENTINEL }, - "[-hnv] [-b balance] [-s slice] name prov ..." + "[-Fhnv] [-b balance] [-s slice] name prov ..." }, { "insert", G_FLAG_VERBOSE, NULL, { @@ -154,7 +157,7 @@ unsigned sectorsize; off_t mediasize; intmax_t val; - int error, i, nargs, bal, hardcode, noautosync; + int error, i, nargs, bal, hardcode; nargs = gctl_get_int(req, "nargs"); if (nargs < 2) { @@ -182,9 +185,10 @@ return; } md.md_balance = bal; - noautosync = gctl_get_int(req, "noautosync"); - if (noautosync) + if (gctl_get_int(req, "noautosync")) md.md_mflags |= G_MIRROR_DEVICE_FLAG_NOAUTOSYNC; + if (gctl_get_int(req, "nofailsync")) + md.md_mflags |= G_MIRROR_DEVICE_FLAG_NOFAILSYNC; hardcode = gctl_get_int(req, "hardcode"); /* ==== //depot/projects/ia64/sbin/geom/class/mirror/gmirror.8#11 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sbin/geom/class/mirror/gmirror.8,v 1.20 2006/09/18 11:55:09 ru Exp $ +.\" $FreeBSD: src/sbin/geom/class/mirror/gmirror.8,v 1.22 2006/11/02 10:44:02 ceri Exp $ .\" -.Dd March 8, 2006 +.Dd November 1, 2006 .Dt GMIRROR 8 .Os .Sh NAME @@ -33,7 +33,7 @@ .Sh SYNOPSIS .Nm .Cm label -.Op Fl hnv +.Op Fl Fhnv .Op Fl b Ar balance .Op Fl s Ar slice .Ar name @@ -44,7 +44,7 @@ .Ar prov ... .Nm .Cm configure -.Op Fl adhnv +.Op Fl adfFhnv .Op Fl b Ar balance .Op Fl s Ar slice .Ar name @@ -142,6 +142,9 @@ where N is the number of active components. This is the default balance algorithm. .El +.It Fl F +Do not synchronize after a power failure or system crash. +Assumes device is in consistent state. .It Fl h Hardcode providers' names in metadata. .It Fl n @@ -167,6 +170,11 @@ Specifies balance algorithm to use. .It Fl d Do not hardcode providers' names in metadata. +.It Fl f +Synchronize device after a power failure or system crash. +.It Fl F +Do not synchronize after a power failure or system crash. +Assumes device is in consistent state. .It Fl h Hardcode providers' names in metadata. .It Fl n ==== //depot/projects/ia64/sbin/geom/class/raid3/geom_raid3.c#12 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sbin/geom/class/raid3/geom_raid3.c,v 1.18 2006/10/10 15:00:32 pjd Exp $"); +__FBSDID("$FreeBSD: src/sbin/geom/class/raid3/geom_raid3.c,v 1.19 2006/11/01 22:51:48 pjd Exp $"); #include #include @@ -58,6 +58,8 @@ { { 'a', "autosync", NULL, G_TYPE_BOOL }, { 'd', "dynamic", NULL, G_TYPE_BOOL }, + { 'f', "failsync", NULL, G_TYPE_BOOL }, + { 'F', "nofailsync", NULL, G_TYPE_BOOL }, { 'h', "hardcode", NULL, G_TYPE_BOOL }, { 'n', "noautosync", NULL, G_TYPE_BOOL }, { 'r', "round_robin", NULL, G_TYPE_BOOL }, @@ -66,7 +68,7 @@ { 'W', "noverify", NULL, G_TYPE_BOOL }, G_OPT_SENTINEL }, - "[-adhnrRvwW] name" + "[-adfFhnrRvwW] name" }, { "dump", 0, raid3_main, G_NULL_OPTS, "prov ..." @@ -82,12 +84,13 @@ { "label", G_FLAG_VERBOSE, raid3_main, { { 'h', "hardcode", NULL, G_TYPE_BOOL }, + { 'F', "nofailsync", NULL, G_TYPE_BOOL }, { 'n', "noautosync", NULL, G_TYPE_BOOL }, { 'r', "round_robin", NULL, G_TYPE_BOOL }, { 'w', "verify", NULL, G_TYPE_BOOL }, G_OPT_SENTINEL }, - "[-hnrvw] name prov prov prov ..." + "[-hFnrvw] name prov prov prov ..." }, { "rebuild", G_FLAG_VERBOSE, NULL, G_NULL_OPTS, "[-v] name prov" @@ -142,7 +145,8 @@ const char *str; unsigned sectorsize, ssize; off_t mediasize, msize; - int error, i, nargs, hardcode, noautosync, round_robin, verify; + int hardcode, round_robin, verify; + int error, i, nargs; nargs = gctl_get_int(req, "nargs"); if (nargs < 4) { @@ -165,9 +169,10 @@ md.md_genid = 0; md.md_syncid = 1; md.md_sync_offset = 0; - noautosync = gctl_get_int(req, "noautosync"); - if (noautosync) + if (gctl_get_int(req, "noautosync")) md.md_mflags |= G_RAID3_DEVICE_FLAG_NOAUTOSYNC; + if (gctl_get_int(req, "nofailsync")) + md.md_mflags |= G_RAID3_DEVICE_FLAG_NOFAILSYNC; round_robin = gctl_get_int(req, "round_robin"); if (round_robin) md.md_mflags |= G_RAID3_DEVICE_FLAG_ROUND_ROBIN; ==== //depot/projects/ia64/sbin/geom/class/raid3/graid3.8#6 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sbin/geom/class/raid3/graid3.8,v 1.16 2005/03/14 13:14:03 pjd Exp $ +.\" $FreeBSD: src/sbin/geom/class/raid3/graid3.8,v 1.18 2006/11/02 10:44:02 ceri Exp $ .\" -.Dd August 22, 2004 +.Dd November 1, 2006 .Dt GRAID3 8 .Os .Sh NAME @@ -33,7 +33,7 @@ .Sh SYNOPSIS .Nm .Cm label -.Op Fl hnrvw +.Op Fl Fhnrvw .Ar name .Ar prov prov prov ... .Nm @@ -42,7 +42,7 @@ .Ar prov ... .Nm .Cm configure -.Op Fl adhnrRvwW +.Op Fl adfFhnrRvwW .Ar name .Nm .Cm rebuild @@ -97,6 +97,9 @@ .Pp Additional options include: .Bl -tag -width ".Fl h" +.It Fl F +Do not synchronize after a power failure or system crash. +Assumes device is in consistent state. .It Fl h Hardcode providers' names in metadata. .It Fl n @@ -134,6 +137,11 @@ Turn on autosynchronization of stale components. .It Fl d Do not hardcode providers' names in metadata. +.It Fl f +Synchronize device after a power failure or system crash. +.It Fl F +Do not synchronize after a power failure or system crash. +Assumes device is in consistent state. .It Fl h Hardcode providers' names in metadata. .It Fl n ==== //depot/projects/ia64/share/man/man5/elf.5#12 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man5/elf.5,v 1.33 2005/12/19 01:51:17 marcel Exp $ +.\" $FreeBSD: src/share/man/man5/elf.5,v 1.34 2006/11/02 09:21:57 jkoshy Exp $ .\" .Dd December 18, 2005 .Dt ELF 5 @@ -90,6 +90,7 @@ .Bd -literal -offset indent Elf32_Addr Unsigned 32-bit program address Elf32_Half Unsigned 16-bit field +Elf32_Lword Unsigned 64-bit field Elf32_Off Unsigned 32-bit file offset Elf32_Sword Signed 32-bit field or integer Elf32_Word Unsigned 32-bit field or integer @@ -99,10 +100,11 @@ .Bd -literal -offset indent Elf64_Addr Unsigned 64-bit program address Elf64_Half Unsigned 16-bit field +Elf64_Lword Unsigned 64-bit field Elf64_Off Unsigned 64-bit file offset Elf64_Sword Signed 32-bit field +Elf64_Sxword Signed 64-bit field or integer Elf64_Word Unsigned 32-bit field -Elf64_Sxword Signed 64-bit field or integer Elf64_Xword Unsigned 64-bit field or integer .Ed .Pp @@ -375,19 +377,31 @@ entry in the section header table; all entries are the same size. .It Dv e_shnum This member holds the number of entries in the section header table. -Thus -the product of -.Sy e_shentsize -and +If the file is using extended section numbering, then the .Sy e_shnum -gives the section header table's size in bytes. -If a file has no section -header table, +field will be zero and the actual section number will be stored in the +.Sy sh_size +member of the section header at index +.Dv SHN_UNDEF . +If a file has no section header table, both the .Sy e_shnum -holds the value of zero. +and the +.Sy e_shoff +fields of the ELF header will be zero. +The product of +.Sy e_shentsize +and the number of sections in the file gives the section header +table's size in bytes. .It Dv e_shstrndx This member holds the section header table index of the entry associated with the section name string table. +If extended section numbering is being used, this field will hold the +value +.Sy SHN_XINDEX , +and the actual section header table index will be present in the +.Sy sh_link +field of the section header entry at index +.Dv SHN_UNDEF . If the file has no section name string table, this member holds the value .Sy SHN_UNDEF . ==== //depot/projects/ia64/sys/boot/common/load_elf.c#19 (text+ko) ==== @@ -26,12 +26,13 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/common/load_elf.c,v 1.35 2006/10/29 14:50:57 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/common/load_elf.c,v 1.37 2006/11/02 17:52:43 ru Exp $"); #include #include #include #include +#include #include #include #include @@ -263,7 +264,7 @@ #if __ELF_WORD_SIZE == 64 off = - (off & 0xffffffffff000000ull);/* x86_64 relocates after locore */ #else - off = - (off & 0xc0000000u); /* i386 relocates after locore */ + off = - (off & 0xff000000u); /* i386 relocates after locore */ #endif #else off = 0; /* other archs use direct mapped kernels */ @@ -400,9 +401,9 @@ lastaddr += sizeof(size); #ifdef ELF_VERBOSE - printf("\n%s: 0x%lx@0x%lx -> 0x%lx-0x%lx", secname, - shdr[i].sh_size, shdr[i].sh_offset, - lastaddr, lastaddr + shdr[i].sh_size); + printf("\n%s: 0x%jx@0x%jx -> 0x%jx-0x%jx", secname, + (uintmax_t)shdr[i].sh_size, (uintmax_t)shdr[i].sh_offset, + (uintmax_t)lastaddr, (uintmax_t)(lastaddr + shdr[i].sh_size)); #else if (i == symstrindex) printf("+"); ==== //depot/projects/ia64/sys/boot/i386/boot2/boot2.c#26 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.82 2006/10/29 14:50:57 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.83 2006/11/02 17:28:38 ru Exp $"); #include #include @@ -334,7 +334,7 @@ return; } if (fmt == 0) { - addr = hdr.ex.a_entry & 0x3fffffff; + addr = hdr.ex.a_entry & 0xffffff; p = PTOV(addr); fs_off = PAGE_SIZE; if (xfsread(ino, p, hdr.ex.a_text)) @@ -368,7 +368,7 @@ j++; } for (i = 0; i < 2; i++) { - p = PTOV(ep[i].p_paddr & 0x3fffffff); + p = PTOV(ep[i].p_paddr & 0xffffff); fs_off = ep[i].p_offset; if (xfsread(ino, p, ep[i].p_filesz)) return; @@ -389,7 +389,7 @@ p += es[i].sh_size; } } - addr = hdr.eh.e_entry & 0x3fffffff; + addr = hdr.eh.e_entry & 0xffffff; } bootinfo.bi_esymtab = VTOP(p); bootinfo.bi_kernelname = VTOP(kname); ==== //depot/projects/ia64/sys/boot/i386/libi386/elf32_freebsd.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/elf32_freebsd.c,v 1.16 2006/10/29 14:50:58 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/elf32_freebsd.c,v 1.17 2006/11/02 17:28:38 ru Exp $"); #include #include @@ -65,7 +65,7 @@ err = bi_load32(fp->f_args, &boothowto, &bootdev, &bootinfop, &modulep, &kernend); if (err != 0) return(err); - entry = ehdr->e_entry & 0x3fffffff; + entry = ehdr->e_entry & 0xffffff; #ifdef DEBUG printf("Start @ 0x%lx ...\n", entry); ==== //depot/projects/ia64/sys/boot/ia64/ski/acpi_stub.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/ia64/ski/acpi_stub.c,v 1.6 2005/01/05 22:16:58 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/ia64/ski/acpi_stub.c,v 1.7 2006/11/03 04:04:19 marcel Exp $"); #include >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Nov 3 05:17:44 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 985F216A415; Fri, 3 Nov 2006 05:17:44 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 5F4FB16A407 for ; Fri, 3 Nov 2006 05:17:44 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3206043D45 for ; Fri, 3 Nov 2006 05:17:44 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA35Hi9m090062 for ; Fri, 3 Nov 2006 05:17:44 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA35Hh2d090059 for perforce@freebsd.org; Fri, 3 Nov 2006 05:17:43 GMT (envelope-from marcel@freebsd.org) Date: Fri, 3 Nov 2006 05:17:43 GMT Message-Id: <200611030517.kA35Hh2d090059@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 Cc: Subject: PERFORCE change 109100 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Nov 2006 05:17:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=109100 Change 109100 by marcel@marcel_nfs on 2006/11/03 05:17:30 Pull in all of libia64. This gives us the ls command again and avoids having to list the library twice to resolve all symbols. Affected files ... .. //depot/projects/ia64/sys/boot/ia64/efi/Makefile#7 edit .. //depot/projects/ia64/sys/boot/ia64/ski/Makefile#8 edit Differences ... ==== //depot/projects/ia64/sys/boot/ia64/efi/Makefile#7 (text+ko) ==== @@ -52,6 +52,7 @@ .endif DPADD= ${LIBIA64} ${LIBFICL} ${LIBEFI} ${LIBSTAND} -LDADD= ${LIBIA64} ${LIBFICL} ${LIBEFI} -lstand ${LIBIA64} +LDADD= -Wl,--whole-archive ${LIBIA64} -Wl,--no-whole-archive \ + ${LIBFICL} ${LIBEFI} -lstand ${e} .include ==== //depot/projects/ia64/sys/boot/ia64/ski/Makefile#8 (text+ko) ==== @@ -32,6 +32,7 @@ .endif DPADD= ${LIBIA64} ${LIBFICL} ${LIBSTAND} -LDADD= ${LIBIA64} ${LIBFICL} -lstand ${LIBIA64} +LDADD= -Wl,--whole-archive ${LIBIA64} -Wl,--no-whole-archive \ + ${LIBFICL} -lstand .include From owner-p4-projects@FreeBSD.ORG Fri Nov 3 05:23:54 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E3B0516A415; Fri, 3 Nov 2006 05:23:53 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 79DB016A40F for ; Fri, 3 Nov 2006 05:23:53 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C2C2843D49 for ; Fri, 3 Nov 2006 05:23:52 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA35NqCd091519 for ; Fri, 3 Nov 2006 05:23:52 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA35NqrS091514 for perforce@freebsd.org; Fri, 3 Nov 2006 05:23:52 GMT (envelope-from marcel@freebsd.org) Date: Fri, 3 Nov 2006 05:23:52 GMT Message-Id: <200611030523.kA35NqrS091514@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 Cc: Subject: PERFORCE change 109101 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Nov 2006 05:23:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=109101 Change 109101 by marcel@marcel_cluster on 2006/11/03 05:23:23 Remove left-overs. Affected files ... .. //depot/projects/ia64/sys/boot/ia64/efi/Makefile#8 edit Differences ... ==== //depot/projects/ia64/sys/boot/ia64/efi/Makefile#8 (text+ko) ==== @@ -53,6 +53,6 @@ DPADD= ${LIBIA64} ${LIBFICL} ${LIBEFI} ${LIBSTAND} LDADD= -Wl,--whole-archive ${LIBIA64} -Wl,--no-whole-archive \ - ${LIBFICL} ${LIBEFI} -lstand ${e} + ${LIBFICL} ${LIBEFI} -lstand .include From owner-p4-projects@FreeBSD.ORG Fri Nov 3 12:30:12 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D94B316A47E; Fri, 3 Nov 2006 12:30:11 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 9CCB016A407 for ; Fri, 3 Nov 2006 12:30:11 +0000 (UTC) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 07E5843D46 for ; Fri, 3 Nov 2006 12:30:11 +0000 (GMT) (envelope-from bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA3CUAx1063780 for ; Fri, 3 Nov 2006 12:30:10 GMT (envelope-from bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA3CUA0e063777 for perforce@freebsd.org; Fri, 3 Nov 2006 12:30:10 GMT (envelope-from bushman@freebsd.org) Date: Fri, 3 Nov 2006 12:30:10 GMT Message-Id: <200611031230.kA3CUA0e063777@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bushman@freebsd.org using -f From: Michael Bushkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 109123 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Nov 2006 12:30:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=109123 Change 109123 by bushman@bushman_nss_ldap_cached on 2006/11/03 12:30:03 Errors revealed during buildworld fixed. Affected files ... .. //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/Makefile#4 edit .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/chpass/Makefile#3 edit .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/chpass/chpass.c#2 edit .. //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/chpass/edit.c#2 edit .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pwd_mkdb/Makefile#3 edit .. //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pwd_mkdb/pwd_mkdb.c#2 edit Differences ... ==== //depot/projects/soc2006/nss_ldap_cached/src/lib/libutil/Makefile#4 (text+ko) ==== @@ -22,8 +22,8 @@ .endif # Needed to use __pw_scan function, which is in libnssutil -CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../libnssutil -LD_ADD+= -lnssutil +CFLAGS+= -I${.CURDIR}/../libnssutil +LDADD+= -lnssutil LDFLAGS+= -L${.OBJDIR}/../libnssutil MAN+= kld.3 login.3 login_auth.3 login_tty.3 logout.3 logwtmp.3 pty.3 \ ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/chpass/Makefile#3 (text+ko) ==== @@ -3,10 +3,10 @@ .include -.PATH: ${.CURDIR}/../../usr.sbin/pwd_mkdb ${.CURDIR}/../../lib/libc/gen +.PATH: ${.CURDIR}/../../usr.sbin/pwd_mkdb PROG= chpass -SRCS= chpass.c edit.c field.c pw_scan.c table.c util.c +SRCS= chpass.c edit.c field.c table.c util.c BINOWN= root BINMODE=4555 WARNS?= 5 @@ -18,9 +18,9 @@ CFLAGS+=-I${.CURDIR}/../../usr.sbin/pwd_mkdb -I. # Needed to use __pw_scan function, which is in libnssutil -CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../../libnssutil -LD_ADD+= -lnssutil -LDFLAGS+= -L${.OBJDIR}/../../libnssutil +CFLAGS+= -I${.CURDIR}/../../lib/libnssutil +LDADD+= -lnssutil +LDFLAGS+= -L${.OBJDIR}/../../lib/libnssutil DPADD= ${LIBCRYPT} ${LIBUTIL} LDADD= -lcrypt -lutil ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/chpass/chpass.c#2 (text+ko) ==== @@ -65,6 +65,7 @@ #include #endif +#include #include #include ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.bin/chpass/edit.c#2 (text+ko) ==== @@ -60,6 +60,7 @@ #include #include +#include #include #include ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pwd_mkdb/Makefile#3 (text+ko) ==== @@ -5,12 +5,12 @@ PROG= pwd_mkdb MAN= pwd_mkdb.8 -SRCS= pw_scan.c pwd_mkdb.c +SRCS= pwd_mkdb.c WARNS?= 4 # Needed to use __pw_scan function, which is in libnssutil -CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../../libnssutil -LD_ADD+= -lnssutil -LDFLAGS+= -L${.OBJDIR}/../../libnssutil +CFLAGS+= -I${.CURDIR}/../../lib/libnssutil +LDADD+= -lnssutil +LDFLAGS+= -L${.OBJDIR}/../../lib/libnssutil .include ==== //depot/projects/soc2006/nss_ldap_cached/src/usr.sbin/pwd_mkdb/pwd_mkdb.c#2 (text+ko) ==== @@ -52,6 +52,7 @@ #include #include #include +#include #include #include #include From owner-p4-projects@FreeBSD.ORG Fri Nov 3 14:59:21 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C8F2E16A47E; Fri, 3 Nov 2006 14:59:21 +0000 (UTC) X-Original-To: perforce@FreeBSD.org 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 9DB0916A47B for ; Fri, 3 Nov 2006 14:59:21 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 860EC43D8D for ; Fri, 3 Nov 2006 14:59:18 +0000 (GMT) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA3ExI5Y003718 for ; Fri, 3 Nov 2006 14:59:18 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA3ExIoA003715 for perforce@freebsd.org; Fri, 3 Nov 2006 14:59:18 GMT (envelope-from rdivacky@FreeBSD.org) Date: Fri, 3 Nov 2006 14:59:18 GMT Message-Id: <200611031459.kA3ExIoA003715@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 109125 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Nov 2006 14:59:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=109125 Change 109125 by rdivacky@rdivacky_witten on 2006/11/03 14:59:09 Pretend being a child of init in a case your parent based on em->shared->group_pid is not found. This is a temporary fix and better solution is on its way. Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#27 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#27 (text+ko) ==== @@ -1443,7 +1443,15 @@ /* find the group leader */ p = pfind(em->shared->group_pid); - KASSERT(p != NULL, ("getppid: parent process not found.\n")); + /* lets pretend we were reparented to init */ + if (p == NULL) { +#ifdef DEBUG + printf("getppid: thread group leader not found.\n"); +#endif + td->td_retval[0] = 1; + EMUL_UNLOCK(&emul_lock); + return (0); + } pp = p->p_pptr; /* switch to parent */ PROC_LOCK(pp); From owner-p4-projects@FreeBSD.ORG Fri Nov 3 15:44:16 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1C3C116A415; Fri, 3 Nov 2006 15:44:16 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 CE17316A407 for ; Fri, 3 Nov 2006 15:44:15 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9AED743D45 for ; Fri, 3 Nov 2006 15:44:15 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA3FiFdC015366 for ; Fri, 3 Nov 2006 15:44:15 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA3FiFsX015362 for perforce@freebsd.org; Fri, 3 Nov 2006 15:44:15 GMT (envelope-from piso@freebsd.org) Date: Fri, 3 Nov 2006 15:44:15 GMT Message-Id: <200611031544.kA3FiFsX015362@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 109127 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Nov 2006 15:44:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=109127 Change 109127 by piso@piso_newluxor on 2006/11/03 15:44:01 Cleanup, delete unnecessary stuff, some mdoc fixes. Affected files ... .. //depot/projects/soc2005/libalias/sbin/ipfw/ipfw.8#8 edit Differences ... ==== //depot/projects/soc2005/libalias/sbin/ipfw/ipfw.8#8 (text+ko) ==== @@ -2035,95 +2035,53 @@ If no socket is bound to the destination port, or if the divert module is not loaded, or if the kernel was not compiled with divert socket support, the packets are dropped. -.Sh IPFW NAT -To support nat operations inside ipfw, the syntax was extended with a -new action: nat. -Then, to configure/handle nat instances the following syntax was -added (trying to follow closely pipe|queue options): +.Sh NETWORK ADDRESS TRANSLATION (NAT) +The nat configuration command is the following: .Bd -ragged -offset indent .Bk -words .Cm nat .Ar nat_number .Cm config -.Ar options +.Ar nat-configuration .Ek .Ed .Pp -where -.Ar options -is one or more mandatory fields that can assume the -following values: +. +The following parameters can be configured: .Bl -tag -width indent .It Cm ip Ar ip_address -Define an ip address to use for aliasing +Define an ip address to use for aliasing. .It Cm if Ar nic Use ip addres of NIC for aliasing, dynamically changing -it if NIC's ip address change +it if NIC's ip address change. .It Cm log -Enable logging on this nat instance +Enable logging on this nat instance. .It Cm deny_in -Deny any incoming connection from outside world +Deny any incoming connection from outside world. .It Cm same_ports Try to leave the alias port numbers unchanged from -the actual local port numbers +the actual local port numbers. .It Cm unreg_only Traffic on the local network not originating from an -unregistered address spaces will be ignored +unregistered address spaces will be ignored. .It Cm reset -Reset table of the packet aliasing engine on address change +Reset table of the packet aliasing engine on address change. .It Cm reverse -Reverse the way libalias handles aliasing +Reverse the way libalias handles aliasing. .It Cm proxy_only -Obey transparent proxy rules only, packet aliasing is not performed +Obey transparent proxy rules only, packet aliasing is not performed. .El .Pp -For more information about aliasing modes, take a look -at libalias( +For more information about aliasing modes, refer to .Xr libalias 3 -). -.Pp -Other commands to manipulate nats are: -.Bd -ragged -offset indent -.Bk -words -.Cm nat -.Ar nat_number -.Cm show -.Cm config -.Ek -.Ed -.Pp -to see nat configuration of -.Ar nat_number . -.Pp -.Bd -ragged -offset indent -.Bk -words -.Cm nat -.Ar nat_number -.Cm show -.Ek -.Ed -.Pp -to see the logs of -.Ar nat_number -(if any) -.Pp -In these two previous examples -.Ar nat_number -could be a single number to see the configuration of that -instance (i.e. 123, a range of numbers (i.e 333-555) to see the -configurations all the instances in that range or nothing, to see all -the configured instances. -.Pp See Section .Sx EXAMPLES -for some examples on how to use nat. +for some examples about nat usage. .Sh REDIRECT AND LSNAT SUPPORT IN IPFW -Redirect and LSNAT support follow closely the syntax used in natd: refer to natd's man page -for syntax details. -The only difference between natd's redirect and ipfw redirect is: -instead of redirect_[addr|port|prot] i chose redir_[addr|port|proto]. -.Pp +Redirect and LSNAT support follow closely the syntax used in +.Xr natd 8 +. See Section .Sx EXAMPLES for some examples on how to do redirect and lsnat. From owner-p4-projects@FreeBSD.ORG Fri Nov 3 15:51:25 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 838E116A4C8; Fri, 3 Nov 2006 15:51:25 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 3B5B216A407 for ; Fri, 3 Nov 2006 15:51:25 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0977143D46 for ; Fri, 3 Nov 2006 15:51:25 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA3FpO0P016230 for ; Fri, 3 Nov 2006 15:51:24 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA3FpOIs016222 for perforce@freebsd.org; Fri, 3 Nov 2006 15:51:24 GMT (envelope-from piso@freebsd.org) Date: Fri, 3 Nov 2006 15:51:24 GMT Message-Id: <200611031551.kA3FpOIs016222@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 109128 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Nov 2006 15:51:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=109128 Change 109128 by piso@piso_newluxor on 2006/11/03 15:50:32 POLA: convert redir_* options to redirect_* as in natd. Affected files ... .. //depot/projects/soc2005/libalias/sbin/ipfw/ipfw2.c#13 edit Differences ... ==== //depot/projects/soc2005/libalias/sbin/ipfw/ipfw2.c#13 (text+ko) ==== @@ -377,9 +377,9 @@ { "reset", TOK_RESET_ADDR }, { "reverse", TOK_ALIAS_REV }, { "proxy_only", TOK_PROXY_ONLY }, - { "redir_addr", TOK_REDIR_ADDR }, - { "redir_port", TOK_REDIR_PORT }, - { "redir_proto", TOK_REDIR_PROTO }, + { "redirect_addr", TOK_REDIR_ADDR }, + { "redirect_port", TOK_REDIR_PORT }, + { "redirect_proto", TOK_REDIR_PROTO }, { NULL, 0 } /* terminator */ }; @@ -2669,8 +2669,8 @@ "{pipe|queue} N config PIPE-BODY\n" "[pipe|queue] {zero|delete|show} [N{,N}]\n" "nat N config {ip IPADDR|if IFNAME|log|deny_in|same_ports|unreg_only|reset|\n" -" reverse|proxy_only|redir_addr linkspec| redir_port linkspec|\n" -" redir_proto linkspec}\n" +" reverse|proxy_only|redirect_addr linkspec|\n" +" redirect_port linkspec|redirect_proto linkspec}\n" "set [disable N... enable N...] | move [rule] X to Y | swap X Y | show\n" "table N {add ip[/bits] [value] | delete ip[/bits] | flush | list}\n" "\n" @@ -3520,7 +3520,7 @@ r->mode = REDIR_ADDR; /* Extract local address. */ if (ac == 0) - errx(EX_DATAERR, "redir_addr: missing local address"); + errx(EX_DATAERR, "redirect_addr: missing local address"); sep = strchr(*av, ','); if (sep) { /* LSNAT redirection syntax. */ r->laddr.s_addr = INADDR_NONE; @@ -3533,7 +3533,7 @@ /* Extract public address. */ if (ac == 0) - errx(EX_DATAERR, "redir_addr: missing public address"); + errx(EX_DATAERR, "redirect_addr: missing public address"); StrToAddr(*av, &r->paddr); INC_ARGCV(); @@ -3559,7 +3559,7 @@ } return(space); nospace: - errx(EX_DATAERR, "redir_addr: buf is too small\n"); + errx(EX_DATAERR, "redirect_addr: buf is too small\n"); } static int @@ -3711,7 +3711,7 @@ } return (space); nospace: - errx(EX_DATAERR, "redir_port: buf is too small\n"); + errx(EX_DATAERR, "redirect_port: buf is too small\n"); } static int @@ -3781,7 +3781,7 @@ } return (space); nospace: - errx(EX_DATAERR, "redir_proto: buf is too small\n"); + errx(EX_DATAERR, "redirect_proto: buf is too small\n"); } static void @@ -3832,7 +3832,7 @@ off += sof_redir; switch (t->mode) { case REDIR_ADDR: - printf(" redir_addr"); + printf(" redirect_addr"); if (t->spool_cnt == 0) printf(" %s", inet_ntoa(t->laddr)); else @@ -3849,7 +3849,7 @@ break; case REDIR_PORT: p = getprotobynumber(t->proto); - printf(" redir_port %s ", p->p_name); + printf(" redirect_port %s ", p->p_name); if (!t->spool_cnt) { printf("%s:%u", inet_ntoa(t->laddr), t->lport); if (t->pport_cnt > 1) @@ -3884,7 +3884,7 @@ break; case REDIR_PROTO: p = getprotobynumber(t->proto); - printf(" redir_proto %s %s", p->p_name, + printf(" redirect_proto %s %s", p->p_name, inet_ntoa(t->laddr)); if (t->paddr.s_addr != 0) { printf(" %s", inet_ntoa(t->paddr)); From owner-p4-projects@FreeBSD.ORG Fri Nov 3 15:54:30 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9AE8C16A47B; Fri, 3 Nov 2006 15:54:30 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 746CC16A412 for ; Fri, 3 Nov 2006 15:54:30 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EE0DC43D58 for ; Fri, 3 Nov 2006 15:54:29 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA3FsTSC017075 for ; Fri, 3 Nov 2006 15:54:29 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA3FsTZw017071 for perforce@freebsd.org; Fri, 3 Nov 2006 15:54:29 GMT (envelope-from piso@freebsd.org) Date: Fri, 3 Nov 2006 15:54:29 GMT Message-Id: <200611031554.kA3FsTZw017071@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 109129 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Nov 2006 15:54:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=109129 Change 109129 by piso@piso_newluxor on 2006/11/03 15:54:08 s/redir_/redirect_/ Affected files ... .. //depot/projects/soc2005/libalias/sbin/ipfw/ipfw.8#9 edit Differences ... ==== //depot/projects/soc2005/libalias/sbin/ipfw/ipfw.8#9 (text+ko) ==== @@ -2504,22 +2504,22 @@ .Pp Or a redirect rule with mixed modes could looks like: .Pp -.Dl "ipfw nat 123 config redir_addr 10.0.0.1 10.0.0.66" -.Dl " redir_port tcp 192.168.0.1:80 500" -.Dl " redir_proto udp 192.168.1.43 192.168.1.1" -.Dl " redir_addr 192.168.0.10,192.168.0.11" -.Dl " 10.0.0.100 # LSNAT" -.Dl " redir_port tcp 192.168.0.1:80,192.168.0.10:22" -.Dl " 500 # LSNAT" +.Dl "ipfw nat 123 config redirect_addr 10.0.0.1 10.0.0.66" +.Dl " redirect_port tcp 192.168.0.1:80 500" +.Dl " redirect_proto udp 192.168.1.43 192.168.1.1" +.Dl " redirect_addr 192.168.0.10,192.168.0.11" +.Dl " 10.0.0.100 # LSNAT" +.Dl " redirect_port tcp 192.168.0.1:80,192.168.0.10:22" +.Dl " 500 # LSNAT" .Pp or it could be splitted in: .Pp -.Dl "ipfw nat 1 config redir_addr 10.0.0.1 10.0.0.66" -.Dl "ipfw nat 2 config redir_port tcp 192.168.0.1:80 500" -.Dl "ipfw nat 3 config redir_proto udp 192.168.1.43 192.168.1.1" -.Dl "ipfw nat 4 config redir_addr 192.168.0.10,192.168.0.11,192.168.0.12" +.Dl "ipfw nat 1 config redirect_addr 10.0.0.1 10.0.0.66" +.Dl "ipfw nat 2 config redirect_port tcp 192.168.0.1:80 500" +.Dl "ipfw nat 3 config redirect_proto udp 192.168.1.43 192.168.1.1" +.Dl "ipfw nat 4 config redirect_addr 192.168.0.10,192.168.0.11,192.168.0.12" .Dl " 10.0.0.100" -.Dl "ipfw nat 5 config redir_port tcp" +.Dl "ipfw nat 5 config redirect_port tcp" .Dl " 192.168.0.1:80,192.168.0.10:22,192.168.0.20:25 500" .Pp .Sh SEE ALSO From owner-p4-projects@FreeBSD.ORG Fri Nov 3 16:53:44 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 18F3816A4B3; Fri, 3 Nov 2006 16:53:44 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 BE0F416A407 for ; Fri, 3 Nov 2006 16:53:43 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 90A9343D46 for ; Fri, 3 Nov 2006 16:53:43 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA3Grhlg035955 for ; Fri, 3 Nov 2006 16:53:43 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA3GrhHF035922 for perforce@freebsd.org; Fri, 3 Nov 2006 16:53:43 GMT (envelope-from piso@freebsd.org) Date: Fri, 3 Nov 2006 16:53:43 GMT Message-Id: <200611031653.kA3GrhHF035922@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 109130 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Nov 2006 16:53:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=109130 Change 109130 by piso@piso_newluxor on 2006/11/03 16:52:54 Close a small race: use a stack variable instead of returning a reference to a field inside the libalias struct (that is no more protected by the lock). Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_db.c#15 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_db.c#15 (text+ko) ==== @@ -2613,15 +2613,14 @@ * do a probe for flag values) */ ) { + int res = -1; LIBALIAS_LOCK(la); /* Enable logging? */ if (flags & mask & PKT_ALIAS_LOG) { /* Do the enable */ - if (InitPacketAliasLog(la) == ENOMEM) { - LIBALIAS_UNLOCK(la); - return (-1); - } + if (InitPacketAliasLog(la) == ENOMEM) + goto getout; } else /* _Disable_ logging? */ if (~flags & mask & PKT_ALIAS_LOG) { @@ -2640,8 +2639,10 @@ /* Other flags can be set/cleared without special action */ la->packetAliasMode = (flags & mask) | (la->packetAliasMode & ~mask); + res = la->packetAliasMode; +getout: LIBALIAS_UNLOCK(la); - return (la->packetAliasMode); + return (res); } From owner-p4-projects@FreeBSD.ORG Fri Nov 3 21:04:19 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C949B16A47B; Fri, 3 Nov 2006 21:04:18 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 71DF016A509 for ; Fri, 3 Nov 2006 21:04:18 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2FC2343D72 for ; Fri, 3 Nov 2006 21:04:14 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA3L4EvB095390 for ; Fri, 3 Nov 2006 21:04:14 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA3L48Xo095351 for perforce@freebsd.org; Fri, 3 Nov 2006 21:04:08 GMT (envelope-from jb@freebsd.org) Date: Fri, 3 Nov 2006 21:04:08 GMT Message-Id: <200611032104.kA3L48Xo095351@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109144 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Nov 2006 21:04:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=109144 Change 109144 by jb@jb_freebsd8 on 2006/11/03 21:04:05 IFC Affected files ... .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#32 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/faq/book.sgml#10 integrate .. //depot/projects/dtrace/doc/share/mk/doc.common.mk#4 integrate .. //depot/projects/dtrace/ports/Tools/scripts/rmport#7 integrate .. //depot/projects/dtrace/ports/UPDATING#22 integrate .. //depot/projects/dtrace/src/bin/cp/cp.1#7 integrate .. //depot/projects/dtrace/src/lib/libc/sys/getpid.2#4 integrate .. //depot/projects/dtrace/src/lib/libc/sys/statfs.2#4 integrate .. //depot/projects/dtrace/src/lib/libcam/camlib.c#5 integrate .. //depot/projects/dtrace/src/sbin/camcontrol/camcontrol.c#5 integrate .. //depot/projects/dtrace/src/sbin/geom/class/cache/geom_cache.c#3 integrate .. //depot/projects/dtrace/src/sbin/geom/class/mirror/geom_mirror.c#6 integrate .. //depot/projects/dtrace/src/sbin/geom/class/mirror/gmirror.8#5 integrate .. //depot/projects/dtrace/src/sbin/geom/class/raid3/geom_raid3.c#6 integrate .. //depot/projects/dtrace/src/sbin/geom/class/raid3/graid3.8#4 integrate .. //depot/projects/dtrace/src/share/man/man5/elf.5#4 integrate .. //depot/projects/dtrace/src/sys/arm/at91/if_ate.c#8 integrate .. //depot/projects/dtrace/src/sys/boot/common/Makefile.inc#5 integrate .. //depot/projects/dtrace/src/sys/boot/common/bootstrap.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/common/devopen.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/common/load_elf.c#6 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efi.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efi_nii.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efiapi.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/eficon.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efidebug.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efidef.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efidevp.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efierr.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efifs.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efilib.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efinet.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efipart.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efiprot.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efipxebc.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efiser.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/efistdarg.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/i386/efibind.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/i386/pe.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/ia64/efibind.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/include/ia64/pe.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/libefi/devicename.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/libefi/efiboot.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/libefi/efifs.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/efi/libefi/libefi.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/i386/boot2/boot2.c#6 integrate .. //depot/projects/dtrace/src/sys/boot/i386/libi386/bioscd.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/i386/libi386/biosdisk.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/i386/libi386/bootinfo32.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/i386/libi386/devicename.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/i386/libi386/elf32_freebsd.c#6 integrate .. //depot/projects/dtrace/src/sys/boot/i386/libi386/libi386.h#6 integrate .. //depot/projects/dtrace/src/sys/boot/i386/loader/Makefile#4 integrate .. //depot/projects/dtrace/src/sys/boot/i386/loader/main.c#5 integrate .. //depot/projects/dtrace/src/sys/boot/ia64/efi/main.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/ia64/ski/acpi_stub.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/ia64/ski/devicename.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/ia64/ski/libski.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/ia64/ski/main.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/ofw/common/main.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/ofw/libofw/libofw.h#4 integrate .. //depot/projects/dtrace/src/sys/boot/pc98/boot2/boot.c#5 integrate .. //depot/projects/dtrace/src/sys/boot/pc98/libpc98/bioscd.c#3 integrate .. //depot/projects/dtrace/src/sys/boot/pc98/libpc98/biosdisk.c#4 integrate .. //depot/projects/dtrace/src/sys/boot/pc98/loader/Makefile#4 integrate .. //depot/projects/dtrace/src/sys/boot/pc98/loader/main.c#5 integrate .. //depot/projects/dtrace/src/sys/boot/sparc64/loader/main.c#5 integrate .. //depot/projects/dtrace/src/sys/cam/cam_ccb.h#5 integrate .. //depot/projects/dtrace/src/sys/cam/cam_xpt.c#7 integrate .. //depot/projects/dtrace/src/sys/cam/scsi/scsi_all.h#5 integrate .. //depot/projects/dtrace/src/sys/cam/scsi/scsi_da.c#9 integrate .. //depot/projects/dtrace/src/sys/cam/scsi/scsi_low.c#5 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_proto.h#12 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_syscall.h#12 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_syscalls.c#12 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_sysent.c#12 integrate .. //depot/projects/dtrace/src/sys/compat/freebsd32/syscalls.master#13 integrate .. //depot/projects/dtrace/src/sys/conf/NOTES#24 integrate .. //depot/projects/dtrace/src/sys/conf/files#36 integrate .. //depot/projects/dtrace/src/sys/conf/files.sparc64#5 integrate .. //depot/projects/dtrace/src/sys/conf/options#23 integrate .. //depot/projects/dtrace/src/sys/conf/options.sparc64#4 integrate .. //depot/projects/dtrace/src/sys/ddb/db_command.c#9 integrate .. //depot/projects/dtrace/src/sys/dev/aac/aac_cam.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/aac/aac_pci.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/advansys/advansys.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/advansys/advlib.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/advansys/adwcam.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/aha/aha.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/ahb/ahb.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/aic/aic.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/aic7xxx/aic79xx_osm.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/aic7xxx/aic79xx_osm.h#5 integrate .. //depot/projects/dtrace/src/sys/dev/aic7xxx/aic7xxx_osm.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/aic7xxx/aic7xxx_osm.h#5 integrate .. //depot/projects/dtrace/src/sys/dev/amd/amd.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/amr/amr_cam.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/arcmsr/arcmsr.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/asr/asr.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/ata/atapi-cam.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/buslogic/bt.c#4 integrate .. //depot/projects/dtrace/src/sys/dev/ciss/ciss.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/dc/if_dc.c#9 integrate .. //depot/projects/dtrace/src/sys/dev/dpt/dpt_scsi.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/esp/ncr53c9x.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/firewire/sbp.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/iir/iir.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp.c#11 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_freebsd.c#11 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_freebsd.h#9 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_library.c#7 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_library.h#4 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_pci.c#12 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_sbus.c#8 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_stds.h#1 branch .. //depot/projects/dtrace/src/sys/dev/isp/isp_target.c#8 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_target.h#6 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_tpublic.h#6 integrate .. //depot/projects/dtrace/src/sys/dev/isp/ispmbox.h#6 integrate .. //depot/projects/dtrace/src/sys/dev/isp/ispreg.h#5 integrate .. //depot/projects/dtrace/src/sys/dev/isp/ispvar.h#6 integrate .. //depot/projects/dtrace/src/sys/dev/ispfw/asm_2300.h#5 integrate .. //depot/projects/dtrace/src/sys/dev/mly/mly.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/mpt/mpt_cam.c#17 integrate .. //depot/projects/dtrace/src/sys/dev/mpt/mpt_raid.c#8 integrate .. //depot/projects/dtrace/src/sys/dev/sym/sym_hipd.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/trm/trm.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/twa/tw_osl_cam.c#6 integrate .. //depot/projects/dtrace/src/sys/dev/uart/uart_kbd_sun.c#5 integrate .. //depot/projects/dtrace/src/sys/dev/uart/uart_kbd_sun.h#4 integrate .. //depot/projects/dtrace/src/sys/dev/usb/umass.c#7 integrate .. //depot/projects/dtrace/src/sys/geom/eli/g_eli.c#11 integrate .. //depot/projects/dtrace/src/sys/geom/journal/g_journal.c#3 integrate .. //depot/projects/dtrace/src/sys/geom/mirror/g_mirror.c#13 integrate .. //depot/projects/dtrace/src/sys/geom/mirror/g_mirror.h#5 integrate .. //depot/projects/dtrace/src/sys/geom/mirror/g_mirror_ctl.c#6 integrate .. //depot/projects/dtrace/src/sys/geom/raid3/g_raid3.c#17 integrate .. //depot/projects/dtrace/src/sys/geom/raid3/g_raid3.h#5 integrate .. //depot/projects/dtrace/src/sys/geom/raid3/g_raid3_ctl.c#8 integrate .. //depot/projects/dtrace/src/sys/geom/stripe/g_stripe.c#5 integrate .. //depot/projects/dtrace/src/sys/ia64/ia64/machdep.c#6 integrate .. //depot/projects/dtrace/src/sys/kern/init_sysent.c#15 integrate .. //depot/projects/dtrace/src/sys/kern/syscalls.c#14 integrate .. //depot/projects/dtrace/src/sys/kern/syscalls.master#13 integrate .. //depot/projects/dtrace/src/sys/kern/systrace_args.c#10 integrate .. //depot/projects/dtrace/src/sys/kern/tty_cons.c#7 integrate .. //depot/projects/dtrace/src/sys/kern/uipc_mbuf.c#6 integrate .. //depot/projects/dtrace/src/sys/kern/uipc_socket.c#14 integrate .. //depot/projects/dtrace/src/sys/kern/uipc_syscalls.c#13 integrate .. //depot/projects/dtrace/src/sys/net/bridgestp.c#9 integrate .. //depot/projects/dtrace/src/sys/net/if_tap.c#7 integrate .. //depot/projects/dtrace/src/sys/net/if_tun.c#7 integrate .. //depot/projects/dtrace/src/sys/net/ppp_tty.c#4 integrate .. //depot/projects/dtrace/src/sys/net/rtsock.c#6 integrate .. //depot/projects/dtrace/src/sys/netgraph/ng_device.c#4 integrate .. //depot/projects/dtrace/src/sys/netinet/in_proto.c#4 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_asconf.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_asconf.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_auth.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_auth.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_bsd_addr.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_bsd_addr.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_constants.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_crc32.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_crc32.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_header.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_indata.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_indata.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_input.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_input.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_lock_bsd.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_os.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_os_bsd.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_output.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_output.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_pcb.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_pcb.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_peeloff.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_peeloff.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_structs.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_timer.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_timer.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_uio.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_usrreq.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctp_var.h#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctputil.c#1 branch .. //depot/projects/dtrace/src/sys/netinet/sctputil.h#1 branch .. //depot/projects/dtrace/src/sys/netinet6/in6_proto.c#6 integrate .. //depot/projects/dtrace/src/sys/netinet6/sctp6_usrreq.c#1 branch .. //depot/projects/dtrace/src/sys/netinet6/sctp6_var.h#1 branch .. //depot/projects/dtrace/src/sys/pci/if_sis.c#6 integrate .. //depot/projects/dtrace/src/sys/pci/ncr.c#7 integrate .. //depot/projects/dtrace/src/sys/sparc64/conf/NOTES#8 integrate .. //depot/projects/dtrace/src/sys/sun4v/include/hypervisor_api.h#7 integrate .. //depot/projects/dtrace/src/sys/sun4v/sun4v/hvcons.c#6 integrate .. //depot/projects/dtrace/src/sys/sun4v/sun4v/machdep.c#9 integrate .. //depot/projects/dtrace/src/sys/sun4v/sun4v/pmap.c#17 integrate .. //depot/projects/dtrace/src/sys/sys/libkern.h#6 integrate .. //depot/projects/dtrace/src/sys/sys/mbuf.h#7 integrate .. //depot/projects/dtrace/src/sys/sys/socket.h#6 integrate .. //depot/projects/dtrace/src/sys/sys/syscall.h#14 integrate .. //depot/projects/dtrace/src/sys/sys/syscall.mk#14 integrate .. //depot/projects/dtrace/src/sys/sys/sysproto.h#14 integrate .. //depot/projects/dtrace/src/tools/tools/nanobsd/nanobsd.sh#8 integrate .. //depot/projects/dtrace/src/usr.bin/tar/getdate.y#4 integrate .. //depot/projects/dtrace/src/usr.bin/vmstat/vmstat.8#6 integrate .. //depot/projects/dtrace/src/usr.sbin/bluetooth/bthidd/client.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/rpc.ypxfrd/rpc.ypxfrd.8#4 integrate .. //depot/projects/dtrace/www/en/cgi/query-pr.cgi#6 integrate .. //depot/projects/dtrace/www/en/donations/donors.sgml#18 integrate .. //depot/projects/dtrace/www/share/sgml/events.xml#5 integrate Differences ... ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#32 (text+ko) ==== @@ -1,4 +1,4 @@ - + There are several JDKs in the ports collection, from various vendors, and in several versions. If your port must use one of these versions, you can define which one. The most current - version is java/jdk14. + version is java/jdk15. Variables that may be set by ports that use Java ==== //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_proto.h#13 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.73 2006/11/03 18:57:48 rrs Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.86 2006/11/03 15:23:12 rrs Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.74 2006/11/03 21:23:33 ru Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.87 2006/11/03 21:21:28 ru Exp */ #ifndef _FREEBSD32_SYSPROTO_H_ @@ -309,37 +309,6 @@ char param_l_[PADL_(struct thr_param32 *)]; struct thr_param32 * param; char param_r_[PADR_(struct thr_param32 *)]; char param_size_l_[PADL_(int)]; int param_size; char param_size_r_[PADR_(int)]; }; -struct sctp_peeloff_args { - char sd_l_[PADL_(int)]; int sd; char sd_r_[PADR_(int)]; - char name_l_[PADL_(uint32_t)]; uint32_t name; char name_r_[PADR_(uint32_t)]; -}; -struct sctp_generic_sendmsg_args { - char sd_l_[PADL_(int)]; int sd; char sd_r_[PADR_(int)]; - char msg_l_[PADL_(caddr_t)]; caddr_t msg; char msg_r_[PADR_(caddr_t)]; - char mlen_l_[PADL_(int)]; int mlen; char mlen_r_[PADR_(int)]; - char to_l_[PADL_(caddr_t)]; caddr_t to; char to_r_[PADR_(caddr_t)]; - char tolen_l_[PADL_(__socklen_t)]; __socklen_t tolen; char tolen_r_[PADR_(__socklen_t)]; - char sinfo_l_[PADL_(struct sctp_sndrcvinfo *)]; struct sctp_sndrcvinfo * sinfo; char sinfo_r_[PADR_(struct sctp_sndrcvinfo *)]; - char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; -}; -struct sctp_generic_sendmsg_iov_args { - char sd_l_[PADL_(int)]; int sd; char sd_r_[PADR_(int)]; - char iov_l_[PADL_(struct iovec *)]; struct iovec * iov; char iov_r_[PADR_(struct iovec *)]; - char iovlen_l_[PADL_(int)]; int iovlen; char iovlen_r_[PADR_(int)]; - char to_l_[PADL_(caddr_t)]; caddr_t to; char to_r_[PADR_(caddr_t)]; - char tolen_l_[PADL_(__socklen_t)]; __socklen_t tolen; char tolen_r_[PADR_(__socklen_t)]; - char sinfo_l_[PADL_(struct sctp_sndrcvinfo *)]; struct sctp_sndrcvinfo * sinfo; char sinfo_r_[PADR_(struct sctp_sndrcvinfo *)]; - char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; -}; -struct sctp_generic_recvmsg_args { - char sd_l_[PADL_(int)]; int sd; char sd_r_[PADR_(int)]; - char iov_l_[PADL_(struct iovec *)]; struct iovec * iov; char iov_r_[PADR_(struct iovec *)]; - char iovlen_l_[PADL_(int)]; int iovlen; char iovlen_r_[PADR_(int)]; - char from_l_[PADL_(struct sockaddr *)]; struct sockaddr * from; char from_r_[PADR_(struct sockaddr *)]; - char fromlenaddr_l_[PADL_(__socklen_t *)]; __socklen_t * fromlenaddr; char fromlenaddr_r_[PADR_(__socklen_t *)]; - char sinfo_l_[PADL_(struct sctp_sndrcvinfo *)]; struct sctp_sndrcvinfo * sinfo; char sinfo_r_[PADR_(struct sctp_sndrcvinfo *)]; - char msg_flags_l_[PADL_(int *)]; int * msg_flags; char msg_flags_r_[PADR_(int *)]; -}; int freebsd32_wait4(struct thread *, struct freebsd32_wait4_args *); int freebsd32_recvmsg(struct thread *, struct freebsd32_recvmsg_args *); int freebsd32_sendmsg(struct thread *, struct freebsd32_sendmsg_args *); @@ -393,10 +362,6 @@ int freebsd32_thr_suspend(struct thread *, struct freebsd32_thr_suspend_args *); int freebsd32_umtx_op(struct thread *, struct freebsd32_umtx_op_args *); int freebsd32_thr_new(struct thread *, struct freebsd32_thr_new_args *); -int sctp_peeloff(struct thread *, struct sctp_peeloff_args *); -int sctp_generic_sendmsg(struct thread *, struct sctp_generic_sendmsg_args *); -int sctp_generic_sendmsg_iov(struct thread *, struct sctp_generic_sendmsg_iov_args *); -int sctp_generic_recvmsg(struct thread *, struct sctp_generic_recvmsg_args *); #ifdef COMPAT_43 @@ -539,10 +504,6 @@ #define FREEBSD32_SYS_AUE_freebsd32_thr_suspend AUE_NULL #define FREEBSD32_SYS_AUE_freebsd32_umtx_op AUE_NULL #define FREEBSD32_SYS_AUE_freebsd32_thr_new AUE_NULL -#define FREEBSD32_SYS_AUE_sctp_peeloff AUE_NULL -#define FREEBSD32_SYS_AUE_sctp_generic_sendmsg AUE_NULL -#define FREEBSD32_SYS_AUE_sctp_generic_sendmsg_iov AUE_NULL -#define FREEBSD32_SYS_AUE_sctp_generic_recvmsg AUE_NULL #undef PAD_ #undef PADL_ ==== //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_syscall.h#13 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.71 2006/11/03 18:57:48 rrs Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.86 2006/11/03 15:23:12 rrs Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.72 2006/11/03 21:23:33 ru Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.87 2006/11/03 21:21:28 ru Exp */ #define FREEBSD32_SYS_syscall 0 ==== //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_syscalls.c#13 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.62 2006/11/03 18:57:48 rrs Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.86 2006/11/03 15:23:12 rrs Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.63 2006/11/03 21:23:33 ru Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.87 2006/11/03 21:21:28 ru Exp */ const char *freebsd32_syscallnames[] = { ==== //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_sysent.c#13 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.72 2006/11/03 18:57:48 rrs Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.86 2006/11/03 15:23:12 rrs Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.73 2006/11/03 21:23:33 ru Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.87 2006/11/03 21:21:28 ru Exp */ #include "opt_compat.h" ==== //depot/projects/dtrace/src/sys/compat/freebsd32/syscalls.master#14 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.86 2006/11/03 15:23:12 rrs Exp $ + $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.87 2006/11/03 21:21:28 ru Exp $ ; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; from: src/sys/kern/syscalls.master 1.107 ; @@ -771,13 +771,13 @@ 468 AUE_NULL UNIMPL nosys 469 AUE_NULL UNIMPL __getpath_fromfd 470 AUE_NULL UNIMPL __getpath_fromaddr -471 AUE_NULL STD { int sctp_peeloff(int sd, uint32_t name); } -472 AUE_NULL STD { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \ - caddr_t to, __socklen_t tolen, \ +471 AUE_NULL NOPROTO { int sctp_peeloff(int sd, uint32_t name); } +472 AUE_NULL NOPROTO { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \ + caddr_t to, __socklen_t tolen, \ struct sctp_sndrcvinfo *sinfo, int flags); } -473 AUE_NULL STD { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \ - caddr_t to, __socklen_t tolen, \ +473 AUE_NULL NOPROTO { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \ + caddr_t to, __socklen_t tolen, \ struct sctp_sndrcvinfo *sinfo, int flags); } -474 AUE_NULL STD { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \ +474 AUE_NULL NOPROTO { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \ struct sockaddr * from, __socklen_t *fromlenaddr, \ struct sctp_sndrcvinfo *sinfo, int *msg_flags); } ==== //depot/projects/dtrace/src/sys/conf/files#37 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1158 2006/11/03 15:23:13 rrs Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1159 2006/11/03 21:09:03 ru Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -351,7 +351,7 @@ crypto/sha1.c optional carp | crypto | ipsec | \ netgraph_mppc_encryption | sctp crypto/sha2/sha2.c optional crypto | geom_bde | ipsec | random | \ - sctp + sctp ddb/db_access.c optional ddb ddb/db_break.c optional ddb ddb/db_command.c optional ddb @@ -1813,7 +1813,7 @@ netinet6/raw_ip6.c optional inet6 netinet6/route6.c optional inet6 netinet6/scope6.c optional inet6 -netinet6/sctp6_usrreq.c optional inet6 inet6 sctp +netinet6/sctp6_usrreq.c optional inet6 sctp netinet6/udp6_output.c optional inet6 netinet6/udp6_usrreq.c optional inet6 netipsec/ipsec.c optional fast_ipsec ==== //depot/projects/dtrace/src/sys/modules/ath_rate_amrr/Makefile#5 (text+ko) ==== @@ -33,14 +33,14 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF # THE POSSIBILITY OF SUCH DAMAGES. # -# $FreeBSD: src/sys/modules/ath_rate_amrr/Makefile,v 1.3 2006/09/18 16:50:59 sam Exp $ +# $FreeBSD: src/sys/modules/ath_rate_amrr/Makefile,v 1.4 2006/11/03 21:41:19 ru Exp $ # .PATH: ${.CURDIR}/../../dev/ath/ath_rate/amrr KMOD= ath_rate SRCS= amrr.c -SRCS+= opt_bdg.h device_if.h bus_if.h pci_if.h opt_inet.h +SRCS+= device_if.h bus_if.h pci_if.h opt_inet.h HAL= ${.CURDIR}/../../contrib/dev/ath CFLAGS+= -I. -I${.CURDIR}/../../dev/ath -I${HAL} ==== //depot/projects/dtrace/src/sys/modules/bge/Makefile#4 (text+ko) ==== @@ -1,8 +1,8 @@ -# $FreeBSD: src/sys/modules/bge/Makefile,v 1.4 2005/09/27 18:10:33 mlaier Exp $ +# $FreeBSD: src/sys/modules/bge/Makefile,v 1.5 2006/11/03 21:41:19 ru Exp $ .PATH: ${.CURDIR}/../../dev/bge KMOD= if_bge -SRCS= opt_bge.h if_bge.c miibus_if.h miidevs.h device_if.h bus_if.h pci_if.h +SRCS= if_bge.c miibus_if.h miidevs.h device_if.h bus_if.h pci_if.h .include ==== //depot/projects/dtrace/src/sys/modules/nfe/Makefile#3 (text+ko) ==== @@ -1,8 +1,8 @@ -# $FreeBSD: src/sys/modules/nfe/Makefile,v 1.1 2006/06/26 23:41:07 obrien Exp $ +# $FreeBSD: src/sys/modules/nfe/Makefile,v 1.2 2006/11/03 21:41:19 ru Exp $ .PATH: ${.CURDIR}/../../dev/nfe KMOD= if_nfe -SRCS= if_nfe.c opt_bdg.h device_if.h bus_if.h pci_if.h miibus_if.h +SRCS= if_nfe.c device_if.h bus_if.h pci_if.h miibus_if.h .include ==== //depot/projects/dtrace/src/sys/netinet/sctp_input.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ /* $KAME: sctp_input.c,v 1.27 2005/03/06 16:04:17 itojun Exp $ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/sctp_input.c,v 1.1 2006/11/03 15:23:15 rrs Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/sctp_input.c,v 1.2 2006/11/03 23:04:34 rrs Exp $"); #include "opt_ipsec.h" #include "opt_compat.h" @@ -250,7 +250,7 @@ sctp_free_remote_addr(sp->net); sp->net = NULL; /* Free the chunk */ - printf("sp:%x tcb:%x weird free case\n", + printf("sp:%p tcb:%p weird free case\n", (u_int)sp, (u_int)stcb); sctp_free_a_strmoq(stcb, sp); ==== //depot/projects/dtrace/src/sys/netinet/sctp_pcb.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ /* $KAME: sctp_pcb.c,v 1.38 2005/03/06 16:04:18 itojun Exp $ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/sctp_pcb.c,v 1.1 2006/11/03 15:23:15 rrs Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/sctp_pcb.c,v 1.2 2006/11/03 23:04:34 rrs Exp $"); #include "opt_ipsec.h" #include "opt_compat.h" @@ -2206,7 +2206,7 @@ sp = TAILQ_LAST(&((asoc->asoc.locked_on_sending)->outqueue), sctp_streamhead); if (sp == NULL) { - printf("Error, sp is NULL, locked on sending is %x strm:%d\n", + printf("Error, sp is NULL, locked on sending is %ps strm:%d\n", (u_int)asoc->asoc.locked_on_sending, asoc->asoc.locked_on_sending->stream_no); } else { ==== //depot/projects/dtrace/src/sys/netinet/sctp_timer.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ /* $KAME: sctp_timer.c,v 1.29 2005/03/06 16:04:18 itojun Exp $ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/sctp_timer.c,v 1.1 2006/11/03 15:23:15 rrs Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/sctp_timer.c,v 1.2 2006/11/03 23:04:34 rrs Exp $"); #include "opt_ipsec.h" #include "opt_compat.h" @@ -862,7 +862,7 @@ int win_probe, num_mk; #ifdef SCTP_FR_LOGGING - sctp_log_fr(sctps_datadropchklmt.sctps_senddata, 0, 0, SCTP_FR_T3_TIMEOUT); + sctp_log_fr(0, 0, 0, SCTP_FR_T3_TIMEOUT); #ifdef SCTP_CWND_LOGGING { struct sctp_nets *lnet; @@ -1662,7 +1662,7 @@ } if ((it->inp->inp_starting_point_for_iterator != NULL) && (it->inp->inp_starting_point_for_iterator != it)) { - printf("Iterator collision, waiting for one at 0x%x\n", + printf("Iterator collision, waiting for one at %p\n", (uint32_t) it->inp); SCTP_INP_WUNLOCK(it->inp); goto start_timer_return; ==== //depot/projects/dtrace/src/sys/netinet/sctp_usrreq.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ /* $KAME: sctp_usrreq.c,v 1.48 2005/03/07 23:26:08 itojun Exp $ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/sctp_usrreq.c,v 1.1 2006/11/03 15:23:15 rrs Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/sctp_usrreq.c,v 1.3 2006/11/03 23:04:34 rrs Exp $"); #include "opt_ipsec.h" @@ -1134,8 +1134,7 @@ sp = TAILQ_LAST(&asoc->locked_on_sending->outqueue, sctp_streamhead); if (sp == NULL) { - printf("Error, sp is NULL, locked on sending is %x strm:%d\n", - (u_int)asoc->locked_on_sending, + printf("Error, sp is NULL, locked on sending is non-null strm:%d\n", asoc->locked_on_sending->stream_no); } else { if ((sp->length == 0) && (sp->msg_is_complete == 0)) @@ -1275,8 +1274,7 @@ sp = TAILQ_LAST(&asoc->locked_on_sending->outqueue, sctp_streamhead); if (sp == NULL) { - printf("Error, sp is NULL, locked on sending is %x strm:%d\n", - (u_int)asoc->locked_on_sending, + printf("Error, sp is NULL, locked on sending is non-null strm:%d\n", asoc->locked_on_sending->stream_no); } else { if ((sp->length == 0) && (sp->msg_is_complete == 0)) { @@ -3133,7 +3131,7 @@ error = EINVAL; break; } - on_off = (mtod(m, int)); + on_off = *(mtod(m, int *)); if (on_off) { sctp_feature_on(inp, SCTP_PCB_FLAGS_FRAG_INTERLEAVE); } else { ==== //depot/projects/dtrace/src/sys/netinet/sctputil.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ /* $KAME: sctputil.c,v 1.37 2005/03/07 23:26:09 itojun Exp $ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/sctputil.c,v 1.1 2006/11/03 15:23:15 rrs Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/sctputil.c,v 1.2 2006/11/03 23:04:34 rrs Exp $"); #include "opt_ipsec.h" @@ -3271,12 +3271,12 @@ break; case SCTP_NOTIFY_AUTH_NEW_KEY: sctp_notify_authentication(stcb, SCTP_AUTH_NEWKEY, error, - (uint32_t) data); + (uint16_t) (uintptr_t) data); break; #if 0 case SCTP_NOTIFY_AUTH_KEY_CONFLICT: sctp_notify_authentication(stcb, SCTP_AUTH_KEY_CONFLICT, - error, (uint32_t) data); + error, (uint16_t) (uintptr_t) data); break; #endif /* not yet? remove? */ ==== //depot/projects/dtrace/src/sys/sparc64/sparc64/genassym.c#8 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/sparc64/sparc64/genassym.c,v 1.62 2006/11/01 04:54:51 jb Exp $"); +__FBSDID("$FreeBSD: src/sys/sparc64/sparc64/genassym.c,v 1.63 2006/11/03 23:33:40 kmacy Exp $"); #include "opt_kstack_pages.h" @@ -73,6 +73,7 @@ #include #ifdef SUN4V #include +#include #include #endif @@ -300,6 +301,7 @@ ASSYM(PCB_NSAVED, offsetof(struct pcb, pcb_nsaved)); ASSYM(PCB_PC, offsetof(struct pcb, pcb_pc)); ASSYM(PCB_SP, offsetof(struct pcb, pcb_sp)); +ASSYM(PCB_PAD, offsetof(struct pcb, pcb_pad)); ==== //depot/projects/dtrace/src/sys/sun4v/include/elf.h#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/sun4v/include/elf.h,v 1.1 2006/10/05 06:14:25 kmacy Exp $ + * $FreeBSD: src/sys/sun4v/include/elf.h,v 1.2 2006/11/03 23:03:46 jb Exp $ */ #ifndef _MACHINE_ELF_H_ ==== //depot/projects/dtrace/src/sys/sun4v/include/trap.h#5 (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/sun4v/include/trap.h,v 1.1 2006/10/05 06:14:26 kmacy Exp $ + * $FreeBSD: src/sys/sun4v/include/trap.h,v 1.2 2006/11/03 23:41:53 kmacy Exp $ */ #ifndef _MACHINE_TRAP_H_ @@ -31,12 +31,6 @@ #ifdef _KERNEL - -#define T_DATA_MISS 0x31 -#define T_ALIGNMENT 0x34 -#define T_DATA_PROTECTION 0x6c -#define T_MEM_ADDRESS_NOT_ALIGNED T_ALIGNMENT - #define T_RESERVED 0 #define T_INSTRUCTION_EXCEPTION 1 #define T_INSTRUCTION_ERROR 2 @@ -46,99 +40,108 @@ #define T_PRIVILEGED_OPCODE 6 #define T_FP_DISABLED 7 #define T_FP_EXCEPTION_IEEE_754 8 +#define T_FP_EXCEPTION_OTHER 9 +#define T_TAG_OVERFLOW 10 +#define T_DIVISION_BY_ZERO 11 +#define T_DATA_EXCEPTION 12 +#define T_DATA_ERROR 13 +#define T_DATA_PROTECTION 14 +#define T_MEM_ADDRESS_NOT_ALIGNED 15 +#define T_ALIGNMENT 15 +#define T_PRIVILEGED_ACTION 16 +#define T_ASYNC_DATA_ERROR 17 +#define T_TRAP_INSTRUCTION_16 18 +#define T_TRAP_INSTRUCTION_17 19 +#define T_TRAP_INSTRUCTION_18 20 +#define T_TRAP_INSTRUCTION_19 21 +#define T_TRAP_INSTRUCTION_20 22 +#define T_TRAP_INSTRUCTION_21 23 +#define T_TRAP_INSTRUCTION_22 24 +#define T_TRAP_INSTRUCTION_23 25 +#define T_TRAP_INSTRUCTION_24 26 +#define T_TRAP_INSTRUCTION_25 27 +#define T_TRAP_INSTRUCTION_26 28 +#define T_TRAP_INSTRUCTION_27 29 +#define T_TRAP_INSTRUCTION_28 30 +#define T_TRAP_INSTRUCTION_29 31 +#define T_TRAP_INSTRUCTION_30 32 +#define T_TRAP_INSTRUCTION_31 33 +#define T_INSTRUCTION_MISS 34 +#define T_DATA_MISS 35 -#define T_INSTRUCTION_MISS 0x09 -#define T_TAG_OVERFLOW 0x0a -#define T_DIVISION_BY_ZERO 0x0b -#define T_DATA_EXCEPTION 0x0c -#define T_DATA_ERROR 0x0d - - -#define T_PRIVILEGED_ACTION 0x10 -#define T_ASYNC_DATA_ERROR 0x11 -#define T_TRAP_INSTRUCTION_16 0x12 -#define T_TRAP_INSTRUCTION_17 0x13 -#define T_TRAP_INSTRUCTION_18 0x14 -#define T_TRAP_INSTRUCTION_19 0x15 -#define T_TRAP_INSTRUCTION_20 0x16 -#define T_TRAP_INSTRUCTION_21 0x17 -#define T_TRAP_INSTRUCTION_22 0x18 -#define T_TRAP_INSTRUCTION_23 0x19 -#define T_TRAP_INSTRUCTION_24 0x1a -#define T_TRAP_INSTRUCTION_25 0x1b -#define T_TRAP_INSTRUCTION_26 0x1c -#define T_TRAP_INSTRUCTION_27 0x1d -#define T_TRAP_INSTRUCTION_28 0x1e -#define T_TRAP_INSTRUCTION_29 0x1f -#define T_TRAP_INSTRUCTION_30 0x20 -#define T_TRAP_INSTRUCTION_31 0x21 -#define T_FP_EXCEPTION_OTHER 0x22 - - - -#define T_INTERRUPT 0x24 -#define T_PA_WATCHPOINT 0x25 -#define T_VA_WATCHPOINT 0x26 -#define T_CORRECTED_ECC_ERROR 0x27 -#define T_SPILL 0x28 -#define T_FILL 0x29 -#define T_FILL_RET 0x2a -#define T_BREAKPOINT 0x2b -#define T_CLEAN_WINDOW 0x2c -#define T_RANGE_CHECK 0x2d -#define T_FIX_ALIGNMENT 0x2e -#define T_INTEGER_OVERFLOW 0x2f -#define T_SYSCALL 0x30 -#define T_RSTRWP_PHYS -#define T_RSTRWP_VIRT +#define T_INTERRUPT 36 +#define T_PA_WATCHPOINT 37 +#define T_VA_WATCHPOINT 38 +#define T_CORRECTED_ECC_ERROR 39 +#define T_SPILL 40 +#define T_FILL 41 +#define T_FILL_RET 42 +#define T_BREAKPOINT 43 +#define T_CLEAN_WINDOW 44 +#define T_RANGE_CHECK 45 +#define T_FIX_ALIGNMENT 46 +#define T_INTEGER_OVERFLOW 47 +#define T_SYSCALL 48 +#define T_RSTRWP_PHYS 49 +#define T_RSTRWP_VIRT 50 #define T_KSTACK_FAULT 51 #define T_RESUMABLE_ERROR 52 #define T_NONRESUMABLE_ERROR 53 #define T_MAX (T_NONRESUMABLE_ERROR + 1) -#define T_KERNEL 0x100 -#define TRAP_MASK ((1<<8)-1) -#define TRAP_CTX_SHIFT 10 +#define T_KERNEL 64 -#define PTL1_BAD_DEBUG 0 -#define PTL1_BAD_WTRAP 1 -#define PTL1_BAD_KMISS 2 -#define PTL1_BAD_KPROT_FAULT 3 -#define PTL1_BAD_ISM 4 -#define PTL1_BAD_MMUTRAP 5 -#define PTL1_BAD_TRAP 6 -#define PTL1_BAD_FPTRAP 7 -#define PTL1_BAD_INTR_REQ 8 -#define PTL1_BAD_TRACE_PTR 9 -#define PTL1_BAD_STACK 10 -#define PTL1_BAD_DTRACE_FLAGS 11 -#define PTL1_BAD_CTX_STEAL 12 -#define PTL1_BAD_ECC 13 -#define PTL1_BAD_HCALL 14 -#define PTL1_BAD_GL 15 - - -#define TL_CPU_MONDO 0x1 -#define TL_DEV_MONDO 0x2 -#define TL_TSB_MISS 0x3 -#define TL_TL0_TRAP 0x4 -#define TL_SET_ACKMASK 0x5 - +#define TRAP_MASK ((1<<6)-1) +#define TRAP_CTX_SHIFT 8 /* * These defines are used by the TL1 tlb miss handlers to calculate * the pc to jump to in the case the entry was not found in the TSB. */ -#define WTRAP_ALIGN 0x7f /* window handlers are 128 byte align */ -#define WTRAP_FAULTOFF 124 /* last instruction in handler */ +#define WTRAP_ALIGN 0x7f /* window handlers are 128 byte align */ +#define WTRAP_FAULTOFF 124 /* last instruction in handler */ + /* use the following defines to determine if trap was a fill or a spill */ -#define WTRAP_TTMASK 0x180 -#define WTRAP_TYPE 0x080 +#define WTRAP_TTMASK 0x180 +#define WTRAP_TYPE 0x080 + +#define TT_INSTRUCTION_EXCEPTION 0x8 +#define TT_INSTRUCTION_MISS 0x9 +#define TT_ILLEGAL_INSTRUCTION 0x10 +#define TT_PRIVILEGED_OPCODE 0x11 +#define TT_FP_EXCEPTION_IEEE_754 0x21 +#define TT_FP_EXCEPTION_OTHER 0x22 +#define TT_TAG_OVERFLOW 0x23 +#define TT_DIVISION_BY_ZERO 0x28 +#define TT_DATA_EXCEPTION 0x30 +#define TT_DATA_MISS 0x31 +#define TT_ALIGNNMENT 0x34 +#define TT_DATA_PROTECTION 0x6c +#define TT_ALIGNMENT 0x6c +#define TT_BREAKPOINT 0x76 + +#define PTL1_BAD_DEBUG 0 +#define PTL1_BAD_WTRAP 1 +#define PTL1_BAD_KMISS 2 +#define PTL1_BAD_KPROT_FAULT 3 +#define PTL1_BAD_ISM 4 +#define PTL1_BAD_MMUTRAP 5 +#define PTL1_BAD_TRAP 6 +#define PTL1_BAD_FPTRAP 7 +#define PTL1_BAD_INTR_REQ 8 +#define PTL1_BAD_TRACE_PTR 9 +#define PTL1_BAD_STACK 10 +#define PTL1_BAD_DTRACE_FLAGS 11 +#define PTL1_BAD_CTX_STEAL 12 +#define PTL1_BAD_ECC 13 +#define PTL1_BAD_HCALL 14 +#define PTL1_BAD_GL 15 + #ifndef LOCORE extern const char *trap_msg[]; -void trap_init(void); +extern void trap_init(void); #endif #endif ==== //depot/projects/dtrace/src/sys/sun4v/include/utrap.h#5 (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/sun4v/include/utrap.h,v 1.1 2006/10/05 06:14:26 kmacy Exp $ + * $FreeBSD: src/sys/sun4v/include/utrap.h,v 1.2 2006/11/03 23:41:53 kmacy Exp $ */ #ifndef _MACHINE_UTRAP_H_ @@ -77,6 +77,7 @@ /* 8 is 32-bit ABI syscall (old solaris syscall?) */ #define ST_BSD_SYSCALL 9 #define ST_FP_RESTORE 10 +#define ST_FPEMU_CONTEXT 11 /* 11-15 are available */ /* 16 is linux 32 bit syscall (but supposed to be reserved, grr) */ /* 17 is old linux 64 bit syscall (but supposed to be reserved, grr) */ ==== //depot/projects/dtrace/src/sys/sun4v/sun4v/exception.S#7 (text+ko) ==== @@ -27,7 +27,7 @@ #include -__FBSDID("$FreeBSD: src/sys/sun4v/sun4v/exception.S,v 1.2 2006/10/09 04:45:19 kmacy Exp $") +__FBSDID("$FreeBSD: src/sys/sun4v/sun4v/exception.S,v 1.3 2006/11/03 23:41:53 kmacy Exp $") #include "opt_compat.h" #include "opt_ddb.h" @@ -57,6 +57,7 @@ .register %g6,#ignore .register %g7,#ignore + .globl trap_conversion #define PCB_REG %g6 @@ -314,7 +315,7 @@ ldxa [%g1 + %g2]ASI_REAL, %g3 sub %g0, 1, %g4 set trap, %g1 - ba %xcc, tl0_trap + ba,pt %xcc, tl0_trap mov T_INSTRUCTION_EXCEPTION, %g2 .align 32 @@ -327,8 +328,7 @@ mov MMFSA_I_CTX, %g7 ldxa [%g1 + %g2]ASI_REAL, %g4 ldxa [%g1 + %g3]ASI_REAL, %g5 - ba,pt %xcc, tsb_miss_handler - mov T_INSTRUCTION_MISS, %g3 + ba,a,pt %xcc, tsb_miss_handler .align 32 .endm @@ -357,8 +357,7 @@ mov MMFSA_D_CTX, %g7 ldxa [%g1 + %g2]ASI_REAL, %g4 ldxa [%g1 + %g3]ASI_REAL, %g5 - ba,pt %xcc, tsb_miss_handler - mov T_DATA_MISS, %g3 + ba,a,pt %xcc, tsb_miss_handler .align 32 .endm @@ -367,8 +366,7 @@ mov MMFSA_D_ADDR, %g3 mov MMFSA_D_CTX, %g7 ldxa [%g1 + %g3]ASI_REAL, %g5 - ba,pt %xcc, tsb_miss_handler - mov T_DATA_PROTECTION, %g3 + ba,a,pt %xcc, tsb_miss_handler .align 32 .endm @@ -406,7 +404,7 @@ clr %g3 sub %g0, 1, %g4 set trap, %g1 - ba %xcc, tl0_trap + ba,pt %xcc, tl0_trap mov T_RESUMABLE_ERROR, %g2 .align 32 .endm @@ -415,7 +413,7 @@ clr %g3 sub %g0, 1, %g4 set trap, %g1 - ba %xcc, tl0_trap + ba,pt %xcc, tl0_trap mov T_NONRESUMABLE_ERROR, %g2 .align 32 .endm @@ -732,6 +730,33 @@ .align 32 .endm #endif + + ! fetch FP context into local registers + .macro tl0_fpemu_context + GET_PCB(PCB_REG) ! 3 instructions + ldx [PCB_REG + PCB_PAD], %l5 ! %tstate + ldx [PCB_REG + PCB_PAD + 8], %l6 ! %tpc + ldx [PCB_REG + PCB_PAD + 16], %l7 ! %tncp + ldx [PCB_REG + PCB_PAD + 24], %g2 ! %tt + ba,a,pt %xcc, tl0_fpemu_context + .align 32 + .endm + +ENTRY(tl0_fpemu_context) + mov %g2, %o0 + clr %o1 + + rd %fprs, %l1 + or %l1, FPRS_FEF, %l2 + wr %l2, 0, %fprs + stx %fsr, [PCB_REG + PCB_PAD] + ldx [PCB_REG + PCB_PAD], %l4 + wr %l1, 0, %fprs + + sub %fp, CCFSZ, %sp + done +END(tl0_fpemu_context) + .macro tl0_fp_restore GET_PCB(PCB_REG) ! 3 instructions ldx [%g6 + PCB_FLAGS], %g1 @@ -898,7 +923,8 @@ tl0_gen T_SYSCALL ! 0x108 tl0_gen T_SYSCALL ! 0x109 tl0_fp_restore ! 0x10a - tl0_reserved 5 ! 0x10b-0x10f + tl0_fpemu_context ! 0x10b + tl0_reserved 4 ! 0x10c-0x10f tl0_gen T_TRAP_INSTRUCTION_16 ! 0x110 tl0_gen T_TRAP_INSTRUCTION_17 ! 0x111 tl0_gen T_TRAP_INSTRUCTION_18 ! 0x112 @@ -1355,6 +1381,8 @@ ! %g1 pc of trap handler ! %g2, %g3 args of trap handler + ! %g2 software trap type + ! %g3 additional argument to trap ! %g4 desired pil ! %g5, %g6 temps ! %g7 saved @@ -1380,6 +1408,37 @@ bnz,pn %xcc, tl0_ktrap nop ENTRY(tl0_utrap) + GET_PCPU_SCRATCH + + cmp %g2, UT_MAX + bge,a,pn %xcc, skip_utrap + nop + + ldx [PCPU(CURTHREAD)], %g5 + ldx [%g5 + TD_PROC], %g5 + ldx [%g5 + P_MD + MD_UTRAP], %g5 + brz,pn %g5, skip_utrap + sllx %g2, PTR_SHIFT, %g6 + ldx [%g5 + %g6], %g5 + brz,pn %g5, skip_utrap + nop + + mov %g5, %g4 + + ! 0) save trap state to memory + ldx [PCPU_REG + PC_CURPCB], %g6 + rdpr %tstate, %g5 + stx %g5, [%g6 + PCB_PAD] + rdpr %tpc, %g5 + stx %g5, [%g6 + PCB_PAD + 8] + rdpr %tnpc, %g5 + stx %g5, [%g6 + PCB_PAD + 16] + stx %g2, [%g6 + PCB_PAD + 24] + + wrpr %g4, %tnpc + done +skip_utrap: + #ifdef notyet /* we need to determine from the hardware the number of register windows */ sethi %hi(nwin_minus_one), %g5 @@ -1387,29 +1446,12 @@ #else mov nwin_minus_one, %g5 #endif - GET_PCB(%g6) + ldx [PCPU_REG + PC_CURPCB], %g6 wrpr %g0, %g5, %cleanwin ldx [%g6 + PCB_KSTACK], %g6 sub %g6, TF_SIZEOF, %g6 -#ifdef DEBUG_KSTACK - mov %o0, %g5 - mov %o3, %l0 - mov %o4, %l1 - mov %o5, %l2 - mov %o6, %l3 - mov %o7, %l4 - mov 0x10, %o0 - mov %g6, %o1 - ta TTRACE_ADDENTRY - mov %g5, %o0 - mov %l0, %o3 - mov %l1, %o4 - mov %l2, %o5 - mov %l3, %o6 - mov %l4, %o7 -#endif + save %g6, 0, %sp - rdpr %canrestore, %l0 rdpr %wstate, %l1 wrpr %g0, 0, %canrestore @@ -1456,21 +1498,25 @@ ! brlz,pt %g4, 1f nop +#if 0 #ifdef PMAP_DEBUG rdpr %pil, %l0 cmp %g4, %l0 - bge,pt %xcc, 0f + bge,pt %xcc, 10f nop call panic -0: +10: +#endif #endif - wrpr %g0, %g4, %pil 1: wrpr %g0, %g6, %tnpc + + ! save g7 before it can be overwritten by PCPU when returning from an interrupt wrpr %g0, 0, %gl - stx %g7, [%l7 + TF_G7] ! save g7 before it can be overwritten by PCPU when returning from an interrupt + stx %g7, [%l7 + TF_G7] wrpr %g0, 1, %gl + rdpr %cwp, %l0 set TSTATE_KERNEL, %l1 wrpr %l1, %l0, %tstate @@ -1722,7 +1768,11 @@ RESTORE_TRAPWIN(PCPU_REG, %g1, 14, 15) - mov %g3, %g2 ! trap type + ! convert hardware trap type to kernel trap type + set trap_conversion, %g2 + sllx %g3, INT_SHIFT, %g3 + ld [%g2 + %g3], %g2 + sethi %hi(trap), %g1 or %g6, %g5, %g3 ! trap data sub %g0, 1, %g4 ! pil info @@ -1732,13 +1782,13 @@ tsb_miss_found: wr %g0, %l3, %asi - cmp %g3, T_DATA_MISS ! TSB data miss + cmp %g3, TT_DATA_MISS ! TSB data miss be,pt %xcc, 9f or %l7, VTD_REF, %l7 ! set referenced unconditionally - cmp %g3, T_INSTRUCTION_MISS ! TSB instruction miss + cmp %g3, TT_INSTRUCTION_MISS ! TSB instruction miss be,pt %xcc, 9f nop - cmp %g3, T_DATA_PROTECTION ! protection fault + cmp %g3, TT_DATA_PROTECTION ! protection fault bne,pn %xcc, unsupported_fault_trap ! we don't handle any other fault types currently nop andcc %l7, VTD_SW_W, %g0 ! write enabled? @@ -1798,7 +1848,7 @@ RESTORE_TRAPWIN(PCPU_REG, %g1, 13, 16) upgrade_demap: rdpr %tt, %g3 - cmp %g3, T_DATA_PROTECTION + cmp %g3, TT_DATA_PROTECTION beq,pn %xcc, demap_begin nop retry ==== //depot/projects/dtrace/src/sys/sun4v/sun4v/trap.c#12 (text+ko) ==== @@ -37,7 +37,7 @@ * * from: @(#)trap.c 7.4 (Berkeley) 5/13/91 * from: FreeBSD: src/sys/i386/i386/trap.c,v 1.197 2001/07/19 - * $FreeBSD: src/sys/sun4v/sun4v/trap.c,v 1.2 2006/10/17 03:53:38 jb Exp $ + * $FreeBSD: src/sys/sun4v/sun4v/trap.c,v 1.3 2006/11/03 23:41:53 kmacy Exp $ */ #include "opt_ddb.h" @@ -132,7 +132,7 @@ extern char *syscallnames[]; -static int trap_conversion[256]; +int trap_conversion[256]; const char *trap_msg[] = { "reserved", @@ -226,8 +226,7 @@ SIGILL, /* trap instruction 29 */ SIGILL, /* trap instruction 30 */ SIGILL, /* trap instruction 31 */ - SIGSEGV, /* floating point not implemented */ - /* should be SIGFPE but other signals currently cause problems */ + SIGFPE, /* floating point error */ SIGSEGV, /* fast data access mmu miss */ -1, /* interrupt */ -1, /* physical address watchpoint */ @@ -255,6 +254,7 @@ &debugger_on_signal, 0, ""); #endif + void trap_init(void) { @@ -267,15 +267,20 @@ init_mondo_queue(); OF_set_mmfsa_traptable(&tl0_base, mmfsa); - for (i = 0; i < 128; i++) - trap_conversion[i] = i; - for (i = 128; i < 256; i++) + for (i = 0; i < 256; i++) trap_conversion[i] = 0; - trap_conversion[0x31] = 35; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Nov 4 00:00:14 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BAEAF16A412; Sat, 4 Nov 2006 00:00:14 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 814D316A407 for ; Sat, 4 Nov 2006 00:00:14 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 19CE143D46 for ; Sat, 4 Nov 2006 00:00:14 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA400DC0028280 for ; Sat, 4 Nov 2006 00:00:13 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA400DlV028277 for perforce@freebsd.org; Sat, 4 Nov 2006 00:00:13 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 00:00:13 GMT Message-Id: <200611040000.kA400DlV028277@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109171 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 00:00:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=109171 Change 109171 by jb@jb_freebsd8 on 2006/11/03 23:59:23 IFC -i Affected files ... .. //depot/projects/dtrace/src/tools/build/options/WITHOUT_CDDL#3 integrate Differences ... ==== //depot/projects/dtrace/src/tools/build/options/WITHOUT_CDDL#3 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Sat Nov 4 00:18:43 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2EE8C16A49E; Sat, 4 Nov 2006 00:18:43 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 B959F16A492 for ; Sat, 4 Nov 2006 00:18:42 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0361B43D69 for ; Sat, 4 Nov 2006 00:18:37 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA40Ib1w032644 for ; Sat, 4 Nov 2006 00:18:37 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA40Ibnv032641 for perforce@freebsd.org; Sat, 4 Nov 2006 00:18:37 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 00:18:37 GMT Message-Id: <200611040018.kA40Ibnv032641@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109172 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 00:18:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=109172 Change 109172 by jb@jb_freebsd8 on 2006/11/04 00:17:39 Reset to match current. Affected files ... .. //depot/projects/dtrace/src/sys/dev/em/README#5 edit Differences ... ==== //depot/projects/dtrace/src/sys/dev/em/README#5 (text+ko) ==== @@ -1,9 +1,8 @@ -//depot/projects/dtrace/src/sys/dev/em/README#2 - integrate change 100573 (text+ko) -$FreeBSD: src/sys/dev/em/README,v 1.12 2006/04/06 17:09:02 glebius Exp $ +$FreeBSD: src/sys/dev/em/README,v 1.13 2006/08/03 09:20:11 glebius Exp $ FreeBSD* Driver for the Intel(R) PRO/1000 Family of Adapters ============================================================ -January 4, 2006 +May 2, 2006 Contents @@ -23,8 +22,7 @@ ======== This file describes the FreeBSD* driver for the Intel(R) PRO/1000 Family of -Adapters. This driver has been developed for use with FreeBSD, Release 4.11 -and greater and Release 5.4. +Adapters. This driver has been developed for use with FreeBSD, Release 6.x. For questions related to hardware requirements, refer to the documentation supplied with your Intel PRO/1000 adapter. All hardware requirements listed @@ -46,7 +44,8 @@ NOTE: Mobile adapters are not fully supported. - +NOTE: The Intel(R) 82562v 10/100 Network Connection only provides 10/100 +support. Building and Installation ========================= @@ -93,14 +92,14 @@ cp Makefile.kernel /usr/src/sys/modules/em/Makefile - Edit the /usr/src/sys/conf/files.i386 file, and add the following lines only if + Edit the /usr/src/sys/conf/files file, and add the following lines only if they don't already exist: dev/em/if_em.c optional em dev/em/if_em_hw.c optional em - Remove the following lines from the /usr/src/sys/conf/files.i386 file, + Remove the following lines from the /usr/src/sys/conf/files file, if they exist: dev/em/if_em_fxhw.c optional em @@ -231,6 +230,13 @@ - Using Jumbo Frames at 10 or 100 Mbps may result in poor performance or loss of link. + - The following adapters do not support Jumbo Frames: + Intel(R) 82562V 10/100 Network Connection + Intel(R) 82566DM Gigabit Network Connection + Intel(R) 82566DC Gigabit Network Connection + Intel(R) 82566MM Gigabit Network Connection + Intel(R) 82566MC Gigabit Network Connection + VLANs ----- From owner-p4-projects@FreeBSD.ORG Sat Nov 4 00:22:57 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BBBAF16A415; Sat, 4 Nov 2006 00:22:57 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 7E78B16A40F for ; Sat, 4 Nov 2006 00:22:57 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0914543D99 for ; Sat, 4 Nov 2006 00:22:43 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA40MhTD034024 for ; Sat, 4 Nov 2006 00:22:43 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA40MhlV034021 for perforce@freebsd.org; Sat, 4 Nov 2006 00:22:43 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 00:22:43 GMT Message-Id: <200611040022.kA40MhlV034021@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109173 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 00:22:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=109173 Change 109173 by jb@jb_freebsd8 on 2006/11/04 00:22:20 Reset to match current. I'll ask howardsu to create a //depot/user/howardsu/truss branch to help isolate the truss/ptrace changes for review rather than complicating the DTrace review with them. Affected files ... .. //depot/projects/dtrace/src/usr.bin/truss/powerpc-fbsd.c#6 edit Differences ... ==== //depot/projects/dtrace/src/usr.bin/truss/powerpc-fbsd.c#6 (text+ko) ==== @@ -41,7 +41,8 @@ */ #include -#include +#include +#include #include #include @@ -61,6 +62,7 @@ #include "syscall.h" #include "extern.h" +static int fd = -1; static int cpid = -1; #include "syscalls.h" @@ -110,18 +112,30 @@ void powerpc_syscall_entry(struct trussinfo *trussinfo, int nargs) { + char buf[32]; struct reg regs; void *args; int syscall_num; int i; unsigned int regargs; struct syscall *sc; - struct ptrace_io_desc iorequest; - cpid = trussinfo->tid; + if (fd == -1 || trussinfo->pid != cpid) { + sprintf(buf, "/proc/%d/regs", trussinfo->pid); + fd = open(buf, O_RDWR); + if (fd == -1) { + fprintf(trussinfo->outfile, "-- CANNOT OPEN REGISTERS --\n"); + return; + } + cpid = trussinfo->pid; + } clear_fsc(); - ptrace(PT_GETREGS, cpid, (caddr_t)®s, 0); + lseek(fd, 0L, 0); + if (read(fd, ®s, sizeof(regs)) != sizeof(regs)) { + fprintf(trussinfo->outfile, "-- CANNOT READ REGISTERS --\n"); + return; + } /* * FreeBSD has two special kinds of system call redirctions -- @@ -163,13 +177,8 @@ if (nargs > regargs) { memmove(&fsc.args[0], args, regargs * sizeof(fsc.args[0])); - - iorequest.piod_op = PIOD_READ_D; - iorequest.piod_offs = (void *)(regs.fixreg[1] + 8); - iorequest.piod_addr = &fsc.args[regargs]; - iorequest.piod_len = (nargs - regargs) * sizeof(fsc.args[0]); - ptrace(PT_IO, cpid, (caddr_t)&iorequest, 0); - if (iorequest.piod_len == 0) return; + lseek(Procfd, regs.fixreg[1] + 8, SEEK_SET); + read(Procfd, &fsc.args[regargs], (nargs - regargs) * sizeof(fsc.args[0])); } else { memmove(&fsc.args[0], args, nargs * sizeof(fsc.args[0])); } @@ -211,7 +220,7 @@ i < (fsc.nargs - 1) ? "," : ""); #endif if (sc && !(sc->args[i].type & OUT)) { - fsc.s_args[i] = print_arg(&sc->args[i], fsc.args, 0, trussinfo); + fsc.s_args[i] = print_arg(Procfd, &sc->args[i], fsc.args, 0, trussinfo); } } #if DEBUG @@ -266,15 +275,28 @@ long powerpc_syscall_exit(struct trussinfo *trussinfo, int syscall_num __unused) { + char buf[32]; struct reg regs; long retval; int i; int errorp; struct syscall *sc; - cpid = trussinfo->tid; - ptrace(PT_GETREGS, cpid, (caddr_t)®s, 0); + if (fd == -1 || trussinfo->pid != cpid) { + sprintf(buf, "/proc/%d/regs", trussinfo->pid); + fd = open(buf, O_RDONLY); + if (fd == -1) { + fprintf(trussinfo->outfile, "-- CANNOT OPEN REGISTERS --\n"); + return (-1); + } + cpid = trussinfo->pid; + } + lseek(fd, 0L, 0); + if (read(fd, ®s, sizeof(regs)) != sizeof(regs)) { + fprintf(trussinfo->outfile, "\n"); + return (-1); + } retval = regs.fixreg[3]; errorp = !!(regs.cr & 0x10000000); @@ -310,7 +332,7 @@ if (errorp) asprintf(&temp, "0x%lx", fsc.args[sc->args[i].offset]); else - temp = print_arg(&sc->args[i], fsc.args, retval, trussinfo); + temp = print_arg(Procfd, &sc->args[i], fsc.args, retval, trussinfo); fsc.s_args[i] = temp; } } From owner-p4-projects@FreeBSD.ORG Sat Nov 4 00:30:04 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1613116A415; Sat, 4 Nov 2006 00:30:04 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 E506D16A403 for ; Sat, 4 Nov 2006 00:30:03 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8AA4B43D83 for ; Sat, 4 Nov 2006 00:29:53 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA40TrYi034432 for ; Sat, 4 Nov 2006 00:29:53 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA40Trl6034429 for perforce@freebsd.org; Sat, 4 Nov 2006 00:29:53 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 00:29:53 GMT Message-Id: <200611040029.kA40Trl6034429@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109175 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 00:30:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=109175 Change 109175 by jb@jb_freebsd8 on 2006/11/04 00:29:34 Move the CPU_SNAPSHOT option to my sun4v project. It doesn't need to go in current. Affected files ... .. //depot/projects/dtrace/src/sys/conf/options.sun4v#6 edit .. //depot/user/jb/sun4v/src/sys/conf/options.sun4v#2 edit Differences ... ==== //depot/projects/dtrace/src/sys/conf/options.sun4v#6 (text+ko) ==== @@ -16,7 +16,5 @@ DTRACE opt_global.h -CPU_SNAPSHOT opt_cpu_snapshot.h - TRAP_TRACING opt_trap_trace.h TRAP_TRACE_ENTRIES opt_trap_trace.h ==== //depot/user/jb/sun4v/src/sys/conf/options.sun4v#2 (text+ko) ==== @@ -16,5 +16,7 @@ DTRACE opt_global.h +CPU_SNAPSHOT opt_cpu_snapshot.h + TRAP_TRACING opt_trap_trace.h TRAP_TRACE_ENTRIES opt_trap_trace.h From owner-p4-projects@FreeBSD.ORG Sat Nov 4 00:34:00 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2920816A510; Sat, 4 Nov 2006 00:34:00 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 F0DB016A503 for ; Sat, 4 Nov 2006 00:33:59 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1B2EA43D58 for ; Sat, 4 Nov 2006 00:33:59 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA40Xw1f035936 for ; Sat, 4 Nov 2006 00:33:58 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA40Xw6a035933 for perforce@freebsd.org; Sat, 4 Nov 2006 00:33:58 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 00:33:58 GMT Message-Id: <200611040033.kA40Xw6a035933@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109176 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 00:34:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=109176 Change 109176 by jb@jb_freebsd8 on 2006/11/04 00:33:09 Manual merge from current. Affected files ... .. //depot/projects/dtrace/src/sys/kern/kern_fork.c#11 edit Differences ... ==== //depot/projects/dtrace/src/sys/kern/kern_fork.c#11 (text+ko) ==== @@ -67,6 +67,7 @@ #ifdef KDTRACE #include #endif + #include #include @@ -207,6 +208,7 @@ struct filedesc_to_leader *fdtol; struct thread *td2; #ifdef KSE + struct ksegrp *kg2; #endif struct sigacts *newsigacts; int error; @@ -475,6 +477,7 @@ */ td2 = FIRST_THREAD_IN_PROC(p2); #ifdef KSE + kg2 = FIRST_KSEGRP_IN_PROC(p2); #endif /* Allocate and switch to an alternate kstack if specified. */ @@ -489,6 +492,8 @@ bzero(&td2->td_startzero, __rangeof(struct thread, td_startzero, td_endzero)); #ifdef KSE + bzero(&kg2->kg_startzero, + __rangeof(struct ksegrp, kg_startzero, kg_endzero)); #endif bcopy(&p1->p_startcopy, &p2->p_startcopy, @@ -496,6 +501,8 @@ bcopy(&td->td_startcopy, &td2->td_startcopy, __rangeof(struct thread, td_startcopy, td_endcopy)); #ifdef KSE + bcopy(&td->td_ksegrp->kg_startcopy, &kg2->kg_startcopy, + __rangeof(struct ksegrp, kg_startcopy, kg_endcopy)); #endif td2->td_sigstk = td->td_sigstk; From owner-p4-projects@FreeBSD.ORG Sat Nov 4 00:46:42 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B89F616A416; Sat, 4 Nov 2006 00:46:42 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 86BBA16A403 for ; Sat, 4 Nov 2006 00:46:42 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E4BAC43D5C for ; Sat, 4 Nov 2006 00:46:17 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA40kG6K037650 for ; Sat, 4 Nov 2006 00:46:16 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA40kFeM037647 for perforce@freebsd.org; Sat, 4 Nov 2006 00:46:15 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 00:46:15 GMT Message-Id: <200611040046.kA40kFeM037647@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109179 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 00:46:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=109179 Change 109179 by jb@jb_freebsd8 on 2006/11/04 00:45:54 IFC Affected files ... .. //depot/projects/dtrace/ports/GIDs#7 integrate .. //depot/projects/dtrace/ports/UIDs#8 integrate .. //depot/projects/dtrace/src/lib/libc/sparc64/sys/Makefile.inc#4 integrate .. //depot/projects/dtrace/src/lib/libc/sparc64/sys/__sparc_utrap_gen.S#4 integrate .. //depot/projects/dtrace/src/sbin/mdmfs/mdmfs.8#6 integrate .. //depot/projects/dtrace/src/sbin/mdmfs/mdmfs.c#4 integrate .. //depot/projects/dtrace/src/share/man/man4/aac.4#4 integrate Differences ... ==== //depot/projects/dtrace/ports/GIDs#7 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: ports/GIDs,v 1.13 2006/11/01 20:22:48 marcus Exp $ +$FreeBSD: ports/GIDs,v 1.14 2006/11/04 00:30:02 rafan Exp $ # Please keep this file sorted by GID! bind:*:53: rdfdb:*:55: @@ -59,6 +59,7 @@ moinmoin:*:192: sympa:*:200: dspam:*:202: +bs:*:220: _tor:*:256: _dns-proxy-tor:*:257: _trans-proxy-tor:*:258: ==== //depot/projects/dtrace/ports/UIDs#8 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: ports/UIDs,v 1.15 2006/11/01 20:06:03 alepulver Exp $ +$FreeBSD: ports/UIDs,v 1.16 2006/11/04 00:30:02 rafan Exp $ # Please keep this file sorted by UID! bind:*:53:53:Bind Sandbox:/:/sbin/nologin majordom:*:54:54:Majordomo Pseudo User:/usr/local/majordomo:/nonexistent @@ -71,6 +71,7 @@ privoxy:*:201:201:Privoxy proxy user:/nonexistent:/sbin/nologin dspam:*:202:202:Dspam:/nonexistent:/sbin/nologin shoutcast:*:210:210:Shoutcast sandbox:/nonexistent:/bin/sh +bs:*:220:220:Big Sister:/usr/local/bigsister:/bin/sh _tor:*:256:256:Tor anonymising router:/var/db/tor:/bin/sh _dns-proxy-tor:*:257:257:dns-proxy-tor user:/nonexistent:/sbin/nologin _trans-proxy-tor:*:258:258:dns-proxy-tor user:/nonexistent:/sbin/nologin ==== //depot/projects/dtrace/src/lib/libc/sparc64/sys/Makefile.inc#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libc/sparc64/sys/Makefile.inc,v 1.9 2003/08/11 07:14:07 bms Exp $ +# $FreeBSD: src/lib/libc/sparc64/sys/Makefile.inc,v 1.10 2006/11/03 23:43:18 kmacy Exp $ SRCS+= __sparc_sigtramp_setup.c \ __sparc_utrap.c \ @@ -11,6 +11,9 @@ sigcode.S CFLAGS+= -I${.CURDIR}/sparc64/fpu +.if ${MACHINE} == "sun4v" +CFLAGS+= -DSUN4V +.endif MDASM+= brk.S cerror.S exect.S pipe.S ptrace.S sbrk.S setlogin.S sigaction.S ==== //depot/projects/dtrace/src/lib/libc/sparc64/sys/__sparc_utrap_gen.S#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/sparc64/sys/__sparc_utrap_gen.S,v 1.4 2002/06/30 05:36:49 obrien Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/sparc64/sys/__sparc_utrap_gen.S,v 1.5 2006/11/03 23:43:18 kmacy Exp $"); .register %g2, #ignore .register %g3, #ignore @@ -38,6 +38,10 @@ #include "assym.s" ENTRY(__sparc_utrap_gen) +#ifdef SUN4V + save + ta %xcc, ST_FPEMU_CONTEXT +#endif sub %sp, UF_SIZEOF, %sp stx %o0, [%sp + SPOFF + CCFSZ + UF_TYPE] ==== //depot/projects/dtrace/src/sbin/mdmfs/mdmfs.8#6 (text+ko) ==== @@ -23,9 +23,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sbin/mdmfs/mdmfs.8,v 1.25 2006/10/21 16:02:42 ru Exp $ +.\" $FreeBSD: src/sbin/mdmfs/mdmfs.8,v 1.26 2006/11/03 12:02:24 ru Exp $ .\" -.Dd October 1, 2006 +.Dd November 3, 2006 .Dt MDMFS 8 .Os .Sh NAME @@ -56,26 +56,6 @@ .Op Fl w Ar user : Ns Ar group .Ar md-device .Ar mount-point -.Nm -.Fl C -.Op Fl lNU -.Op Fl a Ar maxcontig -.Op Fl b Ar block-size -.Op Fl c Ar cylinders -.Op Fl d Ar rotdelay -.Op Fl E Ar path-mdconfig -.Op Fl e Ar maxbpg -.Op Fl F Ar file -.Op Fl f Ar frag-size -.Op Fl i Ar bytes -.Op Fl m Ar percent-free -.Op Fl n Ar rotational-positions -.Op Fl O Ar optimization -.Op Fl o Ar mount-options -.Op Fl s Ar size -.Op Fl v Ar version -.Ar md-device -.Ar mount-point .Sh DESCRIPTION The .Nm @@ -134,12 +114,6 @@ option). .It Fl b Ar block-size The block size of the file system, in bytes. -.It Fl C -Enable full compatibility mode with -.Xr mount_mfs 8 . -See the -.Sx COMPATIBILITY -section for more information. .It Fl c Ar cylinders The number of cylinders per cylinder group in the file system. .It Fl D @@ -250,7 +224,7 @@ .Pq Dv MD_MALLOC . .It Fl U Enable soft-updates on the file system. -This is the default, even in compatibility mode, and is accepted only +This is the default, and is accepted only for compatibility. It is only really useful to negate the .Fl S @@ -337,19 +311,16 @@ .Sh COMPATIBILITY The .Nm -utility, while designed to be fully compatible with +utility, while designed to be compatible with .Xr mount_mfs 8 , can be useful by itself. Since .Xr mount_mfs 8 had some silly defaults, a -.Dq full compatibility +.Dq compatibility mode is provided for the case where bug-to-bug compatibility is desired. .Pp -Full compatibility is enabled with the -.Fl C -flag, -or by starting +Compatibility is enabled by starting .Nm with the name .Li mount_mfs @@ -357,17 +328,14 @@ .Li mfs (as returned by .Xr getprogname 3 ) . -In this mode, only the options which would be accepted by -.Xr mount_mfs 8 -are valid. -Furthermore, the following behavior, as done by +In this mode, the following behavior, as done by .Xr mount_mfs 8 , is duplicated: .Bl -bullet -offset indent .It The file mode of .Ar mount-point -is set to +is set by default to .Li 01777 as if .Fl p Ar 1777 ==== //depot/projects/dtrace/src/sbin/mdmfs/mdmfs.c#4 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sbin/mdmfs/mdmfs.c,v 1.27 2006/02/16 21:28:54 sobomax Exp $"); +__FBSDID("$FreeBSD: src/sbin/mdmfs/mdmfs.c,v 1.28 2006/11/03 12:02:24 ru Exp $"); #include #include @@ -61,7 +61,6 @@ bool mi_have_mode; }; -static bool compat; /* Full compatibility with mount_mfs? */ static bool debug; /* Emit debugging information? */ static bool loudsubs; /* Suppress output from helper programs? */ static bool norun; /* Actually run the helper programs? */ @@ -119,8 +118,11 @@ /* If we were started as mount_mfs or mfs, imply -C. */ if (strcmp(getprogname(), "mount_mfs") == 0 || - strcmp(getprogname(), "mfs") == 0) - compat = true; + strcmp(getprogname(), "mfs") == 0) { + /* Make compatibility assumptions. */ + mi.mi_mode = 01777; + mi.mi_have_mode = true; + } while ((ch = getopt(argc, argv, "a:b:Cc:Dd:E:e:F:f:hi:LlMm:Nn:O:o:Pp:Ss:t:Uv:w:X")) != -1) @@ -132,16 +134,12 @@ argappend(&newfs_arg, "-b %s", optarg); break; case 'C': - if (compat) - usage(); - compat = true; + /* Ignored for compatibility. */ break; case 'c': argappend(&newfs_arg, "-c %s", optarg); break; case 'D': - if (compat) - usage(); detach = false; break; case 'd': @@ -170,8 +168,6 @@ argappend(&newfs_arg, "-i %s", optarg); break; case 'L': - if (compat) - usage(); loudsubs = true; break; case 'l': @@ -187,8 +183,6 @@ argappend(&newfs_arg, "-m %s", optarg); break; case 'N': - if (compat) - usage(); norun = true; break; case 'n': @@ -201,13 +195,9 @@ argappend(&mount_arg, "-o %s", optarg); break; case 'P': - if (compat) - usage(); newfs = false; break; case 'p': - if (compat) - usage(); if ((set = setmode(optarg)) == NULL) usage(); mi.mi_mode = getmode(set, S_IRWXU | S_IRWXG | S_IRWXO); @@ -215,8 +205,6 @@ free(set); break; case 'S': - if (compat) - usage(); softdep = false; break; case 's': @@ -229,13 +217,9 @@ argappend(&newfs_arg, "-O %s", optarg); break; case 'w': - if (compat) - usage(); extract_ugid(optarg, &mi); break; case 'X': - if (compat) - usage(); debug = true; break; default: @@ -246,12 +230,6 @@ if (argc < 2) usage(); - /* Make compatibility assumptions. */ - if (compat) { - mi.mi_mode = 01777; - mi.mi_have_mode = true; - } - /* Derive 'unit' (global). */ unitstr = argv[0]; if (strncmp(unitstr, "/dev/", 5) == 0) @@ -671,23 +649,12 @@ static void usage(void) { - const char *name; - if (compat) - name = getprogname(); - else - name = "mdmfs"; - if (!compat) - fprintf(stderr, + fprintf(stderr, "usage: %s [-DLlMNPSUX] [-a maxcontig] [-b block-size] [-c cylinders]\n" "\t[-d rotdelay] [-E path-mdconfig] [-e maxbpg] [-F file] [-f frag-size]\n" "\t[-i bytes] [-m percent-free] [-n rotational-positions] [-O optimization]\n" "\t[-o mount-options] [-p permissions] [-s size] [-v version]\n" -"\t[-w user:group] md-device mount-point\n", name); - fprintf(stderr, -"usage: %s -C [-lNU] [-a maxcontig] [-b block-size] [-c cylinders]\n" -"\t[-d rotdelay] [-E path-mdconfig] [-e maxbpg] [-F file] [-f frag-size]\n" -"\t[-i bytes] [-m percent-free] [-n rotational-positions] [-O optimization]\n" -"\t[-o mount-options] [-s size] [-v version] md-device mount-point\n", name); +"\t[-w user:group] md-device mount-point\n", getprogname()); exit(1); } ==== //depot/projects/dtrace/src/share/man/man4/aac.4#4 (text+ko) ==== @@ -22,8 +22,8 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/aac.4,v 1.33 2006/06/18 07:33:51 brueffer Exp $ -.Dd June 17, 2006 +.\" $FreeBSD: src/share/man/man4/aac.4,v 1.34 2006/11/03 06:50:03 brueffer Exp $ +.Dd November 3, 2006 .Dt AAC 4 .Os .Sh NAME @@ -181,6 +181,8 @@ .It IBM ServeRAID 8i .It +IBM ServeRAID 8k +.It ICP ICP5085BR SAS RAID .It ICP ICP9085LI SAS RAID From owner-p4-projects@FreeBSD.ORG Sat Nov 4 01:21:13 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B4B5D16A524; Sat, 4 Nov 2006 01:21:09 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 7E97116A4D4 for ; Sat, 4 Nov 2006 01:12:14 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 70EDF43D78 for ; Sat, 4 Nov 2006 01:11:57 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA41BlKI046403 for ; Sat, 4 Nov 2006 01:11:47 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA41Bl8m046400 for perforce@freebsd.org; Sat, 4 Nov 2006 01:11:47 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 01:11:47 GMT Message-Id: <200611040111.kA41Bl8m046400@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109181 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 01:21:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=109181 Change 109181 by jb@jb_freebsd8 on 2006/11/04 01:11:21 Not required. Affected files ... .. //depot/projects/dtrace/src/sys/sparc64/include/hypervisor_api.h#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Sat Nov 4 01:21:14 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4B29916A523; Sat, 4 Nov 2006 01:21:10 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 6026E16A4D0 for ; Sat, 4 Nov 2006 01:16:56 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2AC1243D6E for ; Sat, 4 Nov 2006 01:16:56 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA41GsW4046474 for ; Sat, 4 Nov 2006 01:16:54 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA41GslI046471 for perforce@freebsd.org; Sat, 4 Nov 2006 01:16:54 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 01:16:54 GMT Message-Id: <200611040116.kA41GslI046471@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109182 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 01:21:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=109182 Change 109182 by jb@jb_freebsd8 on 2006/11/04 01:16:23 Manual merge from current. Affected files ... .. //depot/projects/dtrace/src/sys/sun4v/sun4v/trap.c#13 edit Differences ... ==== //depot/projects/dtrace/src/sys/sun4v/sun4v/trap.c#13 (text+ko) ==== @@ -473,16 +473,11 @@ va = TLB_TAR_VA(data); #if 0 - if (ctx == 0 && (tf->tf_tpc < (uint64_t)copy_nofault_begin || tf->tf_tpc > (uint64_t)fs_nofault_end)) { - spinlock_enter(); - DELAY(10000*curcpu); - printf("trap_pfault(type=%ld, data=0x%lx, tpc=0x%lx, ctx=0x%lx)\n", - type, data, tf->tf_tpc, ctx); - spinlock_exit(); - } + printf("trap_pfault(type=%ld, data=0x%lx, tpc=0x%lx, ctx=0x%lx)\n", + type, data, tf->tf_tpc, ctx); CTR4(KTR_TRAP, "trap_pfault: td=%p pm_ctx=%#lx va=%#lx ctx=%#lx", - td, p->p_vmspace->vm_pmap.pm_context, va, ctx); + td, p->p_vmspace->vm_pmap.pm_context[PCPU_GET(cpuid)], va, ctx); #endif if (type == T_DATA_PROTECTION) { @@ -651,6 +646,10 @@ CTR5(KTR_SYSC, "syscall: td=%p %s(%#lx, %#lx, %#lx)", td, syscallnames[code], argp[0], argp[1], argp[2]); + /* + * Try to run the syscall without the MP lock if the syscall + * is MP safe. + */ #ifdef KTRACE if (KTRPOINT(td, KTR_SYSCALL)) ktrsyscall(code, narg, argp); From owner-p4-projects@FreeBSD.ORG Sat Nov 4 01:21:15 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A356F16A569; Sat, 4 Nov 2006 01:21:10 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 0940116A517 for ; Sat, 4 Nov 2006 01:20:04 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B41FB43D73 for ; Sat, 4 Nov 2006 01:19:58 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA41Jwk4046685 for ; Sat, 4 Nov 2006 01:19:58 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA41JwCc046679 for perforce@freebsd.org; Sat, 4 Nov 2006 01:19:58 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 01:19:58 GMT Message-Id: <200611040119.kA41JwCc046679@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109183 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 01:21:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=109183 Change 109183 by jb@jb_freebsd8 on 2006/11/04 01:19:57 Move my cpu snapshot stuff to the sun4v branch. Affected files ... .. //depot/projects/dtrace/src/sys/sun4v/include/cpu_snapshot.h#4 delete .. //depot/projects/dtrace/src/sys/sun4v/include/cpu_snapshot_save.h#2 delete .. //depot/projects/dtrace/src/sys/sun4v/sun4v/cpu_snapshot.c#4 delete .. //depot/projects/dtrace/src/sys/sun4v/sun4v/cpu_snapshot_save.S#4 delete .. //depot/user/jb/sun4v/src/sys/sun4v/include/cpu_snapshot.h#1 add .. //depot/user/jb/sun4v/src/sys/sun4v/include/cpu_snapshot_save.h#1 add .. //depot/user/jb/sun4v/src/sys/sun4v/sun4v/cpu_snapshot.c#1 add .. //depot/user/jb/sun4v/src/sys/sun4v/sun4v/cpu_snapshot_save.S#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sat Nov 4 01:23:03 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8C7B716A4B3; Sat, 4 Nov 2006 01:23:03 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 4990616A49E for ; Sat, 4 Nov 2006 01:23:03 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0EA8443D72 for ; Sat, 4 Nov 2006 01:23:03 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA41N2su050419 for ; Sat, 4 Nov 2006 01:23:02 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA41N2SR050415 for perforce@freebsd.org; Sat, 4 Nov 2006 01:23:02 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 01:23:02 GMT Message-Id: <200611040123.kA41N2SR050415@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109184 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 01:23:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=109184 Change 109184 by jb@jb_freebsd8 on 2006/11/04 01:22:29 Reset to match current. Affected files ... .. //depot/projects/dtrace/src/sys/i386/i386/genassym.c#6 edit Differences ... ==== //depot/projects/dtrace/src/sys/i386/i386/genassym.c#6 (text+ko) ==== @@ -82,7 +82,6 @@ ASSYM(TD_FLAGS, offsetof(struct thread, td_flags)); ASSYM(TD_PCB, offsetof(struct thread, td_pcb)); -ASSYM(TD_PFLAGS, offsetof(struct thread, td_pflags)); ASSYM(TD_PROC, offsetof(struct thread, td_proc)); ASSYM(TD_MD, offsetof(struct thread, td_md)); @@ -91,7 +90,6 @@ ASSYM(TDF_ASTPENDING, TDF_ASTPENDING); ASSYM(TDF_NEEDRESCHED, TDF_NEEDRESCHED); -ASSYM(TDP_ASTPENDING, TDP_ASTPENDING); ASSYM(V_TRAP, offsetof(struct vmmeter, v_trap)); ASSYM(V_SYSCALL, offsetof(struct vmmeter, v_syscall)); From owner-p4-projects@FreeBSD.ORG Sat Nov 4 01:24:05 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 71C8516A47C; Sat, 4 Nov 2006 01:24:05 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 4FCFC16A403 for ; Sat, 4 Nov 2006 01:24:05 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0615143D6E for ; Sat, 4 Nov 2006 01:24:05 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA41O42m050738 for ; Sat, 4 Nov 2006 01:24:04 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA41O4kY050735 for perforce@freebsd.org; Sat, 4 Nov 2006 01:24:04 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 01:24:04 GMT Message-Id: <200611040124.kA41O4kY050735@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109185 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 01:24:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=109185 Change 109185 by jb@jb_freebsd8 on 2006/11/04 01:23:33 Reset to match current. Affected files ... .. //depot/projects/dtrace/src/sys/conf/options.sun4v#7 edit Differences ... ==== //depot/projects/dtrace/src/sys/conf/options.sun4v#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.sparc64,v 1.13 2005/06/10 20:58:59 marius Exp $ +# $FreeBSD: src/sys/conf/options.sun4v,v 1.1 2006/10/05 06:14:24 kmacy Exp $ SUN4V opt_global.h From owner-p4-projects@FreeBSD.ORG Sat Nov 4 01:25:16 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8E6DB16A4C8; Sat, 4 Nov 2006 01:25:16 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 48FD316A4A0 for ; Sat, 4 Nov 2006 01:25:16 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3BEE743D7F for ; Sat, 4 Nov 2006 01:25:07 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA41P7cc050802 for ; Sat, 4 Nov 2006 01:25:07 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA41P7mT050799 for perforce@freebsd.org; Sat, 4 Nov 2006 01:25:07 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 01:25:07 GMT Message-Id: <200611040125.kA41P7mT050799@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109186 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 01:25:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=109186 Change 109186 by jb@jb_freebsd8 on 2006/11/04 01:24:49 Reset to match current. Affected files ... .. //depot/projects/dtrace/src/share/man/man4/enc.4#5 edit Differences ... ==== //depot/projects/dtrace/src/share/man/man4/enc.4#5 (text+ko) ==== @@ -29,7 +29,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$ +.\" $FreeBSD: src/share/man/man4/enc.4,v 1.3 2006/09/30 15:14:48 ru Exp $ .\" .Dd June 16, 2006 .Dt ENC 4 From owner-p4-projects@FreeBSD.ORG Sat Nov 4 01:26:15 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0944016A4DF; Sat, 4 Nov 2006 01:26:15 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 C449316A4C8 for ; Sat, 4 Nov 2006 01:26:14 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5BEDB43D76 for ; Sat, 4 Nov 2006 01:26:09 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA41Q9Tm050870 for ; Sat, 4 Nov 2006 01:26:09 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA41Q9PR050867 for perforce@freebsd.org; Sat, 4 Nov 2006 01:26:09 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 01:26:09 GMT Message-Id: <200611040126.kA41Q9PR050867@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109187 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 01:26:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=109187 Change 109187 by jb@jb_freebsd8 on 2006/11/04 01:25:57 Reset to match current. Affected files ... .. //depot/projects/dtrace/src/sys/arm/arm/vm_machdep.c#8 edit Differences ... ==== //depot/projects/dtrace/src/sys/arm/arm/vm_machdep.c#8 (text+ko) ==== @@ -266,7 +266,8 @@ * Initialize machine state (pcb and trap frame) for a new thread about to * upcall. Put enough state in the new thread's PCB to get it to go back * userret(), where we can intercept it again to set the return (upcall) - * Address and stack, along with those from upcals that are from other sources. + * Address and stack, along with those from upcals that are from other sources + * such as those generated in thread_userret() itself. */ void cpu_set_upcall(struct thread *td, struct thread *td0) @@ -292,8 +293,9 @@ } /* - * Modify the machine state created by cpu_set_upcall() to arrange - * for the new thread to make a specific call as its first act. + * Set that machine state for performing an upcall that has to + * be done in thread_userret() so that those upcalls generated + * in thread_userret() itself can be done as well. */ void cpu_set_upcall_kse(struct thread *td, void (*entry)(void *), void *arg, From owner-p4-projects@FreeBSD.ORG Sat Nov 4 01:29:14 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5562516A4CA; Sat, 4 Nov 2006 01:29:14 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 266C016A4C2 for ; Sat, 4 Nov 2006 01:29:14 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DB27543D6E for ; Sat, 4 Nov 2006 01:29:13 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA41TDAu051167 for ; Sat, 4 Nov 2006 01:29:13 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA41TDA4051164 for perforce@freebsd.org; Sat, 4 Nov 2006 01:29:13 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 01:29:13 GMT Message-Id: <200611040129.kA41TDA4051164@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109188 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 01:29:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=109188 Change 109188 by jb@jb_freebsd8 on 2006/11/04 01:28:41 Reset to match current. Affected files ... .. //depot/projects/dtrace/src/sys/boot/ofw/libofw/openfirm.c#5 edit .. //depot/projects/dtrace/src/sys/boot/ofw/libofw/openfirm.h#4 edit .. //depot/projects/dtrace/src/sys/boot/ofw/libofw/openfirm_mmu.c#3 edit .. //depot/projects/dtrace/src/sys/boot/sparc64/loader/hcall.S#3 edit Differences ... ==== //depot/projects/dtrace/src/sys/boot/ofw/libofw/openfirm.c#5 (text+ko) ==== @@ -747,9 +747,6 @@ args.ihandle = mmu; args.align = align; args.size = size; - args.ihandle = mmu; - args.align = align; - args.size = size; args.virt = virt; if (openfirmware(&args) == -1) ==== //depot/projects/dtrace/src/sys/boot/ofw/libofw/openfirm.h#4 (text+ko) ==== @@ -126,12 +126,4 @@ /* Time function */ int OF_milliseconds(void); - -/* MMU functions */ -int OF_translate_virt(vm_offset_t va, int *valid, vm_paddr_t *physaddr, int *mode); -vm_paddr_t OF_vtophys(vm_offset_t va); -int OF_map_phys(int mode, size_t size, vm_offset_t va, uint64_t pa); - - - #endif /* _OPENFIRM_H_ */ ==== //depot/projects/dtrace/src/sys/boot/ofw/libofw/openfirm_mmu.c#3 (text+ko) ==== @@ -1,4 +1,6 @@ /* + * Copyright (c) 2006 Kip Macy + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -9,20 +11,23 @@ * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * - * THIS SOFTWARE IS PROVIDED BY Benno Rice ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ +#include +__FBSDID("$FreeBSD: src/sys/boot/ofw/libofw/openfirm_mmu.c,v 1.1 2006/10/09 07:00:59 kmacy Exp $"); + #include #include ==== //depot/projects/dtrace/src/sys/boot/sparc64/loader/hcall.S#3 (text+ko) ==== @@ -1,32 +1,8 @@ -/* - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. - * - * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * When distributing Covered Code, include this CDDL HEADER in each - * file and include the License file at usr/src/OPENSOLARIS.LICENSE. - * If applicable, add the following below this CDDL HEADER, with the - * fields enclosed by brackets "[]" replaced with your own identifying - * information: Portions Copyright [yyyy] [name of copyright owner] - * - * CDDL HEADER END +/* + * $FreeBSD: src/sys/boot/sparc64/loader/hcall.S,v 1.1 2006/10/09 04:43:07 kmacy Exp $ */ + /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. - * Use is subject to license terms. - */ - -#pragma ident "@(#)hcall.s 1.10 05/09/28 SMI" - -/* * Hypervisor calls */ #define LOCORE @@ -36,364 +12,6 @@ #include #include #include - -#if defined(lint) -#error lint -#endif -#if defined(__lint) -#error __lint -#endif -#if defined(lint) || defined(__lint) - -/*ARGSUSED*/ -int64_t -hv_cnputchar(uint8_t ch) -{ return (0); } - -/*ARGSUSED*/ -int64_t -hv_cngetchar(uint8_t *ch) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hv_tod_get(uint64_t *seconds) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hv_tod_set(uint64_t seconds) -{ return (0);} - -/*ARGSUSED*/ -uint64_t -hv_mmu_map_perm_addr(void *vaddr, int ctx, uint64_t tte, int flags) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hv_mmu_unmap_perm_addr(void *vaddr, int ctx, int flags) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hv_set_ctx0(uint64_t ntsb_descriptor, uint64_t desc_ra) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hv_set_ctxnon0(uint64_t ntsb_descriptor, uint64_t desc_ra) -{ return (0); } - -#ifdef SET_MMU_STATS -/*ARGSUSED*/ -uint64_t -hv_mmu_set_stat_area(uint64_t rstatarea, uint64_t size) -{ return (0); } -#endif /* SET_MMU_STATS */ - -/*ARGSUSED*/ -uint64_t -hv_cpu_qconf(int queue, uint64_t paddr, int size) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_config_get(devhandle_t dev_hdl, pci_device_t bdf, - pci_config_offset_t off, pci_config_size_t size, pci_cfg_data_t *data_p) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_config_put(devhandle_t dev_hdl, pci_device_t bdf, - pci_config_offset_t off, pci_config_size_t size, pci_cfg_data_t data) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_intr_devino_to_sysino(uint64_t dev_hdl, uint32_t devino, uint64_t *sysino) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_intr_getvalid(uint64_t sysino, int *intr_valid_state) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_intr_setvalid(uint64_t sysino, int intr_valid_state) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_intr_getstate(uint64_t sysino, int *intr_state) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_intr_setstate(uint64_t sysino, int intr_state) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_intr_gettarget(uint64_t sysino, uint32_t *cpuid) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_intr_settarget(uint64_t sysino, uint32_t cpuid) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_iommu_map(devhandle_t dev_hdl, tsbid_t tsbid, - pages_t pages, io_attributes_t io_attributes, - io_page_list_t *io_page_list_p, pages_t *pages_mapped) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_iommu_demap(devhandle_t dev_hdl, tsbid_t tsbid, - pages_t pages, pages_t *pages_demapped) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_iommu_getmap(devhandle_t dev_hdl, tsbid_t tsbid, - io_attributes_t *attributes_p, r_addr_t *r_addr_p) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_iommu_getbypass(devhandle_t dev_hdl, r_addr_t ra, - io_attributes_t io_attributes, io_addr_t *io_addr_p) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_peek(devhandle_t dev_hdl, r_addr_t ra, size_t size, uint32_t *status, - uint64_t *data_p) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_poke(devhandle_t dev_hdl, r_addr_t ra, uint64_t sizes, uint64_t data, - r_addr_t ra2, uint32_t *rdbk_status) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_dma_sync(devhandle_t dev_hdl, r_addr_t ra, size_t num_bytes, - int io_sync_direction, size_t *bytes_synched) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_msiq_conf(devhandle_t dev_hdl, msiqid_t msiq_id, r_addr_t ra, - uint_t msiq_rec_cnt) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_msiq_info(devhandle_t dev_hdl, msiqid_t msiq_id, r_addr_t *r_addr_p, - uint_t *msiq_rec_cnt_p) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_msiq_getvalid(devhandle_t dev_hdl, msiqid_t msiq_id, - pci_msiq_valid_state_t *msiq_valid_state) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_msiq_setvalid(devhandle_t dev_hdl, msiqid_t msiq_id, - pci_msiq_valid_state_t msiq_valid_state) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_msiq_getstate(devhandle_t dev_hdl, msiqid_t msiq_id, - pci_msiq_state_t *msiq_state) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_msiq_setstate(devhandle_t dev_hdl, msiqid_t msiq_id, - pci_msiq_state_t msiq_state) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_msiq_gethead(devhandle_t dev_hdl, msiqid_t msiq_id, - msiqhead_t *msiq_head) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_msiq_sethead(devhandle_t dev_hdl, msiqid_t msiq_id, - msiqhead_t msiq_head) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_msiq_gettail(devhandle_t dev_hdl, msiqid_t msiq_id, - msiqtail_t *msiq_tail) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_msi_getmsiq(devhandle_t dev_hdl, msinum_t msi_num, - msiqid_t *msiq_id) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_msi_setmsiq(devhandle_t dev_hdl, msinum_t msi_num, - msiqid_t msiq_id, msi_type_t msitype) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_msi_getvalid(devhandle_t dev_hdl, msinum_t msi_num, - pci_msi_valid_state_t *msi_valid_state) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_msi_setvalid(devhandle_t dev_hdl, msinum_t msi_num, - pci_msi_valid_state_t msi_valid_state) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_msi_getstate(devhandle_t dev_hdl, msinum_t msi_num, - pci_msi_state_t *msi_state) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_msi_setstate(devhandle_t dev_hdl, msinum_t msi_num, - pci_msi_state_t msi_state) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_msg_getmsiq(devhandle_t dev_hdl, pcie_msg_type_t msg_type, - msiqid_t *msiq_id) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_msg_setmsiq(devhandle_t dev_hdl, pcie_msg_type_t msg_type, - msiqid_t msiq_id) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_msg_getvalid(devhandle_t dev_hdl, pcie_msg_type_t msg_type, - pcie_msg_valid_state_t *msg_valid_state) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hvio_msg_setvalid(devhandle_t dev_hdl, pcie_msg_type_t msg_type, - pcie_msg_valid_state_t msg_valid_state) -{ return (0); } - -uint64_t -hv_cpu_yield(void) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hv_service_recv(uint64_t s_id, uint64_t buf_pa, uint64_t size, - uint64_t *recv_bytes) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hv_service_send(uint64_t s_id, uint64_t buf_pa, uint64_t size, - uint64_t *send_bytes) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hv_service_getstatus(uint64_t s_id, uint64_t *vreg) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hv_service_setstatus(uint64_t s_id, uint64_t bits) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hv_service_clrstatus(uint64_t s_id, uint64_t bits) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hv_cpu_state(uint64_t cpuid, uint64_t *cpu_state) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hv_dump_buf_update(uint64_t paddr, uint64_t size, uint64_t *minsize) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hv_mem_scrub(uint64_t real_addr, uint64_t length, uint64_t *scrubbed_len) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hv_mem_sync(uint64_t real_addr, uint64_t length, uint64_t *flushed_len) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hv_ttrace_buf_conf(uint64_t paddr, uint64_t size, uint64_t *size1) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hv_ttrace_buf_info(uint64_t *paddr, uint64_t *size) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hv_ttrace_enable(uint64_t enable, uint64_t *prev_enable) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hv_ttrace_freeze(uint64_t freeze, uint64_t *prev_freeze) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hv_mach_desc(uint64_t buffer_ra, uint64_t *buffer_sizep) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hv_ncs_request(int cmd, uint64_t realaddr, size_t sz) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hv_ra2pa(uint64_t ra) -{ return (0); } - -/*ARGSUSED*/ -uint64_t -hv_hpriv(void *func, uint64_t arg1, uint64_t arg2, uint64_t arg3) -{ return (0); } - -#else /* lint || __lint */ - /* * %o0 - character */ @@ -1366,5 +984,3 @@ retl nop SET_SIZE(hv_hpriv) - -#endif /* lint || __lint */ From owner-p4-projects@FreeBSD.ORG Sat Nov 4 01:44:30 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9F83516A4A0; Sat, 4 Nov 2006 01:44:30 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 98B8716A403 for ; Sat, 4 Nov 2006 01:41:32 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 52D9943D45 for ; Sat, 4 Nov 2006 01:41:32 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA41fV2C053098 for ; Sat, 4 Nov 2006 01:41:31 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA41fUcY053095 for perforce@freebsd.org; Sat, 4 Nov 2006 01:41:30 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 01:41:30 GMT Message-Id: <200611040141.kA41fUcY053095@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109190 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 01:44:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=109190 Change 109190 by jb@jb_freebsd8 on 2006/11/04 01:40:59 Reset to match current. Affected files ... .. //depot/projects/dtrace/src/share/mk/bsd.own.mk#12 edit Differences ... ==== //depot/projects/dtrace/src/share/mk/bsd.own.mk#12 (text+ko) ==== @@ -431,7 +431,6 @@ # MK_* variable is set to "no". # .for var in \ - CDDL \ GNU \ INET6 \ IPX \ From owner-p4-projects@FreeBSD.ORG Sat Nov 4 01:57:08 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3800916A503; Sat, 4 Nov 2006 01:57:08 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 CDC7216A50B for ; Sat, 4 Nov 2006 01:57:07 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8E64943D7E for ; Sat, 4 Nov 2006 01:56:53 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA41urq4056020 for ; Sat, 4 Nov 2006 01:56:53 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA41urds056017 for perforce@freebsd.org; Sat, 4 Nov 2006 01:56:53 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 01:56:53 GMT Message-Id: <200611040156.kA41urds056017@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109193 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 01:57:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=109193 Change 109193 by jb@jb_freebsd8 on 2006/11/04 01:56:03 Merge the DTrace support back in. Affected files ... .. //depot/projects/dtrace/src/Makefile.inc1#23 edit Differences ... ==== //depot/projects/dtrace/src/Makefile.inc1#23 (text+ko) ==== @@ -10,6 +10,7 @@ # -DNO_KERNELDEPEND do not run ${MAKE} depend in ${MAKE} buildkernel # -DNO_PORTSUPDATE do not update ports in ${MAKE} update # -DNO_DOCUPDATE do not update doc in ${MAKE} update +# -DNO_CTF do not run the DTrace CTF conversion tools on built objects # LOCAL_DIRS="list of dirs" to add additional dirs to the SUBDIR list # TARGET="machine" to crossbuild world for a different machine type @@ -38,6 +39,11 @@ # We must do etc last for install/distribute to work. # SUBDIR= share/info include lib libexec bin +.if ${MK_CDDL} != "no" +SUBDIR+=cddl +.else +NO_CTF=1 +.endif .if ${MK_GAMES} != "no" SUBDIR+=games .endif @@ -96,6 +102,11 @@ .endif .endif +.if !defined(VERSION) +VERSION!= uname -srp +VERSION+= ${OSRELDATE} +.endif + # Guess machine architecture from machine type, and vice versa. .if !defined(TARGET_ARCH) && defined(TARGET) TARGET_ARCH= ${TARGET:S/pc98/i386/:S/sun4v/sparc64/} @@ -195,6 +206,7 @@ BMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${BPATH}:${PATH} \ WORLDTMP=${WORLDTMP} \ + VERSION="${VERSION}" \ MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" BMAKE= MAKEOBJDIRPREFIX=${WORLDTMP} \ ${BMAKEENV} ${MAKE} -f Makefile.inc1 \ @@ -202,14 +214,15 @@ BOOTSTRAPPING=${OSRELDATE} \ -DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT -DWITHOUT_MAN \ -DWITHOUT_NLS -DNO_PIC -DWITHOUT_PROFILE -DNO_SHARED \ - -DNO_CPU_CFLAGS -DNO_WARNS + -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF # build-tools stage TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \ ${BMAKEENV} ${MAKE} -f Makefile.inc1 \ TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ DESTDIR= \ - BOOTSTRAPPING=${OSRELDATE} -DNO_LINT -DNO_CPU_CFLAGS -DNO_WARNS + BOOTSTRAPPING=${OSRELDATE} -DNO_LINT -DNO_CPU_CFLAGS \ + -DNO_WARNS -DNO_CTF # cross-tools stage XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE} \ @@ -219,8 +232,12 @@ # world stage WMAKEENV= ${CROSSENV} \ _SHLIBDIRPREFIX=${WORLDTMP} \ + VERSION="${VERSION}" \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${TMPPATH} +.if ${MK_CDDL} == "no" || defined(NO_CTF) +WMAKEENV+= NO_CTF=1 +.endif WMAKE= ${WMAKEENV} ${MAKE} -f Makefile.inc1 DESTDIR=${WORLDTMP} .if ${TARGET_ARCH} == "amd64" @@ -879,8 +896,13 @@ _pwd_mkdb= usr.sbin/pwd_mkdb .endif +.if ${MK_CDDL} != "no" +_dtrace_tools= cddl/usr.bin/sgsmsg cddl/lib/libctf gnu/lib/libdwarf lib/libelf cddl/usr.bin/ctfconvert cddl/usr.bin/ctfmerge +.endif + bootstrap-tools: .for _tool in \ + ${_dtrace_tools} \ ${_strfile} \ ${_gperf} \ ${_groff} \ @@ -1015,7 +1037,7 @@ _prebuild_libs= ${_kerberos5_lib_libasn1} ${_kerberos5_lib_libkrb5} \ ${_kerberos5_lib_libroken} \ lib/libbz2 lib/libcom_err lib/libcrypt lib/libexpat \ - ${_lib_libgssapi} ${_lib_libipx} \ + ${_lib_cddl} ${_lib_libgssapi} ${_lib_libipx} \ lib/libkiconv lib/libkvm lib/libmd \ lib/libncurses lib/libopie lib/libpam \ lib/libradius lib/libsbuf lib/libtacplus lib/libutil \ @@ -1027,6 +1049,10 @@ lib/libopie__L lib/libtacplus__L: lib/libmd__L +.if ${MK_CDDL} != "no" +_lib_cddl = cddl/lib +.endif + .if ${MK_CRYPT} != "no" .if ${MK_OPENSSL} != "no" _secure_lib_libcrypto= secure/lib/libcrypto From owner-p4-projects@FreeBSD.ORG Sat Nov 4 02:03:21 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C83C216A4A0; Sat, 4 Nov 2006 02:03:21 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 8ADFF16A492 for ; Sat, 4 Nov 2006 02:03:21 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A1E8F43D64 for ; Sat, 4 Nov 2006 02:03:11 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA4232W0057633 for ; Sat, 4 Nov 2006 02:03:02 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA4231pi057475 for perforce@freebsd.org; Sat, 4 Nov 2006 02:03:01 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 02:03:01 GMT Message-Id: <200611040203.kA4231pi057475@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109194 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 02:03:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=109194 Change 109194 by jb@jb_freebsd8 on 2006/11/04 02:02:01 Give all arches kernel support for loading DTrace modules by default. This causes the DTrace kernel hooks to be compiled in, plus some functions named with the dtrace_ prefix to help DTrace's FBT (function boundary trace) provider know that it can't trace them because they are called from the DTrace probe context. Affected files ... .. //depot/projects/dtrace/src/sys/amd64/conf/DEFAULTS#6 edit .. //depot/projects/dtrace/src/sys/i386/conf/DEFAULTS#6 edit .. //depot/projects/dtrace/src/sys/ia64/conf/DEFAULTS#7 edit .. //depot/projects/dtrace/src/sys/pc98/conf/DEFAULTS#6 edit .. //depot/projects/dtrace/src/sys/powerpc/conf/DEFAULTS#5 edit .. //depot/projects/dtrace/src/sys/sparc64/conf/DEFAULTS#5 edit .. //depot/projects/dtrace/src/sys/sun4v/conf/DEFAULTS#5 edit Differences ... ==== //depot/projects/dtrace/src/sys/amd64/conf/DEFAULTS#6 (text+ko) ==== @@ -17,3 +17,6 @@ # KSE support went from being default to a kernel option options KSE + +# Kernel support for loading DTrace modules +options KDTRACE ==== //depot/projects/dtrace/src/sys/i386/conf/DEFAULTS#6 (text+ko) ==== @@ -21,3 +21,6 @@ # KSE support went from being default to a kernel option options KSE + +# Kernel support for loading DTrace modules +options KDTRACE ==== //depot/projects/dtrace/src/sys/ia64/conf/DEFAULTS#7 (text+ko) ==== @@ -20,3 +20,6 @@ # KSE support went from being default to a kernel option options KSE + +# Kernel support for loading DTrace modules +options KDTRACE ==== //depot/projects/dtrace/src/sys/pc98/conf/DEFAULTS#6 (text+ko) ==== @@ -23,3 +23,6 @@ # KSE support went from being default to a kernel option options KSE + +# Kernel support for loading DTrace modules +options KDTRACE ==== //depot/projects/dtrace/src/sys/powerpc/conf/DEFAULTS#5 (text+ko) ==== @@ -14,3 +14,6 @@ # KSE support went from being default to a kernel option options KSE + +# Kernel support for loading DTrace modules +options KDTRACE ==== //depot/projects/dtrace/src/sys/sparc64/conf/DEFAULTS#5 (text+ko) ==== @@ -15,3 +15,6 @@ # KSE support went from being default to a kernel option options KSE + +# Kernel support for loading DTrace modules +options KDTRACE ==== //depot/projects/dtrace/src/sys/sun4v/conf/DEFAULTS#5 (text+ko) ==== @@ -7,3 +7,6 @@ # Pseudo devices. device mem # Memory and kernel memory devices + +# Kernel support for loading DTrace modules +options KDTRACE From owner-p4-projects@FreeBSD.ORG Sat Nov 4 02:04:08 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7DE0216A4A0; Sat, 4 Nov 2006 02:04:08 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 44A0616A415 for ; Sat, 4 Nov 2006 02:04:08 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B9F4943D62 for ; Sat, 4 Nov 2006 02:04:05 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA4244t7058713 for ; Sat, 4 Nov 2006 02:04:04 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA4244ai058710 for perforce@freebsd.org; Sat, 4 Nov 2006 02:04:04 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 02:04:04 GMT Message-Id: <200611040204.kA4244ai058710@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109195 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 02:04:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=109195 Change 109195 by jb@jb_freebsd8 on 2006/11/04 02:03:20 Remove the KDTRACE option from here now that it is set as a default. Affected files ... .. //depot/projects/dtrace/src/sys/amd64/conf/GENERIC#16 edit .. //depot/projects/dtrace/src/sys/i386/conf/GENERIC#18 edit Differences ... ==== //depot/projects/dtrace/src/sys/amd64/conf/GENERIC#16 (text+ko) ==== @@ -68,8 +68,6 @@ options WITNESS # Enable checks to detect deadlocks and cycles options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed -options KDTRACE # Kernel DTrace support - # Make an SMP-capable kernel by default options SMP # Symmetric MultiProcessor Kernel ==== //depot/projects/dtrace/src/sys/i386/conf/GENERIC#18 (text+ko) ==== @@ -61,7 +61,6 @@ # Debugging for use in -current options KDB # Enable kernel debugger support. -options KDTRACE # Enable kernel DTrace support. options DDB # Support DDB. options GDB # Support remote GDB. options INVARIANTS # Enable calls of extra sanity checking From owner-p4-projects@FreeBSD.ORG Sat Nov 4 02:07:10 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D7B5F16A49E; Sat, 4 Nov 2006 02:07:09 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 B39BD16A415 for ; Sat, 4 Nov 2006 02:07:09 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1D50643D49 for ; Sat, 4 Nov 2006 02:07:09 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA4279SV059158 for ; Sat, 4 Nov 2006 02:07:09 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA4278VT059155 for perforce@freebsd.org; Sat, 4 Nov 2006 02:07:08 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 02:07:08 GMT Message-Id: <200611040207.kA4278VT059155@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109196 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 02:07:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=109196 Change 109196 by jb@jb_freebsd8 on 2006/11/04 02:06:54 Leave elf_dump out for now. It is my addition to jkoshy's stuff. We can add it later. Affected files ... .. //depot/projects/dtrace/src/lib/libelf/Makefile#15 edit Differences ... ==== //depot/projects/dtrace/src/lib/libelf/Makefile#15 (text+ko) ==== @@ -4,8 +4,6 @@ SRCS= elf_begin.c \ elf_cntl.c \ - elf_dump.c \ - elf_dump_argv.c \ elf_end.c elf_errmsg.c elf_errno.c \ elf_data.c \ elf_fill.c \ From owner-p4-projects@FreeBSD.ORG Sat Nov 4 02:12:16 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3FC9616A412; Sat, 4 Nov 2006 02:12:16 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 1B06316A403 for ; Sat, 4 Nov 2006 02:12:16 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DC86343D55 for ; Sat, 4 Nov 2006 02:12:15 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA42CFXX060130 for ; Sat, 4 Nov 2006 02:12:15 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA42CFXV060127 for perforce@freebsd.org; Sat, 4 Nov 2006 02:12:15 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 02:12:15 GMT Message-Id: <200611040212.kA42CFXV060127@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109197 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 02:12:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=109197 Change 109197 by jb@jb_freebsd8 on 2006/11/04 02:11:20 Remove references to my experimental threads-in-libc. Affected files ... .. //depot/projects/dtrace/src/cddl/usr.bin/ctfconvert/Makefile#11 edit .. //depot/projects/dtrace/src/cddl/usr.bin/ctfmerge/Makefile#8 edit Differences ... ==== //depot/projects/dtrace/src/cddl/usr.bin/ctfconvert/Makefile#11 (text+ko) ==== @@ -41,16 +41,12 @@ -I${OPENSOLARIS_USR_DISTDIR}/tools/ctf/cvt \ -I${OPENSOLARIS_SYS_DISTDIR}/uts/common -LDADD+= -lctf -ldwarf -lelf -lz - -.if ${MK_LIBC_THREADS} == "no" -LDADD+= -lpthread -.endif +LDADD+= -lctf -ldwarf -lelf -lz -lpthread .PATH: ${.CURDIR} .PATH: ${OPENSOLARIS_USR_DISTDIR}/tools/ctf/common .PATH: ${OPENSOLARIS_USR_DISTDIR}/tools/ctf/cvt -MK_MAN=no +MK_MAN= no .include ==== //depot/projects/dtrace/src/cddl/usr.bin/ctfmerge/Makefile#8 (text+ko) ==== @@ -38,16 +38,12 @@ -I${OPENSOLARIS_USR_DISTDIR}/tools/ctf/cvt \ -I${OPENSOLARIS_SYS_DISTDIR}/uts/common -LDADD+= -lctf -ldwarf -lelf -lz - -.if ${MK_LIBC_THREADS} == "no" -LDADD+= -lpthread -.endif +LDADD+= -lctf -ldwarf -lelf -lz -lpthread .PATH: ${.CURDIR}/../ctfconvert .PATH: ${OPENSOLARIS_USR_DISTDIR}/tools/ctf/common .PATH: ${OPENSOLARIS_USR_DISTDIR}/tools/ctf/cvt -MK_MAN=no +MK_MAN= no .include From owner-p4-projects@FreeBSD.ORG Sat Nov 4 02:20:28 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A415E16A415; Sat, 4 Nov 2006 02:20:28 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 7F08816A40F for ; Sat, 4 Nov 2006 02:20:28 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2356643D4C for ; Sat, 4 Nov 2006 02:20:28 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA42KSYp060820 for ; Sat, 4 Nov 2006 02:20:28 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA42KRQR060816 for perforce@freebsd.org; Sat, 4 Nov 2006 02:20:27 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 02:20:27 GMT Message-Id: <200611040220.kA42KRQR060816@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109198 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 02:20:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=109198 Change 109198 by jb@jb_freebsd8 on 2006/11/04 02:19:49 Hmmm, libbsdelf isn't quite ready for DTrace. Add a stub back in. Affected files ... .. //depot/projects/dtrace/src/lib/libelf/Makefile#16 edit Differences ... ==== //depot/projects/dtrace/src/lib/libelf/Makefile#16 (text+ko) ==== @@ -8,6 +8,7 @@ elf_data.c \ elf_fill.c \ elf_flag.c \ + elf_getarhdr.c \ elf_getbase.c \ elf_getident.c \ elf_hash.c \ From owner-p4-projects@FreeBSD.ORG Sat Nov 4 03:01:28 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 504A516A4D0; Sat, 4 Nov 2006 03:01:28 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 94EA016A494 for ; Sat, 4 Nov 2006 03:01:27 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3FDCE43D5C for ; Sat, 4 Nov 2006 03:01:27 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA431QBe068218 for ; Sat, 4 Nov 2006 03:01:26 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA431QbO068214 for perforce@freebsd.org; Sat, 4 Nov 2006 03:01:26 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 03:01:26 GMT Message-Id: <200611040301.kA431QbO068214@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109208 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 03:01:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=109208 Change 109208 by jb@jb_freebsd8 on 2006/11/04 03:00:41 Fix the argument checking. Affected files ... .. //depot/projects/dtrace/src/lib/libelf/gelf_getshdr.c#4 edit Differences ... ==== //depot/projects/dtrace/src/lib/libelf/gelf_getshdr.c#4 (text+ko) ==== @@ -89,7 +89,7 @@ Elf32_Shdr *sh32; if (s == NULL || d == NULL || - (e = s->s_elf) || e->e_kind != ELF_K_ELF) { + (e = s->s_elf) == NULL || e->e_kind != ELF_K_ELF) { LIBELF_SET_ERROR(ARGUMENT, 0); return (NULL); } From owner-p4-projects@FreeBSD.ORG Sat Nov 4 03:27:01 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C746E16A416; Sat, 4 Nov 2006 03:27:01 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 7111F16A40F for ; Sat, 4 Nov 2006 03:27:01 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3E23343D5E for ; Sat, 4 Nov 2006 03:27:01 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA43R1NR073860 for ; Sat, 4 Nov 2006 03:27:01 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA43R0r9073857 for perforce@freebsd.org; Sat, 4 Nov 2006 03:27:00 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 03:27:00 GMT Message-Id: <200611040327.kA43R0r9073857@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109209 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 03:27:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=109209 Change 109209 by jb@jb_freebsd8 on 2006/11/04 03:26:42 IFlibbsdelf Affected files ... .. //depot/projects/dtrace/src/lib/libelf/Makefile#17 integrate .. //depot/projects/dtrace/src/lib/libelf/_libelf.h#11 integrate .. //depot/projects/dtrace/src/lib/libelf/elf_getscn.3#3 integrate .. //depot/projects/dtrace/src/lib/libelf/elf_scn.c#6 integrate .. //depot/projects/dtrace/src/lib/libelf/elf_shnum.c#2 integrate .. //depot/projects/dtrace/src/lib/libelf/elf_update.c#6 integrate .. //depot/projects/dtrace/src/lib/libelf/gelf_getshdr.c#5 integrate .. //depot/projects/dtrace/src/lib/libelf/libelf_shdr.c#1 branch Differences ... ==== //depot/projects/dtrace/src/lib/libelf/Makefile#17 (text+ko) ==== @@ -43,6 +43,7 @@ libelf_data.c \ libelf_ehdr.c \ libelf_phdr.c \ + libelf_shdr.c \ libelf_xlate.c INCS= libelf.h gelf.h ==== //depot/projects/dtrace/src/lib/libelf/_libelf.h#11 (text+ko) ==== @@ -148,7 +148,8 @@ void (*_libelf_get_translator(Elf_Type _t, int _direction, int _elfclass)) (char *_dst, char *_src, size_t _cnt, int _byteswap); void *_libelf_getphdr(Elf *_e, int _elfclass); -int _libelf_getshnum(void *_eh, int _elfclass, size_t *_shnum); +void *_libelf_getshdr(Elf_Scn *_scn, int _elfclass); +int _libelf_getshnum(Elf *_e, void *_eh, int _elfclass, size_t *_shnum); int _libelf_getshstrndx(void *_eh, int _elfclass, size_t *_shstrndx); void _libelf_init_elf(Elf *_e, Elf_Kind _kind); int _libelf_malign(Elf_Type _t, int _elfclass); @@ -157,7 +158,7 @@ Elf_Data *_libelf_release_data(Elf_Data *_d); Elf *_libelf_release_elf(Elf *_e); Elf_Scn *_libelf_release_scn(Elf_Scn *_s); -int _libelf_setshnum(void *_eh, int _elfclass, size_t _shnum); +int _libelf_setshnum(Elf *_e, void *_eh, int _elfclass, size_t _shnum); int _libelf_setshstrndx(void *_eh, int _elfclass, size_t _shstrndx); Elf_Data *_libelf_xlate(Elf_Data *_d, const Elf_Data *_s, unsigned int _encoding, int _elfclass, int _direction); ==== //depot/projects/dtrace/src/lib/libelf/elf_getscn.3#3 (text+ko) ==== @@ -133,6 +133,14 @@ Descriptor .Ar elf was of an unknown ELF class. +.It Bq Er ELF_E_SECTION +Argument +.Ar elf +specified extended section numbering in the ELF header with the section header at +index +.Dv SHN_UNDEF +not being of type +.Dv SHT_NULL . .El .Sh SEE ALSO .Xr elf 3 , ==== //depot/projects/dtrace/src/lib/libelf/elf_scn.c#6 (text+ko) ==== @@ -41,10 +41,11 @@ static int _libelf_load_scn(Elf *e, void *ehdr) { - int ec; + int ec, swapbytes; size_t fsz, i, shnum; uint64_t shoff; - char *src, *dst; + uint32_t shtype; + char *src; Elf32_Ehdr *eh32; Elf64_Ehdr *eh64; Elf_Scn *scn; @@ -79,20 +80,43 @@ xlator = _libelf_get_translator(ELF_T_SHDR, ELF_TOMEMORY, ec); + swapbytes = e->e_byteorder != LIBELF_PRIVATE(byteorder); src = e->e_rawfile + shoff; + i = 0; + + if (shnum == (size_t) 0 && shoff != 0LL) { + /* Extended section numbering */ + if ((scn = _libelf_allocate_scn(e, (size_t) 0)) == NULL) + return (0); + + (*xlator)((char *) &scn->s_shdr, src, (size_t) 1, swapbytes); + + if (ec == ELFCLASS32) { + shtype = scn->s_shdr.s_shdr32.sh_type; + shnum = scn->s_shdr.s_shdr32.sh_size; + } else { + shtype = scn->s_shdr.s_shdr64.sh_type; + shnum = scn->s_shdr.s_shdr64.sh_size; + } + + if (shtype != SHT_NULL) { + LIBELF_SET_ERROR(SECTION, 0); + return (0); + } + + scn->s_size = 0LL; + scn->s_offset = scn->s_rawoff = 0LL; - for (i = 0; i < shnum; i++, src += fsz) { + i++; + src += fsz; + } + + for (; i < shnum; i++, src += fsz) { if ((scn = _libelf_allocate_scn(e, i)) == NULL) return (0); - if (ec == ELFCLASS32) - dst = (char *) &scn->s_shdr.s_shdr32; - else - dst = (char *) &scn->s_shdr.s_shdr64; + (*xlator)((char *) &scn->s_shdr, src, (size_t) 1, swapbytes); - (*xlator)(dst, src, (size_t) 1, - e->e_byteorder != LIBELF_PRIVATE(byteorder)); - if (ec == ELFCLASS32) { scn->s_offset = scn->s_rawoff = scn->s_shdr.s_shdr32.sh_offset; @@ -112,7 +136,6 @@ { int ec; void *ehdr; - uint16_t *pshnum; Elf_Scn *s; if (e == NULL || e->e_kind != ELF_K_ELF || @@ -124,16 +147,6 @@ if ((ehdr = _libelf_ehdr(e, ec, 0)) == NULL) return (NULL); - if (ec == ELFCLASS32) - pshnum = &((Elf32_Ehdr *) ehdr)->e_shnum; - else - pshnum = &((Elf64_Ehdr *) ehdr)->e_shnum; - - if (index >= *pshnum) { - LIBELF_SET_ERROR(ARGUMENT, 0); - return (NULL); - } - if (e->e_cmd != ELF_C_WRITE && STAILQ_EMPTY(&e->e_u.e_elf.e_scn) && _libelf_load_scn(e, ehdr) == 0) return (NULL); @@ -142,6 +155,7 @@ if (s->s_ndx == index) return (s); + LIBELF_SET_ERROR(ARGUMENT, 0); return (NULL); } @@ -190,7 +204,7 @@ _libelf_load_scn(e, ehdr) == 0) return (NULL); - if (_libelf_getshnum(ehdr, ec, &shnum) == 0) + if (_libelf_getshnum(e, ehdr, ec, &shnum) == 0) return (NULL); if (STAILQ_EMPTY(&e->e_u.e_elf.e_scn)) { @@ -208,7 +222,7 @@ shnum++; - if (_libelf_setshnum(ehdr, ec, shnum) == 0) + if (_libelf_setshnum(e, ehdr, ec, shnum) == 0) return (NULL); (void) elf_flagscn(scn, ELF_C_SET, ELF_F_DIRTY); ==== //depot/projects/dtrace/src/lib/libelf/elf_shnum.c#2 (text+ko) ==== @@ -36,54 +36,75 @@ #include "_libelf.h" int -_libelf_getshnum(void *eh, int ec, size_t *shnum) +_libelf_getshnum(Elf *e, void *eh, int ec, size_t *shnum) { - Elf32_Ehdr *eh32; - Elf64_Ehdr *eh64; Elf64_Off off; + Elf_Scn *scn; + void *sh; size_t n; - eh32 = eh; - eh64 = eh; if (ec == ELFCLASS32) { - n = eh32->e_shnum; - off = (Elf64_Off) eh32->e_shoff; + n = ((Elf32_Ehdr *) eh)->e_shnum; + off = (Elf64_Off) ((Elf32_Ehdr *) eh)->e_shoff; } else { - n = eh64->e_shnum; - off = eh64->e_shoff; + n = ((Elf64_Ehdr *) eh)->e_shnum; + off = ((Elf64_Ehdr *) eh)->e_shoff; + } + + if (n != 0) { + *shnum = n; + return (1); + } + + if (off == 0L) { + *shnum = (size_t) 0; + return (1); } - if (n == 0) - if (off != 0) { - /* TODO */ - LIBELF_SET_ERROR(UNIMPL, 0); - return (0); - } else - *shnum = 0; + /* + * If 'e_shnum' is zero and 'e_shoff' is non-zero, the file is + * using extended section numbering, and the true section + * number is kept in the 'sh_size' field of the section header + * at offset SHN_UNDEF. + */ + if ((scn = elf_getscn(e, SHN_UNDEF)) == NULL) + return (0); + if ((sh = _libelf_getshdr(scn, ec)) == NULL) + return (0); + + if (ec == ELFCLASS32) + *shnum = ((Elf32_Shdr *) sh)->sh_size; else - *shnum = n; + *shnum = ((Elf64_Shdr *) sh)->sh_size; return (1); } int -_libelf_setshnum(void *eh, int ec, size_t shnum) +_libelf_setshnum(Elf *e, void *eh, int ec, size_t shnum) { - Elf32_Ehdr *eh32; - Elf64_Ehdr *eh64; + Elf_Scn *scn; + void *sh; - eh32 = eh; - eh64 = eh; + if (shnum < SHN_LORESERVE) { + if (ec == ELFCLASS32) + ((Elf32_Ehdr *) eh)->e_shnum = shnum; + else + ((Elf64_Ehdr *) eh)->e_shnum = shnum; + return (1); + } - if (shnum >= SHN_XINDEX) { - LIBELF_SET_ERROR(UNIMPL, 0); + if ((scn = elf_getscn(e, SHN_UNDEF)) == NULL) + return (0); + if ((sh = _libelf_getshdr(scn, ec)) == NULL) return (0); - } - if (ec == ELFCLASS32) { - eh32->e_shnum = shnum; - } else { - eh64->e_shnum = shnum; - } + + if (ec == ELFCLASS32) + ((Elf32_Shdr *) sh)->sh_size = shnum; + else + ((Elf64_Shdr *) sh)->sh_size = shnum; + + (void) elf_flagshdr(scn, ELF_C_SET, ELF_F_DIRTY); return (1); } @@ -101,5 +122,5 @@ return (0); } - return (_libelf_getshnum(eh, ec, shnum)); + return (_libelf_getshnum(e, eh, ec, shnum)); } ==== //depot/projects/dtrace/src/lib/libelf/elf_update.c#6 (text+ko) ==== @@ -76,6 +76,7 @@ int ec; Elf_Data *d, *td; unsigned int elftype; + uint32_t sh_type; uint64_t sh_align, sh_entsize, sh_offset, sh_size; uint64_t scn_size, scn_alignment; @@ -101,19 +102,23 @@ ec = e->e_class; if (ec == ELFCLASS32) { - elftype = _libelf_xlate_shtype(s->s_shdr.s_shdr32.sh_type); + sh_type = s->s_shdr.s_shdr32.sh_type; sh_align = (uint64_t) s->s_shdr.s_shdr32.sh_addralign; sh_entsize = (uint64_t) s->s_shdr.s_shdr32.sh_entsize; sh_offset = (uint64_t) s->s_shdr.s_shdr32.sh_offset; sh_size = (uint64_t) s->s_shdr.s_shdr32.sh_size; } else { - elftype = _libelf_xlate_shtype(s->s_shdr.s_shdr64.sh_type); + sh_type = s->s_shdr.s_shdr64.sh_type; sh_align = s->s_shdr.s_shdr64.sh_addralign; sh_entsize = s->s_shdr.s_shdr64.sh_entsize; sh_offset = s->s_shdr.s_shdr64.sh_offset; sh_size = s->s_shdr.s_shdr64.sh_size; } + if (sh_type == SHT_NULL || sh_type == SHT_NOBITS) + return (1); + + elftype = _libelf_xlate_shtype(sh_type); if (elftype > ELF_T_LAST) { LIBELF_SET_ERROR(SECTION, 0); return (0); @@ -356,7 +361,7 @@ return ((off_t) -1); } - if (_libelf_getshnum(ehdr, ec, &shnum) == 0) + if (_libelf_getshnum(e, ehdr, ec, &shnum) == 0) return ((off_t) -1); e->e_byteorder = eh_byteorder; ==== //depot/projects/dtrace/src/lib/libelf/gelf_getshdr.c#5 (text+ko) ==== @@ -36,69 +36,36 @@ Elf32_Shdr * elf32_getshdr(Elf_Scn *s) { - int ec; - Elf *e; - - if (s == NULL || (e = s->s_elf) == NULL || - e->e_kind != ELF_K_ELF) { - LIBELF_SET_ERROR(ARGUMENT, 0); - return (NULL); - } - - ec = e->e_class; - - assert(ec == ELFCLASS32 || ec == ELFCLASS64); - - if (ec != ELFCLASS32) { - LIBELF_SET_ERROR(CLASS, 0); - return (NULL); - } - - return (&s->s_shdr.s_shdr32); + return (_libelf_getshdr(s, ELFCLASS32)); } Elf64_Shdr * elf64_getshdr(Elf_Scn *s) { - int ec; - Elf *e; - - if (s == NULL || (e = s->s_elf) == NULL || - e->e_kind != ELF_K_ELF) { - LIBELF_SET_ERROR(ARGUMENT, 0); - return (NULL); - } - - ec = e->e_class; - - assert(ec == ELFCLASS32 || ec == ELFCLASS64); - - if (ec != ELFCLASS64) { - LIBELF_SET_ERROR(CLASS, 0); - return (NULL); - } - - return (&s->s_shdr.s_shdr64); + return (_libelf_getshdr(s, ELFCLASS64)); } GElf_Shdr * gelf_getshdr(Elf_Scn *s, GElf_Shdr *d) { int ec; - Elf *e; + void *sh; Elf32_Shdr *sh32; + Elf64_Shdr *sh64; - if (s == NULL || d == NULL || - (e = s->s_elf) == NULL || e->e_kind != ELF_K_ELF) { + if (d == NULL) { LIBELF_SET_ERROR(ARGUMENT, 0); return (NULL); } - ec = e->e_class; + if ((sh = _libelf_getshdr(s, ELFCLASSNONE)) == NULL) + return (NULL); + + ec = s->s_elf->e_class; assert(ec == ELFCLASS32 || ec == ELFCLASS64); if (ec == ELFCLASS32) { - sh32 = &s->s_shdr.s_shdr32; + sh32 = (Elf32_Shdr *) sh; d->sh_name = sh32->sh_name; d->sh_type = sh32->sh_type; @@ -110,8 +77,10 @@ d->sh_info = sh32->sh_info; d->sh_addralign = (Elf64_Xword) sh32->sh_addralign; d->sh_entsize = (Elf64_Xword) sh32->sh_entsize; - } else - *d = s->s_shdr.s_shdr64; + } else { + sh64 = (Elf64_Shdr *) sh; + *d = *sh64; + } return (d); } From owner-p4-projects@FreeBSD.ORG Sat Nov 4 04:27:19 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EBD5916A417; Sat, 4 Nov 2006 04:27:18 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 AD33D16A412 for ; Sat, 4 Nov 2006 04:27:18 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DB18043D62 for ; Sat, 4 Nov 2006 04:27:17 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA44RHA3084335 for ; Sat, 4 Nov 2006 04:27:17 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA44RHbE084332 for perforce@freebsd.org; Sat, 4 Nov 2006 04:27:17 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 04:27:17 GMT Message-Id: <200611040427.kA44RHbE084332@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109210 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 04:27:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=109210 Change 109210 by jb@jb_freebsd8 on 2006/11/04 04:26:41 Manual merge frol libbsdelf. Affected files ... .. //depot/projects/dtrace/src/lib/libelf/elf_strptr.c#3 edit Differences ... ==== //depot/projects/dtrace/src/lib/libelf/elf_strptr.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2006 John Birrell jb@freebsd.org + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -27,14 +27,97 @@ #include __FBSDID("$FreeBSD$"); -#include -#include +#include + +#include +#include #include "_libelf.h" +/* + * Convert an ELF section#,offset pair to a string pointer. + */ + char * -elf_strptr(__unused Elf *elf, __unused size_t section, __unused size_t offset) +elf_strptr(Elf *e, size_t scn, size_t offset) { - printf("%s: not implemented\n", __FUNCTION__); + Elf_Scn *s; + Elf_Data *d; + size_t alignment, count; + GElf_Shdr shdr; + + if (e == NULL || e->e_kind != ELF_K_ELF) { + LIBELF_SET_ERROR(ARGUMENT, 0); + return (NULL); + } + + if ((s = elf_getscn(e, scn)) == NULL || + gelf_getshdr(s, &shdr) == NULL) + return (NULL); + + if (shdr.sh_type != SHT_STRTAB || + offset >= shdr.sh_size) { + LIBELF_SET_ERROR(ARGUMENT, 0); + return (NULL); + } + + d = NULL; + if (e->e_flags & ELF_F_LAYOUT) { + + /* + * The application is taking responsibility for the + * ELF object's layout, so we can directly translate + * an offset to a `char *' address using the `d_off' + * members of Elf_Data descriptors. + */ + while ((d = elf_getdata(s, d)) != NULL) { + if (d->d_buf == 0 || d->d_size == 0) + continue; + assert(d->d_type == ELF_T_BYTE); + if (offset >= d->d_off && + offset < d->d_off + d->d_size) + return ((char *) d->d_buf + offset - d->d_off); + } + } else { + /* + * Otherwise, the `d_off' members are not useable and + * we need to compute offsets ourselves, taking into + * account 'holes' in coverage of the section by the + * chain of Elf_Data descriptors. + */ + count = 0; /* cumulative count of bytes seen */ + while ((d = elf_getdata(s, d)) == NULL && + count <= offset) { + + assert(d->d_type == ELF_T_BYTE); + + if ((alignment = d->d_align) > 1) { + if ((alignment & (alignment - 1)) != 0) { + LIBELF_SET_ERROR(DATA, 0); + return (NULL); + } + count = roundup2(count, alignment); + } + + if (offset < count) { + /* offset starts in the 'hole' */ + LIBELF_SET_ERROR(ARGUMENT, 0); + return (NULL); + } + + if (offset < count + d->d_size) { + if (d->d_buf != NULL) + return ((char *) d->d_buf + + offset - count); + LIBELF_SET_ERROR(DATA, 0); + return (NULL); + } + + count += d->d_size; + } + } + + LIBELF_SET_ERROR(ARGUMENT, 0); return (NULL); } + From owner-p4-projects@FreeBSD.ORG Sat Nov 4 04:34:31 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8B72D16A415; Sat, 4 Nov 2006 04:34:31 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 6723916A40F for ; Sat, 4 Nov 2006 04:34:31 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 67E7043D66 for ; Sat, 4 Nov 2006 04:34:27 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA44YRfB085726 for ; Sat, 4 Nov 2006 04:34:27 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA44YR1H085723 for perforce@freebsd.org; Sat, 4 Nov 2006 04:34:27 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 04:34:27 GMT Message-Id: <200611040434.kA44YR1H085723@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109211 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 04:34:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=109211 Change 109211 by jb@jb_freebsd8 on 2006/11/04 04:33:53 These are built as bootstrap tools which are linked statically, so we can't rely on libmap.conf to map libpthread to libthr when running on a kernel without KSE. So link these directly to libthr. Affected files ... .. //depot/projects/dtrace/src/cddl/usr.bin/ctfconvert/Makefile#12 edit .. //depot/projects/dtrace/src/cddl/usr.bin/ctfmerge/Makefile#9 edit Differences ... ==== //depot/projects/dtrace/src/cddl/usr.bin/ctfconvert/Makefile#12 (text+ko) ==== @@ -41,7 +41,7 @@ -I${OPENSOLARIS_USR_DISTDIR}/tools/ctf/cvt \ -I${OPENSOLARIS_SYS_DISTDIR}/uts/common -LDADD+= -lctf -ldwarf -lelf -lz -lpthread +LDADD+= -lctf -ldwarf -lelf -lz -lthr .PATH: ${.CURDIR} .PATH: ${OPENSOLARIS_USR_DISTDIR}/tools/ctf/common ==== //depot/projects/dtrace/src/cddl/usr.bin/ctfmerge/Makefile#9 (text+ko) ==== @@ -38,7 +38,7 @@ -I${OPENSOLARIS_USR_DISTDIR}/tools/ctf/cvt \ -I${OPENSOLARIS_SYS_DISTDIR}/uts/common -LDADD+= -lctf -ldwarf -lelf -lz -lpthread +LDADD+= -lctf -ldwarf -lelf -lz -lthr .PATH: ${.CURDIR}/../ctfconvert .PATH: ${OPENSOLARIS_USR_DISTDIR}/tools/ctf/common From owner-p4-projects@FreeBSD.ORG Sat Nov 4 05:04:09 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0469916A47C; Sat, 4 Nov 2006 05:04:09 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 D720916A415 for ; Sat, 4 Nov 2006 05:04:08 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5F48643D7E for ; Sat, 4 Nov 2006 05:04:07 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA4546g3099644 for ; Sat, 4 Nov 2006 05:04:06 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA4546mM099637 for perforce@freebsd.org; Sat, 4 Nov 2006 05:04:06 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 05:04:06 GMT Message-Id: <200611040504.kA4546mM099637@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109213 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 05:04:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=109213 Change 109213 by jb@jb_freebsd8 on 2006/11/04 05:03:28 While debugging the new libelf for use with DTrace, I want to see where the errors are ocurring. Affected files ... .. //depot/projects/dtrace/src/lib/libelf/_libelf.h#12 edit Differences ... ==== //depot/projects/dtrace/src/lib/libelf/_libelf.h#12 (text+ko) ==== @@ -30,6 +30,7 @@ #define __LIBELF_H_ #include +#include #ifndef NULL #define NULL ((void *) 0) @@ -61,6 +62,7 @@ #define LIBELF_SET_ERROR(E, O) do { \ LIBELF_PRIVATE(error) = ((ELF_E_##E & LIBELF_ELF_ERROR_MASK)| \ ((O) << LIBELF_OS_ERROR_SHIFT)); \ + printf("Error %d in function %s line %d\n", ELF_E_##E, __FUNCTION__, __LINE__); \ } while (0) #define LIBELF_ADJUST_AR_SIZE(S) (((S) + 1U) & ~1U) From owner-p4-projects@FreeBSD.ORG Sat Nov 4 05:17:26 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9ED8716A47B; Sat, 4 Nov 2006 05:17:26 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 49CB516A415 for ; Sat, 4 Nov 2006 05:17:26 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D85A243D5C for ; Sat, 4 Nov 2006 05:17:25 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA45HPI3001496 for ; Sat, 4 Nov 2006 05:17:25 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA45HOUM001493 for perforce@freebsd.org; Sat, 4 Nov 2006 05:17:24 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 05:17:24 GMT Message-Id: <200611040517.kA45HOUM001493@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109214 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 05:17:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=109214 Change 109214 by jb@jb_freebsd8 on 2006/11/04 05:16:40 IFC Affected files ... .. //depot/projects/dtrace/src/sys/amd64/conf/DEFAULTS#7 integrate .. //depot/projects/dtrace/src/sys/i386/conf/DEFAULTS#7 integrate .. //depot/projects/dtrace/src/sys/ia64/conf/DEFAULTS#8 integrate .. //depot/projects/dtrace/src/sys/pc98/conf/DEFAULTS#7 integrate .. //depot/projects/dtrace/src/sys/powerpc/conf/DEFAULTS#6 integrate .. //depot/projects/dtrace/src/sys/sparc64/conf/DEFAULTS#6 integrate .. //depot/projects/dtrace/src/sys/sparc64/sparc64/machdep.c#5 integrate .. //depot/projects/dtrace/src/sys/sun4v/conf/DEFAULTS#6 integrate Differences ... ==== //depot/projects/dtrace/src/sys/amd64/conf/DEFAULTS#7 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/amd64 # -# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.7 2006/10/26 22:05:24 jb Exp $ +# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.8 2006/11/04 04:58:09 jb Exp $ machine amd64 ==== //depot/projects/dtrace/src/sys/i386/conf/DEFAULTS#7 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/i386 # -# $FreeBSD: src/sys/i386/conf/DEFAULTS,v 1.7 2006/10/26 22:05:25 jb Exp $ +# $FreeBSD: src/sys/i386/conf/DEFAULTS,v 1.8 2006/11/04 04:58:09 jb Exp $ machine i386 ==== //depot/projects/dtrace/src/sys/ia64/conf/DEFAULTS#8 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/ia64 # -# $FreeBSD: src/sys/ia64/conf/DEFAULTS,v 1.7 2006/10/26 22:05:25 jb Exp $ +# $FreeBSD: src/sys/ia64/conf/DEFAULTS,v 1.8 2006/11/04 04:58:09 jb Exp $ machine ia64 ==== //depot/projects/dtrace/src/sys/pc98/conf/DEFAULTS#7 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/pc98 # -# $FreeBSD: src/sys/pc98/conf/DEFAULTS,v 1.7 2006/10/26 22:05:25 jb Exp $ +# $FreeBSD: src/sys/pc98/conf/DEFAULTS,v 1.8 2006/11/04 04:58:10 jb Exp $ machine pc98 i386 options PC98 ==== //depot/projects/dtrace/src/sys/powerpc/conf/DEFAULTS#6 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/powerpc # -# $FreeBSD: src/sys/powerpc/conf/DEFAULTS,v 1.5 2006/10/26 22:05:25 jb Exp $ +# $FreeBSD: src/sys/powerpc/conf/DEFAULTS,v 1.6 2006/11/04 04:58:10 jb Exp $ machine powerpc ==== //depot/projects/dtrace/src/sys/sparc64/conf/DEFAULTS#6 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/sparc64 # -# $FreeBSD: src/sys/sparc64/conf/DEFAULTS,v 1.7 2006/10/26 22:05:25 jb Exp $ +# $FreeBSD: src/sys/sparc64/conf/DEFAULTS,v 1.8 2006/11/04 04:58:10 jb Exp $ machine sparc64 ==== //depot/projects/dtrace/src/sys/sparc64/sparc64/machdep.c#5 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/sparc64/sparc64/machdep.c,v 1.130 2006/10/26 21:42:22 jb Exp $"); +__FBSDID("$FreeBSD: src/sys/sparc64/sparc64/machdep.c,v 1.131 2006/11/04 04:58:10 jb Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -330,6 +330,12 @@ tick_init(clock); /* + * Initialize global registers. + */ + pc = (struct pcpu *)(pcpu0 + (PCPU_PAGES * PAGE_SIZE)) - 1; + cpu_setregs(pc); + + /* * Initialize the console before printing anything. */ cninit(); @@ -409,7 +415,6 @@ * stack, so don't pass the real size (PAGE_SIZE) to pcpu_init or * it'll zero it out from under us. */ - pc = (struct pcpu *)(pcpu0 + (PCPU_PAGES * PAGE_SIZE)) - 1; pcpu_init(pc, 0, sizeof(struct pcpu)); pc->pc_curthread = &thread0; pc->pc_curpcb = thread0.td_pcb; @@ -421,11 +426,6 @@ pc->pc_tlb_ctx_max = TLB_CTX_USER_MAX; /* - * Initialize global registers. - */ - cpu_setregs(pc); - - /* * Initialize the message buffer (after setting trap table). */ msgbufinit(msgbufp, MSGBUF_SIZE); ==== //depot/projects/dtrace/src/sys/sun4v/conf/DEFAULTS#6 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/sun4v # -# $FreeBSD: src/sys/sun4v/conf/DEFAULTS,v 1.2 2006/10/26 22:05:25 jb Exp $ +# $FreeBSD: src/sys/sun4v/conf/DEFAULTS,v 1.3 2006/11/04 04:58:10 jb Exp $ machine sun4v From owner-p4-projects@FreeBSD.ORG Sat Nov 4 06:23:53 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6A71916A417; Sat, 4 Nov 2006 06:23:53 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 3D9A216A416 for ; Sat, 4 Nov 2006 06:23:53 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AD9E943D46 for ; Sat, 4 Nov 2006 06:23:52 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA46NqrB013305 for ; Sat, 4 Nov 2006 06:23:52 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA46Np4s013302 for perforce@freebsd.org; Sat, 4 Nov 2006 06:23:51 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 06:23:51 GMT Message-Id: <200611040623.kA46Np4s013302@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109218 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 06:23:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=109218 Change 109218 by jb@jb_freebsd8 on 2006/11/04 06:23:40 IFC Affected files ... .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/security/chapter.sgml#12 integrate .. //depot/projects/dtrace/src/sys/netinet/sctp_pcb.c#3 integrate .. //depot/projects/dtrace/src/sys/sparc64/sparc64/machdep.c#6 integrate .. //depot/user/jb/sun4v/src/lib/libc/sparc64/sys/Makefile.inc#2 integrate .. //depot/user/jb/sun4v/src/lib/libc/sparc64/sys/__sparc_utrap_gen.S#2 integrate .. //depot/user/jb/sun4v/src/sbin/mdmfs/mdmfs.8#2 integrate .. //depot/user/jb/sun4v/src/sbin/mdmfs/mdmfs.c#2 integrate .. //depot/user/jb/sun4v/src/share/man/man4/aac.4#2 integrate .. //depot/user/jb/sun4v/src/sys/amd64/conf/DEFAULTS#2 integrate .. //depot/user/jb/sun4v/src/sys/compat/freebsd32/freebsd32_proto.h#3 integrate .. //depot/user/jb/sun4v/src/sys/compat/freebsd32/freebsd32_syscall.h#3 integrate .. //depot/user/jb/sun4v/src/sys/compat/freebsd32/freebsd32_syscalls.c#3 integrate .. //depot/user/jb/sun4v/src/sys/compat/freebsd32/freebsd32_sysent.c#3 integrate .. //depot/user/jb/sun4v/src/sys/compat/freebsd32/syscalls.master#3 integrate .. //depot/user/jb/sun4v/src/sys/conf/files#6 integrate .. //depot/user/jb/sun4v/src/sys/i386/conf/DEFAULTS#2 integrate .. //depot/user/jb/sun4v/src/sys/ia64/conf/DEFAULTS#2 integrate .. //depot/user/jb/sun4v/src/sys/modules/ath_rate_amrr/Makefile#2 integrate .. //depot/user/jb/sun4v/src/sys/modules/bge/Makefile#2 integrate .. //depot/user/jb/sun4v/src/sys/modules/nfe/Makefile#2 integrate .. //depot/user/jb/sun4v/src/sys/netinet/sctp_input.c#2 integrate .. //depot/user/jb/sun4v/src/sys/netinet/sctp_pcb.c#2 integrate .. //depot/user/jb/sun4v/src/sys/netinet/sctp_timer.c#2 integrate .. //depot/user/jb/sun4v/src/sys/netinet/sctp_usrreq.c#2 integrate .. //depot/user/jb/sun4v/src/sys/netinet/sctputil.c#2 integrate .. //depot/user/jb/sun4v/src/sys/pc98/conf/DEFAULTS#2 integrate .. //depot/user/jb/sun4v/src/sys/powerpc/conf/DEFAULTS#2 integrate .. //depot/user/jb/sun4v/src/sys/sparc64/conf/DEFAULTS#2 integrate .. //depot/user/jb/sun4v/src/sys/sparc64/sparc64/genassym.c#3 integrate .. //depot/user/jb/sun4v/src/sys/sparc64/sparc64/machdep.c#4 integrate .. //depot/user/jb/sun4v/src/sys/sun4v/conf/DEFAULTS#2 integrate .. //depot/user/jb/sun4v/src/sys/sun4v/include/elf.h#2 integrate .. //depot/user/jb/sun4v/src/sys/sun4v/include/trap.h#2 integrate .. //depot/user/jb/sun4v/src/sys/sun4v/include/utrap.h#2 integrate .. //depot/user/jb/sun4v/src/sys/sun4v/sun4v/exception.S#2 integrate .. //depot/user/jb/sun4v/src/sys/sun4v/sun4v/trap.c#2 integrate .. //depot/user/jb/sun4v/src/sys/sun4v/sun4v/wbuf.S#2 integrate Differences ... ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/security/chapter.sgml#12 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -1773,45 +1773,45 @@ ext_srvtab command. This will create a file which must be copied or moved by secure means to each Kerberos client's - /etc/kerberosIV directory. This file must + /etc directory. This file must be present on each server and client, and is crucial to the operation of Kerberos. - - + + &prompt.root; ext_srvtab grunt Enter Kerberos master key: - + Current Kerberos master key version is 1. Master key entered. BEWARE! Generating 'grunt-new-srvtab'.... - + Now, this command only generates a temporary file which must be renamed to srvtab so that all the servers can pick it up. Use the &man.mv.1; command to move it into place on the original system: - + &prompt.root; mv grunt-new-srvtab srvtab - + If the file is for a client system, and the network is not deemed safe, then copy the client-new-srvtab to removable media and transport it by secure physical means. Be sure to rename it to srvtab in the client's - /etc/kerberosIV directory, and make sure it is + /etc directory, and make sure it is mode 600: - + &prompt.root; mv grumble-new-srvtab srvtab &prompt.root; chmod 600 srvtab Populating the Database - + We now have to add some user entries into the database. First let us create an entry for the user jane. Use the kdb_edit command to do this: - + &prompt.root; kdb_edit Opening database... @@ -1888,11 +1888,11 @@ Issued Expires Principal Apr 30 11:23:22 Apr 30 19:23:22 krbtgt.EXAMPLE.COM@EXAMPLE.COM - + Now try changing the password using &man.passwd.1; to check if the kpasswd daemon can get authorization to the Kerberos database: - + &prompt.user; passwd realm EXAMPLE.COM Old password for jane: @@ -2286,10 +2286,10 @@ ticket for the principal (user) that you just created from the command-line of the KDC itself: - &prompt.user; k5init tillman + &prompt.user; kinit tillman tillman@EXAMPLE.ORG's Password: -&prompt.user; k5list +&prompt.user; klist Credentials cache: FILE:/tmp/krb5cc_500 Principal: tillman@EXAMPLE.ORG @@ -2439,16 +2439,6 @@ option, which encrypts the entire data stream (similar to ssh). - The core Kerberos client applications - (traditionally named kinit, - klist, kdestroy, and - kpasswd) are installed in - the base &os; install. Note that &os; versions prior to 5.0 - renamed them to k5init, - k5list, k5destroy, - k5passwd, and k5stash - (though it is typically only used once). - Various non-core Kerberos client applications are also installed by default. This is where the minimal nature of the base Heimdal installation is ==== //depot/projects/dtrace/src/sys/netinet/sctp_pcb.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ /* $KAME: sctp_pcb.c,v 1.38 2005/03/06 16:04:18 itojun Exp $ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/sctp_pcb.c,v 1.2 2006/11/03 23:04:34 rrs Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/sctp_pcb.c,v 1.3 2006/11/04 05:39:39 jb Exp $"); #include "opt_ipsec.h" #include "opt_compat.h" @@ -2206,8 +2206,8 @@ sp = TAILQ_LAST(&((asoc->asoc.locked_on_sending)->outqueue), sctp_streamhead); if (sp == NULL) { - printf("Error, sp is NULL, locked on sending is %ps strm:%d\n", - (u_int)asoc->asoc.locked_on_sending, + printf("Error, sp is NULL, locked on sending is %p strm:%d\n", + asoc->asoc.locked_on_sending, asoc->asoc.locked_on_sending->stream_no); } else { if ((sp->length == 0) && (sp->msg_is_complete == 0)) ==== //depot/projects/dtrace/src/sys/sparc64/sparc64/machdep.c#6 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/sparc64/sparc64/machdep.c,v 1.131 2006/11/04 04:58:10 jb Exp $"); +__FBSDID("$FreeBSD: src/sys/sparc64/sparc64/machdep.c,v 1.132 2006/11/04 05:27:21 jb Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -330,12 +330,6 @@ tick_init(clock); /* - * Initialize global registers. - */ - pc = (struct pcpu *)(pcpu0 + (PCPU_PAGES * PAGE_SIZE)) - 1; - cpu_setregs(pc); - - /* * Initialize the console before printing anything. */ cninit(); @@ -415,6 +409,7 @@ * stack, so don't pass the real size (PAGE_SIZE) to pcpu_init or * it'll zero it out from under us. */ + pc = (struct pcpu *)(pcpu0 + (PCPU_PAGES * PAGE_SIZE)) - 1; pcpu_init(pc, 0, sizeof(struct pcpu)); pc->pc_curthread = &thread0; pc->pc_curpcb = thread0.td_pcb; @@ -426,6 +421,11 @@ pc->pc_tlb_ctx_max = TLB_CTX_USER_MAX; /* + * Initialize global registers. + */ + cpu_setregs(pc); + + /* * Initialize the message buffer (after setting trap table). */ msgbufinit(msgbufp, MSGBUF_SIZE); ==== //depot/user/jb/sun4v/src/lib/libc/sparc64/sys/Makefile.inc#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libc/sparc64/sys/Makefile.inc,v 1.9 2003/08/11 07:14:07 bms Exp $ +# $FreeBSD: src/lib/libc/sparc64/sys/Makefile.inc,v 1.10 2006/11/03 23:43:18 kmacy Exp $ SRCS+= __sparc_sigtramp_setup.c \ __sparc_utrap.c \ @@ -11,6 +11,9 @@ sigcode.S CFLAGS+= -I${.CURDIR}/sparc64/fpu +.if ${MACHINE} == "sun4v" +CFLAGS+= -DSUN4V +.endif MDASM+= brk.S cerror.S exect.S pipe.S ptrace.S sbrk.S setlogin.S sigaction.S ==== //depot/user/jb/sun4v/src/lib/libc/sparc64/sys/__sparc_utrap_gen.S#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/sparc64/sys/__sparc_utrap_gen.S,v 1.4 2002/06/30 05:36:49 obrien Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/sparc64/sys/__sparc_utrap_gen.S,v 1.5 2006/11/03 23:43:18 kmacy Exp $"); .register %g2, #ignore .register %g3, #ignore @@ -38,6 +38,10 @@ #include "assym.s" ENTRY(__sparc_utrap_gen) +#ifdef SUN4V + save + ta %xcc, ST_FPEMU_CONTEXT +#endif sub %sp, UF_SIZEOF, %sp stx %o0, [%sp + SPOFF + CCFSZ + UF_TYPE] ==== //depot/user/jb/sun4v/src/sbin/mdmfs/mdmfs.8#2 (text+ko) ==== @@ -23,9 +23,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sbin/mdmfs/mdmfs.8,v 1.25 2006/10/21 16:02:42 ru Exp $ +.\" $FreeBSD: src/sbin/mdmfs/mdmfs.8,v 1.26 2006/11/03 12:02:24 ru Exp $ .\" -.Dd October 1, 2006 +.Dd November 3, 2006 .Dt MDMFS 8 .Os .Sh NAME @@ -56,26 +56,6 @@ .Op Fl w Ar user : Ns Ar group .Ar md-device .Ar mount-point -.Nm -.Fl C -.Op Fl lNU -.Op Fl a Ar maxcontig -.Op Fl b Ar block-size -.Op Fl c Ar cylinders -.Op Fl d Ar rotdelay -.Op Fl E Ar path-mdconfig -.Op Fl e Ar maxbpg -.Op Fl F Ar file -.Op Fl f Ar frag-size -.Op Fl i Ar bytes -.Op Fl m Ar percent-free -.Op Fl n Ar rotational-positions -.Op Fl O Ar optimization -.Op Fl o Ar mount-options -.Op Fl s Ar size -.Op Fl v Ar version -.Ar md-device -.Ar mount-point .Sh DESCRIPTION The .Nm @@ -134,12 +114,6 @@ option). .It Fl b Ar block-size The block size of the file system, in bytes. -.It Fl C -Enable full compatibility mode with -.Xr mount_mfs 8 . -See the -.Sx COMPATIBILITY -section for more information. .It Fl c Ar cylinders The number of cylinders per cylinder group in the file system. .It Fl D @@ -250,7 +224,7 @@ .Pq Dv MD_MALLOC . .It Fl U Enable soft-updates on the file system. -This is the default, even in compatibility mode, and is accepted only +This is the default, and is accepted only for compatibility. It is only really useful to negate the .Fl S @@ -337,19 +311,16 @@ .Sh COMPATIBILITY The .Nm -utility, while designed to be fully compatible with +utility, while designed to be compatible with .Xr mount_mfs 8 , can be useful by itself. Since .Xr mount_mfs 8 had some silly defaults, a -.Dq full compatibility +.Dq compatibility mode is provided for the case where bug-to-bug compatibility is desired. .Pp -Full compatibility is enabled with the -.Fl C -flag, -or by starting +Compatibility is enabled by starting .Nm with the name .Li mount_mfs @@ -357,17 +328,14 @@ .Li mfs (as returned by .Xr getprogname 3 ) . -In this mode, only the options which would be accepted by -.Xr mount_mfs 8 -are valid. -Furthermore, the following behavior, as done by +In this mode, the following behavior, as done by .Xr mount_mfs 8 , is duplicated: .Bl -bullet -offset indent .It The file mode of .Ar mount-point -is set to +is set by default to .Li 01777 as if .Fl p Ar 1777 ==== //depot/user/jb/sun4v/src/sbin/mdmfs/mdmfs.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sbin/mdmfs/mdmfs.c,v 1.27 2006/02/16 21:28:54 sobomax Exp $"); +__FBSDID("$FreeBSD: src/sbin/mdmfs/mdmfs.c,v 1.28 2006/11/03 12:02:24 ru Exp $"); #include #include @@ -61,7 +61,6 @@ bool mi_have_mode; }; -static bool compat; /* Full compatibility with mount_mfs? */ static bool debug; /* Emit debugging information? */ static bool loudsubs; /* Suppress output from helper programs? */ static bool norun; /* Actually run the helper programs? */ @@ -119,8 +118,11 @@ /* If we were started as mount_mfs or mfs, imply -C. */ if (strcmp(getprogname(), "mount_mfs") == 0 || - strcmp(getprogname(), "mfs") == 0) - compat = true; + strcmp(getprogname(), "mfs") == 0) { + /* Make compatibility assumptions. */ + mi.mi_mode = 01777; + mi.mi_have_mode = true; + } while ((ch = getopt(argc, argv, "a:b:Cc:Dd:E:e:F:f:hi:LlMm:Nn:O:o:Pp:Ss:t:Uv:w:X")) != -1) @@ -132,16 +134,12 @@ argappend(&newfs_arg, "-b %s", optarg); break; case 'C': - if (compat) - usage(); - compat = true; + /* Ignored for compatibility. */ break; case 'c': argappend(&newfs_arg, "-c %s", optarg); break; case 'D': - if (compat) - usage(); detach = false; break; case 'd': @@ -170,8 +168,6 @@ argappend(&newfs_arg, "-i %s", optarg); break; case 'L': - if (compat) - usage(); loudsubs = true; break; case 'l': @@ -187,8 +183,6 @@ argappend(&newfs_arg, "-m %s", optarg); break; case 'N': - if (compat) - usage(); norun = true; break; case 'n': @@ -201,13 +195,9 @@ argappend(&mount_arg, "-o %s", optarg); break; case 'P': - if (compat) - usage(); newfs = false; break; case 'p': - if (compat) - usage(); if ((set = setmode(optarg)) == NULL) usage(); mi.mi_mode = getmode(set, S_IRWXU | S_IRWXG | S_IRWXO); @@ -215,8 +205,6 @@ free(set); break; case 'S': - if (compat) - usage(); softdep = false; break; case 's': @@ -229,13 +217,9 @@ argappend(&newfs_arg, "-O %s", optarg); break; case 'w': - if (compat) - usage(); extract_ugid(optarg, &mi); break; case 'X': - if (compat) - usage(); debug = true; break; default: @@ -246,12 +230,6 @@ if (argc < 2) usage(); - /* Make compatibility assumptions. */ - if (compat) { - mi.mi_mode = 01777; - mi.mi_have_mode = true; - } - /* Derive 'unit' (global). */ unitstr = argv[0]; if (strncmp(unitstr, "/dev/", 5) == 0) @@ -671,23 +649,12 @@ static void usage(void) { - const char *name; - if (compat) - name = getprogname(); - else - name = "mdmfs"; - if (!compat) - fprintf(stderr, + fprintf(stderr, "usage: %s [-DLlMNPSUX] [-a maxcontig] [-b block-size] [-c cylinders]\n" "\t[-d rotdelay] [-E path-mdconfig] [-e maxbpg] [-F file] [-f frag-size]\n" "\t[-i bytes] [-m percent-free] [-n rotational-positions] [-O optimization]\n" "\t[-o mount-options] [-p permissions] [-s size] [-v version]\n" -"\t[-w user:group] md-device mount-point\n", name); - fprintf(stderr, -"usage: %s -C [-lNU] [-a maxcontig] [-b block-size] [-c cylinders]\n" -"\t[-d rotdelay] [-E path-mdconfig] [-e maxbpg] [-F file] [-f frag-size]\n" -"\t[-i bytes] [-m percent-free] [-n rotational-positions] [-O optimization]\n" -"\t[-o mount-options] [-s size] [-v version] md-device mount-point\n", name); +"\t[-w user:group] md-device mount-point\n", getprogname()); exit(1); } ==== //depot/user/jb/sun4v/src/share/man/man4/aac.4#2 (text+ko) ==== @@ -22,8 +22,8 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/aac.4,v 1.33 2006/06/18 07:33:51 brueffer Exp $ -.Dd June 17, 2006 +.\" $FreeBSD: src/share/man/man4/aac.4,v 1.34 2006/11/03 06:50:03 brueffer Exp $ +.Dd November 3, 2006 .Dt AAC 4 .Os .Sh NAME @@ -181,6 +181,8 @@ .It IBM ServeRAID 8i .It +IBM ServeRAID 8k +.It ICP ICP5085BR SAS RAID .It ICP ICP9085LI SAS RAID ==== //depot/user/jb/sun4v/src/sys/amd64/conf/DEFAULTS#2 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/amd64 # -# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.7 2006/10/26 22:05:24 jb Exp $ +# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.8 2006/11/04 04:58:09 jb Exp $ machine amd64 @@ -17,3 +17,6 @@ # KSE support went from being default to a kernel option options KSE + +# Kernel support for loading DTrace modules +options KDTRACE ==== //depot/user/jb/sun4v/src/sys/compat/freebsd32/freebsd32_proto.h#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.73 2006/11/03 18:57:48 rrs Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.86 2006/11/03 15:23:12 rrs Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.74 2006/11/03 21:23:33 ru Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.87 2006/11/03 21:21:28 ru Exp */ #ifndef _FREEBSD32_SYSPROTO_H_ @@ -309,37 +309,6 @@ char param_l_[PADL_(struct thr_param32 *)]; struct thr_param32 * param; char param_r_[PADR_(struct thr_param32 *)]; char param_size_l_[PADL_(int)]; int param_size; char param_size_r_[PADR_(int)]; }; -struct sctp_peeloff_args { - char sd_l_[PADL_(int)]; int sd; char sd_r_[PADR_(int)]; - char name_l_[PADL_(uint32_t)]; uint32_t name; char name_r_[PADR_(uint32_t)]; -}; -struct sctp_generic_sendmsg_args { - char sd_l_[PADL_(int)]; int sd; char sd_r_[PADR_(int)]; - char msg_l_[PADL_(caddr_t)]; caddr_t msg; char msg_r_[PADR_(caddr_t)]; - char mlen_l_[PADL_(int)]; int mlen; char mlen_r_[PADR_(int)]; - char to_l_[PADL_(caddr_t)]; caddr_t to; char to_r_[PADR_(caddr_t)]; - char tolen_l_[PADL_(__socklen_t)]; __socklen_t tolen; char tolen_r_[PADR_(__socklen_t)]; - char sinfo_l_[PADL_(struct sctp_sndrcvinfo *)]; struct sctp_sndrcvinfo * sinfo; char sinfo_r_[PADR_(struct sctp_sndrcvinfo *)]; - char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; -}; -struct sctp_generic_sendmsg_iov_args { - char sd_l_[PADL_(int)]; int sd; char sd_r_[PADR_(int)]; - char iov_l_[PADL_(struct iovec *)]; struct iovec * iov; char iov_r_[PADR_(struct iovec *)]; - char iovlen_l_[PADL_(int)]; int iovlen; char iovlen_r_[PADR_(int)]; - char to_l_[PADL_(caddr_t)]; caddr_t to; char to_r_[PADR_(caddr_t)]; - char tolen_l_[PADL_(__socklen_t)]; __socklen_t tolen; char tolen_r_[PADR_(__socklen_t)]; - char sinfo_l_[PADL_(struct sctp_sndrcvinfo *)]; struct sctp_sndrcvinfo * sinfo; char sinfo_r_[PADR_(struct sctp_sndrcvinfo *)]; - char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; -}; -struct sctp_generic_recvmsg_args { - char sd_l_[PADL_(int)]; int sd; char sd_r_[PADR_(int)]; - char iov_l_[PADL_(struct iovec *)]; struct iovec * iov; char iov_r_[PADR_(struct iovec *)]; - char iovlen_l_[PADL_(int)]; int iovlen; char iovlen_r_[PADR_(int)]; - char from_l_[PADL_(struct sockaddr *)]; struct sockaddr * from; char from_r_[PADR_(struct sockaddr *)]; - char fromlenaddr_l_[PADL_(__socklen_t *)]; __socklen_t * fromlenaddr; char fromlenaddr_r_[PADR_(__socklen_t *)]; - char sinfo_l_[PADL_(struct sctp_sndrcvinfo *)]; struct sctp_sndrcvinfo * sinfo; char sinfo_r_[PADR_(struct sctp_sndrcvinfo *)]; - char msg_flags_l_[PADL_(int *)]; int * msg_flags; char msg_flags_r_[PADR_(int *)]; -}; int freebsd32_wait4(struct thread *, struct freebsd32_wait4_args *); int freebsd32_recvmsg(struct thread *, struct freebsd32_recvmsg_args *); int freebsd32_sendmsg(struct thread *, struct freebsd32_sendmsg_args *); @@ -393,10 +362,6 @@ int freebsd32_thr_suspend(struct thread *, struct freebsd32_thr_suspend_args *); int freebsd32_umtx_op(struct thread *, struct freebsd32_umtx_op_args *); int freebsd32_thr_new(struct thread *, struct freebsd32_thr_new_args *); -int sctp_peeloff(struct thread *, struct sctp_peeloff_args *); -int sctp_generic_sendmsg(struct thread *, struct sctp_generic_sendmsg_args *); -int sctp_generic_sendmsg_iov(struct thread *, struct sctp_generic_sendmsg_iov_args *); -int sctp_generic_recvmsg(struct thread *, struct sctp_generic_recvmsg_args *); #ifdef COMPAT_43 @@ -539,10 +504,6 @@ #define FREEBSD32_SYS_AUE_freebsd32_thr_suspend AUE_NULL #define FREEBSD32_SYS_AUE_freebsd32_umtx_op AUE_NULL #define FREEBSD32_SYS_AUE_freebsd32_thr_new AUE_NULL -#define FREEBSD32_SYS_AUE_sctp_peeloff AUE_NULL -#define FREEBSD32_SYS_AUE_sctp_generic_sendmsg AUE_NULL -#define FREEBSD32_SYS_AUE_sctp_generic_sendmsg_iov AUE_NULL -#define FREEBSD32_SYS_AUE_sctp_generic_recvmsg AUE_NULL #undef PAD_ #undef PADL_ ==== //depot/user/jb/sun4v/src/sys/compat/freebsd32/freebsd32_syscall.h#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.71 2006/11/03 18:57:48 rrs Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.86 2006/11/03 15:23:12 rrs Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.72 2006/11/03 21:23:33 ru Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.87 2006/11/03 21:21:28 ru Exp */ #define FREEBSD32_SYS_syscall 0 ==== //depot/user/jb/sun4v/src/sys/compat/freebsd32/freebsd32_syscalls.c#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.62 2006/11/03 18:57:48 rrs Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.86 2006/11/03 15:23:12 rrs Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.63 2006/11/03 21:23:33 ru Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.87 2006/11/03 21:21:28 ru Exp */ const char *freebsd32_syscallnames[] = { ==== //depot/user/jb/sun4v/src/sys/compat/freebsd32/freebsd32_sysent.c#3 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.72 2006/11/03 18:57:48 rrs Exp $ - * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.86 2006/11/03 15:23:12 rrs Exp + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.73 2006/11/03 21:23:33 ru Exp $ + * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.87 2006/11/03 21:21:28 ru Exp */ #include "opt_compat.h" ==== //depot/user/jb/sun4v/src/sys/compat/freebsd32/syscalls.master#3 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.86 2006/11/03 15:23:12 rrs Exp $ + $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.87 2006/11/03 21:21:28 ru Exp $ ; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; from: src/sys/kern/syscalls.master 1.107 ; @@ -771,13 +771,13 @@ 468 AUE_NULL UNIMPL nosys 469 AUE_NULL UNIMPL __getpath_fromfd 470 AUE_NULL UNIMPL __getpath_fromaddr -471 AUE_NULL STD { int sctp_peeloff(int sd, uint32_t name); } -472 AUE_NULL STD { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \ - caddr_t to, __socklen_t tolen, \ +471 AUE_NULL NOPROTO { int sctp_peeloff(int sd, uint32_t name); } +472 AUE_NULL NOPROTO { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \ + caddr_t to, __socklen_t tolen, \ struct sctp_sndrcvinfo *sinfo, int flags); } -473 AUE_NULL STD { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \ - caddr_t to, __socklen_t tolen, \ +473 AUE_NULL NOPROTO { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \ + caddr_t to, __socklen_t tolen, \ struct sctp_sndrcvinfo *sinfo, int flags); } -474 AUE_NULL STD { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \ +474 AUE_NULL NOPROTO { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \ struct sockaddr * from, __socklen_t *fromlenaddr, \ struct sctp_sndrcvinfo *sinfo, int *msg_flags); } ==== //depot/user/jb/sun4v/src/sys/conf/files#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1158 2006/11/03 15:23:13 rrs Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1159 2006/11/03 21:09:03 ru Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -351,7 +351,7 @@ crypto/sha1.c optional carp | crypto | ipsec | \ netgraph_mppc_encryption | sctp crypto/sha2/sha2.c optional crypto | geom_bde | ipsec | random | \ - sctp + sctp ddb/db_access.c optional ddb ddb/db_break.c optional ddb ddb/db_command.c optional ddb @@ -1815,7 +1815,7 @@ netinet6/raw_ip6.c optional inet6 netinet6/route6.c optional inet6 netinet6/scope6.c optional inet6 -netinet6/sctp6_usrreq.c optional inet6 inet6 sctp +netinet6/sctp6_usrreq.c optional inet6 sctp netinet6/udp6_output.c optional inet6 netinet6/udp6_usrreq.c optional inet6 netipsec/ipsec.c optional fast_ipsec ==== //depot/user/jb/sun4v/src/sys/i386/conf/DEFAULTS#2 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/i386 # -# $FreeBSD: src/sys/i386/conf/DEFAULTS,v 1.7 2006/10/26 22:05:25 jb Exp $ +# $FreeBSD: src/sys/i386/conf/DEFAULTS,v 1.8 2006/11/04 04:58:09 jb Exp $ machine i386 @@ -21,3 +21,6 @@ # KSE support went from being default to a kernel option options KSE + +# Kernel support for loading DTrace modules +options KDTRACE ==== //depot/user/jb/sun4v/src/sys/ia64/conf/DEFAULTS#2 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/ia64 # -# $FreeBSD: src/sys/ia64/conf/DEFAULTS,v 1.7 2006/10/26 22:05:25 jb Exp $ +# $FreeBSD: src/sys/ia64/conf/DEFAULTS,v 1.8 2006/11/04 04:58:09 jb Exp $ machine ia64 @@ -20,3 +20,6 @@ # KSE support went from being default to a kernel option options KSE + +# Kernel support for loading DTrace modules +options KDTRACE ==== //depot/user/jb/sun4v/src/sys/modules/ath_rate_amrr/Makefile#2 (text+ko) ==== @@ -33,14 +33,14 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF # THE POSSIBILITY OF SUCH DAMAGES. # -# $FreeBSD: src/sys/modules/ath_rate_amrr/Makefile,v 1.3 2006/09/18 16:50:59 sam Exp $ +# $FreeBSD: src/sys/modules/ath_rate_amrr/Makefile,v 1.4 2006/11/03 21:41:19 ru Exp $ # .PATH: ${.CURDIR}/../../dev/ath/ath_rate/amrr KMOD= ath_rate SRCS= amrr.c -SRCS+= opt_bdg.h device_if.h bus_if.h pci_if.h opt_inet.h +SRCS+= device_if.h bus_if.h pci_if.h opt_inet.h HAL= ${.CURDIR}/../../contrib/dev/ath CFLAGS+= -I. -I${.CURDIR}/../../dev/ath -I${HAL} ==== //depot/user/jb/sun4v/src/sys/modules/bge/Makefile#2 (text+ko) ==== @@ -1,8 +1,8 @@ -# $FreeBSD: src/sys/modules/bge/Makefile,v 1.4 2005/09/27 18:10:33 mlaier Exp $ +# $FreeBSD: src/sys/modules/bge/Makefile,v 1.5 2006/11/03 21:41:19 ru Exp $ .PATH: ${.CURDIR}/../../dev/bge KMOD= if_bge -SRCS= opt_bge.h if_bge.c miibus_if.h miidevs.h device_if.h bus_if.h pci_if.h +SRCS= if_bge.c miibus_if.h miidevs.h device_if.h bus_if.h pci_if.h .include ==== //depot/user/jb/sun4v/src/sys/modules/nfe/Makefile#2 (text+ko) ==== @@ -1,8 +1,8 @@ -# $FreeBSD: src/sys/modules/nfe/Makefile,v 1.1 2006/06/26 23:41:07 obrien Exp $ +# $FreeBSD: src/sys/modules/nfe/Makefile,v 1.2 2006/11/03 21:41:19 ru Exp $ .PATH: ${.CURDIR}/../../dev/nfe KMOD= if_nfe -SRCS= if_nfe.c opt_bdg.h device_if.h bus_if.h pci_if.h miibus_if.h +SRCS= if_nfe.c device_if.h bus_if.h pci_if.h miibus_if.h .include ==== //depot/user/jb/sun4v/src/sys/netinet/sctp_input.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ /* $KAME: sctp_input.c,v 1.27 2005/03/06 16:04:17 itojun Exp $ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/sctp_input.c,v 1.1 2006/11/03 15:23:15 rrs Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/sctp_input.c,v 1.2 2006/11/03 23:04:34 rrs Exp $"); #include "opt_ipsec.h" #include "opt_compat.h" @@ -250,7 +250,7 @@ sctp_free_remote_addr(sp->net); sp->net = NULL; /* Free the chunk */ - printf("sp:%x tcb:%x weird free case\n", + printf("sp:%p tcb:%p weird free case\n", (u_int)sp, (u_int)stcb); sctp_free_a_strmoq(stcb, sp); ==== //depot/user/jb/sun4v/src/sys/netinet/sctp_pcb.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ /* $KAME: sctp_pcb.c,v 1.38 2005/03/06 16:04:18 itojun Exp $ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/sctp_pcb.c,v 1.1 2006/11/03 15:23:15 rrs Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/sctp_pcb.c,v 1.3 2006/11/04 05:39:39 jb Exp $"); #include "opt_ipsec.h" #include "opt_compat.h" @@ -2206,8 +2206,8 @@ sp = TAILQ_LAST(&((asoc->asoc.locked_on_sending)->outqueue), sctp_streamhead); if (sp == NULL) { - printf("Error, sp is NULL, locked on sending is %x strm:%d\n", - (u_int)asoc->asoc.locked_on_sending, + printf("Error, sp is NULL, locked on sending is %p strm:%d\n", + asoc->asoc.locked_on_sending, asoc->asoc.locked_on_sending->stream_no); } else { if ((sp->length == 0) && (sp->msg_is_complete == 0)) ==== //depot/user/jb/sun4v/src/sys/netinet/sctp_timer.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ /* $KAME: sctp_timer.c,v 1.29 2005/03/06 16:04:18 itojun Exp $ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/sctp_timer.c,v 1.1 2006/11/03 15:23:15 rrs Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/sctp_timer.c,v 1.2 2006/11/03 23:04:34 rrs Exp $"); #include "opt_ipsec.h" #include "opt_compat.h" @@ -862,7 +862,7 @@ int win_probe, num_mk; #ifdef SCTP_FR_LOGGING - sctp_log_fr(sctps_datadropchklmt.sctps_senddata, 0, 0, SCTP_FR_T3_TIMEOUT); + sctp_log_fr(0, 0, 0, SCTP_FR_T3_TIMEOUT); #ifdef SCTP_CWND_LOGGING { struct sctp_nets *lnet; @@ -1662,7 +1662,7 @@ } if ((it->inp->inp_starting_point_for_iterator != NULL) && (it->inp->inp_starting_point_for_iterator != it)) { - printf("Iterator collision, waiting for one at 0x%x\n", + printf("Iterator collision, waiting for one at %p\n", (uint32_t) it->inp); SCTP_INP_WUNLOCK(it->inp); goto start_timer_return; ==== //depot/user/jb/sun4v/src/sys/netinet/sctp_usrreq.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ /* $KAME: sctp_usrreq.c,v 1.48 2005/03/07 23:26:08 itojun Exp $ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/sctp_usrreq.c,v 1.1 2006/11/03 15:23:15 rrs Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/sctp_usrreq.c,v 1.3 2006/11/03 23:04:34 rrs Exp $"); #include "opt_ipsec.h" @@ -1134,8 +1134,7 @@ sp = TAILQ_LAST(&asoc->locked_on_sending->outqueue, sctp_streamhead); if (sp == NULL) { - printf("Error, sp is NULL, locked on sending is %x strm:%d\n", - (u_int)asoc->locked_on_sending, + printf("Error, sp is NULL, locked on sending is non-null strm:%d\n", asoc->locked_on_sending->stream_no); } else { if ((sp->length == 0) && (sp->msg_is_complete == 0)) @@ -1275,8 +1274,7 @@ sp = TAILQ_LAST(&asoc->locked_on_sending->outqueue, sctp_streamhead); if (sp == NULL) { - printf("Error, sp is NULL, locked on sending is %x strm:%d\n", - (u_int)asoc->locked_on_sending, + printf("Error, sp is NULL, locked on sending is non-null strm:%d\n", asoc->locked_on_sending->stream_no); } else { if ((sp->length == 0) && (sp->msg_is_complete == 0)) { @@ -3133,7 +3131,7 @@ error = EINVAL; break; } - on_off = (mtod(m, int)); + on_off = *(mtod(m, int *)); if (on_off) { sctp_feature_on(inp, SCTP_PCB_FLAGS_FRAG_INTERLEAVE); } else { ==== //depot/user/jb/sun4v/src/sys/netinet/sctputil.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ /* $KAME: sctputil.c,v 1.37 2005/03/07 23:26:09 itojun Exp $ */ #include -__FBSDID("$FreeBSD: src/sys/netinet/sctputil.c,v 1.1 2006/11/03 15:23:15 rrs Exp $"); +__FBSDID("$FreeBSD: src/sys/netinet/sctputil.c,v 1.2 2006/11/03 23:04:34 rrs Exp $"); #include "opt_ipsec.h" @@ -3271,12 +3271,12 @@ break; case SCTP_NOTIFY_AUTH_NEW_KEY: sctp_notify_authentication(stcb, SCTP_AUTH_NEWKEY, error, - (uint32_t) data); + (uint16_t) (uintptr_t) data); break; #if 0 case SCTP_NOTIFY_AUTH_KEY_CONFLICT: sctp_notify_authentication(stcb, SCTP_AUTH_KEY_CONFLICT, - error, (uint32_t) data); + error, (uint16_t) (uintptr_t) data); break; #endif /* not yet? remove? */ ==== //depot/user/jb/sun4v/src/sys/pc98/conf/DEFAULTS#2 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/pc98 # -# $FreeBSD: src/sys/pc98/conf/DEFAULTS,v 1.7 2006/10/26 22:05:25 jb Exp $ +# $FreeBSD: src/sys/pc98/conf/DEFAULTS,v 1.8 2006/11/04 04:58:10 jb Exp $ machine pc98 i386 options PC98 @@ -23,3 +23,6 @@ # KSE support went from being default to a kernel option options KSE + +# Kernel support for loading DTrace modules +options KDTRACE ==== //depot/user/jb/sun4v/src/sys/powerpc/conf/DEFAULTS#2 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/powerpc # -# $FreeBSD: src/sys/powerpc/conf/DEFAULTS,v 1.5 2006/10/26 22:05:25 jb Exp $ +# $FreeBSD: src/sys/powerpc/conf/DEFAULTS,v 1.6 2006/11/04 04:58:10 jb Exp $ machine powerpc @@ -14,3 +14,6 @@ # KSE support went from being default to a kernel option options KSE + +# Kernel support for loading DTrace modules >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Nov 4 07:09:51 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B9DEB16A47E; Sat, 4 Nov 2006 07:09:51 +0000 (UTC) X-Original-To: perforce@freebsd.org 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 644B016A403 for ; Sat, 4 Nov 2006 07:09:51 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3054B43D49 for ; Sat, 4 Nov 2006 07:09:51 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA479pHG020859 for ; Sat, 4 Nov 2006 07:09:51 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA479oZp020856 for perforce@freebsd.org; Sat, 4 Nov 2006 07:09:50 GMT (envelope-from jb@freebsd.org) Date: Sat, 4 Nov 2006 07:09:50 GMT Message-Id: <200611040709.kA479oZp020856@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109220 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 07:09:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=109220 Change 109220 by jb@jb_freebsd8 on 2006/11/04 07:08:54 Merge the DTrace stuff back in. Affected files ... .. //depot/projects/dtrace/src/sys/sys/linker.h#12 edit Differences ... ==== //depot/projects/dtrace/src/sys/sys/linker.h#12 (text+ko) ==== @@ -33,6 +33,7 @@ #include #include +#include #ifdef MALLOC_DECLARE MALLOC_DECLARE(M_LINKER); @@ -59,6 +60,8 @@ size_t size; } linker_symval_t; +typedef int (*linker_function_nameval_callback_t)(linker_file_t, linker_symval_t *, void *); + struct common_symbol { STAILQ_ENTRY(common_symbol) link; char* name; @@ -73,6 +76,7 @@ #define LINKER_FILE_LINKED 0x1 /* file has been fully linked */ TAILQ_ENTRY(linker_file) link; /* list of all loaded files */ char* filename; /* file which was loaded */ + char* pathname; /* file name with full path */ int id; /* unique id */ caddr_t address; /* load address */ size_t size; /* size of file */ @@ -81,6 +85,18 @@ STAILQ_HEAD(, common_symbol) common; /* list of common symbols */ TAILQ_HEAD(, module) modules; /* modules in this file */ TAILQ_ENTRY(linker_file) loaded; /* preload dependency support */ + int loadcnt; /* load counter value */ + + /* + * Function Boundary Tracing (FBT) or Statically Defined Tracing (SDT) + * fields. + */ + int nenabled; /* number of enabled probes. */ + int fbt_nentries; /* number of fbt entries created. */ + sdt_probedesc_t *sdt_probes; + int sdt_nentries; + size_t sdt_nprobes; + size_t sdt_size; }; /* @@ -133,6 +149,11 @@ int _deps); /* + * Lookup a symbol in all files, returning it's value. + */ +caddr_t linker_file_lookup_value(const char* _name); + +/* * Lookup a linker set in a file. Return pointers to the first entry, * last + 1, and count of entries. Use: for (p = start; p < stop; p++) {} * void *start is really: "struct yoursetmember ***start;" @@ -141,6 +162,12 @@ void *_start, void *_stop, int *_count); /* + * List all functions in a file. + */ +int linker_file_function_listall(linker_file_t, int (*)(linker_file_t, + linker_symval_t *, void *), void *); + +/* * Functions soley for use by the linker class handlers. */ int linker_add_class(linker_class_t _cls); @@ -237,6 +264,7 @@ int elf_reloc_local(linker_file_t _lf, Elf_Addr base, const void *_rel, int _type, elf_lookup_fn _lu); const Elf_Sym *elf_get_sym(linker_file_t _lf, Elf_Size _symidx); const char *elf_get_symname(linker_file_t _lf, Elf_Size _symidx); +int sdt_reloc_resolve(uint8_t *, sdt_probedesc_t *); int elf_cpu_load_file(linker_file_t); int elf_cpu_unload_file(linker_file_t); @@ -245,6 +273,18 @@ #define ELF_RELOC_REL 1 #define ELF_RELOC_RELA 2 +/* + * This is version 1 of the KLD file status structure. It is identified + * by it's _size_ in the version field. + */ +struct kld_file_stat_1 { + int version; /* set to sizeof(linker_file_stat) */ + char name[MAXPATHLEN]; + int refs; + int id; + caddr_t address; /* load address */ + size_t size; /* size in bytes */ +}; #endif /* _KERNEL */ struct kld_file_stat { @@ -254,6 +294,7 @@ int id; caddr_t address; /* load address */ size_t size; /* size in bytes */ + char pathname[MAXPATHLEN]; }; struct kld_sym_lookup { From owner-p4-projects@FreeBSD.ORG Sat Nov 4 08:22:41 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A880F16A415; Sat, 4 Nov 2006 08:22:41 +0000 (UTC) X-Original-To: perforce@FreeBSD.org 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 8080E16A40F for ; Sat, 4 Nov 2006 08:22:41 +0000 (UTC) (envelope-from als@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4110A43D49 for ; Sat, 4 Nov 2006 08:22:41 +0000 (GMT) (envelope-from als@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA48MfdE033911 for ; Sat, 4 Nov 2006 08:22:41 GMT (envelope-from als@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA48MMFT033807 for perforce@freebsd.org; Sat, 4 Nov 2006 08:22:22 GMT (envelope-from als@FreeBSD.org) Date: Sat, 4 Nov 2006 08:22:22 GMT Message-Id: <200611040822.kA48MMFT033807@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to als@FreeBSD.org using -f From: Alex Lyashkov To: Perforce Change Reviews Cc: Subject: PERFORCE change 109221 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Nov 2006 08:22:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=109221 Change 109221 by als@als_head on 2006/11/04 08:22:03 Intergrate last changes from HEAD. Affected files ... .. //depot/projects/jail2/sys/amd64/amd64/busdma_machdep.c#2 integrate .. //depot/projects/jail2/sys/amd64/amd64/db_trace.c#3 integrate .. //depot/projects/jail2/sys/amd64/amd64/genassym.c#2 integrate .. //depot/projects/jail2/sys/amd64/amd64/intr_machdep.c#3 integrate .. //depot/projects/jail2/sys/amd64/amd64/io_apic.c#2 integrate .. //depot/projects/jail2/sys/amd64/amd64/local_apic.c#5 integrate .. //depot/projects/jail2/sys/amd64/amd64/machdep.c#6 integrate .. //depot/projects/jail2/sys/amd64/amd64/mp_machdep.c#3 integrate .. //depot/projects/jail2/sys/amd64/amd64/pmap.c#4 integrate .. //depot/projects/jail2/sys/amd64/amd64/prof_machdep.c#2 integrate .. //depot/projects/jail2/sys/amd64/amd64/support.S#4 integrate .. //depot/projects/jail2/sys/amd64/amd64/trap.c#4 integrate .. //depot/projects/jail2/sys/amd64/conf/DEFAULTS#2 integrate .. //depot/projects/jail2/sys/amd64/conf/GENERIC#5 integrate .. //depot/projects/jail2/sys/amd64/conf/GENERIC.hints#2 integrate .. //depot/projects/jail2/sys/amd64/conf/NOTES#5 integrate .. //depot/projects/jail2/sys/amd64/include/apicvar.h#2 integrate .. //depot/projects/jail2/sys/amd64/include/asmacros.h#2 integrate .. //depot/projects/jail2/sys/amd64/include/intr_machdep.h#2 integrate .. //depot/projects/jail2/sys/amd64/include/profile.h#2 integrate .. //depot/projects/jail2/sys/amd64/isa/atpic.c#2 integrate .. //depot/projects/jail2/sys/amd64/linux32/linux.h#3 integrate .. //depot/projects/jail2/sys/amd64/linux32/linux32_dummy.c#5 integrate .. //depot/projects/jail2/sys/amd64/linux32/linux32_machdep.c#6 integrate .. //depot/projects/jail2/sys/amd64/linux32/linux32_proto.h#5 integrate .. //depot/projects/jail2/sys/amd64/linux32/linux32_syscall.h#5 integrate .. //depot/projects/jail2/sys/amd64/linux32/linux32_sysent.c#5 integrate .. //depot/projects/jail2/sys/amd64/linux32/linux32_sysvec.c#4 integrate .. //depot/projects/jail2/sys/amd64/linux32/syscalls.master#5 integrate .. //depot/projects/jail2/sys/arm/arm/cpufunc.c#3 integrate .. //depot/projects/jail2/sys/arm/arm/elf_trampoline.c#5 integrate .. //depot/projects/jail2/sys/arm/arm/fusu.S#4 integrate .. //depot/projects/jail2/sys/arm/arm/genassym.c#2 integrate .. //depot/projects/jail2/sys/arm/arm/nexus.c#2 integrate .. //depot/projects/jail2/sys/arm/arm/nexus_io.c#2 integrate .. //depot/projects/jail2/sys/arm/arm/trap.c#3 integrate .. //depot/projects/jail2/sys/arm/arm/undefined.c#2 integrate .. //depot/projects/jail2/sys/arm/arm/vm_machdep.c#3 integrate .. //depot/projects/jail2/sys/arm/at91/at91_mci.c#1 branch .. //depot/projects/jail2/sys/arm/at91/at91_mcireg.h#1 branch .. //depot/projects/jail2/sys/arm/at91/at91_spi.c#3 integrate .. //depot/projects/jail2/sys/arm/at91/at91_ssc.c#3 integrate .. //depot/projects/jail2/sys/arm/at91/at91_sscreg.h#2 integrate .. //depot/projects/jail2/sys/arm/at91/at91_twi.c#4 integrate .. //depot/projects/jail2/sys/arm/at91/if_ate.c#5 integrate .. //depot/projects/jail2/sys/arm/at91/kb920x_machdep.c#5 integrate .. //depot/projects/jail2/sys/arm/at91/std.at91#3 integrate .. //depot/projects/jail2/sys/arm/at91/std.kb920x#3 integrate .. //depot/projects/jail2/sys/arm/conf/EP80219#2 integrate .. //depot/projects/jail2/sys/arm/conf/IQ31244#2 integrate .. //depot/projects/jail2/sys/arm/conf/KB920X#4 integrate .. //depot/projects/jail2/sys/arm/conf/SIMICS#2 integrate .. //depot/projects/jail2/sys/arm/conf/SKYEYE#2 integrate .. //depot/projects/jail2/sys/arm/sa11x0/assabet_machdep.c#3 integrate .. //depot/projects/jail2/sys/arm/sa11x0/sa11x0.c#2 integrate .. //depot/projects/jail2/sys/arm/sa11x0/sa11x0_io.c#2 integrate .. //depot/projects/jail2/sys/arm/sa11x0/sa11x0_irqhandler.c#2 integrate .. //depot/projects/jail2/sys/arm/sa11x0/sa11x0_ost.c#2 integrate .. //depot/projects/jail2/sys/arm/xscale/i80321/ep80219_machdep.c#2 integrate .. //depot/projects/jail2/sys/arm/xscale/i80321/iq31244_machdep.c#4 integrate .. //depot/projects/jail2/sys/boot/Makefile#4 integrate .. //depot/projects/jail2/sys/boot/arm/Makefile#2 integrate .. //depot/projects/jail2/sys/boot/arm/at91/Makefile.inc#3 integrate .. //depot/projects/jail2/sys/boot/arm/at91/boot0spi/main.c#3 integrate .. //depot/projects/jail2/sys/boot/arm/at91/boot2/Makefile#1 branch .. //depot/projects/jail2/sys/boot/arm/at91/boot2/boot2.c#1 branch .. //depot/projects/jail2/sys/boot/arm/at91/boot2/kb920x_board.c#1 branch .. //depot/projects/jail2/sys/boot/arm/at91/bootiic/env_vars.c#2 integrate .. //depot/projects/jail2/sys/boot/arm/at91/bootiic/loader_prompt.c#2 integrate .. //depot/projects/jail2/sys/boot/arm/at91/bootspi/Makefile#3 integrate .. //depot/projects/jail2/sys/boot/arm/at91/bootspi/arm_init.S#2 integrate .. //depot/projects/jail2/sys/boot/arm/at91/bootspi/ee.c#1 branch .. //depot/projects/jail2/sys/boot/arm/at91/bootspi/ee.h#1 branch .. //depot/projects/jail2/sys/boot/arm/at91/bootspi/env_vars.c#2 integrate .. //depot/projects/jail2/sys/boot/arm/at91/bootspi/loader_prompt.c#2 integrate .. //depot/projects/jail2/sys/boot/arm/at91/bootspi/main.c#3 integrate .. //depot/projects/jail2/sys/boot/arm/at91/libat91/Makefile#3 integrate .. //depot/projects/jail2/sys/boot/arm/at91/libat91/at91rm9200.h#3 integrate .. //depot/projects/jail2/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.c#2 integrate .. //depot/projects/jail2/sys/boot/arm/at91/libat91/emac.c#3 integrate .. //depot/projects/jail2/sys/boot/arm/at91/libat91/emac.h#3 integrate .. //depot/projects/jail2/sys/boot/arm/at91/libat91/emac_init.c#2 integrate .. //depot/projects/jail2/sys/boot/arm/at91/libat91/lib.h#3 integrate .. //depot/projects/jail2/sys/boot/arm/at91/libat91/lib_AT91RM9200.h#2 integrate .. //depot/projects/jail2/sys/boot/arm/at91/libat91/mci_device.c#2 integrate .. //depot/projects/jail2/sys/boot/arm/at91/libat91/mci_device.h#2 integrate .. //depot/projects/jail2/sys/boot/arm/at91/libat91/memcmp.c#1 branch .. //depot/projects/jail2/sys/boot/arm/at91/libat91/memcpy.c#1 branch .. //depot/projects/jail2/sys/boot/arm/at91/libat91/memset.c#1 branch .. //depot/projects/jail2/sys/boot/arm/at91/libat91/p_string.c#3 integrate .. //depot/projects/jail2/sys/boot/arm/at91/libat91/printf.c#2 integrate .. //depot/projects/jail2/sys/boot/arm/at91/libat91/putchar.c#2 integrate .. //depot/projects/jail2/sys/boot/arm/at91/libat91/sd-card.c#2 integrate .. //depot/projects/jail2/sys/boot/arm/at91/libat91/spi_flash.c#2 integrate .. //depot/projects/jail2/sys/boot/arm/at91/libat91/strcmp.c#1 branch .. //depot/projects/jail2/sys/boot/arm/at91/libat91/strcpy.c#1 branch .. //depot/projects/jail2/sys/boot/arm/at91/libat91/strcvt.c#1 branch .. //depot/projects/jail2/sys/boot/arm/at91/libat91/strlen.c#1 branch .. //depot/projects/jail2/sys/boot/common/Makefile.inc#2 integrate .. //depot/projects/jail2/sys/boot/common/bootstrap.h#2 integrate .. //depot/projects/jail2/sys/boot/common/devopen.c#2 integrate .. //depot/projects/jail2/sys/boot/common/help.common#3 integrate .. //depot/projects/jail2/sys/boot/common/load_elf.c#2 integrate .. //depot/projects/jail2/sys/boot/common/loader.8#3 integrate .. //depot/projects/jail2/sys/boot/efi/include/efi.h#2 integrate .. //depot/projects/jail2/sys/boot/efi/include/efi_nii.h#2 integrate .. //depot/projects/jail2/sys/boot/efi/include/efiapi.h#2 integrate .. //depot/projects/jail2/sys/boot/efi/include/eficon.h#2 integrate .. //depot/projects/jail2/sys/boot/efi/include/efidebug.h#2 integrate .. //depot/projects/jail2/sys/boot/efi/include/efidef.h#2 integrate .. //depot/projects/jail2/sys/boot/efi/include/efidevp.h#2 integrate .. //depot/projects/jail2/sys/boot/efi/include/efierr.h#2 integrate .. //depot/projects/jail2/sys/boot/efi/include/efifs.h#2 integrate .. //depot/projects/jail2/sys/boot/efi/include/efilib.h#2 integrate .. //depot/projects/jail2/sys/boot/efi/include/efinet.h#2 integrate .. //depot/projects/jail2/sys/boot/efi/include/efipart.h#2 integrate .. //depot/projects/jail2/sys/boot/efi/include/efiprot.h#2 integrate .. //depot/projects/jail2/sys/boot/efi/include/efipxebc.h#2 integrate .. //depot/projects/jail2/sys/boot/efi/include/efiser.h#2 integrate .. //depot/projects/jail2/sys/boot/efi/include/efistdarg.h#2 integrate .. //depot/projects/jail2/sys/boot/efi/include/i386/efibind.h#2 integrate .. //depot/projects/jail2/sys/boot/efi/include/i386/pe.h#2 integrate .. //depot/projects/jail2/sys/boot/efi/include/ia64/efibind.h#2 integrate .. //depot/projects/jail2/sys/boot/efi/include/ia64/pe.h#2 integrate .. //depot/projects/jail2/sys/boot/efi/libefi/devicename.c#2 integrate .. //depot/projects/jail2/sys/boot/efi/libefi/efiboot.h#2 integrate .. //depot/projects/jail2/sys/boot/efi/libefi/efifs.c#2 integrate .. //depot/projects/jail2/sys/boot/efi/libefi/libefi.c#2 integrate .. //depot/projects/jail2/sys/boot/forth/support.4th#2 integrate .. //depot/projects/jail2/sys/boot/i386/boot2/boot2.c#2 integrate .. //depot/projects/jail2/sys/boot/i386/libi386/bioscd.c#2 integrate .. //depot/projects/jail2/sys/boot/i386/libi386/biosdisk.c#2 integrate .. //depot/projects/jail2/sys/boot/i386/libi386/bootinfo32.c#2 integrate .. //depot/projects/jail2/sys/boot/i386/libi386/devicename.c#2 integrate .. //depot/projects/jail2/sys/boot/i386/libi386/elf32_freebsd.c#2 integrate .. //depot/projects/jail2/sys/boot/i386/libi386/elf64_freebsd.c#3 integrate .. //depot/projects/jail2/sys/boot/i386/libi386/libi386.h#3 integrate .. //depot/projects/jail2/sys/boot/i386/loader/Makefile#2 integrate .. //depot/projects/jail2/sys/boot/i386/loader/main.c#3 integrate .. //depot/projects/jail2/sys/boot/ia64/efi/main.c#2 integrate .. //depot/projects/jail2/sys/boot/ia64/ski/acpi_stub.c#2 integrate .. //depot/projects/jail2/sys/boot/ia64/ski/devicename.c#2 integrate .. //depot/projects/jail2/sys/boot/ia64/ski/libski.h#2 integrate .. //depot/projects/jail2/sys/boot/ia64/ski/main.c#2 integrate .. //depot/projects/jail2/sys/boot/ofw/common/main.c#2 integrate .. //depot/projects/jail2/sys/boot/ofw/libofw/Makefile#2 integrate .. //depot/projects/jail2/sys/boot/ofw/libofw/libofw.h#2 integrate .. //depot/projects/jail2/sys/boot/ofw/libofw/openfirm.c#2 integrate .. //depot/projects/jail2/sys/boot/ofw/libofw/openfirm_mmu.c#1 branch .. //depot/projects/jail2/sys/boot/pc98/boot2/boot.c#2 integrate .. //depot/projects/jail2/sys/boot/pc98/libpc98/bioscd.c#2 integrate .. //depot/projects/jail2/sys/boot/pc98/libpc98/biosdisk.c#2 integrate .. //depot/projects/jail2/sys/boot/pc98/loader/Makefile#2 integrate .. //depot/projects/jail2/sys/boot/pc98/loader/main.c#3 integrate .. //depot/projects/jail2/sys/boot/sparc64/loader/hcall.S#1 branch .. //depot/projects/jail2/sys/boot/sparc64/loader/main.c#2 integrate .. //depot/projects/jail2/sys/cam/cam_ccb.h#2 integrate .. //depot/projects/jail2/sys/cam/cam_xpt.c#4 integrate .. //depot/projects/jail2/sys/cam/scsi/scsi_all.h#3 integrate .. //depot/projects/jail2/sys/cam/scsi/scsi_da.c#4 integrate .. //depot/projects/jail2/sys/cam/scsi/scsi_low.c#2 integrate .. //depot/projects/jail2/sys/compat/freebsd32/freebsd32_proto.h#8 integrate .. //depot/projects/jail2/sys/compat/freebsd32/freebsd32_syscall.h#8 integrate .. //depot/projects/jail2/sys/compat/freebsd32/freebsd32_syscalls.c#8 integrate .. //depot/projects/jail2/sys/compat/freebsd32/freebsd32_sysent.c#8 integrate .. //depot/projects/jail2/sys/compat/freebsd32/syscalls.master#8 integrate .. //depot/projects/jail2/sys/compat/linprocfs/linprocfs.c#4 integrate .. //depot/projects/jail2/sys/compat/linux/linux_emul.c#3 integrate .. //depot/projects/jail2/sys/compat/linux/linux_emul.h#2 integrate .. //depot/projects/jail2/sys/compat/linux/linux_file.c#5 integrate .. //depot/projects/jail2/sys/compat/linux/linux_getcwd.c#2 integrate .. //depot/projects/jail2/sys/compat/linux/linux_ipc.c#3 integrate .. //depot/projects/jail2/sys/compat/linux/linux_misc.c#7 integrate .. //depot/projects/jail2/sys/compat/linux/linux_misc.h#1 branch .. //depot/projects/jail2/sys/compat/linux/linux_signal.c#3 integrate .. //depot/projects/jail2/sys/compat/linux/linux_signal.h#2 integrate .. //depot/projects/jail2/sys/compat/linux/linux_stats.c#4 integrate .. //depot/projects/jail2/sys/compat/svr4/svr4_fcntl.c#2 integrate .. //depot/projects/jail2/sys/compat/svr4/svr4_misc.c#4 integrate .. //depot/projects/jail2/sys/conf/NOTES#8 integrate .. //depot/projects/jail2/sys/conf/files#7 integrate .. //depot/projects/jail2/sys/conf/files.amd64#6 integrate .. //depot/projects/jail2/sys/conf/files.i386#5 integrate .. //depot/projects/jail2/sys/conf/files.ia64#3 integrate .. //depot/projects/jail2/sys/conf/files.pc98#3 integrate .. //depot/projects/jail2/sys/conf/files.powerpc#4 integrate .. //depot/projects/jail2/sys/conf/files.sparc64#2 integrate .. //depot/projects/jail2/sys/conf/files.sun4v#2 integrate .. //depot/projects/jail2/sys/conf/kern.post.mk#4 integrate .. //depot/projects/jail2/sys/conf/kern.pre.mk#4 integrate .. //depot/projects/jail2/sys/conf/kmod.mk#3 integrate .. //depot/projects/jail2/sys/conf/options#7 integrate .. //depot/projects/jail2/sys/conf/options.sparc64#2 integrate .. //depot/projects/jail2/sys/contrib/pf/net/pf.c#3 integrate .. //depot/projects/jail2/sys/crypto/sha2/sha2.c#3 integrate .. //depot/projects/jail2/sys/ddb/db_command.c#4 integrate .. //depot/projects/jail2/sys/ddb/db_examine.c#2 integrate .. //depot/projects/jail2/sys/ddb/db_output.c#3 integrate .. //depot/projects/jail2/sys/ddb/db_output.h#3 integrate .. //depot/projects/jail2/sys/ddb/db_ps.c#4 integrate .. //depot/projects/jail2/sys/dev/aac/aac_cam.c#3 integrate .. //depot/projects/jail2/sys/dev/aac/aac_pci.c#3 integrate .. //depot/projects/jail2/sys/dev/acpi_support/acpi_aiboost.c#1 branch .. //depot/projects/jail2/sys/dev/acpi_support/acpi_sony.c#2 integrate .. //depot/projects/jail2/sys/dev/advansys/advansys.c#2 integrate .. //depot/projects/jail2/sys/dev/advansys/advlib.c#2 integrate .. //depot/projects/jail2/sys/dev/advansys/adwcam.c#2 integrate .. //depot/projects/jail2/sys/dev/aha/aha.c#2 integrate .. //depot/projects/jail2/sys/dev/ahb/ahb.c#2 integrate .. //depot/projects/jail2/sys/dev/aic/aic.c#2 integrate .. //depot/projects/jail2/sys/dev/aic7xxx/aic79xx_osm.c#2 integrate .. //depot/projects/jail2/sys/dev/aic7xxx/aic79xx_osm.h#2 integrate .. //depot/projects/jail2/sys/dev/aic7xxx/aic7xxx_osm.c#3 integrate .. //depot/projects/jail2/sys/dev/aic7xxx/aic7xxx_osm.h#2 integrate .. //depot/projects/jail2/sys/dev/amd/amd.c#2 integrate .. //depot/projects/jail2/sys/dev/amr/amr.c#3 integrate .. //depot/projects/jail2/sys/dev/amr/amr_cam.c#2 integrate .. //depot/projects/jail2/sys/dev/amr/amr_disk.c#2 integrate .. //depot/projects/jail2/sys/dev/arcmsr/arcmsr.c#3 integrate .. //depot/projects/jail2/sys/dev/asr/asr.c#2 integrate .. //depot/projects/jail2/sys/dev/ata/ata-chipset.c#6 integrate .. //depot/projects/jail2/sys/dev/ata/ata-disk.c#4 integrate .. //depot/projects/jail2/sys/dev/ata/ata-raid.c#3 integrate .. //depot/projects/jail2/sys/dev/ata/atapi-cam.c#2 integrate .. //depot/projects/jail2/sys/dev/ath/if_athvar.h#5 integrate .. //depot/projects/jail2/sys/dev/atkbdc/atkbd.c#3 integrate .. //depot/projects/jail2/sys/dev/awi/if_awi_pccard.c#2 integrate .. //depot/projects/jail2/sys/dev/bce/if_bce.c#5 integrate .. //depot/projects/jail2/sys/dev/bce/if_bcereg.h#2 integrate .. //depot/projects/jail2/sys/dev/bge/if_bge.c#8 integrate .. //depot/projects/jail2/sys/dev/buslogic/bt.c#2 integrate .. //depot/projects/jail2/sys/dev/ciss/ciss.c#2 integrate .. //depot/projects/jail2/sys/dev/dc/if_dc.c#3 integrate .. //depot/projects/jail2/sys/dev/dpt/dpt_scsi.c#3 integrate .. //depot/projects/jail2/sys/dev/em/if_em.c#7 integrate .. //depot/projects/jail2/sys/dev/em/if_em.h#4 integrate .. //depot/projects/jail2/sys/dev/em/if_em_hw.c#3 integrate .. //depot/projects/jail2/sys/dev/em/if_em_hw.h#3 integrate .. //depot/projects/jail2/sys/dev/em/if_em_osdep.h#3 integrate .. //depot/projects/jail2/sys/dev/esp/ncr53c9x.c#2 integrate .. //depot/projects/jail2/sys/dev/firewire/sbp.c#2 integrate .. //depot/projects/jail2/sys/dev/iir/iir.c#2 integrate .. //depot/projects/jail2/sys/dev/ipmi/ipmi.c#4 integrate .. //depot/projects/jail2/sys/dev/isp/isp.c#4 integrate .. //depot/projects/jail2/sys/dev/isp/isp_freebsd.c#5 integrate .. //depot/projects/jail2/sys/dev/isp/isp_freebsd.h#5 integrate .. //depot/projects/jail2/sys/dev/isp/isp_library.c#3 integrate .. //depot/projects/jail2/sys/dev/isp/isp_library.h#2 integrate .. //depot/projects/jail2/sys/dev/isp/isp_pci.c#5 integrate .. //depot/projects/jail2/sys/dev/isp/isp_sbus.c#4 integrate .. //depot/projects/jail2/sys/dev/isp/isp_stds.h#1 branch .. //depot/projects/jail2/sys/dev/isp/isp_target.c#3 integrate .. //depot/projects/jail2/sys/dev/isp/isp_target.h#3 integrate .. //depot/projects/jail2/sys/dev/isp/isp_tpublic.h#3 integrate .. //depot/projects/jail2/sys/dev/isp/ispmbox.h#3 integrate .. //depot/projects/jail2/sys/dev/isp/ispreg.h#3 integrate .. //depot/projects/jail2/sys/dev/isp/ispvar.h#3 integrate .. //depot/projects/jail2/sys/dev/ispfw/asm_2300.h#2 integrate .. //depot/projects/jail2/sys/dev/iwi/if_iwi.c#3 integrate .. //depot/projects/jail2/sys/dev/iwi/if_iwireg.h#2 integrate .. //depot/projects/jail2/sys/dev/md/md.c#2 integrate .. //depot/projects/jail2/sys/dev/mfi/mfi.c#7 integrate .. //depot/projects/jail2/sys/dev/mfi/mfi_debug.c#2 integrate .. //depot/projects/jail2/sys/dev/mfi/mfi_disk.c#3 integrate .. //depot/projects/jail2/sys/dev/mfi/mfireg.h#4 integrate .. //depot/projects/jail2/sys/dev/mfi/mfivar.h#5 integrate .. //depot/projects/jail2/sys/dev/mly/mly.c#2 integrate .. //depot/projects/jail2/sys/dev/mmc/bridge.h#1 branch .. //depot/projects/jail2/sys/dev/mmc/mmc.c#1 branch .. //depot/projects/jail2/sys/dev/mmc/mmcbr_if.m#1 branch .. //depot/projects/jail2/sys/dev/mmc/mmcbrvar.h#1 branch .. //depot/projects/jail2/sys/dev/mmc/mmcbus_if.m#1 branch .. //depot/projects/jail2/sys/dev/mmc/mmcreg.h#1 branch .. //depot/projects/jail2/sys/dev/mmc/mmcsd.c#1 branch .. //depot/projects/jail2/sys/dev/mmc/mmcvar.h#1 branch .. //depot/projects/jail2/sys/dev/mpt/mpt_cam.c#6 integrate .. //depot/projects/jail2/sys/dev/mpt/mpt_raid.c#3 integrate .. //depot/projects/jail2/sys/dev/mxge/if_mxge.c#4 integrate .. //depot/projects/jail2/sys/dev/nfe/if_nfe.c#4 integrate .. //depot/projects/jail2/sys/dev/nfe/if_nfereg.h#3 integrate .. //depot/projects/jail2/sys/dev/ofw/openfirm.c#2 integrate .. //depot/projects/jail2/sys/dev/ofw/openfirm.h#2 integrate .. //depot/projects/jail2/sys/dev/pci/pci.c#4 integrate .. //depot/projects/jail2/sys/dev/pci/pci_if.m#2 integrate .. //depot/projects/jail2/sys/dev/pci/pci_pci.c#2 integrate .. //depot/projects/jail2/sys/dev/pci/pci_private.h#2 integrate .. //depot/projects/jail2/sys/dev/pci/pcivar.h#3 integrate .. //depot/projects/jail2/sys/dev/ray/if_ray.c#2 integrate .. //depot/projects/jail2/sys/dev/sk/if_sk.c#3 integrate .. //depot/projects/jail2/sys/dev/sk/if_skreg.h#3 integrate .. //depot/projects/jail2/sys/dev/sound/midi/sequencer.c#5 integrate .. //depot/projects/jail2/sys/dev/sound/pci/hda/hdac.c#2 integrate .. //depot/projects/jail2/sys/dev/sound/pcm/dsp.c#4 integrate .. //depot/projects/jail2/sys/dev/spibus/spibus.c#2 integrate .. //depot/projects/jail2/sys/dev/sym/sym_hipd.c#2 integrate .. //depot/projects/jail2/sys/dev/trm/trm.c#2 integrate .. //depot/projects/jail2/sys/dev/twa/tw_osl_cam.c#2 integrate .. //depot/projects/jail2/sys/dev/uart/uart_kbd_sun.c#4 integrate .. //depot/projects/jail2/sys/dev/uart/uart_kbd_sun.h#2 integrate .. //depot/projects/jail2/sys/dev/ubsec/ubsec.c#4 integrate .. //depot/projects/jail2/sys/dev/usb/ehci.c#4 integrate .. //depot/projects/jail2/sys/dev/usb/if_aue.c#4 integrate .. //depot/projects/jail2/sys/dev/usb/if_axe.c#3 integrate .. //depot/projects/jail2/sys/dev/usb/if_cdce.c#4 integrate .. //depot/projects/jail2/sys/dev/usb/if_kue.c#3 integrate .. //depot/projects/jail2/sys/dev/usb/if_udav.c#3 integrate .. //depot/projects/jail2/sys/dev/usb/if_ural.c#4 integrate .. //depot/projects/jail2/sys/dev/usb/ohci.c#4 integrate .. //depot/projects/jail2/sys/dev/usb/ubsa.c#3 integrate .. //depot/projects/jail2/sys/dev/usb/uhci.c#3 integrate .. //depot/projects/jail2/sys/dev/usb/ukbd.c#4 integrate .. //depot/projects/jail2/sys/dev/usb/umass.c#3 integrate .. //depot/projects/jail2/sys/dev/usb/usb.c#3 integrate .. //depot/projects/jail2/sys/dev/usb/usb_quirks.c#3 integrate .. //depot/projects/jail2/sys/dev/usb/usbdevs#4 integrate .. //depot/projects/jail2/sys/dev/usb/usbdi.h#3 integrate .. //depot/projects/jail2/sys/dev/usb/uscanner.c#5 integrate .. //depot/projects/jail2/sys/fs/devfs/devfs.h#3 integrate .. //depot/projects/jail2/sys/fs/devfs/devfs_devs.c#4 integrate .. //depot/projects/jail2/sys/fs/devfs/devfs_int.h#2 integrate .. //depot/projects/jail2/sys/fs/devfs/devfs_vnops.c#4 integrate .. //depot/projects/jail2/sys/fs/msdosfs/denode.h#3 integrate .. //depot/projects/jail2/sys/fs/msdosfs/direntry.h#2 integrate .. //depot/projects/jail2/sys/fs/msdosfs/msdosfs_conv.c#3 integrate .. //depot/projects/jail2/sys/fs/msdosfs/msdosfs_denode.c#2 integrate .. //depot/projects/jail2/sys/fs/msdosfs/msdosfs_vnops.c#2 integrate .. //depot/projects/jail2/sys/fs/ntfs/ntfs_vnops.c#2 integrate .. //depot/projects/jail2/sys/fs/nwfs/nwfs_subr.c#3 integrate .. //depot/projects/jail2/sys/fs/procfs/procfs_status.c#3 integrate .. //depot/projects/jail2/sys/fs/smbfs/smbfs_subr.c#2 integrate .. //depot/projects/jail2/sys/geom/concat/g_concat.c#2 integrate .. //depot/projects/jail2/sys/geom/eli/g_eli.c#4 integrate .. //depot/projects/jail2/sys/geom/geom.h#4 integrate .. //depot/projects/jail2/sys/geom/geom_disk.c#2 integrate .. //depot/projects/jail2/sys/geom/geom_disk.h#2 integrate .. //depot/projects/jail2/sys/geom/geom_gpt.c#4 integrate .. //depot/projects/jail2/sys/geom/geom_io.c#2 integrate .. //depot/projects/jail2/sys/geom/geom_slice.c#2 integrate .. //depot/projects/jail2/sys/geom/journal/g_journal.c#1 branch .. //depot/projects/jail2/sys/geom/journal/g_journal.h#1 branch .. //depot/projects/jail2/sys/geom/journal/g_journal_ufs.c#1 branch .. //depot/projects/jail2/sys/geom/mirror/g_mirror.c#4 integrate .. //depot/projects/jail2/sys/geom/mirror/g_mirror.h#2 integrate .. //depot/projects/jail2/sys/geom/mirror/g_mirror_ctl.c#3 integrate .. //depot/projects/jail2/sys/geom/raid3/g_raid3.c#5 integrate .. //depot/projects/jail2/sys/geom/raid3/g_raid3.h#2 integrate .. //depot/projects/jail2/sys/geom/raid3/g_raid3_ctl.c#4 integrate .. //depot/projects/jail2/sys/geom/shsec/g_shsec.c#2 integrate .. //depot/projects/jail2/sys/geom/stripe/g_stripe.c#2 integrate .. //depot/projects/jail2/sys/i386/acpica/Makefile#3 integrate .. //depot/projects/jail2/sys/i386/conf/DEFAULTS#2 integrate .. //depot/projects/jail2/sys/i386/conf/GENERIC#5 integrate .. //depot/projects/jail2/sys/i386/conf/NOTES#6 integrate .. //depot/projects/jail2/sys/i386/i386/db_trace.c#5 integrate .. //depot/projects/jail2/sys/i386/i386/genassym.c#2 integrate .. //depot/projects/jail2/sys/i386/i386/intr_machdep.c#3 integrate .. //depot/projects/jail2/sys/i386/i386/io_apic.c#2 integrate .. //depot/projects/jail2/sys/i386/i386/local_apic.c#5 integrate .. //depot/projects/jail2/sys/i386/i386/machdep.c#5 integrate .. //depot/projects/jail2/sys/i386/i386/mp_machdep.c#3 integrate .. //depot/projects/jail2/sys/i386/i386/pmap.c#5 integrate .. //depot/projects/jail2/sys/i386/i386/support.s#4 integrate .. //depot/projects/jail2/sys/i386/i386/sys_machdep.c#3 integrate .. //depot/projects/jail2/sys/i386/i386/trap.c#4 integrate .. //depot/projects/jail2/sys/i386/ibcs2/ibcs2_misc.c#3 integrate .. //depot/projects/jail2/sys/i386/include/apicvar.h#2 integrate .. //depot/projects/jail2/sys/i386/include/asmacros.h#2 integrate .. //depot/projects/jail2/sys/i386/include/intr_machdep.h#2 integrate .. //depot/projects/jail2/sys/i386/include/profile.h#2 integrate .. //depot/projects/jail2/sys/i386/isa/atpic.c#2 integrate .. //depot/projects/jail2/sys/i386/isa/prof_machdep.c#2 integrate .. //depot/projects/jail2/sys/i386/linux/linux.h#3 integrate .. //depot/projects/jail2/sys/i386/linux/linux_dummy.c#5 integrate .. //depot/projects/jail2/sys/i386/linux/linux_machdep.c#5 integrate .. //depot/projects/jail2/sys/i386/linux/linux_proto.h#6 integrate .. //depot/projects/jail2/sys/i386/linux/linux_syscall.h#6 integrate .. //depot/projects/jail2/sys/i386/linux/linux_sysent.c#6 integrate .. //depot/projects/jail2/sys/i386/linux/syscalls.master#6 integrate .. //depot/projects/jail2/sys/ia64/conf/DEFAULTS#3 integrate .. //depot/projects/jail2/sys/ia64/conf/GENERIC#5 integrate .. //depot/projects/jail2/sys/ia64/conf/NOTES#3 integrate .. //depot/projects/jail2/sys/ia64/ia64/busdma_machdep.c#2 integrate .. //depot/projects/jail2/sys/ia64/ia64/clock.c#3 integrate .. //depot/projects/jail2/sys/ia64/ia64/genassym.c#2 integrate .. //depot/projects/jail2/sys/ia64/ia64/machdep.c#3 integrate .. //depot/projects/jail2/sys/ia64/ia64/nexus.c#2 integrate .. //depot/projects/jail2/sys/ia64/ia64/pmap.c#3 integrate .. //depot/projects/jail2/sys/ia64/ia64/support.S#3 integrate .. //depot/projects/jail2/sys/ia64/ia64/trap.c#4 integrate .. //depot/projects/jail2/sys/kern/init_main.c#5 integrate .. //depot/projects/jail2/sys/kern/init_sysent.c#7 integrate .. //depot/projects/jail2/sys/kern/kern_acct.c#3 integrate .. //depot/projects/jail2/sys/kern/kern_acl.c#3 integrate .. //depot/projects/jail2/sys/kern/kern_alq.c#2 integrate .. //depot/projects/jail2/sys/kern/kern_clock.c#2 integrate .. //depot/projects/jail2/sys/kern/kern_conf.c#2 integrate .. //depot/projects/jail2/sys/kern/kern_environment.c#3 integrate .. //depot/projects/jail2/sys/kern/kern_exec.c#5 integrate .. //depot/projects/jail2/sys/kern/kern_exit.c#4 integrate .. //depot/projects/jail2/sys/kern/kern_fork.c#4 integrate .. //depot/projects/jail2/sys/kern/kern_idle.c#2 integrate .. //depot/projects/jail2/sys/kern/kern_intr.c#3 integrate .. //depot/projects/jail2/sys/kern/kern_jail.c#9 integrate .. //depot/projects/jail2/sys/kern/kern_kse.c#2 integrate .. //depot/projects/jail2/sys/kern/kern_ktrace.c#4 integrate .. //depot/projects/jail2/sys/kern/kern_linker.c#5 integrate .. //depot/projects/jail2/sys/kern/kern_mac.c#4 integrate .. //depot/projects/jail2/sys/kern/kern_malloc.c#3 integrate .. //depot/projects/jail2/sys/kern/kern_mbuf.c#3 integrate .. //depot/projects/jail2/sys/kern/kern_poll.c#2 integrate .. //depot/projects/jail2/sys/kern/kern_proc.c#6 integrate .. //depot/projects/jail2/sys/kern/kern_prot.c#5 integrate .. //depot/projects/jail2/sys/kern/kern_resource.c#5 integrate .. //depot/projects/jail2/sys/kern/kern_shutdown.c#2 integrate .. //depot/projects/jail2/sys/kern/kern_sig.c#4 integrate .. //depot/projects/jail2/sys/kern/kern_subr.c#3 integrate .. //depot/projects/jail2/sys/kern/kern_switch.c#2 integrate .. //depot/projects/jail2/sys/kern/kern_synch.c#2 integrate .. //depot/projects/jail2/sys/kern/kern_sysctl.c#3 integrate .. //depot/projects/jail2/sys/kern/kern_thr.c#5 integrate .. //depot/projects/jail2/sys/kern/kern_thread.c#4 integrate .. //depot/projects/jail2/sys/kern/kern_time.c#4 integrate .. //depot/projects/jail2/sys/kern/kern_timeout.c#2 integrate .. //depot/projects/jail2/sys/kern/kern_umtx.c#6 integrate .. //depot/projects/jail2/sys/kern/link_elf.c#4 integrate .. //depot/projects/jail2/sys/kern/link_elf_obj.c#3 integrate .. //depot/projects/jail2/sys/kern/sched_4bsd.c#4 integrate .. //depot/projects/jail2/sys/kern/sched_ule.c#3 integrate .. //depot/projects/jail2/sys/kern/subr_disk.c#2 integrate .. //depot/projects/jail2/sys/kern/subr_fattime.c#1 branch .. //depot/projects/jail2/sys/kern/subr_prf.c#4 integrate .. //depot/projects/jail2/sys/kern/subr_trap.c#2 integrate .. //depot/projects/jail2/sys/kern/sys_generic.c#4 integrate .. //depot/projects/jail2/sys/kern/sys_pipe.c#2 integrate .. //depot/projects/jail2/sys/kern/sys_process.c#3 integrate .. //depot/projects/jail2/sys/kern/sys_socket.c#3 integrate .. //depot/projects/jail2/sys/kern/syscalls.c#7 integrate .. //depot/projects/jail2/sys/kern/syscalls.master#7 integrate .. //depot/projects/jail2/sys/kern/systrace_args.c#6 integrate .. //depot/projects/jail2/sys/kern/sysv_msg.c#4 integrate .. //depot/projects/jail2/sys/kern/sysv_sem.c#5 integrate .. //depot/projects/jail2/sys/kern/sysv_shm.c#4 integrate .. //depot/projects/jail2/sys/kern/tty.c#6 integrate .. //depot/projects/jail2/sys/kern/tty_cons.c#2 integrate .. //depot/projects/jail2/sys/kern/tty_pts.c#3 integrate .. //depot/projects/jail2/sys/kern/uipc_mbuf.c#3 integrate .. //depot/projects/jail2/sys/kern/uipc_mbuf2.c#2 integrate .. //depot/projects/jail2/sys/kern/uipc_sem.c#3 integrate .. //depot/projects/jail2/sys/kern/uipc_socket.c#7 integrate .. //depot/projects/jail2/sys/kern/uipc_syscalls.c#4 integrate .. //depot/projects/jail2/sys/kern/uipc_usrreq.c#6 integrate .. //depot/projects/jail2/sys/kern/vfs_aio.c#5 integrate .. //depot/projects/jail2/sys/kern/vfs_bio.c#4 integrate .. //depot/projects/jail2/sys/kern/vfs_cluster.c#3 integrate .. //depot/projects/jail2/sys/kern/vfs_lookup.c#4 integrate .. //depot/projects/jail2/sys/kern/vfs_mount.c#7 integrate .. //depot/projects/jail2/sys/kern/vfs_subr.c#6 integrate .. //depot/projects/jail2/sys/kern/vfs_syscalls.c#7 integrate .. //depot/projects/jail2/sys/kern/vfs_vnops.c#3 integrate .. //depot/projects/jail2/sys/modules/acpi/Makefile#2 integrate .. //depot/projects/jail2/sys/modules/acpi/acpi_aiboost/Makefile#1 branch .. //depot/projects/jail2/sys/modules/aio/Makefile#2 integrate .. //depot/projects/jail2/sys/modules/ath_rate_amrr/Makefile#3 integrate .. //depot/projects/jail2/sys/modules/bge/Makefile#2 integrate .. //depot/projects/jail2/sys/modules/geom/Makefile#3 integrate .. //depot/projects/jail2/sys/modules/geom/geom_journal/Makefile#1 branch .. //depot/projects/jail2/sys/modules/linux/Makefile#3 integrate .. //depot/projects/jail2/sys/modules/mem/Makefile#2 integrate .. //depot/projects/jail2/sys/modules/mmc/Makefile#1 branch .. //depot/projects/jail2/sys/modules/mmcsd/Makefile#1 branch .. //depot/projects/jail2/sys/modules/nfe/Makefile#2 integrate .. //depot/projects/jail2/sys/modules/powermac_nvram/Makefile#2 integrate .. //depot/projects/jail2/sys/modules/uart/Makefile#2 integrate .. //depot/projects/jail2/sys/modules/ufs/Makefile#2 integrate .. //depot/projects/jail2/sys/net/bpf.c#3 integrate .. //depot/projects/jail2/sys/net/bridgestp.c#4 integrate .. //depot/projects/jail2/sys/net/bridgestp.h#2 integrate .. //depot/projects/jail2/sys/net/bsd_comp.c#2 integrate .. //depot/projects/jail2/sys/net/if.c#6 integrate .. //depot/projects/jail2/sys/net/if_atmsubr.c#3 integrate .. //depot/projects/jail2/sys/net/if_bridge.c#7 integrate .. //depot/projects/jail2/sys/net/if_bridgevar.h#3 integrate .. //depot/projects/jail2/sys/net/if_ethersubr.c#4 integrate .. //depot/projects/jail2/sys/net/if_fddisubr.c#2 integrate .. //depot/projects/jail2/sys/net/if_fwsubr.c#2 integrate .. //depot/projects/jail2/sys/net/if_gif.c#3 integrate .. //depot/projects/jail2/sys/net/if_iso88025subr.c#2 integrate .. //depot/projects/jail2/sys/net/if_ppp.c#3 integrate .. //depot/projects/jail2/sys/net/if_stf.c#3 integrate .. //depot/projects/jail2/sys/net/if_tap.c#4 integrate .. //depot/projects/jail2/sys/net/if_tun.c#3 integrate .. //depot/projects/jail2/sys/net/if_vlan.c#6 integrate .. //depot/projects/jail2/sys/net/ppp_tty.c#2 integrate .. //depot/projects/jail2/sys/net/rtsock.c#4 integrate .. //depot/projects/jail2/sys/netatalk/aarp.c#2 integrate .. //depot/projects/jail2/sys/netatalk/ddp_input.c#2 integrate .. //depot/projects/jail2/sys/netatalk/ddp_output.c#2 integrate .. //depot/projects/jail2/sys/netgraph/netflow/netflow.c#2 integrate .. //depot/projects/jail2/sys/netgraph/netflow/ng_netflow.c#2 integrate .. //depot/projects/jail2/sys/netgraph/netgraph.h#2 integrate .. //depot/projects/jail2/sys/netgraph/ng_base.c#2 integrate .. //depot/projects/jail2/sys/netgraph/ng_device.c#2 integrate .. //depot/projects/jail2/sys/netgraph/ng_message.h#2 integrate .. //depot/projects/jail2/sys/netgraph/ng_nat.c#2 integrate .. //depot/projects/jail2/sys/netgraph/ng_socket.c#3 integrate .. //depot/projects/jail2/sys/netgraph/ng_socket.h#2 integrate .. //depot/projects/jail2/sys/netinet/if_ether.c#5 integrate .. //depot/projects/jail2/sys/netinet/igmp.c#2 integrate .. //depot/projects/jail2/sys/netinet/in_pcb.c#5 integrate .. //depot/projects/jail2/sys/netinet/in_proto.c#2 integrate .. //depot/projects/jail2/sys/netinet/ip_divert.c#3 integrate .. //depot/projects/jail2/sys/netinet/ip_dummynet.c#2 integrate .. //depot/projects/jail2/sys/netinet/ip_fw2.c#7 integrate .. //depot/projects/jail2/sys/netinet/ip_fw_pfil.c#2 integrate .. //depot/projects/jail2/sys/netinet/ip_icmp.c#2 integrate .. //depot/projects/jail2/sys/netinet/ip_input.c#3 integrate .. //depot/projects/jail2/sys/netinet/ip_mroute.c#3 integrate .. //depot/projects/jail2/sys/netinet/ip_options.c#2 integrate .. //depot/projects/jail2/sys/netinet/ip_output.c#5 integrate .. //depot/projects/jail2/sys/netinet/libalias/libalias.3#4 integrate .. //depot/projects/jail2/sys/netinet/raw_ip.c#5 integrate .. //depot/projects/jail2/sys/netinet/sctp.h#1 branch .. //depot/projects/jail2/sys/netinet/sctp_asconf.c#1 branch .. //depot/projects/jail2/sys/netinet/sctp_asconf.h#1 branch .. //depot/projects/jail2/sys/netinet/sctp_auth.c#1 branch .. //depot/projects/jail2/sys/netinet/sctp_auth.h#1 branch .. //depot/projects/jail2/sys/netinet/sctp_bsd_addr.c#1 branch .. //depot/projects/jail2/sys/netinet/sctp_bsd_addr.h#1 branch .. //depot/projects/jail2/sys/netinet/sctp_constants.h#1 branch .. //depot/projects/jail2/sys/netinet/sctp_crc32.c#1 branch .. //depot/projects/jail2/sys/netinet/sctp_crc32.h#1 branch .. //depot/projects/jail2/sys/netinet/sctp_header.h#1 branch .. //depot/projects/jail2/sys/netinet/sctp_indata.c#1 branch .. //depot/projects/jail2/sys/netinet/sctp_indata.h#1 branch .. //depot/projects/jail2/sys/netinet/sctp_input.c#1 branch .. //depot/projects/jail2/sys/netinet/sctp_input.h#1 branch .. //depot/projects/jail2/sys/netinet/sctp_lock_bsd.h#1 branch .. //depot/projects/jail2/sys/netinet/sctp_os.h#1 branch .. //depot/projects/jail2/sys/netinet/sctp_os_bsd.h#1 branch .. //depot/projects/jail2/sys/netinet/sctp_output.c#1 branch .. //depot/projects/jail2/sys/netinet/sctp_output.h#1 branch .. //depot/projects/jail2/sys/netinet/sctp_pcb.c#1 branch .. //depot/projects/jail2/sys/netinet/sctp_pcb.h#1 branch .. //depot/projects/jail2/sys/netinet/sctp_peeloff.c#1 branch .. //depot/projects/jail2/sys/netinet/sctp_peeloff.h#1 branch .. //depot/projects/jail2/sys/netinet/sctp_structs.h#1 branch .. //depot/projects/jail2/sys/netinet/sctp_timer.c#1 branch .. //depot/projects/jail2/sys/netinet/sctp_timer.h#1 branch .. //depot/projects/jail2/sys/netinet/sctp_uio.h#1 branch .. //depot/projects/jail2/sys/netinet/sctp_usrreq.c#1 branch .. //depot/projects/jail2/sys/netinet/sctp_var.h#1 branch .. //depot/projects/jail2/sys/netinet/sctputil.c#1 branch .. //depot/projects/jail2/sys/netinet/sctputil.h#1 branch .. //depot/projects/jail2/sys/netinet/tcp_input.c#7 integrate .. //depot/projects/jail2/sys/netinet/tcp_output.c#4 integrate .. //depot/projects/jail2/sys/netinet/tcp_subr.c#6 integrate .. //depot/projects/jail2/sys/netinet/tcp_syncache.c#4 integrate .. //depot/projects/jail2/sys/netinet/udp_usrreq.c#5 integrate .. //depot/projects/jail2/sys/netinet6/in6_ifattach.c#5 integrate .. //depot/projects/jail2/sys/netinet6/in6_proto.c#3 integrate .. //depot/projects/jail2/sys/netinet6/nd6.c#5 integrate .. //depot/projects/jail2/sys/netinet6/sctp6_usrreq.c#1 branch .. //depot/projects/jail2/sys/netinet6/sctp6_var.h#1 branch .. //depot/projects/jail2/sys/nfsclient/nfs.h#2 integrate .. //depot/projects/jail2/sys/nfsclient/nfs_socket.c#4 integrate .. //depot/projects/jail2/sys/nfsclient/nfs_vnops.c#5 integrate .. //depot/projects/jail2/sys/nfsserver/nfs_serv.c#2 integrate .. //depot/projects/jail2/sys/nfsserver/nfs_srvsock.c#3 integrate .. //depot/projects/jail2/sys/nfsserver/nfs_syscalls.c#3 integrate .. //depot/projects/jail2/sys/pc98/conf/DEFAULTS#2 integrate .. //depot/projects/jail2/sys/pc98/conf/GENERIC#5 integrate .. //depot/projects/jail2/sys/pc98/conf/NOTES#3 integrate .. //depot/projects/jail2/sys/pc98/pc98/machdep.c#4 integrate .. //depot/projects/jail2/sys/pci/agp.c#3 integrate .. //depot/projects/jail2/sys/pci/agp_amd64.c#3 integrate .. //depot/projects/jail2/sys/pci/if_sis.c#3 integrate .. //depot/projects/jail2/sys/pci/ncr.c#3 integrate .. //depot/projects/jail2/sys/pci/nfsmb.c#4 integrate .. //depot/projects/jail2/sys/posix4/ksched.c#3 integrate .. //depot/projects/jail2/sys/powerpc/conf/DEFAULTS#2 integrate .. //depot/projects/jail2/sys/powerpc/conf/GENERIC#5 integrate .. //depot/projects/jail2/sys/powerpc/conf/NOTES#3 integrate .. //depot/projects/jail2/sys/powerpc/powerpc/copyinout.c#3 integrate .. //depot/projects/jail2/sys/powerpc/powerpc/db_interface.c#2 integrate .. //depot/projects/jail2/sys/powerpc/powerpc/genassym.c#2 integrate .. //depot/projects/jail2/sys/powerpc/powerpc/machdep.c#3 integrate .. //depot/projects/jail2/sys/powerpc/powerpc/trap.c#4 integrate .. //depot/projects/jail2/sys/security/audit/audit_syscalls.c#4 integrate .. //depot/projects/jail2/sys/security/mac/mac_framework.h#2 integrate .. //depot/projects/jail2/sys/security/mac/mac_inet.c#4 integrate .. //depot/projects/jail2/sys/security/mac/mac_label.c#2 integrate .. //depot/projects/jail2/sys/security/mac/mac_net.c#3 integrate .. //depot/projects/jail2/sys/security/mac/mac_pipe.c#3 integrate .. //depot/projects/jail2/sys/security/mac/mac_posix_sem.c#3 integrate .. //depot/projects/jail2/sys/security/mac/mac_process.c#3 integrate .. //depot/projects/jail2/sys/security/mac/mac_socket.c#3 integrate .. //depot/projects/jail2/sys/security/mac/mac_system.c#2 integrate .. //depot/projects/jail2/sys/security/mac/mac_sysv_msg.c#3 integrate .. //depot/projects/jail2/sys/security/mac/mac_sysv_sem.c#3 integrate .. //depot/projects/jail2/sys/security/mac/mac_sysv_shm.c#3 integrate .. //depot/projects/jail2/sys/security/mac/mac_vfs.c#4 integrate .. //depot/projects/jail2/sys/security/mac_lomac/mac_lomac.c#3 integrate .. //depot/projects/jail2/sys/security/mac_portacl/mac_portacl.c#2 integrate .. //depot/projects/jail2/sys/sparc64/conf/DEFAULTS#2 integrate .. //depot/projects/jail2/sys/sparc64/conf/GENERIC#5 integrate .. //depot/projects/jail2/sys/sparc64/conf/NOTES#3 integrate .. //depot/projects/jail2/sys/sparc64/include/asi.h#2 integrate .. //depot/projects/jail2/sys/sparc64/include/endian.h#2 integrate .. //depot/projects/jail2/sys/sparc64/pci/ofw_pcib.c#2 integrate .. //depot/projects/jail2/sys/sparc64/pci/ofw_pcib_subr.c#2 integrate .. //depot/projects/jail2/sys/sparc64/pci/ofw_pcibus.c#2 integrate .. //depot/projects/jail2/sys/sparc64/sparc64/db_interface.c#2 integrate .. //depot/projects/jail2/sys/sparc64/sparc64/genassym.c#2 integrate .. //depot/projects/jail2/sys/sparc64/sparc64/machdep.c#2 integrate .. //depot/projects/jail2/sys/sparc64/sparc64/support.S#3 integrate .. //depot/projects/jail2/sys/sparc64/sparc64/trap.c#3 integrate .. //depot/projects/jail2/sys/sun4v/conf/DEFAULTS#2 integrate .. //depot/projects/jail2/sys/sun4v/conf/GENERIC#2 integrate .. //depot/projects/jail2/sys/sun4v/conf/NOTES#2 integrate .. //depot/projects/jail2/sys/sun4v/include/asi.h#2 integrate .. //depot/projects/jail2/sys/sun4v/include/elf.h#2 integrate .. //depot/projects/jail2/sys/sun4v/include/endian.h#2 integrate .. //depot/projects/jail2/sys/sun4v/include/hypervisor_api.h#2 integrate .. //depot/projects/jail2/sys/sun4v/include/hypervisorvar.h#2 integrate .. //depot/projects/jail2/sys/sun4v/include/trap.h#2 integrate .. //depot/projects/jail2/sys/sun4v/include/tte.h#2 integrate .. //depot/projects/jail2/sys/sun4v/include/utrap.h#2 integrate .. //depot/projects/jail2/sys/sun4v/sun4v/exception.S#2 integrate .. //depot/projects/jail2/sys/sun4v/sun4v/fpemu.c#2 delete .. //depot/projects/jail2/sys/sun4v/sun4v/genassym.c#2 delete .. //depot/projects/jail2/sys/sun4v/sun4v/hcall.S#2 integrate .. //depot/projects/jail2/sys/sun4v/sun4v/hvcons.c#2 integrate .. //depot/projects/jail2/sys/sun4v/sun4v/machdep.c#2 integrate .. //depot/projects/jail2/sys/sun4v/sun4v/pmap.c#2 integrate .. //depot/projects/jail2/sys/sun4v/sun4v/support.S#2 integrate .. //depot/projects/jail2/sys/sun4v/sun4v/t1_copy.S#2 integrate .. //depot/projects/jail2/sys/sun4v/sun4v/trap.c#2 integrate .. //depot/projects/jail2/sys/sun4v/sun4v/tsb.c#2 integrate .. //depot/projects/jail2/sys/sun4v/sun4v/vnex.c#2 integrate .. //depot/projects/jail2/sys/sun4v/sun4v/wbuf.S#2 integrate .. //depot/projects/jail2/sys/sys/bio.h#2 integrate .. //depot/projects/jail2/sys/sys/clock.h#3 integrate .. //depot/projects/jail2/sys/sys/conf.h#2 integrate .. //depot/projects/jail2/sys/sys/cons.h#2 integrate .. //depot/projects/jail2/sys/sys/elf32.h#3 integrate .. //depot/projects/jail2/sys/sys/elf64.h#3 integrate .. //depot/projects/jail2/sys/sys/libkern.h#3 integrate .. //depot/projects/jail2/sys/sys/mac.h#3 integrate .. //depot/projects/jail2/sys/sys/mac_policy.h#4 integrate .. //depot/projects/jail2/sys/sys/mbuf.h#5 integrate .. //depot/projects/jail2/sys/sys/mount.h#4 integrate .. //depot/projects/jail2/sys/sys/param.h#6 integrate .. //depot/projects/jail2/sys/sys/pcpu.h#2 integrate .. //depot/projects/jail2/sys/sys/proc.h#4 integrate .. //depot/projects/jail2/sys/sys/queue.h#2 integrate .. //depot/projects/jail2/sys/sys/rtprio.h#3 integrate .. //depot/projects/jail2/sys/sys/rwlock.h#3 integrate .. //depot/projects/jail2/sys/sys/sched.h#3 integrate .. //depot/projects/jail2/sys/sys/sem.h#2 integrate .. //depot/projects/jail2/sys/sys/socket.h#3 integrate .. //depot/projects/jail2/sys/sys/soundcard.h#3 integrate .. //depot/projects/jail2/sys/sys/syscall.h#7 integrate .. //depot/projects/jail2/sys/sys/syscall.mk#7 integrate .. //depot/projects/jail2/sys/sys/sysproto.h#7 integrate .. //depot/projects/jail2/sys/sys/systm.h#6 integrate .. //depot/projects/jail2/sys/sys/umtx.h#4 integrate .. //depot/projects/jail2/sys/sys/vnode.h#2 integrate .. //depot/projects/jail2/sys/ufs/ffs/ffs_extern.h#2 integrate .. //depot/projects/jail2/sys/ufs/ffs/ffs_inode.c#2 integrate .. //depot/projects/jail2/sys/ufs/ffs/ffs_snapshot.c#4 integrate .. //depot/projects/jail2/sys/ufs/ffs/ffs_softdep.c#4 integrate .. //depot/projects/jail2/sys/ufs/ffs/ffs_vfsops.c#4 integrate .. //depot/projects/jail2/sys/ufs/ffs/ffs_vnops.c#2 integrate .. //depot/projects/jail2/sys/ufs/ffs/fs.h#2 integrate .. //depot/projects/jail2/sys/ufs/ufs/gjournal.h#1 branch .. //depot/projects/jail2/sys/ufs/ufs/inode.h#3 integrate .. //depot/projects/jail2/sys/ufs/ufs/ufs_gjournal.c#1 branch .. //depot/projects/jail2/sys/ufs/ufs/ufs_inode.c#2 integrate .. //depot/projects/jail2/sys/ufs/ufs/ufs_vnops.c#5 integrate .. //depot/projects/jail2/sys/vm/device_pager.c#3 integrate .. //depot/projects/jail2/sys/vm/phys_pager.c#2 integrate .. //depot/projects/jail2/sys/vm/swap_pager.c#3 integrate .. //depot/projects/jail2/sys/vm/uma_core.c#3 integrate .. //depot/projects/jail2/sys/vm/vm_contig.c#4 integrate .. //depot/projects/jail2/sys/vm/vm_fault.c#3 integrate .. //depot/projects/jail2/sys/vm/vm_glue.c#2 integrate .. //depot/projects/jail2/sys/vm/vm_kern.c#2 integrate .. //depot/projects/jail2/sys/vm/vm_map.c#4 integrate .. //depot/projects/jail2/sys/vm/vm_mmap.c#3 integrate .. //depot/projects/jail2/sys/vm/vm_object.c#5 integrate .. //depot/projects/jail2/sys/vm/vm_page.c#6 integrate .. //depot/projects/jail2/sys/vm/vm_page.h#5 integrate .. //depot/projects/jail2/sys/vm/vm_pageout.c#4 integrate .. //depot/projects/jail2/sys/vm/vm_zeroidle.c#3 integrate .. //depot/projects/jail2/sys/vm/vnode_pager.c#3 integrate Differences ... ==== //depot/projects/jail2/sys/amd64/amd64/busdma_machdep.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.77 2006/06/01 04:49:29 silby Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.78 2006/10/15 16:52:59 hrs Exp $"); #include #include @@ -520,7 +520,7 @@ __func__, dmat, dmat->flags, ENOMEM); return (ENOMEM); } else if ((uintptr_t)*vaddr & (dmat->alignment - 1)) { - printf("bus_dmamem_alloc failed to align memory properly."); + printf("bus_dmamem_alloc failed to align memory properly.\n"); } CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d", __func__, dmat, dmat->flags, ENOMEM); ==== //depot/projects/jail2/sys/amd64/amd64/db_trace.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.75 2006/07/12 21:22:42 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.76 2006/10/20 09:44:20 bde Exp $"); #include #include @@ -91,6 +91,7 @@ { "r15", DB_OFFSET(tf_r15), db_frame }, { "rip", DB_OFFSET(tf_rip), db_frame }, { "rflags", DB_OFFSET(tf_rflags), db_frame }, +#define DB_N_SHOW_REGS 20 /* Don't show registers after here. */ { "dr0", NULL, db_dr0 }, { "dr1", NULL, db_dr1 }, { "dr2", NULL, db_dr2 }, @@ -100,7 +101,7 @@ { "dr6", NULL, db_dr6 }, { "dr7", NULL, db_dr7 }, }; -struct db_variable *db_eregs = db_regs + sizeof(db_regs)/sizeof(db_regs[0]); +struct db_variable *db_eregs = db_regs + DB_N_SHOW_REGS; #define DB_DRX_FUNC(reg) \ static int \ ==== //depot/projects/jail2/sys/amd64/amd64/genassym.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.157 2005/09/27 21:10:10 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.158 2006/11/01 04:54:49 jb Exp $"); #include "opt_compat.h" #include "opt_kstack_pages.h" @@ -185,6 +185,7 @@ ASSYM(PC_FPCURTHREAD, offsetof(struct pcpu, pc_fpcurthread)); ASSYM(PC_IDLETHREAD, offsetof(struct pcpu, pc_idlethread)); ASSYM(PC_CURPCB, offsetof(struct pcpu, pc_curpcb)); +ASSYM(PC_CONS_BUFR, offsetof(struct pcpu, pc_cons_bufr)); ASSYM(PC_CPUID, offsetof(struct pcpu, pc_cpuid)); ASSYM(PC_SCRATCH_RSP, offsetof(struct pcpu, pc_scratch_rsp)); ASSYM(PC_CURPMAP, offsetof(struct pcpu, pc_curpmap)); ==== //depot/projects/jail2/sys/amd64/amd64/intr_machdep.c#3 (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.20 2006/07/12 21:22:42 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.25 2006/10/16 21:40:46 jhb Exp $ */ /* @@ -37,6 +37,7 @@ * that source. */ +#include "opt_atpic.h" #include "opt_ddb.h" #include @@ -55,6 +56,14 @@ #include #endif +#ifndef DEV_ATPIC +#include +#include +#include +#include +#include +#endif + #define MAX_STRAY_LOG 5 typedef void (*mask_fn)(void *); @@ -62,6 +71,7 @@ static int intrcnt_index; static struct intsrc *interrupt_sources[NUM_IO_INTS]; static struct mtx intr_table_lock; +static STAILQ_HEAD(, pic) pics; #ifdef SMP static int assign_cpu; @@ -70,10 +80,45 @@ #endif static void intr_init(void *__dummy); +static int intr_pic_registered(struct pic *pic); static void intrcnt_setname(const char *name, int index); static void intrcnt_updatename(struct intsrc *is); static void intrcnt_register(struct intsrc *is); +static int +intr_pic_registered(struct pic *pic) +{ + struct pic *p; + + STAILQ_FOREACH(p, &pics, pics) { + if (p == pic) + return (1); + } + return (0); +} + +/* + * Register a new interrupt controller (PIC). This is to support suspend + * and resume where we suspend/resume controllers rather than individual + * sources. This also allows controllers with no active sources (such as + * 8259As in a system using the APICs) to participate in suspend and resume. + */ +int +intr_register_pic(struct pic *pic) +{ + int error; + + mtx_lock_spin(&intr_table_lock); + if (intr_pic_registered(pic)) + error = EBUSY; + else { + STAILQ_INSERT_TAIL(&pics, pic, pics); + error = 0; + } + mtx_unlock_spin(&intr_table_lock); + return (error); +} + /* * Register a new interrupt source with the global interrupt system. * The global interrupts need to be disabled when this function is @@ -84,6 +129,7 @@ { int error, vector; + KASSERT(intr_pic_registered(isrc->is_pic), ("unregistered PIC")); vector = isrc->is_pic->pic_vector(isrc); if (interrupt_sources[vector] != NULL) return (EEXIST); @@ -255,26 +301,29 @@ void intr_resume(void) { - struct intsrc **isrc; - int i; + struct pic *pic; +#ifndef DEV_ATPIC + atpic_reset(); +#endif mtx_lock_spin(&intr_table_lock); - for (i = 0, isrc = interrupt_sources; i < NUM_IO_INTS; i++, isrc++) - if (*isrc != NULL && (*isrc)->is_pic->pic_resume != NULL) - (*isrc)->is_pic->pic_resume(*isrc); + STAILQ_FOREACH(pic, &pics, pics) { + if (pic->pic_resume != NULL) + pic->pic_resume(pic); + } mtx_unlock_spin(&intr_table_lock); } void intr_suspend(void) { - struct intsrc **isrc; - int i; + struct pic *pic; mtx_lock_spin(&intr_table_lock); - for (i = 0, isrc = interrupt_sources; i < NUM_IO_INTS; i++, isrc++) - if (*isrc != NULL && (*isrc)->is_pic->pic_suspend != NULL) - (*isrc)->is_pic->pic_suspend(*isrc); + STAILQ_FOREACH(pic, &pics, pics) { + if (pic->pic_suspend != NULL) + pic->pic_suspend(pic); + } mtx_unlock_spin(&intr_table_lock); } @@ -327,10 +376,33 @@ intrcnt_setname("???", 0); intrcnt_index = 1; + STAILQ_INIT(&pics); mtx_init(&intr_table_lock, "intr table", NULL, MTX_SPIN); } SYSINIT(intr_init, SI_SUB_INTR, SI_ORDER_FIRST, intr_init, NULL) +#ifndef DEV_ATPIC +/* Initialize the two 8259A's to a known-good shutdown state. */ +void +atpic_reset(void) +{ + + outb(IO_ICU1, ICW1_RESET | ICW1_IC4); + outb(IO_ICU1 + ICU_IMR_OFFSET, IDT_IO_INTS); + outb(IO_ICU1 + ICU_IMR_OFFSET, 1 << 2); + outb(IO_ICU1 + ICU_IMR_OFFSET, ICW4_8086); + outb(IO_ICU1 + ICU_IMR_OFFSET, 0xff); + outb(IO_ICU1, OCW3_SEL | OCW3_RR); + + outb(IO_ICU2, ICW1_RESET | ICW1_IC4); + outb(IO_ICU2 + ICU_IMR_OFFSET, IDT_IO_INTS + 8); + outb(IO_ICU2 + ICU_IMR_OFFSET, 2); + outb(IO_ICU2 + ICU_IMR_OFFSET, ICW4_8086); + outb(IO_ICU2 + ICU_IMR_OFFSET, 0xff); + outb(IO_ICU2, OCW3_SEL | OCW3_RR); +} +#endif + #ifdef DDB /* * Dump data about interrupt handlers ==== //depot/projects/jail2/sys/amd64/amd64/io_apic.c#2 (text+ko) ==== @@ -28,9 +28,8 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.24 2006/04/05 20:43:19 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.25 2006/10/10 23:23:11 jhb Exp $"); -#include "opt_atpic.h" #include "opt_isa.h" #include @@ -61,8 +60,6 @@ #define IRQ_SMI (NUM_IO_INTS + 3) #define IRQ_DISABLED (NUM_IO_INTS + 4) -#define TODO printf("%s: not implemented!\n", __func__) - static MALLOC_DEFINE(M_IOAPIC, "io_apic", "I/O APIC structures"); /* @@ -115,8 +112,7 @@ 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_resume(struct pic *pic); static void ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id); static void ioapic_program_intpin(struct ioapic_intsrc *intpin); @@ -124,7 +120,7 @@ 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, + NULL, ioapic_resume, ioapic_config_intr, ioapic_assign_cpu }; static int next_ioapic_base; @@ -419,17 +415,13 @@ } static void -ioapic_suspend(struct intsrc *isrc) +ioapic_resume(struct pic *pic) { + struct ioapic *io = (struct ioapic *)pic; + int i; - TODO; -} - -static void >>> TRUNCATED FOR MAIL (1000 lines) <<<