Date: Sat, 24 Jul 2004 17:48:18 GMT From: Robert Watson <rwatson@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 58052 for review Message-ID: <200407241748.i6OHmIhR099642@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=58052 Change 58052 by rwatson@rwatson_tislabs on 2004/07/24 17:47:43 Integrate netperf_socket from FreeBSD CVS HEAD: - Some debugger rearrangement. - More pmap locking. - Various hacking on preemption. - A number of less functional and EISA drivers trimmed from GENERIC. - pf lock order reversal correction. - A parade of ACPI tweaks. - curthread assertions in devfs/suser. - More sleep-related assertions in mbuf allocation. - BPF use of 0/NULL cleanup. - if_clone lock fix. - if_vlan memory leak fix. - nf_node_revive() for persistent notes. - TCP SACK fix. - Don't sync on panic by default. - Suser exemption to mac_bsdextended. Loop back from rwatson_netperf via CVS: - Giant pushed down into fo_close(), fo_stat(). Less giant for sockets and pipes now. - Tweaks to KTR. - Pipe allocation optimizations. - M_DONTWAIT in raw_ip.c to prevent sleep with mutex held. - MPSAFE callout for NFS server with debug.mpsafenet. Affected files ... .. //depot/projects/netperf_socket/sys/alpha/alpha/db_trace.c#3 integrate .. //depot/projects/netperf_socket/sys/alpha/alpha/interrupt.c#7 integrate .. //depot/projects/netperf_socket/sys/alpha/alpha/pmap.c#14 integrate .. //depot/projects/netperf_socket/sys/amd64/amd64/db_trace.c#4 integrate .. //depot/projects/netperf_socket/sys/amd64/amd64/pmap.c#21 integrate .. //depot/projects/netperf_socket/sys/amd64/conf/GENERIC#11 integrate .. //depot/projects/netperf_socket/sys/amd64/conf/GENERIC.hints#3 integrate .. //depot/projects/netperf_socket/sys/amd64/include/pmap.h#12 integrate .. //depot/projects/netperf_socket/sys/arm/arm/busdma_machdep.c#2 integrate .. //depot/projects/netperf_socket/sys/arm/arm/cpufunc.c#2 integrate .. //depot/projects/netperf_socket/sys/arm/arm/db_trace.c#4 integrate .. //depot/projects/netperf_socket/sys/arm/arm/machdep.c#3 integrate .. //depot/projects/netperf_socket/sys/arm/arm/pmap.c#5 integrate .. //depot/projects/netperf_socket/sys/arm/arm/support.S#2 integrate .. //depot/projects/netperf_socket/sys/arm/include/cpufunc.h#3 integrate .. //depot/projects/netperf_socket/sys/arm/include/pcb.h#3 integrate .. //depot/projects/netperf_socket/sys/arm/include/pmap.h#3 integrate .. //depot/projects/netperf_socket/sys/arm/include/profile.h#2 integrate .. //depot/projects/netperf_socket/sys/boot/efi/libefi/arch/ia64/ldscript.ia64#2 integrate .. //depot/projects/netperf_socket/sys/boot/efi/libefi/arch/ia64/start.S#2 integrate .. //depot/projects/netperf_socket/sys/boot/efi/loader/Makefile#3 integrate .. //depot/projects/netperf_socket/sys/compat/ndis/subr_ntoskrnl.c#15 integrate .. //depot/projects/netperf_socket/sys/conf/NOTES#30 integrate .. //depot/projects/netperf_socket/sys/conf/files.i386#23 integrate .. //depot/projects/netperf_socket/sys/conf/options#22 integrate .. //depot/projects/netperf_socket/sys/contrib/pf/net/pf.c#11 integrate .. //depot/projects/netperf_socket/sys/contrib/pf/net/pf_if.c#2 integrate .. //depot/projects/netperf_socket/sys/ddb/db_command.c#5 integrate .. //depot/projects/netperf_socket/sys/ddb/ddb.h#3 integrate .. //depot/projects/netperf_socket/sys/dev/acpica/acpi_timer.c#7 integrate .. //depot/projects/netperf_socket/sys/dev/acpica/acpi_video.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/ata/ata-lowlevel.c#10 integrate .. //depot/projects/netperf_socket/sys/dev/bge/if_bge.c#9 integrate .. //depot/projects/netperf_socket/sys/dev/cp/if_cp.c#7 integrate .. //depot/projects/netperf_socket/sys/dev/ctau/if_ct.c#8 integrate .. //depot/projects/netperf_socket/sys/dev/cx/if_cx.c#14 integrate .. //depot/projects/netperf_socket/sys/dev/ed/if_ed_pccard.c#4 integrate .. //depot/projects/netperf_socket/sys/dev/ep/if_ep_eisa.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/ep/if_ep_isa.c#2 integrate .. //depot/projects/netperf_socket/sys/dev/ep/if_ep_mca.c#2 integrate .. //depot/projects/netperf_socket/sys/dev/firewire/fwohci.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/firewire/fwohci_pci.c#8 integrate .. //depot/projects/netperf_socket/sys/dev/firewire/if_fwe.c#4 integrate .. //depot/projects/netperf_socket/sys/dev/firewire/if_fwip.c#3 integrate .. //depot/projects/netperf_socket/sys/dev/firewire/sbp.c#6 integrate .. //depot/projects/netperf_socket/sys/dev/pccbb/pccbb.c#12 integrate .. //depot/projects/netperf_socket/sys/dev/pccbb/pccbbdevid.h#2 integrate .. //depot/projects/netperf_socket/sys/dev/sio/sio.c#19 integrate .. //depot/projects/netperf_socket/sys/dev/sound/pci/emu10k1.c#8 integrate .. //depot/projects/netperf_socket/sys/dev/usb/ehci_pci.c#4 integrate .. //depot/projects/netperf_socket/sys/dev/usb/uhub.c#4 integrate .. //depot/projects/netperf_socket/sys/fs/devfs/devfs_vnops.c#4 integrate .. //depot/projects/netperf_socket/sys/i386/acpica/acpi_panasonic.c#1 branch .. //depot/projects/netperf_socket/sys/i386/conf/NOTES#23 integrate .. //depot/projects/netperf_socket/sys/i386/i386/busdma_machdep.c#4 integrate .. //depot/projects/netperf_socket/sys/i386/i386/db_trace.c#3 integrate .. //depot/projects/netperf_socket/sys/i386/i386/pmap.c#20 integrate .. //depot/projects/netperf_socket/sys/i386/i386/vm_machdep.c#14 integrate .. //depot/projects/netperf_socket/sys/ia64/ia64/db_trace.c#3 integrate .. //depot/projects/netperf_socket/sys/ia64/ia64/pmap.c#14 integrate .. //depot/projects/netperf_socket/sys/kern/kern_descrip.c#12 integrate .. //depot/projects/netperf_socket/sys/kern/kern_event.c#8 integrate .. //depot/projects/netperf_socket/sys/kern/kern_exec.c#12 integrate .. //depot/projects/netperf_socket/sys/kern/kern_ktr.c#2 integrate .. //depot/projects/netperf_socket/sys/kern/kern_lock.c#3 integrate .. //depot/projects/netperf_socket/sys/kern/kern_mutex.c#7 integrate .. //depot/projects/netperf_socket/sys/kern/kern_prot.c#8 integrate .. //depot/projects/netperf_socket/sys/kern/kern_shutdown.c#10 integrate .. //depot/projects/netperf_socket/sys/kern/kern_switch.c#6 integrate .. //depot/projects/netperf_socket/sys/kern/sched_4bsd.c#10 integrate .. //depot/projects/netperf_socket/sys/kern/sched_ule.c#15 integrate .. //depot/projects/netperf_socket/sys/kern/subr_kdb.c#4 integrate .. //depot/projects/netperf_socket/sys/kern/sys_pipe.c#4 integrate .. //depot/projects/netperf_socket/sys/kern/sys_socket.c#10 integrate .. //depot/projects/netperf_socket/sys/kern/uipc_jumbo.c#2 integrate .. //depot/projects/netperf_socket/sys/kern/uipc_mbuf.c#8 integrate .. //depot/projects/netperf_socket/sys/kern/uipc_mbuf2.c#5 integrate .. //depot/projects/netperf_socket/sys/kern/vfs_subr.c#16 integrate .. //depot/projects/netperf_socket/sys/kern/vfs_vnops.c#8 integrate .. //depot/projects/netperf_socket/sys/modules/acpi/Makefile#4 integrate .. //depot/projects/netperf_socket/sys/modules/acpi/acpi_panasonic/Makefile#1 branch .. //depot/projects/netperf_socket/sys/net/bpf.c#9 integrate .. //depot/projects/netperf_socket/sys/net/if_clone.c#2 integrate .. //depot/projects/netperf_socket/sys/net/if_vlan.c#11 integrate .. //depot/projects/netperf_socket/sys/netgraph/atm/ng_atm.c#4 integrate .. //depot/projects/netperf_socket/sys/netgraph/netgraph.h#6 integrate .. //depot/projects/netperf_socket/sys/netgraph/ng_base.c#10 integrate .. //depot/projects/netperf_socket/sys/netgraph/ng_bridge.c#6 integrate .. //depot/projects/netperf_socket/sys/netgraph/ng_device.c#6 integrate .. //depot/projects/netperf_socket/sys/netgraph/ng_ether.c#7 integrate .. //depot/projects/netperf_socket/sys/netgraph/ng_gif.c#5 integrate .. //depot/projects/netperf_socket/sys/netgraph/ng_sample.c#4 integrate .. //depot/projects/netperf_socket/sys/netgraph/ng_source.c#4 integrate .. //depot/projects/netperf_socket/sys/netinet/ip_fw2.c#11 integrate .. //depot/projects/netperf_socket/sys/netinet/raw_ip.c#9 integrate .. //depot/projects/netperf_socket/sys/netinet/tcp_output.c#8 integrate .. //depot/projects/netperf_socket/sys/netinet/tcp_subr.c#12 integrate .. //depot/projects/netperf_socket/sys/nfsserver/nfs_srvsock.c#8 integrate .. //depot/projects/netperf_socket/sys/nfsserver/nfs_srvsubs.c#9 integrate .. //depot/projects/netperf_socket/sys/opencrypto/cryptodev.c#5 integrate .. //depot/projects/netperf_socket/sys/pc98/pc98/sio.c#17 integrate .. //depot/projects/netperf_socket/sys/powerpc/include/db_machdep.h#3 integrate .. //depot/projects/netperf_socket/sys/powerpc/include/float.h#6 integrate .. //depot/projects/netperf_socket/sys/powerpc/include/frame.h#2 integrate .. //depot/projects/netperf_socket/sys/powerpc/powermac/pswitch.c#2 integrate .. //depot/projects/netperf_socket/sys/powerpc/powerpc/db_trace.c#3 integrate .. //depot/projects/netperf_socket/sys/powerpc/powerpc/elf_machdep.c#4 integrate .. //depot/projects/netperf_socket/sys/powerpc/powerpc/genassym.c#5 integrate .. //depot/projects/netperf_socket/sys/powerpc/powerpc/locore.S#4 integrate .. //depot/projects/netperf_socket/sys/powerpc/powerpc/machdep.c#5 integrate .. //depot/projects/netperf_socket/sys/powerpc/powerpc/swtch.S#2 integrate .. //depot/projects/netperf_socket/sys/powerpc/powerpc/trap_subr.S#4 integrate .. //depot/projects/netperf_socket/sys/powerpc/powerpc/vm_machdep.c#9 integrate .. //depot/projects/netperf_socket/sys/security/mac_bsdextended/mac_bsdextended.c#3 integrate .. //depot/projects/netperf_socket/sys/sparc64/sparc64/db_trace.c#3 integrate .. //depot/projects/netperf_socket/sys/sparc64/sparc64/pmap.c#9 integrate .. //depot/projects/netperf_socket/sys/sys/cdefs.h#4 integrate .. //depot/projects/netperf_socket/sys/sys/kdb.h#3 integrate .. //depot/projects/netperf_socket/sys/sys/mbuf.h#15 integrate .. //depot/projects/netperf_socket/sys/sys/param.h#20 integrate .. //depot/projects/netperf_socket/sys/sys/pipe.h#4 integrate .. //depot/projects/netperf_socket/sys/vm/swap_pager.c#7 integrate .. //depot/projects/netperf_socket/sys/vm/uma_core.c#10 integrate .. //depot/projects/netperf_socket/sys/vm/vm_contig.c#9 integrate .. //depot/projects/netperf_socket/sys/vm/vm_map.c#13 integrate .. //depot/projects/netperf_socket/sys/vm/vm_map.h#7 integrate .. //depot/projects/netperf_socket/sys/vm/vm_object.c#7 integrate .. //depot/projects/netperf_socket/sys/vm/vm_object.h#3 integrate .. //depot/projects/netperf_socket/sys/vm/vm_page.c#12 integrate Differences ... ==== //depot/projects/netperf_socket/sys/alpha/alpha/db_trace.c#3 (text+ko) ==== @@ -42,7 +42,7 @@ #include <sys/cdefs.h> /* RCS ID & Copyright macro defns */ /*__KERNEL_RCSID(0, "$NetBSD: db_trace.c,v 1.9 2000/12/13 03:16:36 mycroft Exp $");*/ -__FBSDID("$FreeBSD: src/sys/alpha/alpha/db_trace.c,v 1.19 2004/07/10 23:47:18 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/db_trace.c,v 1.20 2004/07/21 05:07:08 marcel Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -324,20 +324,6 @@ } void -db_stack_trace_cmd(db_expr_t addr, boolean_t have_addr, db_expr_t count, - char *modif) -{ - struct thread *td; - - td = (have_addr) ? kdb_thr_lookup(addr) : kdb_thread; - if (td == NULL) { - db_printf("Thread %d not found\n", (int)addr); - return; - } - db_trace_thread(td, count); -} - -void db_trace_self(void) { register_t pc, sp; ==== //depot/projects/netperf_socket/sys/alpha/alpha/interrupt.c#7 (text+ko) ==== @@ -33,7 +33,7 @@ #include <sys/cdefs.h> /* RCS ID & Copyright macro defns */ /* __KERNEL_RCSID(0, "$NetBSD: interrupt.c,v 1.23 1998/02/24 07:38:01 thorpej Exp $");*/ -__FBSDID("$FreeBSD: src/sys/alpha/alpha/interrupt.c,v 1.81 2004/07/19 16:37:47 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/interrupt.c,v 1.82 2004/07/20 06:32:32 alc Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -436,7 +436,7 @@ critical_enter(); ih->ih_handler(ih->ih_argument); /* XXX */ - td->td_pflags &= ~TDP_OWEPREEMPT; + curthread->td_pflags &= ~TDP_OWEPREEMPT; critical_exit(); return; } ==== //depot/projects/netperf_socket/sys/alpha/alpha/pmap.c#14 (text+ko) ==== @@ -148,7 +148,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.162 2004/07/19 18:12:04 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.163 2004/07/21 03:38:46 alc Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -1359,6 +1359,8 @@ pv_entry_t pv; int rtval; + PMAP_LOCK_ASSERT(pmap, MA_OWNED); + mtx_assert(&vm_page_queue_mtx, MA_OWNED); if (m->md.pv_list_count < pmap->pm_stats.resident_count) { TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) { if (pmap == pv->pv_pmap && va == pv->pv_va) @@ -1416,6 +1418,7 @@ pt_entry_t oldpte; vm_page_t m; + PMAP_LOCK_ASSERT(pmap, MA_OWNED); oldpte = *ptq; *ptq = 0; if (oldpte & PG_W) @@ -1760,7 +1763,9 @@ if (opa) { int err; vm_page_lock_queues(); + PMAP_LOCK(pmap); err = pmap_remove_pte(pmap, pte, va); + PMAP_UNLOCK(pmap); vm_page_unlock_queues(); if (err) panic("pmap_enter: pte vanished, va: 0x%lx", va); ==== //depot/projects/netperf_socket/sys/amd64/amd64/db_trace.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.61 2004/07/10 23:47:18 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_trace.c,v 1.62 2004/07/21 05:07:08 marcel Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -463,20 +463,6 @@ } void -db_stack_trace_cmd(db_expr_t addr, boolean_t have_addr, db_expr_t count, - char *modif) -{ - struct thread *td; - - td = (have_addr) ? kdb_thr_lookup(addr) : kdb_thread; - if (td == NULL) { - db_printf("Thread %ld not found\n", addr); - return; - } - db_trace_thread(td, count); -} - -void db_trace_self(void) { struct amd64_frame *frame; ==== //depot/projects/netperf_socket/sys/amd64/amd64/pmap.c#21 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.485 2004/07/15 18:00:41 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.486 2004/07/20 02:40:56 alc Exp $"); /* * Manages physical address maps. @@ -160,8 +160,6 @@ struct pmap kernel_pmap_store; LIST_HEAD(pmaplist, pmap); -static struct pmaplist allpmaps; -static struct mtx allpmaps_lock; vm_paddr_t avail_start; /* PA of first available physical page */ vm_paddr_t avail_end; /* PA of last available physical page */ @@ -491,11 +489,6 @@ kernel_pmap->pm_pml4 = (pdp_entry_t *) (KERNBASE + KPML4phys); kernel_pmap->pm_active = -1; /* don't allow deactivation */ TAILQ_INIT(&kernel_pmap->pm_pvlist); - LIST_INIT(&allpmaps); - mtx_init(&allpmaps_lock, "allpmaps", NULL, MTX_SPIN); - mtx_lock_spin(&allpmaps_lock); - LIST_INSERT_HEAD(&allpmaps, kernel_pmap, pm_list); - mtx_unlock_spin(&allpmaps_lock); nkpt = NKPT; /* @@ -1082,9 +1075,6 @@ pmap->pm_active = 0; TAILQ_INIT(&pmap->pm_pvlist); bzero(&pmap->pm_stats, sizeof pmap->pm_stats); - mtx_lock_spin(&allpmaps_lock); - LIST_INSERT_HEAD(&allpmaps, pmap, pm_list); - mtx_unlock_spin(&allpmaps_lock); } /* @@ -1112,10 +1102,6 @@ if ((pml4pg->flags & PG_ZERO) == 0) pagezero(pmap->pm_pml4); - mtx_lock_spin(&allpmaps_lock); - LIST_INSERT_HEAD(&allpmaps, pmap, pm_list); - mtx_unlock_spin(&allpmaps_lock); - /* Wire in kernel global address entries. */ pmap->pm_pml4[KPML4I] = KPDPphys | PG_RW | PG_V | PG_U; pmap->pm_pml4[DMPML4I] = DMPDPphys | PG_RW | PG_V | PG_U; @@ -1332,10 +1318,6 @@ ("pmap_release: pmap resident count %ld != 0", pmap->pm_stats.resident_count)); - mtx_lock_spin(&allpmaps_lock); - LIST_REMOVE(pmap, pm_list); - mtx_unlock_spin(&allpmaps_lock); - m = PHYS_TO_VM_PAGE(pmap->pm_pml4[PML4PML4I] & PG_FRAME); pmap->pm_pml4[KPML4I] = 0; /* KVA */ ==== //depot/projects/netperf_socket/sys/amd64/conf/GENERIC#11 (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.415 2004/07/18 15:59:03 scottl Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.416 2004/07/22 22:29:45 imp Exp $ machine amd64 cpu HAMMER @@ -92,7 +92,6 @@ options ATA_STATIC_ID # Static device numbering # SCSI Controllers -device ahb # EISA AHA1742 family device ahc # AHA2940 and onboard AIC7xxx devices device ahd # AHA39320/29320 and onboard AIC79xx devices device amd # AMD 53C974 (Tekram DC-390(T)) @@ -104,7 +103,6 @@ device adv # Advansys SCSI adapters device adw # Advansys wide SCSI adapters -device aha # Adaptec 154x SCSI adapters device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60. device bt # Buslogic/Mylex MultiMaster SCSI adapters @@ -207,22 +205,16 @@ device ex # Intel EtherExpress Pro/10 and Pro/10+ device ep # Etherlink III based cards device fe # Fujitsu MB8696x based cards -# XXX kvtop brokenness -#device ie # EtherExpress 8/16, 3C507, StarLAN 10 etc. # XXX kvtop brokenness, pointer/int warnings #device lnc # NE2100, NE32-VL Lance Ethernet cards device sn # SMC's 9000 series of Ethernet chips device xe # Xircom pccard Ethernet -# ISA devices that use the old ISA shims -#device le - # Wireless NIC cards device wlan # 802.11 support device an # Aironet 4500/4800 802.11 wireless NICs. device awi # BayStack 660 and others device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs. -#device wl # Older non 802.11 Wavelan wireless NIC. # Pseudo devices. device random # Entropy device ==== //depot/projects/netperf_socket/sys/amd64/conf/GENERIC.hints#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.14 2004/03/19 03:28:38 obrien Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.15 2004/07/22 22:28:34 imp Exp $ hint.fdc.0.at="isa" hint.fdc.0.port="0x3F0" hint.fdc.0.irq="6" @@ -17,15 +17,6 @@ hint.vga.0.at="isa" hint.sc.0.at="isa" hint.sc.0.flags="0x100" -hint.pcic.0.at="isa" -# hint.pcic.0.irq="10" # Default to polling -hint.pcic.0.port="0x3e0" -hint.pcic.0.maddr="0xd0000" -hint.pcic.1.at="isa" -hint.pcic.1.irq="11" -hint.pcic.1.port="0x3e2" -hint.pcic.1.maddr="0xd4000" -hint.pcic.1.disabled="1" hint.sio.0.at="isa" hint.sio.0.port="0x3F8" hint.sio.0.flags="0x10" ==== //depot/projects/netperf_socket/sys/amd64/include/pmap.h#12 (text+ko) ==== @@ -39,7 +39,7 @@ * * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.121 2004/07/14 07:13:35 peter Exp $ + * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.122 2004/07/20 02:40:56 alc Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -226,7 +226,6 @@ u_int pm_active; /* active on cpus */ /* spare u_int here due to padding */ struct pmap_statistics pm_stats; /* pmap statistics */ - LIST_ENTRY(pmap) pm_list; /* List of all pmaps */ }; typedef struct pmap *pmap_t; ==== //depot/projects/netperf_socket/sys/arm/arm/busdma_machdep.c#2 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.1 2004/05/14 11:46:42 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.2 2004/07/21 22:04:05 cognet Exp $"); /* * MacPPC bus dma support routines @@ -433,7 +433,7 @@ if (td != NULL) pmap = vmspace_pmap(td->td_proc->p_vmspace); else - pmap = NULL; + pmap = pmap_kernel(); lastaddr = *lastaddrp; bmask = ~(dmat->boundary - 1); @@ -457,7 +457,7 @@ } else { pte = *ptep; KASSERT((pte & L2_TYPE_MASK) != L2_TYPE_INV, - "INV type"); + ("INV type")); if (__predict_false((pte & L2_TYPE_MASK) == L2_TYPE_L)) { curaddr = (pte & L2_L_FRAME) | ==== //depot/projects/netperf_socket/sys/arm/arm/cpufunc.c#2 (text+ko) ==== @@ -45,7 +45,7 @@ * Created : 30/01/97 */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.1 2004/05/14 11:46:42 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.2 2004/07/20 22:39:24 cognet Exp $"); #include <sys/cdefs.h> @@ -54,6 +54,8 @@ #include <sys/systm.h> #include <sys/lock.h> #include <sys/mutex.h> +#include <sys/bus.h> +#include <machine/bus.h> #include <machine/cpu.h> #include <machine/disassem.h> @@ -2079,10 +2081,8 @@ cpuctrl |= CPU_CONTROL_BEND_ENABLE; #endif -#if 0 if (vector_page == ARM_VECTORS_HIGH) cpuctrl |= CPU_CONTROL_VECRELOC; -#endif /* Clear out the cache */ cpu_idcache_wbinv_all(); @@ -2147,10 +2147,8 @@ cpuctrl |= CPU_CONTROL_BEND_ENABLE; #endif -#if 0 if (vector_page == ARM_VECTORS_HIGH) cpuctrl |= CPU_CONTROL_VECRELOC; -#endif /* Clear out the cache */ cpu_idcache_wbinv_all(); ==== //depot/projects/netperf_socket/sys/arm/arm/db_trace.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/db_trace.c,v 1.3 2004/07/19 12:26:44 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/db_trace.c,v 1.4 2004/07/21 05:07:09 marcel Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -86,7 +86,7 @@ #define FR_RSP (-2) #define FR_RFP (-3) -void +static void db_stack_trace_cmd(addr, have_addr, count, modif) db_expr_t addr; int have_addr; @@ -242,6 +242,7 @@ { return (0); } + int db_trace_thread(struct thread *thr, int count) { ==== //depot/projects/netperf_socket/sys/arm/arm/machdep.c#3 (text+ko) ==== @@ -44,7 +44,7 @@ #include "opt_compat.h" #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/machdep.c,v 1.2 2004/07/12 21:19:43 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/machdep.c,v 1.4 2004/07/20 23:00:02 cognet Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -86,7 +86,6 @@ uint32_t cpu_reset_address = 0; int cold = 1; -int astpending = 0; vm_offset_t vector_page; static void * @@ -298,12 +297,21 @@ int ptrace_single_step(struct thread *td) { + /* XXX */ + return (0); +} + +int +ptrace_clear_single_step(struct thread *td) +{ + /* XXX */ return (0); } int ptrace_set_pc(struct thread *td, unsigned long addr) { + td->td_frame->tf_pc = addr; return (0); } ==== //depot/projects/netperf_socket/sys/arm/arm/pmap.c#5 (text+ko) ==== @@ -144,7 +144,7 @@ */ /* Include header files */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.6 2004/07/13 22:40:59 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.8 2004/07/22 23:04:41 alc Exp $"); #include <sys/param.h> #include <sys/systm.h> #include <sys/kernel.h> @@ -2219,7 +2219,8 @@ for (loop = 0; loop < needed; loop++, l1++) { /* Allocate a L1 page table */ - va = (vm_offset_t)contigmalloc(L1_TABLE_SIZE, NULL, 0, 0x0, 0xffffffff, L1_TABLE_SIZE, 0); + va = (vm_offset_t)contigmalloc(L1_TABLE_SIZE, M_VMPMAP, 0, 0x0, + 0xffffffff, L1_TABLE_SIZE, 0); if (va == 0) panic("Cannot allocate L1 KVM"); @@ -4371,7 +4372,7 @@ GIANT_REQUIRED; - va = kmem_alloc_pageable(kernel_map, size); + va = kmem_alloc_nofault(kernel_map, size); if (!va) panic("pmap_mapdev: Couldn't alloc kernel virtual memory"); ==== //depot/projects/netperf_socket/sys/arm/arm/support.S#2 (text+ko) ==== @@ -26,7 +26,7 @@ #include <machine/asm.h> #include <machine/asmacros.h> -__FBSDID("$FreeBSD: src/sys/arm/arm/support.S,v 1.3 2004/05/14 23:42:30 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/support.S,v 1.4 2004/07/20 22:38:46 cognet Exp $"); #include "assym.s" @@ -65,11 +65,6 @@ bic r14, r14, #(I32_bit) ; \ msr cpsr_all, r14 -ENTRY(disable_intr) - IRQdisableALL -ENTRY(enable_intr) - IRQenableALL - /* * memset: Sets a block of memory to the specified value * ==== //depot/projects/netperf_socket/sys/arm/include/cpufunc.h#3 (text+ko) ==== @@ -38,7 +38,7 @@ * * Prototypes for cpu, mmu and tlb related functions. * - * $FreeBSD: src/sys/arm/include/cpufunc.h,v 1.2 2004/07/12 21:20:38 cognet Exp $ + * $FreeBSD: src/sys/arm/include/cpufunc.h,v 1.3 2004/07/20 22:38:46 cognet Exp $ */ #ifndef _MACHINE_CPUFUNC_H_ @@ -50,13 +50,11 @@ #include <machine/cpuconf.h> #include <machine/katelib.h> /* For in[bwl] and out[bwl] */ -void disable_intr(void); -void enable_intr(void); - static __inline void breakpoint(void) { } + static __inline register_t intr_disable(void) { ==== //depot/projects/netperf_socket/sys/arm/include/pcb.h#3 (text+ko) ==== @@ -32,7 +32,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/pcb.h,v 1.2 2004/07/12 21:19:22 cognet Exp $ + * $FreeBSD: src/sys/arm/include/pcb.h,v 1.3 2004/07/21 22:04:32 cognet Exp $ */ #ifndef _MACHINE_PCB_H_ @@ -94,7 +94,7 @@ void makectx(struct trapframe *tf, struct pcb *pcb); #ifdef _KERNEL -extern struct pcb *curpcb; + void savectx(struct pcb *); #endif /* _KERNEL */ ==== //depot/projects/netperf_socket/sys/arm/include/pmap.h#3 (text+ko) ==== @@ -44,7 +44,7 @@ * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 * from: FreeBSD: src/sys/i386/include/pmap.h,v 1.70 2000/11/30 * - * $FreeBSD: src/sys/arm/include/pmap.h,v 1.2 2004/07/12 21:22:40 cognet Exp $ + * $FreeBSD: src/sys/arm/include/pmap.h,v 1.3 2004/07/21 22:02:48 cognet Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -119,6 +119,7 @@ #endif +#define pmap_page_is_mapped(m) (!TAILQ_EMPTY(&(m)->md.pv_list)) /* * Pmap sutff */ ==== //depot/projects/netperf_socket/sys/arm/include/profile.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)profile.h 8.1 (Berkeley) 6/11/93 - * $FreeBSD: src/sys/arm/include/profile.h,v 1.2 2004/05/19 15:41:25 bde Exp $ + * $FreeBSD: src/sys/arm/include/profile.h,v 1.3 2004/07/20 22:38:46 cognet Exp $ */ #ifndef _MACHINE_PROFILE_H_ @@ -61,11 +61,11 @@ #define MCOUNT_DECL(s) u_long s; #ifdef SMP extern int mcount_lock; -#define MCOUNT_ENTER(s) { s = read_eflags(); disable_intr(); \ +#define MCOUNT_ENTER(s) { s = intr_disable(); \ while (!atomic_cmpset_acq_int(&mcount_lock, 0, 1)) \ /* nothing */ ; } #define MCOUNT_EXIT(s) { atomic_store_rel_int(&mcount_lock, 0); \ - write_eflags(s); } + intr_restore(s); } #else #define MCOUNT_ENTER(s) { s = read_eflags(); disable_intr(); } #define MCOUNT_EXIT(s) (write_eflags(s)) ==== //depot/projects/netperf_socket/sys/boot/efi/libefi/arch/ia64/ldscript.ia64#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/boot/efi/libefi/arch/ia64/ldscript.ia64,v 1.7 2003/07/17 00:32:08 marcel Exp $ */ +/* $FreeBSD: src/sys/boot/efi/libefi/arch/ia64/ldscript.ia64,v 1.8 2004/07/20 07:01:02 marcel Exp $ */ OUTPUT_FORMAT("elf64-ia64-little", "elf64-ia64-little", "elf64-ia64-little") OUTPUT_ARCH(ia64) ENTRY(_start_plabel) @@ -47,7 +47,7 @@ . = ALIGN(4096); .dynamic : { *(.dynamic) } . = ALIGN(4096); - .rela : { + .rela.dyn : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) ==== //depot/projects/netperf_socket/sys/boot/efi/libefi/arch/ia64/start.S#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/arch/ia64/start.S,v 1.6 2002/12/10 04:14:01 marcel Exp $ + * $FreeBSD: src/sys/boot/efi/libefi/arch/ia64/start.S,v 1.7 2004/07/20 07:11:14 marcel Exp $ */ .text @@ -70,6 +70,7 @@ #define R_IA64_FPTR64MSB 0x46 /* word64 MSB @fptr(S + A) */ #define R_IA64_FPTR64LSB 0x47 /* word64 LSB @fptr(S + A) */ #define R_IA64_REL64MSB 0x6e /* word64 MSB BD + A */ +#define R_IA64_REL32LSB 0x6d /* word32 LSB BD + A */ #define R_IA64_REL64LSB 0x6f /* word64 LSB BD + A */ #define R_IA64_IPLTLSB 0x81 /* function descriptor LSB speciaal */ @@ -99,21 +100,19 @@ END(_start) // PLABEL for PE32+ - .global _start_plabel .section .plabel, "a" .align 16 -_start_plabel: - .quad _start - .quad __gp + .global _start_plabel +_start_plabel: + data16 @iplt(_start) .previous // A PE32+ relocation entry for the plabel - .section .reloc, "a" - .long _start_plabel - .long 12 - .short (10 << 12) + 0 - .short (10 << 12) + 8 + data4 _start_plabel + data4 12 + data2 (10 << 12) + 0 + data2 (10 << 12) + 8 .previous // in0: image base @@ -218,6 +217,9 @@ cmp.eq p6,p0=R_IA64_NONE,r23 (p6) br.cond.dpnt.few 2b ;; + cmp.eq p6,p0=R_IA64_REL32LSB,r23 +(p6) br.cond.dptk.few 3f + ;; cmp.eq p6,p0=R_IA64_REL64LSB,r23 (p6) br.cond.dptk.few 4f ;; @@ -252,6 +254,13 @@ st8 [r15]=gp // fdesc:GP br.cond.sptk.few 2b + // REL32LSB +3: + add r29=in0,r17 + ;; + st4 [r15]=r29 + br.cond.sptk.few 2b + // REL64LSB 4: add r29=in0,r17 // BD + A ==== //depot/projects/netperf_socket/sys/boot/efi/loader/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/boot/efi/loader/Makefile,v 1.21 2004/02/13 04:45:41 marcel Exp $ +# $FreeBSD: src/sys/boot/efi/loader/Makefile,v 1.22 2004/07/20 07:01:02 marcel Exp $ PROG= loader.sym INTERNALPROG= @@ -41,12 +41,12 @@ loader.efi: loader.sym ${OBJCOPY} -j .text \ - -j .hash \ -j .data \ -j .sdata \ -j .dynamic \ - -j .rela \ + -j .rela.dyn \ -j .reloc \ + -j .hash \ -j .dynsym \ -j .dynstr \ --target=efi-app-${MACHINE_ARCH} \ ==== //depot/projects/netperf_socket/sys/compat/ndis/subr_ntoskrnl.c#15 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.39 2004/07/10 20:55:15 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.40 2004/07/20 20:28:57 wpaul Exp $"); #include <sys/ctype.h> #include <sys/unistd.h> @@ -44,7 +44,9 @@ #include <sys/mutex.h> #include <sys/callout.h> +#if __FreeBSD_version > 502113 #include <sys/kdb.h> +#endif #include <sys/kernel.h> #include <sys/proc.h> #include <sys/kthread.h> @@ -1634,7 +1636,11 @@ ntoskrnl_debugger(void) { +#if __FreeBSD_version < 502113 + Debugger("ntoskrnl_debugger(): breakpoint"); +#else kdb_enter("ntoskrnl_debugger(): breakpoint"); +#endif } static void ==== //depot/projects/netperf_socket/sys/conf/NOTES#30 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1248 2004/07/18 15:59:02 scottl Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1250 2004/07/23 17:44:07 rwatson Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -192,6 +192,7 @@ # bugs during development. Enabling this option will reduce # performance and increase the frequency of kernel panics by # design. If you aren't sure that you need it then you don't. +# DON'T TURN THIS ON. # MUTEX_DEBUG enables various extra assertions in the mutex code. # SLEEPQUEUE_PROFILING enables rudimentary profiling of the hash table # used to hold active sleep queues. @@ -447,6 +448,7 @@ options NETGRAPH_BPF options NETGRAPH_BRIDGE options NETGRAPH_CISCO +options NETGRAPH_DEVICE options NETGRAPH_ECHO options NETGRAPH_EIFACE options NETGRAPH_ETHER ==== //depot/projects/netperf_socket/sys/conf/files.i386#23 (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.499 2004/07/15 16:43:52 njl Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.500 2004/07/21 14:47:53 nyan Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -182,6 +182,7 @@ i386/acpica/OsdEnvironment.c optional acpi i386/acpica/acpi_asus.c optional acpi_asus acpi i386/acpica/acpi_machdep.c optional acpi +i386/acpica/acpi_panasonic.c optional acpi_panasonic acpi i386/acpica/acpi_toshiba.c optional acpi_toshiba acpi i386/acpica/acpi_wakeup.c optional acpi acpi_wakecode.h optional acpi \ ==== //depot/projects/netperf_socket/sys/conf/options#22 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.466 2004/07/18 18:21:39 kan Exp $ +# $FreeBSD: src/sys/conf/options,v 1.467 2004/07/20 12:42:54 glebius Exp $ # # On the handling of kernel options # @@ -386,6 +386,7 @@ NETGRAPH_BPF opt_netgraph.h NETGRAPH_BRIDGE opt_netgraph.h NETGRAPH_CISCO opt_netgraph.h +NETGRAPH_DEVICE opt_netgraph.h NETGRAPH_ECHO opt_netgraph.h NETGRAPH_EIFACE opt_netgraph.h NETGRAPH_ETHER opt_netgraph.h ==== //depot/projects/netperf_socket/sys/contrib/pf/net/pf.c#11 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/contrib/pf/net/pf.c,v 1.15 2004/07/18 14:25:48 mlaier Exp $ */ +/* $FreeBSD: src/sys/contrib/pf/net/pf.c,v 1.16 2004/07/23 03:31:42 mlaier Exp $ */ /* $OpenBSD: pf.c,v 1.433.2.2 2004/07/17 03:22:34 brad Exp $ */ /* @@ -5573,15 +5573,22 @@ #ifdef __FreeBSD__ /* - * XXX - * FreeBSD supports cksum offload for the following drivers. - * em(4), gx(4), lge(4), nge(4), ti(4), xl(4) - * If we can make full use of it we would outperform ipfw/ipfilter in - * very heavy traffic. - * I have not tested 'cause I don't have NICs that supports cksum offload. - * (There might be problems. Typical phenomena would be - * 1. No route message for UDP packet. - * 2. No connection acceptance from external hosts regardless of rule set.) + * FreeBSD supports cksum offloads for the following drivers. + * em(4), fxp(4), gx(4), ixgb(4), lge(4), ndis(4), nge(4), re(4), + * ti(4), txp(4), xl(4) + * + * CSUM_DATA_VALID | CSUM_PSEUDO_HDR : + * network driver performed cksum including pseudo header, need to verify + * csum_data + * CSUM_DATA_VALID : + * network driver performed cksum, needs to additional pseudo header + * cksum computation with partial csum_data(i.e. lack of H/W support for + * pseudo header, for instance hme(4), sk(4) and possibly gem(4)) + * + * After validating the cksum of packet, set both flag CSUM_DATA_VALID and + * CSUM_PSEUDO_HDR in order to avoid recomputation of the cksum in upper + * TCP/UDP layer. + * Also, set csum_data to 0xffff to force cksum validation. */ int pf_check_proto_cksum(struct mbuf *m, int off, int len, u_int8_t p, sa_family_t af) @@ -5649,12 +5656,6 @@ if (m->m_len < sizeof(struct ip)) return (1); sum = in4_cksum(m, p, off, len); - if (sum == 0) { - m->m_pkthdr.csum_flags |= >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200407241748.i6OHmIhR099642>