Hello folks, we run a proprietary board with Freescale MPC8641D using U-boot 1.1.4 and Linux kernel 2.6.23
First of all, we are no experts in PCIe-Bus handling and management. We started with the problem that U-Boot was able to scan the devices connected to PCIe-Bus where the kernel fails. Using the information provided by Vince Asbridge regarding the different numbering of devices on PCIe bus by U-Boot and kernel we were able to get the kernel up recognizing the devices correctly. Thanks for this info. But now we are blocked by an exception in kernel mode during initialisation of the PCIe-Buses and devices. We instrumented the kernel additional to the standard print outs to get more information and to understand the behavior of the scan and allocation process. But now we get lost. I assume that the problem is caused by the transparent bridges. I appent here after the trace log. Perhaps someone knows this problem already or can give me a hint . I read in the logs some messages that 2.6.23 does contain some bugs related to PCIe and it would be a good choice to upgrade to 2.6.25. Is this one of that cases? Currently we would like to prevent switching the kernel version. Any help is appreciated. Thanks in advance. Joachim -- Dipl.-Ing. Joachim Bader Research & Technology Cockpit and Display Systems Diehl Aerospace GmbH An der Sandelmuehle 13 D-60439 Frankfurt Phone +49-69-5805-1270 Fax +49-69-5805-1400 e-mail: [EMAIL PROTECTED] http://www.diehl-aerospace.de ------ TRACE LOG -------- Load address: 0x1000000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ############ done Bytes transferred = 1389893 (153545 hex) ## Booting image at 01000000 ... Image Name: Linux-2.6.23 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1389829 Bytes = 1.3 MB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK ## Current stack ends at 0x0FF9B968 => set upper limit to 0x00800000 ## cmdline at 0x007FFF00 ... 0x007FFF9B bd address = 0x0FF9BFB0 memstart = 0x00000000 memsize = 0x20000000 flashstart = 0xF0000000 flashsize = 0x10000000 flashoffset = 0x00000000 sramstart = 0x00000000 sramsize = 0x00000000 bootflags = 0x00000001 intfreq = 990 MHz busfreq = 396 MHz ethaddr = 00:E0:0C:00:00:10 eth1addr = 00:E0:0C:00:01:10 eth2addr = 00:E0:0C:00:02:10 eth3addr = 00:E0:0C:00:03:10 IP addr = 172.30.222.10 baudrate = 115200 bps No initrd ## Transferring control to Linux (at address 00000000) ... Linux Kernel Parameters: of_flat_tree: 007fde60 = d00dfeed kernel: 00000000 = 60000000 Using MPC86xx HPCN machine description Total memory = 512MB; using 1024kB for hash table (at cff00000) Linux version 2.6.23 ([EMAIL PROTECTED]) (gcc version 3.3.2) #94 Tue Jul 22 14:43:39 CEST 2008 console [udbg0] enabled setup_arch: bootmem mpc86xx_hpcn_setup_arch() Found FSL PCI host bridge at 0x00000000d4008000.Firmware bus number: 0->254 Dump of resource ranges: len=12 0x02000000 0x00000000 0x40000000 0x40000000 0x00000000 0x10000000 0x01000000 0x00000000 0x00000000 0x5e000000 0x00000000 0x01000000 PCI: MEM[0] 0x40000000 -> 0x4fffffff PCI: IO Phys = 0x5e000000 PCI: IO Virt = 0x5e000000 PCI: IO 0x0 -> 0xffffff Found FSL PCI host bridge at 0x00000000d4009000.Firmware bus number: 0->254 Dump of resource ranges: len=12 0x02000000 0x00000000 0x80000000 0x80000000 0x00000000 0x10000000 0x01000000 0x00000000 0x00000000 0x9e000000 0x00000000 0x 1000000 PCI: MEM[0] 0x80000000 -> 0x8fffffff PCI: IO Phys = 0x9e000000 PCI: IO Virt = 0x9e000000 PCI: IO 0x0 -> 0xffffff MPC86xx HPCN board from Freescale Semiconductor arch: exit Zone PFN ranges: DMA 0 -> 131072 Normal 131072 -> 131072 Movable zone start PFN for each node early_node_map[1] active PFN ranges 0: 0 -> 131072 Built 1 zonelists in Zone order. Total pages: 130048 Kernel command line: root=/dev/nfs rw nfsroot=172.30.222.1:/data/home/pub/taurus10 ip=172.30.222.10:172.30.222.1:172.30.222.1:255.255.255.0:taurus:eth2:off console=ttyS0,115200 mpic: Setting up MPIC " MPIC " version 1.2 at d4040000, max 2 CPUs mpic: ISU size: 88, shift: 7, mask: 7f mpic: Initializing for 88 sources PID hash table entries: 2048 (order: 11, 8192 bytes) Console: colour dummy device 80x25 Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) Memory: 515328k/524288k available (2712k kernel code, 8620k reserved, 144k data, 140k bss, 136k init) Mount-cache hash table entries: 512 ====== bus.c -> registering device: ID = 'platform' NET: Registered protocol family 16 ====== bus.c -> registering device: ID = 'vtcon0' ====== bus.c -> registering device: ID = 'fsl-gianfar_mdio.35' ====== bus.c -> registering device: ID = 'fsl-gianfar.1' ====== bus.c -> registering device: ID = 'fsl-gianfar.2' ====== bus.c -> registering device: ID = 'fsl-gianfar.3' ====== bus.c -> registering device: ID = 'fsl-gianfar.4' ====== bus.c -> registering device: ID = 'fsl-i2c.1' ====== bus.c -> registering device: ID = 'fsl-i2c.2' ====== bus.c -> registering device: ID = 'fsl-hydra.1' PCI: Probing PCI hardware ====== bus.c -> registering device: ID = 'pci0000:00' PCI: 0000:00:00.0: class b20 doesn't match header type 01. Ignoring class. PCI: Transparent bridge - 0000:00:00.0 ====== bus.c -> registering device: ID = '0000:00:00.0' ====== bus.c -> registering device: ID = '0000:01:00.0' ====== bus.c -> registering device: ID = '0000:02:01.0' ====== bus.c -> registering device: ID = '0000:02:02.0' ====== bus.c -> registering device: ID = 'pci0001:05' PCI: 0001:05:00.0: class b20 doesn't match header type 01. Ignoring class. PCI: Transparent bridge - 0001:05:00.0 ====== bus.c -> registering device: ID = '0001:05:00.0' ====== bus.c -> registering device: ID = '0001:06:00.0' ====== bus.c -> registering device: ID = '0001:07:01.0' ====== bus.c -> registering device: ID = '0001:07:02.0' ====== bus.c -> registering device: ID = '0001:07:03.0' ====== bus.c -> registering device: ID = '0001:09:00.0' ====== bus.c -> registering device: ID = '0001:0a:04.0' ====== bus.c -> registering device: ID = '0001:0a:04.1' ====== bus.c -> registering device: ID = '0001:0a:04.2' Res: 0xC02F5040 Start: 0x0 End: 0xFFFFFF Name: /[EMAIL PROTECTED]/[EMAIL PROTECTED] Flags: 0x100 Par: 0xC02AB2A4 Start: 0x0 End: 0xFFFFFFFF Name: PCI IO Flags: 0x100 PCI: bridge rsrc 0..ffffff (100), parent c02ab2a4 Res: 0xC02F505C Start: 0x40000000 End: 0x4FFFFFFF Name: /[EMAIL PROTECTED]/[EMAIL PROTECTED] Flags: 0x200 Par: 0xC02AB2C0 Start: 0x0 End: 0xFFFFFFFF Name: PCI mem Flags: 0x200 PCI: bridge rsrc 40000000..4fffffff (200), parent c02ab2c0 Res: 0xDFFE32C8 Start: 0x0 End: 0xFFFFFF Name: PCI Bus #01 Flags: 0x100 Par: 0xC02F5040 Start: 0x0 End: 0xFFFFFF Name: /[EMAIL PROTECTED]/[EMAIL PROTECTED] Flags: 0x100 PCI: bridge rsrc 0..ffffff (100), parent c02f5040 Res: 0xDFFE32E4 Start: 0x40000000 End: 0x4FFFFFFF Name: PCI Bus #01 Flags: 0x200 Par: 0xC02F505C Start: 0x40000000 End: 0x4FFFFFFF Name: /[EMAIL PROTECTED]/[EMAIL PROTECTED] Flags: 0x200 PCI: bridge rsrc 40000000..4fffffff (200), parent c02f505c Res: 0xC02FA040 Start: 0xFF000000 End: 0xFFFFFFFF Name: /[EMAIL PROTECTED]/[EMAIL PROTECTED] Flags: 0x100 Par: 0xC02AB2A4 Start: 0x0 End: 0xFFFFFFFF Name: PCI IO Flags: 0x100 PCI: bridge rsrc ff000000..ffffffff (100), parent c02ab2a4 Res: 0xC02FA05C Start: 0x80000000 End: 0x8FFFFFFF Name: /[EMAIL PROTECTED]/[EMAIL PROTECTED] Flags: 0x200 Par: 0xC02AB2C0 Start: 0x0 End: 0xFFFFFFFF Name: PCI mem Flags: 0x200 PCI: bridge rsrc 80000000..8fffffff (200), parent c02ab2c0 Res: 0xDFFE1360 Start: 0xFF000000 End: 0xFFFFFFFF Name: PCI Bus #06 Flags: 0x100 Par: 0xC02FA040 Start: 0xFF000000 End: 0xFFFFFFFF Name: /[EMAIL PROTECTED]/[EMAIL PROTECTED] Flags: 0x100 PCI: bridge rsrc ff000000..ffffffff (100), parent c02fa040 Res: 0xDFFE137C Start: 0x80000000 End: 0x8FFFFFFF Name: PCI Bus #06 Flags: 0x200 Par: 0xC02FA05C Start: 0x80000000 End: 0x8FFFFFFF Name: /[EMAIL PROTECTED]/[EMAIL PROTECTED] Flags: 0x200 PCI: bridge rsrc 80000000..8fffffff (200), parent c02fa05c Res: 0xDFFE0AD8 Start: 0xFF000000 End: 0xFF000FFF Name: PCI Bus #0a Flags: 0x101 Par: 0x0 PCI: bridge rsrc ff000000..ff000fff (101), parent 00000000 PCI: Cannot allocate resource region 0 of PCI bridge 10 Res: 0xDFFE0AF4 Start: 0x0 End: 0xFFFFF Name: PCI Bus #0a Flags: 0x200 Par: 0x0PCI: bridge rsrc 0..fffff (200), parent 00000000 PCI: Cannot allocate resource region 1 of PCI bridge 10 Res: 0xDFFE0B10 Start: 0x0 End: 0xFFFFF Name: PCI Bus #0a Flags: 0x1201 Par: 0x0PCI: bridge rsrc 0..fffff (1201), parent 00000000 PCI: Cannot allocate resource region 2 of PCI bridge 10 PCI: Cannot allocate resource region 0 of device 0000:01:00.0 PCI: Cannot allocate resource region 0 of device 0001:06:00.0 PCI: Cannot allocate resource region 0 of device 0001:09:00.0 PCI: Cannot allocate resource region 0 of device 0001:0a:04.0 PCI: Cannot allocate resource region 0 of device 0001:0a:04.1 PCI: Cannot allocate resource region 0 of device 0001:0a:04.2 PCI: Failed to allocate mem resource #0:[EMAIL PROTECTED] for 0001:09:00.0 ------------[ cut here ]------------ Kernel BUG at c028c504 [verbose debug info unavailable] Oops: Exception in kernel mode, sig: 5 [#1] MPC86xx HPCN NIP: c028c504 LR: c028c504 CTR: c00115b4 REGS: dffc1e40 TRAP: 0700 Not tainted (2.6.23) MSR: 00029032 <EE,ME,IR,DR> CR: 22008022 XER: 00000000 TASK = dfff0830[1] 'swapper' THREAD: dffc0000 GPR00: c028c504 dffc1ef0 dfff0830 fffffff4 00000001 00000001 00000000 c02d0000 GPR08: 00003379 c02ab200 00000000 c02b0000 22008022 f7fbfffc 0fffa100 00000001 GPR16: 00000001 ffffffff 007fff00 c02a0000 c02a0000 c02a0000 00000002 0ff9ea08 GPR24: c02d0000 c02d0000 000000ff c02d0000 c02d2e88 dffe0814 00000000 dffe0a14 NIP [c028c504] pcibios_assign_resources+0xb8/0xe4 LR [c028c504] pcibios_assign_resources+0xb8/0xe4 Call Trace: [dffc1ef0] [c028c504] pcibios_assign_resources+0xb8/0xe4 (unreliable) [dffc1f10] [c028cb24] pcibios_init+0x120/0x164 [dffc1f40] [c0284884] do_initcalls+0x58/0x20c [dffc1fd0] [c0284afc] kernel_init+0x4c/0xa4 [dffc1ff0] [c0011580] kernel_thread+0x44/0x60 Instruction dump: 2c000000 41820018 7c0803a6 4e800021 2c030000 40820020 813f000c 552000c2 7fa3eb78 7fc4f378 901f000c 4be925c5 <0f030000> 3bde0001 3bff001c 2c1e0005 Kernel panic - not syncing: Attempted to kill init! Rebooting in 180 seconds. _______________________________________________________________________________________________________________________ Der Inhalt dieser E-Mail ist für den Absender rechtlich nicht verbindlich. Informieren Sie uns bitte, wenn Sie diese E-Mail fälschlicherweise erhalten haben (Fax: +49-69-5805-1399). Bitte löschen Sie in diesem Fall die Nachricht. Jede Form der weiteren Benutzung ist untersagt. The content of this e-mail is not legally binding upon the sender. If this e-mail was transmitted to you by error, then please inform us accordingly (Fax: +49-69-5805-1399). In such case you are requested to erase the message. Any use of such e-mail message is strictly prohibited.
_______________________________________________ Linuxppc-embedded mailing list [email protected] https://ozlabs.org/mailman/listinfo/linuxppc-embedded
