svn commit: r256444 - in projects/bmake: . gnu/usr.bin/cc/cc_tools lib/clang sys/arm/versatile sys/boot/i386/btx/btx sys/dev/ata sys/dev/bxe sys/dev/cxgb/ulp/iw_cxgb sys/dev/hyperv/stordisengage sy...

Simon J. Gerraty sjg at FreeBSD.org
Mon Oct 14 15:52:49 UTC 2013


Author: sjg
Date: Mon Oct 14 15:52:45 2013
New Revision: 256444
URL: http://svnweb.freebsd.org/changeset/base/256444

Log:
  Merge head at 256308

Modified:
  projects/bmake/Makefile.inc1
  projects/bmake/gnu/usr.bin/cc/cc_tools/freebsd-native.h
  projects/bmake/lib/clang/clang.build.mk
  projects/bmake/sys/arm/versatile/versatile_pci.c
  projects/bmake/sys/boot/i386/btx/btx/btx.S
  projects/bmake/sys/dev/ata/ata-all.c
  projects/bmake/sys/dev/ata/ata-card.c
  projects/bmake/sys/dev/bxe/bxe.c
  projects/bmake/sys/dev/bxe/bxe_stats.c
  projects/bmake/sys/dev/bxe/ecore_sp.h
  projects/bmake/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c
  projects/bmake/sys/dev/hyperv/stordisengage/hv_ata_pci_disengage.c
  projects/bmake/sys/dev/vmware/vmxnet3/if_vmx.c
  projects/bmake/sys/dev/vmware/vmxnet3/if_vmxvar.h
  projects/bmake/sys/net80211/ieee80211_freebsd.c
Directory Properties:
  projects/bmake/   (props changed)
  projects/bmake/gnu/usr.bin/cc/cc_tools/   (props changed)
  projects/bmake/sys/   (props changed)
  projects/bmake/sys/boot/   (props changed)
  projects/bmake/sys/dev/hyperv/   (props changed)

Modified: projects/bmake/Makefile.inc1
==============================================================================
--- projects/bmake/Makefile.inc1	Mon Oct 14 15:06:47 2013	(r256443)
+++ projects/bmake/Makefile.inc1	Mon Oct 14 15:52:45 2013	(r256444)
@@ -329,7 +329,7 @@ TARGET_ABI=	gnueabi
 .else
 TARGET_ABI=	unknown
 .endif
-TARGET_TRIPLE?=	${TARGET_ARCH:C/amd64/x86_64/}-${TARGET_ABI}-freebsd10.0
+TARGET_TRIPLE?=	${TARGET_ARCH:C/amd64/x86_64/}-${TARGET_ABI}-freebsd11.0
 XFLAGS+=	-target ${TARGET_TRIPLE}
 .endif
 .endif

Modified: projects/bmake/gnu/usr.bin/cc/cc_tools/freebsd-native.h
==============================================================================
--- projects/bmake/gnu/usr.bin/cc/cc_tools/freebsd-native.h	Mon Oct 14 15:06:47 2013	(r256443)
+++ projects/bmake/gnu/usr.bin/cc/cc_tools/freebsd-native.h	Mon Oct 14 15:52:45 2013	(r256444)
@@ -7,8 +7,8 @@
 #define FREEBSD_NATIVE 1
 
 /* Fake out gcc/config/freebsd<version>.h.  */
-#define	FBSD_MAJOR	10
-#define	FBSD_CC_VER	1000001		/* form like __FreeBSD_version */
+#define	FBSD_MAJOR	11
+#define	FBSD_CC_VER	1100001		/* form like __FreeBSD_version */
 
 #undef SYSTEM_INCLUDE_DIR		/* We don't need one for now. */
 #undef TOOL_INCLUDE_DIR			/* We don't need one for now. */

Modified: projects/bmake/lib/clang/clang.build.mk
==============================================================================
--- projects/bmake/lib/clang/clang.build.mk	Mon Oct 14 15:06:47 2013	(r256443)
+++ projects/bmake/lib/clang/clang.build.mk	Mon Oct 14 15:52:45 2013	(r256444)
@@ -27,8 +27,8 @@ TARGET_ABI=	gnueabi
 TARGET_ABI=	unknown
 .endif
 
-TARGET_TRIPLE?=	${TARGET_ARCH:C/amd64/x86_64/}-${TARGET_ABI}-freebsd10.0
-BUILD_TRIPLE?=	${BUILD_ARCH:C/amd64/x86_64/}-unknown-freebsd10.0
+TARGET_TRIPLE?=	${TARGET_ARCH:C/amd64/x86_64/}-${TARGET_ABI}-freebsd11.0
+BUILD_TRIPLE?=	${BUILD_ARCH:C/amd64/x86_64/}-unknown-freebsd11.0
 CFLAGS+=	-DLLVM_DEFAULT_TARGET_TRIPLE=\"${TARGET_TRIPLE}\" \
 		-DLLVM_HOST_TRIPLE=\"${BUILD_TRIPLE}\" \
 		-DDEFAULT_SYSROOT=\"${TOOLS_PREFIX}\"

Modified: projects/bmake/sys/arm/versatile/versatile_pci.c
==============================================================================
--- projects/bmake/sys/arm/versatile/versatile_pci.c	Mon Oct 14 15:06:47 2013	(r256443)
+++ projects/bmake/sys/arm/versatile/versatile_pci.c	Mon Oct 14 15:52:45 2013	(r256444)
@@ -360,6 +360,9 @@ versatile_pci_activate_resource(device_t
 		res = (BUS_ACTIVATE_RESOURCE(device_get_parent(bus),
 		    child, type, rid, r));
 		break;
+	default:
+		res = ENXIO;
+		break;
 	}
 
 	return (res);

Modified: projects/bmake/sys/boot/i386/btx/btx/btx.S
==============================================================================
--- projects/bmake/sys/boot/i386/btx/btx/btx.S	Mon Oct 14 15:06:47 2013	(r256443)
+++ projects/bmake/sys/boot/i386/btx/btx/btx.S	Mon Oct 14 15:52:45 2013	(r256444)
@@ -41,6 +41,8 @@
 		.set PSL_RESERVED_DEFAULT,0x00000002
 		.set PSL_T,0x00000100		# Trap flag
 		.set PSL_I,0x00000200		# Interrupt enable flag
+		.set PSL_D,0x00000400		# String instruction direction
+		.set PSL_NT,0x00004000		# Nested task flag
 		.set PSL_VM,0x00020000		# Virtual 8086 mode flag
 		.set PSL_AC,0x00040000		# Alignment check flag
 /*
@@ -611,8 +613,8 @@ rret_tramp:	movw $MEM_ESPR-0x08,%sp		# R
 		pushl %ds			#  regs
 		pushl %es
 		pushfl				# Save %eflags
-		cli				# Disable interrupts
-		std				# String ops dec
+		pushl $PSL_RESERVED_DEFAULT|PSL_D # Use clean %eflags with
+		popfl				#  string ops dec
 		xorw %ax,%ax			# Reset seg 
 		movw %ax,%ds			#  regs
 		movw %ax,%es			#  (%ss is already 0)
@@ -675,6 +677,7 @@ rret_tramp.1:	xorl %ecx,%ecx			# Zero
 		testl $V86F_FLAGS,%edx		# User wants flags?
 		jz rret_tramp.3			# No
 		movl MEM_ESPR-0x3c,%eax		# Read real mode flags
+		andl $~(PSL_T|PSL_NT),%eax	# Clear unsafe flags
 		movw %ax,-0x08(%esi)		# Update user flags (low 16)
 /*
  * Return to the user task

Modified: projects/bmake/sys/dev/ata/ata-all.c
==============================================================================
--- projects/bmake/sys/dev/ata/ata-all.c	Mon Oct 14 15:06:47 2013	(r256443)
+++ projects/bmake/sys/dev/ata/ata-all.c	Mon Oct 14 15:52:45 2013	(r256444)
@@ -92,7 +92,7 @@ FEATURE(ata_cam, "ATA devices are access
 int
 ata_probe(device_t dev)
 {
-    return 0;
+    return (BUS_PROBE_DEFAULT);
 }
 
 int

Modified: projects/bmake/sys/dev/ata/ata-card.c
==============================================================================
--- projects/bmake/sys/dev/ata/ata-card.c	Mon Oct 14 15:06:47 2013	(r256443)
+++ projects/bmake/sys/dev/ata/ata-card.c	Mon Oct 14 15:52:45 2013	(r256444)
@@ -140,7 +140,7 @@ ata_pccard_attach(device_t dev)
         ch-> flags |= ATA_NO_SLAVE;
     ata_generic_hw(dev);
     err = ata_probe(dev);
-    if (err)
+    if (err > 0)
 	return (err);
     return (ata_attach(dev));
 }

Modified: projects/bmake/sys/dev/bxe/bxe.c
==============================================================================
--- projects/bmake/sys/dev/bxe/bxe.c	Mon Oct 14 15:06:47 2013	(r256443)
+++ projects/bmake/sys/dev/bxe/bxe.c	Mon Oct 14 15:52:45 2013	(r256444)
@@ -34,7 +34,7 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
-#define BXE_DRIVER_VERSION "1.78.17"
+#define BXE_DRIVER_VERSION "1.78.18"
 
 #include "bxe.h"
 #include "ecore_sp.h"
@@ -936,8 +936,8 @@ bxe_dma_alloc(struct bxe_softc *sc,
     int rc;
 
     if (dma->size > 0) {
-        BLOGE(sc, "dma block '%s' already has size %lu\n", msg, 
-	  (unsigned long) dma->size);
+        BLOGE(sc, "dma block '%s' already has size %lu\n", msg,
+              (unsigned long)dma->size);
         return (1);
     }
 
@@ -14201,8 +14201,14 @@ bxe_media_detect(struct bxe_softc *sc)
     uint32_t phy_idx = bxe_get_cur_phy_idx(sc);
     switch (sc->link_params.phy[phy_idx].media_type) {
     case ELINK_ETH_PHY_SFPP_10G_FIBER:
-    case ELINK_ETH_PHY_SFP_1G_FIBER:
     case ELINK_ETH_PHY_XFP_FIBER:
+        BLOGI(sc, "Found 10Gb Fiber media.\n");
+        sc->media = IFM_10G_SR;
+        break;
+    case ELINK_ETH_PHY_SFP_1G_FIBER:
+        BLOGI(sc, "Found 1Gb Fiber media.\n");
+        sc->media = IFM_1000_SX;
+        break;
     case ELINK_ETH_PHY_KR:
     case ELINK_ETH_PHY_CX4:
         BLOGI(sc, "Found 10GBase-CX4 media.\n");
@@ -14213,8 +14219,14 @@ bxe_media_detect(struct bxe_softc *sc)
         sc->media = IFM_10G_TWINAX;
         break;
     case ELINK_ETH_PHY_BASE_T:
-        BLOGI(sc, "Found 10GBase-T media.\n");
-        sc->media = IFM_10G_T;
+        if (sc->link_params.speed_cap_mask[0] &
+            PORT_HW_CFG_SPEED_CAPABILITY_D0_10G) {
+            BLOGI(sc, "Found 10GBase-T media.\n");
+            sc->media = IFM_10G_T;
+        } else {
+            BLOGI(sc, "Found 1000Base-T media.\n");
+            sc->media = IFM_1000_T;
+        }
         break;
     case ELINK_ETH_PHY_NOT_PRESENT:
         BLOGI(sc, "Media not present.\n");

Modified: projects/bmake/sys/dev/bxe/bxe_stats.c
==============================================================================
--- projects/bmake/sys/dev/bxe/bxe_stats.c	Mon Oct 14 15:06:47 2013	(r256443)
+++ projects/bmake/sys/dev/bxe/bxe_stats.c	Mon Oct 14 15:52:45 2013	(r256444)
@@ -263,6 +263,17 @@ bxe_stats_pmf_update(struct bxe_softc *s
     int loader_idx = PMF_DMAE_C(sc);
     uint32_t *stats_comp = BXE_SP(sc, stats_comp);
 
+    if (sc->devinfo.bc_ver <= 0x06001400) {
+        /*
+         * Bootcode v6.0.21 fixed a GRC timeout that occurs when accessing
+         * BRB registers while the BRB block is in reset. The DMA transfer
+         * below triggers this issue resulting in the DMAE to stop
+         * functioning. Skip this initial stats transfer for old bootcode
+         * versions <= 6.0.20.
+         */
+        return;
+    }
+
     /* sanity */
     if (!sc->port.pmf || !sc->port.port_stx) {
         BLOGE(sc, "BUG!\n");

Modified: projects/bmake/sys/dev/bxe/ecore_sp.h
==============================================================================
--- projects/bmake/sys/dev/bxe/ecore_sp.h	Mon Oct 14 15:06:47 2013	(r256443)
+++ projects/bmake/sys/dev/bxe/ecore_sp.h	Mon Oct 14 15:52:45 2013	(r256444)
@@ -77,9 +77,14 @@ struct bxe_softc;
 typedef bus_addr_t ecore_dma_addr_t; /* expected to be 64 bit wide */
 typedef volatile int ecore_atomic_t;
 
-#if __FreeBSD_version < 1000002
-typedef int bool;
+#ifndef __bool_true_false_are_defined
+#ifndef __cplusplus
+#define bool _Bool
+#if __STDC_VERSION__ < 199901L && __GNUC__ < 3 && !defined(__INTEL_COMPILER)
+typedef _Bool bool;
 #endif
+#endif /* !__cplusplus */
+#endif /* !__bool_true_false_are_defined$ */
 
 #define ETH_ALEN ETHER_ADDR_LEN /* 6 */
 

Modified: projects/bmake/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c
==============================================================================
--- projects/bmake/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c	Mon Oct 14 15:06:47 2013	(r256443)
+++ projects/bmake/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c	Mon Oct 14 15:52:45 2013	(r256444)
@@ -298,3 +298,4 @@ DECLARE_MODULE(iw_cxgb, iwch_mod_data, S
 MODULE_DEPEND(t3_tom, cxgbc, 1, 1, 1);
 MODULE_DEPEND(iw_cxgb, toecore, 1, 1, 1);
 MODULE_DEPEND(iw_cxgb, t3_tom, 1, 1, 1);
+MODULE_DEPEND(iw_cxgb, ibcore, 1, 1, 1);

Modified: projects/bmake/sys/dev/hyperv/stordisengage/hv_ata_pci_disengage.c
==============================================================================
--- projects/bmake/sys/dev/hyperv/stordisengage/hv_ata_pci_disengage.c	Mon Oct 14 15:06:47 2013	(r256443)
+++ projects/bmake/sys/dev/hyperv/stordisengage/hv_ata_pci_disengage.c	Mon Oct 14 15:52:45 2013	(r256444)
@@ -92,6 +92,7 @@ static int hv_check_for_hyper_v(void);
 static int
 hv_ata_pci_probe(device_t dev)
 {
+	device_t parent = device_get_parent(dev);
 	int ata_disk_enable;
 
 	ata_disk_enable = 0;
@@ -102,23 +103,9 @@ hv_ata_pci_probe(device_t dev)
 	if (!hv_check_for_hyper_v())
 		return (ENXIO);
 
-	if (bootverbose)
-		device_printf(dev,
-		    "hv_ata_pci_probe dev_class/subslcass = %d, %d\n",
-			pci_get_class(dev), pci_get_subclass(dev));
-			
-	/* is this a storage class device ? */
-	if (pci_get_class(dev) != PCIC_STORAGE)
+	if (device_get_unit(parent) != 0 || device_get_ivars(dev) != 0)
 		return (ENXIO);
 
-	/* is this an IDE/ATA type device ? */
-	if (pci_get_subclass(dev) != PCIS_STORAGE_IDE)
-		return (ENXIO);
-
-	if(bootverbose)
-		device_printf(dev,
-		    "Hyper-V probe for disabling ATA-PCI, emulated driver\n");
-
 	/*
 	 * On Hyper-V the default is to use the enlightened driver for
 	 * IDE disks. However, if the user wishes to use the native
@@ -126,15 +113,14 @@ hv_ata_pci_probe(device_t dev)
 	 * hw_ata.disk_enable must be explicitly set to 1.
 	 */
 	if (getenv_int("hw.ata.disk_enable", &ata_disk_enable)) {
-		if(bootverbose)
+		if (bootverbose)
 			device_printf(dev,
 			    "hw.ata.disk_enable flag is disabling Hyper-V"
 			    " ATA driver support\n");
 			return (ENXIO);
 	}
 
-	if (bootverbose)
-		device_printf(dev, "Hyper-V ATA storage driver enabled.\n");
+	device_set_desc(dev, "Hyper-V ATA storage disengage driver");
 
 	return (BUS_PROBE_VENDOR);
 }
@@ -193,12 +179,12 @@ static device_method_t hv_ata_pci_method
 devclass_t hv_ata_pci_devclass;
 
 static driver_t hv_ata_pci_disengage_driver = {
-	"pciata-disable",
+	"ata",
 	hv_ata_pci_methods,
-	sizeof(struct ata_pci_controller),
+	0,
 };
 
-DRIVER_MODULE(atapci_dis, pci, hv_ata_pci_disengage_driver,
-		hv_ata_pci_devclass, NULL, NULL);
+DRIVER_MODULE(atapci_dis, atapci, hv_ata_pci_disengage_driver,
+    hv_ata_pci_devclass, NULL, NULL);
 MODULE_VERSION(atapci_dis, 1);
 MODULE_DEPEND(atapci_dis, ata, 1, 1, 1);

Modified: projects/bmake/sys/dev/vmware/vmxnet3/if_vmx.c
==============================================================================
--- projects/bmake/sys/dev/vmware/vmxnet3/if_vmx.c	Mon Oct 14 15:06:47 2013	(r256443)
+++ projects/bmake/sys/dev/vmware/vmxnet3/if_vmx.c	Mon Oct 14 15:52:45 2013	(r256444)
@@ -1317,7 +1317,7 @@ vmxnet3_init_shared_data(struct vmxnet3_
 
 	/* DriverInfo */
 	ds->version = VMXNET3_DRIVER_VERSION;
-	ds->guest = VMXNET3_GOS_FREEBSD | VMXNET3_GUEST_OS_VERSION |
+	ds->guest = VMXNET3_GOS_FREEBSD |
 #ifdef __LP64__
 	    VMXNET3_GOS_64BIT;
 #else

Modified: projects/bmake/sys/dev/vmware/vmxnet3/if_vmxvar.h
==============================================================================
--- projects/bmake/sys/dev/vmware/vmxnet3/if_vmxvar.h	Mon Oct 14 15:06:47 2013	(r256443)
+++ projects/bmake/sys/dev/vmware/vmxnet3/if_vmxvar.h	Mon Oct 14 15:52:45 2013	(r256444)
@@ -248,17 +248,6 @@ struct vmxnet3_softc {
 #define VMXNET3_DRIVER_VERSION 0x00010000
 
 /*
- * Convert the FreeBSD version in to something the hypervisor
- * understands. This is apparently what VMware's driver reports
- * so mimic it even though it probably is not required.
- */
-#define VMXNET3_GUEST_OS_VERSION \
-   (((__FreeBSD_version / 100000) << 14)	| \
-    (((__FreeBSD_version / 1000) % 100)	<< 6 )	| \
-    (((__FreeBSD_version / 100) % 10) << 30)	| \
-    ((__FreeBSD_version % 100) << 22))
-
-/*
  * Max descriptors per Tx packet. We must limit the size of the
  * any TSO packets based on the number of segments.
  */

Modified: projects/bmake/sys/net80211/ieee80211_freebsd.c
==============================================================================
--- projects/bmake/sys/net80211/ieee80211_freebsd.c	Mon Oct 14 15:06:47 2013	(r256443)
+++ projects/bmake/sys/net80211/ieee80211_freebsd.c	Mon Oct 14 15:52:45 2013	(r256444)
@@ -808,9 +808,9 @@ static eventhandler_tag wlan_ifllevent;
 static void
 bpf_track(void *arg, struct ifnet *ifp, int dlt, int attach)
 {
-	/* NB: identify vap's by if_start */
+	/* NB: identify vap's by if_init */
 	if (dlt == DLT_IEEE802_11_RADIO &&
-	    ifp->if_transmit == ieee80211_vap_transmit) {
+	    ifp->if_init == ieee80211_init) {
 		struct ieee80211vap *vap = ifp->if_softc;
 		/*
 		 * Track bpf radiotap listener state.  We mark the vap


More information about the svn-src-projects mailing list