Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Oct 2008 02:45:25 GMT
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 151999 for review
Message-ID:  <200810270245.m9R2jPoG013896@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=151999

Change 151999 by marcel@marcel_jnpr on 2008/10/27 02:44:49

	IFC @151998

Affected files ...

.. //depot/projects/e500/etc/rc.subr#7 integrate
.. //depot/projects/e500/sys/amd64/amd64/local_apic.c#8 integrate
.. //depot/projects/e500/sys/arm/at91/at91.c#6 integrate
.. //depot/projects/e500/sys/conf/files.powerpc#27 integrate
.. //depot/projects/e500/sys/dev/adb/adb.h#1 branch
.. //depot/projects/e500/sys/dev/adb/adb_bus.c#1 branch
.. //depot/projects/e500/sys/dev/adb/adb_hb_if.m#1 branch
.. //depot/projects/e500/sys/dev/adb/adb_if.m#1 branch
.. //depot/projects/e500/sys/dev/adb/adb_kbd.c#1 branch
.. //depot/projects/e500/sys/dev/adb/adb_mouse.c#1 branch
.. //depot/projects/e500/sys/dev/adb/adbvar.h#1 branch
.. //depot/projects/e500/sys/geom/vinum/geom_vinum.c#2 integrate
.. //depot/projects/e500/sys/geom/vinum/geom_vinum.h#3 integrate
.. //depot/projects/e500/sys/geom/vinum/geom_vinum_drive.c#5 integrate
.. //depot/projects/e500/sys/geom/vinum/geom_vinum_init.c#3 integrate
.. //depot/projects/e500/sys/geom/vinum/geom_vinum_plex.c#3 integrate
.. //depot/projects/e500/sys/geom/vinum/geom_vinum_raid5.c#2 integrate
.. //depot/projects/e500/sys/geom/vinum/geom_vinum_rm.c#3 integrate
.. //depot/projects/e500/sys/geom/vinum/geom_vinum_state.c#2 integrate
.. //depot/projects/e500/sys/geom/vinum/geom_vinum_subr.c#3 integrate
.. //depot/projects/e500/sys/geom/vinum/geom_vinum_volume.c#3 integrate
.. //depot/projects/e500/sys/i386/i386/local_apic.c#7 integrate
.. //depot/projects/e500/sys/net80211/ieee80211.c#8 integrate
.. //depot/projects/e500/sys/net80211/ieee80211_adhoc.c#4 integrate
.. //depot/projects/e500/sys/net80211/ieee80211_freebsd.h#8 integrate
.. //depot/projects/e500/sys/net80211/ieee80211_hostap.c#4 integrate
.. //depot/projects/e500/sys/net80211/ieee80211_ht.c#7 integrate
.. //depot/projects/e500/sys/net80211/ieee80211_ht.h#7 integrate
.. //depot/projects/e500/sys/net80211/ieee80211_ioctl.c#9 integrate
.. //depot/projects/e500/sys/net80211/ieee80211_node.c#9 integrate
.. //depot/projects/e500/sys/net80211/ieee80211_node.h#8 integrate
.. //depot/projects/e500/sys/net80211/ieee80211_output.c#9 integrate
.. //depot/projects/e500/sys/net80211/ieee80211_power.c#5 integrate
.. //depot/projects/e500/sys/net80211/ieee80211_power.h#3 integrate
.. //depot/projects/e500/sys/net80211/ieee80211_proto.h#8 integrate
.. //depot/projects/e500/sys/net80211/ieee80211_scan_sta.c#7 integrate
.. //depot/projects/e500/sys/net80211/ieee80211_var.h#8 integrate
.. //depot/projects/e500/sys/netinet/in.c#8 integrate
.. //depot/projects/e500/sys/netinet/tcp_input.c#12 integrate
.. //depot/projects/e500/sys/netinet/tcp_sack.c#5 integrate
.. //depot/projects/e500/sys/netinet/tcp_syncache.c#13 integrate
.. //depot/projects/e500/sys/netinet6/frag6.c#7 integrate
.. //depot/projects/e500/sys/netinet6/ip6_var.h#7 integrate
.. //depot/projects/e500/sys/powerpc/aim/locore.S#9 integrate
.. //depot/projects/e500/sys/powerpc/booke/locore.S#9 integrate
.. //depot/projects/e500/sys/powerpc/booke/trap.c#11 integrate
.. //depot/projects/e500/sys/powerpc/conf/GENERIC#12 integrate
.. //depot/projects/e500/sys/powerpc/include/cpu.h#4 integrate
.. //depot/projects/e500/sys/powerpc/include/profile.h#3 integrate
.. //depot/projects/e500/sys/powerpc/powermac/ata_kauai.c#4 integrate
.. //depot/projects/e500/sys/powerpc/powermac/cuda.c#1 branch
.. //depot/projects/e500/sys/powerpc/powermac/cudavar.h#1 branch
.. //depot/projects/e500/sys/powerpc/powermac/macgpio.c#1 branch
.. //depot/projects/e500/sys/powerpc/powermac/macgpiovar.h#1 branch
.. //depot/projects/e500/sys/powerpc/powermac/macio.c#7 integrate
.. //depot/projects/e500/sys/powerpc/powermac/pmu.c#1 branch
.. //depot/projects/e500/sys/powerpc/powermac/pmuvar.h#1 branch
.. //depot/projects/e500/sys/powerpc/powermac/viareg.h#1 branch
.. //depot/projects/e500/sys/security/mac/mac_framework.h#8 integrate
.. //depot/projects/e500/sys/security/mac/mac_inet6.c#2 integrate
.. //depot/projects/e500/sys/security/mac/mac_policy.h#8 integrate
.. //depot/projects/e500/sys/security/mac_biba/mac_biba.c#5 integrate
.. //depot/projects/e500/sys/security/mac_lomac/mac_lomac.c#7 integrate
.. //depot/projects/e500/sys/security/mac_mls/mac_mls.c#7 integrate
.. //depot/projects/e500/sys/security/mac_stub/mac_stub.c#7 integrate
.. //depot/projects/e500/sys/security/mac_test/mac_test.c#7 integrate

Differences ...

==== //depot/projects/e500/etc/rc.subr#7 (text+ko) ====

@@ -1,5 +1,5 @@
 # $NetBSD: rc.subr,v 1.67 2006/10/07 11:25:15 elad Exp $
-# $FreeBSD: src/etc/rc.subr,v 1.86 2008/06/23 05:09:10 mtm Exp $
+# $FreeBSD: src/etc/rc.subr,v 1.87 2008/10/27 01:05:09 thompsa Exp $
 #
 # Copyright (c) 1997-2004 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -913,6 +913,7 @@
 			else
 				( trap "echo Script $_file interrupted; kill -QUIT $$" 3
 				  trap "echo Script $_file interrupted; exit 1" 2
+				  trap "echo Script $_file running" 29
 				  set $_arg; . $_file )
 			fi
 		fi

==== //depot/projects/e500/sys/amd64/amd64/local_apic.c#8 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.46 2008/08/23 12:35:43 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.47 2008/10/26 18:58:04 sobomax Exp $");
 
 #include "opt_hwpmc_hooks.h"
 #include "opt_kdtrace.h"
@@ -401,7 +401,11 @@
 		lapic_timer_hz = hz * 2;
 	else
 		lapic_timer_hz = hz * 4;
-	stathz = lapic_timer_hz / (lapic_timer_hz / 128);
+	if (lapic_timer_hz < 128) {
+		stathz = 128;
+	} else {
+		stathz = lapic_timer_hz / (lapic_timer_hz / 128);
+	}
 	profhz = lapic_timer_hz;
 	lapic_timer_period = value / lapic_timer_hz;
 

==== //depot/projects/e500/sys/arm/at91/at91.c#6 (text) ====

@@ -23,7 +23,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/at91/at91.c,v 1.18 2008/09/05 22:27:10 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/at91/at91.c,v 1.20 2008/10/26 22:53:59 stas Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -168,6 +168,42 @@
 	generic_armv4_bs_c_2,
 	NULL,
 	NULL,
+
+	/* read (single) stream */
+	generic_bs_r_1,
+	generic_armv4_bs_r_2,
+	generic_bs_r_4,
+	NULL,
+
+	/* read multiple stream */
+	generic_bs_rm_1,
+	generic_armv4_bs_rm_2,
+	generic_bs_rm_4,
+	NULL,
+
+	/* read region stream */
+	generic_bs_rr_1,
+	generic_armv4_bs_rr_2,
+	generic_bs_rr_4,
+	NULL,
+
+	/* write (single) stream */
+	generic_bs_w_1,
+	generic_armv4_bs_w_2,
+	generic_bs_w_4,
+	NULL,
+
+	/* write multiple stream */
+	generic_bs_wm_1,
+	generic_armv4_bs_wm_2,
+	generic_bs_wm_4,
+	NULL,
+
+	/* write region stream */
+	NULL,
+	generic_armv4_bs_wr_2,
+	generic_bs_wr_4,
+	NULL,
 };
 
 static int
@@ -534,8 +570,10 @@
 	case SYS_RES_MEMORY:
 		rle->res = rman_reserve_resource(&sc->sc_mem_rman,
 		    start, end, count, flags, child);
-		rman_set_bustag(rle->res, &at91_bs_tag);
-		rman_set_bushandle(rle->res, start);
+		if (rle->res != NULL) {
+			rman_set_bustag(rle->res, &at91_bs_tag);
+			rman_set_bushandle(rle->res, start);
+		}
 		break;
 	}
 	if (rle->res) {

==== //depot/projects/e500/sys/conf/files.powerpc#27 (text+ko) ====

@@ -1,7 +1,7 @@
 # This file tells config what files go into building a kernel,
 # files marked standard are always included.
 #
-# $FreeBSD: src/sys/conf/files.powerpc,v 1.84 2008/10/25 06:18:12 marcel Exp $
+# $FreeBSD: src/sys/conf/files.powerpc,v 1.85 2008/10/26 19:37:38 nwhitehorn Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -28,6 +28,11 @@
 crypto/blowfish/bf_enc.c	optional	crypto | ipsec
 crypto/des/des_enc.c		optional	crypto | ipsec | netsmb
 dev/bm/if_bm.c			optional	bm powermac
+dev/adb/adb_bus.c		optional	adb
+dev/adb/adb_kbd.c		optional	adb
+dev/adb/adb_mouse.c		optional	adb
+dev/adb/adb_hb_if.m		optional	adb
+dev/adb/adb_if.m		optional	adb
 dev/cfi/cfi_bus_lbc.c		optional	cfi
 dev/fb/fb.c			optional	sc
 dev/hwpmc/hwpmc_powerpc.c	optional	hwpmc
@@ -121,6 +126,9 @@
 powerpc/powermac/openpic_macio.c optional	powermac pci
 powerpc/powermac/pswitch.c	optional	powermac pswitch
 powerpc/powermac/uninorth.c	optional	powermac pci
+powerpc/powermac/cuda.c		optional	powermac cuda
+powerpc/powermac/pmu.c		optional	powermac pmu 
+powerpc/powermac/macgpio.c	optional	powermac pci 
 powerpc/powerpc/atomic.S	standard
 powerpc/powerpc/autoconf.c	standard
 powerpc/powerpc/bcopy.c		standard

==== //depot/projects/e500/sys/geom/vinum/geom_vinum.c#2 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum.c,v 1.21 2006/03/30 14:01:25 le Exp $");
+__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum.c,v 1.22 2008/10/26 17:20:37 lulf Exp $");
 
 #include <sys/param.h>
 #include <sys/bio.h>
@@ -35,6 +35,7 @@
 #include <sys/malloc.h>
 #include <sys/module.h>
 #include <sys/mutex.h>
+#include <sys/sysctl.h>
 #include <sys/systm.h>
 
 #include <geom/geom.h>
@@ -42,12 +43,12 @@
 #include <geom/vinum/geom_vinum.h>
 #include <geom/vinum/geom_vinum_share.h>
 
-#if 0
 SYSCTL_DECL(_kern_geom);
 SYSCTL_NODE(_kern_geom, OID_AUTO, vinum, CTLFLAG_RW, 0, "GEOM_VINUM stuff");
-SYSCTL_UINT(_kern_geom_vinum, OID_AUTO, debug, CTLFLAG_RW, &gv_debug, 0,
+u_int g_vinum_debug = 0;
+TUNABLE_INT("kern.geom.vinum.debug", &g_vinum_debug);
+SYSCTL_UINT(_kern_geom_vinum, OID_AUTO, debug, CTLFLAG_RW, &g_vinum_debug, 0,
     "Debug level");
-#endif
 
 int	gv_create(struct g_geom *, struct gctl_req *);
 
@@ -363,7 +364,7 @@
 			 */
 			pp = g_provider_by_name(d->device);
 			if (pp == NULL) {
-				printf("geom_vinum: %s: drive disapeared?\n",
+				G_VINUM_DEBUG(0, "%s: drive disappeared?",
 				    d->device);
 				continue;
 			}

==== //depot/projects/e500/sys/geom/vinum/geom_vinum.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/geom/vinum/geom_vinum.h,v 1.14 2008/10/01 14:50:36 lulf Exp $
+ * $FreeBSD: src/sys/geom/vinum/geom_vinum.h,v 1.15 2008/10/26 17:20:37 lulf Exp $
  */
 
 #ifndef	_GEOM_VINUM_H_
@@ -96,4 +96,30 @@
 off_t	gv_vol_size(struct gv_volume *);
 off_t	gv_plex_size(struct gv_plex *);
 
+extern	u_int	g_vinum_debug;
+
+#define	G_VINUM_DEBUG(lvl, ...)	do {					\
+	if (g_vinum_debug >= (lvl)) {					\
+		printf("GEOM_VINUM");					\
+		if (g_vinum_debug > 0)					\
+			printf("[%u]", lvl);				\
+		printf(": ");						\
+		printf(__VA_ARGS__);					\
+		printf("\n");						\
+	}								\
+} while (0)
+
+#define	G_VINUM_LOGREQ(lvl, bp, ...)	do {				\
+	if (g_vinum_debug >= (lvl)) {					\
+		printf("GEOM_VINUM");					\
+		if (g_vinum_debug > 0)					\
+			printf("[%u]", lvl);				\
+		printf(": ");						\
+		printf(__VA_ARGS__);					\
+		printf(" ");						\
+		g_print_bio(bp);					\
+		printf("\n");						\
+	}								\
+} while (0)
+
 #endif /* !_GEOM_VINUM_H_ */

==== //depot/projects/e500/sys/geom/vinum/geom_vinum_drive.c#5 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_drive.c,v 1.31 2008/10/02 09:35:47 lulf Exp $");
+__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_drive.c,v 1.32 2008/10/26 17:20:37 lulf Exp $");
 
 #include <sys/param.h>
 #include <sys/bio.h>
@@ -172,7 +172,7 @@
 		g_free(d_hdr);
 		return (-1);
 	} else if (gv_legacy_header_type(d_hdr, be) == GV_LEGACY_SPARC64) {
-		printf("VINUM: detected legacy sparc64 header\n");
+		G_VINUM_DEBUG(1, "detected legacy sparc64 header");
 		m_hdr->magic = GV_MAGIC;
 		/* Legacy sparc64 on-disk header */
 		m_hdr->config_length = GV_GET64(be);
@@ -186,7 +186,7 @@
 		m_hdr->label.last_update.tv_usec = GV_GET64(be);
 		m_hdr->label.drive_size = GV_GET64(be);
 	} else if (gv_legacy_header_type(d_hdr, be) == GV_LEGACY_POWERPC) {
-		printf("VINUM: detected legacy PowerPC header\n");
+		G_VINUM_DEBUG(1, "detected legacy PowerPC header");
 		m_hdr->magic = GV_MAGIC;
 		/* legacy 32-bit big endian on-disk header */
 		m_hdr->config_length = GV_GET32(be);
@@ -200,7 +200,7 @@
 		m_hdr->label.last_update.tv_usec = GV_GET32(be);
 		m_hdr->label.drive_size = GV_GET64(be);
 	} else if (gv_legacy_header_type(d_hdr, be) == GV_LEGACY_I386) {
-		printf("VINUM: detected legacy i386 header\n");
+		G_VINUM_DEBUG(1, "detected legacy i386 header");
 		m_hdr->magic = GV_MAGIC;
 		/* legacy i386 on-disk header */
 		m_hdr->config_length = GV_GET32(le);
@@ -214,7 +214,7 @@
 		m_hdr->label.last_update.tv_usec = GV_GET32(le);
 		m_hdr->label.drive_size = GV_GET64(le);
 	} else {
-		printf("VINUM: detected legacy amd64 header\n");
+		G_VINUM_DEBUG(1, "detected legacy amd64 header");
 		m_hdr->magic = GV_MAGIC;
 		/* legacy amd64 on-disk header */
 		m_hdr->config_length = GV_GET64(le);
@@ -354,7 +354,7 @@
 
 	hdr = d->hdr;
 	if (hdr == NULL) {
-		printf("GEOM_VINUM: drive %s has NULL hdr\n", d->name);
+		G_VINUM_DEBUG(0, "drive %s has NULL hdr", d->name);
 		g_free(vhdr);
 		return;
 	}
@@ -367,7 +367,7 @@
 
 	error = g_access(cp2, 0, 1, 0);
 	if (error) {
-		printf("GEOM_VINUM: g_access failed on drive %s, errno %d\n",
+		G_VINUM_DEBUG(0, "g_access failed on drive %s, errno %d",
 		    d->name, error);
 		sbuf_delete(sb);
 		g_free(vhdr);
@@ -378,7 +378,7 @@
 	do {
 		error = gv_write_header(cp2, vhdr);
 		if (error) {
-			printf("GEOM_VINUM: writing vhdr failed on drive %s, "
+			G_VINUM_DEBUG(0, "writing vhdr failed on drive %s, "
 			    "errno %d", d->name, error);
 			break;
 		}
@@ -386,7 +386,7 @@
 		error = g_write_data(cp2, GV_CFG_OFFSET, sbuf_data(sb),
 		    GV_CFG_LEN);
 		if (error) {
-			printf("GEOM_VINUM: writing first config copy failed "
+			G_VINUM_DEBUG(0, "writing first config copy failed "
 			    "on drive %s, errno %d", d->name, error);
 			break;
 		}
@@ -394,7 +394,7 @@
 		error = g_write_data(cp2, GV_CFG_OFFSET + GV_CFG_LEN,
 		    sbuf_data(sb), GV_CFG_LEN);
 		if (error)
-			printf("GEOM_VINUM: writing second config copy failed "
+			G_VINUM_DEBUG(0, "writing second config copy failed "
 			    "on drive %s, errno %d", d->name, error);
 	} while (0);
 
@@ -836,8 +836,8 @@
 
 	LIST_FOREACH(cp, &gp->consumer, consumer) {
 		if (cp->nstart != cp->nend) {
-			printf("GEOM_VINUM: dead drive '%s' has still "
-			    "active requests, can't detach consumer\n",
+			G_VINUM_DEBUG(0, "dead drive '%s' still has "
+			    "active requests, cannot detach consumer",
 			    d->name);
 			g_post_event(gv_drive_dead, d, M_WAITOK, d,
 			    NULL);
@@ -847,7 +847,7 @@
 			g_access(cp, -cp->acr, -cp->acw, -cp->ace);
 	}
 
-	printf("GEOM_VINUM: lost drive '%s'\n", d->name);
+	G_VINUM_DEBUG(1, "lost drive '%s'", d->name);
 	d->geom = NULL;
 	LIST_FOREACH(s, &d->subdisks, from_drive) {
 		s->provider = NULL;

==== //depot/projects/e500/sys/geom/vinum/geom_vinum_init.c#3 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_init.c,v 1.12 2007/10/20 23:23:20 julian Exp $");
+__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_init.c,v 1.13 2008/10/26 17:20:37 lulf Exp $");
 
 #include <sys/param.h>
 #include <sys/bio.h>
@@ -420,15 +420,15 @@
 	error = g_access(cp, 1, 1, 0);
 	if (error) {
 		g_topology_unlock();
-		printf("GEOM_VINUM: rebuild of %s failed to access consumer: "
-		    "%d\n", p->name, error);
+		G_VINUM_DEBUG(0, "rebuild of %s failed to access consumer: "
+		    "%d", p->name, error);
 		kproc_exit(error);
 	}
 	g_topology_unlock();
 
 	buf = g_malloc(sync->syncsize, M_WAITOK);
 
-	printf("GEOM_VINUM: rebuild of %s started\n", p->name);
+	G_VINUM_DEBUG(1, "rebuild of %s started", p->name);
 	i = 0;
 	for (i = 0; i < p->size; i += (p->stripesize * (p->sdcount - 1))) {
 /*
@@ -437,8 +437,8 @@
 */
 		bp = g_new_bio();
 		if (bp == NULL) {
-			printf("GEOM_VINUM: rebuild of %s failed creating bio: "
-			    "out of memory\n", p->name);
+			G_VINUM_DEBUG(0, "rebuild of %s failed creating bio: "
+			    "out of memory", p->name);
 			break;
 		}
 		bp->bio_cmd = BIO_WRITE;
@@ -454,8 +454,8 @@
 		/* ... and wait for the result. */
 		error = biowait(bp, "gwrite");
 		if (error) {
-			printf("GEOM_VINUM: rebuild of %s failed at offset %jd "
-			    "errno: %d\n", p->name, i, error);
+			G_VINUM_DEBUG(0, "rebuild of %s failed at offset %jd "
+			    "errno: %d", p->name, i, error);
 			break;
 		}
 		g_destroy_bio(bp);
@@ -477,7 +477,7 @@
 
 	/* Successful initialization. */
 	if (!error)
-		printf("GEOM_VINUM: rebuild of %s finished\n", p->name);
+		G_VINUM_DEBUG(1, "rebuild of %s finished", p->name);
 
 	g_free(sync);
 	kproc_exit(error);
@@ -508,8 +508,8 @@
 	error = g_access(from, 1, 0, 0);
 	if (error) {
 		g_topology_unlock();
-		printf("GEOM_VINUM: sync from '%s' failed to access "
-		    "consumer: %d\n", sync->from->name, error);
+		G_VINUM_DEBUG(0, "sync from '%s' failed to access "
+		    "consumer: %d", sync->from->name, error);
 		g_free(sync);
 		kproc_exit(error);
 	}
@@ -517,21 +517,21 @@
 	if (error) {
 		g_access(from, -1, 0, 0);
 		g_topology_unlock();
-		printf("GEOM_VINUM: sync to '%s' failed to access "
-		    "consumer: %d\n", p->name, error);
+		G_VINUM_DEBUG(0, "sync to '%s' failed to access "
+		    "consumer: %d", p->name, error);
 		g_free(sync);
 		kproc_exit(error);
 	}
 	g_topology_unlock();
 
-	printf("GEOM_VINUM: plex sync %s -> %s started\n", sync->from->name,
+	G_VINUM_DEBUG(1, "plex sync %s -> %s started", sync->from->name,
 	    sync->to->name);
 	for (i = 0; i < p->size; i+= sync->syncsize) {
 		/* Read some bits from the good plex. */
 		buf = g_read_data(from, i, sync->syncsize, &error);
 		if (buf == NULL) {
-			printf("GEOM_VINUM: sync read from '%s' failed at "
-			    "offset %jd; errno: %d\n", sync->from->name, i,
+			G_VINUM_DEBUG(0, "sync read from '%s' failed at "
+			    "offset %jd; errno: %d", sync->from->name, i,
 			    error);
 			break;
 		}
@@ -544,8 +544,8 @@
 		 */
 		bp = g_new_bio();
 		if (bp == NULL) {
-			printf("GEOM_VINUM: sync write to '%s' failed at "
-			    "offset %jd; out of memory\n", p->name, i);
+			G_VINUM_DEBUG(0, "sync write to '%s' failed at "
+			    "offset %jd; out of memory", p->name, i);
 			g_free(buf);
 			break;
 		}
@@ -569,7 +569,7 @@
 		g_destroy_bio(bp);
 		g_free(buf);
 		if (error) {
-			printf("GEOM_VINUM: sync write to '%s' failed at "
+			G_VINUM_DEBUG(0, "sync write to '%s' failed at "
 			    "offset %jd; errno: %d\n", p->name, i, error);
 			break;
 		}
@@ -586,7 +586,7 @@
 
 	/* Successful initialization. */
 	if (!error)
-		printf("GEOM_VINUM: plex sync %s -> %s finished\n",
+		G_VINUM_DEBUG(1, "plex sync %s -> %s finished",
 		    sync->from->name, sync->to->name);
 
 	p->flags &= ~GV_PLEX_SYNCING;
@@ -630,8 +630,8 @@
 	if (error) {
 		s->init_error = error;
 		g_topology_unlock();
-		printf("GEOM_VINUM: subdisk '%s' init: failed to access "
-		    "consumer; error: %d\n", s->name, error);
+		G_VINUM_DEBUG(0, "subdisk '%s' init: failed to access "
+		    "consumer; error: %d", s->name, error);
 		kproc_exit(error);
 	}
 	g_topology_unlock();
@@ -639,8 +639,8 @@
 	for (i = start; i < offset + length; i += init_size) {
 		error = g_write_data(cp, i, buf, init_size);
 		if (error) {
-			printf("GEOM_VINUM: subdisk '%s' init: write failed"
-			    " at offset %jd (drive offset %jd); error %d\n",
+			G_VINUM_DEBUG(0, "subdisk '%s' init: write failed"
+			    " at offset %jd (drive offset %jd); error %d",
 			    s->name, (intmax_t)s->initialized, (intmax_t)i,
 			    error);
 			break;
@@ -664,7 +664,7 @@
 		gv_set_sd_state(s, GV_SD_UP, GV_SETSTATE_CONFIG);
 		g_topology_unlock();
 		s->initialized = 0;
-		printf("GEOM_VINUM: subdisk '%s' init: finished successfully\n",
+		G_VINUM_DEBUG(1, "subdisk '%s' init: finished successfully",
 		    s->name);
 	}
 	kproc_exit(error);

==== //depot/projects/e500/sys/geom/vinum/geom_vinum_plex.c#3 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_plex.c,v 1.18 2007/10/20 23:23:20 julian Exp $");
+__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_plex.c,v 1.19 2008/10/26 17:20:37 lulf Exp $");
 
 #include <sys/param.h>
 #include <sys/bio.h>
@@ -189,7 +189,7 @@
 		if (!(bp->bio_cflags & GV_BIO_SYNCREQ))
 			return (ENXIO);
 
-		printf("GEOM_VINUM: sd %s is initializing\n", s->name);
+		G_VINUM_DEBUG(1, "sd %s is initializing", s->name);
 		gv_set_sd_state(s, GV_SD_INITIALIZING, GV_SETSTATE_FORCE);
 		break;
 
@@ -558,9 +558,7 @@
 			 * clean up a lot.
  			 */
  			if (err) {
-				printf("GEOM_VINUM: plex request failed for ");
-				g_print_bio(bp);
-				printf("\n");
+				G_VINUM_LOGREQ(0, bp, "plex request failed.");
 				TAILQ_FOREACH_SAFE(bq, &wp->bits, queue, bq2) {
 					TAILQ_REMOVE(&wp->bits, bq, queue);
 					g_free(bq);
@@ -620,9 +618,7 @@
 
 			/* Building the sub-request failed. */
 			if (err) {
-				printf("GEOM_VINUM: plex request failed for ");
-				g_print_bio(bp);
-				printf("\n");
+				G_VINUM_LOGREQ(0, bp, "plex request failed.");
 				cbp = bp->bio_driver1;
 				while (cbp != NULL) {
 					pbp = cbp->bio_caller1;
@@ -719,7 +715,7 @@
 	/* Now find the correct plex where this subdisk belongs to. */
 	p = gv_find_plex(sc, s->plex);
 	if (p == NULL) {
-		printf("gv_plex_taste: NULL p for '%s'\n", s->name);
+		G_VINUM_DEBUG(0, "%s: NULL p for '%s'", __func__, s->name);
 		return (NULL);
 	}
 
@@ -740,7 +736,7 @@
 		cp = g_new_consumer(gp);
 		error = g_attach(cp, pp);
 		if (error) {
-			printf("geom_vinum: couldn't attach consumer to %s\n",
+			G_VINUM_DEBUG(0, "unable to attach consumer to %s",
 			    pp->name);
 			g_destroy_consumer(cp);
 			return (NULL);
@@ -749,8 +745,8 @@
 		if ((cp2 != NULL) && (cp2->acr || cp2->acw || cp2->ace)) {
 			error = g_access(cp, cp2->acr, cp2->acw, cp2->ace);
 			if (error) {
-				printf("geom_vinum: couldn't set access counts"
-				    " for consumer on %s\n", pp->name);
+				G_VINUM_DEBUG(0, "unable to set access counts"
+				    " for consumer on %s", pp->name);
 				g_detach(cp);
 				g_destroy_consumer(cp);
 				return (NULL);

==== //depot/projects/e500/sys/geom/vinum/geom_vinum_raid5.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_raid5.c,v 1.10 2004/11/26 11:59:51 le Exp $");
+__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_raid5.c,v 1.11 2008/10/26 17:20:37 lulf Exp $");
 
 #include <sys/param.h>
 #include <sys/bio.h>
@@ -208,7 +208,7 @@
 		if (!(bp->bio_cflags & GV_BIO_REBUILD))
 			return (ENXIO);
 
-		printf("GEOM_VINUM: sd %s is reviving\n", broken->name);
+		G_VINUM_DEBUG(1, "sd %s is reviving", broken->name);
 		gv_set_sd_state(broken, GV_SD_REVIVING, GV_SETSTATE_FORCE);
 		break;
 

==== //depot/projects/e500/sys/geom/vinum/geom_vinum_rm.c#3 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_rm.c,v 1.14 2008/10/02 10:01:05 lulf Exp $");
+__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_rm.c,v 1.15 2008/10/26 17:20:37 lulf Exp $");
 
 #include <sys/param.h>
 #include <sys/libkern.h>
@@ -351,8 +351,8 @@
 	cp = LIST_FIRST(&gp->consumer);
 	err = g_access(cp, 0, 1, 0);
 	if (err) {
-		printf("GEOM_VINUM: gv_rm_drive: couldn't access '%s', errno: "
-		    "%d\n", cp->provider->name, err);
+		G_VINUM_DEBUG(0, "%s: unable to access '%s', errno: "
+		    "%d", __func__, cp->provider->name, err);
 		return (err);
 	}
 
@@ -361,8 +361,8 @@
 	g_topology_unlock();
 	err = gv_write_header(cp, d->hdr);
 	if (err) {
-		printf("GEOM_VINUM: gv_rm_drive: couldn't write header to '%s'"
-		    ", errno: %d\n", cp->provider->name, err);
+		G_VINUM_DEBUG(0, "%s: unable to write header to '%s'"
+		    ", errno: %d", __func__, cp->provider->name, err);
 		d->hdr->magic = GV_MAGIC;
 	}
 	g_topology_lock();

==== //depot/projects/e500/sys/geom/vinum/geom_vinum_state.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_state.c,v 1.8 2006/03/30 14:01:25 le Exp $");
+__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_state.c,v 1.9 2008/10/26 17:20:37 lulf Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -280,8 +280,8 @@
 		s->state = GV_SD_UP;
 	
 	if (s->state != oldstate)
-		printf("GEOM_VINUM: subdisk %s state change: %s -> %s\n",
-		    s->name, gv_sdstate(oldstate), gv_sdstate(s->state));
+		G_VINUM_DEBUG(1, "subdisk %s state change: %s -> %s", s->name,
+		    gv_sdstate(oldstate), gv_sdstate(s->state));
 
 	/* Update the plex, if we have one. */
 	if (s->plex_sc != NULL)
@@ -324,7 +324,7 @@
 		p->state = GV_PLEX_DOWN;
 
 	if (p->state != oldstate)
-		printf("GEOM_VINUM: plex %s state change: %s -> %s\n", p->name,
+		G_VINUM_DEBUG(1, "plex %s state change: %s -> %s", p->name,
 		    gv_plexstate(oldstate), gv_plexstate(p->state));
 
 	/* Update our volume, if we have one. */

==== //depot/projects/e500/sys/geom/vinum/geom_vinum_subr.c#3 (text+ko) ====

@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_subr.c,v 1.17 2008/07/11 16:46:29 lulf Exp $");
+__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_subr.c,v 1.18 2008/10/26 17:20:37 lulf Exp $");
 
 #include <sys/param.h>
 #include <sys/conf.h>
@@ -113,7 +113,7 @@
 			if (!strcmp(token[0], "volume")) {
 				v = gv_new_volume(tokens, token);
 				if (v == NULL) {
-					printf("geom_vinum: failed volume\n");
+					G_VINUM_DEBUG(0, "failed volume");
 					break;
 				}
 
@@ -132,7 +132,7 @@
 			} else if (!strcmp(token[0], "plex")) {
 				p = gv_new_plex(tokens, token);
 				if (p == NULL) {
-					printf("geom_vinum: failed plex\n");
+					G_VINUM_DEBUG(0, "failed plex");
 					break;
 				}
 
@@ -152,7 +152,7 @@
 				s = gv_new_sd(tokens, token);
 
 				if (s == NULL) {
-					printf("geom_vinum: failed subdisk\n");
+					G_VINUM_DEBUG(0, "failed subdisk");
 					break;
 				}
 
@@ -265,8 +265,8 @@
 	/* Check correct size of this subdisk. */
 	s2 = LIST_FIRST(&p->subdisks);
 	if (s2 != NULL && gv_is_striped(p) && (s2->size != s->size)) {
-		printf("GEOM_VINUM: need equal sized subdisks for "
-		    "this plex organisation - %s (%jd) <-> %s (%jd)\n",
+		G_VINUM_DEBUG(0, "need equal sized subdisks for "
+		    "this plex organisation - %s (%jd) <-> %s (%jd)",
 		    s2->name, s2->size, s->name, s->size);
 		return (-1);
 	}
@@ -439,8 +439,8 @@
 		s = LIST_FIRST(&p->subdisks);
 		LIST_FOREACH(s2, &p->subdisks, in_plex) {
 			if (s->size != s2->size) {
-				printf("geom_vinum: subdisk size mismatch "
-				    "%s (%jd) <> %s (%jd)\n", s->name, s->size,
+				G_VINUM_DEBUG(0, "subdisk size mismatch %s"
+				    "(%jd) <> %s (%jd)", s->name, s->size,
 				    s2->name, s2->size);
 				state = GV_PLEX_DOWN;
 			}
@@ -450,10 +450,9 @@
 		LIST_FOREACH(s, &p->subdisks, in_plex) {
 			remainder = s->size % p->stripesize;
 			if (remainder) {
-				printf("gvinum: size of sd %s is not a "
+				G_VINUM_DEBUG(1, "size of sd %s is not a "
 				    "multiple of plex stripesize, taking off "
-				    "%jd bytes\n", s->name,
-				    (intmax_t)remainder);
+				    "%jd bytes", s->name, (intmax_t)remainder);
 				gv_adjust_freespace(s, remainder);
 			}
 		}
@@ -544,7 +543,7 @@
 
 		/* No good slot found? */
 		if (s->size == -1) {
-			snprintf(errstr, errlen, "couldn't autosize '%s' on "
+			snprintf(errstr, errlen, "could not autosize '%s' on "
 			    "'%s'", s->name, d->name);
 			return (-1);
 		}

==== //depot/projects/e500/sys/geom/vinum/geom_vinum_volume.c#3 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_volume.c,v 1.12 2007/10/20 23:23:20 julian Exp $");
+__FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_volume.c,v 1.13 2008/10/26 17:20:37 lulf Exp $");
 
 #include <sys/param.h>
 #include <sys/bio.h>
@@ -385,8 +385,8 @@
 	if ((ocp != NULL) && (ocp->acr > 0 || ocp->acw > 0 || ocp->ace > 0)) {
 		error = g_access(cp, ocp->acr, ocp->acw, ocp->ace);
 		if (error) {
-			printf("GEOM_VINUM: failed g_access %s -> %s; "
-			    "errno %d\n", v->name, p->name, error);
+			G_VINUM_DEBUG(0, "failed g_access %s -> %s; "
+			    "errno %d", v->name, p->name, error);
 			g_detach(cp);
 			g_destroy_consumer(cp);
 			if (first)

==== //depot/projects/e500/sys/i386/i386/local_apic.c#7 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/i386/local_apic.c,v 1.49 2008/09/10 07:11:08 kmacy Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/i386/local_apic.c,v 1.50 2008/10/26 18:58:04 sobomax Exp $");
 
 #include "opt_hwpmc_hooks.h"
 #include "opt_kdtrace.h"
@@ -403,7 +403,11 @@
 		lapic_timer_hz = hz * 2;
 	else
 		lapic_timer_hz = hz * 4;
-	stathz = lapic_timer_hz / (lapic_timer_hz / 128);
+	if (lapic_timer_hz < 128) {
+		stathz = 128;
+	} else {
+		stathz = lapic_timer_hz / (lapic_timer_hz / 128);
+	}
 	profhz = lapic_timer_hz;
 	lapic_timer_period = value / lapic_timer_hz;
 

==== //depot/projects/e500/sys/net80211/ieee80211.c#8 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/net80211/ieee80211.c,v 1.55 2008/09/03 20:33:11 brooks Exp $");
+__FBSDID("$FreeBSD: src/sys/net80211/ieee80211.c,v 1.57 2008/10/25 23:43:08 sam Exp $");
 
 /*
  * IEEE 802.11 generic handler
@@ -350,11 +350,6 @@
 	vap->iv_opmode = opmode;
 	vap->iv_caps |= ieee80211_opcap[opmode];
 	switch (opmode) {
-	case IEEE80211_M_STA:
-		/* auto-enable s/w beacon miss support */
-		if (flags & IEEE80211_CLONE_NOBEACONS)
-			vap->iv_flags_ext |= IEEE80211_FEXT_SWBMISS;
-		break;
 	case IEEE80211_M_WDS:
 		/*
 		 * WDS links must specify the bssid of the far end.
@@ -370,6 +365,9 @@
 			vap->iv_flags_ext |= IEEE80211_FEXT_WDSLEGACY;
 		break;
 	}
+	/* auto-enable s/w beacon miss support */
+	if (flags & IEEE80211_CLONE_NOBEACONS)
+		vap->iv_flags_ext |= IEEE80211_FEXT_SWBMISS;
 	/*
 	 * Enable various functionality by default if we're
 	 * capable; the driver can override us if it knows better.
@@ -1065,8 +1063,7 @@
 }
 
 static int
-media2mode(const struct ieee80211com *ic,
-	const struct ifmedia_entry *ime, enum ieee80211_phymode *mode)
+media2mode(const struct ifmedia_entry *ime, uint32_t flags, uint16_t *mode)
 {
 	switch (IFM_MODE(ime->ifm_media)) {
 	case IFM_IEEE80211_11A:
@@ -1099,7 +1096,7 @@
 	 */
 	if (ime->ifm_media & IFM_IEEE80211_TURBO) {
 		if (*mode == IEEE80211_MODE_11A) {
-			if (ic->ic_flags & IEEE80211_F_TURBOP)
+			if (flags & IEEE80211_F_TURBOP)
 				*mode = IEEE80211_MODE_TURBO_A;
 			else
 				*mode = IEEE80211_MODE_STURBO_A;
@@ -1113,51 +1110,12 @@
 }
 
 /*
- * Handle a media change request on the underlying
- * interface; we accept mode changes only.
+ * Handle a media change request on the underlying interface.
  */
 int
 ieee80211com_media_change(struct ifnet *ifp)
 {
-	struct ieee80211com *ic = ifp->if_l2com;
-	struct ifmedia_entry *ime = ic->ic_media.ifm_cur;
-	enum ieee80211_phymode newphymode;
-	int error = 0;
-
-	/*
-	 * First, identify the phy mode.
-	 */
-	if (!media2mode(ic, ime, &newphymode))
-		return EINVAL;
-	/* NB: mode must be supported, no need to check */
-
-	/*
-	 * Handle phy mode change.
-	 */
-	IEEE80211_LOCK(ic);
-	if (ic->ic_curmode != newphymode) {		/* change phy mode */
-		struct ieee80211vap *vap;
-
-		(void) ieee80211_setmode(ic, newphymode);
-		/*
-		 * Propagate new state to each vap.
-		 */
-		TAILQ_FOREACH(vap, &ic->ic_vaps, iv_next) {
-		}
-	}
-	IEEE80211_UNLOCK(ic);
-	return error;
-}
-
-static int
-findrate(const struct ieee80211com *ic, enum ieee80211_phymode m, int r)
-{
-	int i, nrates;
-
-	for (i = 0, nrates = ic->ic_sup_rates[m].rs_nrates; i < nrates; i++)
-		if ((ic->ic_sup_rates[m].rs_rates[i] & IEEE80211_RATE_VAL) == r)
-			return i;
-	return -1;
+	return EINVAL;
 }
 
 /*
@@ -1168,26 +1126,12 @@
 {
 	struct ieee80211vap *vap = ifp->if_softc;
 	struct ifmedia_entry *ime = vap->iv_media.ifm_cur;
-	struct ieee80211com *ic = vap->iv_ic;
-	int newrate;
+	uint16_t newmode;
 
-	/* XXX this won't work unless ic_curmode is != IEEE80211_MODE_AUTO */
-	if (ic->ic_curmode == IEEE80211_MODE_AUTO)
+	if (!media2mode(ime, vap->iv_flags, &newmode))
 		return EINVAL;
-	if (IFM_SUBTYPE(ime->ifm_media) != IFM_AUTO) {
-		/*
-		 * NB: this can only be used to specify a legacy rate.
-		 */
-		newrate = ieee80211_media2rate(ime->ifm_media);
-		if (newrate == 0)
-			return EINVAL;
-		if (findrate(ic, ic->ic_curmode, newrate) == -1)
-			return EINVAL;
-	} else {
-		newrate = IEEE80211_FIXED_RATE_NONE;

>>> TRUNCATED FOR MAIL (1000 lines) <<<



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200810270245.m9R2jPoG013896>