mirror of
https://git.FreeBSD.org/src.git
synced 2024-11-26 07:55:01 +00:00
Merge head@256308
This commit is contained in:
commit
446fca52f0
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/projects/bmake/; revision=256444
@ -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
|
||||
|
@ -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. */
|
||||
|
@ -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}\"
|
||||
|
@ -360,6 +360,9 @@ versatile_pci_activate_resource(device_t bus, device_t child, int type, int rid,
|
||||
res = (BUS_ACTIVATE_RESOURCE(device_get_parent(bus),
|
||||
child, type, rid, r));
|
||||
break;
|
||||
default:
|
||||
res = ENXIO;
|
||||
break;
|
||||
}
|
||||
|
||||
return (res);
|
||||
|
@ -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 # Reset stack pointer
|
||||
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
|
||||
|
@ -92,7 +92,7 @@ FEATURE(ata_cam, "ATA devices are accessed through the cam(4) driver");
|
||||
int
|
||||
ata_probe(device_t dev)
|
||||
{
|
||||
return 0;
|
||||
return (BUS_PROBE_DEFAULT);
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -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));
|
||||
}
|
||||
|
@ -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");
|
||||
|
@ -263,6 +263,17 @@ bxe_stats_pmf_update(struct bxe_softc *sc)
|
||||
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");
|
||||
|
@ -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 */
|
||||
|
||||
|
@ -298,3 +298,4 @@ DECLARE_MODULE(iw_cxgb, iwch_mod_data, SI_SUB_EXEC, SI_ORDER_ANY);
|
||||
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);
|
||||
|
@ -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_methods[] = {
|
||||
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);
|
||||
|
@ -1317,7 +1317,7 @@ vmxnet3_init_shared_data(struct vmxnet3_softc *sc)
|
||||
|
||||
/* 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
|
||||
|
@ -247,17 +247,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.
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user