PERFORCE change 81982 for review
Robert Watson
rwatson at FreeBSD.org
Sun Aug 14 17:31:31 GMT 2005
http://perforce.freebsd.org/chv.cgi?CH=81982
Change 81982 by rwatson at rwatson_peppercorn on 2005/08/14 17:30:58
Integrate netsmp branch; various changes including:
- g_label_ext2fs, g_label_reiserfs
- if_dc, if_hme, if_my, if_sf, if_sk locking and other cleanups
- if_drv_flags/if_flags descriptions, loopback, etc.
- arp/routing race fixes
- netnatm fixes to if_atm
- nswbuf fix
Affected files ...
.. //depot/projects/netsmp/src/sys/amd64/amd64/pmap.c#3 integrate
.. //depot/projects/netsmp/src/sys/conf/files#6 integrate
.. //depot/projects/netsmp/src/sys/contrib/pf/net/if_pflog.c#4 integrate
.. //depot/projects/netsmp/src/sys/contrib/pf/net/if_pfsync.c#4 integrate
.. //depot/projects/netsmp/src/sys/ddb/db_command.c#2 integrate
.. //depot/projects/netsmp/src/sys/dev/acpica/acpi_battery.c#5 integrate
.. //depot/projects/netsmp/src/sys/dev/ata/ata-all.c#2 integrate
.. //depot/projects/netsmp/src/sys/dev/ata/ata-chipset.c#3 integrate
.. //depot/projects/netsmp/src/sys/dev/ata/ata-pci.h#3 integrate
.. //depot/projects/netsmp/src/sys/dev/ath/if_ath.c#10 integrate
.. //depot/projects/netsmp/src/sys/dev/awi/awi.c#8 integrate
.. //depot/projects/netsmp/src/sys/dev/ciss/ciss.c#2 integrate
.. //depot/projects/netsmp/src/sys/dev/ciss/cissreg.h#2 integrate
.. //depot/projects/netsmp/src/sys/dev/hme/if_hme.c#6 integrate
.. //depot/projects/netsmp/src/sys/dev/ieee488/upd7210.h#2 integrate
.. //depot/projects/netsmp/src/sys/dev/iicbus/iicbus.h#2 integrate
.. //depot/projects/netsmp/src/sys/dev/ipw/if_ipw.c#6 integrate
.. //depot/projects/netsmp/src/sys/dev/my/if_my.c#6 integrate
.. //depot/projects/netsmp/src/sys/dev/my/if_myreg.h#2 integrate
.. //depot/projects/netsmp/src/sys/dev/ral/if_ral.c#5 integrate
.. //depot/projects/netsmp/src/sys/dev/smbus/smbus.h#2 integrate
.. //depot/projects/netsmp/src/sys/dev/usb/if_rue.c#7 integrate
.. //depot/projects/netsmp/src/sys/dev/usb/if_ural.c#5 integrate
.. //depot/projects/netsmp/src/sys/dev/wi/if_wi.c#9 integrate
.. //depot/projects/netsmp/src/sys/dev/wl/if_wl.c#6 integrate
.. //depot/projects/netsmp/src/sys/fs/fdescfs/fdesc_vnops.c#2 integrate
.. //depot/projects/netsmp/src/sys/fs/pseudofs/pseudofs_vnops.c#2 integrate
.. //depot/projects/netsmp/src/sys/fs/unionfs/union.h#2 integrate
.. //depot/projects/netsmp/src/sys/geom/eli/g_eli.c#2 integrate
.. //depot/projects/netsmp/src/sys/geom/label/g_label.c#2 integrate
.. //depot/projects/netsmp/src/sys/geom/label/g_label.h#2 integrate
.. //depot/projects/netsmp/src/sys/geom/label/g_label_ext2fs.c#1 branch
.. //depot/projects/netsmp/src/sys/geom/label/g_label_reiserfs.c#1 branch
.. //depot/projects/netsmp/src/sys/i386/i386/pmap.c#4 integrate
.. //depot/projects/netsmp/src/sys/ia64/ia64/mp_machdep.c#3 integrate
.. //depot/projects/netsmp/src/sys/ia64/ia64/pmap.c#3 integrate
.. //depot/projects/netsmp/src/sys/ia64/ia64/sal.c#2 integrate
.. //depot/projects/netsmp/src/sys/isofs/cd9660/cd9660_vfsops.c#2 integrate
.. //depot/projects/netsmp/src/sys/kern/kern_cpu.c#2 integrate
.. //depot/projects/netsmp/src/sys/kern/subr_witness.c#6 integrate
.. //depot/projects/netsmp/src/sys/kern/vfs_cluster.c#2 integrate
.. //depot/projects/netsmp/src/sys/kern/vfs_subr.c#5 integrate
.. //depot/projects/netsmp/src/sys/modules/geom/geom_label/Makefile#2 integrate
.. //depot/projects/netsmp/src/sys/modules/procfs/Makefile#2 integrate
.. //depot/projects/netsmp/src/sys/modules/twa/Makefile#2 integrate
.. //depot/projects/netsmp/src/sys/modules/twe/Makefile#2 integrate
.. //depot/projects/netsmp/src/sys/net/if.h#5 integrate
.. //depot/projects/netsmp/src/sys/net/if_atmsubr.c#4 integrate
.. //depot/projects/netsmp/src/sys/net/if_fwsubr.c#4 integrate
.. //depot/projects/netsmp/src/sys/net/if_iso88025subr.c#6 integrate
.. //depot/projects/netsmp/src/sys/net/if_ppp.c#4 integrate
.. //depot/projects/netsmp/src/sys/net/if_pppvar.h#2 integrate
.. //depot/projects/netsmp/src/sys/net/ppp_tty.c#4 integrate
.. //depot/projects/netsmp/src/sys/net/route.c#3 integrate
.. //depot/projects/netsmp/src/sys/net/rtsock.c#5 integrate
.. //depot/projects/netsmp/src/sys/net80211/_ieee80211.h#2 integrate
.. //depot/projects/netsmp/src/sys/net80211/ieee80211.c#4 integrate
.. //depot/projects/netsmp/src/sys/net80211/ieee80211_acl.c#2 integrate
.. //depot/projects/netsmp/src/sys/net80211/ieee80211_input.c#6 integrate
.. //depot/projects/netsmp/src/sys/net80211/ieee80211_ioctl.c#7 integrate
.. //depot/projects/netsmp/src/sys/net80211/ieee80211_ioctl.h#4 integrate
.. //depot/projects/netsmp/src/sys/net80211/ieee80211_node.c#8 integrate
.. //depot/projects/netsmp/src/sys/net80211/ieee80211_node.h#5 integrate
.. //depot/projects/netsmp/src/sys/net80211/ieee80211_output.c#5 integrate
.. //depot/projects/netsmp/src/sys/net80211/ieee80211_proto.c#3 integrate
.. //depot/projects/netsmp/src/sys/net80211/ieee80211_proto.h#3 integrate
.. //depot/projects/netsmp/src/sys/net80211/ieee80211_var.h#4 integrate
.. //depot/projects/netsmp/src/sys/netgraph/atm/atmpif/ng_atmpif_harp.c#2 integrate
.. //depot/projects/netsmp/src/sys/netgraph/atm/ng_atm.c#2 integrate
.. //depot/projects/netsmp/src/sys/netgraph/atm/sscop/ng_sscop.c#2 integrate
.. //depot/projects/netsmp/src/sys/netgraph/atm/uni/ng_uni.c#2 integrate
.. //depot/projects/netsmp/src/sys/netgraph/ng_fec.c#4 integrate
.. //depot/projects/netsmp/src/sys/netgraph/ng_l2tp.c#2 integrate
.. //depot/projects/netsmp/src/sys/netinet/if_atm.c#2 integrate
.. //depot/projects/netsmp/src/sys/netinet/if_ether.c#3 integrate
.. //depot/projects/netsmp/src/sys/netinet/in_proto.c#2 integrate
.. //depot/projects/netsmp/src/sys/netinet/ip_fw.h#2 integrate
.. //depot/projects/netsmp/src/sys/netinet/ip_fw2.c#3 integrate
.. //depot/projects/netsmp/src/sys/netinet/ip_output.c#6 integrate
.. //depot/projects/netsmp/src/sys/netinet/pim_var.h#2 integrate
.. //depot/projects/netsmp/src/sys/netinet6/icmp6.c#3 integrate
.. //depot/projects/netsmp/src/sys/netinet6/in6.h#4 integrate
.. //depot/projects/netsmp/src/sys/netinet6/in6_proto.c#3 integrate
.. //depot/projects/netsmp/src/sys/netinet6/in6_src.c#3 integrate
.. //depot/projects/netsmp/src/sys/netinet6/in6_var.h#7 integrate
.. //depot/projects/netsmp/src/sys/netinet6/ip6_forward.c#3 integrate
.. //depot/projects/netsmp/src/sys/netinet6/ip6_fw.c#2 integrate
.. //depot/projects/netsmp/src/sys/netinet6/ip6_mroute.c#3 integrate
.. //depot/projects/netsmp/src/sys/netinet6/ip6_var.h#4 integrate
.. //depot/projects/netsmp/src/sys/netinet6/nd6.c#5 integrate
.. //depot/projects/netsmp/src/sys/netinet6/nd6_nbr.c#5 integrate
.. //depot/projects/netsmp/src/sys/netinet6/nd6_rtr.c#3 integrate
.. //depot/projects/netsmp/src/sys/netinet6/pim6_var.h#2 integrate
.. //depot/projects/netsmp/src/sys/pci/if_dc.c#6 integrate
.. //depot/projects/netsmp/src/sys/pci/if_dcreg.h#2 integrate
.. //depot/projects/netsmp/src/sys/pci/if_de.c#8 integrate
.. //depot/projects/netsmp/src/sys/pci/if_sf.c#6 integrate
.. //depot/projects/netsmp/src/sys/pci/if_sfreg.h#2 integrate
.. //depot/projects/netsmp/src/sys/pci/if_sk.c#6 integrate
.. //depot/projects/netsmp/src/sys/sys/ata.h#4 integrate
.. //depot/projects/netsmp/src/sys/sys/buf.h#2 integrate
.. //depot/projects/netsmp/src/sys/sys/interrupt.h#2 integrate
.. //depot/projects/netsmp/src/sys/sys/param.h#3 integrate
.. //depot/projects/netsmp/src/sys/sys/proc.h#2 integrate
.. //depot/projects/netsmp/src/sys/sys/protosw.h#2 integrate
.. //depot/projects/netsmp/src/sys/vm/vm_contig.c#2 integrate
.. //depot/projects/netsmp/src/sys/vm/vm_object.c#2 integrate
.. //depot/projects/netsmp/src/sys/vm/vm_page.c#2 integrate
.. //depot/projects/netsmp/src/sys/vm/vm_pageout.c#2 integrate
.. //depot/projects/netsmp/src/sys/vm/vm_pager.c#2 integrate
.. //depot/projects/netsmp/src/sys/vm/vnode_pager.c#3 integrate
Differences ...
==== //depot/projects/netsmp/src/sys/amd64/amd64/pmap.c#3 (text+ko) ====
@@ -75,7 +75,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.517 2005/08/07 22:00:46 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.520 2005/08/11 23:38:01 alc Exp $");
/*
* Manages physical address maps.
@@ -104,7 +104,6 @@
*/
#include "opt_msgbuf.h"
-#include "opt_kstack_pages.h"
#include <sys/param.h>
#include <sys/systm.h>
@@ -207,8 +206,8 @@
static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq,
vm_offset_t sva, pd_entry_t ptepde);
static void pmap_remove_page(struct pmap *pmap, vm_offset_t va);
-static int pmap_remove_entry(struct pmap *pmap, vm_page_t m,
- vm_offset_t va, pd_entry_t ptepde);
+static void pmap_remove_entry(struct pmap *pmap, vm_page_t m,
+ vm_offset_t va);
static void pmap_insert_entry(pmap_t pmap, vm_offset_t va, vm_page_t m);
static vm_page_t pmap_allocpte(pmap_t pmap, vm_offset_t va, int flags);
@@ -1420,11 +1419,10 @@
}
-static int
-pmap_remove_entry(pmap_t pmap, vm_page_t m, vm_offset_t va, pd_entry_t ptepde)
+static void
+pmap_remove_entry(pmap_t pmap, vm_page_t m, vm_offset_t va)
{
pv_entry_t pv;
- int rtval;
PMAP_LOCK_ASSERT(pmap, MA_OWNED);
mtx_assert(&vm_page_queue_mtx, MA_OWNED);
@@ -1439,20 +1437,13 @@
break;
}
}
-
- rtval = 0;
- if (pv) {
- rtval = pmap_unuse_pt(pmap, va, ptepde);
- TAILQ_REMOVE(&m->md.pv_list, pv, pv_list);
- m->md.pv_list_count--;
- if (TAILQ_FIRST(&m->md.pv_list) == NULL)
- vm_page_flag_clear(m, PG_WRITEABLE);
-
- TAILQ_REMOVE(&pmap->pm_pvlist, pv, pv_plist);
- free_pv_entry(pv);
- }
-
- return rtval;
+ KASSERT(pv != NULL, ("pmap_remove_entry: pv not found"));
+ TAILQ_REMOVE(&m->md.pv_list, pv, pv_list);
+ m->md.pv_list_count--;
+ if (TAILQ_EMPTY(&m->md.pv_list))
+ vm_page_flag_clear(m, PG_WRITEABLE);
+ TAILQ_REMOVE(&pmap->pm_pvlist, pv, pv_plist);
+ free_pv_entry(pv);
}
/*
@@ -1510,10 +1501,9 @@
}
if (oldpte & PG_A)
vm_page_flag_set(m, PG_REFERENCED);
- return pmap_remove_entry(pmap, m, va, ptepde);
- } else {
- return pmap_unuse_pt(pmap, va, ptepde);
+ pmap_remove_entry(pmap, m, va);
}
+ return (pmap_unuse_pt(pmap, va, ptepde));
}
/*
@@ -1930,9 +1920,9 @@
pmap->pm_stats.wired_count--;
if (origpte & PG_MANAGED) {
om = PHYS_TO_VM_PAGE(opa);
- err = pmap_remove_entry(pmap, om, va, ptepde);
- } else
- err = pmap_unuse_pt(pmap, va, ptepde);
+ pmap_remove_entry(pmap, om, va);
+ }
+ err = pmap_unuse_pt(pmap, va, ptepde);
if (err)
panic("pmap_enter: pte vanished, va: 0x%lx", va);
} else
@@ -2566,12 +2556,6 @@
*/
if (!pmap_track_modified(pv->pv_va))
continue;
-#if defined(PMAP_DIAGNOSTIC)
- if (!pv->pv_pmap) {
- printf("Null pmap (tb) at va: 0x%lx\n", pv->pv_va);
- continue;
- }
-#endif
PMAP_LOCK(pv->pv_pmap);
pte = pmap_pte(pv->pv_pmap, pv->pv_va);
rv = (*pte & PG_M) != 0;
@@ -2633,13 +2617,6 @@
continue;
}
-#if defined(PMAP_DIAGNOSTIC)
- if (!pv->pv_pmap) {
- printf("Null pmap (cb) at va: 0x%lx\n", pv->pv_va);
- continue;
- }
-#endif
-
PMAP_LOCK(pv->pv_pmap);
pte = pmap_pte(pv->pv_pmap, pv->pv_va);
retry:
==== //depot/projects/netsmp/src/sys/conf/files#6 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.1040 2005/08/08 18:31:13 pjd Exp $
+# $FreeBSD: src/sys/conf/files,v 1.1041 2005/08/12 00:27:44 pjd Exp $
#
# The long compile-with and dependency lines are required because of
# limitations in config: backslash-newline doesn't work in strings, and
@@ -1060,8 +1060,10 @@
geom/geom_vfs.c standard
geom/geom_vol_ffs.c optional geom_vol
geom/label/g_label.c optional geom_label
+geom/label/g_label_ext2fs.c optional geom_label
geom/label/g_label_iso9660.c optional geom_label
geom/label/g_label_msdosfs.c optional geom_label
+geom/label/g_label_reiserfs.c optional geom_label
geom/label/g_label_ufs.c optional geom_label
geom/mirror/g_mirror.c optional geom_mirror
geom/mirror/g_mirror_ctl.c optional geom_mirror
==== //depot/projects/netsmp/src/sys/contrib/pf/net/if_pflog.c#4 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/contrib/pf/net/if_pflog.c,v 1.14 2005/08/09 10:19:42 rwatson Exp $ */
+/* $FreeBSD: src/sys/contrib/pf/net/if_pflog.c,v 1.15 2005/08/09 11:59:02 mlaier Exp $ */
/* $OpenBSD: if_pflog.c,v 1.12 2004/05/19 17:50:51 dhartmei Exp $ */
/*
@@ -271,10 +271,17 @@
case SIOCAIFADDR:
case SIOCSIFDSTADDR:
case SIOCSIFFLAGS:
+#ifdef __FreeBSD__
if (ifp->if_flags & IFF_UP)
ifp->if_drv_flags |= IFF_DRV_RUNNING;
else
ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
+#else
+ if (ifp->if_flags & IFF_UP)
+ ifp->if_flags |= IFF_RUNNING;
+ else
+ ifp->if_flags &= ~IFF_RUNNING;
+#endif
break;
default:
return (EINVAL);
==== //depot/projects/netsmp/src/sys/contrib/pf/net/if_pfsync.c#4 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/contrib/pf/net/if_pfsync.c,v 1.21 2005/08/09 10:19:42 rwatson Exp $ */
+/* $FreeBSD: src/sys/contrib/pf/net/if_pfsync.c,v 1.22 2005/08/09 11:59:02 mlaier Exp $ */
/* $OpenBSD: if_pfsync.c,v 1.46 2005/02/20 15:58:38 mcbride Exp $ */
/*
@@ -989,10 +989,17 @@
case SIOCAIFADDR:
case SIOCSIFDSTADDR:
case SIOCSIFFLAGS:
+#ifdef __FreeBSD__
if (ifp->if_flags & IFF_UP)
ifp->if_drv_flags |= IFF_DRV_RUNNING;
else
ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
+#else
+ if (ifp->if_flags & IFF_UP)
+ ifp->if_flags |= IFF_RUNNING;
+ else
+ ifp->if_flags &= ~IFF_RUNNING;
+#endif
break;
case SIOCSIFMTU:
if (ifr->ifr_mtu < PFSYNC_MINMTU)
==== //depot/projects/netsmp/src/sys/ddb/db_command.c#2 (text+ko) ====
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/ddb/db_command.c,v 1.60 2005/07/02 23:52:37 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/ddb/db_command.c,v 1.61 2005/08/10 07:08:14 obrien Exp $");
#include <sys/param.h>
#include <sys/linker_set.h>
@@ -73,8 +73,60 @@
static db_cmdfcn_t db_stack_trace;
static db_cmdfcn_t db_watchdog;
-/* XXX this is actually forward-static. */
-extern struct command db_show_cmds[];
+/*
+ * 'show' commands
+ */
+
+static struct command db_show_all_cmds[] = {
+ { "procs", db_ps, 0, 0 },
+ { (char *)0 }
+};
+
+static struct command db_show_cmds[] = {
+ { "all", 0, 0, db_show_all_cmds },
+ { "registers", db_show_regs, 0, 0 },
+ { "breaks", db_listbreak_cmd, 0, 0 },
+ { "threads", db_show_threads, 0, 0 },
+ { (char *)0, }
+};
+
+static struct command db_command_table[] = {
+ { "print", db_print_cmd, 0, 0 },
+ { "p", db_print_cmd, 0, 0 },
+ { "examine", db_examine_cmd, CS_SET_DOT, 0 },
+ { "x", db_examine_cmd, CS_SET_DOT, 0 },
+ { "search", db_search_cmd, CS_OWN|CS_SET_DOT, 0 },
+ { "set", db_set_cmd, CS_OWN, 0 },
+ { "write", db_write_cmd, CS_MORE|CS_SET_DOT, 0 },
+ { "w", db_write_cmd, CS_MORE|CS_SET_DOT, 0 },
+ { "delete", db_delete_cmd, 0, 0 },
+ { "d", db_delete_cmd, 0, 0 },
+ { "break", db_breakpoint_cmd, 0, 0 },
+ { "dwatch", db_deletewatch_cmd, 0, 0 },
+ { "watch", db_watchpoint_cmd, CS_MORE,0 },
+ { "dhwatch", db_deletehwatch_cmd, 0, 0 },
+ { "hwatch", db_hwatchpoint_cmd, 0, 0 },
+ { "step", db_single_step_cmd, 0, 0 },
+ { "s", db_single_step_cmd, 0, 0 },
+ { "continue", db_continue_cmd, 0, 0 },
+ { "c", db_continue_cmd, 0, 0 },
+ { "until", db_trace_until_call_cmd,0, 0 },
+ { "next", db_trace_until_matching_cmd,0, 0 },
+ { "match", db_trace_until_matching_cmd,0, 0 },
+ { "trace", db_stack_trace, CS_OWN, 0 },
+ { "where", db_stack_trace, CS_OWN, 0 },
+ { "call", db_fncall, CS_OWN, 0 },
+ { "show", 0, 0, db_show_cmds },
+ { "ps", db_ps, 0, 0 },
+ { "gdb", db_gdb, 0, 0 },
+ { "reset", db_reset, 0, 0 },
+ { "kill", db_kill, CS_OWN, 0 },
+ { "watchdog", db_watchdog, 0, 0 },
+ { "thread", db_set_thread, CS_OWN, 0 },
+ { (char *)0, }
+};
+
+static struct command *db_last_command = 0;
/*
* if 'ed' style: 'dot' is set at start of last item printed,
@@ -372,61 +424,6 @@
}
/*
- * 'show' commands
- */
-
-static struct command db_show_all_cmds[] = {
- { "procs", db_ps, 0, 0 },
- { (char *)0 }
-};
-
-static struct command db_show_cmds[] = {
- { "all", 0, 0, db_show_all_cmds },
- { "registers", db_show_regs, 0, 0 },
- { "breaks", db_listbreak_cmd, 0, 0 },
- { "threads", db_show_threads, 0, 0 },
- { (char *)0, }
-};
-
-static struct command db_command_table[] = {
- { "print", db_print_cmd, 0, 0 },
- { "p", db_print_cmd, 0, 0 },
- { "examine", db_examine_cmd, CS_SET_DOT, 0 },
- { "x", db_examine_cmd, CS_SET_DOT, 0 },
- { "search", db_search_cmd, CS_OWN|CS_SET_DOT, 0 },
- { "set", db_set_cmd, CS_OWN, 0 },
- { "write", db_write_cmd, CS_MORE|CS_SET_DOT, 0 },
- { "w", db_write_cmd, CS_MORE|CS_SET_DOT, 0 },
- { "delete", db_delete_cmd, 0, 0 },
- { "d", db_delete_cmd, 0, 0 },
- { "break", db_breakpoint_cmd, 0, 0 },
- { "dwatch", db_deletewatch_cmd, 0, 0 },
- { "watch", db_watchpoint_cmd, CS_MORE,0 },
- { "dhwatch", db_deletehwatch_cmd, 0, 0 },
- { "hwatch", db_hwatchpoint_cmd, 0, 0 },
- { "step", db_single_step_cmd, 0, 0 },
- { "s", db_single_step_cmd, 0, 0 },
- { "continue", db_continue_cmd, 0, 0 },
- { "c", db_continue_cmd, 0, 0 },
- { "until", db_trace_until_call_cmd,0, 0 },
- { "next", db_trace_until_matching_cmd,0, 0 },
- { "match", db_trace_until_matching_cmd,0, 0 },
- { "trace", db_stack_trace, CS_OWN, 0 },
- { "where", db_stack_trace, CS_OWN, 0 },
- { "call", db_fncall, CS_OWN, 0 },
- { "show", 0, 0, db_show_cmds },
- { "ps", db_ps, 0, 0 },
- { "gdb", db_gdb, 0, 0 },
- { "reset", db_reset, 0, 0 },
- { "kill", db_kill, CS_OWN, 0 },
- { "watchdog", db_watchdog, 0, 0 },
- { "thread", db_set_thread, CS_OWN, 0 },
- { (char *)0, }
-};
-
-static struct command *db_last_command = 0;
-
-/*
* At least one non-optional command must be implemented using
* DB_COMMAND() so that db_cmd_set gets created. Here is one.
*/
==== //depot/projects/netsmp/src/sys/dev/acpica/acpi_battery.c#5 (text+ko) ====
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_battery.c,v 1.17 2005/08/05 17:00:58 njl Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_battery.c,v 1.18 2005/08/11 17:12:57 njl Exp $");
#include "opt_acpi.h"
#include <sys/param.h>
@@ -227,9 +227,8 @@
total_min += bi[i].min;
/* If this battery is not present, don't use its capacity. */
- if (bi[i].cap == -1)
- bi[i].cap = 0;
- total_cap += bi[i].cap;
+ if (bi[i].cap != -1)
+ total_cap += bi[i].cap;
}
/*
==== //depot/projects/netsmp/src/sys/dev/ata/ata-all.c#2 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.252 2005/05/17 12:31:54 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.253 2005/08/12 16:54:11 sos Exp $");
#include "opt_ata.h"
#include <sys/param.h>
@@ -769,6 +769,7 @@
case ATA_UDMA5: return "UDMA100";
case ATA_UDMA6: return "UDMA133";
case ATA_SA150: return "SATA150";
+ case ATA_SA300: return "SATA300";
default:
if (mode & ATA_DMA_MASK)
return "BIOSDMA";
==== //depot/projects/netsmp/src/sys/dev/ata/ata-chipset.c#3 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.127 2005/08/05 13:14:00 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.128 2005/08/12 16:54:11 sos Exp $");
#include "opt_ata.h"
#include <sys/param.h>
@@ -208,6 +208,7 @@
static void
ata_sata_setmode(device_t dev, int mode)
{
+ struct ata_pci_controller *ctlr = device_get_softc(GRANDPARENT(dev));
struct ata_device *atadev = device_get_softc(dev);
/*
@@ -220,7 +221,7 @@
atadev->param.satacapabilities != 0xffff) {
if (!ata_controlcmd(dev, ATA_SETFEATURES, ATA_SF_SETXFER, 0,
ata_limit_mode(dev, mode, ATA_UDMA6)))
- atadev->mode = ATA_SA150;
+ atadev->mode = ctlr->chip->max_dma;
}
else {
mode = ata_limit_mode(dev, mode, ATA_UDMA5);
@@ -2233,6 +2234,8 @@
{ ATA_PDC20622, 0, PRMIO, PRSX4X, ATA_SA150, "Promise PDC20622" },
{ ATA_PDC40518, 0, PRMIO, PRSATA2, ATA_SA150, "Promise PDC40518" },
{ ATA_PDC40519, 0, PRMIO, PRSATA2, ATA_SA150, "Promise PDC40519" },
+ { ATA_PDC40718, 0, PRMIO, PRSATA2, ATA_SA300, "Promise PDC40718" },
+ { ATA_PDC40719, 0, PRMIO, PRSATA2, ATA_SA300, "Promise PDC40719" },
{ 0, 0, 0, 0, 0, 0}};
char buffer[64];
uintptr_t devid = 0;
==== //depot/projects/netsmp/src/sys/dev/ata/ata-pci.h#3 (text+ko) ====
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/ata/ata-pci.h,v 1.50 2005/08/05 13:14:00 sos Exp $
+ * $FreeBSD: src/sys/dev/ata/ata-pci.h,v 1.51 2005/08/12 16:54:11 sos Exp $
*/
/* structure holding chipset config info */
@@ -203,6 +203,8 @@
#define ATA_PDC20580 0x3570105a
#define ATA_PDC40518 0x3d18105a
#define ATA_PDC40519 0x3519105a
+#define ATA_PDC40718 0x3d17105a
+#define ATA_PDC40719 0x3515105a
#define ATA_PDC20617 0x6617105a
#define ATA_PDC20618 0x6626105a
#define ATA_PDC20619 0x6629105a
==== //depot/projects/netsmp/src/sys/dev/ath/if_ath.c#10 (text+ko) ====
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.101 2005/08/09 10:19:43 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.103 2005/08/12 23:11:44 sam Exp $");
/*
* Driver for the Atheros Wireless LAN controller.
@@ -844,7 +844,6 @@
struct ath_softc *sc = (struct ath_softc *) arg;
struct ieee80211com *ic = &sc->sc_ic;
struct ifnet *ifp = sc->sc_ifp;
- struct ieee80211_node *ni;
struct ath_hal *ah = sc->sc_ah;
HAL_STATUS status;
@@ -865,8 +864,8 @@
* be followed by initialization of the appropriate bits
* and then setup of the interrupt mask.
*/
- sc->sc_curchan.channel = ic->ic_ibss_chan->ic_freq;
- sc->sc_curchan.channelFlags = ath_chan2flags(ic, ic->ic_ibss_chan);
+ sc->sc_curchan.channel = ic->ic_curchan->ic_freq;
+ sc->sc_curchan.channelFlags = ath_chan2flags(ic, ic->ic_curchan);
if (!ath_hal_reset(ah, ic->ic_opmode, &sc->sc_curchan, AH_FALSE, &status)) {
if_printf(ifp, "unable to reset hardware; hal status %u\n",
status);
@@ -918,9 +917,7 @@
* to kick the 802.11 state machine as it's likely to
* immediately call back to us to send mgmt frames.
*/
- ni = ic->ic_bss;
- ni->ni_chan = ic->ic_ibss_chan;
- ath_chan_change(sc, ni->ni_chan);
+ ath_chan_change(sc, ic->ic_curchan);
if (ic->ic_opmode != IEEE80211_M_MONITOR) {
if (ic->ic_roaming != IEEE80211_ROAMING_MANUAL)
ieee80211_new_state(ic, IEEE80211_S_SCAN, -1);
@@ -1022,7 +1019,7 @@
* Convert to a HAL channel description with the flags
* constrained to reflect the current operating mode.
*/
- c = ic->ic_ibss_chan;
+ c = ic->ic_curchan;
sc->sc_curchan.channel = c->ic_freq;
sc->sc_curchan.channelFlags = ath_chan2flags(ic, c);
@@ -3428,14 +3425,14 @@
ctsduration += ath_hal_computetxtime(ah,
rt, pktlen, rix, AH_TRUE);
if ((flags & HAL_TXDESC_NOACK) == 0) /* SIFS + ACK */
- ctsduration += rt->info[cix].spAckDuration;
+ ctsduration += rt->info[rix].spAckDuration;
} else {
if (flags & HAL_TXDESC_RTSENA) /* SIFS + CTS */
ctsduration += rt->info[cix].lpAckDuration;
ctsduration += ath_hal_computetxtime(ah,
rt, pktlen, rix, AH_FALSE);
if ((flags & HAL_TXDESC_NOACK) == 0) /* SIFS + ACK */
- ctsduration += rt->info[cix].lpAckDuration;
+ ctsduration += rt->info[rix].lpAckDuration;
}
/*
* Must disable multi-rate retry when using RTS/CTS.
@@ -4114,7 +4111,7 @@
goto done;
}
ni = ic->ic_bss;
- error = ath_chan_set(sc, ni->ni_chan);
+ error = ath_chan_set(sc, ic->ic_curchan);
if (error != 0)
goto bad;
rfilt = ath_calcrxfilter(sc, nstate);
@@ -4153,7 +4150,7 @@
, ni->ni_intval
, ether_sprintf(ni->ni_bssid)
, ni->ni_capinfo
- , ieee80211_chan2ieee(ic, ni->ni_chan));
+ , ieee80211_chan2ieee(ic, ic->ic_curchan));
switch (ic->ic_opmode) {
case IEEE80211_M_HOSTAP:
==== //depot/projects/netsmp/src/sys/dev/awi/awi.c#8 (text+ko) ====
@@ -89,7 +89,7 @@
__KERNEL_RCSID(0, "$NetBSD: awi.c,v 1.62 2004/01/16 14:13:15 onoe Exp $");
#endif
#ifdef __FreeBSD__
-__FBSDID("$FreeBSD: src/sys/dev/awi/awi.c,v 1.41 2005/08/09 10:19:43 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/awi/awi.c,v 1.42 2005/08/13 00:30:26 sam Exp $");
#endif
#include "opt_inet.h"
@@ -691,6 +691,7 @@
} else {
/* XXX check sc->sc_cur_chan */
ni->ni_chan = &ic->ic_channels[sc->sc_cur_chan];
+ ic->ic_curchan = ni->ni_chan;
ieee80211_new_state(ic, IEEE80211_S_SCAN, -1);
}
return 0;
@@ -1973,19 +1974,19 @@
if (sc->sc_mib_phy.IEEE_PHY_Type == AWI_PHY_TYPE_FH) {
awi_write_1(sc, AWI_CA_SCAN_SET,
IEEE80211_FH_CHANSET(
- ieee80211_chan2ieee(ic, ni->ni_chan)));
+ ieee80211_chan2ieee(ic, ic->ic_curchan)));
awi_write_1(sc, AWI_CA_SCAN_PATTERN,
IEEE80211_FH_CHANPAT(
- ieee80211_chan2ieee(ic, ni->ni_chan)));
+ ieee80211_chan2ieee(ic, ic->ic_curchan)));
awi_write_1(sc, AWI_CA_SCAN_IDX, 1);
} else {
awi_write_1(sc, AWI_CA_SCAN_SET,
- ieee80211_chan2ieee(ic, ni->ni_chan));
+ ieee80211_chan2ieee(ic, ic->ic_curchan));
awi_write_1(sc, AWI_CA_SCAN_PATTERN, 0);
awi_write_1(sc, AWI_CA_SCAN_IDX, 0);
}
awi_write_1(sc, AWI_CA_SCAN_SUSP, 0);
- sc->sc_cur_chan = ieee80211_chan2ieee(ic, ni->ni_chan);
+ sc->sc_cur_chan = ieee80211_chan2ieee(ic, ic->ic_curchan);
if ((error = awi_cmd(sc, AWI_CMD_SCAN, AWI_NOWAIT))
!= 0)
break;
==== //depot/projects/netsmp/src/sys/dev/ciss/ciss.c#2 (text+ko) ====
@@ -24,7 +24,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/ciss/ciss.c,v 1.64 2005/05/29 04:42:19 nyan Exp $
+ * $FreeBSD: src/sys/dev/ciss/ciss.c,v 1.65 2005/08/09 20:53:51 ps Exp $
*/
/*
@@ -597,12 +597,6 @@
sc->ciss_cfg->signature[2], sc->ciss_cfg->signature[3]);
return(ENXIO);
}
- if ((sc->ciss_cfg->valence < CISS_MIN_VALENCE) ||
- (sc->ciss_cfg->valence > CISS_MAX_VALENCE)) {
- ciss_printf(sc, "adapter interface specification (%d) unsupported\n",
- sc->ciss_cfg->valence);
- return(ENXIO);
- }
/*
* Put the board into simple mode, and tell it we're using the low
==== //depot/projects/netsmp/src/sys/dev/ciss/cissreg.h#2 (text+ko) ====
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/ciss/cissreg.h,v 1.15 2005/04/19 06:11:16 ps Exp $
+ * $FreeBSD: src/sys/dev/ciss/cissreg.h,v 1.16 2005/08/09 20:53:51 ps Exp $
*/
/*
@@ -396,8 +396,6 @@
{
char signature[4]; /* "CISS" */
u_int32_t valence;
-#define CISS_MIN_VALENCE 1 /* only value currently supported */
-#define CISS_MAX_VALENCE 1
u_int32_t supported_methods;
#define CISS_TRANSPORT_METHOD_READY (1<<0)
#define CISS_TRANSPORT_METHOD_SIMPLE (1<<1)
==== //depot/projects/netsmp/src/sys/dev/hme/if_hme.c#6 (text+ko) ====
@@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/hme/if_hme.c,v 1.39 2005/08/09 10:19:48 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/hme/if_hme.c,v 1.40 2005/08/10 20:12:25 jhb Exp $");
/*
* HME Ethernet module driver.
@@ -112,7 +112,6 @@
static int hme_mac_bitflip(struct hme_softc *, u_int32_t, u_int32_t,
u_int32_t, u_int32_t);
static void hme_mifinit(struct hme_softc *);
-static void hme_reset(struct hme_softc *);
static void hme_setladrf(struct hme_softc *, int);
static int hme_mediachange(struct ifnet *);
@@ -206,6 +205,8 @@
hme_stop(sc);
HME_UNLOCK(sc);
+ callout_init_mtx(&sc->sc_tick_ch, &sc->sc_lock, 0);
+
/*
* Allocate DMA capable memory
* Buffer descriptors must be aligned on a 2048 byte boundary;
@@ -224,7 +225,7 @@
error = bus_dma_tag_create(sc->sc_pdmatag, 2048, 0,
BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, size,
1, BUS_SPACE_MAXSIZE_32BIT, BUS_DMA_ALLOCNOW, busdma_lock_mutex,
- &Giant, &sc->sc_cdmatag);
+ &sc->sc_lock, &sc->sc_cdmatag);
if (error)
goto fail_ptag;
@@ -301,9 +302,7 @@
ifp->if_snd.ifq_drv_maxlen = HME_NTXQ;
IFQ_SET_READY(&ifp->if_snd);
- HME_LOCK(sc);
hme_mifinit(sc);
- HME_UNLOCK(sc);
if ((error = mii_phy_probe(sc->sc_dev, &sc->sc_miibus, hme_mediachange,
hme_mediastatus)) != 0) {
@@ -347,8 +346,6 @@
ifp->if_capabilities |= IFCAP_VLAN_MTU | IFCAP_HWCSUM;
ifp->if_hwassist |= sc->sc_csum_features;
ifp->if_capenable |= IFCAP_VLAN_MTU | IFCAP_HWCSUM;
-
- callout_init(&sc->sc_tick_ch, CALLOUT_MPSAFE);
return (0);
fail_txdesc:
@@ -447,34 +444,21 @@
hme_tick(void *arg)
{
struct hme_softc *sc = arg;
- int s;
- s = splnet();
+ HME_LOCK_ASSERT(sc, MA_OWNED);
mii_tick(sc->sc_mii);
- splx(s);
callout_reset(&sc->sc_tick_ch, hz, hme_tick, sc);
}
static void
-hme_reset(struct hme_softc *sc)
-{
- int s;
-
- HME_LOCK(sc);
- s = splnet();
- hme_init_locked(sc);
- splx(s);
- HME_UNLOCK(sc);
-}
-
-static void
hme_stop(struct hme_softc *sc)
{
u_int32_t v;
int n;
callout_stop(&sc->sc_tick_ch);
+ sc->sc_ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE);
/* Reset transmitter and receiver */
HME_SEB_WRITE_4(sc, HME_SEBI_RESET, HME_SEB_RESET_ETX |
@@ -872,9 +856,7 @@
/* Set the current media. */
/*
- * HME_UNLOCK(sc);
* mii_mediachg(sc->sc_mii);
- * HME_LOCK(sc);
*/
/* Start the one second timer. */
@@ -1372,9 +1354,9 @@
#endif
device_printf(sc->sc_dev, "device timeout\n");
++ifp->if_oerrors;
+
+ hme_init_locked(sc);
HME_UNLOCK(sc);
-
- hme_reset(sc);
}
/*
@@ -1385,8 +1367,6 @@
{
u_int32_t v;
- HME_LOCK_ASSERT(sc, MA_OWNED);
-
/* Configure the MIF in frame mode */
v = HME_MIF_READ_4(sc, HME_MIFI_CFG);
v &= ~HME_MIF_CFG_BBMODE;
@@ -1403,7 +1383,6 @@
int n;
u_int32_t v;
- HME_LOCK(sc);
/* Select the desired PHY in the MIF configuration register */
v = HME_MIF_READ_4(sc, HME_MIFI_CFG);
/* Clear PHY select bit */
@@ -1425,13 +1404,11 @@
DELAY(1);
v = HME_MIF_READ_4(sc, HME_MIFI_FO);
if (v & HME_MIF_FO_TALSB) {
- HME_UNLOCK(sc);
return (v & HME_MIF_FO_DATA);
}
}
device_printf(sc->sc_dev, "mii_read timeout\n");
- HME_UNLOCK(sc);
return (0);
}
@@ -1442,7 +1419,6 @@
int n;
u_int32_t v;
- HME_LOCK(sc);
/* Select the desired PHY in the MIF configuration register */
v = HME_MIF_READ_4(sc, HME_MIFI_CFG);
/* Clear PHY select bit */
@@ -1464,14 +1440,11 @@
for (n = 0; n < 100; n++) {
DELAY(1);
v = HME_MIF_READ_4(sc, HME_MIFI_FO);
- if (v & HME_MIF_FO_TALSB) {
- HME_UNLOCK(sc);
+ if (v & HME_MIF_FO_TALSB)
return (1);
- }
}
device_printf(sc->sc_dev, "mii_write timeout\n");
- HME_UNLOCK(sc);
return (0);
}
@@ -1483,7 +1456,6 @@
int phy;
u_int32_t v;
- HME_LOCK(sc);
instance = IFM_INST(sc->sc_mii->mii_media.ifm_cur->ifm_media);
phy = sc->sc_phys[instance];
#ifdef HMEDEBUG
@@ -1500,28 +1472,27 @@
/* Set the MAC Full Duplex bit appropriately */
v = HME_MAC_READ_4(sc, HME_MACI_TXCFG);
- if (!hme_mac_bitflip(sc, HME_MACI_TXCFG, v, HME_MAC_TXCFG_ENABLE, 0)) {
- HME_UNLOCK(sc);
+ if (!hme_mac_bitflip(sc, HME_MACI_TXCFG, v, HME_MAC_TXCFG_ENABLE, 0))
return;
- }
if ((IFM_OPTIONS(sc->sc_mii->mii_media_active) & IFM_FDX) != 0)
v |= HME_MAC_TXCFG_FULLDPLX;
else
v &= ~HME_MAC_TXCFG_FULLDPLX;
HME_MAC_WRITE_4(sc, HME_MACI_TXCFG, v);
- if (!hme_mac_bitflip(sc, HME_MACI_TXCFG, v, 0, HME_MAC_TXCFG_ENABLE)) {
- HME_UNLOCK(sc);
+ if (!hme_mac_bitflip(sc, HME_MACI_TXCFG, v, 0, HME_MAC_TXCFG_ENABLE))
return;
- }
- HME_UNLOCK(sc);
}
static int
hme_mediachange(struct ifnet *ifp)
{
struct hme_softc *sc = ifp->if_softc;
+ int error;
- return (mii_mediachg(sc->sc_mii));
+ HME_LOCK(sc);
+ error = mii_mediachg(sc->sc_mii);
+ HME_UNLOCK(sc);
+ return (error);
}
static void
@@ -1535,9 +1506,7 @@
return;
}
- HME_UNLOCK(sc);
mii_pollstat(sc->sc_mii);
- HME_LOCK(sc);
ifmr->ifm_active = sc->sc_mii->mii_media_active;
ifmr->ifm_status = sc->sc_mii->mii_media_status;
HME_UNLOCK(sc);
@@ -1551,13 +1520,11 @@
{
struct hme_softc *sc = ifp->if_softc;
struct ifreq *ifr = (struct ifreq *)data;
- int s, error = 0;
-
- HME_LOCK(sc);
- s = splnet();
+ int error = 0;
switch (cmd) {
case SIOCSIFFLAGS:
+ HME_LOCK(sc);
if ((ifp->if_flags & IFF_UP) == 0 &&
(ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) {
/*
@@ -1565,7 +1532,6 @@
* stop it.
*/
hme_stop(sc);
- ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
} else if ((ifp->if_flags & IFF_UP) != 0 &&
(ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) {
/*
@@ -1589,35 +1555,34 @@
#ifdef HMEDEBUG
sc->sc_debug = (ifp->if_flags & IFF_DEBUG) != 0 ? 1 : 0;
#endif
+ HME_UNLOCK(sc);
break;
case SIOCADDMULTI:
case SIOCDELMULTI:
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list