From owner-svn-src-stable-9@freebsd.org Mon Sep 5 17:56:54 2016 Return-Path: Delivered-To: svn-src-stable-9@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 71219B9683E; Mon, 5 Sep 2016 17:56:54 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2162476F; Mon, 5 Sep 2016 17:56:54 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u85HurQL003177; Mon, 5 Sep 2016 17:56:53 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u85HurTQ003175; Mon, 5 Sep 2016 17:56:53 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201609051756.u85HurTQ003175@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Mon, 5 Sep 2016 17:56:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r305429 - in stable/9/usr.sbin/cron: cron crontab X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-9@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 9-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Sep 2016 17:56:54 -0000 Author: emaste Date: Mon Sep 5 17:56:52 2016 New Revision: 305429 URL: https://svnweb.freebsd.org/changeset/base/305429 Log: MFC r305269: cron: use existing maximum username constant MAXLOGNAME Previously cron had its own maximum username length limit, which was smaller than the system's MAXLOGNAME. This could lead to crontab -u updating the wrong user's crontab (if the name was truncated, and matched another user). PR: 212305 Reported by: Andrii Kuzik Modified: stable/9/usr.sbin/cron/cron/cron.h stable/9/usr.sbin/cron/crontab/crontab.c Directory Properties: stable/9/usr.sbin/cron/ (props changed) stable/9/usr.sbin/cron/crontab/ (props changed) Modified: stable/9/usr.sbin/cron/cron/cron.h ============================================================================== --- stable/9/usr.sbin/cron/cron/cron.h Mon Sep 5 17:20:12 2016 (r305428) +++ stable/9/usr.sbin/cron/cron/cron.h Mon Sep 5 17:56:52 2016 (r305429) @@ -73,7 +73,6 @@ #define MAX_COMMAND 1000 /* max length of internally generated cmd */ #define MAX_ENVSTR 1000 /* max length of envvar=value\0 strings */ #define MAX_TEMPSTR 100 /* obvious */ -#define MAX_UNAME 20 /* max length of username, should be overkill */ #define ROOT_UID 0 /* don't change this, it really must be root */ #define ROOT_USER "root" /* ditto */ #define SYS_NAME "*system*" /* magic owner name for system crontab */ Modified: stable/9/usr.sbin/cron/crontab/crontab.c ============================================================================== --- stable/9/usr.sbin/cron/crontab/crontab.c Mon Sep 5 17:20:12 2016 (r305428) +++ stable/9/usr.sbin/cron/crontab/crontab.c Mon Sep 5 17:56:52 2016 (r305429) @@ -28,6 +28,7 @@ static const char rcsid[] = #define MAIN_PROGRAM +#include #include "cron.h" #include #include @@ -57,7 +58,7 @@ static char *Options[] = { "???", "list" static PID_T Pid; -static char User[MAX_UNAME], RealUser[MAX_UNAME]; +static char User[MAXLOGNAME], RealUser[MAXLOGNAME]; static char Filename[MAX_FNAME]; static FILE *NewCrontab; static int CheckErrorCount; From owner-svn-src-stable-9@freebsd.org Tue Sep 6 00:53:22 2016 Return-Path: Delivered-To: svn-src-stable-9@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0A3EAA9D77E; Tue, 6 Sep 2016 00:53:22 +0000 (UTC) (envelope-from ache@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CB70DAEC; Tue, 6 Sep 2016 00:53:21 +0000 (UTC) (envelope-from ache@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u860rKB1066663; Tue, 6 Sep 2016 00:53:20 GMT (envelope-from ache@FreeBSD.org) Received: (from ache@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u860rKGj066662; Tue, 6 Sep 2016 00:53:20 GMT (envelope-from ache@FreeBSD.org) Message-Id: <201609060053.u860rKGj066662@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ache set sender to ache@FreeBSD.org using -f From: "Andrey A. Chernov" Date: Tue, 6 Sep 2016 00:53:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r305450 - stable/9/contrib/one-true-awk X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-9@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 9-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Sep 2016 00:53:22 -0000 Author: ache Date: Tue Sep 6 00:53:20 2016 New Revision: 305450 URL: https://svnweb.freebsd.org/changeset/base/305450 Log: MFC r305365 The bug: $ echo x | awk '/[[:cntrl:]]/' x The NUL character in cntrl class truncates the pattern, and an empty pattern matches anything. The patch skips NUL as a quick fix. PR: 195792 Submitted by: kdrakehp@zoho.com Approved by: bwk@cs.princeton.edu (the author) Modified: stable/9/contrib/one-true-awk/b.c Directory Properties: stable/9/ (props changed) stable/9/contrib/ (props changed) stable/9/contrib/one-true-awk/ (props changed) Modified: stable/9/contrib/one-true-awk/b.c ============================================================================== --- stable/9/contrib/one-true-awk/b.c Tue Sep 6 00:51:25 2016 (r305449) +++ stable/9/contrib/one-true-awk/b.c Tue Sep 6 00:53:20 2016 (r305450) @@ -841,7 +841,7 @@ int relex(void) /* lexical analyzer for if (cc->cc_name != NULL && prestr[1 + cc->cc_namelen] == ':' && prestr[2 + cc->cc_namelen] == ']') { prestr += cc->cc_namelen + 3; - for (i = 0; i < NCHARS; i++) { + for (i = 1; i < NCHARS; i++) { if (!adjbuf((char **) &buf, &bufsz, bp-buf+1, 100, (char **) &bp, "relex2")) FATAL("out of space for reg expr %.10s...", lastre); if (cc->cc_func(i)) { From owner-svn-src-stable-9@freebsd.org Tue Sep 6 06:13:53 2016 Return-Path: Delivered-To: svn-src-stable-9@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2FE56BC6B36; Tue, 6 Sep 2016 06:13:53 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0287DF61; Tue, 6 Sep 2016 06:13:52 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u866DqrJ086715; Tue, 6 Sep 2016 06:13:52 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u866Dqu1086714; Tue, 6 Sep 2016 06:13:52 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201609060613.u866Dqu1086714@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Tue, 6 Sep 2016 06:13:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r305459 - stable/9/sys/boot/i386/libi386 X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-9@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 9-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Sep 2016 06:13:53 -0000 Author: avg Date: Tue Sep 6 06:13:52 2016 New Revision: 305459 URL: https://svnweb.freebsd.org/changeset/base/305459 Log: MFC r303738: report sector size and number of sectors in lsdev output for bios disks Modified: stable/9/sys/boot/i386/libi386/biosdisk.c Directory Properties: stable/9/sys/ (props changed) stable/9/sys/boot/ (props changed) Modified: stable/9/sys/boot/i386/libi386/biosdisk.c ============================================================================== --- stable/9/sys/boot/i386/libi386/biosdisk.c Tue Sep 6 06:13:47 2016 (r305458) +++ stable/9/sys/boot/i386/libi386/biosdisk.c Tue Sep 6 06:13:52 2016 (r305459) @@ -266,9 +266,11 @@ bd_print(int verbose) int i; for (i = 0; i < nbdinfo; i++) { - sprintf(line, " disk%d: BIOS drive %c:\n", i, + sprintf(line, " disk%d: BIOS drive %c (%ju X %u):\n", i, (bdinfo[i].bd_unit < 0x80) ? ('A' + bdinfo[i].bd_unit): - ('C' + bdinfo[i].bd_unit - 0x80)); + ('C' + bdinfo[i].bd_unit - 0x80), + (uintmax_t)bdinfo[i].bd_sectors, + bdinfo[i].bd_sectorsize); pager_output(line); dev.d_dev = &biosdisk; dev.d_unit = i; From owner-svn-src-stable-9@freebsd.org Tue Sep 6 06:26:25 2016 Return-Path: Delivered-To: svn-src-stable-9@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8873DB9623D; Tue, 6 Sep 2016 06:26:25 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4B7D11CB0; Tue, 6 Sep 2016 06:26:25 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u866QOSM090990; Tue, 6 Sep 2016 06:26:24 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u866QO4Z090989; Tue, 6 Sep 2016 06:26:24 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201609060626.u866QO4Z090989@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Tue, 6 Sep 2016 06:26:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r305464 - stable/9/sys/pci X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-9@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 9-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Sep 2016 06:26:25 -0000 Author: avg Date: Tue Sep 6 06:26:24 2016 New Revision: 305464 URL: https://svnweb.freebsd.org/changeset/base/305464 Log: MFC r304674: intpm: add support for SB800 Modified: stable/9/sys/pci/intpm.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/pci/intpm.c ============================================================================== --- stable/9/sys/pci/intpm.c Tue Sep 6 06:25:10 2016 (r305463) +++ stable/9/sys/pci/intpm.c Tue Sep 6 06:26:24 2016 (r305464) @@ -52,8 +52,10 @@ struct intsmb_softc { struct resource *irq_res; void *irq_hand; device_t smbus; + int io_rid; int isbusy; int cfg_irq9; + int sb8xx; int poll; struct mtx lock; }; @@ -102,10 +104,8 @@ intsmb_probe(device_t dev) device_set_desc(dev, "ATI IXP400 SMBus Controller"); break; case 0x43851002: - /* SB800 and newer can not be configured in a compatible way. */ - if (pci_get_revid(dev) >= 0x40) - return (ENXIO); - device_set_desc(dev, "AMD SB600/700/710/750 SMBus Controller"); + case 0x780b1022: /* AMD Hudson */ + device_set_desc(dev, "AMD SB600/7xx/8xx SMBus Controller"); /* XXX Maybe force polling right here? */ break; default: @@ -115,6 +115,87 @@ intsmb_probe(device_t dev) return (BUS_PROBE_DEFAULT); } +static uint8_t +sb8xx_pmio_read(struct resource *res, uint8_t reg) +{ + bus_write_1(res, 0, reg); /* Index */ + return (bus_read_1(res, 1)); /* Data */ +} + +static int +sb8xx_attach(device_t dev) +{ + static const int AMDSB_PMIO_INDEX = 0xcd6; + static const int AMDSB_PMIO_WIDTH = 2; + static const int AMDSB8_SMBUS_ADDR = 0x2c; + static const int AMDSB8_SMBUS_EN = 0x01; + static const int AMDSB8_SMBUS_ADDR_MASK = ~0x1fu; + static const int AMDSB_SMBIO_WIDTH = 0x14; + static const int AMDSB_SMBUS_CFG = 0x10; + static const int AMDSB_SMBUS_IRQ = 0x01; + static const int AMDSB_SMBUS_REV_MASK = ~0x0fu; + static const int AMDSB_SMBUS_REV_SHIFT = 4; + static const int AMDSB_IO_RID = 0; + + struct intsmb_softc *sc; + struct resource *res; + uint16_t addr; + uint8_t cfg; + int rid; + int rc; + + sc = device_get_softc(dev); + rid = AMDSB_IO_RID; + rc = bus_set_resource(dev, SYS_RES_IOPORT, rid, AMDSB_PMIO_INDEX, + AMDSB_PMIO_WIDTH); + if (rc != 0) { + device_printf(dev, "bus_set_resource for PM IO failed\n"); + return (ENXIO); + } + res = bus_alloc_resource_any(dev, SYS_RES_IOPORT, &rid, + RF_ACTIVE | RF_SHAREABLE); + if (res == NULL) { + device_printf(dev, "bus_alloc_resource for PM IO failed\n"); + return (ENXIO); + } + + addr = sb8xx_pmio_read(res, AMDSB8_SMBUS_ADDR + 1); + addr <<= 8; + addr |= sb8xx_pmio_read(res, AMDSB8_SMBUS_ADDR); + + bus_release_resource(dev, SYS_RES_IOPORT, rid, res); + bus_delete_resource(dev, SYS_RES_IOPORT, rid); + + if ((addr & AMDSB8_SMBUS_EN) == 0) { + device_printf(dev, "SB8xx SMBus not enabled\n"); + return (ENXIO); + } + + addr &= AMDSB8_SMBUS_ADDR_MASK; + sc->io_rid = AMDSB_IO_RID; + rc = bus_set_resource(dev, SYS_RES_IOPORT, sc->io_rid, addr, + AMDSB_SMBIO_WIDTH); + if (rc != 0) { + device_printf(dev, "bus_set_resource for SMBus IO failed\n"); + return (ENXIO); + } + if (res == NULL) { + device_printf(dev, "bus_alloc_resource for SMBus IO failed\n"); + return (ENXIO); + } + sc->io_res = bus_alloc_resource_any(dev, SYS_RES_IOPORT, &sc->io_rid, + RF_ACTIVE | RF_SHAREABLE); + cfg = bus_read_1(sc->io_res, AMDSB_SMBUS_CFG); + + sc->poll = 1; + device_printf(dev, "intr %s disabled ", + (cfg & AMDSB_SMBUS_IRQ) != 0 ? "IRQ" : "SMI"); + printf("revision %d\n", + (cfg & AMDSB_SMBUS_REV_MASK) >> AMDSB_SMBUS_REV_SHIFT); + + return (0); +} + static int intsmb_attach(device_t dev) { @@ -128,18 +209,31 @@ intsmb_attach(device_t dev) mtx_init(&sc->lock, device_get_nameunit(dev), "intsmb", MTX_DEF); sc->cfg_irq9 = 0; -#ifndef NO_CHANGE_PCICONF switch (pci_get_devid(dev)) { +#ifndef NO_CHANGE_PCICONF case 0x71138086: /* Intel 82371AB */ case 0x719b8086: /* Intel 82443MX */ /* Changing configuration is allowed. */ sc->cfg_irq9 = 1; break; - } #endif + case 0x43851002: + case 0x780b1022: + if (pci_get_revid(dev) >= 0x40) + sc->sb8xx = 1; + break; + } + + if (sc->sb8xx) { + error = sb8xx_attach(dev); + if (error != 0) + goto fail; + else + goto no_intr; + } - rid = PCI_BASE_ADDR_SMB; - sc->io_res = bus_alloc_resource_any(dev, SYS_RES_IOPORT, &rid, + sc->io_rid = PCI_BASE_ADDR_SMB; + sc->io_res = bus_alloc_resource_any(dev, SYS_RES_IOPORT, &sc->io_rid, RF_ACTIVE); if (sc->io_res == NULL) { device_printf(dev, "Could not allocate I/O space\n"); @@ -247,7 +341,7 @@ intsmb_detach(device_t dev) if (sc->irq_res) bus_release_resource(dev, SYS_RES_IRQ, 0, sc->irq_res); if (sc->io_res) - bus_release_resource(dev, SYS_RES_IOPORT, PCI_BASE_ADDR_SMB, + bus_release_resource(dev, SYS_RES_IOPORT, sc->io_rid, sc->io_res); mtx_destroy(&sc->lock); return (0); From owner-svn-src-stable-9@freebsd.org Tue Sep 6 08:14:57 2016 Return-Path: Delivered-To: svn-src-stable-9@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 980CDBC4E48; Tue, 6 Sep 2016 08:14:57 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 67E43E25; Tue, 6 Sep 2016 08:14:57 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u868Euoj032148; Tue, 6 Sep 2016 08:14:56 GMT (envelope-from avg@FreeBSD.org) Received: (from avg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u868EuZq032147; Tue, 6 Sep 2016 08:14:56 GMT (envelope-from avg@FreeBSD.org) Message-Id: <201609060814.u868EuZq032147@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: avg set sender to avg@FreeBSD.org using -f From: Andriy Gapon Date: Tue, 6 Sep 2016 08:14:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r305466 - stable/9/sys/boot/i386/libi386 X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-9@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 9-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Sep 2016 08:14:57 -0000 Author: avg Date: Tue Sep 6 08:14:56 2016 New Revision: 305466 URL: https://svnweb.freebsd.org/changeset/base/305466 Log: fix r305459: stdint.h has to be included for uintmax_t Apparently on other branches the type is visible via indirect inclusions. Modified: stable/9/sys/boot/i386/libi386/biosdisk.c Modified: stable/9/sys/boot/i386/libi386/biosdisk.c ============================================================================== --- stable/9/sys/boot/i386/libi386/biosdisk.c Tue Sep 6 06:40:59 2016 (r305465) +++ stable/9/sys/boot/i386/libi386/biosdisk.c Tue Sep 6 08:14:56 2016 (r305466) @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include From owner-svn-src-stable-9@freebsd.org Tue Sep 6 19:54:53 2016 Return-Path: Delivered-To: svn-src-stable-9@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 99D4ABC718E; Tue, 6 Sep 2016 19:54:53 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 58856FE9; Tue, 6 Sep 2016 19:54:53 +0000 (UTC) (envelope-from pfg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u86Jsq9h000121; Tue, 6 Sep 2016 19:54:52 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u86Jsq0E000119; Tue, 6 Sep 2016 19:54:52 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201609061954.u86Jsq0E000119@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Tue, 6 Sep 2016 19:54:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r305495 - stable/9/sys/fs/ext2fs X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-9@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 9-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Sep 2016 19:54:53 -0000 Author: pfg Date: Tue Sep 6 19:54:52 2016 New Revision: 305495 URL: https://svnweb.freebsd.org/changeset/base/305495 Log: MFC r303799, r303800: ext2fs: Add defines for some missing ext4 features and inode flags. These are currently unused in our implementation and some even appear to have not been implemented yet on linux but it is good to keep them for reference. Obtained from: NetBSD Modified: stable/9/sys/fs/ext2fs/ext2_dinode.h stable/9/sys/fs/ext2fs/ext2fs.h Directory Properties: stable/9/sys/ (props changed) stable/9/sys/fs/ (props changed) Modified: stable/9/sys/fs/ext2fs/ext2_dinode.h ============================================================================== --- stable/9/sys/fs/ext2fs/ext2_dinode.h Tue Sep 6 19:53:05 2016 (r305494) +++ stable/9/sys/fs/ext2fs/ext2_dinode.h Tue Sep 6 19:54:52 2016 (r305495) @@ -71,7 +71,10 @@ #define EXT4_TOPDIR 0x00020000 /* Top of directory hierarchies*/ #define EXT4_HUGE_FILE 0x00040000 /* Set to each huge file */ #define EXT4_EXTENTS 0x00080000 /* Inode uses extents */ +#define EXT4_EA_INODE 0x00200000 /* Inode used for large EA */ #define EXT4_EOFBLOCKS 0x00400000 /* Blocks allocated beyond EOF */ +#define EXT4_INLINE_DATA 0x10000000 /* Inode has inline data */ +#define EXT4_PROJINHERIT 0x20000000 /* Children inherit project ID */ /* * Definitions for nanosecond timestamps. Modified: stable/9/sys/fs/ext2fs/ext2fs.h ============================================================================== --- stable/9/sys/fs/ext2fs/ext2fs.h Tue Sep 6 19:53:05 2016 (r305494) +++ stable/9/sys/fs/ext2fs/ext2fs.h Tue Sep 6 19:54:52 2016 (r305495) @@ -205,6 +205,7 @@ struct csum { #define EXT2F_COMPAT_HASJOURNAL 0x0004 #define EXT2F_COMPAT_RESIZE 0x0010 #define EXT2F_COMPAT_DIRHASHINDEX 0x0020 +#define EXT2F_COMPAT_SPARSESUPER2 0x0200 #define EXT2F_ROCOMPAT_SPARSESUPER 0x0001 #define EXT2F_ROCOMPAT_LARGEFILE 0x0002 @@ -213,6 +214,11 @@ struct csum { #define EXT2F_ROCOMPAT_GDT_CSUM 0x0010 #define EXT2F_ROCOMPAT_DIR_NLINK 0x0020 #define EXT2F_ROCOMPAT_EXTRA_ISIZE 0x0040 +#define EXT2F_ROCOMPAT_QUOTA 0x0100 +#define EXT2F_ROCOMPAT_BIGALLOC 0x0200 +#define EXT2F_ROCOMPAT_METADATA_CKSUM 0x0400 +#define EXT2F_ROCOMPAT_READONLY 0x1000 +#define EXT2F_ROCOMPAT_PROJECT 0x2000 #define EXT2F_INCOMPAT_COMP 0x0001 #define EXT2F_INCOMPAT_FTYPE 0x0002 @@ -222,6 +228,12 @@ struct csum { #define EXT2F_INCOMPAT_64BIT 0x0080 #define EXT2F_INCOMPAT_MMP 0x0100 #define EXT2F_INCOMPAT_FLEX_BG 0x0200 +#define EXT2F_INCOMPAT_EA_INODE 0x0400 +#define EXT2F_INCOMPAT_DIRDATA 0x1000 +#define EXT2F_INCOMPAT_CSUM_SEED 0x2000 +#define EXT2F_INCOMPAT_LARGEDIR 0x4000 +#define EXT2F_INCOMPAT_INLINE_DATA 0x8000 +#define EXT2F_INCOMPAT_ENCRYPT 0x10000 /* * Features supported in this implementation From owner-svn-src-stable-9@freebsd.org Tue Sep 6 20:53:26 2016 Return-Path: Delivered-To: svn-src-stable-9@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2D9E7BCCAD6; Tue, 6 Sep 2016 20:53:26 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 988B2F92; Tue, 6 Sep 2016 20:53:25 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u86KrO1W022975; Tue, 6 Sep 2016 20:53:24 GMT (envelope-from davidcs@FreeBSD.org) Received: (from davidcs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u86KrOJB022971; Tue, 6 Sep 2016 20:53:24 GMT (envelope-from davidcs@FreeBSD.org) Message-Id: <201609062053.u86KrOJB022971@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: davidcs set sender to davidcs@FreeBSD.org using -f From: David C Somayajulu Date: Tue, 6 Sep 2016 20:53:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r305499 - in stable/9/sys: dev/qlxgbe modules/qlxgbe X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-9@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 9-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Sep 2016 20:53:26 -0000 Author: davidcs Date: Tue Sep 6 20:53:23 2016 New Revision: 305499 URL: https://svnweb.freebsd.org/changeset/base/305499 Log: MFC r394247 Upgrade fw, bootloader and minidump template to version 5.4.58 Add minidump retrieval code MFC r394248 Add ql_minidump.h Added CFLAGS +=-fms-extensions in qlxgbe/Makefile Added: stable/9/sys/dev/qlxgbe/ql_minidump.h - copied unchanged from r304248, head/sys/dev/qlxgbe/ql_minidump.h Modified: stable/9/sys/dev/qlxgbe/ql_boot.c stable/9/sys/dev/qlxgbe/ql_def.h stable/9/sys/dev/qlxgbe/ql_fw.c stable/9/sys/dev/qlxgbe/ql_glbl.h stable/9/sys/dev/qlxgbe/ql_hw.c stable/9/sys/dev/qlxgbe/ql_hw.h stable/9/sys/dev/qlxgbe/ql_ioctl.c stable/9/sys/dev/qlxgbe/ql_ioctl.h stable/9/sys/dev/qlxgbe/ql_isr.c stable/9/sys/dev/qlxgbe/ql_minidump.c stable/9/sys/dev/qlxgbe/ql_os.c stable/9/sys/dev/qlxgbe/ql_reset.c stable/9/sys/dev/qlxgbe/ql_ver.h stable/9/sys/modules/qlxgbe/Makefile Directory Properties: stable/9/ (props changed) stable/9/sys/ (props changed) Modified: stable/9/sys/dev/qlxgbe/ql_boot.c ============================================================================== --- stable/9/sys/dev/qlxgbe/ql_boot.c Tue Sep 6 20:43:26 2016 (r305498) +++ stable/9/sys/dev/qlxgbe/ql_boot.c Tue Sep 6 20:53:23 2016 (r305499) @@ -34,14 +34,14 @@ __FBSDID("$FreeBSD$"); #include "ql_os.h" unsigned int ql83xx_bootloader_version_major = 5; -unsigned int ql83xx_bootloader_version_minor = 2; -unsigned int ql83xx_bootloader_version_sub = 7; +unsigned int ql83xx_bootloader_version_minor = 4; +unsigned int ql83xx_bootloader_version_sub = 58; unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, - 0x04, 0x00, 0x80, 0x82, 0x05, 0x1f, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x00, 0xc0, 0x81, 0x05, 0x1f, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x1e, 0x02, 0x21, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x02, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x70, @@ -1384,7 +1384,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x81, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x14, 0xe0, 0x11, 0x20, 0xa2, 0x02, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbb, 0x11, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x40, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x5f, 0x21, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, + 0x00, 0x00, 0x00, 0x00, 0x5c, 0x21, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x02, 0x00, 0x80, 0x40, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x09, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0b, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, @@ -1421,14 +1421,14 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x00, 0xa0, 0x02, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0xce, 0x11, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x70, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x1f, 0x02, 0x16, 0x04, 0x00, 0x00, 0x00, 0x60, - 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x21, 0x7c, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x21, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x5f, 0x21, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x49, 0x07, + 0x5c, 0x21, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x49, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x20, 0x50, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa2, 0x07, 0x00, 0x00, 0x26, 0x00, 0xe0, 0x04, 0x00, 0xa0, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x80, 0x01, 0xa0, 0x20, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x5f, 0x21, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, + 0x00, 0x00, 0x00, 0x00, 0x5c, 0x21, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x40, 0x00, 0x00, 0x0c, 0x1c, 0x00, 0x00, 0x00, 0x40, 0x30, 0x00, 0x00, 0x02, 0x00, 0xa0, 0x00, 0x00, 0x5e, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xfe, 0x1f, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, @@ -1535,7 +1535,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x20, 0x50, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x52, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xb8, 0x14, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x80, 0x00, + 0xb5, 0x14, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0xa0, 0x01, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -1589,7 +1589,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x05, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, - 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb8, 0x14, 0x7c, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb5, 0x14, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x40, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0xa0, 0x01, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, @@ -1624,7 +1624,7 @@ unsigned char ql83xx_bootloader[] = { 0x04, 0x00, 0x00, 0x00, 0x0e, 0x04, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x00, 0x00, 0x02, 0x00, 0xa0, 0x02, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x05, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x70, 0x08, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x38, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, + 0x00, 0x00, 0x00, 0x00, 0x35, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x4c, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x08, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x8d, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x03, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x4c, 0x01, @@ -1739,13 +1739,13 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x05, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x04, 0x00, 0x00, 0x40, 0x14, 0x00, 0x00, 0x00, 0xa8, 0x22, 0x00, 0x40, 0x02, 0x00, 0xa0, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0a, 0x17, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x04, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0a, 0x17, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, + 0x07, 0x17, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x04, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0x17, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x02, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x0d, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x70, 0x08, 0x00, 0x00, 0x00, 0x04, 0x07, 0x00, 0x00, 0x00, 0x20, 0x30, 0x00, 0x00, 0x02, 0x00, 0xa0, 0x00, 0x08, 0x00, 0x00, 0x40, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, - 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x17, 0x7c, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x17, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x20, 0x50, 0x04, 0x00, 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0xe0, 0x33, 0x00, 0x00, 0x02, 0x00, 0xa0, @@ -1803,8 +1803,8 @@ unsigned char ql83xx_bootloader[] = { 0x0e, 0x1e, 0x00, 0x00, 0x00, 0x80, 0x31, 0x00, 0x00, 0x02, 0x00, 0xa0, 0x00, 0x10, 0x00, 0x80, 0x40, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, - 0xb8, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x20, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x80, 0x38, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, + 0xb5, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x35, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0xf8, 0x0e, 0x00, 0xe0, 0x01, 0xa0, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x06, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x01, 0x00, @@ -1827,8 +1827,8 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x05, 0x00, 0x00, 0x20, 0x50, 0x04, 0x01, 0x8d, 0x02, 0x32, 0x04, 0x1b, 0x08, 0x00, 0x00, 0xe8, 0x01, 0x00, 0x80, 0x01, 0xa0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x5f, 0x19, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x04, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x5f, 0x19, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, + 0x5c, 0x19, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x04, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x5c, 0x19, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x02, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x0d, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x70, 0x08, 0x00, 0x85, 0x01, 0x40, 0x06, 0x00, 0x00, 0x00, 0x78, 0x38, 0x04, 0x00, 0x82, 0x01, 0xa0, 0x00, 0x00, 0x84, 0x02, @@ -1988,7 +1988,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x29, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xa5, 0x03, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x20, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xc3, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, + 0x00, 0x00, 0x00, 0x00, 0xc0, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x02, 0x00, 0x00, 0x00, 0x06, 0x03, 0x00, 0x00, 0x00, 0x18, 0x30, 0x00, 0x00, 0x02, 0x00, 0xa0, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x80, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, @@ -2104,7 +2104,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x20, 0x50, 0x00, 0x40, 0x00, 0x80, 0x40, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x80, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xd2, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, + 0x00, 0x00, 0x00, 0x00, 0xcf, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x09, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0xc1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x03, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x00, 0x00, @@ -2119,7 +2119,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, - 0xd3, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x8c, 0x03, + 0xd0, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x8c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x09, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x03, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -2135,7 +2135,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x4d, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x0a, 0x00, 0x80, 0x01, 0xa0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, - 0xd5, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0xc1, 0x01, + 0xd2, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0xc1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x03, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb2, 0x05, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x08, 0x05, 0x00, 0x40, 0x16, 0x00, 0x00, @@ -2196,7 +2196,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0xc1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x02, 0x00, 0xe0, 0x01, 0xa0, 0x00, 0x10, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x80, 0xd3, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, + 0x00, 0x00, 0x00, 0x80, 0xd0, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x8c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x09, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x03, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x00, 0x00, @@ -2209,7 +2209,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd7, 0x15, 0x7c, 0x00, + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd4, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x4c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x09, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x41, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x03, 0x00, 0x80, 0x01, 0xa0, @@ -2903,7 +2903,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xd9, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0xc1, 0x02, + 0xd6, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0xc1, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x03, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb2, 0x05, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x08, 0x05, 0x00, 0x40, 0x16, 0x00, 0x00, @@ -3097,7 +3097,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x08, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x78, 0x00, 0x00, 0xe0, 0x01, 0xa0, - 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xda, 0x15, 0x7c, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xd7, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x41, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x03, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd8, 0x78, 0x00, 0x00, 0xe0, 0x01, 0xa0, @@ -3147,7 +3147,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xdc, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x8c, 0x03, + 0xd9, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x8c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x09, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x03, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -3264,7 +3264,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x2d, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x40, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xde, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, + 0x00, 0x00, 0x00, 0x00, 0xdb, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x81, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x03, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb2, 0x05, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x08, 0x09, 0x00, @@ -3313,7 +3313,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x80, 0x01, 0xa0, 0x00, 0x0a, 0x0c, 0x03, 0x08, 0x92, 0x20, 0x0b, 0x00, 0x08, 0xf8, 0x08, 0x00, 0x82, 0x01, 0xa0, 0x80, 0x00, 0xcc, 0x02, 0x06, 0x0f, 0x00, 0x00, 0x00, 0x08, 0xf8, 0x09, 0x00, 0x82, 0x01, 0xa0, - 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x15, 0x7c, 0x00, + 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xbd, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x02, 0x00, 0x8c, 0x00, 0x42, 0x03, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x0a, 0xe0, 0x82, 0x01, 0xa0, 0x0a, 0x94, 0xa0, 0x01, 0xa0, 0x7b, 0x10, 0x80, 0x01, 0x13, 0xe8, 0x00, 0xb0, 0x02, 0x40, 0x81, @@ -3329,7 +3329,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x02, 0x00, 0xa0, 0x00, 0x00, 0x7a, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x20, 0x50, 0x00, 0x01, 0x00, 0xc0, 0x41, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x15, 0x7c, 0x00, + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xbd, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x40, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x08, 0x30, 0x00, 0x00, 0x02, 0x00, 0xa0, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x01, 0x00, 0xc0, 0x01, 0x00, 0xa0, @@ -3361,18 +3361,18 @@ unsigned char ql83xx_bootloader[] = { 0xe0, 0x04, 0x00, 0xa0, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, - 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0x15, 0x7c, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xdd, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x41, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x03, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb2, 0x05, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x08, 0x09, 0x00, 0x40, 0x16, 0x00, 0x00, 0x00, 0xd8, 0x78, 0x00, 0x00, 0xe2, 0x01, 0xa0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, - 0xe2, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x01, 0x01, + 0xdf, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x03, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9b, 0x0a, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd8, 0x78, 0x00, 0x00, 0xe0, 0x01, 0xa0, 0x80, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x80, 0xe2, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, + 0x00, 0x00, 0x00, 0x80, 0xdf, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x4c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x09, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0xc1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x03, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x00, 0x00, @@ -3683,7 +3683,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, - 0xe4, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x0c, 0x03, + 0xe1, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x09, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0xc1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x03, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -3707,7 +3707,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, - 0xe6, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x81, 0x01, + 0xe3, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x81, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x03, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb2, 0x05, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x08, 0x09, 0x00, 0x40, 0x16, 0x00, 0x00, @@ -3888,7 +3888,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x20, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xe8, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, + 0x00, 0x00, 0x00, 0x00, 0xe5, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x4c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x09, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x41, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x03, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x00, 0x00, @@ -4067,7 +4067,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0xcd, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x0a, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xea, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x8c, 0x03, + 0xe7, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x8c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x09, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x41, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x03, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -4143,7 +4143,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, - 0xeb, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0xc1, 0x00, + 0xe8, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x03, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb2, 0x05, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x08, 0x09, 0x00, 0x40, 0x16, 0x00, 0x00, @@ -4373,7 +4373,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, - 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xed, 0x15, 0x7c, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xea, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x8c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x09, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x03, 0x00, 0x80, 0x01, 0xa0, @@ -4448,7 +4448,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x02, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xef, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, + 0x00, 0x00, 0x00, 0x00, 0xec, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x03, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb2, 0x05, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x08, 0x05, 0x00, @@ -5093,17 +5093,17 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0xcd, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x08, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x0b, 0x20, 0x80, 0x01, 0xa0, - 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xd0, 0x15, 0x7c, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xcd, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, - 0xd4, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x20, 0x00, 0x0d, 0x01, + 0xd1, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x20, 0x00, 0x0d, 0x01, 0x40, 0x0a, 0x00, 0x00, 0x00, 0x08, 0xf8, 0x08, 0x00, 0x82, 0x01, 0xa0, 0x00, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x8d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x08, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfb, 0x0b, 0x00, 0x80, 0x01, 0xa0, - 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf9, 0x15, 0x7c, 0x00, + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xfd, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x80, 0x08, + 0xfa, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x80, 0x08, 0x20, 0x0f, 0x07, 0x04, 0x00, 0x00, 0x00, 0x02, 0x88, 0xc3, 0x01, 0x81, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0xcc, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -5773,7 +5773,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, - 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x16, 0x7c, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x03, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x70, @@ -5800,7 +5800,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x5a, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0e, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x02, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x80, 0x02, 0x16, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, + 0x00, 0x00, 0x00, 0x80, 0xff, 0x15, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x03, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x01, 0x00, @@ -5840,7 +5840,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x38, 0x00, 0x00, 0xe0, 0x01, 0xa0, 0x00, 0x02, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x80, 0x04, 0x16, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, + 0x00, 0x00, 0x00, 0x80, 0x01, 0x16, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x45, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x03, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0x10, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x01, 0x00, @@ -7047,7 +7047,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x20, 0x50, 0x80, 0x00, 0xcd, 0x41, 0x40, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x68, 0x01, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x07, 0x16, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x04, 0x00, 0x00, + 0x04, 0x16, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x85, 0x0a, 0x00, 0x00, 0x34, 0x00, 0x20, 0x04, 0x00, 0xa0, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x80, 0x01, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x60, 0x08, 0x00, 0x04, @@ -7103,11 +7103,7 @@ unsigned char ql83xx_bootloader[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x01, 0x00, 0x80, 0x01, 0xa0, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x80, 0x00, 0x00, 0x0e, 0x1e, 0x00, 0x00, - 0x00, 0x00, 0x31, 0x00, 0x00, 0x02, 0x00, 0xa0, 0x00, 0x80, 0x00, 0x00, - 0x2e, 0x1e, 0x00, 0x00, 0x00, 0x80, 0x30, 0x00, 0x00, 0x02, 0x00, 0xa0, - 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x70, 0x00, 0x80, 0x00, 0x00, 0x0e, 0x1e, 0x00, 0x00, - 0x00, 0x80, 0x30, 0x00, 0x00, 0x02, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x31, 0x00, 0x00, 0x02, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x30, 0x07, 0x77, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x61, 0x0e, 0xee, 0x00, 0x00, 0x00, 0x00, @@ -10957,8 +10953,12 @@ unsigned char ql83xx_bootloader[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x02, 0x00, 0x40, 0x40, 0x05, 0x02, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x02, 0x00, 0x40, 0x40, 0x05, 0x04, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xc7, 0xf8, 0x13, 0xc6 + 0x00, 0x00, 0x00, 0x00, 0x93, 0x37, 0x14, 0x77 }; unsigned int ql83xx_bootloader_len = 131072; Modified: stable/9/sys/dev/qlxgbe/ql_def.h ============================================================================== --- stable/9/sys/dev/qlxgbe/ql_def.h Tue Sep 6 20:43:26 2016 (r305498) +++ stable/9/sys/dev/qlxgbe/ql_def.h Tue Sep 6 20:53:23 2016 (r305499) @@ -119,11 +119,11 @@ typedef struct _qla_tx_ring { struct qla_host { volatile struct { volatile uint32_t + qla_interface_up :1, qla_callout_init :1, qla_watchdog_active :1, qla_watchdog_exit :1, qla_watchdog_pause :1, - lro_init :1, stop_rcv :1, parent_tag :1, lock_init :1; Modified: stable/9/sys/dev/qlxgbe/ql_fw.c ============================================================================== --- stable/9/sys/dev/qlxgbe/ql_fw.c Tue Sep 6 20:43:26 2016 (r305498) +++ stable/9/sys/dev/qlxgbe/ql_fw.c Tue Sep 6 20:53:23 2016 (r305499) @@ -35,32 +35,32 @@ __FBSDID("$FreeBSD$"); unsigned int ql83xx_firmware_version_major = 5; unsigned int ql83xx_firmware_version_minor = 4; -unsigned int ql83xx_firmware_version_sub = 56; +unsigned int ql83xx_firmware_version_sub = 58; unsigned char ql83xx_firmware[] = { - 0x03, 0x00, 0x40, 0x40, 0x05, 0x04, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x60, 0x44, 0x1b, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x65, 0x29, 0xa5, 0xc3, 0x36, 0x3d, 0x7d, 0x98, + 0x03, 0x00, 0x40, 0x40, 0x05, 0x04, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xa4, 0x58, 0x1b, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xa8, 0xde, 0x79, 0x42, 0x73, 0xa8, 0x26, 0x8b, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xe0, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xea, 0x03, 0x00, + 0xe0, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0xef, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x20, 0x2c, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x40, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf3, 0x03, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xf7, 0x8e, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x2e, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x9b, 0x4e, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0xf9, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x4a, 0x9a, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x42, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0xcf, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xe7, 0x82, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x77, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x65, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x83, 0x93, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x75, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -69,127 +69,127 @@ unsigned char ql83xx_firmware[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x5e, 0x8d, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x7e, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x65, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf8, 0x9d, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x7e, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xec, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xdc, 0xa2, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x04, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x76, 0xb3, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcc, 0x04, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xac, 0xa7, 0x17, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x92, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xf8, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x38, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xb8, 0x17, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x93, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x44, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x3e, 0xba, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x36, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x30, 0x66, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xd0, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xd5, 0xca, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xf7, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x7c, 0x66, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x74, 0xd8, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe6, 0x0b, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xcc, 0xe9, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf1, 0x0b, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, 0xe4, 0x17, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xb7, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xb4, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x17, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbd, 0xf5, 0x17, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xbb, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x04, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x11, 0xeb, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x77, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcc, 0x66, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x78, 0xfc, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x71, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x88, 0x0e, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0b, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe9, 0x1f, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0b, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0x19, 0x18, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x89, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x54, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x55, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x2a, 0x18, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x86, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xa4, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x1d, 0x36, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x2a, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xac, 0x67, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x76, 0x47, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x26, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x47, 0x3f, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x08, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x9c, 0x50, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5b, 0x47, 0x18, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xe0, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x58, 0x18, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x51, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x30, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xad, 0x4a, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x28, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x67, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x5c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x26, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xd5, 0x4c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0xca, 0x0a, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x27, 0x5e, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcb, 0x0a, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0x57, 0x18, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2, 0x68, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb6, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x1c, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x6d, 0x00, 0x00, + 0x00, 0x6c, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x55, 0x78, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x81, 0x9e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xca, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xa6, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xa8, 0x89, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2b, 0xa1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xca, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xb4, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xd6, 0x16, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0xba, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xa6, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xd3, 0x2a, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0xba, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xb4, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x90, 0x17, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x45, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xea, 0xd1, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x8d, 0x2b, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4d, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc1, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0c, 0x8c, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x8c, 0x8c, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x04, 0x0c, 0x8c, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xd5, 0x3c, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x8c, 0x8c, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xda, 0x50, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x58, 0xe0, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -232,9 +232,9 @@ unsigned char ql83xx_firmware[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x46, 0x1a, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x25, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xcc, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xae, 0x05, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x5a, 0x1a, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x63, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x14, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xb0, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -250,143091 +250,143498 @@ unsigned char ql83xx_firmware[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0xda, 0xec, 0x3d, 0x6d, 0x70, 0x5c, 0xd5, 0x75, 0xf7, 0x7d, 0xec, 0xee, 0xd3, 0x6a, 0x57, - 0x5a, 0x1b, 0xd9, 0x11, 0x42, 0xd4, 0xcf, 0xc6, 0xd8, 0xe2, 0x23, 0xcc, - 0xb3, 0x31, 0x8e, 0x31, 0x6e, 0x78, 0x92, 0x65, 0xc7, 0x36, 0x12, 0xa8, - 0xa1, 0x01, 0xf3, 0x11, 0x10, 0x69, 0x43, 0x04, 0x21, 0x58, 0x74, 0xa0, - 0x23, 0x13, 0x0f, 0x7e, 0xb2, 0x25, 0xd9, 0x80, 0x9c, 0xc8, 0xd8, 0x71, - 0x1c, 0x42, 0x61, 0x25, 0xdb, 0x94, 0xb4, 0xb4, 0x5d, 0x26, 0x1f, 0x65, - 0xda, 0xce, 0xb0, 0xb6, 0x33, 0xb1, 0x21, 0x78, 0xe2, 0xfc, 0xa0, 0x0d, - 0xe9, 0xd0, 0x6c, 0x27, 0x4d, 0x47, 0x25, 0x40, 0x37, 0xed, 0x94, 0xc8, - 0xa4, 0x86, 0xde, 0xef, 0xf7, 0xee, 0xdd, 0xf7, 0xde, 0xee, 0x95, 0x65, - 0x67, 0xd2, 0xb1, 0x32, 0x13, 0x74, 0x7c, 0xef, 0x39, 0xef, 0xdc, 0x73, - 0xcf, 0x3d, 0xe7, 0xdc, 0x73, 0xce, 0x7b, 0x02, 0x1a, 0x20, 0x3f, 0x26, - 0x30, 0x80, 0x0e, 0xee, 0x01, 0xe7, 0xe1, 0xdf, 0x4d, 0x98, 0xfc, 0xf4, - 0x52, 0xf8, 0xe4, 0xdb, 0x6f, 0xe1, 0xff, 0x7d, 0xa9, 0x02, 0x16, 0x7f, - 0x0a, 0x12, 0x9c, 0x57, 0x84, 0x3d, 0x1d, 0xd8, 0xf8, 0x97, 0x3d, 0x29, - 0xfc, 0x9f, 0xfe, 0x8a, 0xf9, 0x1a, 0xf0, 0xdc, 0x5c, 0x00, 0xa6, 0xbf, - 0xdb, 0xf9, 0x0c, 0xe1, 0x17, 0x14, 0x0d, 0xc6, 0x3a, 0x00, 0x75, 0x79, - 0x93, 0x00, 0x3d, 0xb7, 0x93, 0x9f, 0xfb, 0xa3, 0x9e, 0xb7, 0x0e, 0x44, - 0x3c, 0x4f, 0x11, 0x66, 0xf4, 0x4e, 0xcc, 0x30, 0xbd, 0x85, 0xda, 0xcc, - 0xd2, 0x5b, 0x3a, 0xc3, 0xf4, 0x36, 0xe9, 0xd3, 0xa3, 0xc7, 0xf0, 0xef, - 0x30, 0xa7, 0x85, 0x1f, 0xa2, 0x6f, 0x8e, 0x87, 0x48, 0x5d, 0xb6, 0xf4, - 0xae, 0xf5, 0xb3, 0xc0, 0xd0, 0xd7, 0x20, 0x49, 0x04, 0x9f, 0x6c, 0x1b, - 0x7a, 0xe3, 0xb5, 0x2e, 0x2d, 0xb7, 0x1b, 0xa2, 0x20, 0x38, 0xff, 0xc0, - 0xc5, 0xab, 0x56, 0x02, 0x3c, 0x5e, 0x66, 0xe3, 0xef, 0x3c, 0xa8, 0xe5, - 0xe1, 0xb8, 0x33, 0x88, 0xf0, 0xef, 0xbf, 0xf9, 0xd8, 0x55, 0x97, 0x10, - 0xfc, 0x41, 0x3a, 0xde, 0xb0, 0x5b, 0x73, 0x9e, 0x82, 0xf8, 0x83, 0x8c, - 0xfe, 0x8f, 0x09, 0xfe, 0xa0, 0x48, 0xdf, 0xd9, 0x06, 0xe1, 0x9e, 0xf5, - 0x57, 0x25, 0x2e, 0xfb, 0x38, 0xc1, 0xdf, 0x46, 0xc7, 0x3f, 0xfd, 0x86, - 0xd6, 0xb3, 0x07, 0xe2, 0x23, 0xb8, 0x77, 0xe5, 0xed, 0xcf, 0x3f, 0x90, - 0x24, 0xf8, 0x6c, 0xfc, 0xe1, 0x5f, 0x6b, 0xbd, 0x63, 0x10, 0x7f, 0x3b, - 0xa7, 0xaf, 0x61, 0xfc, 0xed, 0x12, 0xff, 0x08, 0xce, 0xbf, 0xf2, 0xab, - 0x85, 0xcb, 0x2d, 0x82, 0xcf, 0xc6, 0x5f, 0xbe, 0x0e, 0xf4, 0xa0, 0xe7, - 0x0f, 0x41, 0xb8, 0x3f, 0x77, 0xcc, 0x6d, 0x22, 0xeb, 0xeb, 0x1f, 0xa2, - 0xe3, 0x3f, 0xfd, 0xec, 0x63, 0x16, 0xa4, 0x5f, 0x40, 0x70, 0x6f, 0x66, - 0xc4, 0xc9, 0xb5, 0x10, 0x7c, 0x36, 0xbe, 0xea, 0x73, 0x8f, 0xed, 0x44, - 0xcf, 0x1f, 0x46, 0xfc, 0x5b, 0x6b, 0xec, 0x0c, 0x5d, 0xff, 0x30, 0x1d, - 0xef, 0x18, 0x7a, 0xcc, 0x42, 0xcf, 0x47, 0xb0, 0x6b, 0x9a, 0x39, 0x2b, - 0x43, 0xf0, 0xd9, 0xf8, 0x1f, 0x3f, 0xff, 0xd8, 0x4e, 0xf4, 0xfc, 0x11, - 0xd3, 0xdf, 0x0f, 0x48, 0xaf, 0x5f, 0x82, 0x0b, 0x12, 0x5c, 0x96, 0x60, - 0x67, 0x87, 0x84, 0x2f, 0xc1, 0x05, 0x09, 0x2e, 0x4b, 0xb0, 0xb3, 0x13, - 0xf1, 0xd7, 0xb4, 0xf6, 0x9e, 0x56, 0x3b, 0x77, 0xcd, 0xd3, 0x10, 0x1f, - 0xc1, 0x79, 0xe7, 0x73, 0xe6, 0x15, 0x9b, 0xb6, 0xa2, 0xf5, 0x15, 0x10, - 0xdc, 0xd3, 0xbc, 0xe3, 0xa1, 0xa6, 0xcb, 0xf0, 0x78, 0x99, 0x8d, 0x77, - 0xef, 0xde, 0x8a, 0xd6, 0xe7, 0x3c, 0x8e, 0xe4, 0xd3, 0x7a, 0x44, 0x33, - 0x97, 0x12, 0xfc, 0xc7, 0xe9, 0xf8, 0xa6, 0x6f, 0x6f, 0x45, 0xeb, 0x2b, - 0x20, 0xb8, 0xbf, 0x55, 0xcb, 0x59, 0xd7, 0x11, 0x7c, 0x36, 0xbe, 0xfb, - 0x8d, 0xad, 0x16, 0xd4, 0x0f, 0xe7, 0x09, 0xc2, 0xcf, 0xa2, 0x56, 0x9b, - 0xf0, 0x8f, 0xe1, 0xfa, 0x0c, 0xb0, 0xba, 0xef, 0xc1, 0xfc, 0xd3, 0xf1, - 0x65, 0x74, 0xbc, 0x8c, 0xe1, 0x27, 0x35, 0x36, 0xee, 0x3c, 0x29, 0xad, - 0x5f, 0x82, 0x0b, 0x12, 0x5c, 0x96, 0x60, 0x67, 0x54, 0xc2, 0x97, 0xe0, - 0x82, 0x04, 0x97, 0x25, 0xd8, 0xd9, 0x25, 0xe1, 0x4b, 0x70, 0x41, 0x82, - 0xcb, 0x12, 0xec, 0x7c, 0x45, 0xc2, 0x97, 0xe0, 0x82, 0x04, 0x97, 0x25, - 0xd8, 0xf9, 0xaa, 0x84, 0x2f, 0xc1, 0x05, 0x09, 0x2e, 0x4b, 0xb0, 0xe3, - 0x42, 0xd8, 0xeb, 0x7b, 0x27, 0xc9, 0xf0, 0x11, 0x5c, 0xba, 0xe4, 0xa7, - 0x7f, 0xca, 0xf0, 0x11, 0x5c, 0xfc, 0xe0, 0xf8, 0x88, 0x41, 0xf1, 0x11, - 0x9c, 0x7f, 0xe9, 0xc3, 0xf7, 0x29, 0xec, 0xb4, 0x43, 0x38, 0xb7, 0xeb, - 0x9a, 0x3a, 0x97, 0xe2, 0x23, 0xb8, 0xbf, 0xf3, 0x92, 0xcd, 0x14, 0x2e, - 0x20, 0xb8, 0x67, 0xde, 0xee, 0x5d, 0xab, 0x29, 0x3e, 0x82, 0x9d, 0x7f, - 0xdc, 0x71, 0x9a, 0xc2, 0x4e, 0x87, 0xc4, 0xbf, 0x04, 0x17, 0x24, 0xb8, - 0x2c, 0xc1, 0xce, 0x6a, 0x09, 0x5f, 0x82, 0x0b, 0x12, 0x5c, 0x96, 0x60, - 0xa7, 0x53, 0xc2, 0x97, 0xe0, 0x82, 0x04, 0x97, 0x25, 0xd8, 0x59, 0x23, - 0xe1, 0x4b, 0x70, 0x41, 0x82, 0xcb, 0x12, 0xec, 0xac, 0x95, 0xf0, 0x25, - 0xb8, 0x20, 0xc1, 0x65, 0x09, 0x76, 0x3e, 0x25, 0xe1, 0x4b, 0x70, 0x41, - 0x82, 0xcb, 0x12, 0xec, 0xac, 0x43, 0xfb, 0xf3, 0x99, 0x37, 0xd8, 0x7e, - 0xf6, 0x23, 0xf8, 0xe4, 0x23, 0x6f, 0x31, 0xb8, 0x80, 0xc7, 0xf7, 0xfd, - 0x82, 0xc1, 0x65, 0x3c, 0xfe, 0xbd, 0x77, 0xf9, 0xfe, 0xaf, 0x47, 0xe7, - 0xff, 0xba, 0xbf, 0x3c, 0xcd, 0xf0, 0x31, 0x7c, 0xc7, 0x77, 0x18, 0x5c, - 0xc0, 0xf0, 0x97, 0x87, 0x19, 0x5c, 0x46, 0x70, 0xf9, 0xb9, 0xaf, 0x30, - 0xd8, 0xd9, 0x80, 0xe0, 0x57, 0xc6, 0x38, 0x3e, 0x86, 0x7f, 0xf6, 0x0d, - 0x8e, 0x8f, 0x60, 0x30, 0x6b, 0xc1, 0x29, 0x86, 0x8f, 0xe0, 0xb1, 0x6b, - 0xae, 0x60, 0xb0, 0x73, 0x03, 0x84, 0xed, 0x0e, 0x93, 0xc1, 0xfd, 0x08, - 0x2e, 0xdc, 0x9b, 0x65, 0x70, 0x01, 0xc1, 0xee, 0xce, 0x1c, 0xc7, 0x47, - 0xf0, 0xc9, 0x17, 0x2f, 0xe4, 0xf8, 0x5d, 0x88, 0x7e, 0xf1, 0x18, 0x5f, - 0x7f, 0x17, 0x91, 0x4f, 0x99, 0xe1, 0x4b, 0x70, 0x59, 0x82, 0x9d, 0x6e, - 0x11, 0xee, 0x97, 0xe0, 0x82, 0x04, 0x97, 0x25, 0xd8, 0xb9, 0x51, 0xc2, - 0x97, 0xe0, 0x82, 0x04, 0x97, 0x25, 0xd8, 0xb9, 0x49, 0xc2, 0x97, 0xe0, - 0x82, 0x04, 0x97, 0x25, 0x58, 0x8c, 0xef, 0x2a, 0xe3, 0x83, 0x59, 0x41, - 0xb8, 0x6a, 0xbc, 0x61, 0xb3, 0xdf, 0x34, 0x1a, 0x54, 0xd2, 0x87, 0x35, - 0x6a, 0x3c, 0xc8, 0xac, 0x12, 0xaf, 0xf4, 0x6b, 0x6e, 0x40, 0x3f, 0x09, - 0xbd, 0x44, 0x02, 0xda, 0x7f, 0x14, 0x73, 0xc3, 0xf1, 0xdb, 0x13, 0x74, - 0xec, 0xc3, 0x79, 0xc0, 0xee, 0xa9, 0x4e, 0x4f, 0x8d, 0x7f, 0x7a, 0x36, - 0x4a, 0x1f, 0x91, 0x9f, 0x4d, 0xea, 0xf1, 0xd4, 0x8c, 0xc2, 0x85, 0xea, - 0xfb, 0xa3, 0x06, 0xd3, 0xf5, 0x95, 0x23, 0xd6, 0x57, 0xf5, 0x79, 0x55, - 0xf0, 0xab, 0xde, 0x57, 0x14, 0x9f, 0xe7, 0x71, 0x5b, 0xe5, 0x32, 0xfd, - 0xc9, 0xd2, 0xfb, 0x4a, 0x1f, 0x1c, 0xd5, 0xf8, 0x7d, 0x06, 0x00, 0x0b, - 0x8f, 0xfb, 0xc6, 0xd9, 0x06, 0xfb, 0x8f, 0x6a, 0x83, 0x20, 0x57, 0x04, - 0x56, 0x33, 0x99, 0x6f, 0x6f, 0x83, 0xf3, 0xc1, 0x95, 0x3a, 0x25, 0xfd, - 0x51, 0xb8, 0xfe, 0x64, 0x44, 0xfa, 0xe0, 0x75, 0x3a, 0x34, 0x49, 0xe1, - 0xdf, 0xee, 0xfe, 0x55, 0x93, 0xd7, 0x79, 0xf8, 0xcc, 0xce, 0xff, 0xd9, - 0x87, 0x67, 0x96, 0x1f, 0x1b, 0x48, 0xf9, 0x07, 0xf8, 0x0f, 0x9f, 0x6c, - 0x09, 0xcc, 0xa7, 0xf6, 0x97, 0x8f, 0x83, 0xef, 0x03, 0x51, 0xbf, 0x73, - 0x19, 0x11, 0x46, 0x27, 0x2a, 0x09, 0xfc, 0x73, 0x05, 0x91, 0xd2, 0xce, - 0x50, 0x47, 0x7b, 0x1b, 0x91, 0x2f, 0xa4, 0x9f, 0x6e, 0x21, 0xe7, 0xcb, - 0xd6, 0x83, 0xf6, 0xd8, 0x3b, 0x7d, 0x36, 0xec, 0x71, 0x75, 0xb8, 0x31, - 0x00, 0xd6, 0xf2, 0x7c, 0x36, 0xdf, 0x6b, 0x50, 0x9b, 0x0f, 0x2e, 0x56, - 0xa4, 0x7f, 0x85, 0x22, 0xfd, 0x95, 0x8a, 0xf4, 0xd7, 0x29, 0xd2, 0xbf, - 0x55, 0x91, 0xfe, 0xe7, 0x15, 0xe9, 0x3f, 0xac, 0x48, 0x7f, 0x9b, 0x22, - 0xfd, 0xdd, 0x8a, 0xf4, 0x9f, 0x53, 0xa4, 0xff, 0xd7, 0x8a, 0xf4, 0xff, - 0x41, 0x91, 0xfe, 0x0f, 0x15, 0xe9, 0xbf, 0xa9, 0x48, 0x7f, 0x52, 0x91, - 0xfe, 0xfb, 0x8a, 0xf4, 0x13, 0x9a, 0x1a, 0xfd, 0x0b, 0xd4, 0xe6, 0x83, - 0x05, 0x8a, 0xf4, 0x1d, 0x45, 0xfa, 0xd7, 0x2b, 0xd2, 0xef, 0x56, 0xa4, - 0x7f, 0xa7, 0x22, 0xfd, 0xfb, 0x15, 0xe9, 0x6f, 0x56, 0xa4, 0xbf, 0x43, - 0x91, 0xfe, 0x3e, 0x45, 0xfa, 0x07, 0x15, 0xe9, 0x7f, 0x5b, 0x91, 0xfe, - 0x61, 0x45, 0xfa, 0x27, 0x15, 0xe9, 0xff, 0x8b, 0x22, 0xfd, 0x77, 0x15, - 0xe9, 0xff, 0x46, 0x91, 0x7e, 0x5a, 0x57, 0xa3, 0xdf, 0xac, 0x36, 0x1f, - 0x2c, 0x56, 0xa4, 0x7f, 0x8d, 0x22, 0xfd, 0x4e, 0x45, 0xfa, 0x9f, 0x56, - 0xa4, 0x7f, 0x8f, 0x22, 0xfd, 0x4d, 0x8a, 0xf4, 0x1f, 0x53, 0xa4, 0x3f, - 0xaa, 0x48, 0xff, 0x9b, 0x8a, 0xf4, 0xbf, 0xa5, 0x48, 0xff, 0x65, 0x45, - 0xfa, 0x3f, 0x50, 0xa4, 0xff, 0x86, 0x22, 0xfd, 0x9f, 0x2b, 0xd2, 0xff, - 0x2f, 0x45, 0xfa, 0xc0, 0x50, 0xa3, 0xdf, 0xa8, 0x36, 0xdf, 0xbb, 0x58, - 0x91, 0xfe, 0x95, 0x8a, 0xf4, 0x57, 0x2a, 0xd2, 0x5f, 0xaf, 0x48, 0xff, - 0x56, 0x45, 0xfa, 0xf7, 0x2a, 0xd2, 0x7f, 0x58, 0x91, 0xfe, 0x76, 0x45, - 0xfa, 0xbb, 0x15, 0xe9, 0xe7, 0x8d, 0x73, 0x71, 0xff, 0xf0, 0xba, 0xc1, - 0x55, 0xbf, 0x87, 0x7e, 0xfd, 0xe5, 0xf5, 0x00, 0xe7, 0x13, 0x4e, 0xd0, - 0x0a, 0x70, 0x5f, 0x82, 0xdc, 0x9f, 0xb2, 0x34, 0xbf, 0x30, 0x69, 0x22, - 0x98, 0xd5, 0xeb, 0x0e, 0xf4, 0xb0, 0xe7, 0xed, 0x62, 0xf9, 0x05, 0x93, - 0xce, 0x67, 0xf7, 0x31, 0x0d, 0x0c, 0x6a, 0x79, 0x72, 0xed, 0x7a, 0x1a, - 0xde, 0xda, 0x16, 0x81, 0x92, 0xe9, 0xd7, 0x6b, 0xf3, 0xee, 0xb5, 0xf8, - 0x2a, 0x06, 0xff, 0xa9, 0xa9, 0xcd, 0x00, 0xad, 0x88, 0x95, 0xfc, 0x51, - 0x6d, 0x90, 0xd7, 0x03, 0xc7, 0x09, 0x7d, 0x0b, 0x68, 0xc0, 0x45, 0xa9, - 0xfc, 0x8d, 0x03, 0x80, 0xf0, 0x27, 0xf2, 0xcf, 0xe6, 0x1f, 0x7e, 0x38, - 0x7c, 0xfd, 0xb6, 0x05, 0x80, 0x9b, 0xb6, 0xeb, 0xc1, 0xd4, 0x27, 0x40, - 0x29, 0x05, 0x0e, 0x00, 0x9d, 0xe6, 0x7b, 0x3e, 0x81, 0x13, 0x30, 0xbd, - 0xfc, 0x82, 0xdd, 0xe6, 0x52, 0x7e, 0xdc, 0x39, 0x90, 0x9f, 0x67, 0x7e, - 0xb0, 0xb0, 0x39, 0xb9, 0xa4, 0x69, 0xc4, 0xb3, 0xc0, 0xae, 0xc1, 0x3d, - 0xb8, 0x94, 0x30, 0x69, 0x04, 0xd7, 0xcf, 0xf8, 0x03, 0x5a, 0xf7, 0x51, - 0x52, 0x8f, 0xee, 0xd3, 0xf1, 0xfa, 0x5d, 0x76, 0xc7, 0xc4, 0x72, 0xe8, - 0x45, 0x59, 0x1c, 0xcc, 0xbf, 0xe5, 0x00, 0xf8, 0x6c, 0x96, 0x6f, 0x02, - 0xb7, 0xd0, 0x7a, 0xb5, 0xb5, 0x7d, 0xbc, 0x1e, 0x29, 0xc7, 0x7c, 0xaa, - 0x24, 0x95, 0xf4, 0xeb, 0x8e, 0x50, 0xfa, 0x42, 0x7e, 0xe8, 0x1e, 0x4a, - 0x1f, 0x2d, 0xc7, 0xd5, 0x2b, 0xe9, 0xdf, 0x4a, 0xe9, 0xa7, 0x07, 0xc7, - 0x11, 0x0b, 0xde, 0x65, 0x91, 0xf4, 0x35, 0x91, 0xbe, 0x9b, 0x3d, 0x32, - 0xbf, 0x95, 0xee, 0x1f, 0x84, 0xad, 0x0a, 0xf9, 0x90, 0x9f, 0x8d, 0x94, - 0x7e, 0x05, 0x3d, 0xae, 0x0f, 0x93, 0x14, 0x7f, 0x97, 0x81, 0xd7, 0x4f, - 0xe9, 0xb1, 0xf9, 0x7f, 0x43, 0xe7, 0x9b, 0x12, 0x7d, 0x00, 0x46, 0x59, - 0xf8, 0x8f, 0xe5, 0xed, 0x82, 0xd7, 0x35, 0x17, 0x3d, 0xaa, 0xf9, 0x01, - 0x1d, 0xe5, 0xbb, 0x28, 0x3f, 0xde, 0x6d, 0xac, 0xde, 0x8f, 0xf7, 0x73, - 0xa4, 0x0e, 0xe5, 0x53, 0xbd, 0x04, 0x54, 0xa2, 0xf6, 0xee, 0x23, 0x5a, - 0x2b, 0xdc, 0xf5, 0xa9, 0x4d, 0x46, 0x69, 0x58, 0x1b, 0xbf, 0xf3, 0x46, - 0xcf, 0x2c, 0x81, 0x15, 0xba, 0x06, 0x5e, 0x48, 0xbc, 0x06, 0xc0, 0x0e, - 0xb8, 0x5f, 0x47, 0xb2, 0x39, 0x9f, 0xbf, 0x4a, 0xfe, 0x99, 0xbe, 0xb3, - 0xf5, 0x9f, 0xd0, 0x56, 0x85, 0xf0, 0x7f, 0x87, 0xc8, 0xbf, 0xf7, 0x59, - 0xc6, 0x0f, 0xd2, 0xb7, 0xb9, 0x88, 0x5f, 0xb2, 0x1f, 0x88, 0xdf, 0x24, - 0xea, 0x65, 0x38, 0x4e, 0x60, 0x00, 0x56, 0xa4, 0x28, 0x4a, 0x32, 0xfc, - 0xbe, 0xc2, 0xcf, 0x9f, 0x46, 0xce, 0x53, 0x17, 0x3b, 0x5f, 0x58, 0x1e, - 0x4c, 0x5e, 0x77, 0x47, 0xc8, 0xdf, 0x02, 0xdd, 0x06, 0xe1, 0x97, 0xac, - 0x8f, 0xf1, 0xb7, 0x26, 0x72, 0xbe, 0x28, 0x4f, 0xae, 0xaf, 0xd2, 0xf9, - 0x9a, 0x9d, 0x10, 0xd6, 0xdb, 0xa3, 0x91, 0x44, 0x4c, 0xaf, 0x9f, 0x5f, - 0x9c, 0xd4, 0xc3, 0xf2, 0x89, 0x48, 0xd4, 0x2e, 0x22, 0xba, 0x7f, 0x01, - 0x5d, 0x7f, 0x17, 0x63, 0x29, 0x51, 0xcb, 0x7d, 0x2d, 0x42, 0xde, 0xe0, - 0x8f, 0x28, 0xbf, 0x67, 0x7b, 0x7d, 0x16, 0xb4, 0x67, 0x58, 0x9e, 0x53, - 0x9b, 0xe3, 0xf6, 0x1f, 0xdc, 0xcb, 0xfb, 0x4f, 0xc2, 0xf9, 0x3f, 0xd0, - 0x40, 0xe6, 0xa3, 0x59, 0xab, 0x4c, 0xdb, 0x40, 0xfa, 0x5a, 0x4a, 0x80, - 0x71, 0x62, 0x2f, 0x26, 0x1a, 0xb8, 0x7d, 0x04, 0x0d, 0x80, 0x1f, 0x55, - 0x05, 0xf9, 0xbc, 0x05, 0x7c, 0x7e, 0x50, 0x41, 0x13, 0xb4, 0x31, 0x7d, - 0xe3, 0xe7, 0x49, 0x0f, 0xf2, 0xbf, 0x39, 0x5d, 0x9b, 0xbf, 0x60, 0xf3, - 0xef, 0xae, 0x57, 0x9b, 0x2f, 0x9f, 0x8f, 0xbe, 0x2a, 0xf2, 0x59, 0x78, - 0x86, 0xf4, 0xef, 0xe3, 0xf4, 0xbb, 0xd8, 0x7a, 0x13, 0xe1, 0xf9, 0xed, - 0x51, 0xc9, 0x5f, 0x79, 0x26, 0x8c, 0xa4, 0x50, 0x49, 0x4d, 0x7b, 0xf9, - 0x28, 0x18, 0xac, 0xf0, 0xa7, 0xd0, 0x41, 0x34, 0x60, 0xff, 0x78, 0x09, - 0x95, 0xa7, 0x4c, 0xcf, 0x0c, 0x94, 0x1f, 0x2b, 0xea, 0x4f, 0x01, 0xff, - 0x7a, 0x0a, 0xfb, 0x57, 0x1b, 0xee, 0xaa, 0x3b, 0x7b, 0x6f, 0x02, 0xd8, - 0x0e, 0x28, 0xa6, 0xe0, 0xfe, 0x83, 0xdb, 0xa8, 0x36, 0x7a, 0x4d, 0x68, - 0xbf, 0x3d, 0x70, 0xa2, 0xdd, 0x6d, 0x08, 0x9c, 0x7f, 0xaa, 0xc0, 0x3f, - 0xfa, 0x73, 0xba, 0x3e, 0xfc, 0xb4, 0xe1, 0x34, 0xd2, 0x1f, 0x3b, 0xe0, - 0x4f, 0xc1, 0x7e, 0x64, 0xbe, 0x09, 0x7f, 0x50, 0x69, 0xcd, 0xda, 0xf3, - 0xc9, 0x17, 0xc4, 0xc6, 0x0f, 0xfc, 0xbc, 0xfc, 0x64, 0x51, 0xe8, 0xfa, - 0xd9, 0x7e, 0x78, 0x77, 0x27, 0x85, 0xf3, 0xe0, 0x01, 0xd7, 0x08, 0xfa, - 0x0b, 0xdd, 0x5b, 0x6b, 0x04, 0xcf, 0x27, 0x9b, 0x4f, 0x97, 0x57, 0xf8, - 0xd2, 0x45, 0x20, 0x54, 0x3f, 0xd8, 0x2f, 0xcf, 0xe8, 0xb5, 0xf1, 0x17, - 0xcd, 0x4f, 0xbb, 0x71, 0x76, 0xe9, 0x77, 0x9c, 0x65, 0xfa, 0xab, 0xcf, - 0x32, 0xfd, 0x1b, 0xe8, 0xfe, 0x80, 0x62, 0xbb, 0x1e, 0x17, 0x3f, 0xbe, - 0x2e, 0xf9, 0xa7, 0xa8, 0xf3, 0xb2, 0x24, 0xfc, 0xbc, 0xb0, 0xf3, 0xe0, - 0xbe, 0x23, 0xc5, 0x9b, 0x93, 0x29, 0x44, 0x2f, 0x07, 0xfd, 0x2f, 0xf6, - 0x17, 0xcd, 0x9b, 0x52, 0xc5, 0x6d, 0xbe, 0xbd, 0x3a, 0x7c, 0x33, 0xb3, - 0x9f, 0xbb, 0x8c, 0x86, 0xe4, 0x10, 0xb4, 0x65, 0xa7, 0x93, 0xf9, 0x11, - 0x88, 0x8f, 0x79, 0x9d, 0xa8, 0xf3, 0xed, 0x67, 0x9d, 0x16, 0xf4, 0x2f, - 0x08, 0x7b, 0x69, 0x5a, 0x38, 0xff, 0xcc, 0xbf, 0x27, 0x41, 0x89, 0x9c, - 0x2f, 0xec, 0xaf, 0xa7, 0xae, 0x26, 0xfc, 0x42, 0x7b, 0xbc, 0xe8, 0x62, - 0x84, 0x4e, 0xf9, 0x67, 0xfd, 0x90, 0x63, 0x06, 0xaa, 0x01, 0xc3, 0xf3, - 0xba, 0x31, 0xde, 0x3e, 0xd3, 0xf8, 0xcf, 0x5d, 0x7d, 0xad, 0xa0, 0xcf, - 0xdf, 0xe3, 0xfb, 0xf3, 0x38, 0x8b, 0xa7, 0xb3, 0xc1, 0x78, 0x91, 0xcd, - 0xa7, 0xe7, 0xa1, 0x3f, 0x35, 0xbe, 0x90, 0xe2, 0xbf, 0x0a, 0x84, 0xf9, - 0xe0, 0xb8, 0x16, 0x84, 0x99, 0xfd, 0xf3, 0x1e, 0x32, 0x04, 0xff, 0xc7, - 0xe4, 0x65, 0x81, 0x57, 0xb5, 0x06, 0xb4, 0xd5, 0xde, 0x29, 0x12, 0x3f, - 0x63, 0x7b, 0x31, 0x91, 0xf1, 0xe5, 0x95, 0x11, 0xe4, 0x85, 0x98, 0x5b, - 0x21, 0xec, 0x3f, 0x8f, 0x3f, 0x88, 0xbc, 0xb0, 0xfd, 0xf2, 0xe5, 0x85, - 0xd8, 0x5f, 0x90, 0x0d, 0xc8, 0x0b, 0x2d, 0x20, 0x7f, 0x63, 0xbd, 0x8f, - 0x7f, 0x91, 0x92, 0x3f, 0x63, 0xbf, 0x1c, 0xe7, 0xf2, 0x5a, 0xcf, 0xe2, - 0x8b, 0x06, 0xbc, 0x7e, 0xda, 0xb7, 0x98, 0x3a, 0xcc, 0xe4, 0x53, 0xa7, - 0x07, 0xc7, 0xd1, 0xe3, 0xc9, 0x7a, 0x97, 0x08, 0xfa, 0xce, 0xe4, 0x41, - 0xe5, 0xe5, 0x32, 0x79, 0x11, 0x4b, 0x39, 0x91, 0xf6, 0xe5, 0x91, 0xae, - 0xd0, 0x9f, 0x65, 0xe9, 0x50, 0xfd, 0x27, 0xf2, 0x80, 0xf2, 0x74, 0x9b, - 0x7d, 0x79, 0x20, 0xf1, 0xb6, 0xd5, 0x05, 0xe4, 0x41, 0xd7, 0xf1, 0xbc, - 0xc9, 0xf0, 0x6f, 0x9b, 0x96, 0x3c, 0xde, 0xe4, 0xf2, 0x78, 0x95, 0x3d, - 0xbf, 0x81, 0xc4, 0xc7, 0x54, 0x1e, 0x2f, 0x31, 0x79, 0x3c, 0x2e, 0x8c, - 0xd7, 0x28, 0x0f, 0x30, 0xc4, 0xe4, 0x81, 0x15, 0x70, 0xa2, 0xde, 0x97, - 0x47, 0x7d, 0x85, 0x7e, 0x2c, 0x8f, 0xd3, 0x0f, 0x38, 0x1b, 0xdf, 0x27, - 0xd8, 0x79, 0x42, 0xcd, 0x2c, 0x73, 0x02, 0xf2, 0x60, 0xfe, 0xea, 0x05, - 0x14, 0x8e, 0xa0, 0xf3, 0xd4, 0x3a, 0x2d, 0x79, 0xfc, 0xb2, 0x42, 0x3f, - 0xfa, 0x1a, 0x89, 0xfd, 0xa0, 0xf1, 0x66, 0x33, 0x5c, 0xa7, 0xc1, 0xe4, - 0x3f, 0x04, 0x77, 0xc4, 0x41, 0x71, 0x11, 0xc4, 0x5f, 0xaf, 0x07, 0xe7, - 0xd7, 0xaa, 0x2f, 0xb5, 0xca, 0x07, 0x61, 0x2f, 0x17, 0xed, 0x8d, 0xa0, - 0x2f, 0xdc, 0x1e, 0x33, 0xf9, 0xe0, 0xd1, 0x3d, 0x16, 0xe2, 0x0f, 0xa0, - 0x78, 0x10, 0x46, 0x25, 0xbb, 0x9b, 0x82, 0xf8, 0xb7, 0x4f, 0x4b, 0x3e, - 0xff, 0xeb, 0xdb, 0x1b, 0xf6, 0xfc, 0x5c, 0xe0, 0xfe, 0x68, 0x1b, 0x16, - 0xf3, 0xb7, 0x75, 0x46, 0x70, 0xbc, 0x46, 0x79, 0x78, 0x5c, 0x1e, 0x78, - 0x78, 0x22, 0xeb, 0xcb, 0x23, 0x5b, 0xa1, 0x2f, 0x2b, 0x45, 0x7d, 0x89, - 0xb5, 0xbf, 0x28, 0x40, 0x59, 0xd4, 0x28, 0xd9, 0x5f, 0xfb, 0x26, 0xcb, - 0xc7, 0x6f, 0x9e, 0x96, 0x3c, 0x68, 0x97, 0x45, 0xbf, 0xbf, 0xff, 0x93, - 0x8d, 0x81, 0xfb, 0x6d, 0xce, 0x97, 0x07, 0xb7, 0xb7, 0x8d, 0x61, 0xf1, - 0x23, 0x93, 0xc7, 0xc4, 0x67, 0x22, 0xf2, 0x0d, 0x64, 0x34, 0xc1, 0xe4, - 0x41, 0xe5, 0x55, 0x1c, 0x8c, 0xb4, 0xcf, 0xeb, 0x89, 0x7d, 0x2e, 0x6e, - 0xa6, 0xf9, 0x0d, 0xa6, 0x2f, 0x93, 0xc1, 0xfb, 0x9e, 0x17, 0x89, 0xaf, - 0xa1, 0xfd, 0x1a, 0xb1, 0x40, 0x71, 0x09, 0x2a, 0x73, 0x8f, 0x07, 0xee, - 0x63, 0x18, 0x1f, 0x4d, 0x77, 0x5b, 0x44, 0xfb, 0x74, 0x79, 0x9d, 0xef, - 0x9f, 0xf7, 0xd1, 0x70, 0x39, 0x09, 0x56, 0x2c, 0xdb, 0x6b, 0x80, 0x1d, - 0xfd, 0xae, 0xc1, 0x17, 0xe3, 0xea, 0x1a, 0x8c, 0x87, 0x41, 0xab, 0x9d, - 0xdd, 0x1e, 0x15, 0x4f, 0xe6, 0xb7, 0x41, 0x4f, 0xe2, 0x2e, 0xb7, 0x53, - 0xb9, 0x2c, 0xaa, 0xa0, 0x83, 0x83, 0xfa, 0xe1, 0xf1, 0xad, 0xf0, 0xdf, - 0x9b, 0x0e, 0x3f, 0x84, 0x05, 0x3a, 0xdc, 0x64, 0xbf, 0x40, 0x94, 0xc1, - 0xba, 0x92, 0xe0, 0xdb, 0x2c, 0x5e, 0x85, 0x0f, 0xc7, 0xf1, 0x2a, 0xcb, - 0x17, 0xc1, 0xd3, 0x1a, 0xba, 0x9f, 0x74, 0xdc, 0x1d, 0x10, 0xee, 0xb3, - 0xab, 0xa9, 0xbf, 0x64, 0xf2, 0xd8, 0x2b, 0xdd, 0xf7, 0xf4, 0xc0, 0x7d, - 0x2f, 0xa8, 0xcf, 0xcc, 0xfe, 0x74, 0xae, 0xbe, 0x36, 0x78, 0x7f, 0x74, - 0x99, 0x7c, 0x01, 0x77, 0xf8, 0x03, 0x20, 0x78, 0x5f, 0x62, 0xf2, 0x86, - 0xe7, 0x85, 0x6a, 0xcc, 0xc0, 0x2c, 0xdf, 0x1f, 0x4d, 0x58, 0xbe, 0xfe, - 0x5b, 0x15, 0xf6, 0xc0, 0x89, 0xb1, 0x07, 0xdc, 0x5e, 0x31, 0x7b, 0x80, - 0xb5, 0x73, 0x6f, 0x5d, 0xd0, 0x1e, 0xec, 0x99, 0x01, 0x7b, 0xb0, 0xca, - 0x90, 0xed, 0xc1, 0x24, 0xe1, 0x9f, 0xad, 0x67, 0xff, 0xa9, 0x59, 0x0a, - 0xe7, 0xbf, 0xb8, 0xa3, 0xba, 0x3d, 0x4c, 0xd6, 0xe4, 0x2f, 0xaa, 0xf2, - 0x7f, 0x31, 0xfb, 0xdd, 0x0c, 0x5b, 0xaf, 0x87, 0xfc, 0x4d, 0xc1, 0x4e, - 0xa1, 0xfb, 0x14, 0x89, 0x37, 0x07, 0x92, 0xd3, 0x91, 0xcf, 0x8d, 0x46, - 0x85, 0x3f, 0xd1, 0x04, 0xf9, 0xe4, 0x06, 0x28, 0x6c, 0x49, 0xf1, 0xaf, - 0x44, 0x8f, 0xac, 0xd5, 0x33, 0x58, 0x7e, 0x02, 0xc7, 0x07, 0x30, 0x5e, - 0xb5, 0x1c, 0x60, 0x27, 0x91, 0x3f, 0xcc, 0x7a, 0x16, 0xf2, 0x87, 0xf6, - 0xbb, 0x54, 0x9f, 0x5d, 0x0d, 0xe5, 0x3f, 0x47, 0xc0, 0xd4, 0xf5, 0x97, - 0xc3, 0xfb, 0xa7, 0x0b, 0xba, 0xf5, 0x15, 0x58, 0xe5, 0x1f, 0xd4, 0x4a, - 0xd0, 0x1e, 0x40, 0x6b, 0xb7, 0xbf, 0xcb, 0x04, 0xcf, 0x3c, 0xb2, 0x87, - 0xe4, 0x47, 0x11, 0x66, 0xaf, 0x75, 0x20, 0x81, 0x48, 0x6f, 0x0c, 0xc9, - 0x97, 0xc2, 0x78, 0x9a, 0xd9, 0x57, 0x3d, 0x78, 0x5e, 0x9e, 0x8c, 0xb4, - 0x3f, 0xd2, 0xf9, 0x50, 0xb6, 0xe7, 0x99, 0x58, 0xff, 0x8f, 0x7e, 0xb5, - 0xe5, 0x78, 0xc8, 0xeb, 0xaa, 0xf3, 0xf1, 0x2f, 0x9c, 0x96, 0x3e, 0xdf, - 0xc7, 0xf7, 0x8b, 0xfb, 0xaf, 0x26, 0x61, 0xbf, 0x06, 0x06, 0x9a, 0x54, - 0xf4, 0xf9, 0xc9, 0xaa, 0xf1, 0x60, 0x94, 0x7d, 0x12, 0xcf, 0x73, 0x14, - 0xbf, 0x0f, 0x57, 0x9e, 0x3f, 0x91, 0x5f, 0x30, 0xa5, 0xc2, 0x2f, 0x18, - 0xad, 0x7a, 0xfe, 0xa2, 0xf8, 0xad, 0xed, 0xfc, 0x6d, 0xad, 0x3c, 0x0f, - 0x73, 0x44, 0x7e, 0x07, 0xe6, 0xc4, 0xf9, 0x47, 0xbf, 0x3e, 0x10, 0x61, - 0xcf, 0xc1, 0x7b, 0x58, 0xff, 0x89, 0x43, 0x99, 0x48, 0x31, 0xfe, 0x99, - 0xfd, 0x66, 0xe7, 0xa7, 0x85, 0xe8, 0x7f, 0xab, 0x06, 0xed, 0x31, 0xce, - 0xdf, 0x42, 0x03, 0xdd, 0xdb, 0x90, 0x42, 0x2d, 0xfe, 0x89, 0x15, 0xe4, - 0x3c, 0x9c, 0x24, 0xfd, 0x5d, 0x96, 0x0d, 0x92, 0x36, 0x08, 0x39, 0x0f, - 0x5a, 0xf0, 0x3c, 0x20, 0xf5, 0x6b, 0x40, 0xff, 0x97, 0x5f, 0xc2, 0xe3, - 0x0d, 0x64, 0x82, 0x99, 0x3c, 0x73, 0xa0, 0x1b, 0xac, 0xb2, 0x02, 0xf9, - 0x23, 0x2d, 0xab, 0xd1, 0xfc, 0x78, 0x52, 0xea, 0x9f, 0x4c, 0x84, 0xf9, - 0x07, 0xb2, 0x3f, 0xcf, 0xe9, 0xfe, 0x7e, 0x04, 0xe4, 0xed, 0xc5, 0xdd, - 0xbf, 0xd8, 0x7e, 0xb1, 0x76, 0xe0, 0xa9, 0xb9, 0xe4, 0x79, 0x3c, 0x1e, - 0xa8, 0xd1, 0x5e, 0x0e, 0xb3, 0xf9, 0x73, 0x59, 0xfe, 0x28, 0x8d, 0xe2, - 0x2b, 0x97, 0xd8, 0xc7, 0x1c, 0x1a, 0xcd, 0xd9, 0x26, 0xb0, 0x96, 0x11, - 0x7b, 0x04, 0xd6, 0xb1, 0x7c, 0xf4, 0xa9, 0x79, 0x24, 0xff, 0x04, 0x79, - 0x4f, 0xa5, 0x90, 0x1d, 0x75, 0x87, 0x90, 0x3e, 0xd2, 0xfc, 0xa7, 0xfb, - 0x80, 0x66, 0xc7, 0xec, 0xf7, 0x5e, 0x29, 0x1f, 0x7a, 0x94, 0xdf, 0x7f, - 0x77, 0xb2, 0x7a, 0x10, 0x40, 0xfc, 0xb3, 0xf9, 0x1f, 0xbb, 0x45, 0xf4, - 0xd7, 0xff, 0xcc, 0xe7, 0xb3, 0xfc, 0x5d, 0x9f, 0x45, 0xd6, 0x1f, 0xc0, - 0x27, 0xf2, 0x30, 0xb8, 0x3c, 0x08, 0x3f, 0x29, 0x92, 0xbf, 0x2b, 0xc5, - 0xe7, 0xef, 0xdc, 0x85, 0xc4, 0xfe, 0xb0, 0xfc, 0x43, 0xf1, 0x14, 0xcd, - 0x3f, 0x64, 0x05, 0x7b, 0xe9, 0xe7, 0xdf, 0xc4, 0x7c, 0xe9, 0xd3, 0x3d, - 0xe1, 0xf5, 0x0d, 0xd9, 0xff, 0xb3, 0xf5, 0xa4, 0x23, 0xf2, 0xd1, 0x4c, - 0x3e, 0xf5, 0x52, 0xfe, 0x3a, 0x53, 0x25, 0x7f, 0x9d, 0xa5, 0xe3, 0x39, - 0x96, 0x2c, 0x94, 0xf0, 0xe7, 0x04, 0xe2, 0x1d, 0x2c, 0xdf, 0xc8, 0xfa, - 0x4c, 0x56, 0x13, 0xeb, 0x1b, 0xe1, 0xf9, 0xf0, 0x63, 0x3d, 0x62, 0xbc, - 0x9f, 0xd6, 0xe7, 0x9a, 0x71, 0xf9, 0x73, 0x69, 0x7e, 0x51, 0x71, 0x3e, - 0xa8, 0xa7, 0xf3, 0xd9, 0xf3, 0x66, 0x53, 0x58, 0x9e, 0x4f, 0xd7, 0x57, - 0x7a, 0x74, 0xfc, 0xbd, 0x44, 0x5c, 0x3e, 0xf9, 0x9f, 0xee, 0x50, 0xcb, - 0x27, 0x7f, 0xfe, 0x4f, 0x6a, 0xad, 0x9f, 0xf2, 0xf8, 0x4e, 0x29, 0x3f, - 0xbf, 0xd1, 0x56, 0xe3, 0x67, 0x42, 0x57, 0x9b, 0xff, 0xee, 0x2a, 0x55, - 0xfe, 0xc3, 0xe3, 0x29, 0x5e, 0x3f, 0x90, 0xe8, 0xf7, 0xdd, 0x21, 0xc8, - 0x1f, 0x14, 0xed, 0x6c, 0x6c, 0xbe, 0xf6, 0x17, 0x46, 0x38, 0x3f, 0xb5, - 0xd2, 0xcf, 0xcf, 0xcb, 0xc6, 0xd6, 0x0b, 0xf6, 0x3c, 0xa2, 0xbc, 0xde, - 0x94, 0xca, 0x7e, 0x15, 0x6e, 0x17, 0xf5, 0xd3, 0xae, 0xc2, 0xcf, 0x6f, - 0x34, 0xb5, 0xfd, 0xfa, 0xd7, 0xfd, 0x22, 0xfd, 0x6a, 0xf2, 0x4c, 0x9b, - 0x6a, 0xf4, 0xaf, 0x8f, 0xac, 0xef, 0xd4, 0x4b, 0xf5, 0x0a, 0xe6, 0x8f, - 0x49, 0x7d, 0x8b, 0xdd, 0x8f, 0x4a, 0x1f, 0x5e, 0x48, 0xfc, 0xef, 0x1e, - 0x1b, 0x67, 0x73, 0x3f, 0x35, 0xbf, 0x4f, 0x0b, 0xbb, 0xff, 0xc9, 0xf5, - 0xdc, 0x0c, 0x3b, 0xef, 0xf0, 0x72, 0xe7, 0x2a, 0xac, 0xbf, 0xda, 0x7e, - 0x77, 0xfc, 0x81, 0xda, 0xfa, 0x6f, 0xda, 0x57, 0x25, 0x1f, 0x0e, 0x96, - 0xc4, 0xe5, 0xc3, 0xe1, 0xb5, 0x82, 0xd4, 0x2f, 0x6a, 0x9f, 0xdf, 0x2e, - 0xce, 0x2f, 0x3b, 0xb1, 0xf3, 0x01, 0x98, 0xaf, 0x64, 0x1f, 0x35, 0x6a, - 0x0f, 0xa3, 0xd6, 0x7b, 0xe5, 0x32, 0x35, 0xf9, 0x2c, 0x6e, 0x14, 0xe9, - 0x37, 0xdd, 0xa9, 0xc5, 0xca, 0xff, 0x47, 0x4b, 0xaa, 0x9c, 0xe7, 0xbc, - 0xb8, 0xde, 0xad, 0xf5, 0xe2, 0x79, 0xbe, 0x75, 0x0b, 0xe0, 0xfe, 0x0a, - 0xcf, 0xef, 0x15, 0xe7, 0x8f, 0x49, 0xf3, 0x1b, 0x8e, 0x19, 0xb1, 0xfc, - 0x3c, 0x71, 0xb5, 0xda, 0x7a, 0x6f, 0xa9, 0x53, 0x9b, 0xff, 0xfe, 0x05, - 0x6a, 0xf3, 0xb7, 0xaf, 0x52, 0x9b, 0xff, 0xf7, 0x8a, 0xf5, 0xce, 0x53, - 0x59, 0x45, 0xff, 0xb1, 0x46, 0x6d, 0xfe, 0x86, 0x9b, 0xa6, 0xd7, 0x3f, - 0xc4, 0xf0, 0xdf, 0xbc, 0x41, 0xed, 0x79, 0x5f, 0xf8, 0xa1, 0xa1, 0x76, - 0x9e, 0x7f, 0xac, 0x36, 0xff, 0xd8, 0x6b, 0x6a, 0xf3, 0xbf, 0xfb, 0x49, - 0x35, 0xfe, 0xbf, 0xf5, 0xac, 0x1a, 0xfd, 0x6d, 0x8a, 0xf6, 0x7b, 0x22, - 0x19, 0x3e, 0x5f, 0x07, 0xa3, 0x47, 0x49, 0x7d, 0x8e, 0xc6, 0x9f, 0x20, - 0x23, 0xc4, 0xaf, 0x7e, 0x7d, 0x82, 0xf5, 0x63, 0x44, 0xc4, 0xc3, 0xc5, - 0x25, 0x62, 0x3c, 0xec, 0xb2, 0x78, 0x58, 0xac, 0x67, 0x07, 0xe2, 0x61, - 0x2d, 0xee, 0xbe, 0xf7, 0x9f, 0x16, 0xa5, 0xef, 0xa2, 0xf8, 0x78, 0x2f, - 0xc4, 0x18, 0xd0, 0x8a, 0xc3, 0xda, 0x78, 0xd4, 0xfc, 0x46, 0xc5, 0xf3, - 0xf8, 0x6f, 0x49, 0xa9, 0xbf, 0x41, 0x75, 0xbe, 0xe5, 0xc4, 0xd6, 0xaf, - 0x0f, 0xd7, 0xfc, 0xfd, 0x89, 0x86, 0x69, 0xc5, 0x7f, 0x7f, 0x11, 0x11, - 0x0f, 0xf1, 0x4a, 0x3d, 0x8d, 0xd7, 0x51, 0x3d, 0x27, 0x83, 0xce, 0x3a, - 0xed, 0x1f, 0xc2, 0xfe, 0xd8, 0x4d, 0x66, 0x82, 0xf4, 0x55, 0xea, 0xfb, - 0x3a, 0xb8, 0x3a, 0xb6, 0xbe, 0x5f, 0x59, 0xef, 0x1d, 0x95, 0xf2, 0x5f, - 0x5c, 0x9f, 0xc2, 0xf3, 0x5d, 0x92, 0x7e, 0x99, 0x54, 0xbf, 0x72, 0xed, - 0xd5, 0xea, 0xbf, 0x54, 0xdf, 0x72, 0xac, 0x20, 0xc7, 0xfc, 0xff, 0x2e, - 0xe1, 0xf9, 0x5e, 0xc7, 0x09, 0xcd, 0x6d, 0xbd, 0x30, 0x35, 0x66, 0x92, - 0xe7, 0xbb, 0xc0, 0x25, 0xfd, 0x60, 0x53, 0x9b, 0x40, 0xe9, 0x00, 0xa9, - 0x47, 0xea, 0xb3, 0x71, 0x84, 0x46, 0xdf, 0xdf, 0xba, 0x8f, 0x25, 0xb0, - 0xc9, 0xfb, 0x90, 0x3d, 0x50, 0x23, 0x71, 0x89, 0x49, 0xf3, 0xbc, 0x59, - 0xb6, 0x5f, 0x6f, 0x40, 0xfb, 0xa2, 0x83, 0x71, 0x96, 0x8f, 0x76, 0x07, - 0x59, 0x3f, 0x5d, 0xce, 0xc2, 0xfd, 0x74, 0x88, 0xfe, 0xf6, 0xf9, 0xe3, - 0x68, 0x7e, 0x72, 0x6e, 0x90, 0xfe, 0x45, 0x22, 0xfd, 0x5e, 0xe0, 0x8d, - 0x22, 0xfa, 0xae, 0xe6, 0xe5, 0x11, 0xfd, 0x6a, 0xfd, 0x20, 0xa1, 0xf9, - 0xc2, 0x2e, 0x9c, 0xef, 0xb5, 0x49, 0xfd, 0x9a, 0x6d, 0x65, 0x7d, 0x98, - 0x7e, 0xd1, 0x7a, 0x5f, 0xf9, 0x23, 0x9d, 0xd5, 0x2b, 0xbe, 0xc8, 0x42, - 0x8a, 0x88, 0x7c, 0x0f, 0x92, 0x30, 0xfa, 0xa2, 0x81, 0x05, 0xf0, 0xb3, - 0xa4, 0xf5, 0xe8, 0x15, 0xf4, 0xd8, 0xfa, 0xbc, 0x0f, 0xc3, 0xd6, 0x27, - 0xe7, 0xab, 0x51, 0x3f, 0xcb, 0x72, 0xd4, 0xcf, 0x82, 0xf8, 0x4f, 0xe0, - 0x7e, 0x16, 0xc6, 0x8f, 0x15, 0xc5, 0x3f, 0xd9, 0xbf, 0xab, 0x79, 0x7f, - 0x1c, 0x00, 0xfb, 0x0c, 0x1f, 0x1f, 0x65, 0xe0, 0x5d, 0x0d, 0xf3, 0x6b, - 0x55, 0xf2, 0x0b, 0xc0, 0x75, 0xb2, 0xfc, 0xc9, 0xfb, 0x7b, 0x63, 0x86, - 0x57, 0x34, 0xec, 0x48, 0x7f, 0xf5, 0x92, 0x19, 0x1d, 0xbf, 0xa0, 0x9f, - 0x9f, 0x4d, 0xc4, 0xdf, 0xbf, 0x7f, 0x3e, 0x31, 0xbd, 0xfe, 0xb1, 0x6a, - 0xe7, 0xcb, 0x84, 0xe7, 0x6b, 0x95, 0x19, 0x3c, 0x5f, 0x51, 0xf9, 0x8b, - 0xf0, 0xf3, 0xc4, 0xf7, 0xc3, 0x9a, 0x8f, 0xf5, 0x19, 0x3d, 0xd0, 0x4d, - 0xdb, 0x75, 0x1d, 0xf5, 0xcb, 0x40, 0xa9, 0x11, 0x1c, 0xb0, 0x33, 0x19, - 0x43, 0xaf, 0x1f, 0xfe, 0xa2, 0x36, 0x3c, 0xa0, 0xd9, 0x23, 0xda, 0x78, - 0xcb, 0xd3, 0x76, 0x69, 0xfb, 0xdf, 0x2d, 0xf4, 0x3a, 0xe0, 0x6d, 0x68, - 0xff, 0xac, 0x84, 0x97, 0xf6, 0x96, 0x90, 0x75, 0x58, 0x6d, 0x39, 0x9c, - 0x87, 0x18, 0x9e, 0x8f, 0xf8, 0xf3, 0xbe, 0x43, 0x2c, 0x89, 0x67, 0x7e, - 0xc3, 0x2e, 0x19, 0xe8, 0x3e, 0x6e, 0x31, 0xfb, 0x72, 0xb3, 0xf0, 0x3e, - 0x7b, 0xd5, 0xfe, 0x63, 0xde, 0xff, 0xf4, 0x36, 0x3e, 0xef, 0xfe, 0x6b, - 0x98, 0x2b, 0x88, 0xbe, 0xd1, 0x7c, 0x79, 0xe2, 0x41, 0xde, 0x2f, 0x61, - 0x94, 0x70, 0x7e, 0x2f, 0x0f, 0x8a, 0x24, 0xbf, 0xa7, 0x17, 0x1b, 0x53, - 0x43, 0x06, 0xd1, 0xf0, 0x1d, 0x00, 0xac, 0x67, 0xe7, 0x23, 0x87, 0xf5, - 0x4b, 0x13, 0xf1, 0xd1, 0x6e, 0xb8, 0x69, 0xb1, 0x3f, 0x01, 0x80, 0xaf, - 0x25, 0x51, 0xbf, 0x14, 0x14, 0xf6, 0x38, 0xb5, 0x9c, 0xa5, 0xc5, 0x09, - 0xb6, 0x1f, 0x69, 0x30, 0x1d, 0x7b, 0x2e, 0xe7, 0x73, 0xfe, 0xfd, 0xa0, - 0xd4, 0xff, 0xc9, 0xfa, 0x71, 0x35, 0x50, 0x9c, 0x8f, 0x16, 0x5d, 0x1c, - 0x4a, 0xbb, 0x39, 0xa4, 0x9f, 0x6d, 0xa9, 0x60, 0x3e, 0x1d, 0x5e, 0x92, - 0x3c, 0xb7, 0x55, 0xf9, 0x79, 0xde, 0xdb, 0x07, 0x85, 0xfc, 0x0f, 0xf8, - 0xd5, 0xc1, 0x78, 0xfd, 0xfd, 0xef, 0x83, 0xd3, 0xec, 0xef, 0x94, 0xea, - 0x87, 0x56, 0xc8, 0xfe, 0xa5, 0x51, 0xac, 0xfc, 0x82, 0x18, 0xcf, 0xff, - 0xad, 0xc9, 0xe8, 0x75, 0xeb, 0xc4, 0x5f, 0x33, 0x7f, 0xb2, 0x4b, 0xf2, - 0x2f, 0xbc, 0xbf, 0x5c, 0xa8, 0xef, 0xfd, 0x4f, 0xfc, 0x7a, 0xf8, 0xf3, - 0x7d, 0x87, 0xb7, 0x92, 0x9d, 0x37, 0x01, 0xf6, 0xbf, 0x67, 0x46, 0x61, - 0xbf, 0x7e, 0x9c, 0xa3, 0xf2, 0x17, 0xc6, 0x2b, 0xec, 0x1b, 0xc9, 0x6e, - 0x26, 0x02, 0xf5, 0x38, 0xf4, 0x73, 0x72, 0xa6, 0xf5, 0xe7, 0x03, 0x79, - 0x7f, 0x98, 0xfe, 0xb8, 0xa0, 0xf8, 0xf1, 0xd6, 0xed, 0x3a, 0x7d, 0x3e, - 0xa4, 0x77, 0x95, 0xa8, 0x3f, 0xf2, 0xf7, 0xd0, 0x6a, 0xd4, 0x9f, 0x0f, - 0xcf, 0x95, 0xfe, 0x48, 0xfd, 0x31, 0x96, 0xbc, 0x3f, 0x10, 0xdd, 0x42, - 0x2d, 0x42, 0x5e, 0xa4, 0xfe, 0x18, 0x24, 0x7e, 0x1b, 0xd0, 0xa4, 0x7c, - 0xad, 0xa4, 0x4f, 0x82, 0xfe, 0x80, 0xc4, 0xa1, 0x6a, 0xfa, 0xb3, 0x52, - 0xca, 0x37, 0xd3, 0x7a, 0x79, 0x65, 0x7d, 0xc7, 0x10, 0xe3, 0x6b, 0xb8, *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-stable-9@freebsd.org Tue Sep 6 20:56:01 2016 Return-Path: Delivered-To: svn-src-stable-9@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4E9ABBCCBC0; Tue, 6 Sep 2016 20:56:01 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 15F451C5; Tue, 6 Sep 2016 20:56:01 +0000 (UTC) (envelope-from davidcs@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u86Ku0s2023169; Tue, 6 Sep 2016 20:56:00 GMT (envelope-from davidcs@FreeBSD.org) Received: (from davidcs@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u86KtxTn023158; Tue, 6 Sep 2016 20:55:59 GMT (envelope-from davidcs@FreeBSD.org) Message-Id: <201609062055.u86KtxTn023158@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: davidcs set sender to davidcs@FreeBSD.org using -f From: David C Somayajulu Date: Tue, 6 Sep 2016 20:55:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r305500 - stable/9/sys/dev/qlxgbe X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-9@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 9-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Sep 2016 20:56:01 -0000 Author: davidcs Date: Tue Sep 6 20:55:59 2016 New Revision: 305500 URL: https://svnweb.freebsd.org/changeset/base/305500 Log: MFC 304249 Add support for set/get cam search mode Modified: stable/9/sys/dev/qlxgbe/ql_dbg.h stable/9/sys/dev/qlxgbe/ql_hw.c stable/9/sys/dev/qlxgbe/ql_hw.h stable/9/sys/dev/qlxgbe/ql_isr.c stable/9/sys/dev/qlxgbe/ql_os.c stable/9/sys/dev/qlxgbe/ql_ver.h Directory Properties: stable/9/ (props changed) stable/9/sys/ (props changed) Modified: stable/9/sys/dev/qlxgbe/ql_dbg.h ============================================================================== --- stable/9/sys/dev/qlxgbe/ql_dbg.h Tue Sep 6 20:53:23 2016 (r305499) +++ stable/9/sys/dev/qlxgbe/ql_dbg.h Tue Sep 6 20:55:59 2016 (r305500) @@ -52,6 +52,7 @@ extern void ql_dump_buf32(qla_host_t *ha #define INJCT_MBX_CMD_FAILURE 0x00008 #define INJCT_HEARTBEAT_FAILURE 0x00009 #define INJCT_TEMPERATURE_FAILURE 0x0000A +#define INJCT_M_GETCL_M_GETJCL_FAILURE 0x0000B #ifdef QL_DBG Modified: stable/9/sys/dev/qlxgbe/ql_hw.c ============================================================================== --- stable/9/sys/dev/qlxgbe/ql_hw.c Tue Sep 6 20:53:23 2016 (r305499) +++ stable/9/sys/dev/qlxgbe/ql_hw.c Tue Sep 6 20:55:59 2016 (r305500) @@ -74,6 +74,8 @@ static int qla_query_fw_dcbx_caps(qla_ho static int qla_set_port_config(qla_host_t *ha, uint32_t cfg_bits); static int qla_get_port_config(qla_host_t *ha, uint32_t *cfg_bits); static void qla_get_quick_stats(qla_host_t *ha); +static int qla_set_cam_search_mode(qla_host_t *ha, uint32_t search_mode); +static int qla_get_cam_search_mode(qla_host_t *ha); static void ql_minidump_free(qla_host_t *ha); @@ -94,11 +96,22 @@ qla_sysctl_get_drvr_stats(SYSCTL_HANDLER ha = (qla_host_t *)arg1; - for (i = 0; i < ha->hw.num_sds_rings; i++) + for (i = 0; i < ha->hw.num_sds_rings; i++) { + device_printf(ha->pci_dev, "%s: sds_ring[%d] = %p\n", __func__,i, (void *)ha->hw.sds[i].intr_count); + device_printf(ha->pci_dev, + "%s: sds_ring[%d].spurious_intr_count = %p\n", + __func__, + i, (void *)ha->hw.sds[i].spurious_intr_count); + + device_printf(ha->pci_dev, + "%s: sds_ring[%d].rx_free = %d\n", __func__,i, + ha->hw.sds[i].rx_free); + } + for (i = 0; i < ha->hw.num_tx_rings; i++) device_printf(ha->pci_dev, "%s: tx[%d] = %p\n", __func__,i, @@ -255,6 +268,47 @@ qla_sysctl_set_port_cfg_exit: return err; } +static int +qla_sysctl_set_cam_search_mode(SYSCTL_HANDLER_ARGS) +{ + int err, ret = 0; + qla_host_t *ha; + + err = sysctl_handle_int(oidp, &ret, 0, req); + + if (err || !req->newptr) + return (err); + + ha = (qla_host_t *)arg1; + + if ((ret == Q8_HW_CONFIG_CAM_SEARCH_MODE_INTERNAL) || + (ret == Q8_HW_CONFIG_CAM_SEARCH_MODE_AUTO)) { + err = qla_set_cam_search_mode(ha, (uint32_t)ret); + } else { + device_printf(ha->pci_dev, "%s: ret = %d\n", __func__, ret); + } + + return (err); +} + +static int +qla_sysctl_get_cam_search_mode(SYSCTL_HANDLER_ARGS) +{ + int err, ret = 0; + qla_host_t *ha; + + err = sysctl_handle_int(oidp, &ret, 0, req); + + if (err || !req->newptr) + return (err); + + ha = (qla_host_t *)arg1; + err = qla_get_cam_search_mode(ha); + + return (err); +} + + /* * Name: ql_hw_add_sysctls * Function: Add P3Plus specific sysctls @@ -362,6 +416,24 @@ ql_hw_add_sysctls(qla_host_t *ha) " 1 = xmt only; 2 = rcv only;\n" ); + SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), + OID_AUTO, "set_cam_search_mode", CTLTYPE_INT | CTLFLAG_RW, + (void *)ha, 0, + qla_sysctl_set_cam_search_mode, "I", + "Set CAM Search Mode" + "\t 1 = search mode internal\n" + "\t 2 = search mode auto\n"); + + SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), + OID_AUTO, "get_cam_search_mode", CTLTYPE_INT | CTLFLAG_RW, + (void *)ha, 0, + qla_sysctl_get_cam_search_mode, "I", + "Get CAM Search Mode" + "\t 1 = search mode internal\n" + "\t 2 = search mode auto\n"); + ha->hw.enable_9kb = 1; SYSCTL_ADD_UINT(device_get_sysctl_ctx(dev), @@ -407,7 +479,8 @@ ql_hw_add_sysctls(qla_host_t *ha) "\t\t\t 7: ocm: offchip memory rd_wr failure\n" "\t\t\t 8: mbx: mailbox command failure\n" "\t\t\t 9: heartbeat failure\n" - "\t\t\t A: temperature failure\n" ); + "\t\t\t A: temperature failure\n" + "\t\t\t 11: m_getcl or m_getjcl failure\n" ); SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), @@ -1299,6 +1372,85 @@ qla_config_fw_lro(qla_host_t *ha, uint16 return 0; } +static int +qla_set_cam_search_mode(qla_host_t *ha, uint32_t search_mode) +{ + device_t dev; + q80_hw_config_t *hw_config; + q80_hw_config_rsp_t *hw_config_rsp; + uint32_t err; + + dev = ha->pci_dev; + + hw_config = (q80_hw_config_t *)ha->hw.mbox; + bzero(hw_config, sizeof (q80_hw_config_t)); + + hw_config->opcode = Q8_MBX_HW_CONFIG; + hw_config->count_version = Q8_HW_CONFIG_SET_CAM_SEARCH_MODE_COUNT; + hw_config->count_version |= Q8_MBX_CMD_VERSION; + + hw_config->cmd = Q8_HW_CONFIG_SET_CAM_SEARCH_MODE; + + hw_config->u.set_cam_search_mode.mode = search_mode; + + if (qla_mbx_cmd(ha, (uint32_t *)hw_config, + (sizeof (q80_hw_config_t) >> 2), + ha->hw.mbox, (sizeof (q80_hw_config_rsp_t) >> 2), 0)) { + device_printf(dev, "%s: failed\n", __func__); + return -1; + } + hw_config_rsp = (q80_hw_config_rsp_t *)ha->hw.mbox; + + err = Q8_MBX_RSP_STATUS(hw_config_rsp->regcnt_status); + + if (err) { + device_printf(dev, "%s: failed [0x%08x]\n", __func__, err); + } + + return 0; +} + +static int +qla_get_cam_search_mode(qla_host_t *ha) +{ + device_t dev; + q80_hw_config_t *hw_config; + q80_hw_config_rsp_t *hw_config_rsp; + uint32_t err; + + dev = ha->pci_dev; + + hw_config = (q80_hw_config_t *)ha->hw.mbox; + bzero(hw_config, sizeof (q80_hw_config_t)); + + hw_config->opcode = Q8_MBX_HW_CONFIG; + hw_config->count_version = Q8_HW_CONFIG_GET_CAM_SEARCH_MODE_COUNT; + hw_config->count_version |= Q8_MBX_CMD_VERSION; + + hw_config->cmd = Q8_HW_CONFIG_GET_CAM_SEARCH_MODE; + + if (qla_mbx_cmd(ha, (uint32_t *)hw_config, + (sizeof (q80_hw_config_t) >> 2), + ha->hw.mbox, (sizeof (q80_hw_config_rsp_t) >> 2), 0)) { + device_printf(dev, "%s: failed\n", __func__); + return -1; + } + hw_config_rsp = (q80_hw_config_rsp_t *)ha->hw.mbox; + + err = Q8_MBX_RSP_STATUS(hw_config_rsp->regcnt_status); + + if (err) { + device_printf(dev, "%s: failed [0x%08x]\n", __func__, err); + } else { + device_printf(dev, "%s: cam search mode [0x%08x]\n", __func__, + hw_config_rsp->u.get_cam_search_mode.mode); + } + + return 0; +} + + + static void qla_xmt_stats(qla_host_t *ha, q80_xmt_stats_t *xstat, int i) { Modified: stable/9/sys/dev/qlxgbe/ql_hw.h ============================================================================== --- stable/9/sys/dev/qlxgbe/ql_hw.h Tue Sep 6 20:53:23 2016 (r305499) +++ stable/9/sys/dev/qlxgbe/ql_hw.h Tue Sep 6 20:55:59 2016 (r305500) @@ -255,6 +255,7 @@ #define Q8_MBX_LINK_EVENT_REQ 0x0048 #define Q8_MBX_CONFIG_MAC_RX_MODE 0x0049 #define Q8_MBX_CONFIG_FW_LRO 0x004A +#define Q8_MBX_HW_CONFIG 0x004C #define Q8_MBX_INIT_NIC_FUNC 0x0060 #define Q8_MBX_STOP_NIC_FUNC 0x0061 #define Q8_MBX_IDC_REQ 0x0062 @@ -622,6 +623,87 @@ typedef struct _q80_config_md_templ_cmd_ } __packed q80_config_md_templ_cmd_rsp_t; /* + * Hardware Configuration Commands + */ + +typedef struct _q80_hw_config { + uint16_t opcode; + uint16_t count_version; +#define Q8_HW_CONFIG_SET_MDIO_REG_COUNT 0x06 +#define Q8_HW_CONFIG_GET_MDIO_REG_COUNT 0x05 +#define Q8_HW_CONFIG_SET_CAM_SEARCH_MODE_COUNT 0x03 +#define Q8_HW_CONFIG_GET_CAM_SEARCH_MODE_COUNT 0x02 +#define Q8_HW_CONFIG_SET_TEMP_THRESHOLD_COUNT 0x03 +#define Q8_HW_CONFIG_GET_TEMP_THRESHOLD_COUNT 0x02 +#define Q8_HW_CONFIG_GET_ECC_COUNTS_COUNT 0x02 + + uint32_t cmd; +#define Q8_HW_CONFIG_SET_MDIO_REG 0x01 +#define Q8_HW_CONFIG_GET_MDIO_REG 0x02 +#define Q8_HW_CONFIG_SET_CAM_SEARCH_MODE 0x03 +#define Q8_HW_CONFIG_GET_CAM_SEARCH_MODE 0x04 +#define Q8_HW_CONFIG_SET_TEMP_THRESHOLD 0x07 +#define Q8_HW_CONFIG_GET_TEMP_THRESHOLD 0x08 +#define Q8_HW_CONFIG_GET_ECC_COUNTS 0x0A + + union { + struct { + uint32_t phys_port_number; + uint32_t phy_dev_addr; + uint32_t reg_addr; + uint32_t data; + } set_mdio; + + struct { + uint32_t phys_port_number; + uint32_t phy_dev_addr; + uint32_t reg_addr; + } get_mdio; + + struct { + uint32_t mode; +#define Q8_HW_CONFIG_CAM_SEARCH_MODE_INTERNAL 0x1 +#define Q8_HW_CONFIG_CAM_SEARCH_MODE_AUTO 0x2 + + } set_cam_search_mode; + + struct { + uint32_t value; + } set_temp_threshold; + } u; +} __packed q80_hw_config_t; + +typedef struct _q80_hw_config_rsp { + uint16_t opcode; + uint16_t regcnt_status; + + union { + struct { + uint32_t value; + } get_mdio; + + struct { + uint32_t mode; + } get_cam_search_mode; + + struct { + uint32_t temp_warn; + uint32_t curr_temp; + uint32_t osc_ring_rate; + uint32_t core_voltage; + } get_temp_threshold; + + struct { + uint32_t ddr_ecc_error_count; + uint32_t ocm_ecc_error_count; + uint32_t l2_dcache_ecc_error_count; + uint32_t l2_icache_ecc_error_count; + uint32_t eport_ecc_error_count; + } get_ecc_counts; + } u; +} __packed q80_hw_config_rsp_t; + +/* * Link Event Request Command */ typedef struct _q80_link_event { @@ -1407,6 +1489,7 @@ typedef struct _qla_sds { volatile uint32_t rcv_active; uint32_t sds_consumer; uint64_t intr_count; + uint64_t spurious_intr_count; } qla_sds_t; #define Q8_MAX_LRO_CONT_DESC 7 Modified: stable/9/sys/dev/qlxgbe/ql_isr.c ============================================================================== --- stable/9/sys/dev/qlxgbe/ql_isr.c Tue Sep 6 20:53:23 2016 (r305499) +++ stable/9/sys/dev/qlxgbe/ql_isr.c Tue Sep 6 20:55:59 2016 (r305500) @@ -464,6 +464,8 @@ qla_rcv_isr(qla_host_t *ha, uint32_t sds qla_sgl_comp_t sgc; uint16_t nhandles; uint32_t sds_replenish_threshold = 0; + uint32_t r_idx = 0; + qla_sds_t *sdsp; dev = ha->pci_dev; hw = &ha->hw; @@ -706,8 +708,18 @@ qla_rcv_isr(qla_host_t *ha, uint32_t sds if (hw->sds[sds_idx].sdsr_next != comp_idx) { QL_UPDATE_SDS_CONSUMER_INDEX(ha, sds_idx, comp_idx); + hw->sds[sds_idx].sdsr_next = comp_idx; + } else { + hw->sds[sds_idx].spurious_intr_count++; + + if (ha->hw.num_rds_rings > 1) + r_idx = sds_idx; + + sdsp = &ha->hw.sds[sds_idx]; + + if (sdsp->rx_free > ha->std_replenish) + qla_replenish_normal_rx(ha, sdsp, r_idx); } - hw->sds[sds_idx].sdsr_next = comp_idx; sdesc = (q80_stat_desc_t *)&hw->sds[sds_idx].sds_ring_base[comp_idx]; opcode = Q8_STAT_DESC_OPCODE((sdesc->data[1])); @@ -827,6 +839,20 @@ ql_mbx_isr(void *arg) device_printf(ha->pci_dev, "%s: sfp removed]\n", __func__); break; + case 0x8140: + { + uint32_t ombx[3]; + + ombx[0] = READ_REG32(ha, (Q8_FW_MBOX0 + 4)); + ombx[1] = READ_REG32(ha, (Q8_FW_MBOX0 + 8)); + ombx[2] = READ_REG32(ha, (Q8_FW_MBOX0 + 12)); + + device_printf(ha->pci_dev, "%s: " + "0x%08x 0x%08x 0x%08x 0x%08x \n", + __func__, data, ombx[0], ombx[1], ombx[2]); + } + break; + default: device_printf(ha->pci_dev, "%s: AEN[0x%08x]\n", __func__, data); break; @@ -873,8 +899,8 @@ qla_replenish_normal_rx(qla_host_t *ha, rdesc->rx_next = 0; } else { device_printf(ha->pci_dev, - "%s: ql_get_mbuf [0,(%d),(%d)] failed\n", - __func__, rdesc->rx_in, rxb->handle); + "%s: qla_get_mbuf [(%d),(%d),(%d)] failed\n", + __func__, r_idx, rdesc->rx_in, rxb->handle); rxb->m_head = NULL; rxb->next = sdsp->rxb_free; Modified: stable/9/sys/dev/qlxgbe/ql_os.c ============================================================================== --- stable/9/sys/dev/qlxgbe/ql_os.c Tue Sep 6 20:53:23 2016 (r305499) +++ stable/9/sys/dev/qlxgbe/ql_os.c Tue Sep 6 20:55:59 2016 (r305500) @@ -1595,6 +1595,9 @@ ql_get_mbuf(qla_host_t *ha, qla_rx_buf_t if (mp == NULL) { + if (QL_ERR_INJECT(ha, INJCT_M_GETCL_M_GETJCL_FAILURE)) + return(-1); + if (ha->hw.enable_9kb) mp = m_getjcl(M_NOWAIT, MT_DATA, M_PKTHDR, mbuf_size); else Modified: stable/9/sys/dev/qlxgbe/ql_ver.h ============================================================================== --- stable/9/sys/dev/qlxgbe/ql_ver.h Tue Sep 6 20:53:23 2016 (r305499) +++ stable/9/sys/dev/qlxgbe/ql_ver.h Tue Sep 6 20:55:59 2016 (r305500) @@ -36,6 +36,6 @@ #define QLA_VERSION_MAJOR 3 #define QLA_VERSION_MINOR 10 -#define QLA_VERSION_BUILD 29 +#define QLA_VERSION_BUILD 30 #endif /* #ifndef _QL_VER_H_ */ From owner-svn-src-stable-9@freebsd.org Wed Sep 7 18:22:09 2016 Return-Path: Delivered-To: svn-src-stable-9@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 735F0BD0A10; Wed, 7 Sep 2016 18:22:09 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5175A6C9; Wed, 7 Sep 2016 18:22:09 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u87IM8HX013622; Wed, 7 Sep 2016 18:22:08 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u87IM8MT013619; Wed, 7 Sep 2016 18:22:08 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201609071822.u87IM8MT013619@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 7 Sep 2016 18:22:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r305552 - in stable: 10/contrib/telnet/libtelnet 10/contrib/telnet/telnet 10/usr.bin/newkey 11/contrib/telnet/libtelnet 11/contrib/telnet/telnet 11/usr.bin/newkey 9/contrib/telnet/libte... X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-9@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 9-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Sep 2016 18:22:09 -0000 Author: dim Date: Wed Sep 7 18:22:08 2016 New Revision: 305552 URL: https://svnweb.freebsd.org/changeset/base/305552 Log: MFC r305077: Squelch clang 3.9.0 warnings about BASE (which is 32768) being converted to -32768 when it is used as an argument to mp_itom(), in both libtelnet and newkey. This code has been wrong since r26238 (!), so after almost 20 years it is rather useless to try to correct it. MFC r305086: Fix warnings in telnet about invalid constant conversions, e.g.: contrib/telnet/telnet/commands.c:2914:13: error: implicit conversion from 'int' to 'char' changes value from 137 to -119 [-Werror,-Wconstant-conversion] *lsrp++ = IPOPT_SSRR; ~ ^~~~~~~~~~ /usr/include/netinet/ip.h:152:21: note: expanded from macro 'IPOPT_SSRR' #define IPOPT_SSRR 137 /* strict source route */ ^~~ contrib/telnet/telnet/commands.c:2916:13: error: implicit conversion from 'int' to 'char' changes value from 131 to -125 [-Werror,-Wconstant-conversion] *lsrp++ = IPOPT_LSRR; ~ ^~~~~~~~~~ /usr/include/netinet/ip.h:148:21: note: expanded from macro 'IPOPT_LSRR' #define IPOPT_LSRR 131 /* loose source route */ ^~~ Use unsigned char buffers instead. Modified: stable/9/contrib/telnet/libtelnet/pk.c stable/9/contrib/telnet/telnet/commands.c stable/9/usr.bin/newkey/generic.c Directory Properties: stable/9/ (props changed) stable/9/contrib/ (props changed) stable/9/contrib/telnet/ (props changed) stable/9/usr.bin/ (props changed) Changes in other areas also in this revision: Modified: stable/10/contrib/telnet/libtelnet/pk.c stable/10/contrib/telnet/telnet/commands.c stable/10/usr.bin/newkey/generic.c stable/11/contrib/telnet/libtelnet/pk.c stable/11/contrib/telnet/telnet/commands.c stable/11/usr.bin/newkey/generic.c Directory Properties: stable/10/ (props changed) stable/11/ (props changed) Modified: stable/9/contrib/telnet/libtelnet/pk.c ============================================================================== --- stable/9/contrib/telnet/libtelnet/pk.c Wed Sep 7 18:20:49 2016 (r305551) +++ stable/9/contrib/telnet/libtelnet/pk.c Wed Sep 7 18:22:08 2016 (r305552) @@ -164,7 +164,7 @@ genkeys(char *public, char *secret) MINT *pk = mp_itom(0); MINT *sk = mp_itom(0); MINT *tmp; - MINT *base = mp_itom(BASE); + MINT *base = mp_itom((short)BASE); MINT *root = mp_itom(PROOT); MINT *modulus = mp_xtom(HEXMODULUS); short r; Modified: stable/9/contrib/telnet/telnet/commands.c ============================================================================== --- stable/9/contrib/telnet/telnet/commands.c Wed Sep 7 18:20:49 2016 (r305551) +++ stable/9/contrib/telnet/telnet/commands.c Wed Sep 7 18:22:08 2016 (r305552) @@ -112,7 +112,7 @@ static int send_tncmd(void (*)(int, int) static int setmod(int); static int clearmode(int); static int modehelp(void); -static int sourceroute(struct addrinfo *, char *, char **, int *, int *, int *); +static int sourceroute(struct addrinfo *, char *, unsigned char **, int *, int *, int *); typedef struct { const char *name; /* command name */ @@ -2171,7 +2171,7 @@ switch_af(struct addrinfo **aip) int tn(int argc, char *argv[]) { - char *srp = 0; + unsigned char *srp = 0; int proto, opt; int srlen; int srcroute = 0, result; @@ -2844,10 +2844,10 @@ cmdrc(char *m1, char *m2) * setsockopt, as socket protocol family. */ static int -sourceroute(struct addrinfo *ai, char *arg, char **cpp, int *lenp, int *protop, int *optp) +sourceroute(struct addrinfo *ai, char *arg, unsigned char **cpp, int *lenp, int *protop, int *optp) { static char buf[1024 + ALIGNBYTES]; /*XXX*/ - char *cp, *cp2, *lsrp, *ep; + unsigned char *cp, *cp2, *lsrp, *ep; struct sockaddr_in *_sin; #ifdef INET6 struct sockaddr_in6 *sin6; Modified: stable/9/usr.bin/newkey/generic.c ============================================================================== --- stable/9/usr.bin/newkey/generic.c Wed Sep 7 18:20:49 2016 (r305551) +++ stable/9/usr.bin/newkey/generic.c Wed Sep 7 18:22:08 2016 (r305552) @@ -82,7 +82,7 @@ genkeys(char *public, char *secret, char MINT *pk = mp_itom(0); MINT *sk = mp_itom(0); MINT *tmp; - MINT *base = mp_itom(BASE); + MINT *base = mp_itom((short)BASE); MINT *root = mp_itom(PROOT); MINT *modulus = mp_xtom(HEXMODULUS); short r; From owner-svn-src-stable-9@freebsd.org Wed Sep 7 18:33:19 2016 Return-Path: Delivered-To: svn-src-stable-9@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8BA81BD0D49; Wed, 7 Sep 2016 18:33:19 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 585BCF20; Wed, 7 Sep 2016 18:33:19 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u87IXIR8017462; Wed, 7 Sep 2016 18:33:18 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u87IXIR5017461; Wed, 7 Sep 2016 18:33:18 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201609071833.u87IXIR5017461@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 7 Sep 2016 18:33:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r305553 - in stable: 10/contrib/tnftp/src 11/contrib/tnftp/src 9/contrib/tnftp/src X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-9@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 9-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Sep 2016 18:33:19 -0000 Author: dim Date: Wed Sep 7 18:33:18 2016 New Revision: 305553 URL: https://svnweb.freebsd.org/changeset/base/305553 Log: MFC r305085: Fix warnings in tnftp about invalid constant conversions, e.g.: contrib/tnftp/src/ftp.c:2067:11: error: implicit conversion from 'int' to 'char' changes value from 255 to -1 [-Werror,-Wconstant-conversion] buf[0] = IAC; ~ ^~~ /usr/include/arpa/telnet.h:39:13: note: expanded from macro 'IAC' #define IAC 255 /* interpret as command: */ ^~~ contrib/tnftp/src/ftp.c:2068:11: error: implicit conversion from 'int' to 'char' changes value from 244 to -12 [-Werror,-Wconstant-conversion] buf[1] = IP; ~ ^~ /usr/include/arpa/telnet.h:50:12: note: expanded from macro 'IP' #define IP 244 /* interrupt process--permanently */ ^~~ Use an unsigned char buffer instead. Modified: stable/9/contrib/tnftp/src/ftp.c Directory Properties: stable/9/ (props changed) stable/9/contrib/ (props changed) stable/9/contrib/tnftp/ (props changed) Changes in other areas also in this revision: Modified: stable/10/contrib/tnftp/src/ftp.c stable/11/contrib/tnftp/src/ftp.c Directory Properties: stable/10/ (props changed) stable/11/ (props changed) Modified: stable/9/contrib/tnftp/src/ftp.c ============================================================================== --- stable/9/contrib/tnftp/src/ftp.c Wed Sep 7 18:22:08 2016 (r305552) +++ stable/9/contrib/tnftp/src/ftp.c Wed Sep 7 18:33:18 2016 (r305553) @@ -2050,7 +2050,7 @@ abort_squared(int dummy) void abort_remote(FILE *din) { - char buf[BUFSIZ]; + unsigned char buf[BUFSIZ]; int nfnd; if (cout == NULL) { From owner-svn-src-stable-9@freebsd.org Wed Sep 7 19:02:49 2016 Return-Path: Delivered-To: svn-src-stable-9@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 087CEBCF658; Wed, 7 Sep 2016 19:02:49 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DA8777FB; Wed, 7 Sep 2016 19:02:48 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u87J2mJ4029052; Wed, 7 Sep 2016 19:02:48 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u87J2lAs029049; Wed, 7 Sep 2016 19:02:47 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201609071902.u87J2lAs029049@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 7 Sep 2016 19:02:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r305555 - in stable: 10/sys/dev/ppbus 11/sys/dev/ppbus 9/sys/dev/ppbus X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-9@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 9-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Sep 2016 19:02:49 -0000 Author: dim Date: Wed Sep 7 19:02:47 2016 New Revision: 305555 URL: https://svnweb.freebsd.org/changeset/base/305555 Log: MFC r305345: With clang 3.9.0, compiling ppbus(4) results in the following warnings: sys/dev/ppbus/ppb_1284.c:296:46: error: implicit conversion from 'int' to 'char' changes value from 144 to -112 [-Werror,-Wconstant-conversion] if ((error = do_peripheral_wait(bus, SELECT | nBUSY, 0))) { ~~~~~~~~~~~~~~~~~~ ~~~~~~~^~~~~~~ sys/dev/ppbus/ppb_1284.c:785:48: error: implicit conversion from 'int' to 'char' changes value from 240 to -16 [-Werror,-Wconstant-conversion] if (do_1284_wait(bus, nACK | SELECT | PERROR | nBUSY, ~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ sys/dev/ppbus/ppb_1284.c:786:29: error: implicit conversion from 'int' to 'char' changes value from 240 to -16 [-Werror,-Wconstant-conversion] nACK | SELECT | PERROR | nBUSY)) { ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ This is because nBUSY is 0x80, so the plain char argument is wrapped to a negative value. Fix this in a minimal fashion, by using uint8_t in a few places. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D7771 Modified: stable/9/sys/dev/ppbus/ppb_1284.c stable/9/sys/dev/ppbus/ppb_base.c stable/9/sys/dev/ppbus/ppbconf.h Directory Properties: stable/9/ (props changed) stable/9/sys/ (props changed) Changes in other areas also in this revision: Modified: stable/10/sys/dev/ppbus/ppb_1284.c stable/10/sys/dev/ppbus/ppb_base.c stable/10/sys/dev/ppbus/ppbconf.h stable/11/sys/dev/ppbus/ppb_1284.c stable/11/sys/dev/ppbus/ppb_base.c stable/11/sys/dev/ppbus/ppbconf.h Directory Properties: stable/10/ (props changed) stable/11/ (props changed) Modified: stable/9/sys/dev/ppbus/ppb_1284.c ============================================================================== --- stable/9/sys/dev/ppbus/ppb_1284.c Wed Sep 7 18:53:46 2016 (r305554) +++ stable/9/sys/dev/ppbus/ppb_1284.c Wed Sep 7 19:02:47 2016 (r305555) @@ -57,13 +57,13 @@ __FBSDID("$FreeBSD$"); * Wait for the peripherial up to 40ms */ static int -do_1284_wait(device_t bus, char mask, char status) +do_1284_wait(device_t bus, uint8_t mask, uint8_t status) { return (ppb_poll_bus(bus, 4, mask, status, PPB_NOINTR | PPB_POLL)); } static int -do_peripheral_wait(device_t bus, char mask, char status) +do_peripheral_wait(device_t bus, uint8_t mask, uint8_t status) { return (ppb_poll_bus(bus, 100, mask, status, PPB_NOINTR | PPB_POLL)); } Modified: stable/9/sys/dev/ppbus/ppb_base.c ============================================================================== --- stable/9/sys/dev/ppbus/ppb_base.c Wed Sep 7 18:53:46 2016 (r305554) +++ stable/9/sys/dev/ppbus/ppb_base.c Wed Sep 7 19:02:47 2016 (r305555) @@ -54,11 +54,11 @@ MODULE_VERSION(ppbus, 1); */ int ppb_poll_bus(device_t bus, int max, - char mask, char status, int how) + uint8_t mask, uint8_t status, int how) { struct ppb_data *ppb = DEVTOSOFTC(bus); int i, j, error; - char r; + uint8_t r; ppb_assert_locked(bus); @@ -186,7 +186,7 @@ ppb_ecp_sync(device_t bus) int ppb_get_status(device_t bus, struct ppb_status *status) { - register char r; + uint8_t r; ppb_assert_locked(bus); Modified: stable/9/sys/dev/ppbus/ppbconf.h ============================================================================== --- stable/9/sys/dev/ppbus/ppbconf.h Wed Sep 7 18:53:46 2016 (r305554) +++ stable/9/sys/dev/ppbus/ppbconf.h Wed Sep 7 19:02:47 2016 (r305555) @@ -263,7 +263,7 @@ extern void _ppb_assert_locked(device_t, extern void ppb_init_callout(device_t, struct callout *, int); extern int ppb_sleep(device_t, void *, int, const char *, int); extern int ppb_get_status(device_t, struct ppb_status *); -extern int ppb_poll_bus(device_t, int, char, char, int); +extern int ppb_poll_bus(device_t, int, uint8_t, uint8_t, int); extern int ppb_reset_epp_timeout(device_t); extern int ppb_ecp_sync(device_t); extern int ppb_get_epp_protocol(device_t); From owner-svn-src-stable-9@freebsd.org Wed Sep 7 19:17:04 2016 Return-Path: Delivered-To: svn-src-stable-9@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F103EBCFCAF; Wed, 7 Sep 2016 19:17:04 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C18D3270; Wed, 7 Sep 2016 19:17:04 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u87JH31F033013; Wed, 7 Sep 2016 19:17:03 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u87JH3qY033012; Wed, 7 Sep 2016 19:17:03 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201609071917.u87JH3qY033012@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 7 Sep 2016 19:17:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r305556 - in stable: 10/sys/dev/cxgb 11/sys/dev/cxgb 9/sys/dev/cxgb X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-9@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 9-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Sep 2016 19:17:05 -0000 Author: dim Date: Wed Sep 7 19:17:03 2016 New Revision: 305556 URL: https://svnweb.freebsd.org/changeset/base/305556 Log: MFC r305360: With clang 3.9.0, compiling cxgb results in the following warning: sys/dev/cxgb/cxgb_sge.c:2873:44: error: implicit conversion from 'int' to 'char' changes value from 128 to -128 [-Werror,-Wconstant-conversion] *mtod(m, char *) = CPL_ASYNC_NOTIF; ~ ^~~~~~~~~~~~~~~ This is because CPL_ASYNC_NOTIF is 0x80, so the plain char argument is wrapped to a negative value. Fix this by using uint8_t instead. Reviewed by: np Differential Revision: https://reviews.freebsd.org/D7772 Modified: stable/9/sys/dev/cxgb/cxgb_sge.c Directory Properties: stable/9/ (props changed) stable/9/sys/ (props changed) Changes in other areas also in this revision: Modified: stable/10/sys/dev/cxgb/cxgb_sge.c stable/11/sys/dev/cxgb/cxgb_sge.c Directory Properties: stable/10/ (props changed) stable/11/ (props changed) Modified: stable/9/sys/dev/cxgb/cxgb_sge.c ============================================================================== --- stable/9/sys/dev/cxgb/cxgb_sge.c Wed Sep 7 19:02:47 2016 (r305555) +++ stable/9/sys/dev/cxgb/cxgb_sge.c Wed Sep 7 19:17:03 2016 (r305556) @@ -2876,7 +2876,7 @@ process_responses(adapter_t *adap, struc memcpy(mtod(m, char *), r, AN_PKT_SIZE); m->m_len = m->m_pkthdr.len = AN_PKT_SIZE; - *mtod(m, char *) = CPL_ASYNC_NOTIF; + *mtod(m, uint8_t *) = CPL_ASYNC_NOTIF; opcode = CPL_ASYNC_NOTIF; eop = 1; rspq->async_notif++; From owner-svn-src-stable-9@freebsd.org Wed Sep 7 19:21:54 2016 Return-Path: Delivered-To: svn-src-stable-9@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 04589BCFFCA; Wed, 7 Sep 2016 19:21:54 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AC5B8C50; Wed, 7 Sep 2016 19:21:53 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u87JLqaP036701; Wed, 7 Sep 2016 19:21:52 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u87JLqsk036700; Wed, 7 Sep 2016 19:21:52 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201609071921.u87JLqsk036700@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 7 Sep 2016 19:21:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r305557 - in stable: 10/sys/dev/usb/serial 11/sys/dev/usb/serial 9/sys/dev/usb/serial X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-9@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 9-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Sep 2016 19:21:54 -0000 Author: dim Date: Wed Sep 7 19:21:52 2016 New Revision: 305557 URL: https://svnweb.freebsd.org/changeset/base/305557 Log: MFC r305388: With clang 3.9.0, compiling uplcom results in the following warnings: sys/dev/usb/serial/uplcom.c:543:29: error: implicit conversion from 'int' to 'int8_t' (aka 'signed char') changes value from 192 to -64 [-Werror,-Wconstant-conversion] if (uplcom_pl2303_do(udev, UT_READ_VENDOR_DEVICE, UPLCOM_SET_REQUEST, 0x8484, 0, 1) ~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~ sys/dev/usb/usb.h:179:53: note: expanded from macro 'UT_READ_VENDOR_DEVICE' #define UT_READ_VENDOR_DEVICE (UT_READ | UT_VENDOR | UT_DEVICE) ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ This is because UT_READ is 0x80, so the int8_t argument is wrapped to a negative value. Fix this by using uint8_t instead. Reviewed by: imp, hselasky Differential Revision: https://reviews.freebsd.org/D7776 Modified: stable/9/sys/dev/usb/serial/uplcom.c Directory Properties: stable/9/ (props changed) stable/9/sys/ (props changed) Changes in other areas also in this revision: Modified: stable/10/sys/dev/usb/serial/uplcom.c stable/11/sys/dev/usb/serial/uplcom.c Directory Properties: stable/10/ (props changed) stable/11/ (props changed) Modified: stable/9/sys/dev/usb/serial/uplcom.c ============================================================================== --- stable/9/sys/dev/usb/serial/uplcom.c Wed Sep 7 19:17:03 2016 (r305556) +++ stable/9/sys/dev/usb/serial/uplcom.c Wed Sep 7 19:21:52 2016 (r305557) @@ -166,7 +166,7 @@ struct uplcom_softc { /* prototypes */ static usb_error_t uplcom_reset(struct uplcom_softc *, struct usb_device *); -static usb_error_t uplcom_pl2303_do(struct usb_device *, int8_t, uint8_t, +static usb_error_t uplcom_pl2303_do(struct usb_device *, uint8_t, uint8_t, uint16_t, uint16_t, uint16_t); static int uplcom_pl2303_init(struct usb_device *, uint8_t); static void uplcom_free(struct ucom_softc *); @@ -513,7 +513,7 @@ uplcom_reset(struct uplcom_softc *sc, st } static usb_error_t -uplcom_pl2303_do(struct usb_device *udev, int8_t req_type, uint8_t request, +uplcom_pl2303_do(struct usb_device *udev, uint8_t req_type, uint8_t request, uint16_t value, uint16_t index, uint16_t length) { struct usb_device_request req; From owner-svn-src-stable-9@freebsd.org Wed Sep 7 19:25:10 2016 Return-Path: Delivered-To: svn-src-stable-9@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 25AC0BD0314; Wed, 7 Sep 2016 19:25:10 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D39F511CC; Wed, 7 Sep 2016 19:25:09 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u87JP9mJ036910; Wed, 7 Sep 2016 19:25:09 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u87JP927036909; Wed, 7 Sep 2016 19:25:09 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201609071925.u87JP927036909@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 7 Sep 2016 19:25:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r305558 - in stable: 10/sys/netinet 11/sys/netinet 9/sys/netinet X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-9@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 9-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Sep 2016 19:25:10 -0000 Author: dim Date: Wed Sep 7 19:25:08 2016 New Revision: 305558 URL: https://svnweb.freebsd.org/changeset/base/305558 Log: MFC r305389: With clang 3.9.0, compiling sys/netinet/igmp.c results in the following warning: sys/netinet/igmp.c:546:21: error: implicit conversion from 'int' to 'char' changes value from 148 to -108 [-Werror,-Wconstant-conversion] p->ipopt_list[0] = IPOPT_RA; /* Router Alert Option */ ~ ^~~~~~~~ sys/netinet/ip.h:153:19: note: expanded from macro 'IPOPT_RA' #define IPOPT_RA 148 /* router alert */ ^~~ This is because ipopt_list is an array of char, so IPOPT_RA is wrapped to a negative value. It would be nice to change ipopt_list to an array of u_char, but it changes the signature of the public struct ipoption, so add an explicit cast to suppress the warning. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D7777 Modified: stable/9/sys/netinet/igmp.c Directory Properties: stable/9/ (props changed) stable/9/sys/ (props changed) Changes in other areas also in this revision: Modified: stable/10/sys/netinet/igmp.c stable/11/sys/netinet/igmp.c Directory Properties: stable/10/ (props changed) stable/11/ (props changed) Modified: stable/9/sys/netinet/igmp.c ============================================================================== --- stable/9/sys/netinet/igmp.c Wed Sep 7 19:21:52 2016 (r305557) +++ stable/9/sys/netinet/igmp.c Wed Sep 7 19:25:08 2016 (r305558) @@ -526,10 +526,10 @@ igmp_ra_alloc(void) MGET(m, M_DONTWAIT, MT_DATA); p = mtod(m, struct ipoption *); p->ipopt_dst.s_addr = INADDR_ANY; - p->ipopt_list[0] = IPOPT_RA; /* Router Alert Option */ - p->ipopt_list[1] = 0x04; /* 4 bytes long */ - p->ipopt_list[2] = IPOPT_EOL; /* End of IP option list */ - p->ipopt_list[3] = 0x00; /* pad byte */ + p->ipopt_list[0] = (char)IPOPT_RA; /* Router Alert Option */ + p->ipopt_list[1] = 0x04; /* 4 bytes long */ + p->ipopt_list[2] = IPOPT_EOL; /* End of IP option list */ + p->ipopt_list[3] = 0x00; /* pad byte */ m->m_len = sizeof(p->ipopt_dst) + p->ipopt_list[1]; return (m); From owner-svn-src-stable-9@freebsd.org Fri Sep 9 06:31:26 2016 Return-Path: Delivered-To: svn-src-stable-9@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 49953BD14F8; Fri, 9 Sep 2016 06:31:26 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 198F68DB; Fri, 9 Sep 2016 06:31:26 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u896VPIf038806; Fri, 9 Sep 2016 06:31:25 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u896VP66038805; Fri, 9 Sep 2016 06:31:25 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201609090631.u896VP66038805@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Fri, 9 Sep 2016 06:31:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r305642 - stable/9/lib/libusb X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-9@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 9-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Sep 2016 06:31:26 -0000 Author: hselasky Date: Fri Sep 9 06:31:25 2016 New Revision: 305642 URL: https://svnweb.freebsd.org/changeset/base/305642 Log: MFC r305284: Fix array size issue when using the pre-scaling feature for ISOCHRONOUS USB transfers. Make sure enough length and buffer pointers are allocated when setting up the libusb transfer structure to support the maximum number of frames the kernel can handle. Modified: stable/9/lib/libusb/libusb20.c Directory Properties: stable/9/lib/ (props changed) stable/9/lib/libusb/ (props changed) Modified: stable/9/lib/libusb/libusb20.c ============================================================================== --- stable/9/lib/libusb/libusb20.c Fri Sep 9 06:27:25 2016 (r305641) +++ stable/9/lib/libusb/libusb20.c Fri Sep 9 06:31:25 2016 (r305642) @@ -165,6 +165,12 @@ libusb20_tr_open(struct libusb20_transfe return (LIBUSB20_ERROR_BUSY); if (MaxFrameCount & LIBUSB20_MAX_FRAME_PRE_SCALE) { MaxFrameCount &= ~LIBUSB20_MAX_FRAME_PRE_SCALE; + /* + * The kernel can setup 8 times more frames when + * pre-scaling ISOCHRONOUS transfers. Make sure the + * length and pointer buffers are big enough: + */ + MaxFrameCount *= 8; pre_scale = 1; } else { pre_scale = 0; @@ -189,8 +195,13 @@ libusb20_tr_open(struct libusb20_transfe } memset(xfer->ppBuffer, 0, size); - error = xfer->pdev->methods->tr_open(xfer, MaxBufSize, - MaxFrameCount, ep_no, pre_scale); + if (pre_scale) { + error = xfer->pdev->methods->tr_open(xfer, MaxBufSize, + MaxFrameCount / 8, ep_no, 1); + } else { + error = xfer->pdev->methods->tr_open(xfer, MaxBufSize, + MaxFrameCount, ep_no, 0); + } if (error) { free(xfer->ppBuffer); From owner-svn-src-stable-9@freebsd.org Fri Sep 9 06:41:17 2016 Return-Path: Delivered-To: svn-src-stable-9@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F0902BD1A15; Fri, 9 Sep 2016 06:41:17 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C9309390; Fri, 9 Sep 2016 06:41:17 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u896fGDf040743; Fri, 9 Sep 2016 06:41:16 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u896fG1n040742; Fri, 9 Sep 2016 06:41:16 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201609090641.u896fG1n040742@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Fri, 9 Sep 2016 06:41:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r305646 - stable/9/sys/dev/usb/input X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-9@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 9-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Sep 2016 06:41:18 -0000 Author: hselasky Date: Fri Sep 9 06:41:16 2016 New Revision: 305646 URL: https://svnweb.freebsd.org/changeset/base/305646 Log: MFC r304571: Make the UKBD USB transfers double buffered and set them up one by one, so they are memory independent which allows for handling panics triggered by the keyboard driver itself, typically via CTRL+ALT+ESC sequences. Or if the USB keyboard driver was processing a key at the moment of panic. Allow UKBD to be attached while keyboard polling is active. Modified: stable/9/sys/dev/usb/input/ukbd.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/dev/usb/input/ukbd.c ============================================================================== --- stable/9/sys/dev/usb/input/ukbd.c Fri Sep 9 06:38:13 2016 (r305645) +++ stable/9/sys/dev/usb/input/ukbd.c Fri Sep 9 06:41:16 2016 (r305646) @@ -107,7 +107,7 @@ TUNABLE_INT("hw.usb.ukbd.no_leds", &ukbd #define UKBD_NMOD 8 /* units */ #define UKBD_NKEYCODE 6 /* units */ #define UKBD_IN_BUF_SIZE (2*(UKBD_NMOD + (2*UKBD_NKEYCODE))) /* bytes */ -#define UKBD_IN_BUF_FULL (UKBD_IN_BUF_SIZE / 2) /* bytes */ +#define UKBD_IN_BUF_FULL ((UKBD_IN_BUF_SIZE / 2) - 1) /* bytes */ #define UKBD_NFKEY (sizeof(fkey_tab)/sizeof(fkey_tab[0])) /* units */ #define UKBD_BUFFER_SIZE 64 /* bytes */ @@ -128,7 +128,8 @@ struct ukbd_data { }; enum { - UKBD_INTR_DT, + UKBD_INTR_DT_0, + UKBD_INTR_DT_1, UKBD_CTRL_LED, UKBD_N_TRANSFER, }; @@ -477,7 +478,8 @@ ukbd_get_key(struct ukbd_softc *sc, uint if (sc->sc_inputs == 0 && (sc->sc_flags & UKBD_FLAG_GONE) == 0) { /* start transfer, if not already started */ - usbd_transfer_start(sc->sc_xfer[UKBD_INTR_DT]); + usbd_transfer_start(sc->sc_xfer[UKBD_INTR_DT_0]); + usbd_transfer_start(sc->sc_xfer[UKBD_INTR_DT_1]); } if (sc->sc_flags & UKBD_FLAG_POLLING) @@ -953,7 +955,16 @@ ukbd_set_leds_callback(struct usb_xfer * static const struct usb_config ukbd_config[UKBD_N_TRANSFER] = { - [UKBD_INTR_DT] = { + [UKBD_INTR_DT_0] = { + .type = UE_INTERRUPT, + .endpoint = UE_ADDR_ANY, + .direction = UE_DIR_IN, + .flags = {.pipe_bof = 1,.short_xfer_ok = 1,}, + .bufsize = 0, /* use wMaxPacketSize */ + .callback = &ukbd_intr_callback, + }, + + [UKBD_INTR_DT_1] = { .type = UE_INTERRUPT, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, @@ -1198,9 +1209,26 @@ ukbd_attach(device_t dev) usb_callout_init_mtx(&sc->sc_callout, &Giant, 0); +#ifdef UKBD_NO_POLLING err = usbd_transfer_setup(uaa->device, &uaa->info.bIfaceIndex, sc->sc_xfer, ukbd_config, UKBD_N_TRANSFER, sc, &Giant); +#else + /* + * Setup the UKBD USB transfers one by one, so they are memory + * independent which allows for handling panics triggered by + * the keyboard driver itself, typically via CTRL+ALT+ESC + * sequences. Or if the USB keyboard driver was processing a + * key at the moment of panic. + */ + for (n = 0; n != UKBD_N_TRANSFER; n++) { + err = usbd_transfer_setup(uaa->device, + &uaa->info.bIfaceIndex, sc->sc_xfer + n, ukbd_config + n, + 1, sc, &Giant); + if (err) + break; + } +#endif if (err) { DPRINTF("error=%s\n", usbd_errstr(err)); @@ -1283,7 +1311,8 @@ ukbd_attach(device_t dev) } /* start the keyboard */ - usbd_transfer_start(sc->sc_xfer[UKBD_INTR_DT]); + usbd_transfer_start(sc->sc_xfer[UKBD_INTR_DT_0]); + usbd_transfer_start(sc->sc_xfer[UKBD_INTR_DT_1]); return (0); /* success */ @@ -1309,7 +1338,8 @@ ukbd_detach(device_t dev) /* kill any stuck keys */ if (sc->sc_flags & UKBD_FLAG_ATTACHED) { /* stop receiving events from the USB keyboard */ - usbd_transfer_stop(sc->sc_xfer[UKBD_INTR_DT]); + usbd_transfer_stop(sc->sc_xfer[UKBD_INTR_DT_0]); + usbd_transfer_stop(sc->sc_xfer[UKBD_INTR_DT_1]); /* release all leftover keys, if any */ memset(&sc->sc_ndata, 0, sizeof(sc->sc_ndata)); @@ -1974,7 +2004,7 @@ ukbd_poll(keyboard_t *kbd, int on) */ if (on) sc->sc_polling++; - else + else if (sc->sc_polling > 0) sc->sc_polling--; if (sc->sc_polling != 0) { From owner-svn-src-stable-9@freebsd.org Fri Sep 9 07:00:51 2016 Return-Path: Delivered-To: svn-src-stable-9@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E5BB9BD1F28; Fri, 9 Sep 2016 07:00:51 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9DA4121B; Fri, 9 Sep 2016 07:00:51 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u8970oOh048139; Fri, 9 Sep 2016 07:00:50 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8970oeD048138; Fri, 9 Sep 2016 07:00:50 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201609090700.u8970oeD048138@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Fri, 9 Sep 2016 07:00:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r305650 - stable/9/usr.sbin/portsnap/portsnap X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-9@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 9-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Sep 2016 07:00:52 -0000 Author: delphij Date: Fri Sep 9 07:00:50 2016 New Revision: 305650 URL: https://svnweb.freebsd.org/changeset/base/305650 Log: MFC r305469: Ensure that we always open only files that is named by explicitly using shell redirections instead of having gzip(1) to decide what file to open. Issue reported in the "non-cryptanalytic attacks against freebsd update components" anonymous gist. Reviewed by: allanjude, emaste Modified: stable/9/usr.sbin/portsnap/portsnap/portsnap.sh Directory Properties: stable/9/usr.sbin/portsnap/ (props changed) stable/9/usr.sbin/portsnap/portsnap/ (props changed) Modified: stable/9/usr.sbin/portsnap/portsnap/portsnap.sh ============================================================================== --- stable/9/usr.sbin/portsnap/portsnap/portsnap.sh Fri Sep 9 06:59:49 2016 (r305649) +++ stable/9/usr.sbin/portsnap/portsnap/portsnap.sh Fri Sep 9 07:00:50 2016 (r305650) @@ -609,7 +609,7 @@ fetch_index_sanity() { # Verify a list of files fetch_snapshot_verify() { while read F; do - if [ "`gunzip -c snap/${F} | ${SHA256} -q`" != ${F} ]; then + if [ "`gunzip -c < snap/${F}.gz | ${SHA256} -q`" != ${F} ]; then echo "snapshot corrupt." return 1 fi @@ -644,7 +644,7 @@ fetch_snapshot() { cut -f 2 -d '|' tINDEX.new | fetch_snapshot_verify || return 1 # Extract the index rm -f INDEX.new - gunzip -c snap/`look INDEX tINDEX.new | + gunzip -c < snap/`look INDEX tINDEX.new | cut -f 2 -d '|'`.gz > INDEX.new fetch_index_sanity || return 1 # Verify the snapshot contents @@ -737,7 +737,7 @@ fetch_update() { echo "done." # Extract the index - gunzip -c files/`look INDEX tINDEX.new | + gunzip -c < files/`look INDEX tINDEX.new | cut -f 2 -d '|'`.gz > INDEX.new fetch_index_sanity || return 1 @@ -842,7 +842,7 @@ extract_make_index() { echo -n "$1 not provided by portsnap server; " echo "$2 not being generated." else - gunzip -c "${WORKDIR}/files/`look $1 ${WORKDIR}/tINDEX | + gunzip -c < "${WORKDIR}/files/`look $1 ${WORKDIR}/tINDEX | cut -f 2 -d '|'`.gz" | cat - ${LOCALDESC} | ${MKINDEX} /dev/stdin > ${PORTSDIR}/$2 From owner-svn-src-stable-9@freebsd.org Fri Sep 9 21:19:33 2016 Return-Path: Delivered-To: svn-src-stable-9@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0A0A0BD480B; Fri, 9 Sep 2016 21:19:33 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CDC68B15; Fri, 9 Sep 2016 21:19:32 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u89LJWGr074379; Fri, 9 Sep 2016 21:19:32 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u89LJW6Q074378; Fri, 9 Sep 2016 21:19:32 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201609092119.u89LJW6Q074378@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Fri, 9 Sep 2016 21:19:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r305675 - in stable: 10/sys/dev/hwpmc 11/sys/dev/hwpmc 9/sys/dev/hwpmc X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-9@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for only the 9-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Sep 2016 21:19:33 -0000 Author: jhb Date: Fri Sep 9 21:19:31 2016 New Revision: 305675 URL: https://svnweb.freebsd.org/changeset/base/305675 Log: MFC 303720: Apply the fix from r232612 to fixed function counters. Modified: stable/9/sys/dev/hwpmc/hwpmc_core.c Directory Properties: stable/9/sys/ (props changed) Changes in other areas also in this revision: Modified: stable/10/sys/dev/hwpmc/hwpmc_core.c stable/11/sys/dev/hwpmc/hwpmc_core.c Directory Properties: stable/10/ (props changed) stable/11/ (props changed) Modified: stable/9/sys/dev/hwpmc/hwpmc_core.c ============================================================================== --- stable/9/sys/dev/hwpmc/hwpmc_core.c Fri Sep 9 21:00:07 2016 (r305674) +++ stable/9/sys/dev/hwpmc/hwpmc_core.c Fri Sep 9 21:19:31 2016 (r305675) @@ -355,7 +355,7 @@ iaf_read_pmc(int cpu, int ri, pmc_value_ if (PMC_IS_SAMPLING_MODE(PMC_TO_MODE(pm))) *v = iaf_perfctr_value_to_reload_count(tmp); else - *v = tmp; + *v = tmp & ((1ULL << core_iaf_width) - 1); PMCDBG(MDP,REA,1, "iaf-read cpu=%d ri=%d msr=0x%x -> v=%jx", cpu, ri, IAF_RI_TO_MSR(ri), *v);