Hi, I have an HP xw9400 (AMD64) with an nVidia FX 3500 (PCI Express) and I want to install Solaris 10 (x86) on it.
After the GRUB menu shows up I select to install Solaris and then it stops with the following error: "WARNING: pci_lcap_locate: unexpected pci header type: ff" I've done some investigation looking at the OPENSOLARIS kernel (although I'm installing Solaris 10) and I found this bit of code (line 147) that prints the error out: http://fxr.watson.org/fxr/source/common/io/pci_cap.c?v=OPENSOLARIS It looks as if the nVidia card is returning a PCI header type (0xff) different from the allowed types (either 0x80, 0x00, 0x01, 0x02). Here's code that shows the allowed types: http://fxr.watson.org/fxr/ident?v=OPENSOLARIS;im=10;i=PCI_HEADER_ZERO Here's is a Wikipedia description of the standard PCI header: http://en.wikipedia.org/wiki/PCI_configuration_space#Standardized_registers The motherboard has 7 PCI slots: 1 PCI, 2 PCI-X, 2 PCI Express x8, 2 PCI Express x16 The nVidia card is installed into one of the PCI Express x16 slots. Is the problem with GRUB? Is it something to do with the 'multiboot' binary? Is it something to do with the Solaris kernel? Is it something to do with PCI Express? Here's a thread from someone with a similar problem: http://wesunsolve.net/bugid/id/6907022 They seem to be able to resolve it using this Grub options "-B acpi-user-options=2", and then installing a patch. I've tried to use these options but are unrecognized by Grub. I've read here (http://billauer.co.il/blog/2011/03/pci-express-tlp-pcie-primer-tutorial-guide-1/) that the PCI Express technology is not exactly "old style" PCI but it somehow simulates it due to the presence of a sort of network switch in this new PCI technology. Hence, I suspect that the header type 0xff might be coming from this network switch included in the PCI Express (here I'm going out on a limb as I have no clue what I'm talking about). Finally here's the console output during boot with the -kv options: ... ...bunch of stuff ... npe0 at root: space 0 offset 0 npe0 is /pci@0,0 PCI Espress-device: pci10de, 370@6, pci_pci0 pci_pci0 is /pci@0,0/pci10de,370@6 npe1 at root: space 3b offset 0 npe1 is /pci@3b,0 WARNING: pci_lcap_locate: unexpected pci header type:ff WARNING: pci_lcap_locate: unexpected pci header type:ff Note how it stops at the 'npe1'. The 'npe' is the "PCI Express bus nexus driver". This page describes it better: http://www.unix.com/man-page/OpenSolaris/7d/npe/ Is the problem with GRUB or the Solaris kernel not recognizing the PCI npe? Can anyone help please? Thanks Frank _______________________________________________ Help-grub mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-grub
