[Illumos-team] 64-Bit PCI space

Garrett D'Amore garrett at damore.org
Thu Nov 1 15:00:08 UTC 2012


I suspect this rabbit hole goes pretty deep.  Obviously, it won't be possible to use this device in a 32-bit kernel, either.  You'd want to examine the entire PCI stack, and possibly also the iommu code for this stuff.  (I doubt you can use this device with an iommu, also.)

	- Garrett

On Nov 1, 2012, at 7:32 AM, Pavel Zakharov <pavel.zakharov at mail.mcgill.ca> wrote:

> 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 OpenIndiana.
> 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
> _______________________________________________
> Illumos-team mailing list
> Illumos-team at openindiana.org
> http://openindiana.org/mailman/listinfo/illumos-team

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openindiana.org/pipermail/illumos-team/attachments/20121101/854a11f8/attachment.html>


More information about the Illumos-team mailing list