I am experiencing boot problem with kernel 2.6.33-rc1. Bisection points to
commit 99935a7a59eaca0292c1a5880e10bae03f4a5e3d
Author: Yinghai Lu <[email protected]>
Date: Sun Oct 4 21:54:24 2009 -0700
x86/PCI: read root resources from IOH on Intel
For intel systems with multi IOH, we should read peer root resources
directly from PCI config space, and don't trust _CRS.
Signed-off-by: Yinghai Lu <[email protected]>
Signed-off-by: Jesse Barnes <[email protected]>
V2.6.32 is OK
V2.6.33 is bad. A brief summary of the problem is that very quickly kernel (
less than 1.5 seconds) try to mount the root device without doing any probing
on disk leading to a kernel panic ( could not mount root devices). Alsa
devices and usb devices is also not detected / not probed. Maybe other devices
is also not detected but that just from the message seen on the monitor before
the panic so it's not very accurate (no log as it doesn't boot and only one
computer so no serial console). Sounds like the kernel didn't see any devices
(disk, usb, sounds).
I have a intel system so the commit log seems possibly relevant for the my
computer (Not sure of what is IOH, i have take it for I/O Hub in the lspci out
output and i have 3 of these according to lspci).
Have try to revert the commit on a 2.6.33_rc1 base but this lead to some
compilation problem (symbol not defined and so on). So I'm not completely sure
of my bisection (also note that it's the first time i use git so an error is
very possible).
Attached a dmesg log with kernel 2.6.32-rc8 and lspci -vvv output.
If you need further information/testing, i will my best to provide these.
Regards
Vincent ETIENNE
Vincent ETIENNE wrote:
>
> I am experiencing boot problem with kernel 2.6.33-rc1. Bisection points to
>
> commit 99935a7a59eaca0292c1a5880e10bae03f4a5e3d
> Author: Yinghai Lu <[email protected]>
> Date: Sun Oct 4 21:54:24 2009 -0700
>
> x86/PCI: read root resources from IOH on Intel
>
> For intel systems with multi IOH, we should read peer root resources
> directly from PCI config space, and don't trust _CRS.
>
> Signed-off-by: Yinghai Lu <[email protected]>
> Signed-off-by: Jesse Barnes <[email protected]>
>
>
>
> V2.6.32 is OK
>
> V2.6.33 is bad. A brief summary of the problem is that very quickly kernel (
> less than 1.5 seconds) try to mount the root device without doing any probing
> on disk leading to a kernel panic ( could not mount root devices). Alsa
> devices and usb devices is also not detected / not probed. Maybe other devices
> is also not detected but that just from the message seen on the monitor before
> the panic so it's not very accurate (no log as it doesn't boot and only one
> computer so no serial console). Sounds like the kernel didn't see any devices
> (disk, usb, sounds).
>
> I have a intel system so the commit log seems possibly relevant for the my
> computer (Not sure of what is IOH, i have take it for I/O Hub in the lspci out
> output and i have 3 of these according to lspci).
>
> Have try to revert the commit on a 2.6.33_rc1 base but this lead to some
> compilation problem (symbol not defined and so on). So I'm not completely sure
> of my bisection (also note that it's the first time i use git so an error is
> very possible).
>
> Attached a dmesg log with kernel 2.6.32-rc8 and lspci -vvv output.
>
> If you need further information/testing, i will my best to provide these.
please check
Subject: [PATCH 1/7] x86/pci: intel ioh bus num reg accessing fix
it is above 0x100, so if mmconf is not enable, need to skip it
Reported-by: Jens Axboe <[email protected]>
Signed-off-by: Yinghai Lu <[email protected]>
---
arch/x86/pci/intel_bus.c | 4 ++++
1 file changed, 4 insertions(+)
Index: linux-2.6/arch/x86/pci/intel_bus.c
===================================================================
--- linux-2.6.orig/arch/x86/pci/intel_bus.c
+++ linux-2.6/arch/x86/pci/intel_bus.c
@@ -49,6 +49,10 @@ static void __devinit pci_root_bus_res(s
u64 mmioh_base, mmioh_end;
int bus_base, bus_end;
+ /* some sys doesn't get mmconf enabled */
+ if (dev->cfg_size < 0x200)
+ return;
+
if (pci_root_num >= PCI_ROOT_NR) {
printk(KERN_DEBUG "intel_bus.c: PCI_ROOT_NR is too small\n");
return;
Le samedi 19 d?cembre 2009 22:37:05, Yinghai Lu a ?crit :
> Vincent ETIENNE wrote:
> > I am experiencing boot problem with kernel 2.6.33-rc1. Bisection points
> > to
> >
>
> please check
>
> Subject: [PATCH 1/7] x86/pci: intel ioh bus num reg accessing fix
>
> it is above 0x100, so if mmconf is not enable, need to skip it
>
> Reported-by: Jens Axboe <[email protected]>
> Signed-off-by: Yinghai Lu <[email protected]>
>
> ---
> arch/x86/pci/intel_bus.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> Index: linux-2.6/arch/x86/pci/intel_bus.c
> ===================================================================
> --- linux-2.6.orig/arch/x86/pci/intel_bus.c
> +++ linux-2.6/arch/x86/pci/intel_bus.c
> @@ -49,6 +49,10 @@ static void __devinit pci_root_bus_res(s
> u64 mmioh_base, mmioh_end;
> int bus_base, bus_end;
>
> + /* some sys doesn't get mmconf enabled */
> + if (dev->cfg_size < 0x200)
> + return;
> +
> if (pci_root_num >= PCI_ROOT_NR) {
> printk(KERN_DEBUG "intel_bus.c: PCI_ROOT_NR is too small\n");
> return;
>
It works : v2.6;33_rc1 + your patch booot sucessfully on my machine
Thanks a lot
Vincent