PERFORCE change 58872 for review
Robert Watson
rwatson at FreeBSD.org
Wed Aug 4 13:19:16 PDT 2004
http://perforce.freebsd.org/chv.cgi?CH=58872
Change 58872 by rwatson at rwatson_paprika on 2004/08/04 20:18:15
Integrate netperf_socket from rwatson_netperf:
/dev/null no longer a module; non-optional.
cpu_spinwait() abstraction
/dev/mem build fixes for SMP
_pmap_unwire_pte_hold()
FASTCALL() cleanup in NDIS.
ACPI debugger cleanup, lock trimming.
Lots of aic driver fixes.
Access control fix for pseudo-signalling of zombies.
Pipe locking cleanup.
ng_l2tp cleanups, changes, fixing.
Don't use delayed checksums with divert sockets.
IP fragment reassembly cleanunp.
Loop back of a number of Giant-related assertions for file
descriptors, VFS from rwatson_netperf.
Loop back of uidinfo locking annotation, spl cleanup from
rwatson_netperf.
Loop back of inpcb assertions enabled by default even with IPv6
compiled in from rwatson_netperf.
Affected files ...
.. //depot/projects/netperf_socket/sys/alpha/alpha/pmap.c#16 integrate
.. //depot/projects/netperf_socket/sys/alpha/conf/GENERIC#7 integrate
.. //depot/projects/netperf_socket/sys/alpha/include/cpu.h#5 integrate
.. //depot/projects/netperf_socket/sys/amd64/amd64/mem.c#8 integrate
.. //depot/projects/netperf_socket/sys/amd64/amd64/mp_machdep.c#7 integrate
.. //depot/projects/netperf_socket/sys/amd64/amd64/pmap.c#23 integrate
.. //depot/projects/netperf_socket/sys/amd64/conf/GENERIC#13 integrate
.. //depot/projects/netperf_socket/sys/amd64/include/cpu.h#5 integrate
.. //depot/projects/netperf_socket/sys/amd64/include/elf.h#3 integrate
.. //depot/projects/netperf_socket/sys/arm/include/cpu.h#2 integrate
.. //depot/projects/netperf_socket/sys/compat/ndis/kern_ndis.c#18 integrate
.. //depot/projects/netperf_socket/sys/compat/ndis/ntoskrnl_var.h#10 integrate
.. //depot/projects/netperf_socket/sys/compat/ndis/subr_ndis.c#14 integrate
.. //depot/projects/netperf_socket/sys/compat/ndis/subr_ntoskrnl.c#17 integrate
.. //depot/projects/netperf_socket/sys/conf/NOTES#32 integrate
.. //depot/projects/netperf_socket/sys/conf/files#43 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/acpi.c#34 integrate
.. //depot/projects/netperf_socket/sys/dev/aic7xxx/aic79xx.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/aic7xxx/aic79xx.h#4 integrate
.. //depot/projects/netperf_socket/sys/dev/aic7xxx/aic79xx.reg#4 integrate
.. //depot/projects/netperf_socket/sys/dev/aic7xxx/aic79xx.seq#4 integrate
.. //depot/projects/netperf_socket/sys/dev/aic7xxx/aic79xx_inline.h#4 integrate
.. //depot/projects/netperf_socket/sys/dev/aic7xxx/aic79xx_osm.c#3 integrate
.. //depot/projects/netperf_socket/sys/dev/aic7xxx/aic79xx_pci.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/asr/asr.c#8 integrate
.. //depot/projects/netperf_socket/sys/dev/eisa/eisaconf.c#3 integrate
.. //depot/projects/netperf_socket/sys/dev/esp/esp_sbus.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/esp/lsi64854.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/esp/lsi64854var.h#2 integrate
.. //depot/projects/netperf_socket/sys/dev/esp/ncr53c9x.c#5 integrate
.. //depot/projects/netperf_socket/sys/dev/esp/ncr53c9xreg.h#2 integrate
.. //depot/projects/netperf_socket/sys/dev/esp/ncr53c9xvar.h#4 integrate
.. //depot/projects/netperf_socket/sys/dev/firewire/fwohci_pci.c#9 integrate
.. //depot/projects/netperf_socket/sys/dev/firewire/fwohcireg.h#5 integrate
.. //depot/projects/netperf_socket/sys/dev/if_ndis/if_ndis.c#17 integrate
.. //depot/projects/netperf_socket/sys/dev/mem/memdev.c#3 integrate
.. //depot/projects/netperf_socket/sys/dev/mem/memutil.c#1 branch
.. //depot/projects/netperf_socket/sys/dev/ofw/ofw_console.c#10 integrate
.. //depot/projects/netperf_socket/sys/geom/mirror/g_mirror.c#2 integrate
.. //depot/projects/netperf_socket/sys/geom/mirror/g_mirror.h#2 integrate
.. //depot/projects/netperf_socket/sys/i386/acpica/acpi_asus.c#7 integrate
.. //depot/projects/netperf_socket/sys/i386/conf/GENERIC#11 integrate
.. //depot/projects/netperf_socket/sys/i386/i386/mem.c#10 integrate
.. //depot/projects/netperf_socket/sys/i386/i386/mp_machdep.c#4 integrate
.. //depot/projects/netperf_socket/sys/i386/i386/pmap.c#22 integrate
.. //depot/projects/netperf_socket/sys/i386/include/cpu.h#5 integrate
.. //depot/projects/netperf_socket/sys/ia64/conf/GENERIC#7 integrate
.. //depot/projects/netperf_socket/sys/ia64/conf/SKI#5 integrate
.. //depot/projects/netperf_socket/sys/ia64/include/cpu.h#5 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_descrip.c#13 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_kse.c#8 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_mutex.c#9 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_resource.c#10 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_sig.c#17 integrate
.. //depot/projects/netperf_socket/sys/kern/sys_pipe.c#6 integrate
.. //depot/projects/netperf_socket/sys/kern/vfs_lookup.c#4 integrate
.. //depot/projects/netperf_socket/sys/modules/Makefile#15 integrate
.. //depot/projects/netperf_socket/sys/modules/acpi/acpi_asus/Makefile#3 integrate
.. //depot/projects/netperf_socket/sys/modules/acpi/acpi_panasonic/Makefile#2 integrate
.. //depot/projects/netperf_socket/sys/modules/acpi/acpi_toshiba/Makefile#3 integrate
.. //depot/projects/netperf_socket/sys/modules/acpi/acpi_video/Makefile#3 integrate
.. //depot/projects/netperf_socket/sys/modules/mem/Makefile#2 integrate
.. //depot/projects/netperf_socket/sys/modules/null/Makefile#2 delete
.. //depot/projects/netperf_socket/sys/netgraph/ng_l2tp.c#6 integrate
.. //depot/projects/netperf_socket/sys/netgraph/ng_l2tp.h#2 integrate
.. //depot/projects/netperf_socket/sys/netgraph/ng_ppp.c#6 integrate
.. //depot/projects/netperf_socket/sys/netinet/in_pcb.h#6 integrate
.. //depot/projects/netperf_socket/sys/netinet/ip_divert.c#11 integrate
.. //depot/projects/netperf_socket/sys/netinet/ip_input.c#16 integrate
.. //depot/projects/netperf_socket/sys/netinet/ip_mroute.c#10 integrate
.. //depot/projects/netperf_socket/sys/netinet/ip_output.c#13 integrate
.. //depot/projects/netperf_socket/sys/netinet/tcp_subr.c#14 integrate
.. //depot/projects/netperf_socket/sys/pc98/conf/GENERIC#11 integrate
.. //depot/projects/netperf_socket/sys/powerpc/conf/GENERIC#8 integrate
.. //depot/projects/netperf_socket/sys/powerpc/include/cpu.h#2 integrate
.. //depot/projects/netperf_socket/sys/powerpc/include/critical.h#4 integrate
.. //depot/projects/netperf_socket/sys/sparc64/conf/GENERIC#9 integrate
.. //depot/projects/netperf_socket/sys/sparc64/include/cpu.h#5 integrate
.. //depot/projects/netperf_socket/sys/sys/kse.h#4 integrate
.. //depot/projects/netperf_socket/sys/sys/memrange.h#2 integrate
.. //depot/projects/netperf_socket/sys/sys/mount.h#13 integrate
.. //depot/projects/netperf_socket/sys/sys/resourcevar.h#6 integrate
.. //depot/projects/netperf_socket/sys/vm/device_pager.c#6 integrate
Differences ...
==== //depot/projects/netperf_socket/sys/alpha/alpha/pmap.c#16 (text+ko) ====
@@ -148,7 +148,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.164 2004/07/29 18:56:30 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.165 2004/08/04 18:04:43 alc Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -336,6 +336,7 @@
static vm_page_t pmap_allocpte(pmap_t pmap, vm_offset_t va);
static vm_page_t _pmap_allocpte(pmap_t pmap, unsigned ptepindex);
+static int _pmap_unwire_pte_hold(pmap_t pmap, vm_offset_t va, vm_page_t m);
static int pmap_unuse_pt(pmap_t, vm_offset_t, vm_page_t);
#ifdef SMP
static void pmap_invalidate_page_action(void *arg);
@@ -894,74 +895,65 @@
* This routine unholds page table pages, and if the hold count
* drops to zero, then it decrements the wire count.
*/
+static PMAP_INLINE int
+pmap_unwire_pte_hold(pmap_t pmap, vm_offset_t va, vm_page_t m)
+{
+
+ vm_page_unhold(m);
+ if (m->hold_count == 0)
+ return _pmap_unwire_pte_hold(pmap, va, m);
+ else
+ return 0;
+}
+
static int
_pmap_unwire_pte_hold(pmap_t pmap, vm_offset_t va, vm_page_t m)
{
+ vm_offset_t pteva;
+ pt_entry_t* pte;
- while (vm_page_sleep_if_busy(m, FALSE, "pmuwpt"))
- vm_page_lock_queues();
+ /*
+ * unmap the page table page
+ */
+ if (m->pindex >= NUSERLEV3MAPS) {
+ /* Level 2 page table */
+ pte = pmap_lev1pte(pmap, va);
+ pteva = (vm_offset_t) PTlev2 + alpha_ptob(m->pindex - NUSERLEV3MAPS);
+ } else {
+ /* Level 3 page table */
+ pte = pmap_lev2pte(pmap, va);
+ pteva = (vm_offset_t) PTmap + alpha_ptob(m->pindex);
+ }
- if (m->hold_count == 0) {
- vm_offset_t pteva;
- pt_entry_t* pte;
+ *pte = 0;
- /*
- * unmap the page table page
- */
- if (m->pindex >= NUSERLEV3MAPS) {
- /* Level 2 page table */
- pte = pmap_lev1pte(pmap, va);
- pteva = (vm_offset_t) PTlev2 + alpha_ptob(m->pindex - NUSERLEV3MAPS);
- } else {
- /* Level 3 page table */
- pte = pmap_lev2pte(pmap, va);
- pteva = (vm_offset_t) PTmap + alpha_ptob(m->pindex);
- }
+ if (m->pindex < NUSERLEV3MAPS) {
+ /* unhold the level 2 page table */
+ vm_page_t lev2pg;
- *pte = 0;
+ lev2pg = PHYS_TO_VM_PAGE(pmap_pte_pa(pmap_lev1pte(pmap, va)));
+ pmap_unwire_pte_hold(pmap, va, lev2pg);
+ }
- if (m->pindex < NUSERLEV3MAPS) {
- /* unhold the level 2 page table */
- vm_page_t lev2pg;
+ --pmap->pm_stats.resident_count;
+ /*
+ * Do a invltlb to make the invalidated mapping
+ * take effect immediately.
+ */
+ pmap_invalidate_page(pmap, pteva);
- lev2pg = PHYS_TO_VM_PAGE(pmap_pte_pa(pmap_lev1pte(pmap, va)));
- vm_page_unhold(lev2pg);
- if (lev2pg->hold_count == 0)
- _pmap_unwire_pte_hold(pmap, va, lev2pg);
- }
+ if (pmap->pm_ptphint == m)
+ pmap->pm_ptphint = NULL;
- --pmap->pm_stats.resident_count;
- /*
- * Do a invltlb to make the invalidated mapping
- * take effect immediately.
- */
- pmap_invalidate_page(pmap, pteva);
-
- if (pmap->pm_ptphint == m)
- pmap->pm_ptphint = NULL;
-
- /*
- * If the page is finally unwired, simply free it.
- */
- --m->wire_count;
- if (m->wire_count == 0) {
- vm_page_busy(m);
- vm_page_free_zero(m);
- atomic_subtract_int(&cnt.v_wire_count, 1);
- }
- return 1;
+ /*
+ * If the page is finally unwired, simply free it.
+ */
+ --m->wire_count;
+ if (m->wire_count == 0) {
+ vm_page_free_zero(m);
+ atomic_subtract_int(&cnt.v_wire_count, 1);
}
- return 0;
-}
-
-static PMAP_INLINE int
-pmap_unwire_pte_hold(pmap_t pmap, vm_offset_t va, vm_page_t m)
-{
- vm_page_unhold(m);
- if (m->hold_count == 0)
- return _pmap_unwire_pte_hold(pmap, va, m);
- else
- return 0;
+ return 1;
}
/*
==== //depot/projects/netperf_socket/sys/alpha/conf/GENERIC#7 (text+ko) ====
@@ -18,7 +18,7 @@
#
# For hardware specific information check HARDWARE.TXT
#
-# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.173 2004/08/01 11:40:50 markm Exp $
+# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.174 2004/08/03 19:24:52 markm Exp $
machine alpha
cpu EV4
@@ -173,7 +173,6 @@
# Pseudo devices.
device loop # Network loopback
device mem # Memory and kernel memory devices
-device null # Null and zero devices
device random # Entropy device
device ether # Ethernet support
device sl # Kernel SLIP
==== //depot/projects/netperf_socket/sys/alpha/include/cpu.h#5 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/alpha/include/cpu.h,v 1.39 2004/06/20 03:52:48 bde Exp $ */
+/* $FreeBSD: src/sys/alpha/include/cpu.h,v 1.40 2004/08/03 18:44:26 mux Exp $ */
/* From: NetBSD: cpu.h,v 1.18 1997/09/23 23:17:49 mjacob Exp */
/*
@@ -93,6 +93,7 @@
#ifdef _KERNEL
#define cpu_getstack(td) (alpha_pal_rdusp())
+#define cpu_spinwait() /* nothing */
#define get_cyclecount alpha_rpcc
void cpu_halt(void);
==== //depot/projects/netperf_socket/sys/amd64/amd64/mem.c#8 (text+ko) ====
@@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mem.c,v 1.119 2004/08/02 20:36:47 markm Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mem.c,v 1.120 2004/08/04 18:30:31 markm Exp $");
/*
* Memory special file
@@ -71,14 +71,6 @@
* Used in /dev/mem drivers and elsewhere
*/
MALLOC_DEFINE(M_MEMDESC, "memdesc", "memory range descriptors");
-struct mem_range_softc mem_range_softc;
-
-void
-mem_range_AP_init(void)
-{
- if (mem_range_softc.mr_op && mem_range_softc.mr_op->initAP)
- mem_range_softc.mr_op->initAP(&mem_range_softc);
-}
/* ARGSUSED */
int
@@ -223,35 +215,6 @@
return (error);
}
-/*
- * Implementation-neutral, kernel-callable functions for manipulating
- * memory range attributes.
- */
-int
-mem_range_attr_get(struct mem_range_desc *mrd, int *arg)
-{
- /* can we handle this? */
- if (mem_range_softc.mr_op == NULL)
- return (EOPNOTSUPP);
-
- if (*arg == 0)
- *arg = mem_range_softc.mr_ndesc;
- else
- bcopy(mem_range_softc.mr_desc, mrd,
- (*arg) * sizeof(struct mem_range_desc));
- return (0);
-}
-
-int
-mem_range_attr_set(struct mem_range_desc *mrd, int *arg)
-{
- /* can we handle this? */
- if (mem_range_softc.mr_op == NULL)
- return (EOPNOTSUPP);
-
- return (mem_range_softc.mr_op->set(&mem_range_softc, mrd, arg));
-}
-
void
dev_mem_md_init(void)
{
==== //depot/projects/netperf_socket/sys/amd64/amd64/mp_machdep.c#7 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.239 2004/06/08 01:07:51 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.240 2004/08/04 18:30:31 markm Exp $");
#include "opt_cpu.h"
#include "opt_kstack_pages.h"
@@ -142,6 +142,15 @@
static struct sysctl_ctx_list logical_cpu_clist;
static u_int bootMP_size;
+struct mem_range_softc mem_range_softc;
+
+static void
+mem_range_AP_init(void)
+{
+ if (mem_range_softc.mr_op && mem_range_softc.mr_op->initAP)
+ mem_range_softc.mr_op->initAP(&mem_range_softc);
+}
+
void
mp_topology(void)
{
==== //depot/projects/netperf_socket/sys/amd64/amd64/pmap.c#23 (text+ko) ====
@@ -75,7 +75,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.488 2004/07/31 06:42:05 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.489 2004/08/04 18:04:43 alc Exp $");
/*
* Manages physical address maps.
@@ -215,6 +215,7 @@
static vm_page_t pmap_allocpte(pmap_t pmap, vm_offset_t va);
static vm_page_t _pmap_allocpte(pmap_t pmap, vm_pindex_t ptepindex);
+static int _pmap_unwire_pte_hold(pmap_t pmap, vm_offset_t va, vm_page_t m);
static int pmap_unuse_pt(pmap_t, vm_offset_t, pd_entry_t);
static vm_offset_t pmap_kmem_choose(vm_offset_t addr);
@@ -964,87 +965,76 @@
* This routine unholds page table pages, and if the hold count
* drops to zero, then it decrements the wire count.
*/
+static PMAP_INLINE int
+pmap_unwire_pte_hold(pmap_t pmap, vm_offset_t va, vm_page_t m)
+{
+
+ vm_page_unhold(m);
+ if (m->hold_count == 0)
+ return _pmap_unwire_pte_hold(pmap, va, m);
+ else
+ return 0;
+}
+
static int
_pmap_unwire_pte_hold(pmap_t pmap, vm_offset_t va, vm_page_t m)
{
+ vm_offset_t pteva;
- while (vm_page_sleep_if_busy(m, FALSE, "pmuwpt"))
- vm_page_lock_queues();
+ /*
+ * unmap the page table page
+ */
+ if (m->pindex >= (NUPDE + NUPDPE)) {
+ /* PDP page */
+ pml4_entry_t *pml4;
+ pml4 = pmap_pml4e(pmap, va);
+ pteva = (vm_offset_t) PDPmap + amd64_ptob(m->pindex - (NUPDE + NUPDPE));
+ *pml4 = 0;
+ } else if (m->pindex >= NUPDE) {
+ /* PD page */
+ pdp_entry_t *pdp;
+ pdp = pmap_pdpe(pmap, va);
+ pteva = (vm_offset_t) PDmap + amd64_ptob(m->pindex - NUPDE);
+ *pdp = 0;
+ } else {
+ /* PTE page */
+ pd_entry_t *pd;
+ pd = pmap_pde(pmap, va);
+ pteva = (vm_offset_t) PTmap + amd64_ptob(m->pindex);
+ *pd = 0;
+ }
+ --pmap->pm_stats.resident_count;
+ if (m->pindex < NUPDE) {
+ /* We just released a PT, unhold the matching PD */
+ vm_page_t pdpg;
- if (m->hold_count == 0) {
- vm_offset_t pteva;
+ pdpg = PHYS_TO_VM_PAGE(*pmap_pdpe(pmap, va) & PG_FRAME);
+ pmap_unwire_pte_hold(pmap, va, pdpg);
+ }
+ if (m->pindex >= NUPDE && m->pindex < (NUPDE + NUPDPE)) {
+ /* We just released a PD, unhold the matching PDP */
+ vm_page_t pdppg;
+ pdppg = PHYS_TO_VM_PAGE(*pmap_pml4e(pmap, va) & PG_FRAME);
+ pmap_unwire_pte_hold(pmap, va, pdppg);
+ }
+ if (pmap_is_current(pmap)) {
/*
- * unmap the page table page
+ * Do an invltlb to make the invalidated mapping
+ * take effect immediately.
*/
- if (m->pindex >= (NUPDE + NUPDPE)) {
- /* PDP page */
- pml4_entry_t *pml4;
- pml4 = pmap_pml4e(pmap, va);
- pteva = (vm_offset_t) PDPmap + amd64_ptob(m->pindex - (NUPDE + NUPDPE));
- *pml4 = 0;
- } else if (m->pindex >= NUPDE) {
- /* PD page */
- pdp_entry_t *pdp;
- pdp = pmap_pdpe(pmap, va);
- pteva = (vm_offset_t) PDmap + amd64_ptob(m->pindex - NUPDE);
- *pdp = 0;
- } else {
- /* PTE page */
- pd_entry_t *pd;
- pd = pmap_pde(pmap, va);
- pteva = (vm_offset_t) PTmap + amd64_ptob(m->pindex);
- *pd = 0;
- }
- --pmap->pm_stats.resident_count;
- if (m->pindex < NUPDE) {
- /* We just released a PT, unhold the matching PD */
- vm_page_t pdpg;
+ pmap_invalidate_page(pmap, pteva);
+ }
- pdpg = PHYS_TO_VM_PAGE(*pmap_pdpe(pmap, va) & PG_FRAME);
- vm_page_unhold(pdpg);
- if (pdpg->hold_count == 0)
- _pmap_unwire_pte_hold(pmap, va, pdpg);
- }
- if (m->pindex >= NUPDE && m->pindex < (NUPDE + NUPDPE)) {
- /* We just released a PD, unhold the matching PDP */
- vm_page_t pdppg;
-
- pdppg = PHYS_TO_VM_PAGE(*pmap_pml4e(pmap, va) & PG_FRAME);
- vm_page_unhold(pdppg);
- if (pdppg->hold_count == 0)
- _pmap_unwire_pte_hold(pmap, va, pdppg);
- }
- if (pmap_is_current(pmap)) {
- /*
- * Do an invltlb to make the invalidated mapping
- * take effect immediately.
- */
- pmap_invalidate_page(pmap, pteva);
- }
-
- /*
- * If the page is finally unwired, simply free it.
- */
- --m->wire_count;
- if (m->wire_count == 0) {
- vm_page_busy(m);
- vm_page_free_zero(m);
- atomic_subtract_int(&cnt.v_wire_count, 1);
- }
- return 1;
+ /*
+ * If the page is finally unwired, simply free it.
+ */
+ --m->wire_count;
+ if (m->wire_count == 0) {
+ vm_page_free_zero(m);
+ atomic_subtract_int(&cnt.v_wire_count, 1);
}
- return 0;
-}
-
-static PMAP_INLINE int
-pmap_unwire_pte_hold(pmap_t pmap, vm_offset_t va, vm_page_t m)
-{
- vm_page_unhold(m);
- if (m->hold_count == 0)
- return _pmap_unwire_pte_hold(pmap, va, m);
- else
- return 0;
+ return 1;
}
/*
==== //depot/projects/netperf_socket/sys/amd64/conf/GENERIC#13 (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.418 2004/08/01 19:37:34 markm Exp $
+# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.419 2004/08/03 19:24:52 markm Exp $
machine amd64
cpu HAMMER
@@ -220,7 +220,6 @@
device loop # Network loopback
device mem # Memory and kernel memory devices
device io # I/O device
-device null # Null and zero devices
device random # Entropy device
device ether # Ethernet support
device sl # Kernel SLIP
==== //depot/projects/netperf_socket/sys/amd64/include/cpu.h#5 (text+ko) ====
@@ -30,7 +30,7 @@
* SUCH DAMAGE.
*
* from: @(#)cpu.h 5.4 (Berkeley) 5/9/91
- * $FreeBSD: src/sys/amd64/include/cpu.h,v 1.73 2004/06/20 03:52:48 bde Exp $
+ * $FreeBSD: src/sys/amd64/include/cpu.h,v 1.74 2004/08/03 18:44:26 mux Exp $
*/
#ifndef _MACHINE_CPU_H_
@@ -50,9 +50,10 @@
#undef COPY_SIGCODE /* don't copy sigcode above user stack in exec */
#define cpu_exec(p) /* nothing */
-#define cpu_swapin(p) /* nothing */
+#define cpu_swapin(p) /* nothing */
#define cpu_getstack(td) ((td)->td_frame->tf_rsp)
-#define cpu_setstack(td, ap) ((td)->td_frame->tf_rsp = (ap))
+#define cpu_setstack(td, ap) ((td)->td_frame->tf_rsp = (ap))
+#define cpu_spinwait() ia32_pause()
#define TRAPF_USERMODE(framep) \
(ISPL((framep)->tf_cs) == SEL_UPL)
==== //depot/projects/netperf_socket/sys/amd64/include/elf.h#3 (text+ko) ====
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/amd64/include/elf.h,v 1.17 2004/08/02 19:12:17 dfr Exp $
+ * $FreeBSD: src/sys/amd64/include/elf.h,v 1.18 2004/08/03 08:21:48 dfr Exp $
*/
#ifndef _MACHINE_ELF_H_
@@ -124,14 +124,14 @@
#define R_X86_64_PC16 13 /* Add 16 bit signed extended pc relative symbol value */
#define R_X86_64_8 14 /* Add 8 bit zero extended symbol value */
#define R_X86_64_PC8 15 /* Add 8 bit signed extended pc relative symbol value */
-#define R_X86_64_DTPMOD64 16 /* ID of module containing symbol */
-#define R_X86_64_DTPOFF64 17 /* Offset in TLS block */
-#define R_X86_64_TPOFF64 18 /* Offset in static TLS block */
-#define R_X86_64_TLSGD 19 /* PC relative offset to GD GOT entry */
-#define R_X86_64_TLSLD 20 /* PC relative offset to LD GOT entry */
-#define R_X86_64_DTPOFF32 21 /* Offset in TLS block */
-#define R_X86_64_GOTTPOFF 22 /* PC relative offset to IE GOT entry */
-#define R_X86_64_TPOFF32 23 /* Offset in static TLS block */
+#define R_X86_64_DTPMOD64 16 /* ID of module containing symbol */
+#define R_X86_64_DTPOFF64 17 /* Offset in TLS block */
+#define R_X86_64_TPOFF64 18 /* Offset in static TLS block */
+#define R_X86_64_TLSGD 19 /* PC relative offset to GD GOT entry */
+#define R_X86_64_TLSLD 20 /* PC relative offset to LD GOT entry */
+#define R_X86_64_DTPOFF32 21 /* Offset in TLS block */
+#define R_X86_64_GOTTPOFF 22 /* PC relative offset to IE GOT entry */
+#define R_X86_64_TPOFF32 23 /* Offset in static TLS block */
#define R_X86_64_COUNT 24 /* Count of defined relocation types. */
==== //depot/projects/netperf_socket/sys/arm/include/cpu.h#2 (text+ko) ====
@@ -1,5 +1,5 @@
/* $NetBSD: cpu.h,v 1.2 2001/02/23 21:23:52 reinoud Exp $ */
-/* $FreeBSD: src/sys/arm/include/cpu.h,v 1.1 2004/05/14 11:46:44 cognet Exp $ */
+/* $FreeBSD: src/sys/arm/include/cpu.h,v 1.2 2004/08/03 18:44:26 mux Exp $ */
#ifndef MACHINE_CPU_H
#define MACHINE_CPU_H
@@ -32,6 +32,7 @@
#define cpu_getstack(td) ((td)->td_frame->tf_usr_sp)
#define cpu_setstack(td, sp) ((td)->td_frame->tf_usr_sp = (sp))
+#define cpu_spinwait() /* nothing */
#define ARM_NVEC 8
#define ARM_VEC_ALL 0xffffffff
==== //depot/projects/netperf_socket/sys/compat/ndis/kern_ndis.c#18 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.58 2004/08/01 20:04:30 wpaul Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.59 2004/08/04 18:22:50 wpaul Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -782,9 +782,9 @@
return;
returnfunc = sc->ndis_chars.nmc_return_packet_func;
- irql = FASTCALL1(hal_raise_irql, DISPATCH_LEVEL);
+ irql = ntoskrnl_raise_irql(DISPATCH_LEVEL);
returnfunc(adapter, p);
- FASTCALL1(hal_lower_irql, irql);
+ ntoskrnl_lower_irql(irql);
return;
}
@@ -1132,10 +1132,10 @@
if (adapter == NULL || setfunc == NULL)
return(ENXIO);
- irql = FASTCALL1(hal_raise_irql, DISPATCH_LEVEL);
+ irql = ntoskrnl_raise_irql(DISPATCH_LEVEL);
rval = setfunc(adapter, oid, buf, *buflen,
&byteswritten, &bytesneeded);
- FASTCALL1(hal_lower_irql, irql);
+ ntoskrnl_lower_irql(irql);
if (rval == NDIS_STATUS_PENDING) {
PROC_LOCK(curthread->td_proc);
@@ -1189,9 +1189,9 @@
return(ENXIO);
sendfunc = sc->ndis_chars.nmc_sendmulti_func;
senddonefunc = sc->ndis_block.nmb_senddone_func;
- irql = FASTCALL1(hal_raise_irql, DISPATCH_LEVEL);
+ irql = ntoskrnl_raise_irql(DISPATCH_LEVEL);
sendfunc(adapter, packets, cnt);
- FASTCALL1(hal_lower_irql, irql);
+ ntoskrnl_lower_irql(irql);
for (i = 0; i < cnt; i++) {
p = packets[i];
@@ -1228,9 +1228,9 @@
sendfunc = sc->ndis_chars.nmc_sendsingle_func;
senddonefunc = sc->ndis_block.nmb_senddone_func;
- irql = FASTCALL1(hal_raise_irql, DISPATCH_LEVEL);
+ irql = ntoskrnl_raise_irql(DISPATCH_LEVEL);
status = sendfunc(adapter, packet, packet->np_private.npp_flags);
- FASTCALL1(hal_lower_irql, irql);
+ ntoskrnl_lower_irql(irql);
if (status == NDIS_STATUS_PENDING)
return(0);
@@ -1317,9 +1317,9 @@
if (adapter == NULL || resetfunc == NULL)
return(EIO);
- irql = FASTCALL1(hal_raise_irql, DISPATCH_LEVEL);
+ irql = ntoskrnl_raise_irql(DISPATCH_LEVEL);
rval = resetfunc(&addressing_reset, adapter);
- FASTCALL1(hal_lower_irql, irql);
+ ntoskrnl_lower_irql(irql);
if (rval == NDIS_STATUS_PENDING) {
PROC_LOCK(curthread->td_proc);
@@ -1550,10 +1550,10 @@
if (adapter == NULL || queryfunc == NULL)
return(ENXIO);
- irql = FASTCALL1(hal_raise_irql, DISPATCH_LEVEL);
+ irql = ntoskrnl_raise_irql(DISPATCH_LEVEL);
rval = queryfunc(adapter, oid, buf, *buflen,
&byteswritten, &bytesneeded);
- FASTCALL1(hal_lower_irql, irql);
+ ntoskrnl_lower_irql(irql);
/* Wait for requests that block. */
==== //depot/projects/netperf_socket/sys/compat/ndis/ntoskrnl_var.h#10 (text+ko) ====
@@ -29,7 +29,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/compat/ndis/ntoskrnl_var.h,v 1.16 2004/08/01 20:04:30 wpaul Exp $
+ * $FreeBSD: src/sys/compat/ndis/ntoskrnl_var.h,v 1.17 2004/08/04 18:22:50 wpaul Exp $
*/
#ifndef _NTOSKRNL_VAR_H_
@@ -516,10 +516,10 @@
* routines live in the HAL. We try to imitate this behavior.
*/
#ifdef __i386__
-#define ntoskrnl_acquire_spinlock(a, b) \
- *(b) = FASTCALL(hal_lock, a, 0)
-#define ntoskrnl_release_spinlock(a, b) \
- FASTCALL(hal_unlock, a, b)
+#define ntoskrnl_acquire_spinlock(a, b) *(b) = FASTCALL1(hal_lock, a)
+#define ntoskrnl_release_spinlock(a, b) FASTCALL2(hal_unlock, a, b)
+#define ntoskrnl_raise_irql(a) FASTCALL1(hal_raise_irql, a)
+#define ntoskrnl_lower_irql(a) FASTCALL1(hal_lower_irql, a)
#endif /* __i386__ */
__END_DECLS
==== //depot/projects/netperf_socket/sys/compat/ndis/subr_ndis.c#14 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ndis.c,v 1.64 2004/08/01 21:15:29 wpaul Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ndis.c,v 1.65 2004/08/04 18:22:50 wpaul Exp $");
/*
* This file implements a translation layer between the BSD networking
@@ -809,8 +809,7 @@
ndis_lock(lock)
ndis_spin_lock *lock;
{
- lock->nsl_kirql = FASTCALL2(hal_lock,
- &lock->nsl_spinlock, DISPATCH_LEVEL);
+ ntoskrnl_acquire_spinlock(&lock->nsl_spinlock, &lock->nsl_kirql);
return;
}
@@ -822,7 +821,7 @@
ndis_unlock(lock)
ndis_spin_lock *lock;
{
- FASTCALL2(hal_unlock, &lock->nsl_spinlock, lock->nsl_kirql);
+ ntoskrnl_release_spinlock(&lock->nsl_spinlock, lock->nsl_kirql);
return;
}
@@ -2317,14 +2316,13 @@
{
list_entry *flink;
- lock->nsl_kirql = FASTCALL2(hal_lock,
- &lock->nsl_spinlock, DISPATCH_LEVEL);
+ ntoskrnl_acquire_spinlock(&lock->nsl_spinlock, &lock->nsl_kirql);
flink = head->nle_flink;
entry->nle_flink = flink;
entry->nle_blink = head;
flink->nle_blink = entry;
head->nle_flink = entry;
- FASTCALL2(hal_unlock, &lock->nsl_spinlock, lock->nsl_kirql);
+ ntoskrnl_release_spinlock(&lock->nsl_spinlock, lock->nsl_kirql);
return(flink);
}
@@ -2337,13 +2335,12 @@
list_entry *flink;
list_entry *entry;
- lock->nsl_kirql = FASTCALL2(hal_lock,
- &lock->nsl_spinlock, DISPATCH_LEVEL);
+ ntoskrnl_acquire_spinlock(&lock->nsl_spinlock, &lock->nsl_kirql);
entry = head->nle_flink;
flink = entry->nle_flink;
head->nle_flink = flink;
flink->nle_blink = head;
- FASTCALL2(hal_unlock, &lock->nsl_spinlock, lock->nsl_kirql);
+ ntoskrnl_release_spinlock(&lock->nsl_spinlock, lock->nsl_kirql);
return(entry);
}
@@ -2356,14 +2353,13 @@
{
list_entry *blink;
- lock->nsl_kirql = FASTCALL2(hal_lock,
- &lock->nsl_spinlock, DISPATCH_LEVEL);
+ ntoskrnl_acquire_spinlock(&lock->nsl_spinlock, &lock->nsl_kirql);
blink = head->nle_blink;
entry->nle_flink = head;
entry->nle_blink = blink;
blink->nle_flink = entry;
head->nle_blink = entry;
- FASTCALL2(hal_unlock, &lock->nsl_spinlock, lock->nsl_kirql);
+ ntoskrnl_release_spinlock(&lock->nsl_spinlock, lock->nsl_kirql);
return(blink);
}
==== //depot/projects/netperf_socket/sys/compat/ndis/subr_ntoskrnl.c#17 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.41 2004/08/01 20:04:30 wpaul Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.42 2004/08/04 18:22:50 wpaul Exp $");
#include <sys/ctype.h>
#include <sys/unistd.h>
@@ -984,9 +984,9 @@
slist_entry *oldhead;
uint8_t irql;
- irql = FASTCALL2(hal_lock, lock, DISPATCH_LEVEL);
+ ntoskrnl_acquire_spinlock(lock, &irql);
oldhead = ntoskrnl_pushsl(head, entry);
- FASTCALL2(hal_unlock, lock, irql);
+ ntoskrnl_release_spinlock(lock, irql);
return(oldhead);
}
@@ -997,9 +997,9 @@
slist_entry *first;
uint8_t irql;
- irql = FASTCALL2(hal_lock, lock, DISPATCH_LEVEL);
+ ntoskrnl_acquire_spinlock(lock, &irql);
first = ntoskrnl_popsl(head);
- FASTCALL2(hal_unlock, lock, irql);
+ ntoskrnl_release_spinlock(lock, irql);
return(first);
}
@@ -1040,9 +1040,9 @@
{
uint8_t irql;
- irql = FASTCALL2(hal_lock, &ntoskrnl_global, DISPATCH_LEVEL);
+ ntoskrnl_acquire_spinlock(&ntoskrnl_global, &irql);
*addend += inc;
- FASTCALL2(hal_unlock, &ntoskrnl_global, irql);
+ ntoskrnl_release_spinlock(&ntoskrnl_global, irql);
return;
};
@@ -1686,9 +1686,9 @@
dpc = arg;
dpcfunc = (kdpc_func)dpc->k_deferedfunc;
- irql = FASTCALL1(hal_raise_irql, DISPATCH_LEVEL);
+ irql = ntoskrnl_raise_irql(DISPATCH_LEVEL);
dpcfunc(dpc, dpc->k_deferredctx, dpc->k_sysarg1, dpc->k_sysarg2);
- FASTCALL1(hal_lower_irql, irql);
+ ntoskrnl_lower_irql(irql);
return;
}
==== //depot/projects/netperf_socket/sys/conf/NOTES#32 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/NOTES,v 1.1253 2004/08/01 11:40:51 markm Exp $
+# $FreeBSD: src/sys/conf/NOTES,v 1.1254 2004/08/03 19:24:53 markm Exp $
#
# NOTES -- Lines that can be cut/pasted into kernel and hints configs.
#
@@ -839,9 +839,6 @@
# Cryptographically secure random number generator; /dev/random
device random
-# The bit-bucket; /dev/null
-device null
-
# The system memory devices; /dev/mem, /dev/kmem
device mem
==== //depot/projects/netperf_socket/sys/conf/files#43 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.935 2004/08/01 11:40:51 markm Exp $
+# $FreeBSD: src/sys/conf/files,v 1.936 2004/08/03 19:24:53 markm Exp $
#
# The long compile-with and dependency lines are required because of
# limitations in config: backslash-newline doesn't work in strings, and
@@ -585,7 +585,7 @@
dev/musycc/musycc.c optional musycc
dev/nge/if_nge.c optional nge
dev/nmdm/nmdm.c optional nmdm
-dev/null/null.c optional null
+dev/null/null.c standard
dev/patm/if_patm.c optional patm pci
dev/patm/if_patm_intr.c optional patm pci
dev/patm/if_patm_ioctl.c optional patm pci
==== //depot/projects/netperf_socket/sys/dev/acpica/acpi.c#34 (text+ko) ====
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/acpica/acpi.c,v 1.178 2004/07/26 06:04:35 njl Exp $
+ * $FreeBSD: src/sys/dev/acpica/acpi.c,v 1.182 2004/08/03 17:16:30 njl Exp $
*/
#include "opt_acpi.h"
@@ -188,6 +188,8 @@
DRIVER_MODULE(acpi, nexus, acpi_driver, acpi_devclass, acpi_modevent, 0);
MODULE_VERSION(acpi, 1);
+#define ACPI_MINIMUM_AWAKETIME 5
+
static const char* sleep_state_names[] = {
"S0", "S1", "S2", "S3", "S4", "S5", "NONE"};
@@ -238,14 +240,12 @@
ACPI_STATUS
acpi_Startup(void)
{
-#ifdef ACPI_DEBUGGER
- char *debugpoint;
-#endif
static int started = 0;
int error, val;
ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
+ /* Only run the startup code once. The MADT driver also calls this. */
if (started)
return_VALUE (0);
started = 1;
@@ -260,26 +260,10 @@
AcpiGbl_AllMethodsSerialized = (UINT8)acpi_serialize_methods;
/* Start up the ACPI CA subsystem. */
-#ifdef ACPI_DEBUGGER
- debugpoint = getenv("debug.acpi.debugger");
- if (debugpoint) {
- if (!strcmp(debugpoint, "init"))
- acpi_EnterDebugger();
- freeenv(debugpoint);
- }
-#endif
if (ACPI_FAILURE(error = AcpiInitializeSubsystem())) {
printf("ACPI: initialisation failed: %s\n", AcpiFormatException(error));
return_VALUE (error);
}
-#ifdef ACPI_DEBUGGER
- debugpoint = getenv("debug.acpi.debugger");
- if (debugpoint) {
- if (!strcmp(debugpoint, "tables"))
- acpi_EnterDebugger();
- freeenv(debugpoint);
- }
-#endif
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list