From owner-p4-projects@FreeBSD.ORG Mon Jun 4 19:06:12 2007 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 470E716A469; Mon, 4 Jun 2007 19:06:12 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 23AF916A421 for ; Mon, 4 Jun 2007 19:06:12 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 11F1D13C448 for ; Mon, 4 Jun 2007 19:06:12 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l54J6BeB083654 for ; Mon, 4 Jun 2007 19:06:11 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l54J68uV083594 for perforce@freebsd.org; Mon, 4 Jun 2007 19:06:08 GMT (envelope-from mjacob@freebsd.org) Date: Mon, 4 Jun 2007 19:06:08 GMT Message-Id: <200706041906.l54J68uV083594@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 120926 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, 04 Jun 2007 19:06:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=120926 Change 120926 by mjacob@mjexp on 2007/06/04 19:05:38 IFC Affected files ... .. //depot/projects/mjexp/share/mk/Makefile#3 integrate .. //depot/projects/mjexp/share/mk/bsd.port.options.mk#1 branch .. //depot/projects/mjexp/sys/amd64/amd64/machdep.c#12 integrate .. //depot/projects/mjexp/sys/amd64/amd64/tsc.c#3 integrate .. //depot/projects/mjexp/sys/amd64/include/vmparam.h#4 integrate .. //depot/projects/mjexp/sys/amd64/isa/clock.c#6 integrate .. //depot/projects/mjexp/sys/arm/at91/uart_cpu_at91rm9200usart.c#3 integrate .. //depot/projects/mjexp/sys/arm/include/vmparam.h#4 integrate .. //depot/projects/mjexp/sys/cam/cam_xpt.c#13 integrate .. //depot/projects/mjexp/sys/cam/scsi/scsi_all.c#3 integrate .. //depot/projects/mjexp/sys/compat/opensolaris/kern/opensolaris_kstat.c#2 integrate .. //depot/projects/mjexp/sys/compat/opensolaris/kern/opensolaris_vfs.c#5 integrate .. //depot/projects/mjexp/sys/compat/opensolaris/sys/vfs.h#2 integrate .. //depot/projects/mjexp/sys/conf/Makefile.ia64#4 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/fil.c#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_auth.c#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_auth.h#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_compat.h#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_fil.h#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#3 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_frag.c#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_frag.h#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_ftp_pxy.c#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_htable.c#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_htable.h#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_ipsec_pxy.c#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_irc_pxy.c#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_log.c#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_lookup.c#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_lookup.h#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_nat.c#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_nat.h#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_pool.c#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_pool.h#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_pptp_pxy.c#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_proxy.c#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_proxy.h#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_raudio_pxy.c#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_rcmd_pxy.c#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_rpcb_pxy.c#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_scan.c#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_scan.h#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_state.c#3 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_state.h#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_sync.c#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ip_sync.h#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/ipl.h#2 integrate .. //depot/projects/mjexp/sys/contrib/ipfilter/netinet/mlfk_ipl.c#2 integrate .. //depot/projects/mjexp/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#4 integrate .. //depot/projects/mjexp/sys/dev/acpi_support/acpi_asus.c#3 integrate .. //depot/projects/mjexp/sys/dev/acpi_support/acpi_panasonic.c#2 integrate .. //depot/projects/mjexp/sys/dev/acpica/acpi_cpu.c#5 integrate .. //depot/projects/mjexp/sys/dev/acpica/acpi_ec.c#5 integrate .. //depot/projects/mjexp/sys/dev/acpica/acpi_timer.c#3 integrate .. //depot/projects/mjexp/sys/dev/ath/if_ath.c#12 integrate .. //depot/projects/mjexp/sys/dev/bge/if_bge.c#17 integrate .. //depot/projects/mjexp/sys/dev/cxgb/cxgb_main.c#7 integrate .. //depot/projects/mjexp/sys/dev/gem/if_gem.c#4 integrate .. //depot/projects/mjexp/sys/dev/gem/if_gemreg.h#2 integrate .. //depot/projects/mjexp/sys/dev/gem/if_gemvar.h#4 integrate .. //depot/projects/mjexp/sys/dev/mfi/mfi.c#10 integrate .. //depot/projects/mjexp/sys/dev/mfi/mfivar.h#5 integrate .. //depot/projects/mjexp/sys/dev/mpt/mpilib/mpi.h#2 integrate .. //depot/projects/mjexp/sys/dev/mpt/mpilib/mpi_cnfg.h#2 integrate .. //depot/projects/mjexp/sys/dev/mpt/mpilib/mpi_init.h#2 integrate .. //depot/projects/mjexp/sys/dev/mpt/mpilib/mpi_ioc.h#2 integrate .. //depot/projects/mjexp/sys/dev/mpt/mpilib/mpi_log_fc.h#2 delete .. //depot/projects/mjexp/sys/dev/mpt/mpilib/mpi_log_sas.h#2 delete .. //depot/projects/mjexp/sys/dev/mpt/mpilib/mpi_raid.h#2 integrate .. //depot/projects/mjexp/sys/dev/mpt/mpilib/mpi_sas.h#2 integrate .. //depot/projects/mjexp/sys/dev/mpt/mpilib/mpi_targ.h#2 integrate .. //depot/projects/mjexp/sys/dev/mpt/mpt.c#10 integrate .. //depot/projects/mjexp/sys/dev/mpt/mpt.h#14 integrate .. //depot/projects/mjexp/sys/dev/mpt/mpt_cam.c#23 integrate .. //depot/projects/mjexp/sys/dev/pccbb/pccbb.c#9 integrate .. //depot/projects/mjexp/sys/dev/pccbb/pccbb_pci.c#4 integrate .. //depot/projects/mjexp/sys/dev/pccbb/pccbbvar.h#4 integrate .. //depot/projects/mjexp/sys/dev/sound/clone.c#2 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/atiixp.c#7 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/emu10kx.c#5 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/envy24ht.c#9 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/es137x.c#6 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/hda/hdac.c#13 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/via8233.c#8 integrate .. //depot/projects/mjexp/sys/dev/sound/pcm/ac97.c#8 integrate .. //depot/projects/mjexp/sys/dev/sound/pcm/channel.c#7 integrate .. //depot/projects/mjexp/sys/dev/sound/pcm/dsp.c#8 integrate .. //depot/projects/mjexp/sys/dev/sound/pcm/feeder.c#6 integrate .. //depot/projects/mjexp/sys/dev/sound/pcm/feeder_fmt.c#4 integrate .. //depot/projects/mjexp/sys/dev/sound/pcm/feeder_rate.c#4 integrate .. //depot/projects/mjexp/sys/dev/sound/pcm/feeder_volume.c#4 integrate .. //depot/projects/mjexp/sys/dev/sound/pcm/mixer.c#5 integrate .. //depot/projects/mjexp/sys/dev/sound/pcm/sndstat.c#5 integrate .. //depot/projects/mjexp/sys/dev/sound/pcm/sound.c#7 integrate .. //depot/projects/mjexp/sys/dev/sound/pcm/vchan.c#6 integrate .. //depot/projects/mjexp/sys/dev/sound/usb/uaudio_pcm.c#4 integrate .. //depot/projects/mjexp/sys/dev/speaker/spkr.c#2 integrate .. //depot/projects/mjexp/sys/dev/usb/uplcom.c#4 integrate .. //depot/projects/mjexp/sys/dev/usb/uvscom.c#3 integrate .. //depot/projects/mjexp/sys/geom/cache/g_cache.c#2 integrate .. //depot/projects/mjexp/sys/geom/journal/g_journal.c#5 integrate .. //depot/projects/mjexp/sys/geom/stripe/g_stripe.c#3 integrate .. //depot/projects/mjexp/sys/i386/i386/elan-mmcr.c#4 integrate .. //depot/projects/mjexp/sys/i386/i386/mp_clock.c#2 integrate .. //depot/projects/mjexp/sys/i386/i386/tsc.c#3 integrate .. //depot/projects/mjexp/sys/i386/isa/clock.c#8 integrate .. //depot/projects/mjexp/sys/kern/kern_mbuf.c#5 integrate .. //depot/projects/mjexp/sys/kern/kern_poll.c#4 integrate .. //depot/projects/mjexp/sys/kern/kern_sysctl.c#6 integrate .. //depot/projects/mjexp/sys/kern/kern_tc.c#2 integrate .. //depot/projects/mjexp/sys/kern/subr_lock.c#7 integrate .. //depot/projects/mjexp/sys/kern/uipc_socket.c#14 integrate .. //depot/projects/mjexp/sys/netgraph/bluetooth/common/ng_bluetooth.c#2 integrate .. //depot/projects/mjexp/sys/netgraph/ng_base.c#7 integrate .. //depot/projects/mjexp/sys/netgraph/ng_ppp.c#6 integrate .. //depot/projects/mjexp/sys/netinet/sctp_indata.c#14 integrate .. //depot/projects/mjexp/sys/netinet/sctp_os_bsd.h#10 integrate .. //depot/projects/mjexp/sys/netinet/sctp_output.c#15 integrate .. //depot/projects/mjexp/sys/netinet/sctp_pcb.c#14 integrate .. //depot/projects/mjexp/sys/netinet/sctp_pcb.h#10 integrate .. //depot/projects/mjexp/sys/netinet/sctp_usrreq.c#14 integrate .. //depot/projects/mjexp/sys/netinet/tcp_timewait.c#3 integrate .. //depot/projects/mjexp/sys/netinet6/frag6.c#3 integrate .. //depot/projects/mjexp/sys/netinet6/in6.c#6 integrate .. //depot/projects/mjexp/sys/netinet6/in6_ifattach.c#3 integrate .. //depot/projects/mjexp/sys/netinet6/in6_var.h#3 integrate .. //depot/projects/mjexp/sys/netinet6/ip6_var.h#3 integrate .. //depot/projects/mjexp/sys/netinet6/sctp6_usrreq.c#12 integrate .. //depot/projects/mjexp/sys/pc98/cbus/clock.c#7 integrate .. //depot/projects/mjexp/sys/security/audit/audit.c#9 integrate .. //depot/projects/mjexp/sys/security/audit/audit.h#4 integrate .. //depot/projects/mjexp/sys/security/audit/audit_arg.c#7 integrate .. //depot/projects/mjexp/sys/security/audit/audit_bsm.c#4 integrate .. //depot/projects/mjexp/sys/security/audit/audit_bsm_klib.c#4 integrate .. //depot/projects/mjexp/sys/security/audit/audit_pipe.c#3 integrate .. //depot/projects/mjexp/sys/security/audit/audit_private.h#5 integrate .. //depot/projects/mjexp/sys/security/audit/audit_worker.c#5 integrate .. //depot/projects/mjexp/sys/sparc64/include/vmparam.h#4 integrate .. //depot/projects/mjexp/sys/sparc64/sparc64/pmap.c#6 integrate .. //depot/projects/mjexp/sys/sparc64/sparc64/tsb.c#2 integrate .. //depot/projects/mjexp/sys/sun4v/include/vmparam.h#4 integrate .. //depot/projects/mjexp/sys/sys/sysctl.h#4 integrate Differences ... ==== //depot/projects/mjexp/share/mk/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/mk/Makefile,v 1.49 2007/04/03 20:15:59 kan Exp $ +# $FreeBSD: src/share/mk/Makefile,v 1.51 2007/06/01 15:32:23 pav Exp $ # @(#)Makefile 8.1 (Berkeley) 6/8/93 FILES= bsd.README @@ -7,8 +7,9 @@ FILES+= bsd.kmod.mk FILES+= bsd.lib.mk bsd.libnames.mk bsd.links.mk bsd.man.mk bsd.nls.mk FILES+= bsd.obj.mk bsd.own.mk -FILES+= bsd.port.mk bsd.port.post.mk bsd.port.pre.mk bsd.port.subdir.mk -FILES+= bsd.prog.mk bsd.snmpmod.mk bsd.subdir.mk bsd.sys.mk bsd.symver.mk +FILES+= bsd.port.mk bsd.port.options.mk bsd.port.post.mk +FILES+= bsd.port.pre.mk bsd.port.subdir.mk bsd.prog.mk +FILES+= bsd.snmpmod.mk bsd.subdir.mk bsd.sys.mk bsd.symver.mk FILES+= sys.mk version_gen.awk NO_OBJ= FILESDIR= ${BINDIR}/mk ==== //depot/projects/mjexp/sys/amd64/amd64/machdep.c#12 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.672 2007/05/31 22:52:10 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.673 2007/06/03 23:18:29 alc Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -163,7 +163,13 @@ long Maxmem = 0; long realmem = 0; -#define PHYSMAP_SIZE (2 * 30) +/* + * The number of PHYSMAP entries must be one less than the number of + * PHYSSEG entries because the PHYSMAP entry that spans the largest + * physical address that is accessible by ISA DMA is split into two + * PHYSSEG entries. + */ +#define PHYSMAP_SIZE (2 * (VM_PHYSSEG_MAX - 1)) vm_paddr_t phys_avail[PHYSMAP_SIZE + 2]; vm_paddr_t dump_avail[PHYSMAP_SIZE + 2]; ==== //depot/projects/mjexp/sys/amd64/amd64/tsc.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/tsc.c,v 1.207 2007/03/26 18:03:29 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/tsc.c,v 1.208 2007/06/04 18:25:01 dwmalone Exp $"); #include "opt_clock.h" @@ -204,7 +204,7 @@ if (tsc_timecounter.tc_frequency == 0) return (EOPNOTSUPP); freq = tsc_freq; - error = sysctl_handle_int(oidp, &freq, sizeof(freq), req); + error = sysctl_handle_quad(oidp, &freq, 0, req); if (error == 0 && req->newptr != NULL) { tsc_freq = freq; tsc_timecounter.tc_frequency = tsc_freq; @@ -212,8 +212,8 @@ return (error); } -SYSCTL_PROC(_machdep, OID_AUTO, tsc_freq, CTLTYPE_LONG | CTLFLAG_RW, - 0, sizeof(u_int), sysctl_machdep_tsc_freq, "IU", ""); +SYSCTL_PROC(_machdep, OID_AUTO, tsc_freq, CTLTYPE_QUAD | CTLFLAG_RW, + 0, sizeof(u_int), sysctl_machdep_tsc_freq, "QU", ""); static unsigned tsc_get_timecount(struct timecounter *tc) ==== //depot/projects/mjexp/sys/amd64/include/vmparam.h#4 (text+ko) ==== @@ -38,7 +38,7 @@ * SUCH DAMAGE. * * from: @(#)vmparam.h 5.9 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/vmparam.h,v 1.47 2007/05/05 19:50:26 alc Exp $ + * $FreeBSD: src/sys/amd64/include/vmparam.h,v 1.48 2007/06/03 23:18:29 alc Exp $ */ @@ -93,6 +93,44 @@ #define VM_PHYSSEG_DENSE /* + * The number of PHYSSEG entries must be one greater than the number + * of phys_avail entries because the phys_avail entry that spans the + * largest physical address that is accessible by ISA DMA is split + * into two PHYSSEG entries. + */ +#define VM_PHYSSEG_MAX 31 + +/* + * Create two free page pools: VM_FREEPOOL_DEFAULT is the default pool + * from which physical pages are allocated and VM_FREEPOOL_DIRECT is + * the pool from which physical pages for page tables and small UMA + * objects are allocated. + */ +#define VM_NFREEPOOL 2 +#define VM_FREEPOOL_DEFAULT 0 +#define VM_FREEPOOL_DIRECT 1 + +/* + * Create two free page lists: VM_FREELIST_DEFAULT is for physical + * pages that are above the largest physical address that is + * accessible by ISA DMA and VM_FREELIST_ISADMA is for physical pages + * that are below that address. + */ +#define VM_NFREELIST 2 +#define VM_FREELIST_DEFAULT 0 +#define VM_FREELIST_ISADMA 1 + +/* + * An allocation size of 16MB is supported in order to optimize the + * use of the direct map by UMA. Specifically, a cache line contains + * at most 8 PDEs, collectively mapping 16MB of physical memory. By + * reducing the number of distinct 16MB "pages" that are used by UMA, + * the physical memory allocator reduces the likelihood of both 2MB + * page TLB misses and cache misses caused by 2MB page TLB misses. + */ +#define VM_NFREEORDER 13 + +/* * Virtual addresses of things. Derived from the page directory and * page table indexes from pmap.h for precision. * Because of the page that is both a PD and PT, it looks a little ==== //depot/projects/mjexp/sys/amd64/isa/clock.c#6 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.230 2007/02/23 12:18:26 piso Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.231 2007/06/04 18:25:02 dwmalone Exp $"); /* * Routines to handle clock hardware. @@ -839,7 +839,7 @@ * is is too generic. Should use it everywhere. */ freq = timer_freq; - error = sysctl_handle_int(oidp, &freq, sizeof(freq), req); + error = sysctl_handle_int(oidp, &freq, 0, req); if (error == 0 && req->newptr != NULL) set_timer_freq(freq, hz); return (error); ==== //depot/projects/mjexp/sys/arm/at91/uart_cpu_at91rm9200usart.c#3 (text) ==== @@ -27,7 +27,7 @@ #include "opt_uart.h" #include -__FBSDID("$FreeBSD: src/sys/arm/at91/uart_cpu_at91rm9200usart.c,v 1.3 2007/04/02 22:00:21 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/uart_cpu_at91rm9200usart.c,v 1.4 2007/06/04 17:53:42 marcel Exp $"); #include #include @@ -80,5 +80,6 @@ uart_bus_space_io = &at91_bs_tag; uart_bus_space_mem = NULL; /* Check the environment for overrides */ - return (uart_getenv(devtype, di, class)); + uart_getenv(devtype, di, class); + return (0); } ==== //depot/projects/mjexp/sys/arm/include/vmparam.h#4 (text+ko) ==== @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/vmparam.h,v 1.9 2007/05/28 21:04:22 alc Exp $ + * $FreeBSD: src/sys/arm/include/vmparam.h,v 1.10 2007/06/04 08:02:22 alc Exp $ */ #ifndef _MACHINE_VMPARAM_H_ @@ -59,6 +59,16 @@ #define VM_PHYSSEG_DENSE /* + * Create two free page pools: VM_FREEPOOL_DEFAULT is the default pool + * from which physical pages are allocated and VM_FREEPOOL_DIRECT is + * the pool from which physical pages for small UMA objects are + * allocated. + */ +#define VM_NFREEPOOL 2 +#define VM_FREEPOOL_DEFAULT 0 +#define VM_FREEPOOL_DIRECT 1 + +/* * we support 2 free lists: * * - DEFAULT for all systems @@ -69,6 +79,11 @@ #define VM_FREELIST_DEFAULT 0 #define VM_FREELIST_ISADMA 1 +/* + * The largest allocation size is 1MB. + */ +#define VM_NFREEORDER 9 + #define UPT_MAX_ADDRESS VADDR(UPTPTDI + 3, 0) #define UPT_MIN_ADDRESS VADDR(UPTPTDI, 0) ==== //depot/projects/mjexp/sys/cam/cam_xpt.c#13 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.187 2007/05/16 16:57:21 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.188 2007/06/04 18:25:02 dwmalone Exp $"); #include #include @@ -6355,7 +6355,7 @@ int error, bool; bool = cam_srch_hi; - error = sysctl_handle_int(oidp, &bool, sizeof(bool), req); + error = sysctl_handle_int(oidp, &bool, 0, req); if (error != 0 || req->newptr == NULL) return (error); if (bool == 0 || bool == 1) { ==== //depot/projects/mjexp/sys/cam/scsi/scsi_all.c#3 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_all.c,v 1.50 2007/05/23 13:27:37 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_all.c,v 1.51 2007/06/04 18:25:03 dwmalone Exp $"); #include @@ -3023,7 +3023,7 @@ int error, delay; delay = scsi_delay; - error = sysctl_handle_int(oidp, &delay, sizeof(delay), req); + error = sysctl_handle_int(oidp, &delay, 0, req); if (error != 0 || req->newptr == NULL) return (error); return (set_scsi_delay(delay)); ==== //depot/projects/mjexp/sys/compat/opensolaris/kern/opensolaris_kstat.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/opensolaris/kern/opensolaris_kstat.c,v 1.1 2007/04/06 01:09:06 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/opensolaris/kern/opensolaris_kstat.c,v 1.2 2007/06/04 18:25:03 dwmalone Exp $"); #include #include @@ -102,7 +102,7 @@ uint64_t val; val = ksent->value.ui64; - return sysctl_handle_int(oidp, &val, sizeof(val), req); + return sysctl_handle_quad(oidp, &val, 0, req); } void @@ -118,7 +118,7 @@ SYSCTL_ADD_PROC(&ksp->ks_sysctl_ctx, SYSCTL_CHILDREN(ksp->ks_sysctl_root), OID_AUTO, ksent->name, CTLTYPE_QUAD | CTLFLAG_RD, ksent, sizeof(*ksent), - kstat_sysctl, "IU", ""); + kstat_sysctl, "QU", ""); } } ==== //depot/projects/mjexp/sys/compat/opensolaris/kern/opensolaris_vfs.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/opensolaris/kern/opensolaris_vfs.c,v 1.5 2007/05/02 01:03:10 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/opensolaris/kern/opensolaris_vfs.c,v 1.6 2007/06/04 11:31:45 pjd Exp $"); #include #include @@ -110,7 +110,7 @@ } int -traverse(vnode_t **cvpp) +traverse(vnode_t **cvpp, int lktype) { kthread_t *td = curthread; vnode_t *cvp; @@ -119,7 +119,7 @@ int error; cvp = *cvpp; - error = 0; + tvp = NULL; /* * If this vnode is mounted on, then we transparently indirect @@ -135,22 +135,26 @@ vfsp = vn_mountedvfs(cvp); if (vfsp == NULL) break; - VN_RELE(cvp); + /* + * tvp is NULL for *cvpp vnode, which we can't unlock. + */ + if (tvp != NULL) + vput(cvp); + else + vrele(cvp); /* * The read lock must be held across the call to VFS_ROOT() to * prevent a concurrent unmount from destroying the vfs. */ - error = VFS_ROOT(vfsp, 0, &tvp, td); - if (error) - break; - VOP_UNLOCK(tvp, 0, td); - + error = VFS_ROOT(vfsp, lktype, &tvp, td); + if (error != 0) + return (error); cvp = tvp; } *cvpp = cvp; - return (error); + return (0); } int ==== //depot/projects/mjexp/sys/compat/opensolaris/sys/vfs.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/compat/opensolaris/sys/vfs.h,v 1.1 2007/04/06 01:09:06 pjd Exp $ + * $FreeBSD: src/sys/compat/opensolaris/sys/vfs.h,v 1.2 2007/06/04 11:31:45 pjd Exp $ */ #ifndef _OPENSOLARIS_SYS_VFS_H_ @@ -107,7 +107,7 @@ int flags __unused); void vfs_clearmntopt(vfs_t *vfsp, const char *name); int vfs_optionisset(const vfs_t *vfsp, const char *opt, char **argp); -int traverse(vnode_t **cvpp); +int traverse(vnode_t **cvpp, int lktype); int domount(kthread_t *td, vnode_t *vp, const char *fstype, char *fspath, char *fspec, int fsflags); ==== //depot/projects/mjexp/sys/conf/Makefile.ia64#4 (text+ko) ==== @@ -1,7 +1,7 @@ # Makefile.ia64 -- with config changes. # Copyright 1990 W. Jolitz # from: src/sys/conf/Makefile.alpha,v 1.76 -# $FreeBSD: src/sys/conf/Makefile.ia64,v 1.69 2007/05/16 17:23:53 wkoszek Exp $ +# $FreeBSD: src/sys/conf/Makefile.ia64,v 1.70 2007/06/02 21:30:39 marcel Exp $ # # Makefile for FreeBSD # @@ -16,8 +16,6 @@ # after which config should be rerun for all machines. # -GCC3= you bet - # Which version of config(8) is required. %VERSREQ= 600004 ==== //depot/projects/mjexp/sys/contrib/ipfilter/netinet/fil.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/contrib/ipfilter/netinet/fil.c,v 1.50 2006/08/16 12:06:35 guido Exp $ */ +/* $FreeBSD: src/sys/contrib/ipfilter/netinet/fil.c,v 1.51 2007/06/04 02:54:35 darrenr Exp $ */ /* * Copyright (C) 1993-2003 by Darren Reed. @@ -17,7 +17,11 @@ #include #if defined(__NetBSD__) # if (NetBSD >= 199905) && !defined(IPFILTER_LKM) && defined(_KERNEL) -# include "opt_ipfilter_log.h" +# if (__NetBSD_Version__ < 399001400) +# include "opt_ipfilter_log.h" +# else +# include "opt_ipfilter.h" +# endif # endif #endif #if defined(_KERNEL) && defined(__FreeBSD_version) && \ @@ -34,6 +38,9 @@ #else # include #endif +#if (defined(__SVR4) || defined(__svr4__)) && defined(sun) +# include +#endif #if !defined(_AIX51) # include #endif @@ -81,7 +88,11 @@ # endif # include "radix_ipf.h" #endif -#include +#ifdef __osf__ +# include "radix_ipf.h" +#else +# include +#endif #include #include #include @@ -100,6 +111,9 @@ #ifdef __hpux # undef _NET_ROUTE_INCLUDED #endif +#ifdef __osf__ +# undef _RADIX_H_ +#endif #include "netinet/ip_compat.h" #ifdef USE_INET6 # include @@ -141,7 +155,7 @@ #if !defined(lint) static const char sccsid[] = "@(#)fil.c 1.36 6/5/96 (C) 1993-2000 Darren Reed"; -static const char rcsid[] = "@(#)$FreeBSD: src/sys/contrib/ipfilter/netinet/fil.c,v 1.50 2006/08/16 12:06:35 guido Exp $"; +static const char rcsid[] = "@(#)$FreeBSD: src/sys/contrib/ipfilter/netinet/fil.c,v 1.51 2007/06/04 02:54:35 darrenr Exp $"; /* static const char rcsid[] = "@(#)$Id: fil.c,v 2.243.2.78 2006/03/29 11:19:54 darrenr Exp $"; */ #endif @@ -154,7 +168,7 @@ fr_info_t frcache[2][8]; -struct filterstats frstats[2] = { { 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0 } }; +struct filterstats frstats[2]; struct frentry *ipfilter[2][2] = { { NULL, NULL }, { NULL, NULL } }, *ipfilter6[2][2] = { { NULL, NULL }, { NULL, NULL } }, *ipacct6[2][2] = { { NULL, NULL }, { NULL, NULL } }, @@ -235,11 +249,14 @@ static int fr_updateipid __P((fr_info_t *)); #ifdef IPFILTER_LOOKUP static int fr_grpmapinit __P((frentry_t *fr)); -static INLINE void *fr_resolvelookup __P((u_int, u_int, lookupfunc_t *)); +static INLINE void *fr_resolvelookup __P((u_int, u_int, i6addr_t *, lookupfunc_t *)); #endif static void frsynclist __P((frentry_t *, void *)); static ipftuneable_t *fr_findtunebyname __P((const char *)); static ipftuneable_t *fr_findtunebycookie __P((void *, void **)); +static int ipf_geniter __P((ipftoken_t *, ipfgeniter_t *)); +static int ipf_frruleiter __P((void *, int, void *)); +static void ipf_unlinktoken __P((ipftoken_t *)); /* @@ -319,7 +336,7 @@ { "fr_srcgrpmap", fr_srcgrpmap, fr_grpmapinit }, { "fr_dstgrpmap", fr_dstgrpmap, fr_grpmapinit }, #endif - { "", NULL } + { "", NULL, NULL } }; @@ -532,7 +549,16 @@ return IPPROTO_NONE; hdr = fin->fin_dp; - shift = 8 + (hdr->ip6e_len << 3); + switch (proto) + { + case IPPROTO_FRAGMENT : + shift = 8; + break; + default : + shift = 8 + (hdr->ip6e_len << 3); + break; + } + if (shift > fin->fin_dlen) { /* Nasty extension header length? */ fin->fin_flx |= FI_BAD; return IPPROTO_NONE; @@ -551,6 +577,7 @@ break; } + fin->fin_exthdr = fin->fin_dp; fin->fin_dp = (char *)fin->fin_dp + shift; fin->fin_dlen -= shift; @@ -600,24 +627,22 @@ fr_info_t *fin; { struct ip6_ext *hdr; - int shift; if (frpr_ipv6exthdr(fin, 0, IPPROTO_ROUTING) == IPPROTO_NONE) return IPPROTO_NONE; + hdr = fin->fin_exthdr; - hdr = fin->fin_dp; - shift = 8 + (hdr->ip6e_len << 3); - /* - * Nasty extension header length? - */ - if ((shift < sizeof(struct ip6_hdr)) || - ((shift - sizeof(struct ip6_hdr)) & 15)) { + if ((hdr->ip6e_len & 1) != 0) { + /* + * The routing header data is made up of 128 bit IPv6 addresses + * which means it must be a multiple of 2 lots of 8 in length. + */ fin->fin_flx |= FI_BAD; /* * Compensate for the changes made in frpr_ipv6exthdr() */ - fin->fin_dlen += shift; - fin->fin_dp = (char *)fin->fin_dp - shift; + fin->fin_dlen += 8 + (hdr->ip6e_len << 3); + fin->fin_dp = hdr; return IPPROTO_NONE; } @@ -643,16 +668,20 @@ fr_info_t *fin; { struct ip6_frag *frag; + int extoff; fin->fin_flx |= FI_FRAG; if (frpr_ipv6exthdr(fin, 0, IPPROTO_FRAGMENT) == IPPROTO_NONE) return; + extoff = (char *)fin->fin_exthdr - (char *)fin->fin_dp; + if (frpr_pullup(fin, sizeof(*frag)) == -1) return; - frag = fin->fin_dp; + fin->fin_exthdr = (char *)fin->fin_dp + extoff; + frag = fin->fin_exthdr; /* * Fragment but no fragmentation info set? Bad packet... */ @@ -702,10 +731,12 @@ int minicmpsz = sizeof(struct icmp6_hdr); struct icmp6_hdr *icmp6; - if (frpr_pullup(fin, ICMP6ERR_MINPKTLEN + 8 - sizeof(ip6_t)) == -1) + if (frpr_pullup(fin, ICMP6ERR_MINPKTLEN - sizeof(ip6_t)) == -1) return; if (fin->fin_dlen > 1) { + ip6_t *ip6; + icmp6 = fin->fin_dp; fin->fin_data[0] = *(u_short *)icmp6; @@ -720,12 +751,26 @@ case ICMP6_PACKET_TOO_BIG : case ICMP6_TIME_EXCEEDED : case ICMP6_PARAM_PROB : + fin->fin_flx |= FI_ICMPERR; if ((fin->fin_m != NULL) && (M_LEN(fin->fin_m) < fin->fin_plen)) { if (fr_coalesce(fin) != 1) return; } - fin->fin_flx |= FI_ICMPERR; + + if (frpr_pullup(fin, ICMP6ERR_MINPKTLEN) == -1) + return; + + /* + * If the destination of this packet doesn't match the + * source of the original packet then this packet is + * not correct. + */ + ip6 = (ip6_t *)((char *)icmp6 + ICMPERR_ICMPHLEN); + if (IP6_NEQ(&fin->fin_fi.fi_dst, + (i6addr_t *)&ip6->ip6_src)) + fin->fin_flx |= FI_BAD; + minicmpsz = ICMP6ERR_IPICMPHLEN - sizeof(ip6_t); break; default : @@ -752,8 +797,13 @@ frpr_short6(fin, sizeof(struct udphdr)); - if (frpr_udpcommon(fin) == 0) + if (frpr_udpcommon(fin) == 0) { + u_char p = fin->fin_p; + + fin->fin_p = IPPROTO_UDP; fr_checkv6sum(fin); + fin->fin_p = p; + } } @@ -772,8 +822,13 @@ frpr_short6(fin, sizeof(struct tcphdr)); - if (frpr_tcpcommon(fin) == 0) + if (frpr_tcpcommon(fin) == 0) { + u_char p = fin->fin_p; + + fin->fin_p = IPPROTO_TCP; fr_checkv6sum(fin); + fin->fin_p = p; + } } @@ -862,18 +917,26 @@ fr_info_t *fin; int plen; { -#if defined(_KERNEL) if (fin->fin_m != NULL) { if (fin->fin_dp != NULL) plen += (char *)fin->fin_dp - ((char *)fin->fin_ip + fin->fin_hlen); plen += fin->fin_hlen; if (M_LEN(fin->fin_m) < plen) { +#if defined(_KERNEL) if (fr_pullup(fin->fin_m, fin, plen) == NULL) return -1; +#else + /* + * Fake fr_pullup failing + */ + *fin->fin_mp = NULL; + fin->fin_m = NULL; + fin->fin_ip = NULL; + return -1; +#endif } } -#endif return 0; } @@ -987,6 +1050,22 @@ oip = (ip_t *)((char *)fin->fin_dp + ICMPERR_ICMPHLEN); if ((ntohs(oip->ip_off) & IP_OFFMASK) != 0) fin->fin_flx |= FI_BAD; + + /* + * If the destination of this packet doesn't match the + * source of the original packet then this packet is + * not correct. + */ + if (oip->ip_src.s_addr != fin->fin_daddr) + fin->fin_flx |= FI_BAD; + + /* + * If the destination of this packet doesn't match the + * source of the original packet then this packet is + * not correct. + */ + if (oip->ip_src.s_addr != fin->fin_daddr) + fin->fin_flx |= FI_BAD; break; default : break; @@ -1054,14 +1133,27 @@ */ if ((flags & TH_URG) != 0 && (tcp->th_urp == 0)) { fin->fin_flx |= FI_BAD; +#if 0 } else if ((flags & TH_URG) == 0 && (tcp->th_urp != 0)) { - /* Ignore this case, it shows up in "real" traffic with */ - /* bogus values in the urgent pointer field. */ - ; + /* + * Ignore this case (#if 0) as it shows up in "real" + * traffic with bogus values in the urgent pointer field. + */ + fin->fin_flx |= FI_BAD; +#endif } else if (((flags & (TH_SYN|TH_FIN)) != 0) && ((flags & (TH_RST|TH_ACK)) == TH_RST)) { /* TH_FIN|TH_RST|TH_ACK seems to appear "naturally" */ fin->fin_flx |= FI_BAD; +#if 1 + } else if (((flags & TH_SYN) != 0) && + ((flags & (TH_URG|TH_PUSH)) != 0)) { + /* + * SYN with URG and PUSH set is not for normal TCP but it is + * possible(?) with T/TCP...but who uses T/TCP? + */ + fin->fin_flx |= FI_BAD; +#endif } else if (!(flags & TH_ACK)) { /* * If the ack bit isn't set, then either the SYN or @@ -1347,13 +1439,16 @@ */ off &= IP_MF|IP_OFFMASK; if (off != 0) { + int morefrag = off & IP_MF; + fi->fi_flx |= FI_FRAG; off &= IP_OFFMASK; if (off != 0) { fin->fin_flx |= FI_FRAGBODY; off <<= 3; if ((off + fin->fin_dlen > 65535) || - (fin->fin_dlen == 0) || (fin->fin_dlen & 7)) { + (fin->fin_dlen == 0) || + ((morefrag != 0) && ((fin->fin_dlen & 7) != 0))) { /* * The length of the packet, starting at its * offset cannot exceed 65535 (0xffff) as the @@ -1507,18 +1602,24 @@ fin->fin_rule = 0xffffffff; fin->fin_group[0] = -1; fin->fin_group[1] = '\0'; - fin->fin_dlen = fin->fin_plen - hlen; fin->fin_dp = (char *)ip + hlen; v = fin->fin_v; - if (v == 4) + if (v == 4) { + fin->fin_plen = ip->ip_len; + fin->fin_dlen = fin->fin_plen - hlen; + frpr_ipv4hdr(fin); #ifdef USE_INET6 - else if (v == 6) { + } else if (v == 6) { + fin->fin_plen = ntohs(((ip6_t *)ip)->ip6_plen); + fin->fin_dlen = fin->fin_plen; + fin->fin_plen += hlen; + if (frpr_ipv6hdr(fin) == -1) return -1; +#endif } -#endif if (fin->fin_ip == NULL) return -1; return 0; @@ -1680,7 +1781,7 @@ */ i = ((*lip & *lm) != *ld); FR_DEBUG(("0. %#08x & %#08x != %#08x\n", - *lip, *lm, *ld)); + ntohl(*lip), ntohl(*lm), ntohl(*ld))); if (i) return 1; @@ -1691,7 +1792,7 @@ lip++, lm++, ld++; i |= ((*lip & *lm) != *ld); FR_DEBUG(("1. %#08x & %#08x != %#08x\n", - *lip, *lm, *ld)); + ntohl(*lip), ntohl(*lm), ntohl(*ld))); if (i) return 1; @@ -1714,20 +1815,20 @@ #endif i = ((*lip & *lm) != *ld); FR_DEBUG(("2a. %#08x & %#08x != %#08x\n", - *lip, *lm, *ld)); + ntohl(*lip), ntohl(*lm), ntohl(*ld))); if (fi->fi_v == 6) { lip++, lm++, ld++; i |= ((*lip & *lm) != *ld); FR_DEBUG(("2b. %#08x & %#08x != %#08x\n", - *lip, *lm, *ld)); + ntohl(*lip), ntohl(*lm), ntohl(*ld))); lip++, lm++, ld++; i |= ((*lip & *lm) != *ld); FR_DEBUG(("2c. %#08x & %#08x != %#08x\n", - *lip, *lm, *ld)); + ntohl(*lip), ntohl(*lm), ntohl(*ld))); lip++, lm++, ld++; i |= ((*lip & *lm) != *ld); FR_DEBUG(("2d. %#08x & %#08x != %#08x\n", - *lip, *lm, *ld)); + ntohl(*lip), ntohl(*lm), ntohl(*ld))); } else { lip += 3; lm += 3; @@ -1756,20 +1857,20 @@ #endif i = ((*lip & *lm) != *ld); FR_DEBUG(("3a. %#08x & %#08x != %#08x\n", - *lip, *lm, *ld)); + ntohl(*lip), ntohl(*lm), ntohl(*ld))); if (fi->fi_v == 6) { lip++, lm++, ld++; i |= ((*lip & *lm) != *ld); FR_DEBUG(("3b. %#08x & %#08x != %#08x\n", - *lip, *lm, *ld)); + ntohl(*lip), ntohl(*lm), ntohl(*ld))); lip++, lm++, ld++; i |= ((*lip & *lm) != *ld); FR_DEBUG(("3c. %#08x & %#08x != %#08x\n", - *lip, *lm, *ld)); + ntohl(*lip), ntohl(*lm), ntohl(*ld))); lip++, lm++, ld++; i |= ((*lip & *lm) != *ld); FR_DEBUG(("3d. %#08x & %#08x != %#08x\n", - *lip, *lm, *ld)); + ntohl(*lip), ntohl(*lm), ntohl(*ld))); } else { lip += 3; lm += 3; @@ -2297,9 +2398,6 @@ int v = IP_V(ip); mb_t *mc = NULL; mb_t *m; >>> TRUNCATED FOR MAIL (1000 lines) <<<