0 Replies Latest reply: Oct 30, 2012 12:10 PM by 971491 RSS

    64-Bit PCI space on OpenSolaris

    971491
      ** As a disclaimer, I am working on OpenSolaris, not Solaris, so I am not sure if this is the right place to post. **

      Hello,

      I've been trying a new feature on my BIOS that allows to memory map PCI device registers to spaces above 4G.

      However, when I booted in Solaris, it failed to load some devices, and pci_boot also reported:
      "unsupported 64-bit prefetch memory on pci-pci bridge [%d/%d/%d]" (copy pasted that line from pci_boot.c)
      Digging further I also found some comments in npe.c in a register mapping function:
      case PCI_ADDR_MEM64:
           /*
           * We can't handle 64-bit devices that are mapped above
           * 4G or that are larger than 4G.
           */

      I am in the process of rewriting the driver code right now, but I am wondering how deep will I have to go or if a fix already exists in Solaris.
      If you are wondering why I need all this, it is because I have a device that requires a very large space of prefetchable memory (>4G) and I need those BIOS settings to make it boot.

      Thanks