** As a disclaimer, I am working on OpenSolaris, not Solaris, so I am not sure if this is the right place to post. **
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:
* 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.