svn commit: r241890 - in user/andre/tcp_workqueue/sys: arm/broadcom/bcm2835 arm/ti/am335x arm/ti/cpsw boot/common boot/efi boot/ficl boot/i386 boot/i386/libi386 boot/uboot/lib boot/userboot/ficl bo...

Andre Oppermann andre at FreeBSD.org
Mon Oct 22 14:24:01 UTC 2012


Author: andre
Date: Mon Oct 22 14:23:59 2012
New Revision: 241890
URL: http://svn.freebsd.org/changeset/base/241890

Log:
  Integrate from HEAD @241889.

Added:
  user/andre/tcp_workqueue/sys/powerpc/conf/WII
     - copied unchanged from r241889, head/sys/powerpc/conf/WII
Modified:
  user/andre/tcp_workqueue/sys/arm/broadcom/bcm2835/bcm2835_systimer.c
  user/andre/tcp_workqueue/sys/arm/ti/am335x/am335x_dmtimer.c
  user/andre/tcp_workqueue/sys/arm/ti/cpsw/if_cpsw.c
  user/andre/tcp_workqueue/sys/boot/common/disk.c
  user/andre/tcp_workqueue/sys/boot/common/disk.h
  user/andre/tcp_workqueue/sys/boot/efi/Makefile.inc
  user/andre/tcp_workqueue/sys/boot/ficl/Makefile
  user/andre/tcp_workqueue/sys/boot/i386/Makefile.inc
  user/andre/tcp_workqueue/sys/boot/i386/libi386/biosdisk.c
  user/andre/tcp_workqueue/sys/boot/uboot/lib/disk.c
  user/andre/tcp_workqueue/sys/boot/userboot/ficl/Makefile
  user/andre/tcp_workqueue/sys/boot/userboot/userboot/userboot_disk.c
  user/andre/tcp_workqueue/sys/boot/zfs/Makefile
  user/andre/tcp_workqueue/sys/cam/ata/ata_da.c
  user/andre/tcp_workqueue/sys/cam/ctl/ctl.c
  user/andre/tcp_workqueue/sys/cam/scsi/scsi_enc_ses.c
  user/andre/tcp_workqueue/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
  user/andre/tcp_workqueue/sys/conf/files
  user/andre/tcp_workqueue/sys/conf/files.powerpc
  user/andre/tcp_workqueue/sys/dev/acpica/acpi_video.c
  user/andre/tcp_workqueue/sys/dev/ahci/ahciem.c
  user/andre/tcp_workqueue/sys/dev/cxgb/cxgb_main.c
  user/andre/tcp_workqueue/sys/dev/cxgb/ulp/tom/cxgb_tom.h
  user/andre/tcp_workqueue/sys/dev/cxgbe/adapter.h
  user/andre/tcp_workqueue/sys/dev/cxgbe/t4_l2t.h
  user/andre/tcp_workqueue/sys/dev/cxgbe/t4_main.c
  user/andre/tcp_workqueue/sys/dev/cxgbe/tom/t4_tom.h
  user/andre/tcp_workqueue/sys/dev/e1000/if_lem.c
  user/andre/tcp_workqueue/sys/dev/hpt27xx/os_bsd.c
  user/andre/tcp_workqueue/sys/dev/hwpmc/hwpmc_core.c
  user/andre/tcp_workqueue/sys/dev/hwpmc/hwpmc_intel.c
  user/andre/tcp_workqueue/sys/dev/hwpmc/pmc_events.h
  user/andre/tcp_workqueue/sys/dev/isf/isf.c
  user/andre/tcp_workqueue/sys/dev/mps/mps_sas.c
  user/andre/tcp_workqueue/sys/dev/mps/mps_user.c
  user/andre/tcp_workqueue/sys/dev/mpt/mpt.c
  user/andre/tcp_workqueue/sys/dev/mpt/mpt.h
  user/andre/tcp_workqueue/sys/dev/mpt/mpt_cam.c
  user/andre/tcp_workqueue/sys/dev/mpt/mpt_debug.c
  user/andre/tcp_workqueue/sys/dev/mpt/mpt_pci.c
  user/andre/tcp_workqueue/sys/dev/mpt/mpt_raid.c
  user/andre/tcp_workqueue/sys/dev/netmap/netmap_mem2.c
  user/andre/tcp_workqueue/sys/dev/oce/oce_if.c
  user/andre/tcp_workqueue/sys/dev/pci/pcireg.h
  user/andre/tcp_workqueue/sys/dev/sound/pci/hda/hdaa.c
  user/andre/tcp_workqueue/sys/dev/tws/tws.c
  user/andre/tcp_workqueue/sys/dev/tws/tws.h
  user/andre/tcp_workqueue/sys/dev/tws/tws_cam.c
  user/andre/tcp_workqueue/sys/dev/tws/tws_hdm.h
  user/andre/tcp_workqueue/sys/dev/tws/tws_user.c
  user/andre/tcp_workqueue/sys/dev/usb/input/uhid.c
  user/andre/tcp_workqueue/sys/dev/usb/net/if_ipheth.c
  user/andre/tcp_workqueue/sys/dev/usb/net/if_smsc.c
  user/andre/tcp_workqueue/sys/dev/usb/usbdevs
  user/andre/tcp_workqueue/sys/fs/nandfs/nandfs_subr.c
  user/andre/tcp_workqueue/sys/kern/kern_sig.c
  user/andre/tcp_workqueue/sys/kern/sched_ule.c
  user/andre/tcp_workqueue/sys/kern/uipc_socket.c
  user/andre/tcp_workqueue/sys/mips/rmi/xlr_i2c.c
  user/andre/tcp_workqueue/sys/modules/3dfx/Makefile
  user/andre/tcp_workqueue/sys/modules/cmx/Makefile
  user/andre/tcp_workqueue/sys/modules/filemon/Makefile
  user/andre/tcp_workqueue/sys/net/pfil.c
  user/andre/tcp_workqueue/sys/net/pfil.h
  user/andre/tcp_workqueue/sys/netinet/tcp_hostcache.c
  user/andre/tcp_workqueue/sys/netinet6/in6_rmx.c
  user/andre/tcp_workqueue/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
  user/andre/tcp_workqueue/sys/ofed/drivers/net/mlx4/en_netdev.c
  user/andre/tcp_workqueue/sys/ofed/drivers/net/mlx4/en_rx.c
  user/andre/tcp_workqueue/sys/powerpc/conf/NOTES
  user/andre/tcp_workqueue/sys/powerpc/wii/platform_wii.c
  user/andre/tcp_workqueue/sys/powerpc/wii/wii_ipcreg.h
  user/andre/tcp_workqueue/sys/sparc64/include/intr_machdep.h
  user/andre/tcp_workqueue/sys/sparc64/sparc64/interrupt.S
  user/andre/tcp_workqueue/sys/sparc64/sparc64/intr_machdep.c
  user/andre/tcp_workqueue/sys/sparc64/sparc64/tick.c
  user/andre/tcp_workqueue/sys/sys/ipc.h
  user/andre/tcp_workqueue/sys/sys/pmc.h
  user/andre/tcp_workqueue/sys/vm/uma_core.c
  user/andre/tcp_workqueue/sys/xen/interface/foreign/mkheader.py
Directory Properties:
  user/andre/tcp_workqueue/sys/   (props changed)
  user/andre/tcp_workqueue/sys/boot/   (props changed)
  user/andre/tcp_workqueue/sys/cddl/contrib/opensolaris/   (props changed)
  user/andre/tcp_workqueue/sys/conf/   (props changed)

Modified: user/andre/tcp_workqueue/sys/arm/broadcom/bcm2835/bcm2835_systimer.c
==============================================================================
--- user/andre/tcp_workqueue/sys/arm/broadcom/bcm2835/bcm2835_systimer.c	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/arm/broadcom/bcm2835/bcm2835_systimer.c	Mon Oct 22 14:23:59 2012	(r241890)
@@ -1,4 +1,4 @@
-/*-
+/*
  * Copyright (c) 2012 Oleksandr Tymoshenko <gonzo at freebsd.org>
  * Copyright (c) 2012 Damjan Marion <dmarion at freebsd.org>
  * All rights reserved.
@@ -280,7 +280,7 @@ DELAY(int usec)
 	}
 
 	/* Get the number of times to count */
-	counts = usec * ((bcm_systimer_tc.tc_frequency / 1000000) + 1);;
+	counts = usec * ((bcm_systimer_tc.tc_frequency / 1000000) + 1);
 
 	first = bcm_systimer_tc_read_4(SYSTIMER_CLO);
 

Modified: user/andre/tcp_workqueue/sys/arm/ti/am335x/am335x_dmtimer.c
==============================================================================
--- user/andre/tcp_workqueue/sys/arm/ti/am335x/am335x_dmtimer.c	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/arm/ti/am335x/am335x_dmtimer.c	Mon Oct 22 14:23:59 2012	(r241890)
@@ -368,7 +368,7 @@ DELAY(int usec)
 	}
 
 	/* Get the number of times to count */
-	counts = usec * ((am335x_dmtimer_tc.tc_frequency / 1000000) + 1);;
+	counts = usec * ((am335x_dmtimer_tc.tc_frequency / 1000000) + 1);
 
 	first = am335x_dmtimer_tc_read_4(DMTIMER_TCRR);
 

Modified: user/andre/tcp_workqueue/sys/arm/ti/cpsw/if_cpsw.c
==============================================================================
--- user/andre/tcp_workqueue/sys/arm/ti/cpsw/if_cpsw.c	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/arm/ti/cpsw/if_cpsw.c	Mon Oct 22 14:23:59 2012	(r241890)
@@ -800,6 +800,7 @@ cpsw_intr_rx_locked(void *arg)
 		cpsw_write_4(CPSW_CPDMA_RX_CP(0), cpsw_cpdma_rxbd_paddr(i));
 
 		bus_dmamap_sync(sc->mbuf_dtag, sc->rx_dmamap[i], BUS_DMASYNC_POSTREAD);
+		bus_dmamap_unload(sc->mbuf_dtag, sc->rx_dmamap[i]);
 
 		/* Fill mbuf */
 		sc->rx_mbuf[i]->m_hdr.mh_data += bd.bufoff;
@@ -817,11 +818,6 @@ cpsw_intr_rx_locked(void *arg)
 			}
 		}
 
-		bus_dmamap_sync(sc->mbuf_dtag,
-		    sc->rx_dmamap[i],
-		    BUS_DMASYNC_POSTREAD);
-		bus_dmamap_unload(sc->mbuf_dtag, sc->rx_dmamap[i]);
-
 		/* Handover packet */
 		CPSW_RX_UNLOCK(sc);
 		(*ifp->if_input)(ifp, sc->rx_mbuf[i]);

Modified: user/andre/tcp_workqueue/sys/boot/common/disk.c
==============================================================================
--- user/andre/tcp_workqueue/sys/boot/common/disk.c	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/boot/common/disk.c	Mon Oct 22 14:23:59 2012	(r241890)
@@ -47,6 +47,7 @@ struct open_disk {
 	struct ptable		*table;
 	off_t			mediasize;
 	u_int			sectorsize;
+	u_int			flags;
 	int			rcnt;
 };
 
@@ -232,16 +233,20 @@ disk_print(struct disk_devdesc *dev, cha
 }
 
 int
-disk_open(struct disk_devdesc *dev, off_t mediasize, u_int sectorsize)
+disk_open(struct disk_devdesc *dev, off_t mediasize, u_int sectorsize,
+    u_int flags)
 {
 	struct open_disk *od;
 	struct ptable *table;
 	struct ptable_entry part;
 	int rc, slice, partition;
 
-	rc = disk_lookup(dev);
-	if (rc == 0)
-		return (0);
+	rc = 0;
+	if ((flags & DISK_F_NOCACHE) == 0) {
+		rc = disk_lookup(dev);
+		if (rc == 0)
+			return (0);
+	}
 	/*
 	 * While we are reading disk metadata, make sure we do it relative
 	 * to the start of the disk
@@ -267,11 +272,12 @@ disk_open(struct disk_devdesc *dev, off_
 			DEBUG("no memory");
 			return (ENOMEM);
 		}
+		dev->d_opendata = od;
+		od->rcnt = 0;
 	}
-	dev->d_opendata = od;
 	od->mediasize = mediasize;
 	od->sectorsize = sectorsize;
-	od->rcnt = 0;
+	od->flags = flags;
 	DEBUG("%s unit %d, slice %d, partition %d => %p",
 	    disk_fmtdev(dev), dev->d_unit, dev->d_slice, dev->d_partition, od);
 
@@ -304,6 +310,13 @@ opened:
 		if (ptable_gettype(od->table) == PTABLE_GPT) {
 			partition = 255;
 			goto out; /* Nothing more to do */
+		} else if (partition == 255) {
+			/*
+			 * When we try to open GPT partition, but partition
+			 * table isn't GPT, reset d_partition value to -1
+			 * and try to autodetect appropriate value.
+			 */
+			partition = -1;
 		}
 		/*
 		 * If d_partition < 0 and we are looking at a BSD slice,
@@ -348,7 +361,8 @@ out:
 		}
 		DEBUG("%s could not open", disk_fmtdev(dev));
 	} else {
-		disk_insert(dev);
+		if ((flags & DISK_F_NOCACHE) == 0)
+			disk_insert(dev);
 		/* Save the slice and partition number to the dev */
 		dev->d_slice = slice;
 		dev->d_partition = partition;
@@ -361,12 +375,14 @@ out:
 int
 disk_close(struct disk_devdesc *dev)
 {
-#if DISK_DEBUG
 	struct open_disk *od;
 
 	od = (struct open_disk *)dev->d_opendata;
 	DEBUG("%s closed => %p [%d]", disk_fmtdev(dev), od, od->rcnt);
-#endif
+	if (od->flags & DISK_F_NOCACHE) {
+		ptable_close(od->table);
+		free(od);
+	}
 	return (0);
 }
 

Modified: user/andre/tcp_workqueue/sys/boot/common/disk.h
==============================================================================
--- user/andre/tcp_workqueue/sys/boot/common/disk.h	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/boot/common/disk.h	Mon Oct 22 14:23:59 2012	(r241890)
@@ -93,7 +93,8 @@ struct disk_devdesc
  * Parse disk metadata and initialise dev->d_offset.
  */
 extern int disk_open(struct disk_devdesc *dev, off_t mediasize,
-    u_int sectorsize);
+    u_int sectorsize, u_int flags);
+#define	DISK_F_NOCACHE	0x0001		/* Do not use metadata caching */
 extern int disk_close(struct disk_devdesc *dev);
 extern void disk_cleanup(const struct devsw *d_dev);
 

Modified: user/andre/tcp_workqueue/sys/boot/efi/Makefile.inc
==============================================================================
--- user/andre/tcp_workqueue/sys/boot/efi/Makefile.inc	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/boot/efi/Makefile.inc	Mon Oct 22 14:23:59 2012	(r241890)
@@ -2,8 +2,12 @@
 
 BINDIR?=	/boot
 
+.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
+CFLAGS+=        -march=i386
+.endif
+
 .if ${MACHINE_CPUARCH} == "amd64"
-CFLAGS+=        -m32 -march=i386
+CFLAGS+=        -m32
 ACFLAGS+=       -m32
 LDFLAGS+=       -m elf_i386_fbsd
 AFLAGS+=        --32

Modified: user/andre/tcp_workqueue/sys/boot/ficl/Makefile
==============================================================================
--- user/andre/tcp_workqueue/sys/boot/ficl/Makefile	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/boot/ficl/Makefile	Mon Oct 22 14:23:59 2012	(r241890)
@@ -8,6 +8,7 @@ SRCS=		${BASE_SRCS} sysdep.c softcore.c
 CLEANFILES=	softcore.c testmain testmain.o
 CFLAGS+=	-ffreestanding
 .if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
+CFLAGS+=	-march=i386
 CFLAGS+=	-mpreferred-stack-boundary=2
 CFLAGS+=	-mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -msoft-float
 .endif
@@ -39,7 +40,7 @@ SOFTWORDS=	softcore.fr jhlocal.fr marker
 #SOFTWORDS+=	oo.fr classes.fr
 
 .if ${MACHINE_CPUARCH} == "amd64"
-CFLAGS+=	-m32 -march=i386 -I.
+CFLAGS+=	-m32 -I.
 .endif
 
 .if ${MACHINE_ARCH} == "powerpc64"

Modified: user/andre/tcp_workqueue/sys/boot/i386/Makefile.inc
==============================================================================
--- user/andre/tcp_workqueue/sys/boot/i386/Makefile.inc	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/boot/i386/Makefile.inc	Mon Oct 22 14:23:59 2012	(r241890)
@@ -5,12 +5,12 @@
 BINDIR?=	/boot
 
 LOADER_ADDRESS?=0x200000
-CFLAGS+=	-ffreestanding -mpreferred-stack-boundary=2 \
+CFLAGS+=	-march=i386 -ffreestanding -mpreferred-stack-boundary=2 \
 		-mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -msoft-float
 LDFLAGS+=	-nostdlib
 
 .if ${MACHINE_CPUARCH} == "amd64"
-CFLAGS+=	-m32 -march=i386
+CFLAGS+=	-m32
 ACFLAGS+=	-m32
 LDFLAGS+=	-m elf_i386_fbsd
 AFLAGS+=	--32

Modified: user/andre/tcp_workqueue/sys/boot/i386/libi386/biosdisk.c
==============================================================================
--- user/andre/tcp_workqueue/sys/boot/i386/libi386/biosdisk.c	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/boot/i386/libi386/biosdisk.c	Mon Oct 22 14:23:59 2012	(r241890)
@@ -276,7 +276,9 @@ bd_print(int verbose)
 		dev.d_partition = -1;
 		if (disk_open(&dev,
 		    bdinfo[i].bd_sectorsize * bdinfo[i].bd_sectors,
-		    bdinfo[i].bd_sectorsize) == 0) {
+		    bdinfo[i].bd_sectorsize,
+		    (bdinfo[i].bd_flags & BD_FLOPPY) ?
+		    DISK_F_NOCACHE: 0) == 0) {
 			sprintf(line, "    disk%d", i);
 			disk_print(&dev, line, verbose);
 			disk_close(&dev);
@@ -308,7 +310,8 @@ bd_open(struct open_file *f, ...)
 		return (EIO);
 
 	return (disk_open(dev, BD(dev).bd_sectors * BD(dev).bd_sectorsize,
-	    BD(dev).bd_sectorsize));
+	    BD(dev).bd_sectorsize, (BD(dev).bd_flags & BD_FLOPPY) ?
+	    DISK_F_NOCACHE: 0));
 }
 
 static int
@@ -645,7 +648,8 @@ bd_getdev(struct i386_devdesc *d)
     if (biosdev == -1)				/* not a BIOS device */
 	return(-1);
     if (disk_open(dev, BD(dev).bd_sectors * BD(dev).bd_sectorsize,
-	BD(dev).bd_sectorsize) != 0)		/* oops, not a viable device */
+	BD(dev).bd_sectorsize,(BD(dev).bd_flags & BD_FLOPPY) ?
+	DISK_F_NOCACHE: 0) != 0)		/* oops, not a viable device */
 	    return (-1);
     else
 	disk_close(dev);

Modified: user/andre/tcp_workqueue/sys/boot/uboot/lib/disk.c
==============================================================================
--- user/andre/tcp_workqueue/sys/boot/uboot/lib/disk.c	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/boot/uboot/lib/disk.c	Mon Oct 22 14:23:59 2012	(r241890)
@@ -205,7 +205,7 @@ stor_opendev(struct disk_devdesc *dev)
 		SI(dev).opened++;
 	}
 	return (disk_open(dev, SI(dev).blocks * SI(dev).bsize,
-	    SI(dev).bsize));
+	    SI(dev).bsize, 0));
 }
 
 static int

Modified: user/andre/tcp_workqueue/sys/boot/userboot/ficl/Makefile
==============================================================================
--- user/andre/tcp_workqueue/sys/boot/userboot/ficl/Makefile	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/boot/userboot/ficl/Makefile	Mon Oct 22 14:23:59 2012	(r241890)
@@ -12,6 +12,7 @@ SRCS=		${BASE_SRCS} sysdep.c softcore.c
 CLEANFILES=	softcore.c testmain testmain.o
 CFLAGS+=	-ffreestanding -fPIC
 .if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
+#CFLAGS+=	-march=i386
 CFLAGS+=	-mno-mmx -mno-3dnow -mno-sse -mno-sse2
 .endif
 .if ${MACHINE_CPUARCH} == "i386"
@@ -46,7 +47,7 @@ SOFTWORDS=	softcore.fr jhlocal.fr marker
 #SOFTWORDS+=	oo.fr classes.fr
 
 #.if ${MACHINE_CPUARCH} == "amd64"
-#CFLAGS+=	-m32 -march=i386 -I.
+#CFLAGS+=	-m32 -I.
 #.endif
 
 .if ${MACHINE_ARCH} == "powerpc64"

Modified: user/andre/tcp_workqueue/sys/boot/userboot/userboot/userboot_disk.c
==============================================================================
--- user/andre/tcp_workqueue/sys/boot/userboot/userboot/userboot_disk.c	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/boot/userboot/userboot/userboot_disk.c	Mon Oct 22 14:23:59 2012	(r241890)
@@ -125,7 +125,7 @@ userdisk_print(int verbose)
 		dev.d_slice = -1;
 		dev.d_partition = -1;
 		if (disk_open(&dev, ud_info[i].mediasize,
-		    ud_info[i].sectorsize) == 0) {
+		    ud_info[i].sectorsize, 0) == 0) {
 			sprintf(line, "    disk%d", i);
 			disk_print(&dev, line, verbose);
 			disk_close(&dev);
@@ -150,7 +150,7 @@ userdisk_open(struct open_file *f, ...)
 		return (EIO);
 
 	return (disk_open(dev, ud_info[dev->d_unit].mediasize,
-	    ud_info[dev->d_unit].sectorsize));
+	    ud_info[dev->d_unit].sectorsize, 0));
 }
 
 static int

Modified: user/andre/tcp_workqueue/sys/boot/zfs/Makefile
==============================================================================
--- user/andre/tcp_workqueue/sys/boot/zfs/Makefile	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/boot/zfs/Makefile	Mon Oct 22 14:23:59 2012	(r241890)
@@ -12,6 +12,7 @@ CFLAGS+=	-I${.CURDIR}/../../cddl/boot/zf
 
 CFLAGS+=	-ffreestanding
 .if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
+CFLAGS+=	-march=i386
 CFLAGS+=	-mpreferred-stack-boundary=2
 CFLAGS+=	-mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -msoft-float
 .endif
@@ -19,7 +20,7 @@ CFLAGS+=	-mno-mmx -mno-3dnow -mno-sse -m
 CFLAGS+=	-msoft-float
 .endif
 .if ${MACHINE_CPUARCH} == "amd64"
-CFLAGS+=	-m32 -march=i386
+CFLAGS+=	-m32
 .endif
 
 CFLAGS+=	-Wformat -Wall

Modified: user/andre/tcp_workqueue/sys/cam/ata/ata_da.c
==============================================================================
--- user/andre/tcp_workqueue/sys/cam/ata/ata_da.c	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/cam/ata/ata_da.c	Mon Oct 22 14:23:59 2012	(r241890)
@@ -269,6 +269,116 @@ static struct ada_quirk_entry ada_quirk_
 		/*quirks*/ADA_Q_4K
 	},
 	{
+		/*
+		 * Corsair Force 2 SSDs
+		 * 4k optimised & trim only works in 4k requests + 4k aligned
+		 * Submitted by: Steven Hartland <steven.hartland at multiplay.co.uk>
+		 * PR: 169974
+		 */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "Corsair CSSD-F*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
+		/*
+		 * Corsair Force 3 SSDs
+		 * 4k optimised & trim only works in 4k requests + 4k aligned
+		 * Submitted by: Steven Hartland <steven.hartland at multiplay.co.uk>
+		 * PR: 169974
+		 */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "Corsair Force 3*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
+		/*
+		 * OCZ Agility 3 SSDs
+		 * 4k optimised & trim only works in 4k requests + 4k aligned
+		 * Submitted by: Steven Hartland <steven.hartland at multiplay.co.uk>
+		 * PR: 169974
+		 */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "OCZ-AGILITY3*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
+		/*
+		 * OCZ Vertex 2 SSDs (inc pro series)
+		 * 4k optimised & trim only works in 4k requests + 4k aligned
+		 * Submitted by: Steven Hartland <steven.hartland at multiplay.co.uk>
+		 * PR: 169974
+		 */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "OCZ?VERTEX2*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
+		/*
+		 * OCZ Vertex 3 SSDs
+		 * 4k optimised & trim only works in 4k requests + 4k aligned
+		 * Submitted by: Steven Hartland <steven.hartland at multiplay.co.uk>
+		 * PR: 169974
+		 */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "OCZ-VERTEX3*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
+		/*
+		 * SuperTalent TeraDrive CT SSDs
+		 * 4k optimised & trim only works in 4k requests + 4k aligned
+		 * Submitted by: Steven Hartland <steven.hartland at multiplay.co.uk>
+		 * PR: 169974
+		 */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "FTM??CT25H*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
+		/*
+		 * Crucial RealSSD C300 SSDs
+		 * 4k optimised
+		 * Submitted by: Steven Hartland <steven.hartland at multiplay.co.uk>
+		 * PR: 169974
+		 */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "C300-CTFDDAC???MAG*",
+		"*" }, /*quirks*/ADA_Q_4K
+	},
+	{
+		/*
+		 * XceedIOPS SATA SSDs
+		 * 4k optimised
+		 * Submitted by: Steven Hartland <steven.hartland at multiplay.co.uk>
+		 * PR: 169974
+		 */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "SG9XCS2D*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
+		/*
+		 * Intel 330 Series SSDs
+		 * 4k optimised & trim only works in 4k requests + 4k aligned
+		 * Submitted by: Steven Hartland <steven.hartland at multiplay.co.uk>
+		 * PR: 169974
+		 */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "INTEL SSDSC2ct*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
+		/*
+		 * OCZ Deneva R Series SSDs
+		 * 4k optimised & trim only works in 4k requests + 4k aligned
+		 * Submitted by: Steven Hartland <steven.hartland at multiplay.co.uk>
+		 * PR: 169974
+		 */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "DENRSTE251M45*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
+		/*
+		 * Kingston HyperX 3k SSDs
+		 * 4k optimised & trim only works in 4k requests + 4k aligned
+		 * Submitted by: Steven Hartland <steven.hartland at multiplay.co.uk>
+		 * PR: 169974
+		 */
+		{ T_DIRECT, SIP_MEDIA_FIXED, "*", "KINGSTON SH103S3*", "*" },
+		/*quirks*/ADA_Q_4K
+	},
+	{
 		/* Default */
 		{
 		  T_ANY, SIP_MEDIA_REMOVABLE|SIP_MEDIA_FIXED,

Modified: user/andre/tcp_workqueue/sys/cam/ctl/ctl.c
==============================================================================
--- user/andre/tcp_workqueue/sys/cam/ctl/ctl.c	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/cam/ctl/ctl.c	Mon Oct 22 14:23:59 2012	(r241890)
@@ -480,7 +480,7 @@ ctl_isc_handler_finish_xfer(struct ctl_s
 	memcpy(&ctsio->sense_data, &msg_info->scsi.sense_data,
 	       sizeof(ctsio->sense_data));
 	memcpy(&ctsio->io_hdr.ctl_private[CTL_PRIV_LBA_LEN].bytes,
-	       &msg_info->scsi.lbalen, sizeof(msg_info->scsi.lbalen));;
+	       &msg_info->scsi.lbalen, sizeof(msg_info->scsi.lbalen));
 	STAILQ_INSERT_TAIL(&ctl_softc->isc_queue, &ctsio->io_hdr, links);
 	ctl_wakeup_thread();
 }
@@ -12593,7 +12593,7 @@ ctl_process_done(union ctl_io *io, int h
 		 */
 		memcpy(&msg.scsi.lbalen,
 		       &io->io_hdr.ctl_private[CTL_PRIV_LBA_LEN].bytes,
-		       sizeof(msg.scsi.lbalen));;
+		       sizeof(msg.scsi.lbalen));
 
 		if (ctl_ha_msg_send(CTL_HA_CHAN_CTL, &msg,
 				sizeof(msg), 0) > CTL_HA_STATUS_SUCCESS) {

Modified: user/andre/tcp_workqueue/sys/cam/scsi/scsi_enc_ses.c
==============================================================================
--- user/andre/tcp_workqueue/sys/cam/scsi/scsi_enc_ses.c	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/cam/scsi/scsi_enc_ses.c	Mon Oct 22 14:23:59 2012	(r241890)
@@ -1323,7 +1323,7 @@ ses_process_config(enc_softc_t *enc, str
 	enc_cache = &enc->enc_daemon_cache;
 	ses_cache = enc_cache->private;
 	buf = *bufp;
-	err = -1;;
+	err = -1;
 
 	if (error != 0) {
 		err = error;

Modified: user/andre/tcp_workqueue/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
==============================================================================
--- user/andre/tcp_workqueue/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c	Mon Oct 22 14:23:59 2012	(r241890)
@@ -3792,8 +3792,16 @@ arc_lowmem(void *arg __unused, int howto
 	mutex_enter(&arc_reclaim_thr_lock);
 	needfree = 1;
 	cv_signal(&arc_reclaim_thr_cv);
-	while (needfree)
-		msleep(&needfree, &arc_reclaim_thr_lock, 0, "zfs:lowmem", 0);
+
+	/*
+	 * It is unsafe to block here in arbitrary threads, because we can come
+	 * here from ARC itself and may hold ARC locks and thus risk a deadlock
+	 * with ARC reclaim thread.
+	 */
+	if (curproc == pageproc) {
+		while (needfree)
+			msleep(&needfree, &arc_reclaim_thr_lock, 0, "zfs:lowmem", 0);
+	}
 	mutex_exit(&arc_reclaim_thr_lock);
 	mutex_exit(&arc_lowmem_lock);
 }

Modified: user/andre/tcp_workqueue/sys/conf/files
==============================================================================
--- user/andre/tcp_workqueue/sys/conf/files	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/conf/files	Mon Oct 22 14:23:59 2012	(r241890)
@@ -214,6 +214,7 @@ cddl/contrib/opensolaris/uts/common/fs/z
 cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c		optional zfs compile-with "${ZFS_C}"
 cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c			optional zfs compile-with "${ZFS_C}"
 cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c			optional zfs compile-with "${ZFS_C}"
+cddl/contrib/opensolaris/uts/common/fs/zfs/trim_map.c			optional zfs compile-with "${ZFS_C}"
 cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c			optional zfs compile-with "${ZFS_C}"
 cddl/contrib/opensolaris/uts/common/fs/zfs/uberblock.c			optional zfs compile-with "${ZFS_C}"
 cddl/contrib/opensolaris/uts/common/fs/zfs/unique.c			optional zfs compile-with "${ZFS_C}"

Modified: user/andre/tcp_workqueue/sys/conf/files.powerpc
==============================================================================
--- user/andre/tcp_workqueue/sys/conf/files.powerpc	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/conf/files.powerpc	Mon Oct 22 14:23:59 2012	(r241890)
@@ -232,7 +232,7 @@ powerpc/wii/platform_wii.c	optional	wii
 powerpc/wii/wii_bus.c		optional	wii
 powerpc/wii/wii_pic.c		optional	wii
 powerpc/wii/wii_fb.c		optional	wii
-powerpc/wii/wii_gpio.c		optional	wii
+powerpc/wii/wii_gpio.c		optional	wiigpio
 powerpc/wii/wii_ipc.c		optional	wii
 
 compat/freebsd32/freebsd32_ioctl.c	optional	compat_freebsd32

Modified: user/andre/tcp_workqueue/sys/dev/acpica/acpi_video.c
==============================================================================
--- user/andre/tcp_workqueue/sys/dev/acpica/acpi_video.c	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/dev/acpica/acpi_video.c	Mon Oct 22 14:23:59 2012	(r241890)
@@ -906,7 +906,8 @@ vid_enum_outputs_subr(ACPI_HANDLE handle
 
 	for (i = 0; i < argset->dod_pkg->Package.Count; i++) {
 		if (acpi_PkgInt32(argset->dod_pkg, i, &val) == 0 &&
-		    (val & DOD_DEVID_MASK_FULL) == adr) {
+		    (val & DOD_DEVID_MASK_FULL) ==
+		    (adr & DOD_DEVID_MASK_FULL)) {
 			argset->callback(handle, val, argset->context);
 			argset->count++;
 		}

Modified: user/andre/tcp_workqueue/sys/dev/ahci/ahciem.c
==============================================================================
--- user/andre/tcp_workqueue/sys/dev/ahci/ahciem.c	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/dev/ahci/ahciem.c	Mon Oct 22 14:23:59 2012	(r241890)
@@ -87,7 +87,7 @@ ahci_em_attach(device_t dev)
 	if (!(enc->r_memc = bus_alloc_resource_any(dev, SYS_RES_MEMORY,
 	    &rid, RF_ACTIVE)))
 		return (ENXIO);
-	enc->capsem = ATA_INL(enc->r_memc, 0);;
+	enc->capsem = ATA_INL(enc->r_memc, 0);
 	rid = 1;
 	if (!(enc->r_memt = bus_alloc_resource_any(dev, SYS_RES_MEMORY,
 	    &rid, RF_ACTIVE))) {

Modified: user/andre/tcp_workqueue/sys/dev/cxgb/cxgb_main.c
==============================================================================
--- user/andre/tcp_workqueue/sys/dev/cxgb/cxgb_main.c	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/dev/cxgb/cxgb_main.c	Mon Oct 22 14:23:59 2012	(r241890)
@@ -2984,7 +2984,7 @@ cxgb_extension_ioctl(struct cdev *dev, u
 		break;
 	}
 	case CHELSIO_SET_FILTER: {
-		struct ch_filter *f = (struct ch_filter *)data;;
+		struct ch_filter *f = (struct ch_filter *)data;
 		struct filter_info *p;
 		unsigned int nfilters = sc->params.mc5.nfilters;
 

Modified: user/andre/tcp_workqueue/sys/dev/cxgb/ulp/tom/cxgb_tom.h
==============================================================================
--- user/andre/tcp_workqueue/sys/dev/cxgb/ulp/tom/cxgb_tom.h	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/dev/cxgb/ulp/tom/cxgb_tom.h	Mon Oct 22 14:23:59 2012	(r241890)
@@ -142,7 +142,8 @@ void t3_process_tid_release_list(void *d
 static inline struct tom_data *
 t3_tomdata(struct toedev *tod)
 {
-	return (member2struct(tom_data, tod, tod));
+
+	return (__containerof(tod, struct tom_data, tod));
 }
 
 union listen_entry {

Modified: user/andre/tcp_workqueue/sys/dev/cxgbe/adapter.h
==============================================================================
--- user/andre/tcp_workqueue/sys/dev/cxgbe/adapter.h	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/dev/cxgbe/adapter.h	Mon Oct 22 14:23:59 2012	(r241890)
@@ -435,7 +435,7 @@ static inline struct sge_rxq *
 iq_to_rxq(struct sge_iq *iq)
 {
 
-	return (member2struct(sge_rxq, iq, iq));
+	return (__containerof(iq, struct sge_rxq, iq));
 }
 
 
@@ -450,7 +450,7 @@ static inline struct sge_ofld_rxq *
 iq_to_ofld_rxq(struct sge_iq *iq)
 {
 
-	return (member2struct(sge_ofld_rxq, iq, iq));
+	return (__containerof(iq, struct sge_ofld_rxq, iq));
 }
 #endif
 

Modified: user/andre/tcp_workqueue/sys/dev/cxgbe/t4_l2t.h
==============================================================================
--- user/andre/tcp_workqueue/sys/dev/cxgbe/t4_l2t.h	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/dev/cxgbe/t4_l2t.h	Mon Oct 22 14:23:59 2012	(r241890)
@@ -94,7 +94,7 @@ int do_l2t_write_rpl(struct sge_iq *, co
 static inline void
 t4_l2t_release(struct l2t_entry *e)
 {
-	struct l2t_data *d = member2struct(l2t_data, l2tab[e->idx], e);
+	struct l2t_data *d = __containerof(e, struct l2t_data, l2tab[e->idx]);
 
 	if (atomic_fetchadd_int(&e->refcnt, -1) == 1)
 		atomic_add_int(&d->nfree, 1);

Modified: user/andre/tcp_workqueue/sys/dev/cxgbe/t4_main.c
==============================================================================
--- user/andre/tcp_workqueue/sys/dev/cxgbe/t4_main.c	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/dev/cxgbe/t4_main.c	Mon Oct 22 14:23:59 2012	(r241890)
@@ -3057,8 +3057,8 @@ t4_register_an_handler(struct adapter *s
 static int
 fw_msg_not_handled(struct adapter *sc, const __be64 *rpl)
 {
-	__be64 *r = __DECONST(__be64 *, rpl);
-	struct cpl_fw6_msg *cpl = member2struct(cpl_fw6_msg, data, r);
+	const struct cpl_fw6_msg *cpl =
+	    __containerof(rpl, struct cpl_fw6_msg, data[0]);
 
 #ifdef INVARIANTS
 	panic("%s: fw_msg type %d", __func__, cpl->type);

Modified: user/andre/tcp_workqueue/sys/dev/cxgbe/tom/t4_tom.h
==============================================================================
--- user/andre/tcp_workqueue/sys/dev/cxgbe/tom/t4_tom.h	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/dev/cxgbe/tom/t4_tom.h	Mon Oct 22 14:23:59 2012	(r241890)
@@ -205,7 +205,7 @@ static inline struct tom_data *
 tod_td(struct toedev *tod)
 {
 
-	return (member2struct(tom_data, tod, tod));
+	return (__containerof(tod, struct tom_data, tod));
 }
 
 static inline struct adapter *

Modified: user/andre/tcp_workqueue/sys/dev/e1000/if_lem.c
==============================================================================
--- user/andre/tcp_workqueue/sys/dev/e1000/if_lem.c	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/dev/e1000/if_lem.c	Mon Oct 22 14:23:59 2012	(r241890)
@@ -3425,7 +3425,7 @@ lem_free_receive_structures(struct adapt
 static bool
 lem_rxeof(struct adapter *adapter, int count, int *done)
 {
-	struct ifnet	*ifp = adapter->ifp;;
+	struct ifnet	*ifp = adapter->ifp;
 	struct mbuf	*mp;
 	u8		status = 0, accept_frame = 0, eop = 0;
 	u16 		len, desc_len, prev_len_adj;

Modified: user/andre/tcp_workqueue/sys/dev/hpt27xx/os_bsd.c
==============================================================================
--- user/andre/tcp_workqueue/sys/dev/hpt27xx/os_bsd.c	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/dev/hpt27xx/os_bsd.c	Mon Oct 22 14:23:59 2012	(r241890)
@@ -133,7 +133,7 @@ HPT_U8 pcicfg_read_byte (HPT_U8 bus, HPT
 }
 HPT_U32 pcicfg_read_dword(HPT_U8 bus, HPT_U8 dev, HPT_U8 func, HPT_U8 reg)
 {
-	return (HPT_U32)pci_cfgregread(bus, dev, func, reg, 4);;
+	return (HPT_U32)pci_cfgregread(bus, dev, func, reg, 4);
 }
 void pcicfg_write_byte (HPT_U8 bus, HPT_U8 dev, HPT_U8 func, HPT_U8 reg, HPT_U8 v)
 {

Modified: user/andre/tcp_workqueue/sys/dev/hwpmc/hwpmc_core.c
==============================================================================
--- user/andre/tcp_workqueue/sys/dev/hwpmc/hwpmc_core.c	Mon Oct 22 14:18:22 2012	(r241889)
+++ user/andre/tcp_workqueue/sys/dev/hwpmc/hwpmc_core.c	Mon Oct 22 14:23:59 2012	(r241890)
@@ -559,7 +559,8 @@ struct iap_event_descr {
 #define	IAP_F_WM	(1 << 5)	/* CPU: Westmere */
 #define	IAP_F_SB	(1 << 6)	/* CPU: Sandy Bridge */
 #define	IAP_F_IB	(1 << 7)	/* CPU: Ivy Bridge */
-#define	IAP_F_FM	(1 << 8)	/* Fixed mask */
+#define	IAP_F_SBX	(1 << 8)	/* CPU: Sandy Bridge Xeon */
+#define	IAP_F_FM	(1 << 9)	/* Fixed mask */
 
 #define	IAP_F_ALLCPUSCORE2					\
     (IAP_F_CC | IAP_F_CC2 | IAP_F_CC2E | IAP_F_CA)
@@ -599,12 +600,15 @@ static struct iap_event_descr iap_events
     IAPDESCR(02H_81H, 0x02, 0x81, IAP_F_FM | IAP_F_CA),
 
     IAPDESCR(03H_00H, 0x03, 0x00, IAP_F_FM | IAP_F_CC),
-    IAPDESCR(03H_01H, 0x03, 0x01, IAP_F_FM | IAP_F_I7O | IAP_F_SB),
+    IAPDESCR(03H_01H, 0x03, 0x01, IAP_F_FM | IAP_F_I7O | IAP_F_SB |
+	IAP_F_SBX),
     IAPDESCR(03H_02H, 0x03, 0x02, IAP_F_FM | IAP_F_CA | IAP_F_CC2 | 
-	IAP_F_WM | IAP_F_SB | IAP_F_IB),
+	IAP_F_WM | IAP_F_SB | IAP_F_IB | IAP_F_SBX),
     IAPDESCR(03H_04H, 0x03, 0x04, IAP_F_FM | IAP_F_CA | IAP_F_CC2 | IAP_F_I7O),
-    IAPDESCR(03H_08H, 0x03, 0x08, IAP_F_FM | IAP_F_CA | IAP_F_CC2 | IAP_F_SB),
-    IAPDESCR(03H_10H, 0x03, 0x10, IAP_F_FM | IAP_F_CA | IAP_F_CC2 | IAP_F_SB),
+    IAPDESCR(03H_08H, 0x03, 0x08, IAP_F_FM | IAP_F_CA | IAP_F_CC2 | IAP_F_SB |
+	IAP_F_SBX),
+    IAPDESCR(03H_10H, 0x03, 0x10, IAP_F_FM | IAP_F_CA | IAP_F_CC2 | IAP_F_SB |
+	IAP_F_SBX),
     IAPDESCR(03H_20H, 0x03, 0x20, IAP_F_FM | IAP_F_CA | IAP_F_CC2),
 
     IAPDESCR(04H_00H, 0x04, 0x00, IAP_F_FM | IAP_F_CC),
@@ -614,8 +618,10 @@ static struct iap_event_descr iap_events
     IAPDESCR(04H_08H, 0x04, 0x08, IAP_F_FM | IAP_F_CA | IAP_F_CC2),
 
     IAPDESCR(05H_00H, 0x05, 0x00, IAP_F_FM | IAP_F_CC),
-    IAPDESCR(05H_01H, 0x05, 0x01, IAP_F_FM | IAP_F_I7O | IAP_F_SB | IAP_F_IB),
-    IAPDESCR(05H_02H, 0x05, 0x02, IAP_F_FM | IAP_F_I7O | IAP_F_WM | IAP_F_SB | IAP_F_IB),
+    IAPDESCR(05H_01H, 0x05, 0x01, IAP_F_FM | IAP_F_I7O | IAP_F_SB | IAP_F_IB |
+	IAP_F_SBX),
+    IAPDESCR(05H_02H, 0x05, 0x02, IAP_F_FM | IAP_F_I7O | IAP_F_WM | IAP_F_SB | IAP_F_IB |
+	IAP_F_SBX),
     IAPDESCR(05H_03H, 0x05, 0x03, IAP_F_FM | IAP_F_I7O),
 
     IAPDESCR(06H_00H, 0x06, 0x00, IAP_F_FM | IAP_F_CC | IAP_F_CC2 |
@@ -628,24 +634,26 @@ static struct iap_event_descr iap_events
 
     IAPDESCR(07H_00H, 0x07, 0x00, IAP_F_FM | IAP_F_CC | IAP_F_CC2),
     IAPDESCR(07H_01H, 0x07, 0x01, IAP_F_FM | IAP_F_ALLCPUSCORE2 | 
-	IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB),
+	IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB | IAP_F_SBX),
     IAPDESCR(07H_02H, 0x07, 0x02, IAP_F_FM | IAP_F_ALLCPUSCORE2),
     IAPDESCR(07H_03H, 0x07, 0x03, IAP_F_FM | IAP_F_ALLCPUSCORE2),
     IAPDESCR(07H_06H, 0x07, 0x06, IAP_F_FM | IAP_F_CA),
-    IAPDESCR(07H_08H, 0x07, 0x08, IAP_F_FM | IAP_F_CA | IAP_F_SB),
+    IAPDESCR(07H_08H, 0x07, 0x08, IAP_F_FM | IAP_F_CA | IAP_F_SB |
+	IAP_F_SBX),
 
     IAPDESCR(08H_01H, 0x08, 0x01, IAP_F_FM | IAP_F_CA | IAP_F_CC2 |
-	IAP_F_I7 | IAP_F_WM | IAP_F_SB),
+	IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_SBX),
     IAPDESCR(08H_02H, 0x08, 0x02, IAP_F_FM | IAP_F_CA | IAP_F_CC2 |
-	IAP_F_I7 | IAP_F_WM | IAP_F_SB),
+	IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_SBX),
     IAPDESCR(08H_04H, 0x08, 0x04, IAP_F_FM | IAP_F_CA | IAP_F_CC2 |
-	IAP_F_WM | IAP_F_SB),
+	IAP_F_WM | IAP_F_SB | IAP_F_SBX),
     IAPDESCR(08H_05H, 0x08, 0x05, IAP_F_FM | IAP_F_CA),
     IAPDESCR(08H_06H, 0x08, 0x06, IAP_F_FM | IAP_F_CA),
     IAPDESCR(08H_07H, 0x08, 0x07, IAP_F_FM | IAP_F_CA),
     IAPDESCR(08H_08H, 0x08, 0x08, IAP_F_FM | IAP_F_CA | IAP_F_CC2),
     IAPDESCR(08H_09H, 0x08, 0x09, IAP_F_FM | IAP_F_CA),
-    IAPDESCR(08H_10H, 0x08, 0x10, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB),
+    IAPDESCR(08H_10H, 0x08, 0x10, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB |
+	IAP_F_SBX),
     IAPDESCR(08H_20H, 0x08, 0x20, IAP_F_FM | IAP_F_I7 | IAP_F_WM),
     IAPDESCR(08H_40H, 0x08, 0x40, IAP_F_FM | IAP_F_I7O),
     IAPDESCR(08H_80H, 0x08, 0x80, IAP_F_FM | IAP_F_I7),
@@ -667,10 +675,11 @@ static struct iap_event_descr iap_events
     IAPDESCR(0CH_02H, 0x0C, 0x02, IAP_F_FM | IAP_F_CC2),
     IAPDESCR(0CH_03H, 0x0C, 0x03, IAP_F_FM | IAP_F_CA),
 
-    IAPDESCR(0DH_03H, 0x0D, 0x03, IAP_F_FM | IAP_F_SB),
-    IAPDESCR(0DH_40H, 0x0D, 0x40, IAP_F_FM | IAP_F_SB),
+    IAPDESCR(0DH_03H, 0x0D, 0x03, IAP_F_FM | IAP_F_SB | IAP_F_SBX),
+    IAPDESCR(0DH_40H, 0x0D, 0x40, IAP_F_FM | IAP_F_SB | IAP_F_SBX),
 
-    IAPDESCR(0EH_01H, 0x0E, 0x01, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB),
+    IAPDESCR(0EH_01H, 0x0E, 0x01, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB |
+	IAP_F_SBX),
     IAPDESCR(0EH_02H, 0x0E, 0x02, IAP_F_FM | IAP_F_I7 | IAP_F_WM),
     IAPDESCR(0EH_10H, 0x0E, 0x10, IAP_F_FM | IAP_F_IB),
     IAPDESCR(0EH_20H, 0x0E, 0x20, IAP_F_FM | IAP_F_IB),
@@ -685,19 +694,24 @@ static struct iap_event_descr iap_events
 
     IAPDESCR(10H_00H, 0x10, 0x00, IAP_F_FM | IAP_F_ALLCPUSCORE2),
     IAPDESCR(10H_01H, 0x10, 0x01, IAP_F_FM | IAP_F_CA | IAP_F_I7 | 
-	IAP_F_WM | IAP_F_SB),
+	IAP_F_WM | IAP_F_SB | IAP_F_SBX),
     IAPDESCR(10H_02H, 0x10, 0x02, IAP_F_FM | IAP_F_I7 | IAP_F_WM),
     IAPDESCR(10H_04H, 0x10, 0x04, IAP_F_FM | IAP_F_I7 | IAP_F_WM),
     IAPDESCR(10H_08H, 0x10, 0x08, IAP_F_FM | IAP_F_I7 | IAP_F_WM),
-    IAPDESCR(10H_10H, 0x10, 0x10, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB),
-    IAPDESCR(10H_20H, 0x10, 0x20, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB),
-    IAPDESCR(10H_40H, 0x10, 0x40, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB),
-    IAPDESCR(10H_80H, 0x10, 0x80, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB),
+    IAPDESCR(10H_10H, 0x10, 0x10, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB |
+	IAP_F_SBX),
+    IAPDESCR(10H_20H, 0x10, 0x20, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB |
+	IAP_F_SBX),
+    IAPDESCR(10H_40H, 0x10, 0x40, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB |
+	IAP_F_SBX),
+    IAPDESCR(10H_80H, 0x10, 0x80, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB |
+	IAP_F_SBX),
     IAPDESCR(10H_81H, 0x10, 0x81, IAP_F_FM | IAP_F_CA),
 
     IAPDESCR(11H_00H, 0x11, 0x00, IAP_F_FM | IAP_F_CC | IAP_F_CC2),
-    IAPDESCR(11H_01H, 0x11, 0x01, IAP_F_FM | IAP_F_CA | IAP_F_SB),
-    IAPDESCR(11H_02H, 0x11, 0x02, IAP_F_FM | IAP_F_SB),
+    IAPDESCR(11H_01H, 0x11, 0x01, IAP_F_FM | IAP_F_CA | IAP_F_SB |
+	IAP_F_SBX),
+    IAPDESCR(11H_02H, 0x11, 0x02, IAP_F_FM | IAP_F_SB | IAP_F_SBX),
     IAPDESCR(11H_81H, 0x11, 0x81, IAP_F_FM | IAP_F_CA),
 
     IAPDESCR(12H_00H, 0x12, 0x00, IAP_F_FM | IAP_F_ALLCPUSCORE2),
@@ -719,10 +733,11 @@ static struct iap_event_descr iap_events
 
     IAPDESCR(14H_00H, 0x14, 0x00, IAP_F_FM | IAP_F_CC | IAP_F_CC2),
     IAPDESCR(14H_01H, 0x14, 0x01, IAP_F_FM | IAP_F_CA | IAP_F_I7 | 
-	 IAP_F_WM | IAP_F_SB | IAP_F_IB),
+	 IAP_F_WM | IAP_F_SB | IAP_F_IB | IAP_F_SBX),
     IAPDESCR(14H_02H, 0x14, 0x02, IAP_F_FM | IAP_F_I7 | IAP_F_WM),
 
-    IAPDESCR(17H_01H, 0x17, 0x01, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB),
+    IAPDESCR(17H_01H, 0x17, 0x01, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB |
+	IAP_F_SBX),
 
     IAPDESCR(18H_00H, 0x18, 0x00, IAP_F_FM | IAP_F_CA | IAP_F_CC2),
     IAPDESCR(18H_01H, 0x18, 0x01, IAP_F_FM | IAP_F_I7 | IAP_F_WM),
@@ -744,18 +759,29 @@ static struct iap_event_descr iap_events
     IAPDESCR(23H, 0x23, IAP_M_CORE, IAP_F_ALLCPUSCORE2),
 
     IAPDESCR(24H, 0x24, IAP_M_CORE | IAP_M_PREFETCH, IAP_F_ALLCPUSCORE2),
-    IAPDESCR(24H_01H, 0x24, 0x01, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB),
+    IAPDESCR(24H_01H, 0x24, 0x01, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB |
+	IAP_F_SBX),
     IAPDESCR(24H_02H, 0x24, 0x02, IAP_F_FM | IAP_F_I7 | IAP_F_WM),
-    IAPDESCR(24H_03H, 0x24, 0x03, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB),
-    IAPDESCR(24H_04H, 0x24, 0x04, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB),
-    IAPDESCR(24H_08H, 0x24, 0x08, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB),
-    IAPDESCR(24H_0CH, 0x24, 0x0C, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB),
-    IAPDESCR(24H_10H, 0x24, 0x10, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB),
-    IAPDESCR(24H_20H, 0x24, 0x20, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB),
-    IAPDESCR(24H_30H, 0x24, 0x30, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB),
-    IAPDESCR(24H_40H, 0x24, 0x40, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB),
-    IAPDESCR(24H_80H, 0x24, 0x80, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB),
-    IAPDESCR(24H_C0H, 0x24, 0xC0, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB),
+    IAPDESCR(24H_03H, 0x24, 0x03, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB |
+	IAP_F_SBX),
+    IAPDESCR(24H_04H, 0x24, 0x04, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB |
+	IAP_F_SBX),
+    IAPDESCR(24H_08H, 0x24, 0x08, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB |
+	IAP_F_SBX),
+    IAPDESCR(24H_0CH, 0x24, 0x0C, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB |
+	IAP_F_SBX),
+    IAPDESCR(24H_10H, 0x24, 0x10, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB |
+	IAP_F_SBX),
+    IAPDESCR(24H_20H, 0x24, 0x20, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB |
+	IAP_F_SBX),
+    IAPDESCR(24H_30H, 0x24, 0x30, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB |
+	IAP_F_SBX),
+    IAPDESCR(24H_40H, 0x24, 0x40, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB |
+	IAP_F_SBX),
+    IAPDESCR(24H_80H, 0x24, 0x80, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB |
+	IAP_F_SBX),
+    IAPDESCR(24H_C0H, 0x24, 0xC0, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB |
+	IAP_F_SBX),
     IAPDESCR(24H_AAH, 0x24, 0xAA, IAP_F_FM | IAP_F_I7 | IAP_F_WM),
     IAPDESCR(24H_FFH, 0x24, 0xFF, IAP_F_FM | IAP_F_I7 | IAP_F_WM),
 
@@ -775,12 +801,16 @@ static struct iap_event_descr iap_events
     IAPDESCR(26H_FFH, 0x26, 0xFF, IAP_F_FM | IAP_F_I7 | IAP_F_WM),
 
     IAPDESCR(27H, 0x27, IAP_M_CORE | IAP_M_PREFETCH, IAP_F_ALLCPUSCORE2),
-    IAPDESCR(27H_01H, 0x27, 0x01, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB),
+    IAPDESCR(27H_01H, 0x27, 0x01, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB |
+	IAP_F_SBX),
     IAPDESCR(27H_02H, 0x27, 0x02, IAP_F_FM | IAP_F_I7 | IAP_F_WM),
-    IAPDESCR(27H_04H, 0x27, 0x04, IAP_F_FM | IAP_F_I7O | IAP_F_SB),
-    IAPDESCR(27H_08H, 0x27, 0x08, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB),
+    IAPDESCR(27H_04H, 0x27, 0x04, IAP_F_FM | IAP_F_I7O | IAP_F_SB |
+	IAP_F_SBX),
+    IAPDESCR(27H_08H, 0x27, 0x08, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB |
+	IAP_F_SBX),
     IAPDESCR(27H_0EH, 0x27, 0x0E, IAP_F_FM | IAP_F_I7 | IAP_F_WM),
-    IAPDESCR(27H_0FH, 0x27, 0x0F, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB),
+    IAPDESCR(27H_0FH, 0x27, 0x0F, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB |
+	IAP_F_SBX),
     IAPDESCR(27H_10H, 0x27, 0x10, IAP_F_FM | IAP_F_I7 | IAP_F_WM),
     IAPDESCR(27H_20H, 0x27, 0x20, IAP_F_FM | IAP_F_I7 | IAP_F_WM),
     IAPDESCR(27H_40H, 0x27, 0x40, IAP_F_FM | IAP_F_I7 | IAP_F_WM),
@@ -789,11 +819,13 @@ static struct iap_event_descr iap_events
     IAPDESCR(27H_F0H, 0x27, 0xF0, IAP_F_FM | IAP_F_I7 | IAP_F_WM),
 
     IAPDESCR(28H, 0x28, IAP_M_CORE | IAP_M_MESI, IAP_F_ALLCPUSCORE2),
-    IAPDESCR(28H_01H, 0x28, 0x01, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_IB),
-    IAPDESCR(28H_02H, 0x28, 0x02, IAP_F_FM | IAP_F_I7 | IAP_F_WM),
-    IAPDESCR(28H_04H, 0x28, 0x04, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB),
-    IAPDESCR(28H_08H, 0x28, 0x08, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB),
-    IAPDESCR(28H_0FH, 0x28, 0x0F, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_IB),
+    IAPDESCR(28H_01H, 0x28, 0x01, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_IB | IAP_F_SBX),
+    IAPDESCR(28H_02H, 0x28, 0x02, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SBX),
+    IAPDESCR(28H_04H, 0x28, 0x04, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB |
+	IAP_F_SBX),
+    IAPDESCR(28H_08H, 0x28, 0x08, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB |
+	IAP_F_SBX),
+    IAPDESCR(28H_0FH, 0x28, 0x0F, IAP_F_FM | IAP_F_I7 | IAP_F_WM | IAP_F_IB | IAP_F_SBX),
 
     IAPDESCR(29H, 0x29, IAP_M_CORE | IAP_M_MESI, IAP_F_CC),
     IAPDESCR(29H, 0x29, IAP_M_CORE | IAP_M_MESI | IAP_M_PREFETCH,
@@ -806,9 +838,9 @@ static struct iap_event_descr iap_events
     IAPDESCR(2EH_01H, 0x2E, 0x01, IAP_F_FM | IAP_F_WM),
     IAPDESCR(2EH_02H, 0x2E, 0x02, IAP_F_FM | IAP_F_WM),
     IAPDESCR(2EH_41H, 0x2E, 0x41, IAP_F_FM | IAP_F_ALLCPUSCORE2 | IAP_F_I7 |
-	IAP_F_SB | IAP_F_IB),
+	IAP_F_SB | IAP_F_IB | IAP_F_SBX),
     IAPDESCR(2EH_4FH, 0x2E, 0x4F, IAP_F_FM | IAP_F_ALLCPUSCORE2 | IAP_F_I7 |
-	IAP_F_SB | IAP_F_IB),
+	IAP_F_SB | IAP_F_IB | IAP_F_SBX),
 
     IAPDESCR(30H, 0x30, IAP_M_CORE | IAP_M_MESI | IAP_M_PREFETCH,
 	IAP_F_ALLCPUSCORE2),
@@ -821,9 +853,9 @@ static struct iap_event_descr iap_events
     IAPDESCR(3BH_C0H, 0x3B, 0xC0, IAP_F_FM | IAP_F_ALLCPUSCORE2),
 
     IAPDESCR(3CH_00H, 0x3C, 0x00, IAP_F_FM | IAP_F_ALLCPUSCORE2 |
-        IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB),
+        IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB | IAP_F_SBX),
     IAPDESCR(3CH_01H, 0x3C, 0x01, IAP_F_FM | IAP_F_ALLCPUSCORE2 |
-        IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB),
+        IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB | IAP_F_SBX),
     IAPDESCR(3CH_02H, 0x3C, 0x02, IAP_F_FM | IAP_F_ALLCPUSCORE2),
 
     IAPDESCR(3DH_01H, 0x3D, 0x01, IAP_F_FM | IAP_F_I7O),
@@ -864,17 +896,19 @@ static struct iap_event_descr iap_events
     IAPDESCR(47H_00H, 0x47, 0x00, IAP_F_FM | IAP_F_ALLCPUSCORE2),
 
     IAPDESCR(48H_00H, 0x48, 0x00, IAP_F_FM | IAP_F_ALLCPUSCORE2),
-    IAPDESCR(48H_01H, 0x48, 0x01, IAP_F_FM | IAP_F_SB | IAP_F_IB),
+    IAPDESCR(48H_01H, 0x48, 0x01, IAP_F_FM | IAP_F_SB | IAP_F_IB |
+	IAP_F_SBX),
     IAPDESCR(48H_02H, 0x48, 0x02, IAP_F_FM | IAP_F_I7O),
 
     IAPDESCR(49H_00H, 0x49, 0x00, IAP_F_FM | IAP_F_CC),
     IAPDESCR(49H_01H, 0x49, 0x01, IAP_F_FM | IAP_F_CA | IAP_F_CC2 |
-        IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB),
+        IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB | IAP_F_SBX),
     IAPDESCR(49H_02H, 0x49, 0x02, IAP_F_FM | IAP_F_CA | IAP_F_CC2 |
-        IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB),
-    IAPDESCR(49H_04H, 0x49, 0x04, IAP_F_FM | IAP_F_WM | IAP_F_SB | IAP_F_IB),
+        IAP_F_I7 | IAP_F_WM | IAP_F_SB | IAP_F_IB | IAP_F_SBX),
+    IAPDESCR(49H_04H, 0x49, 0x04, IAP_F_FM | IAP_F_WM | IAP_F_SB | IAP_F_IB |
+	IAP_F_SBX),
     IAPDESCR(49H_10H, 0x49, 0x10, IAP_F_FM | IAP_F_I7 | IAP_F_WM |
-        IAP_F_SB | IAP_F_IB),
+        IAP_F_SB | IAP_F_IB | IAP_F_SBX),
     IAPDESCR(49H_20H, 0x49, 0x20, IAP_F_FM | IAP_F_I7),
     IAPDESCR(49H_40H, 0x49, 0x40, IAP_F_FM | IAP_F_I7O),
     IAPDESCR(49H_80H, 0x49, 0x80, IAP_F_FM | IAP_F_WM | IAP_F_I7),
@@ -887,14 +921,15 @@ static struct iap_event_descr iap_events
 
     IAPDESCR(4CH_00H, 0x4C, 0x00, IAP_F_FM | IAP_F_CA | IAP_F_CC2),
     IAPDESCR(4CH_01H, 0x4C, 0x01, IAP_F_FM | IAP_F_I7 | IAP_F_WM |
-	IAP_F_SB | IAP_F_IB),
-    IAPDESCR(4CH_02H, 0x4C, 0x02, IAP_F_FM | IAP_F_SB | IAP_F_IB),
+	IAP_F_SB | IAP_F_IB | IAP_F_SBX),
+    IAPDESCR(4CH_02H, 0x4C, 0x02, IAP_F_FM | IAP_F_SB | IAP_F_IB |
+	IAP_F_SBX),
 
     IAPDESCR(4DH_01H, 0x4D, 0x01, IAP_F_FM | IAP_F_I7O),
 
     IAPDESCR(4EH_01H, 0x4E, 0x01, IAP_F_FM | IAP_F_I7 | IAP_F_WM),
     IAPDESCR(4EH_02H, 0x4E, 0x02, IAP_F_FM | IAP_F_I7 | IAP_F_WM |
-	IAP_F_SB),
+	IAP_F_SB | IAP_F_SBX),
     IAPDESCR(4EH_04H, 0x4E, 0x04, IAP_F_FM | IAP_F_I7 | IAP_F_WM),
     IAPDESCR(4EH_10H, 0x4E, 0x10, IAP_F_FM | IAP_F_CA | IAP_F_CC2),
 
@@ -905,13 +940,13 @@ static struct iap_event_descr iap_events
     IAPDESCR(4FH_10H, 0x4F, 0x10, IAP_F_FM | IAP_F_WM),
 
     IAPDESCR(51H_01H, 0x51, 0x01, IAP_F_FM | IAP_F_I7 | IAP_F_WM |
-	IAP_F_SB | IAP_F_IB),
+	IAP_F_SB | IAP_F_IB | IAP_F_SBX),
     IAPDESCR(51H_02H, 0x51, 0x02, IAP_F_FM | IAP_F_I7 | IAP_F_WM |
-	IAP_F_SB),
+	IAP_F_SB | IAP_F_SBX),
     IAPDESCR(51H_04H, 0x51, 0x04, IAP_F_FM | IAP_F_I7 | IAP_F_WM |
-	IAP_F_SB),
+	IAP_F_SB | IAP_F_SBX),
     IAPDESCR(51H_08H, 0x51, 0x08, IAP_F_FM | IAP_F_I7 | IAP_F_WM |
-	IAP_F_SB),
+	IAP_F_SB | IAP_F_SBX),
 
     IAPDESCR(52H_01H, 0x52, 0x01, IAP_F_FM | IAP_F_I7 | IAP_F_WM),
 
@@ -922,30 +957,33 @@ static struct iap_event_descr iap_events
     IAPDESCR(58H_04H, 0x58, 0x04, IAP_F_FM | IAP_F_IB),
     IAPDESCR(58H_08H, 0x58, 0x08, IAP_F_FM | IAP_F_IB),
 
-    IAPDESCR(59H_20H, 0x59, 0x20, IAP_F_FM | IAP_F_SB),
-    IAPDESCR(59H_40H, 0x59, 0x40, IAP_F_FM | IAP_F_SB),
-    IAPDESCR(59H_80H, 0x59, 0x80, IAP_F_FM | IAP_F_SB),
-
-    IAPDESCR(5BH_0CH, 0x5B, 0x0C, IAP_F_FM | IAP_F_SB),
-    IAPDESCR(5BH_0FH, 0x5B, 0x0F, IAP_F_FM | IAP_F_SB),
-    IAPDESCR(5BH_40H, 0x5B, 0x40, IAP_F_FM | IAP_F_SB),
-    IAPDESCR(5BH_4FH, 0x5B, 0x4F, IAP_F_FM | IAP_F_SB),
-
-    IAPDESCR(5CH_01H, 0x5C, 0x01, IAP_F_FM | IAP_F_SB | IAP_F_IB),
-    IAPDESCR(5CH_02H, 0x5C, 0x02, IAP_F_FM | IAP_F_SB | IAP_F_IB),
+    IAPDESCR(59H_20H, 0x59, 0x20, IAP_F_FM | IAP_F_SB | IAP_F_SBX),
+    IAPDESCR(59H_40H, 0x59, 0x40, IAP_F_FM | IAP_F_SB | IAP_F_SBX),
+    IAPDESCR(59H_80H, 0x59, 0x80, IAP_F_FM | IAP_F_SB | IAP_F_SBX),
+
+    IAPDESCR(5BH_0CH, 0x5B, 0x0C, IAP_F_FM | IAP_F_SB | IAP_F_SBX),
+    IAPDESCR(5BH_0FH, 0x5B, 0x0F, IAP_F_FM | IAP_F_SB | IAP_F_SBX),
+    IAPDESCR(5BH_40H, 0x5B, 0x40, IAP_F_FM | IAP_F_SB | IAP_F_SBX),
+    IAPDESCR(5BH_4FH, 0x5B, 0x4F, IAP_F_FM | IAP_F_SB | IAP_F_SBX),
+
+    IAPDESCR(5CH_01H, 0x5C, 0x01, IAP_F_FM | IAP_F_SB | IAP_F_IB |
+	IAP_F_SBX),
+    IAPDESCR(5CH_02H, 0x5C, 0x02, IAP_F_FM | IAP_F_SB | IAP_F_IB |
+	IAP_F_SBX),
     
-    IAPDESCR(5EH_01H, 0x5E, 0x01, IAP_F_FM | IAP_F_SB | IAP_F_IB),
+    IAPDESCR(5EH_01H, 0x5E, 0x01, IAP_F_FM | IAP_F_SB | IAP_F_IB |
+	IAP_F_SBX),
 
     IAPDESCR(5FH_01H, 0x5F, 0x01, IAP_F_FM | IAP_F_IB),
 
     IAPDESCR(60H, 0x60, IAP_M_AGENT | IAP_M_CORE, IAP_F_ALLCPUSCORE2),
     IAPDESCR(60H_01H, 0x60, 0x01, IAP_F_FM | IAP_F_WM | IAP_F_I7O |
-	IAP_F_SB | IAP_F_IB),
+	IAP_F_SB | IAP_F_IB | IAP_F_SBX),
     IAPDESCR(60H_02H, 0x60, 0x02, IAP_F_FM | IAP_F_WM | IAP_F_I7O | IAP_F_IB),
     IAPDESCR(60H_04H, 0x60, 0x04, IAP_F_FM | IAP_F_WM | IAP_F_I7O |
-	IAP_F_SB | IAP_F_IB),
+	IAP_F_SB | IAP_F_IB | IAP_F_SBX),
     IAPDESCR(60H_08H, 0x60, 0x08, IAP_F_FM | IAP_F_WM | IAP_F_I7O |
-	IAP_F_SB | IAP_F_IB),
+	IAP_F_SB | IAP_F_IB | IAP_F_SBX),
 
     IAPDESCR(61H, 0x61, IAP_M_AGENT, IAP_F_CA | IAP_F_CC2),
     IAPDESCR(61H_00H, 0x61, 0x00, IAP_F_FM | IAP_F_CC),
@@ -957,9 +995,9 @@ static struct iap_event_descr iap_events
 	IAP_F_CA | IAP_F_CC2),
     IAPDESCR(63H, 0x63, IAP_M_CORE, IAP_F_CC),
     IAPDESCR(63H_01H, 0x63, 0x01, IAP_F_FM | IAP_F_I7 | IAP_F_WM |
-	IAP_F_SB | IAP_F_IB),
+	IAP_F_SB | IAP_F_IB | IAP_F_SBX),
     IAPDESCR(63H_02H, 0x63, 0x02, IAP_F_FM | IAP_F_I7 | IAP_F_WM |
-	IAP_F_SB | IAP_F_IB),
+	IAP_F_SB | IAP_F_IB | IAP_F_SBX),
 
     IAPDESCR(64H, 0x64, IAP_M_CORE, IAP_F_CA | IAP_F_CC2),
     IAPDESCR(64H_40H, 0x64, 0x40, IAP_F_FM | IAP_F_CC),
@@ -1000,12 +1038,18 @@ static struct iap_event_descr iap_events
     IAPDESCR(78H, 0x78, IAP_M_CORE, IAP_F_CC),
     IAPDESCR(78H, 0x78, IAP_M_CORE | IAP_M_SNOOPTYPE, IAP_F_CA | IAP_F_CC2),
 
-    IAPDESCR(79H_02H, 0x79, 0x02, IAP_F_FM | IAP_F_SB | IAP_F_IB),
-    IAPDESCR(79H_04H, 0x79, 0x04, IAP_F_FM | IAP_F_SB | IAP_F_IB),
-    IAPDESCR(79H_08H, 0x79, 0x08, IAP_F_FM | IAP_F_SB | IAP_F_IB),
-    IAPDESCR(79H_10H, 0x79, 0x10, IAP_F_FM | IAP_F_SB | IAP_F_IB),
-    IAPDESCR(79H_20H, 0x79, 0x20, IAP_F_FM | IAP_F_SB | IAP_F_IB),
-    IAPDESCR(79H_30H, 0x79, 0x30, IAP_F_FM | IAP_F_SB | IAP_F_IB),
+    IAPDESCR(79H_02H, 0x79, 0x02, IAP_F_FM | IAP_F_SB | IAP_F_IB |

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-user mailing list