Date: Sun, 14 Aug 2005 17:31:28 GMT From: Robert Watson <rwatson@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 81982 for review Message-ID: <200508141731.j7EHVSlf066551@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=81982 Change 81982 by rwatson@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) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200508141731.j7EHVSlf066551>