PERFORCE change 160746 for review

Marko Zec zec at FreeBSD.org
Fri Apr 17 09:55:02 PDT 2009


http://perforce.freebsd.org/chv.cgi?CH=160746

Change 160746 by zec at zec_tpx32 on 2009/04/17 16:54:42

	IFC @ 160745

Affected files ...

.. //depot/projects/vimage-commit/src/sys/amd64/amd64/busdma_machdep.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/amd64/conf/DEFAULTS#4 integrate
.. //depot/projects/vimage-commit/src/sys/amd64/include/metadata.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/amd64/include/pc/bios.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/arm/arm/busdma_machdep.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/arm/arm/cpufunc_asm_armv5_ec.S#3 integrate
.. //depot/projects/vimage-commit/src/sys/arm/arm/cpufunc_asm_sheeva.S#2 integrate
.. //depot/projects/vimage-commit/src/sys/arm/mv/common.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/arm/mv/gpio.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/arm/mv/ic.c#2 integrate
.. //depot/projects/vimage-commit/src/sys/arm/mv/mv_pci.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/arm/mv/mvreg.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/boot/i386/libi386/biossmap.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/boot/sparc64/loader/main.c#8 integrate
.. //depot/projects/vimage-commit/src/sys/bsm/audit_fcntl.h#1 branch
.. //depot/projects/vimage-commit/src/sys/conf/NOTES#14 integrate
.. //depot/projects/vimage-commit/src/sys/conf/files#20 integrate
.. //depot/projects/vimage-commit/src/sys/conf/options#12 integrate
.. //depot/projects/vimage-commit/src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#7 integrate
.. //depot/projects/vimage-commit/src/sys/contrib/pf/net/if_pflog.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/contrib/pf/net/if_pfsync.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/contrib/pf/net/pf.c#9 integrate
.. //depot/projects/vimage-commit/src/sys/dev/ar/if_ar.c#4 delete
.. //depot/projects/vimage-commit/src/sys/dev/ar/if_ar.h#3 delete
.. //depot/projects/vimage-commit/src/sys/dev/ar/if_ar_isa.c#3 delete
.. //depot/projects/vimage-commit/src/sys/dev/ar/if_ar_pci.c#3 delete
.. //depot/projects/vimage-commit/src/sys/dev/ar/if_arregs.h#3 delete
.. //depot/projects/vimage-commit/src/sys/dev/atkbdc/atkbd.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/e1000/if_em.c#8 integrate
.. //depot/projects/vimage-commit/src/sys/dev/fb/creator.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/fb/machfb.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/if_ndis/if_ndis.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/dev/iicbus/if_ic.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/dev/ipw/if_ipw.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/dev/lmc/if_lmc.c#8 integrate
.. //depot/projects/vimage-commit/src/sys/dev/lmc/if_lmc.h#5 integrate
.. //depot/projects/vimage-commit/src/sys/dev/mge/if_mge.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/pci/pci.c#9 integrate
.. //depot/projects/vimage-commit/src/sys/dev/ppbus/if_plip.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/dev/ray/if_ray.c#4 delete
.. //depot/projects/vimage-commit/src/sys/dev/ray/if_raydbg.h#3 delete
.. //depot/projects/vimage-commit/src/sys/dev/ray/if_raymib.h#3 delete
.. //depot/projects/vimage-commit/src/sys/dev/ray/if_rayreg.h#3 delete
.. //depot/projects/vimage-commit/src/sys/dev/ray/if_rayvar.h#4 delete
.. //depot/projects/vimage-commit/src/sys/dev/sr/if_sr.c#4 delete
.. //depot/projects/vimage-commit/src/sys/dev/sr/if_sr.h#3 delete
.. //depot/projects/vimage-commit/src/sys/dev/sr/if_sr_isa.c#3 delete
.. //depot/projects/vimage-commit/src/sys/dev/sr/if_sr_pci.c#3 delete
.. //depot/projects/vimage-commit/src/sys/dev/sr/if_srregs.h#3 delete
.. //depot/projects/vimage-commit/src/sys/geom/part/g_part.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/geom/part/g_part_ebr.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/geom/part/g_part_if.m#5 integrate
.. //depot/projects/vimage-commit/src/sys/i386/conf/DEFAULTS#5 integrate
.. //depot/projects/vimage-commit/src/sys/i386/i386/busdma_machdep.c#7 integrate
.. //depot/projects/vimage-commit/src/sys/i386/include/metadata.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/i386/include/pc/bios.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/ia64/ia64/busdma_machdep.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/kern/kern_conf.c#11 integrate
.. //depot/projects/vimage-commit/src/sys/kern/kern_descrip.c#8 integrate
.. //depot/projects/vimage-commit/src/sys/kern/vfs_bio.c#8 integrate
.. //depot/projects/vimage-commit/src/sys/kern/vfs_cache.c#12 integrate
.. //depot/projects/vimage-commit/src/sys/legacy/dev/usb/if_aue.c#2 delete
.. //depot/projects/vimage-commit/src/sys/legacy/dev/usb/if_auereg.h#2 delete
.. //depot/projects/vimage-commit/src/sys/legacy/dev/usb/if_axe.c#2 delete
.. //depot/projects/vimage-commit/src/sys/legacy/dev/usb/if_axereg.h#2 delete
.. //depot/projects/vimage-commit/src/sys/legacy/dev/usb/if_cdce.c#2 delete
.. //depot/projects/vimage-commit/src/sys/legacy/dev/usb/if_cdcereg.h#2 delete
.. //depot/projects/vimage-commit/src/sys/legacy/dev/usb/if_cue.c#2 delete
.. //depot/projects/vimage-commit/src/sys/legacy/dev/usb/if_cuereg.h#2 delete
.. //depot/projects/vimage-commit/src/sys/legacy/dev/usb/if_kue.c#2 delete
.. //depot/projects/vimage-commit/src/sys/legacy/dev/usb/if_kuereg.h#2 delete
.. //depot/projects/vimage-commit/src/sys/legacy/dev/usb/if_rue.c#2 delete
.. //depot/projects/vimage-commit/src/sys/legacy/dev/usb/if_ruereg.h#2 delete
.. //depot/projects/vimage-commit/src/sys/legacy/dev/usb/if_rum.c#2 delete
.. //depot/projects/vimage-commit/src/sys/legacy/dev/usb/if_rumreg.h#2 delete
.. //depot/projects/vimage-commit/src/sys/legacy/dev/usb/if_rumvar.h#2 delete
.. //depot/projects/vimage-commit/src/sys/legacy/dev/usb/if_udav.c#2 delete
.. //depot/projects/vimage-commit/src/sys/legacy/dev/usb/if_udavreg.h#2 delete
.. //depot/projects/vimage-commit/src/sys/legacy/dev/usb/if_ural.c#2 delete
.. //depot/projects/vimage-commit/src/sys/legacy/dev/usb/if_uralreg.h#2 delete
.. //depot/projects/vimage-commit/src/sys/legacy/dev/usb/if_uralvar.h#2 delete
.. //depot/projects/vimage-commit/src/sys/legacy/dev/usb/if_zyd.c#2 delete
.. //depot/projects/vimage-commit/src/sys/legacy/dev/usb/if_zydfw.h#2 delete
.. //depot/projects/vimage-commit/src/sys/legacy/dev/usb/if_zydreg.h#2 delete
.. //depot/projects/vimage-commit/src/sys/legacy/dev/usb/kue_fw.h#2 delete
.. //depot/projects/vimage-commit/src/sys/modules/Makefile#15 integrate
.. //depot/projects/vimage-commit/src/sys/modules/ar/Makefile#3 delete
.. //depot/projects/vimage-commit/src/sys/modules/netgraph/sync_ar/Makefile#3 delete
.. //depot/projects/vimage-commit/src/sys/modules/netgraph/sync_sr/Makefile#3 delete
.. //depot/projects/vimage-commit/src/sys/modules/ray/Makefile#3 delete
.. //depot/projects/vimage-commit/src/sys/modules/sr/Makefile#3 delete
.. //depot/projects/vimage-commit/src/sys/net/ethernet.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/net/if.c#19 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_arc.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_arcsubr.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_atm.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_atmsubr.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_disc.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_enc.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_ethersubr.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_faith.c#9 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_fddisubr.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_fwsubr.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_gif.c#12 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_gif.h#8 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_gre.c#9 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_iso88025subr.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_lagg.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_lagg.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_llatbl.c#2 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_llatbl.h#2 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_loop.c#17 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_spppsubr.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_stf.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_tun.c#9 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_var.h#11 integrate
.. //depot/projects/vimage-commit/src/sys/net/iso88025.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/net/radix_mpath.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/net/route.c#13 integrate
.. //depot/projects/vimage-commit/src/sys/net/route.h#5 integrate
.. //depot/projects/vimage-commit/src/sys/net/rtsock.c#11 integrate
.. //depot/projects/vimage-commit/src/sys/net80211/ieee80211.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_output.c#9 integrate
.. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_proto.h#6 integrate
.. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_var.h#9 integrate
.. //depot/projects/vimage-commit/src/sys/netgraph/ng_fec.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/netgraph/ng_iface.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/if_ether.c#13 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/in_pcb.h#10 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/in_var.h#7 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/ip_carp.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/ip_fastfwd.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/ip_output.c#13 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/sctp_bsd_addr.c#7 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/sctp_structs.h#5 integrate
.. //depot/projects/vimage-commit/src/sys/netinet6/in6.h#4 integrate
.. //depot/projects/vimage-commit/src/sys/netinet6/nd6.c#12 integrate
.. //depot/projects/vimage-commit/src/sys/netinet6/nd6.h#8 integrate
.. //depot/projects/vimage-commit/src/sys/netipx/ipx_outputfl.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/pc98/cbus/olpt.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/rpc/svc.h#4 integrate
.. //depot/projects/vimage-commit/src/sys/security/audit/audit_bsm_fcntl.c#1 branch
.. //depot/projects/vimage-commit/src/sys/security/audit/audit_pipe.c#7 integrate
.. //depot/projects/vimage-commit/src/sys/sys/param.h#17 integrate
.. //depot/projects/vimage-commit/src/sys/ufs/ufs/ufs_lookup.c#6 integrate

Differences ...

==== //depot/projects/vimage-commit/src/sys/amd64/amd64/busdma_machdep.c#6 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.89 2009/04/13 19:20:32 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.90 2009/04/17 13:22:18 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -1137,9 +1137,7 @@
 	mtx_unlock(&bounce_lock);
 
 	if (dmat->flags & BUS_DMA_KEEP_PG_OFFSET) {
-		/* page offset needs to be preserved */
-		bpage->vaddr &= ~PAGE_MASK;
-		bpage->busaddr &= ~PAGE_MASK;
+		/* Page offset needs to be preserved. */
 		bpage->vaddr |= vaddr & PAGE_MASK;
 		bpage->busaddr |= vaddr & PAGE_MASK;
 	}
@@ -1158,6 +1156,15 @@
 	bz = dmat->bounce_zone;
 	bpage->datavaddr = 0;
 	bpage->datacount = 0;
+	if (dmat->flags & BUS_DMA_KEEP_PG_OFFSET) {
+		/*
+		 * Reset the bounce page to start at offset 0.  Other uses
+		 * of this bounce page may need to store a full page of
+		 * data and/or assume it starts on a page boundary.
+		 */
+		bpage->vaddr &= ~PAGE_MASK;
+		bpage->busaddr &= ~PAGE_MASK;
+	}
 
 	mtx_lock(&bounce_lock);
 	STAILQ_INSERT_HEAD(&bz->bounce_page_list, bpage, links);

==== //depot/projects/vimage-commit/src/sys/amd64/conf/DEFAULTS#4 (text+ko) ====

@@ -1,7 +1,7 @@
 #
 # DEFAULTS -- Default kernel configuration file for FreeBSD/amd64
 #
-# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.15 2009/02/10 00:08:39 marcel Exp $
+# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.16 2009/04/15 22:38:22 marcel Exp $
 
 machine		amd64
 
@@ -18,4 +18,5 @@
 # Default partitioning schemes
 options 	GEOM_PART_BSD
 options 	GEOM_PART_EBR
+options 	GEOM_PART_EBR_COMPAT
 options 	GEOM_PART_MBR

==== //depot/projects/vimage-commit/src/sys/amd64/include/metadata.h#3 (text+ko) ====

@@ -23,12 +23,13 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/include/metadata.h,v 1.2 2005/01/05 20:17:20 imp Exp $
+ * $FreeBSD: src/sys/amd64/include/metadata.h,v 1.3 2009/04/15 17:31:22 jkim Exp $
  */
 
 #ifndef _MACHINE_METADATA_H_
 #define	_MACHINE_METADATA_H_
 
 #define	MODINFOMD_SMAP		0x1001
+#define	MODINFOMD_SMAP_XATTR	0x1002
 
 #endif /* !_MACHINE_METADATA_H_ */

==== //depot/projects/vimage-commit/src/sys/amd64/include/pc/bios.h#3 (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/amd64/include/pc/bios.h,v 1.20 2007/10/28 21:23:49 jhb Exp $
+ * $FreeBSD: src/sys/amd64/include/pc/bios.h,v 1.21 2009/04/15 17:31:22 jkim Exp $
  */
 
 #ifndef _MACHINE_PC_BIOS_H_
@@ -48,6 +48,10 @@
 #define	SMAP_TYPE_ACPI_NVS	4
 #define	SMAP_TYPE_ACPI_ERROR	5
 
+#define	SMAP_XATTR_ENABLED	0x00000001
+#define	SMAP_XATTR_NON_VOLATILE	0x00000002
+#define	SMAP_XATTR_MASK		(SMAP_XATTR_ENABLED | SMAP_XATTR_NON_VOLATILE)
+
 struct bios_smap {
     u_int64_t	base;
     u_int64_t	length;

==== //depot/projects/vimage-commit/src/sys/arm/arm/busdma_machdep.c#6 (text+ko) ====

@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.45 2009/04/13 19:20:32 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.46 2009/04/17 13:22:18 jhb Exp $");
 
 /*
  * ARM bus dma support routines
@@ -1427,9 +1427,7 @@
 	mtx_unlock(&bounce_lock);
 
 	if (dmat->flags & BUS_DMA_KEEP_PG_OFFSET) {
-		/* page offset needs to be preserved */
-		bpage->vaddr &= ~PAGE_MASK;
-		bpage->busaddr &= ~PAGE_MASK;
+		/* Page offset needs to be preserved. */
 		bpage->vaddr |= vaddr & PAGE_MASK;
 		bpage->busaddr |= vaddr & PAGE_MASK;
 	}
@@ -1448,6 +1446,15 @@
 	bz = dmat->bounce_zone;
 	bpage->datavaddr = 0;
 	bpage->datacount = 0;
+	if (dmat->flags & BUS_DMA_KEEP_PG_OFFSET) {
+		/*
+		 * Reset the bounce page to start at offset 0.  Other uses
+		 * of this bounce page may need to store a full page of
+		 * data and/or assume it starts on a page boundary.
+		 */
+		bpage->vaddr &= ~PAGE_MASK;
+		bpage->busaddr &= ~PAGE_MASK;
+	}
 
 	mtx_lock(&bounce_lock);
 	STAILQ_INSERT_HEAD(&bz->bounce_page_list, bpage, links);

==== //depot/projects/vimage-commit/src/sys/arm/arm/cpufunc_asm_armv5_ec.S#3 (text+ko) ====

@@ -37,7 +37,7 @@
  */
 
 #include <machine/asm.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc_asm_armv5_ec.S,v 1.1 2007/10/18 05:33:05 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc_asm_armv5_ec.S,v 1.2 2009/04/16 11:21:52 raj Exp $");
 
 /*
  * Functions to set the MMU Translation Table Base register
@@ -204,3 +204,4 @@
 	bne	1b			/* More to do? */
 	mcr	p15, 0, r0, c7, c10, 4	/* drain the write buffer */
 	RET
+

==== //depot/projects/vimage-commit/src/sys/arm/arm/cpufunc_asm_sheeva.S#2 (text+ko) ====

@@ -30,7 +30,7 @@
  */
 
 #include <machine/asm.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc_asm_sheeva.S,v 1.1 2009/01/09 10:55:33 raj Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc_asm_sheeva.S,v 1.2 2009/04/16 11:21:52 raj Exp $");
 
 #include <machine/param.h>
 
@@ -375,6 +375,14 @@
 	mcr	p15, 0, r0, c7, c10, 4	/* drain the write buffer */
 	RET
 
+/* This function modifies register value as follows:
+ *
+ * arg1  arg		EFFECT (bit value saved into register)
+ *    0     0           not changed
+ *    0     1           negated
+ *    1     0           cleared
+ *    1     1           set
+ */
 ENTRY(sheeva_control_ext)
 	mrc	p15, 1, r3, c15, c1, 0	/* Read the control register */
 	bic	r2, r3, r0		/* Clear bits */

==== //depot/projects/vimage-commit/src/sys/arm/mv/common.c#3 (text+ko) ====

@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/mv/common.c,v 1.5 2009/01/08 18:31:43 raj Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/mv/common.c,v 1.6 2009/04/16 11:20:18 raj Exp $");
 
 #include <sys/systm.h>
 #include <sys/bus.h>
@@ -91,7 +91,8 @@
 	uint32_t ef = 0;
 
 	soc_id(&dev, &rev);
-	if (dev == MV_DEV_88F6281 || dev == MV_DEV_MV78100)
+	if (dev == MV_DEV_88F6281 || dev == MV_DEV_MV78100_Z0 ||
+	    dev == MV_DEV_MV78100)
 		__asm __volatile("mrc p15, 1, %0, c15, c1, 0" : "=r" (ef));
 	else if (dev == MV_DEV_88F5182 || dev == MV_DEV_88F5281)
 		__asm __volatile("mrc p15, 0, %0, c14, c0, 0" : "=r" (ef));
@@ -166,6 +167,9 @@
 		else if (r == 2)
 			rev = "A0";
 		break;
+	case MV_DEV_MV78100_Z0:
+		dev = "Marvell MV78100 Z0";
+		break;
 	case MV_DEV_MV78100:
 		dev = "Marvell MV78100";
 		break;
@@ -199,15 +203,16 @@
 	decode_win_cpu_setup();
 	decode_win_usb_setup();
 	decode_win_eth_setup(MV_ETH0_BASE);
-	if (dev == MV_DEV_MV78100)
+	if (dev == MV_DEV_MV78100 || dev == MV_DEV_MV78100_Z0)
 		decode_win_eth_setup(MV_ETH1_BASE);
-	if (dev == MV_DEV_88F6281 || dev == MV_DEV_MV78100)
+	if (dev == MV_DEV_88F6281 || dev == MV_DEV_MV78100 ||
+	    dev == MV_DEV_MV78100_Z0)
 		decode_win_cesa_setup();
 
 	decode_win_idma_setup();
 	decode_win_xor_setup();
 
-	if (dev == MV_DEV_MV78100) {
+	if (dev == MV_DEV_MV78100 || dev == MV_DEV_MV78100_Z0) {
 		decode_win_pcie_setup(MV_PCIE00_BASE);
 		decode_win_pcie_setup(MV_PCIE01_BASE);
 		decode_win_pcie_setup(MV_PCIE02_BASE);
@@ -360,7 +365,8 @@
 	if ((dev == MV_DEV_88F5182 && i < 2) ||
 	    (dev == MV_DEV_88F5281 && i < 4) ||
 	    (dev == MV_DEV_88F6281 && i < 4) ||
-	    (dev == MV_DEV_MV78100 && i < 8))
+	    (dev == MV_DEV_MV78100 && i < 8) ||
+	    (dev == MV_DEV_MV78100_Z0 && i < 8))
 		return (1);
 
 	return (0);
@@ -590,7 +596,7 @@
 	uint32_t dev, rev;
 
 	soc_id(&dev, &rev);
-	return (dev == MV_DEV_MV78100 ? 3 : 1);
+	return ((dev == MV_DEV_MV78100 || dev == MV_DEV_MV78100_Z0) ? 3 : 1);
 }
 
 static void
@@ -1109,14 +1115,18 @@
 	return (0);
 }
 
-static __inline int
+static int
 xor_max_eng(void)
 {
 	uint32_t dev, rev;
 
 	soc_id(&dev, &rev);
-	return ((dev == MV_DEV_88F6281) ? 2 :
-	    (dev == MV_DEV_MV78100) ? 1 : 0);
+	if (dev == MV_DEV_88F6281)
+		return (2);
+	else if ((dev == MV_DEV_MV78100) || (dev == MV_DEV_MV78100_Z0))
+		return (1);
+	else
+		return (0);
 }
 
 static void

==== //depot/projects/vimage-commit/src/sys/arm/mv/gpio.c#3 (text+ko) ====

@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/mv/gpio.c,v 1.3 2009/01/08 18:31:43 raj Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/mv/gpio.c,v 1.4 2009/04/16 11:20:18 raj Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -123,12 +123,13 @@
 		return (ENXIO);
 	mv_gpio_softc = sc;
 
-	/* Get board id and revision */
+	/* Get chip id and revision */
 	soc_id(&dev_id, &rev_id);
 
 	if (dev_id == MV_DEV_88F5182 ||
 	    dev_id == MV_DEV_88F5281 ||
-	    dev_id == MV_DEV_MV78100) {
+	    dev_id == MV_DEV_MV78100 ||
+	    dev_id == MV_DEV_MV78100_Z0 ) {
 		sc->pin_num = 32;
 		sc->irq_num = 4;
 		sc->use_high = 0;
@@ -139,7 +140,7 @@
 		sc->use_high = 1;
 
 	} else {
-		device_printf(dev, "unknown board id=0x%x\n", dev_id);
+		device_printf(dev, "unknown chip id=0x%x\n", dev_id);
 		return (ENXIO);
 	}
 

==== //depot/projects/vimage-commit/src/sys/arm/mv/ic.c#2 (text+ko) ====

@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/mv/ic.c,v 1.1 2008/10/13 20:07:13 raj Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/mv/ic.c,v 1.2 2009/04/16 11:20:18 raj Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -98,10 +98,11 @@
 	sc->ic_high_regs = 0;
 	sc->ic_error_regs = 0;
 
-	if (dev_id == MV_DEV_88F6281 || dev_id == MV_DEV_MV78100)
+	if (dev_id == MV_DEV_88F6281 || dev_id == MV_DEV_MV78100 ||
+	    dev_id == MV_DEV_MV78100_Z0)
 		sc->ic_high_regs = 1;
 
-	if (dev_id == MV_DEV_MV78100)
+	if (dev_id == MV_DEV_MV78100 || dev_id == MV_DEV_MV78100_Z0)
 		sc->ic_error_regs = 1;
 
 	error = bus_alloc_resources(dev, mv_ic_spec, sc->ic_res);

==== //depot/projects/vimage-commit/src/sys/arm/mv/mv_pci.c#3 (text+ko) ====

@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/mv/mv_pci.c,v 1.5 2009/01/09 12:38:41 raj Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/mv/mv_pci.c,v 1.6 2009/04/16 11:20:18 raj Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -459,8 +459,18 @@
 		id = "88F6281";
 		break;
 	case 0x6381:
+		id = "MV78100 Z0";
+		break;
+	case 0x7810:
 		id = "MV78100";
 		break;
+	case 0x7820:
+		/*
+		 * According to documentation ID 0x7820 is assigned to MV78200.
+		 * However some MV78100 chips also use it.
+		 */
+		id = "MV78100/MV78200";
+		break;
 	default:
 		device_printf(self, "unknown Marvell PCI bridge: %x\n", val);
 		goto out;

==== //depot/projects/vimage-commit/src/sys/arm/mv/mvreg.h#3 (text+ko) ====

@@ -28,7 +28,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/arm/mv/mvreg.h,v 1.4 2009/01/08 18:31:43 raj Exp $
+ * $FreeBSD: src/sys/arm/mv/mvreg.h,v 1.5 2009/04/16 11:20:18 raj Exp $
  */
 
 #ifndef _MVREG_H_
@@ -471,11 +471,12 @@
 /*
  * Chip ID
  */
-#define MV_DEV_88F5181	0x5181
-#define MV_DEV_88F5182	0x5182
-#define MV_DEV_88F5281	0x5281
-#define MV_DEV_88F6281	0x6281
-#define MV_DEV_MV78100	0x6381
+#define MV_DEV_88F5181		0x5181
+#define MV_DEV_88F5182		0x5182
+#define MV_DEV_88F5281		0x5281
+#define MV_DEV_88F6281		0x6281
+#define MV_DEV_MV78100_Z0	0x6381
+#define MV_DEV_MV78100		0x7810
 
 /*
  * Decode windows definitions and macros

==== //depot/projects/vimage-commit/src/sys/boot/i386/libi386/biossmap.c#4 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biossmap.c,v 1.8 2008/06/07 03:07:32 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biossmap.c,v 1.9 2009/04/15 17:31:22 jkim Exp $");
 
 /*
  * Obtain memory configuration information from the BIOS
@@ -33,74 +33,107 @@
 #include <stand.h>
 #include <sys/param.h>
 #include <sys/linker.h>
+#include <sys/queue.h>
+#include <sys/stddef.h>
 #include <machine/metadata.h>
+#include <machine/psl.h>
 #include <machine/pc/bios.h>
 #include "bootstrap.h"
 #include "libi386.h"
 #include "btxv86.h"
 
-static struct {
-	struct bios_smap _smap_entry;
-	char pad[8];		/* Bad BIOS writer, no cookie! */
-} smap;
+#define	V86_CY(x)	((x) & PSL_C)
+
+struct smap_buf {
+	struct bios_smap	smap;
+	uint32_t		xattr;	/* Extended attribute from ACPI 3.0 */
+	STAILQ_ENTRY(smap_buf)	bufs;
+};
+
+#define	SMAP_BUFSIZE		offsetof(struct smap_buf, bufs)
 
-static struct bios_smap *smapbase;
-static int smaplen;
+static struct bios_smap		*smapbase;
+static uint32_t			*smapattr;
+static u_int			smaplen;
 
 void
 bios_getsmap(void)
 {
-	int n;
+	struct smap_buf		buf;
+	STAILQ_HEAD(smap_head, smap_buf) head =
+	    STAILQ_HEAD_INITIALIZER(head);
+	struct smap_buf		*cur, *next;
+	u_int			n, x;
 
+	STAILQ_INIT(&head);
 	n = 0;
-	smaplen = 0;
-	/* Count up segments in system memory map */
+	x = 0;
 	v86.ebx = 0;
 	do {
 		v86.ctl = V86_FLAGS;
-		v86.addr = 0x15;		/* int 0x15 function 0xe820*/
-		v86.eax = 0xe820;
-		v86.ecx = sizeof(struct bios_smap);
+		v86.addr = 0x15;
+		v86.eax = 0xe820;	/* int 0x15 function 0xe820 */
+		v86.ecx = SMAP_BUFSIZE;
 		v86.edx = SMAP_SIG;
-		v86.es = VTOPSEG(&smap);
-		v86.edi = VTOPOFF(&smap);
+		v86.es = VTOPSEG(&buf);
+		v86.edi = VTOPOFF(&buf);
 		v86int();
-		if ((v86.efl & 1) || (v86.eax != SMAP_SIG))
+		if (V86_CY(v86.efl) || v86.eax != SMAP_SIG ||
+		    v86.ecx < sizeof(buf.smap) || v86.ecx > SMAP_BUFSIZE)
+			break;
+
+		next = malloc(sizeof(*next));
+		if (next == NULL)
 			break;
+		next->smap = buf.smap;
+		if (v86.ecx == SMAP_BUFSIZE) {
+			next->xattr = buf.xattr;
+			x++;
+		}
+		STAILQ_INSERT_TAIL(&head, next, bufs);
 		n++;
 	} while (v86.ebx != 0);
-	if (n == 0)
-		return;
-	n += 10;	/* spare room */
-	smapbase = malloc(n * sizeof(*smapbase));
+	smaplen = n;
 
-	/* Save system memory map */
-	v86.ebx = 0;
-	do {
-		v86.ctl = V86_FLAGS;
-		v86.addr = 0x15;		/* int 0x15 function 0xe820*/
-		v86.eax = 0xe820;
-		v86.ecx = sizeof(struct bios_smap);
-		v86.edx = SMAP_SIG;
-		v86.es = VTOPSEG(&smap);
-		v86.edi = VTOPOFF(&smap);
-		v86int();
-		bcopy(&smap, &smapbase[smaplen], sizeof(struct bios_smap));
-		smaplen++;
-		if ((v86.efl & 1) || (v86.eax != SMAP_SIG))
-			break;
-	} while (v86.ebx != 0 && smaplen < n);
+	if (smaplen > 0) {
+		smapbase = malloc(smaplen * sizeof(*smapbase));
+		if (smapbase != NULL) {
+			n = 0;
+			STAILQ_FOREACH(cur, &head, bufs)
+				smapbase[n++] = cur->smap;
+		}
+		if (smaplen == x) {
+			smapattr = malloc(smaplen * sizeof(*smapattr));
+			if (smapattr != NULL) {
+				n = 0;
+				STAILQ_FOREACH(cur, &head, bufs)
+					smapattr[n++] = cur->xattr &
+					    SMAP_XATTR_MASK;
+			}
+		} else
+			smapattr = NULL;
+		cur = STAILQ_FIRST(&head);
+		while (cur != NULL) {
+			next = STAILQ_NEXT(cur, bufs);
+			free(cur);
+			cur = next;
+		}
+	}
 }
 
 void
 bios_addsmapdata(struct preloaded_file *kfp)
 {
-	int len;
+	size_t			size;
 
-	if (smapbase == 0 || smaplen == 0)
+	if (smapbase == NULL || smaplen == 0)
 		return;
-	len = smaplen * sizeof(*smapbase);
-	file_addmetadata(kfp, MODINFOMD_SMAP, len, smapbase);
+	size = smaplen * sizeof(*smapbase);
+	file_addmetadata(kfp, MODINFOMD_SMAP, size, smapbase);
+	if (smapattr != NULL) {
+		size = smaplen * sizeof(*smapattr);
+		file_addmetadata(kfp, MODINFOMD_SMAP_XATTR, size, smapattr);
+	}
 }
 
 COMMAND_SET(smap, "smap", "show BIOS SMAP", command_smap);
@@ -108,12 +141,22 @@
 static int
 command_smap(int argc, char *argv[])
 {
-	int i;
+	u_int			i;
 
-	if (smapbase == 0 || smaplen == 0)
+	if (smapbase == NULL || smaplen == 0)
 		return (CMD_ERROR);
-	for (i = 0; i < smaplen; i++)
-		printf("SMAP type=%02x base=%016llx len=%016llx\n",
-		    smapbase[i].type, smapbase[i].base, smapbase[i].length);
+	if (smapattr != NULL)
+		for (i = 0; i < smaplen; i++)
+			printf("SMAP type=%02x base=%016llx len=%016llx attr=%02x\n",
+			    (unsigned int)smapbase[i].type,
+			    (unsigned long long)smapbase[i].base,
+			    (unsigned long long)smapbase[i].length,
+			    (unsigned int)smapattr[i]);
+	else
+		for (i = 0; i < smaplen; i++)
+			printf("SMAP type=%02x base=%016llx len=%016llx\n",
+			    (unsigned int)smapbase[i].type,
+			    (unsigned long long)smapbase[i].base,
+			    (unsigned long long)smapbase[i].length);
 	return (CMD_OK);
 }

==== //depot/projects/vimage-commit/src/sys/boot/sparc64/loader/main.c#8 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/sparc64/loader/main.c,v 1.41 2009/04/13 19:43:37 marius Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/sparc64/loader/main.c,v 1.42 2009/04/14 19:02:34 marius Exp $");
 
 /*
  * FreeBSD/sparc64 kernel loader - machine dependent part
@@ -434,9 +434,10 @@
 			continue;
 		reg = dtlb_get_data_sun4u(i);
 		wrpr(pstate, pstate, 0);
+		reg >>= TD_PA_SHIFT;
 		if (cpu_impl >= CPU_IMPL_ULTRASPARCIII)
-			return ((reg & TD_PA_CH_MASK) >> TD_PA_SHIFT);
-		return ((reg & TD_PA_SF_MASK) >> TD_PA_SHIFT);
+			return (reg & TD_PA_CH_MASK);
+		return (reg & TD_PA_SF_MASK);
 	}
 	wrpr(pstate, pstate, 0);
 	return (-1);
@@ -456,9 +457,10 @@
 			continue;
 		reg = itlb_get_data_sun4u(i);
 		wrpr(pstate, pstate, 0);
+		reg >>= TD_PA_SHIFT;
 		if (cpu_impl >= CPU_IMPL_ULTRASPARCIII)
-			return ((reg & TD_PA_CH_MASK) >> TD_PA_SHIFT);
-		return ((reg & TD_PA_SF_MASK) >> TD_PA_SHIFT);
+			return (reg & TD_PA_CH_MASK);
+		return (reg & TD_PA_SF_MASK);
 	}
 	wrpr(pstate, pstate, 0);
 	return (-1);
@@ -846,7 +848,7 @@
 {
 
 	printf("%s %s ",
-	    page_sizes[(tte & TD_SIZE_MASK) >> TD_SIZE_SHIFT],
+	    page_sizes[(tte >> TD_SIZE_SHIFT) & TD_SIZE_MASK],
 	    tag & TD_G ? "G" : " ");
 	printf(tte & TD_W ? "W " : "  ");
 	printf(tte & TD_P ? "\e[33mP\e[0m " : "  ");

==== //depot/projects/vimage-commit/src/sys/conf/NOTES#14 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/NOTES,v 1.1533 2009/04/10 00:34:55 jfv Exp $
+# $FreeBSD: src/sys/conf/NOTES,v 1.1534 2009/04/15 22:38:22 marcel Exp $
 #
 # NOTES -- Lines that can be cut/pasted into kernel and hints configs.
 #
@@ -148,6 +148,7 @@
 options 	GEOM_PART_APM		# Apple partitioning
 options 	GEOM_PART_BSD		# BSD disklabel
 options 	GEOM_PART_EBR		# Extended Boot Records
+options 	GEOM_PART_EBR_COMPAT	# Backward compatible partition names
 options 	GEOM_PART_GPT		# GPT partitioning
 options 	GEOM_PART_MBR		# MBR partitioning
 options 	GEOM_PART_PC98		# PC-9800 disk partitioning

==== //depot/projects/vimage-commit/src/sys/conf/files#20 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.1390 2009/04/12 19:04:27 rmacklem Exp $
+# $FreeBSD: src/sys/conf/files,v 1.1391 2009/04/17 09:42:26 rwatson Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -1501,7 +1501,6 @@
 legacy/dev/usb/ehci_ddb.c	optional oehci
 legacy/dev/usb/ehci_pci.c	optional oehci pci
 legacy/dev/usb/hid.c		optional ousb
-legacy/dev/usb/if_aue.c		optional oaue
 legacy/dev/usb/ohci.c		optional oohci
 legacy/dev/usb/ohci_pci.c	optional oohci pci
 legacy/dev/usb/sl811hs.c	optional oslhci

==== //depot/projects/vimage-commit/src/sys/conf/options#12 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options,v 1.664 2009/03/30 19:23:49 sam Exp $
+# $FreeBSD: src/sys/conf/options,v 1.665 2009/04/15 22:38:22 marcel Exp $
 #
 #        On the handling of kernel options
 #
@@ -93,6 +93,7 @@
 GEOM_PART_APM	opt_geom.h
 GEOM_PART_BSD	opt_geom.h
 GEOM_PART_EBR	opt_geom.h
+GEOM_PART_EBR_COMPAT	opt_geom.h
 GEOM_PART_GPT	opt_geom.h
 GEOM_PART_MBR	opt_geom.h
 GEOM_PART_PC98	opt_geom.h

==== //depot/projects/vimage-commit/src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#7 (text+ko) ====

@@ -1,4 +1,4 @@
-/*	$FreeBSD: src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c,v 1.15 2009/02/27 13:29:18 bz Exp $	*/
+/*	$FreeBSD: src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c,v 1.16 2009/04/16 20:30:28 kmacy Exp $	*/
 
 /*
  * Copyright (C) 1993-2003 by Darren Reed.
@@ -1046,7 +1046,7 @@
 		if (!ip->ip_sum)
 			ip->ip_sum = in_cksum(m, hlen);
 		error = (*ifp->if_output)(ifp, m, (struct sockaddr *)dst,
-					  ro->ro_rt);
+					  ro);
 		goto done;
 	}
 	/*
@@ -1127,7 +1127,7 @@
 		m->m_act = 0;
 		if (error == 0)
 			error = (*ifp->if_output)(ifp, m,
-			    (struct sockaddr *)dst, ro->ro_rt);
+			    (struct sockaddr *)dst, ro);
 		else
 			FREE_MB_T(m);
 	}

==== //depot/projects/vimage-commit/src/sys/contrib/pf/net/if_pflog.c#4 (text+ko) ====

@@ -40,7 +40,7 @@
 #include "opt_pf.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/contrib/pf/net/if_pflog.c,v 1.21 2007/07/03 12:16:07 mlaier Exp $");
+__FBSDID("$FreeBSD: src/sys/contrib/pf/net/if_pflog.c,v 1.22 2009/04/16 20:30:28 kmacy Exp $");
 
 #ifdef DEV_BPF
 #define	NBPFILTER	DEV_BPF
@@ -113,7 +113,7 @@
 
 void	pflogattach(int);
 int	pflogoutput(struct ifnet *, struct mbuf *, struct sockaddr *,
-	    	       struct rtentry *);
+    		       struct route *);
 int	pflogioctl(struct ifnet *, u_long, caddr_t);
 void	pflogstart(struct ifnet *);
 #ifdef __FreeBSD__
@@ -287,7 +287,7 @@
 
 int
 pflogoutput(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst,
-	struct rtentry *rt)
+       struct route *ro)
 {
 	m_freem(m);
 	return (0);

==== //depot/projects/vimage-commit/src/sys/contrib/pf/net/if_pfsync.c#5 (text+ko) ====

@@ -34,7 +34,7 @@
 #include "opt_pf.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/contrib/pf/net/if_pfsync.c,v 1.36 2007/07/28 07:31:29 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/contrib/pf/net/if_pfsync.c,v 1.37 2009/04/16 20:30:28 kmacy Exp $");
 
 #ifdef DEV_BPF
 #define	NBPFILTER	DEV_BPF
@@ -152,7 +152,7 @@
 void	pfsync_update_net_tdb(struct pfsync_tdb *);
 #endif
 int	pfsyncoutput(struct ifnet *, struct mbuf *, struct sockaddr *,
-	    struct rtentry *);
+	    struct route *);
 int	pfsyncioctl(struct ifnet *, u_long, caddr_t);
 void	pfsyncstart(struct ifnet *);
 
@@ -1083,7 +1083,7 @@
 
 int
 pfsyncoutput(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst,
-	struct rtentry *rt)
+	struct route *ro)
 {
 	m_freem(m);
 	return (0);

==== //depot/projects/vimage-commit/src/sys/contrib/pf/net/pf.c#9 (text+ko) ====

@@ -41,7 +41,7 @@
 #include "opt_inet6.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/contrib/pf/net/pf.c,v 1.64 2009/04/12 13:22:33 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/contrib/pf/net/pf.c,v 1.65 2009/04/16 20:30:28 kmacy Exp $");
 #endif
 
 #ifdef __FreeBSD__
@@ -6245,7 +6245,7 @@
 			}
 		}
 		PF_UNLOCK();
-		error = (*ifp->if_output)(ifp, m0, sintosa(dst), ro->ro_rt);
+		error = (*ifp->if_output)(ifp, m0, sintosa(dst), ro);
 		PF_LOCK();
 		goto done;
 	}

==== //depot/projects/vimage-commit/src/sys/dev/atkbdc/atkbd.c#3 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/atkbdc/atkbd.c,v 1.53 2007/12/29 21:55:22 wkoszek Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/atkbdc/atkbd.c,v 1.54 2009/04/17 00:30:56 emax Exp $");
 
 #include "opt_compat.h"
 #include "opt_kbd.h"
@@ -476,7 +476,7 @@
 static int
 atkbd_intr(keyboard_t *kbd, void *arg)
 {
-	atkbd_state_t *state;
+	atkbd_state_t *state = (atkbd_state_t *)kbd->kb_data;
 	int delay[2];
 	int c;
 
@@ -485,7 +485,6 @@
 		 * The keyboard was not detected before;
 		 * it must have been reconnected!
 		 */
-		state = (atkbd_state_t *)kbd->kb_data;
 		init_keyboard(state->kbdc, &kbd->kb_type,
 			      kbd->kb_config);
 		KBD_FOUND_DEVICE(kbd);
@@ -496,6 +495,9 @@
 		atkbd_ioctl(kbd, KDSETREPEAT, (caddr_t)delay);
 	}
 
+	if (state->ks_polling)
+		return 0;
+
 	if (KBD_IS_ACTIVE(kbd) && KBD_IS_BUSY(kbd)) {
 		/* let the callback function to process the input */
 		(*kbd->kb_callback.kc_func)(kbd, KBDIO_KEYINPUT,

==== //depot/projects/vimage-commit/src/sys/dev/e1000/if_em.c#8 (text+ko) ====

@@ -30,7 +30,7 @@
   POSSIBILITY OF SUCH DAMAGE.
 
 ******************************************************************************/
-/*$FreeBSD: src/sys/dev/e1000/if_em.c,v 1.6 2009/04/14 03:36:59 kmacy Exp $*/
+/*$FreeBSD: src/sys/dev/e1000/if_em.c,v 1.7 2009/04/16 23:08:02 kmacy Exp $*/
 
 #ifdef HAVE_KERNEL_OPTION_HEADERS
 #include "opt_device_polling.h"
@@ -1055,6 +1055,7 @@
 	EM_TX_LOCK(adapter);
 	while ((m = buf_ring_dequeue_sc(adapter->br)) != NULL)
 		m_freem(m);
+	if_qflush(ifp);

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


More information about the p4-projects mailing list