[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Does GRUB supports PCI Express technology?
From: |
Francesco Lo Conte |
Subject: |
Does GRUB supports PCI Express technology? |
Date: |
Sun, 9 Oct 2011 13:14:37 +0200 |
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 /address@hidden,0
PCI Espress-device: pci10de, address@hidden, pci_pci0
pci_pci0 is /address@hidden,0/pci10de,address@hidden
npe1 at root: space 3b offset 0
npe1 is /address@hidden,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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Does GRUB supports PCI Express technology?,
Francesco Lo Conte <=