Print this page
NEX-17521 Unable to install Nexentastor on Lenovo SR650 platform
8702 PCI addresses with physaddr > 0xffffffff can't be mapped in
8703 pci/npe DDI_CTLOPS_REGSIZE should be 64-bit aware
8704 want OFF_MAX in the kernel
8705 unsupported 64-bit prefetch memory on pci-pci bridge
Contributed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Albert Lee <trisk@forkgnu.org>
9550 Create hub symlinks for xhci devices
Contributed by: Alexander Pyhalov <apyhalov@gmail.com>
Reviewed by: Andy Stormont <astormont@racktopsystems.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Toomas Soome <tsoome@me.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
NEX-15925 pseudonex, rootnex, and friends don't need to log useless device announcements
Reviewed by: Dan Fields <dan.fields@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
NEX-5164 backport illumos 6514 AS_* lock macros simplification
Reviewed by: Kevin Crowe <kevin.crowe@nexenta.com>
6514 AS_* lock macros simplification
Reviewed by: Piotr Jasiukajtis <estibi@me.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Albert Lee <trisk@omniti.com>
Approved by: Dan McDonald <danmcd@omniti.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/i86pc/io/rootnex.c
          +++ new/usr/src/uts/i86pc/io/rootnex.c
↓ open down ↓ 10 lines elided ↑ open up ↑
  11   11   * and limitations under the License.
  12   12   *
  13   13   * When distributing Covered Code, include this CDDL HEADER in each
  14   14   * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
       21 +
  21   22  /*
  22   23   * Copyright (c) 1992, 2010, Oracle and/or its affiliates. All rights reserved.
  23   24   */
       25 +
  24   26  /*
  25      - * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
       27 + * Copyright 2018 Nexenta Systems, Inc.
  26   28   * Copyright (c) 2011 Bayard G. Bell.  All rights reserved.
  27   29   * Copyright 2012 Garrett D'Amore <garrett@damore.org>.  All rights reserved.
  28   30   * Copyright 2017 Joyent, Inc.
  29   31   */
  30   32  
  31   33  /*
  32   34   * x86 root nexus driver
  33   35   */
  34   36  
  35   37  #include <sys/sysmacros.h>
↓ open down ↓ 689 lines elided ↑ open up ↑
 725  727                  ptr = (int *)arg;
 726  728                  n = *ptr;
 727  729                  if (n >= pdp->par_nreg) {
 728  730                          return (DDI_FAILURE);
 729  731                  }
 730  732                  *size = (off_t)pdp->par_reg[n].regspec_size;
 731  733          }
 732  734          return (DDI_SUCCESS);
 733  735  }
 734  736  
 735      -
 736      -/*
 737      - * rootnex_ctl_reportdev()
 738      - *
 739      - */
      737 +/*ARGSUSED*/
 740  738  static int
 741  739  rootnex_ctl_reportdev(dev_info_t *dev)
 742  740  {
 743      -        int i, n, len, f_len = 0;
 744      -        char *buf;
 745      -
 746      -        buf = kmem_alloc(REPORTDEV_BUFSIZE, KM_SLEEP);
 747      -        f_len += snprintf(buf, REPORTDEV_BUFSIZE,
 748      -            "%s%d at root", ddi_driver_name(dev), ddi_get_instance(dev));
 749      -        len = strlen(buf);
 750      -
 751      -        for (i = 0; i < sparc_pd_getnreg(dev); i++) {
 752      -
 753      -                struct regspec *rp = sparc_pd_getreg(dev, i);
 754      -
 755      -                if (i == 0)
 756      -                        f_len += snprintf(buf + len, REPORTDEV_BUFSIZE - len,
 757      -                            ": ");
 758      -                else
 759      -                        f_len += snprintf(buf + len, REPORTDEV_BUFSIZE - len,
 760      -                            " and ");
 761      -                len = strlen(buf);
 762      -
 763      -                switch (rp->regspec_bustype) {
 764      -
 765      -                case BTEISA:
 766      -                        f_len += snprintf(buf + len, REPORTDEV_BUFSIZE - len,
 767      -                            "%s 0x%x", DEVI_EISA_NEXNAME, rp->regspec_addr);
 768      -                        break;
 769      -
 770      -                case BTISA:
 771      -                        f_len += snprintf(buf + len, REPORTDEV_BUFSIZE - len,
 772      -                            "%s 0x%x", DEVI_ISA_NEXNAME, rp->regspec_addr);
 773      -                        break;
 774      -
 775      -                default:
 776      -                        f_len += snprintf(buf + len, REPORTDEV_BUFSIZE - len,
 777      -                            "space %x offset %x",
 778      -                            rp->regspec_bustype, rp->regspec_addr);
 779      -                        break;
 780      -                }
 781      -                len = strlen(buf);
 782      -        }
 783      -        for (i = 0, n = sparc_pd_getnintr(dev); i < n; i++) {
 784      -                int pri;
 785      -
 786      -                if (i != 0) {
 787      -                        f_len += snprintf(buf + len, REPORTDEV_BUFSIZE - len,
 788      -                            ",");
 789      -                        len = strlen(buf);
 790      -                }
 791      -                pri = INT_IPL(sparc_pd_getintr(dev, i)->intrspec_pri);
 792      -                f_len += snprintf(buf + len, REPORTDEV_BUFSIZE - len,
 793      -                    " sparc ipl %d", pri);
 794      -                len = strlen(buf);
 795      -        }
 796      -#ifdef DEBUG
 797      -        if (f_len + 1 >= REPORTDEV_BUFSIZE) {
 798      -                cmn_err(CE_NOTE, "next message is truncated: "
 799      -                    "printed length 1024, real length %d", f_len);
 800      -        }
 801      -#endif /* DEBUG */
 802      -        cmn_err(CE_CONT, "?%s\n", buf);
 803      -        kmem_free(buf, REPORTDEV_BUFSIZE);
 804  741          return (DDI_SUCCESS);
 805  742  }
 806  743  
 807  744  
 808  745  /*
 809  746   * ******************
 810  747   *  map related code
 811  748   * ******************
 812  749   */
 813  750  
↓ open down ↓ 4355 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX