PERFORCE change 58052 for review
Robert Watson
rwatson at FreeBSD.org
Sat Jul 24 10:48:20 PDT 2004
http://perforce.freebsd.org/chv.cgi?CH=58052
Change 58052 by rwatson at 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) <<<
More information about the p4-projects
mailing list