All of lore.kernel.org
 help / color / mirror / Atom feed
* Problem with PCI bus rescan on 460EX
@ 2010-03-02 13:27 Felix Radensky
  0 siblings, 0 replies; 29+ messages in thread
From: Felix Radensky @ 2010-03-02 13:27 UTC (permalink / raw)
  To: linuxppc-dev

Hi,

I'm running linux-2.6.33 on a custom board based on 460EX.
There's a PCI-PCI bridge on this board, PLX 6254, and a single
hot-pluggable device behind the bridge.

When this device is plugged in before system boots everything works
fine: bridge and device are properly recognized by kernel, resources are
allocated and device memory regions are accessible. Below is relevant
kernel messages and lspci output:

PCI: Probing PCI hardware
pci_bus 0000:00: scanning bus
pci 0000:00:02.0: found [3388:0020] class 000604 header type 01
pci 0000:00:02.0: calling pcibios_fixup_resources+0x0/0xf4
pci 0000:00:02.0: calling fixup_ppc4xx_pci_bridge+0x0/0x154
pci 0000:00:02.0: calling quirk_resource_alignment+0x0/0x200
pci 0000:00:02.0: supports D1 D2
pci 0000:00:02.0: PME# supported from D0 D1 D2 D3hot
pci 0000:00:02.0: PME# disabled
pci_bus 0000:00: fixups for bus
pci 0000:00:02.0: scanning behind bridge, config 010100, pass 0
pci_bus 0000:01: scanning bus
pci 0000:01:00.0: found [1575:0002] class 00ff00 header type 00
pci 0000:01:00.0: reg 10: [mem 0x80000000-0x800fffff]
pci 0000:01:00.0: reg 14: [mem 0x84000000-0x87ffffff]
pci 0000:01:00.0: reg 18: [mem 0x88000000-0x8bffffff]
pci 0000:01:00.0: reg 1c: [mem 0x8c000000-0x8c003fff]
pci 0000:01:00.0: calling pcibios_fixup_resources+0x0/0xf4
pci 0000:01:00.0: calling fixup_ppc4xx_pci_bridge+0x0/0x154
pci 0000:01:00.0: calling quirk_resource_alignment+0x0/0x200
pci_bus 0000:01: fixups for bus
pci 0000:00:02.0: PCI bridge to [bus 01-01]
pci 0000:00:02.0:   bridge window [mem 0x80000000-0x8c0fffff]
pci_bus 0000:01: bus scan returning with max=01
pci 0000:00:02.0: scanning behind bridge, config 010100, pass 1
pci_bus 0000:00: bus scan returning with max=01
pci 0000:00:02.0: BAR 8: assigned [mem 0xd80000000-0xd89ffffff]
pci 0000:01:00.0: BAR 1: assigned [mem 0xd80000000-0xd83ffffff]
pci 0000:01:00.0: BAR 1: set to [mem 0xd80000000-0xd83ffffff] (PCI 
address [0x80000000-0x83ffffff]
pci 0000:01:00.0: BAR 2: assigned [mem 0xd84000000-0xd87ffffff]
pci 0000:01:00.0: BAR 2: set to [mem 0xd84000000-0xd87ffffff] (PCI 
address [0x84000000-0x87ffffff]
pci 0000:01:00.0: BAR 0: assigned [mem 0xd88000000-0xd880fffff]
pci 0000:01:00.0: BAR 0: set to [mem 0xd88000000-0xd880fffff] (PCI 
address [0x88000000-0x880fffff]
pci 0000:01:00.0: BAR 3: assigned [mem 0xd88100000-0xd88103fff]
pci 0000:01:00.0: BAR 3: set to [mem 0xd88100000-0xd88103fff] (PCI 
address [0x88100000-0x88103fff]
pci 0000:00:02.0: PCI bridge to [bus 01-01]
pci 0000:00:02.0:   bridge window [io  disabled]
pci 0000:00:02.0:   bridge window [mem 0xd80000000-0xd89ffffff]
pci 0000:00:02.0:   bridge window [mem pref disabled]
pci_bus 0000:00: resource 0 [io  0x0000-0xffff]
pci_bus 0000:00: resource 1 [mem 0xd80000000-0xdffffffff]
pci_bus 0000:01: resource 1 [mem 0xd80000000-0xd89ffffff]

00:02.0 PCI bridge: Hint Corp HB6 Universal PCI-PCI bridge (transparent 
mode) (rev 04)
00: 88 33 20 00 87 00 b0 02 04 00 04 06 08 80 01 00
10: 00 00 00 00 00 00 00 00 00 01 01 00 f1 01 a0 02
20: 00 80 f0 89 f1 ff 01 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 dc 00 00 00 00 00 00 00 00 00 00 00


The problem arises when device is plugged in after boot. After doing
echo 1 > /sys/bus/pci/rescan
the device is identified, but bridge memory window is not allocated,
and reads from device memory regions return 0xffffffff. Below is
relevant output:

PCI: Probing PCI hardware
pci_bus 0000:00: scanning bus
pci 0000:00:02.0: found [3388:0020] class 000604 header type 01
pci 0000:00:02.0: calling pcibios_fixup_resources+0x0/0xf4
pci 0000:00:02.0: calling fixup_ppc4xx_pci_bridge+0x0/0x154
pci 0000:00:02.0: calling quirk_resource_alignment+0x0/0x200
pci 0000:00:02.0: supports D1 D2
pci 0000:00:02.0: PME# supported from D0 D1 D2 D3hot
pci 0000:00:02.0: PME# disabled
pci_bus 0000:00: fixups for bus
pci 0000:00:02.0: scanning behind bridge, config 010100, pass 0
pci_bus 0000:01: scanning bus
pci_bus 0000:01: fixups for bus
pci 0000:00:02.0: PCI bridge to [bus 01-01]
pci_bus 0000:01: bus scan returning with max=01
pci 0000:00:02.0: scanning behind bridge, config 010100, pass 1
pci_bus 0000:00: bus scan returning with max=01
pci 0000:00:02.0: PCI bridge to [bus 01-01]
pci 0000:00:02.0:   bridge window [io  disabled]
pci 0000:00:02.0:   bridge window [mem disabled]
pci 0000:00:02.0:   bridge window [mem pref disabled]
pci_bus 0000:00: resource 0 [io  0x0000-0xffff]
pci_bus 0000:00: resource 1 [mem 0xd80000000-0xdffffffff]
pci 0000:00:02.0: calling quirk_cardbus_legacy+0x0/0x54
pci 0000:00:02.0: calling quirk_usb_early_handoff+0x0/0x6cc
PCI: CLS 32 bytes, default 32

pci_bus 0000:00: scanning bus
pci 0000:00:02.0: scanning behind bridge, config 010100, pass 0
pci_bus 0000:01: scanning bus
pci 0000:01:00.0: found [1575:0002] class 00ff00 header type 00
pci 0000:01:00.0: reg 10: [mem 0x00000000-0x000fffff]
pci 0000:01:00.0: reg 14: [mem 0x00000000-0x03ffffff]
pci 0000:01:00.0: reg 18: [mem 0x00000000-0x03ffffff]
pci 0000:01:00.0: reg 1c: [mem 0x00000000-0x00003fff]
pci 0000:01:00.0: calling pcibios_fixup_resources+0x0/0xf4
pci 0000:01:00.0: calling fixup_ppc4xx_pci_bridge+0x0/0x154
pci 0000:01:00.0: calling quirk_resource_alignment+0x0/0x200
pci_bus 0000:01: bus scan returning with max=01
pci 0000:00:02.0: scanning behind bridge, config 010100, pass 1
pci_bus 0000:00: bus scan returning with max=01
pci 0000:00:02.0: BAR 8: assigned [mem 0xd80000000-0xd89ffffff]
pci 0000:01:00.0: BAR 1: assigned [mem 0xd80000000-0xd83ffffff]
pci 0000:01:00.0: BAR 1: set to [mem 0xd80000000-0xd83ffffff] (PCI 
address [0x80000000-0x83ffffff]
pci 0000:01:00.0: BAR 2: assigned [mem 0xd84000000-0xd87ffffff]
pci 0000:01:00.0: BAR 2: set to [mem 0xd84000000-0xd87ffffff] (PCI 
address [0x84000000-0x87ffffff]
pci 0000:01:00.0: BAR 0: assigned [mem 0xd88000000-0xd880fffff]
pci 0000:01:00.0: BAR 0: set to [mem 0xd88000000-0xd880fffff] (PCI 
address [0x88000000-0x880fffff]
pci 0000:01:00.0: BAR 3: assigned [mem 0xd88100000-0xd88103fff]
pci 0000:01:00.0: BAR 3: set to [mem 0xd88100000-0xd88103fff] (PCI 
address [0x88100000-0x88103fff]

00:02.0 PCI bridge: Hint Corp HB6 Universal PCI-PCI bridge (transparent 
mode) (rev 04)
00: 88 33 20 00 87 00 b0 02 04 00 04 06 08 80 01 00
10: 00 00 00 00 00 00 00 00 00 01 01 00 f1 01 a0 02
20: f0 ff 00 00 f1 ff 01 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 dc 00 00 00 00 00 00 00 00 00 00 00

As you can see, the PLX BAR at address 0x20 is not properly configured.
Writing the value 0x89f08000 using setpci fixes access to hot-plugged 
device.

Any idea why PCI bus rescan fails to allocate bridge memory window ?

Thanks a lot.

Felix.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
  2010-03-29  7:01                           ` Kenji Kaneshige
@ 2010-03-29  7:35                             ` Felix Radensky
  0 siblings, 0 replies; 29+ messages in thread
From: Felix Radensky @ 2010-03-29  7:35 UTC (permalink / raw)
  To: Kenji Kaneshige; +Cc: linux-pci, Yinghai Lu, Alex Chiang, linuxppc-dev

Hello Kenji-san,

Kenji Kaneshige wrote:
>
>
> Felix, I think assigning hpXXsize at boot time is the simpler solution,
> if it is acceptable workaround for you. And as Yinghai suggested in the
> another email, removing slot's parent bridge first should be one of the
> workaround. But the problem is whether it is acceptable for you, because
> your hotplug problem seems a regression.
>
> Thanks,
> Kenji Kaneshige
>
>

Both workarounds work for me, and will use hpXXsize as a short term
solution. In the long run I'd like to see the problem fixed properly and
I'm willing to test patches on my hardware, as I also think it's a 
regression.

Thanks Kenji-san and Yinghai for your help.

Felix.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
  2010-03-29  0:05                         ` Yinghai Lu
@ 2010-03-29  7:01                           ` Kenji Kaneshige
  2010-03-29  7:35                             ` Felix Radensky
  0 siblings, 1 reply; 29+ messages in thread
From: Kenji Kaneshige @ 2010-03-29  7:01 UTC (permalink / raw)
  To: Yinghai Lu, Felix Radensky; +Cc: linux-pci, Alex Chiang, linuxppc-dev

Yinghai Lu wrote:
> On Sun, Mar 28, 2010 at 2:13 AM, Felix Radensky <felix@embedded-sol.com> wrote:
>> Hello, Kenji-san
>>
>> I've tried Jesse's tree with Yinghai's patches, but they don't seem to help.
>> Memory for bridge is not allocated after insertion of hotplug device and
>> bus rescan. Attached dmesg output in case of success and failure.
>>
> that patches only take care of pcie hotplug path...
> 
> and it calls
> pci_assign_unassigned_bridge_resources(bridge)
> instead of
> pci_bus_assign_resources(bus)
> 
> so it doesn't check pci_is_enabled()
> 
> maybe  We can update rescan path to check if it is safe to skip the
> pci_is_enabled() too.
>   - no driver for those devices under that bridge are loaded.

Yinghai, Felix,

Thank you very much for the explanation, Yinghai.
The pci_assign_unassigned_bridge_resources() is what I wanted to suggest
to Felix.

Felix, I think assigning hpXXsize at boot time is the simpler solution,
if it is acceptable workaround for you. And as Yinghai suggested in the
another email, removing slot's parent bridge first should be one of the
workaround. But the problem is whether it is acceptable for you, because
your hotplug problem seems a regression.

Thanks,
Kenji Kaneshige


> 
> YH
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pci" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
  2010-03-28  9:13                       ` Felix Radensky
  2010-03-28  9:56                         ` Benjamin Herrenschmidt
@ 2010-03-29  0:05                         ` Yinghai Lu
  2010-03-29  7:01                           ` Kenji Kaneshige
  1 sibling, 1 reply; 29+ messages in thread
From: Yinghai Lu @ 2010-03-29  0:05 UTC (permalink / raw)
  To: Felix Radensky; +Cc: linuxppc-dev, linux-pci, Alex Chiang, Kenji Kaneshige

On Sun, Mar 28, 2010 at 2:13 AM, Felix Radensky <felix@embedded-sol.com> wrote:
> Hello, Kenji-san
>
> I've tried Jesse's tree with Yinghai's patches, but they don't seem to help.
> Memory for bridge is not allocated after insertion of hotplug device and
> bus rescan. Attached dmesg output in case of success and failure.
>
that patches only take care of pcie hotplug path...

and it calls
pci_assign_unassigned_bridge_resources(bridge)
instead of
pci_bus_assign_resources(bus)

so it doesn't check pci_is_enabled()

maybe  We can update rescan path to check if it is safe to skip the
pci_is_enabled() too.
  - no driver for those devices under that bridge are loaded.

YH

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
  2010-03-28  9:56                         ` Benjamin Herrenschmidt
@ 2010-03-28 13:07                           ` Felix Radensky
  0 siblings, 0 replies; 29+ messages in thread
From: Felix Radensky @ 2010-03-28 13:07 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: linuxppc-dev, Kenji Kaneshige, yinghai, Alex Chiang, linux-pci

Hi Ben,

Benjamin Herrenschmidt wrote:
> On Sun, 2010-03-28 at 12:13 +0300, Felix Radensky wrote:
>
>   
>> I've tried Jesse's tree with Yinghai's patches, but they don't seem to help.
>> Memory for bridge is not allocated after insertion of hotplug device and
>> bus rescan. Attached dmesg output in case of success and failure.
>>     
>
> I'd recommend that for now, your platform uses a quirk to manually
> resize the bridge resource to make room for future hotplug on it.
>
> Cheers,
> Ben.
>   

I've submitted a patch to do that. See 
https://patchwork.kernel.org/patch/88769

Felix.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
  2010-03-28  9:13                       ` Felix Radensky
@ 2010-03-28  9:56                         ` Benjamin Herrenschmidt
  2010-03-28 13:07                           ` Felix Radensky
  2010-03-29  0:05                         ` Yinghai Lu
  1 sibling, 1 reply; 29+ messages in thread
From: Benjamin Herrenschmidt @ 2010-03-28  9:56 UTC (permalink / raw)
  To: Felix Radensky
  Cc: linuxppc-dev, linux-pci, yinghai, Alex Chiang, Kenji Kaneshige

On Sun, 2010-03-28 at 12:13 +0300, Felix Radensky wrote:

> I've tried Jesse's tree with Yinghai's patches, but they don't seem to help.
> Memory for bridge is not allocated after insertion of hotplug device and
> bus rescan. Attached dmesg output in case of success and failure.

I'd recommend that for now, your platform uses a quirk to manually
resize the bridge resource to make room for future hotplug on it.

Cheers,
Ben.

> Thanks.
> 
> Felix.
> plain text document attachment (success.txt)
> Linux version 2.6.33 (felix@felix-laptop.lan) (gcc version 4.2.2) #8 Sun Mar 28 12:04:25 IDT 2010
> Found legacy serial port 0 for /plb/opb/serial@ef600300
>   mem=4ef600300, taddr=4ef600300, irq=0, clk=7407407, speed=0
> Found legacy serial port 1 for /plb/opb/serial@ef600400
>   mem=4ef600400, taddr=4ef600400, irq=0, clk=7407407, speed=0
> Found legacy serial port 2 for /plb/opb/serial@ef600500
>   mem=4ef600500, taddr=4ef600500, irq=0, clk=7407407, speed=0
> Found legacy serial port 3 for /plb/opb/serial@ef600600
>   mem=4ef600600, taddr=4ef600600, irq=0, clk=7407407, speed=0
> Top of RAM: 0x30000000, Total RAM: 0x30000000
> Memory hole size: 0MB
> Zone PFN ranges:
>   DMA      0x00000000 -> 0x00030000
>   Normal   0x00030000 -> 0x00030000
> Movable zone start PFN for each node
> early_node_map[1] active PFN ranges
>     0: 0x00000000 -> 0x00030000
> On node 0 totalpages: 196608
> free_area_init_node: node 0, pgdat c02a84d0, node_mem_map c02e1000
>   DMA zone: 1536 pages used for memmap
>   DMA zone: 0 pages reserved
>   DMA zone: 195072 pages, LIFO batch:31
> MMU: Allocated 1088 bytes of context maps for 255 contexts
> Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 195072
> Kernel command line: root=/dev/nfs rw nfsroot=10.0.0.10:/opt/eldk/ppc_4xxFP ip=10.0.0.30:10.0.0.10:10.0.0.138:255.0.0.0:smbe460:eth0:off panic=1 console=ttyS0,115200
> PID hash table entries: 4096 (order: 2, 16384 bytes)
> Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
> Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
> Memory: 776500k/786432k available (2656k kernel code, 9932k reserved, 100k data, 184k bss, 132k init)
> Kernel virtual memory layout:
>   * 0xfffdf000..0xfffff000  : fixmap
>   * 0xfde00000..0xfe000000  : consistent mem
>   * 0xfde00000..0xfde00000  : early ioremap
>   * 0xf1000000..0xfde00000  : vmalloc & ioremap
> SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
> Hierarchical RCU implementation.
> NR_IRQS:512 nr_irqs:512
> UIC0 (32 IRQ sources) at DCR 0xc0
> UIC1 (32 IRQ sources) at DCR 0xd0
>   alloc irq_desc for 30 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 30 on host /interrupt-controller0 mapped to virtual irq 30
> UIC2 (32 IRQ sources) at DCR 0xe0
>   alloc irq_desc for 16 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 10 on host /interrupt-controller0 mapped to virtual irq 16
> UIC3 (32 IRQ sources) at DCR 0xf0
>   alloc irq_desc for 17 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 16 on host /interrupt-controller0 mapped to virtual irq 17
> time_init: decrementer frequency = 1000.000012 MHz
> time_init: processor frequency   = 1000.000012 MHz
> clocksource: timebase mult[400000] shift[22] registered
> clockevent: decrementer mult[80000019] shift[31] cpu[0]
> Mount-cache hash table entries: 512
> NET: Registered protocol family 16
>   alloc irq_desc for 18 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 11 on host /interrupt-controller1 mapped to virtual irq 18
> 256k L2-cache enabled
> PCI host bridge /plb/pci@c0ec00000 (primary) ranges:
>  MEM 0x0000000d80000000..0x0000000dffffffff -> 0x0000000080000000 
>  MEM 0x0000000c0ee00000..0x0000000c0eefffff -> 0x0000000000000000 
>   IO 0x0000000c08000000..0x0000000c0800ffff -> 0x0000000000000000
>  Removing ISA hole at 0x0000000c0ee00000
> 4xx PCI DMA offset set to 0x00000000
> /plb/pci@c0ec00000: Legacy ISA memory support enabled
> PCI: Probing PCI hardware
> pci_bus 0000:00: scanning bus
> pci 0000:00:02.0: found [3388:0020] class 000604 header type 01
> pci 0000:00:02.0: calling pcibios_fixup_resources+0x0/0xf4
> pci 0000:00:02.0: calling fixup_ppc4xx_pci_bridge+0x0/0x154
> pci 0000:00:02.0: calling quirk_resource_alignment+0x0/0x200
> pci 0000:00:02.0: supports D1 D2
> pci 0000:00:02.0: PME# supported from D0 D1 D2 D3hot
> pci 0000:00:02.0: PME# disabled
> pci_bus 0000:00: fixups for bus
> pci 0000:00:02.0: scanning behind bridge, config 010100, pass 0
> pci_bus 0000:01: scanning bus
> pci 0000:01:00.0: found [1575:0002] class 00ff00 header type 00
> pci 0000:01:00.0: reg 10: [mem 0x80000000-0x800fffff]
> pci 0000:01:00.0: reg 14: [mem 0x84000000-0x87ffffff]
> pci 0000:01:00.0: reg 18: [mem 0x88000000-0x8bffffff]
> pci 0000:01:00.0: reg 1c: [mem 0x8c000000-0x8c003fff]
> pci 0000:01:00.0: calling pcibios_fixup_resources+0x0/0xf4
> pci 0000:01:00.0: calling fixup_ppc4xx_pci_bridge+0x0/0x154
> pci 0000:01:00.0: calling quirk_resource_alignment+0x0/0x200
> pci_bus 0000:01: fixups for bus
> pci 0000:00:02.0: PCI bridge to [bus 01-01]
> pci 0000:00:02.0:   bridge window [io  1000 - 0000] reg reading
> pci 0000:00:02.0:   bridge window [mem 0x80000000-0x8c0fffff]
> pci 0000:00:02.0:   bridge window [mem 0x10000000 - 000fffff pref] reg reading
> pci_bus 0000:01: bus scan returning with max=01
> pci 0000:00:02.0: scanning behind bridge, config 010100, pass 1
> pci_bus 0000:00: bus scan returning with max=01
> PCI: max bus depth: 1 pci_try_num: 2
> pci 0000:00:02.0: BAR 8: assigned [mem 0xd80000000-0xd8dffffff]
> pci 0000:01:00.0: BAR 1: assigned [mem 0xd80000000-0xd83ffffff]
> pci 0000:01:00.0: BAR 1: set to [mem 0xd80000000-0xd83ffffff] (PCI address [0x80000000-0x83ffffff]
> pci 0000:01:00.0: BAR 2: assigned [mem 0xd84000000-0xd87ffffff]
> pci 0000:01:00.0: BAR 2: set to [mem 0xd84000000-0xd87ffffff] (PCI address [0x84000000-0x87ffffff]
> pci 0000:01:00.0: BAR 0: assigned [mem 0xd88000000-0xd880fffff]
> pci 0000:01:00.0: BAR 0: set to [mem 0xd88000000-0xd880fffff] (PCI address [0x88000000-0x880fffff]
> pci 0000:01:00.0: BAR 3: assigned [mem 0xd88100000-0xd88103fff]
> pci 0000:01:00.0: BAR 3: set to [mem 0xd88100000-0xd88103fff] (PCI address [0x88100000-0x88103fff]
> pci 0000:00:02.0: PCI bridge to [bus 01-01]
> pci 0000:00:02.0:   bridge window [io  disabled]
> pci 0000:00:02.0:   bridge window [mem 0xd80000000-0xd8dffffff]
> pci 0000:00:02.0:   bridge window [mem pref disabled]
> pci_bus 0000:00: resource 0 [io  0x0000-0xffff]
> pci_bus 0000:00: resource 1 [mem 0xd80000000-0xdffffffff]
> pci_bus 0000:01: resource 1 [mem 0xd80000000-0xd8dffffff]
> bio: create slab <bio-0> at 0
> SCSI subsystem initialized
> Switching to clocksource timebase
> NET: Registered protocol family 2
> IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
> TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
> TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
> TCP: Hash tables configured (established 131072 bind 65536)
> TCP reno registered
> UDP hash table entries: 512 (order: 1, 8192 bytes)
> UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
> NET: Registered protocol family 1
> RPC: Registered udp transport module.
> RPC: Registered tcp transport module.
> RPC: Registered tcp NFSv4.1 backchannel transport module.
> pci 0000:00:02.0: calling quirk_cardbus_legacy+0x0/0x54
> pci 0000:00:02.0: calling quirk_usb_early_handoff+0x0/0x6d0
> pci 0000:01:00.0: calling quirk_cardbus_legacy+0x0/0x54
> pci 0000:01:00.0: calling quirk_usb_early_handoff+0x0/0x6d0
> PCI: CLS 32 bytes, default 32
>   alloc irq_desc for 19 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 1 on host /interrupt-controller1 mapped to virtual irq 19
>   alloc irq_desc for 20 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 1 on host /interrupt-controller0 mapped to virtual irq 20
>   alloc irq_desc for 29 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 29 on host /interrupt-controller1 mapped to virtual irq 29
>   alloc irq_desc for 21 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 30 on host /interrupt-controller1 mapped to virtual irq 21
> msgmni has been set to 1516
> io scheduler noop registered
> io scheduler deadline registered
> io scheduler cfq registered (default)
> Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> serial8250.0: ttyS0 at MMIO 0x4ef600300 (irq = 19) is a 16550A
> console [ttyS0] enabled
> serial8250.0: ttyS1 at MMIO 0x4ef600400 (irq = 20) is a 16550A
> serial8250.0: ttyS2 at MMIO 0x4ef600500 (irq = 29) is a 16550A
> serial8250.0: ttyS3 at MMIO 0x4ef600600 (irq = 21) is a 16550A
> 4ef600300.serial: ttyS0 at MMIO 0x4ef600300 (irq = 19) is a 16550
> 4ef600400.serial: ttyS1 at MMIO 0x4ef600400 (irq = 20) is a 16550
> 4ef600500.serial: ttyS2 at MMIO 0x4ef600500 (irq = 29) is a 16550
> 4ef600600.serial: ttyS3 at MMIO 0x4ef600600 (irq = 21) is a 16550
> PPC 4xx OCP EMAC driver, version 3.54
>   alloc irq_desc for 22 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 6 on host /interrupt-controller2 mapped to virtual irq 22
>   alloc irq_desc for 23 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 7 on host /interrupt-controller2 mapped to virtual irq 23
>   alloc irq_desc for 24 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 3 on host /interrupt-controller2 mapped to virtual irq 24
>   alloc irq_desc for 25 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 4 on host /interrupt-controller2 mapped to virtual irq 25
>   alloc irq_desc for 26 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 5 on host /interrupt-controller2 mapped to virtual irq 26
> MAL v2 /plb/mcmal, 2 TX channels, 16 RX channels
> ZMII /plb/opb/emac-zmii@ef600d00 initialized
> RGMII /plb/opb/emac-rgmii@ef601500 initialized with MDIO support
> TAH /plb/opb/emac-tah@ef601350 initialized
> TAH /plb/opb/emac-tah@ef601450 initialized
>   alloc irq_desc for 27 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 16 on host /interrupt-controller2 mapped to virtual irq 27
>   alloc irq_desc for 28 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 20 on host /interrupt-controller2 mapped to virtual irq 28
> /plb/opb/emac-rgmii@ef601500: input 0 in RGMII mode
> eth0: EMAC-0 /plb/opb/ethernet@ef600e00, MAC 00:99:88:77:66:55
> eth0: found Generic MII PHY (0x00)
>   alloc irq_desc for 31 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 17 on host /interrupt-controller2 mapped to virtual irq 31
>   alloc irq_desc for 32 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 21 on host /interrupt-controller2 mapped to virtual irq 32
> /plb/opb/emac-rgmii@ef601500: input 1 in RGMII mode
> eth1: EMAC-1 /plb/opb/ethernet@ef600f00, MAC 00:99:88:77:66:56
> eth1: found Generic MII PHY (0x10)
> TCP cubic registered
> NET: Registered protocol family 17
> 802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
> All bugs added by David S. Miller <davem@redhat.com>
> eth0: link is down
> IP-Config: Complete:
>      device=eth0, addr=10.0.0.30, mask=255.0.0.0, gw=10.0.0.138,
>      host=smbe460, domain=, nis-domain=(none),
>      bootserver=10.0.0.10, rootserver=10.0.0.10, rootpath=
> Looking up port of RPC 100003/2 on 10.0.0.10
> eth0: link is up, 100 FDX, pause enabled
> Looking up port of RPC 100005/1 on 10.0.0.10
> VFS: Mounted root (nfs filesystem) on device 0:11.
> Freeing unused kernel memory: 132k init
> plain text document attachment (failure.txt)
> Linux version 2.6.33 (felix@felix-laptop.lan) (gcc version 4.2.2) #8 Sun Mar 28 12:04:25 IDT 2010
> Found legacy serial port 0 for /plb/opb/serial@ef600300
>   mem=4ef600300, taddr=4ef600300, irq=0, clk=7407407, speed=0
> Found legacy serial port 1 for /plb/opb/serial@ef600400
>   mem=4ef600400, taddr=4ef600400, irq=0, clk=7407407, speed=0
> Found legacy serial port 2 for /plb/opb/serial@ef600500
>   mem=4ef600500, taddr=4ef600500, irq=0, clk=7407407, speed=0
> Found legacy serial port 3 for /plb/opb/serial@ef600600
>   mem=4ef600600, taddr=4ef600600, irq=0, clk=7407407, speed=0
> Top of RAM: 0x30000000, Total RAM: 0x30000000
> Memory hole size: 0MB
> Zone PFN ranges:
>   DMA      0x00000000 -> 0x00030000
>   Normal   0x00030000 -> 0x00030000
> Movable zone start PFN for each node
> early_node_map[1] active PFN ranges
>     0: 0x00000000 -> 0x00030000
> On node 0 totalpages: 196608
> free_area_init_node: node 0, pgdat c02a84d0, node_mem_map c02e1000
>   DMA zone: 1536 pages used for memmap
>   DMA zone: 0 pages reserved
>   DMA zone: 195072 pages, LIFO batch:31
> MMU: Allocated 1088 bytes of context maps for 255 contexts
> Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 195072
> Kernel command line: root=/dev/nfs rw nfsroot=10.0.0.10:/opt/eldk/ppc_4xxFP ip=10.0.0.30:10.0.0.10:10.0.0.138:255.0.0.0:smbe460:eth0:off panic=1 console=ttyS0,115200
> PID hash table entries: 4096 (order: 2, 16384 bytes)
> Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
> Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
> Memory: 776500k/786432k available (2656k kernel code, 9932k reserved, 100k data, 184k bss, 132k init)
> Kernel virtual memory layout:
>   * 0xfffdf000..0xfffff000  : fixmap
>   * 0xfde00000..0xfe000000  : consistent mem
>   * 0xfde00000..0xfde00000  : early ioremap
>   * 0xf1000000..0xfde00000  : vmalloc & ioremap
> SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
> Hierarchical RCU implementation.
> NR_IRQS:512 nr_irqs:512
> UIC0 (32 IRQ sources) at DCR 0xc0
> UIC1 (32 IRQ sources) at DCR 0xd0
>   alloc irq_desc for 30 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 30 on host /interrupt-controller0 mapped to virtual irq 30
> UIC2 (32 IRQ sources) at DCR 0xe0
>   alloc irq_desc for 16 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 10 on host /interrupt-controller0 mapped to virtual irq 16
> UIC3 (32 IRQ sources) at DCR 0xf0
>   alloc irq_desc for 17 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 16 on host /interrupt-controller0 mapped to virtual irq 17
> time_init: decrementer frequency = 1000.000012 MHz
> time_init: processor frequency   = 1000.000012 MHz
> clocksource: timebase mult[400000] shift[22] registered
> clockevent: decrementer mult[80000019] shift[31] cpu[0]
> Mount-cache hash table entries: 512
> NET: Registered protocol family 16
>   alloc irq_desc for 18 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 11 on host /interrupt-controller1 mapped to virtual irq 18
> 256k L2-cache enabled
> PCI host bridge /plb/pci@c0ec00000 (primary) ranges:
>  MEM 0x0000000d80000000..0x0000000dffffffff -> 0x0000000080000000 
>  MEM 0x0000000c0ee00000..0x0000000c0eefffff -> 0x0000000000000000 
>   IO 0x0000000c08000000..0x0000000c0800ffff -> 0x0000000000000000
>  Removing ISA hole at 0x0000000c0ee00000
> 4xx PCI DMA offset set to 0x00000000
> /plb/pci@c0ec00000: Legacy ISA memory support enabled
> PCI: Probing PCI hardware
> pci_bus 0000:00: scanning bus
> pci 0000:00:02.0: found [3388:0020] class 000604 header type 01
> pci 0000:00:02.0: calling pcibios_fixup_resources+0x0/0xf4
> pci 0000:00:02.0: calling fixup_ppc4xx_pci_bridge+0x0/0x154
> pci 0000:00:02.0: calling quirk_resource_alignment+0x0/0x200
> pci 0000:00:02.0: supports D1 D2
> pci 0000:00:02.0: PME# supported from D0 D1 D2 D3hot
> pci 0000:00:02.0: PME# disabled
> pci_bus 0000:00: fixups for bus
> pci 0000:00:02.0: scanning behind bridge, config 010100, pass 0
> pci_bus 0000:01: scanning bus
> pci_bus 0000:01: fixups for bus
> pci 0000:00:02.0: PCI bridge to [bus 01-01]
> pci 0000:00:02.0:   bridge window [io  1000 - 0000] reg reading
> pci 0000:00:02.0:   bridge window [mem 0x80000000 - 0x7fffffff] reg reading
> pci 0000:00:02.0:   bridge window [mem 0x10000000 - 000fffff pref] reg reading
> pci_bus 0000:01: bus scan returning with max=01
> pci 0000:00:02.0: scanning behind bridge, config 010100, pass 1
> pci_bus 0000:00: bus scan returning with max=01
> PCI: max bus depth: 1 pci_try_num: 2
> pci 0000:00:02.0: PCI bridge to [bus 01-01]
> pci 0000:00:02.0:   bridge window [io  disabled]
> pci 0000:00:02.0:   bridge window [mem disabled]
> pci 0000:00:02.0:   bridge window [mem pref disabled]
> pci_bus 0000:00: resource 0 [io  0x0000-0xffff]
> pci_bus 0000:00: resource 1 [mem 0xd80000000-0xdffffffff]
> bio: create slab <bio-0> at 0
> SCSI subsystem initialized
> Switching to clocksource timebase
> NET: Registered protocol family 2
> IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
> TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
> TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
> TCP: Hash tables configured (established 131072 bind 65536)
> TCP reno registered
> UDP hash table entries: 512 (order: 1, 8192 bytes)
> UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
> NET: Registered protocol family 1
> RPC: Registered udp transport module.
> RPC: Registered tcp transport module.
> RPC: Registered tcp NFSv4.1 backchannel transport module.
> pci 0000:00:02.0: calling quirk_cardbus_legacy+0x0/0x54
> pci 0000:00:02.0: calling quirk_usb_early_handoff+0x0/0x6d0
> PCI: CLS 32 bytes, default 32
>   alloc irq_desc for 19 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 1 on host /interrupt-controller1 mapped to virtual irq 19
>   alloc irq_desc for 20 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 1 on host /interrupt-controller0 mapped to virtual irq 20
>   alloc irq_desc for 29 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 29 on host /interrupt-controller1 mapped to virtual irq 29
>   alloc irq_desc for 21 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 30 on host /interrupt-controller1 mapped to virtual irq 21
> msgmni has been set to 1516
> io scheduler noop registered
> io scheduler deadline registered
> io scheduler cfq registered (default)
> Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> serial8250.0: ttyS0 at MMIO 0x4ef600300 (irq = 19) is a 16550A
> console [ttyS0] enabled
> serial8250.0: ttyS1 at MMIO 0x4ef600400 (irq = 20) is a 16550A
> serial8250.0: ttyS2 at MMIO 0x4ef600500 (irq = 29) is a 16550A
> serial8250.0: ttyS3 at MMIO 0x4ef600600 (irq = 21) is a 16550A
> 4ef600300.serial: ttyS0 at MMIO 0x4ef600300 (irq = 19) is a 16550
> 4ef600400.serial: ttyS1 at MMIO 0x4ef600400 (irq = 20) is a 16550
> 4ef600500.serial: ttyS2 at MMIO 0x4ef600500 (irq = 29) is a 16550
> 4ef600600.serial: ttyS3 at MMIO 0x4ef600600 (irq = 21) is a 16550
> PPC 4xx OCP EMAC driver, version 3.54
>   alloc irq_desc for 22 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 6 on host /interrupt-controller2 mapped to virtual irq 22
>   alloc irq_desc for 23 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 7 on host /interrupt-controller2 mapped to virtual irq 23
>   alloc irq_desc for 24 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 3 on host /interrupt-controller2 mapped to virtual irq 24
>   alloc irq_desc for 25 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 4 on host /interrupt-controller2 mapped to virtual irq 25
>   alloc irq_desc for 26 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 5 on host /interrupt-controller2 mapped to virtual irq 26
> MAL v2 /plb/mcmal, 2 TX channels, 16 RX channels
> ZMII /plb/opb/emac-zmii@ef600d00 initialized
> RGMII /plb/opb/emac-rgmii@ef601500 initialized with MDIO support
> TAH /plb/opb/emac-tah@ef601350 initialized
> TAH /plb/opb/emac-tah@ef601450 initialized
>   alloc irq_desc for 27 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 16 on host /interrupt-controller2 mapped to virtual irq 27
>   alloc irq_desc for 28 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 20 on host /interrupt-controller2 mapped to virtual irq 28
> /plb/opb/emac-rgmii@ef601500: input 0 in RGMII mode
> eth0: EMAC-0 /plb/opb/ethernet@ef600e00, MAC 00:99:88:77:66:55
> eth0: found Generic MII PHY (0x00)
>   alloc irq_desc for 31 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 17 on host /interrupt-controller2 mapped to virtual irq 31
>   alloc irq_desc for 32 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 21 on host /interrupt-controller2 mapped to virtual irq 32
> /plb/opb/emac-rgmii@ef601500: input 1 in RGMII mode
> eth1: EMAC-1 /plb/opb/ethernet@ef600f00, MAC 00:99:88:77:66:56
> eth1: found Generic MII PHY (0x10)
> TCP cubic registered
> NET: Registered protocol family 17
> 802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
> All bugs added by David S. Miller <davem@redhat.com>
> eth0: link is down
> IP-Config: Complete:
>      device=eth0, addr=10.0.0.30, mask=255.0.0.0, gw=10.0.0.138,
>      host=smbe460, domain=, nis-domain=(none),
>      bootserver=10.0.0.10, rootserver=10.0.0.10, rootpath=
> Looking up port of RPC 100003/2 on 10.0.0.10
> eth0: link is up, 100 FDX, pause enabled
> Looking up port of RPC 100005/1 on 10.0.0.10
> VFS: Mounted root (nfs filesystem) on device 0:11.
> Freeing unused kernel memory: 132k init
> pci_bus 0000:00: scanning bus
> pci 0000:00:02.0: scanning behind bridge, config 010100, pass 0
> pci_bus 0000:01: scanning bus
> pci 0000:01:00.0: found [1575:0002] class 00ff00 header type 00
> pci 0000:01:00.0: reg 10: [mem 0x00000000-0x000fffff]
> pci 0000:01:00.0: reg 14: [mem 0x00000000-0x03ffffff]
> pci 0000:01:00.0: reg 18: [mem 0x00000000-0x03ffffff]
> pci 0000:01:00.0: reg 1c: [mem 0x00000000-0x00003fff]
> pci 0000:01:00.0: calling pcibios_fixup_resources+0x0/0xf4
> pci 0000:01:00.0: calling fixup_ppc4xx_pci_bridge+0x0/0x154
> pci 0000:01:00.0: calling quirk_resource_alignment+0x0/0x200
> pci_bus 0000:01: bus scan returning with max=01
> pci 0000:00:02.0: scanning behind bridge, config 010100, pass 1
> pci_bus 0000:00: bus scan returning with max=01
> pci 0000:00:02.0: BAR 8: assigned [mem 0xd80000000-0xd89ffffff]
> pci 0000:01:00.0: BAR 1: assigned [mem 0xd80000000-0xd83ffffff]
> pci 0000:01:00.0: BAR 1: set to [mem 0xd80000000-0xd83ffffff] (PCI address [0x80000000-0x83ffffff]
> pci 0000:01:00.0: BAR 2: assigned [mem 0xd84000000-0xd87ffffff]
> pci 0000:01:00.0: BAR 2: set to [mem 0xd84000000-0xd87ffffff] (PCI address [0x84000000-0x87ffffff]
> pci 0000:01:00.0: BAR 0: assigned [mem 0xd88000000-0xd880fffff]
> pci 0000:01:00.0: BAR 0: set to [mem 0xd88000000-0xd880fffff] (PCI address [0x88000000-0x880fffff]
> pci 0000:01:00.0: BAR 3: assigned [mem 0xd88100000-0xd88103fff]
> pci 0000:01:00.0: BAR 3: set to [mem 0xd88100000-0xd88103fff] (PCI address [0x88100000-0x88103fff]
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
  2010-03-17  1:03                     ` Kenji Kaneshige
  2010-03-17  7:38                       ` Felix Radensky
@ 2010-03-28  9:13                       ` Felix Radensky
  2010-03-28  9:56                         ` Benjamin Herrenschmidt
  2010-03-29  0:05                         ` Yinghai Lu
  1 sibling, 2 replies; 29+ messages in thread
From: Felix Radensky @ 2010-03-28  9:13 UTC (permalink / raw)
  To: Kenji Kaneshige; +Cc: linux-pci, yinghai, Alex Chiang, linuxppc-dev

[-- Attachment #1: Type: text/plain, Size: 2243 bytes --]

Hello, Kenji-san

Kenji Kaneshige wrote:
> Felix Radensky wrote:
>> Hello, Kenji-san
>>
>> Kenji Kaneshige wrote:
>>>
>>> I misunderstood the problem.
>>> My understanding was memory resource was not enabled even though 
>>> Linux set
>>> the Memory Space bit in the command register. But it was not 
>>> correct. The
>>> bridge memory window was marked unused and Linux didn't try to set 
>>> Memory
>>> Space bit in the command register. Current my understanding is as 
>>> follows.
>>> Please correct me if I'm still misunderstanding something.
>>>
>>> 1) Your BIOS doesn't assign any resource to the bridge if its child PCI
>>>   hot-plug slot is not occupied.
>>>
>>> 2) At the boot time, pci_assign_unassigned_resources() try to assign
>>>   memory resouces to the bridge using pci_bus_assign_resource(), but
>>>   it was disabled because there are no devices require memory resource.
>>>
>>> 3) And then pci_assign_unassigned_resouces() calls pci_enable_bridge(),
>>>   but Memory Space bit in the command register was not set because no
>>>   memory resource are assigned to the bridge. At the same time,
>>>   pci_dev->enable_cnt was incremented.
>>>
>>> 4) At the rescan time, pci_setup_bridge() and pci_enable_bridge() 
>>> doesn't
>>>   work because the bridge is already marked "enabled" (i.e.
>>>   pci_dev->enable_cnt is not zero).
>>>
>>> I don't have any concrete idea how to fix that so far, but I can say 
>>> my idea
>>> (pcibios_enable_device() should return an error) was wrong.
>>>
>>>
>> I was wandering if setting is_hotplug_bridge property for this bridge 
>> (e.g. via
>> header quirk) can be an acceptable solution. This will allow passing 
>> hpmemsize
>> kernel parameter, to specify the amount of memory to assign to the 
>> bridge.
>> I've tested this approach and it seems to work.
>
> Looks good to me.
>
> By the way, I think Yinghai's bridge resource reallocation patch series
> might help you. It is in Jesse's PCI tree. Please take a look.
>
> Thanks,
> Kenji Kaneshige
>
I've tried Jesse's tree with Yinghai's patches, but they don't seem to help.
Memory for bridge is not allocated after insertion of hotplug device and
bus rescan. Attached dmesg output in case of success and failure.

Thanks.

Felix.

[-- Attachment #2: success.txt --]
[-- Type: text/plain, Size: 10422 bytes --]

Linux version 2.6.33 (felix@felix-laptop.lan) (gcc version 4.2.2) #8 Sun Mar 28 12:04:25 IDT 2010
Found legacy serial port 0 for /plb/opb/serial@ef600300
  mem=4ef600300, taddr=4ef600300, irq=0, clk=7407407, speed=0
Found legacy serial port 1 for /plb/opb/serial@ef600400
  mem=4ef600400, taddr=4ef600400, irq=0, clk=7407407, speed=0
Found legacy serial port 2 for /plb/opb/serial@ef600500
  mem=4ef600500, taddr=4ef600500, irq=0, clk=7407407, speed=0
Found legacy serial port 3 for /plb/opb/serial@ef600600
  mem=4ef600600, taddr=4ef600600, irq=0, clk=7407407, speed=0
Top of RAM: 0x30000000, Total RAM: 0x30000000
Memory hole size: 0MB
Zone PFN ranges:
  DMA      0x00000000 -> 0x00030000
  Normal   0x00030000 -> 0x00030000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00030000
On node 0 totalpages: 196608
free_area_init_node: node 0, pgdat c02a84d0, node_mem_map c02e1000
  DMA zone: 1536 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 195072 pages, LIFO batch:31
MMU: Allocated 1088 bytes of context maps for 255 contexts
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 195072
Kernel command line: root=/dev/nfs rw nfsroot=10.0.0.10:/opt/eldk/ppc_4xxFP ip=10.0.0.30:10.0.0.10:10.0.0.138:255.0.0.0:smbe460:eth0:off panic=1 console=ttyS0,115200
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 776500k/786432k available (2656k kernel code, 9932k reserved, 100k data, 184k bss, 132k init)
Kernel virtual memory layout:
  * 0xfffdf000..0xfffff000  : fixmap
  * 0xfde00000..0xfe000000  : consistent mem
  * 0xfde00000..0xfde00000  : early ioremap
  * 0xf1000000..0xfde00000  : vmalloc & ioremap
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
NR_IRQS:512 nr_irqs:512
UIC0 (32 IRQ sources) at DCR 0xc0
UIC1 (32 IRQ sources) at DCR 0xd0
  alloc irq_desc for 30 on node 0
  alloc kstat_irqs on node 0
irq: irq 30 on host /interrupt-controller0 mapped to virtual irq 30
UIC2 (32 IRQ sources) at DCR 0xe0
  alloc irq_desc for 16 on node 0
  alloc kstat_irqs on node 0
irq: irq 10 on host /interrupt-controller0 mapped to virtual irq 16
UIC3 (32 IRQ sources) at DCR 0xf0
  alloc irq_desc for 17 on node 0
  alloc kstat_irqs on node 0
irq: irq 16 on host /interrupt-controller0 mapped to virtual irq 17
time_init: decrementer frequency = 1000.000012 MHz
time_init: processor frequency   = 1000.000012 MHz
clocksource: timebase mult[400000] shift[22] registered
clockevent: decrementer mult[80000019] shift[31] cpu[0]
Mount-cache hash table entries: 512
NET: Registered protocol family 16
  alloc irq_desc for 18 on node 0
  alloc kstat_irqs on node 0
irq: irq 11 on host /interrupt-controller1 mapped to virtual irq 18
256k L2-cache enabled
PCI host bridge /plb/pci@c0ec00000 (primary) ranges:
 MEM 0x0000000d80000000..0x0000000dffffffff -> 0x0000000080000000 
 MEM 0x0000000c0ee00000..0x0000000c0eefffff -> 0x0000000000000000 
  IO 0x0000000c08000000..0x0000000c0800ffff -> 0x0000000000000000
 Removing ISA hole at 0x0000000c0ee00000
4xx PCI DMA offset set to 0x00000000
/plb/pci@c0ec00000: Legacy ISA memory support enabled
PCI: Probing PCI hardware
pci_bus 0000:00: scanning bus
pci 0000:00:02.0: found [3388:0020] class 000604 header type 01
pci 0000:00:02.0: calling pcibios_fixup_resources+0x0/0xf4
pci 0000:00:02.0: calling fixup_ppc4xx_pci_bridge+0x0/0x154
pci 0000:00:02.0: calling quirk_resource_alignment+0x0/0x200
pci 0000:00:02.0: supports D1 D2
pci 0000:00:02.0: PME# supported from D0 D1 D2 D3hot
pci 0000:00:02.0: PME# disabled
pci_bus 0000:00: fixups for bus
pci 0000:00:02.0: scanning behind bridge, config 010100, pass 0
pci_bus 0000:01: scanning bus
pci 0000:01:00.0: found [1575:0002] class 00ff00 header type 00
pci 0000:01:00.0: reg 10: [mem 0x80000000-0x800fffff]
pci 0000:01:00.0: reg 14: [mem 0x84000000-0x87ffffff]
pci 0000:01:00.0: reg 18: [mem 0x88000000-0x8bffffff]
pci 0000:01:00.0: reg 1c: [mem 0x8c000000-0x8c003fff]
pci 0000:01:00.0: calling pcibios_fixup_resources+0x0/0xf4
pci 0000:01:00.0: calling fixup_ppc4xx_pci_bridge+0x0/0x154
pci 0000:01:00.0: calling quirk_resource_alignment+0x0/0x200
pci_bus 0000:01: fixups for bus
pci 0000:00:02.0: PCI bridge to [bus 01-01]
pci 0000:00:02.0:   bridge window [io  1000 - 0000] reg reading
pci 0000:00:02.0:   bridge window [mem 0x80000000-0x8c0fffff]
pci 0000:00:02.0:   bridge window [mem 0x10000000 - 000fffff pref] reg reading
pci_bus 0000:01: bus scan returning with max=01
pci 0000:00:02.0: scanning behind bridge, config 010100, pass 1
pci_bus 0000:00: bus scan returning with max=01
PCI: max bus depth: 1 pci_try_num: 2
pci 0000:00:02.0: BAR 8: assigned [mem 0xd80000000-0xd8dffffff]
pci 0000:01:00.0: BAR 1: assigned [mem 0xd80000000-0xd83ffffff]
pci 0000:01:00.0: BAR 1: set to [mem 0xd80000000-0xd83ffffff] (PCI address [0x80000000-0x83ffffff]
pci 0000:01:00.0: BAR 2: assigned [mem 0xd84000000-0xd87ffffff]
pci 0000:01:00.0: BAR 2: set to [mem 0xd84000000-0xd87ffffff] (PCI address [0x84000000-0x87ffffff]
pci 0000:01:00.0: BAR 0: assigned [mem 0xd88000000-0xd880fffff]
pci 0000:01:00.0: BAR 0: set to [mem 0xd88000000-0xd880fffff] (PCI address [0x88000000-0x880fffff]
pci 0000:01:00.0: BAR 3: assigned [mem 0xd88100000-0xd88103fff]
pci 0000:01:00.0: BAR 3: set to [mem 0xd88100000-0xd88103fff] (PCI address [0x88100000-0x88103fff]
pci 0000:00:02.0: PCI bridge to [bus 01-01]
pci 0000:00:02.0:   bridge window [io  disabled]
pci 0000:00:02.0:   bridge window [mem 0xd80000000-0xd8dffffff]
pci 0000:00:02.0:   bridge window [mem pref disabled]
pci_bus 0000:00: resource 0 [io  0x0000-0xffff]
pci_bus 0000:00: resource 1 [mem 0xd80000000-0xdffffffff]
pci_bus 0000:01: resource 1 [mem 0xd80000000-0xd8dffffff]
bio: create slab <bio-0> at 0
SCSI subsystem initialized
Switching to clocksource timebase
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
TCP reno registered
UDP hash table entries: 512 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
pci 0000:00:02.0: calling quirk_cardbus_legacy+0x0/0x54
pci 0000:00:02.0: calling quirk_usb_early_handoff+0x0/0x6d0
pci 0000:01:00.0: calling quirk_cardbus_legacy+0x0/0x54
pci 0000:01:00.0: calling quirk_usb_early_handoff+0x0/0x6d0
PCI: CLS 32 bytes, default 32
  alloc irq_desc for 19 on node 0
  alloc kstat_irqs on node 0
irq: irq 1 on host /interrupt-controller1 mapped to virtual irq 19
  alloc irq_desc for 20 on node 0
  alloc kstat_irqs on node 0
irq: irq 1 on host /interrupt-controller0 mapped to virtual irq 20
  alloc irq_desc for 29 on node 0
  alloc kstat_irqs on node 0
irq: irq 29 on host /interrupt-controller1 mapped to virtual irq 29
  alloc irq_desc for 21 on node 0
  alloc kstat_irqs on node 0
irq: irq 30 on host /interrupt-controller1 mapped to virtual irq 21
msgmni has been set to 1516
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
serial8250.0: ttyS0 at MMIO 0x4ef600300 (irq = 19) is a 16550A
console [ttyS0] enabled
serial8250.0: ttyS1 at MMIO 0x4ef600400 (irq = 20) is a 16550A
serial8250.0: ttyS2 at MMIO 0x4ef600500 (irq = 29) is a 16550A
serial8250.0: ttyS3 at MMIO 0x4ef600600 (irq = 21) is a 16550A
4ef600300.serial: ttyS0 at MMIO 0x4ef600300 (irq = 19) is a 16550
4ef600400.serial: ttyS1 at MMIO 0x4ef600400 (irq = 20) is a 16550
4ef600500.serial: ttyS2 at MMIO 0x4ef600500 (irq = 29) is a 16550
4ef600600.serial: ttyS3 at MMIO 0x4ef600600 (irq = 21) is a 16550
PPC 4xx OCP EMAC driver, version 3.54
  alloc irq_desc for 22 on node 0
  alloc kstat_irqs on node 0
irq: irq 6 on host /interrupt-controller2 mapped to virtual irq 22
  alloc irq_desc for 23 on node 0
  alloc kstat_irqs on node 0
irq: irq 7 on host /interrupt-controller2 mapped to virtual irq 23
  alloc irq_desc for 24 on node 0
  alloc kstat_irqs on node 0
irq: irq 3 on host /interrupt-controller2 mapped to virtual irq 24
  alloc irq_desc for 25 on node 0
  alloc kstat_irqs on node 0
irq: irq 4 on host /interrupt-controller2 mapped to virtual irq 25
  alloc irq_desc for 26 on node 0
  alloc kstat_irqs on node 0
irq: irq 5 on host /interrupt-controller2 mapped to virtual irq 26
MAL v2 /plb/mcmal, 2 TX channels, 16 RX channels
ZMII /plb/opb/emac-zmii@ef600d00 initialized
RGMII /plb/opb/emac-rgmii@ef601500 initialized with MDIO support
TAH /plb/opb/emac-tah@ef601350 initialized
TAH /plb/opb/emac-tah@ef601450 initialized
  alloc irq_desc for 27 on node 0
  alloc kstat_irqs on node 0
irq: irq 16 on host /interrupt-controller2 mapped to virtual irq 27
  alloc irq_desc for 28 on node 0
  alloc kstat_irqs on node 0
irq: irq 20 on host /interrupt-controller2 mapped to virtual irq 28
/plb/opb/emac-rgmii@ef601500: input 0 in RGMII mode
eth0: EMAC-0 /plb/opb/ethernet@ef600e00, MAC 00:99:88:77:66:55
eth0: found Generic MII PHY (0x00)
  alloc irq_desc for 31 on node 0
  alloc kstat_irqs on node 0
irq: irq 17 on host /interrupt-controller2 mapped to virtual irq 31
  alloc irq_desc for 32 on node 0
  alloc kstat_irqs on node 0
irq: irq 21 on host /interrupt-controller2 mapped to virtual irq 32
/plb/opb/emac-rgmii@ef601500: input 1 in RGMII mode
eth1: EMAC-1 /plb/opb/ethernet@ef600f00, MAC 00:99:88:77:66:56
eth1: found Generic MII PHY (0x10)
TCP cubic registered
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
eth0: link is down
IP-Config: Complete:
     device=eth0, addr=10.0.0.30, mask=255.0.0.0, gw=10.0.0.138,
     host=smbe460, domain=, nis-domain=(none),
     bootserver=10.0.0.10, rootserver=10.0.0.10, rootpath=
Looking up port of RPC 100003/2 on 10.0.0.10
eth0: link is up, 100 FDX, pause enabled
Looking up port of RPC 100005/1 on 10.0.0.10
VFS: Mounted root (nfs filesystem) on device 0:11.
Freeing unused kernel memory: 132k init

[-- Attachment #3: failure.txt --]
[-- Type: text/plain, Size: 10531 bytes --]

Linux version 2.6.33 (felix@felix-laptop.lan) (gcc version 4.2.2) #8 Sun Mar 28 12:04:25 IDT 2010
Found legacy serial port 0 for /plb/opb/serial@ef600300
  mem=4ef600300, taddr=4ef600300, irq=0, clk=7407407, speed=0
Found legacy serial port 1 for /plb/opb/serial@ef600400
  mem=4ef600400, taddr=4ef600400, irq=0, clk=7407407, speed=0
Found legacy serial port 2 for /plb/opb/serial@ef600500
  mem=4ef600500, taddr=4ef600500, irq=0, clk=7407407, speed=0
Found legacy serial port 3 for /plb/opb/serial@ef600600
  mem=4ef600600, taddr=4ef600600, irq=0, clk=7407407, speed=0
Top of RAM: 0x30000000, Total RAM: 0x30000000
Memory hole size: 0MB
Zone PFN ranges:
  DMA      0x00000000 -> 0x00030000
  Normal   0x00030000 -> 0x00030000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00030000
On node 0 totalpages: 196608
free_area_init_node: node 0, pgdat c02a84d0, node_mem_map c02e1000
  DMA zone: 1536 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 195072 pages, LIFO batch:31
MMU: Allocated 1088 bytes of context maps for 255 contexts
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 195072
Kernel command line: root=/dev/nfs rw nfsroot=10.0.0.10:/opt/eldk/ppc_4xxFP ip=10.0.0.30:10.0.0.10:10.0.0.138:255.0.0.0:smbe460:eth0:off panic=1 console=ttyS0,115200
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 776500k/786432k available (2656k kernel code, 9932k reserved, 100k data, 184k bss, 132k init)
Kernel virtual memory layout:
  * 0xfffdf000..0xfffff000  : fixmap
  * 0xfde00000..0xfe000000  : consistent mem
  * 0xfde00000..0xfde00000  : early ioremap
  * 0xf1000000..0xfde00000  : vmalloc & ioremap
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
NR_IRQS:512 nr_irqs:512
UIC0 (32 IRQ sources) at DCR 0xc0
UIC1 (32 IRQ sources) at DCR 0xd0
  alloc irq_desc for 30 on node 0
  alloc kstat_irqs on node 0
irq: irq 30 on host /interrupt-controller0 mapped to virtual irq 30
UIC2 (32 IRQ sources) at DCR 0xe0
  alloc irq_desc for 16 on node 0
  alloc kstat_irqs on node 0
irq: irq 10 on host /interrupt-controller0 mapped to virtual irq 16
UIC3 (32 IRQ sources) at DCR 0xf0
  alloc irq_desc for 17 on node 0
  alloc kstat_irqs on node 0
irq: irq 16 on host /interrupt-controller0 mapped to virtual irq 17
time_init: decrementer frequency = 1000.000012 MHz
time_init: processor frequency   = 1000.000012 MHz
clocksource: timebase mult[400000] shift[22] registered
clockevent: decrementer mult[80000019] shift[31] cpu[0]
Mount-cache hash table entries: 512
NET: Registered protocol family 16
  alloc irq_desc for 18 on node 0
  alloc kstat_irqs on node 0
irq: irq 11 on host /interrupt-controller1 mapped to virtual irq 18
256k L2-cache enabled
PCI host bridge /plb/pci@c0ec00000 (primary) ranges:
 MEM 0x0000000d80000000..0x0000000dffffffff -> 0x0000000080000000 
 MEM 0x0000000c0ee00000..0x0000000c0eefffff -> 0x0000000000000000 
  IO 0x0000000c08000000..0x0000000c0800ffff -> 0x0000000000000000
 Removing ISA hole at 0x0000000c0ee00000
4xx PCI DMA offset set to 0x00000000
/plb/pci@c0ec00000: Legacy ISA memory support enabled
PCI: Probing PCI hardware
pci_bus 0000:00: scanning bus
pci 0000:00:02.0: found [3388:0020] class 000604 header type 01
pci 0000:00:02.0: calling pcibios_fixup_resources+0x0/0xf4
pci 0000:00:02.0: calling fixup_ppc4xx_pci_bridge+0x0/0x154
pci 0000:00:02.0: calling quirk_resource_alignment+0x0/0x200
pci 0000:00:02.0: supports D1 D2
pci 0000:00:02.0: PME# supported from D0 D1 D2 D3hot
pci 0000:00:02.0: PME# disabled
pci_bus 0000:00: fixups for bus
pci 0000:00:02.0: scanning behind bridge, config 010100, pass 0
pci_bus 0000:01: scanning bus
pci_bus 0000:01: fixups for bus
pci 0000:00:02.0: PCI bridge to [bus 01-01]
pci 0000:00:02.0:   bridge window [io  1000 - 0000] reg reading
pci 0000:00:02.0:   bridge window [mem 0x80000000 - 0x7fffffff] reg reading
pci 0000:00:02.0:   bridge window [mem 0x10000000 - 000fffff pref] reg reading
pci_bus 0000:01: bus scan returning with max=01
pci 0000:00:02.0: scanning behind bridge, config 010100, pass 1
pci_bus 0000:00: bus scan returning with max=01
PCI: max bus depth: 1 pci_try_num: 2
pci 0000:00:02.0: PCI bridge to [bus 01-01]
pci 0000:00:02.0:   bridge window [io  disabled]
pci 0000:00:02.0:   bridge window [mem disabled]
pci 0000:00:02.0:   bridge window [mem pref disabled]
pci_bus 0000:00: resource 0 [io  0x0000-0xffff]
pci_bus 0000:00: resource 1 [mem 0xd80000000-0xdffffffff]
bio: create slab <bio-0> at 0
SCSI subsystem initialized
Switching to clocksource timebase
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
TCP reno registered
UDP hash table entries: 512 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
pci 0000:00:02.0: calling quirk_cardbus_legacy+0x0/0x54
pci 0000:00:02.0: calling quirk_usb_early_handoff+0x0/0x6d0
PCI: CLS 32 bytes, default 32
  alloc irq_desc for 19 on node 0
  alloc kstat_irqs on node 0
irq: irq 1 on host /interrupt-controller1 mapped to virtual irq 19
  alloc irq_desc for 20 on node 0
  alloc kstat_irqs on node 0
irq: irq 1 on host /interrupt-controller0 mapped to virtual irq 20
  alloc irq_desc for 29 on node 0
  alloc kstat_irqs on node 0
irq: irq 29 on host /interrupt-controller1 mapped to virtual irq 29
  alloc irq_desc for 21 on node 0
  alloc kstat_irqs on node 0
irq: irq 30 on host /interrupt-controller1 mapped to virtual irq 21
msgmni has been set to 1516
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
serial8250.0: ttyS0 at MMIO 0x4ef600300 (irq = 19) is a 16550A
console [ttyS0] enabled
serial8250.0: ttyS1 at MMIO 0x4ef600400 (irq = 20) is a 16550A
serial8250.0: ttyS2 at MMIO 0x4ef600500 (irq = 29) is a 16550A
serial8250.0: ttyS3 at MMIO 0x4ef600600 (irq = 21) is a 16550A
4ef600300.serial: ttyS0 at MMIO 0x4ef600300 (irq = 19) is a 16550
4ef600400.serial: ttyS1 at MMIO 0x4ef600400 (irq = 20) is a 16550
4ef600500.serial: ttyS2 at MMIO 0x4ef600500 (irq = 29) is a 16550
4ef600600.serial: ttyS3 at MMIO 0x4ef600600 (irq = 21) is a 16550
PPC 4xx OCP EMAC driver, version 3.54
  alloc irq_desc for 22 on node 0
  alloc kstat_irqs on node 0
irq: irq 6 on host /interrupt-controller2 mapped to virtual irq 22
  alloc irq_desc for 23 on node 0
  alloc kstat_irqs on node 0
irq: irq 7 on host /interrupt-controller2 mapped to virtual irq 23
  alloc irq_desc for 24 on node 0
  alloc kstat_irqs on node 0
irq: irq 3 on host /interrupt-controller2 mapped to virtual irq 24
  alloc irq_desc for 25 on node 0
  alloc kstat_irqs on node 0
irq: irq 4 on host /interrupt-controller2 mapped to virtual irq 25
  alloc irq_desc for 26 on node 0
  alloc kstat_irqs on node 0
irq: irq 5 on host /interrupt-controller2 mapped to virtual irq 26
MAL v2 /plb/mcmal, 2 TX channels, 16 RX channels
ZMII /plb/opb/emac-zmii@ef600d00 initialized
RGMII /plb/opb/emac-rgmii@ef601500 initialized with MDIO support
TAH /plb/opb/emac-tah@ef601350 initialized
TAH /plb/opb/emac-tah@ef601450 initialized
  alloc irq_desc for 27 on node 0
  alloc kstat_irqs on node 0
irq: irq 16 on host /interrupt-controller2 mapped to virtual irq 27
  alloc irq_desc for 28 on node 0
  alloc kstat_irqs on node 0
irq: irq 20 on host /interrupt-controller2 mapped to virtual irq 28
/plb/opb/emac-rgmii@ef601500: input 0 in RGMII mode
eth0: EMAC-0 /plb/opb/ethernet@ef600e00, MAC 00:99:88:77:66:55
eth0: found Generic MII PHY (0x00)
  alloc irq_desc for 31 on node 0
  alloc kstat_irqs on node 0
irq: irq 17 on host /interrupt-controller2 mapped to virtual irq 31
  alloc irq_desc for 32 on node 0
  alloc kstat_irqs on node 0
irq: irq 21 on host /interrupt-controller2 mapped to virtual irq 32
/plb/opb/emac-rgmii@ef601500: input 1 in RGMII mode
eth1: EMAC-1 /plb/opb/ethernet@ef600f00, MAC 00:99:88:77:66:56
eth1: found Generic MII PHY (0x10)
TCP cubic registered
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
eth0: link is down
IP-Config: Complete:
     device=eth0, addr=10.0.0.30, mask=255.0.0.0, gw=10.0.0.138,
     host=smbe460, domain=, nis-domain=(none),
     bootserver=10.0.0.10, rootserver=10.0.0.10, rootpath=
Looking up port of RPC 100003/2 on 10.0.0.10
eth0: link is up, 100 FDX, pause enabled
Looking up port of RPC 100005/1 on 10.0.0.10
VFS: Mounted root (nfs filesystem) on device 0:11.
Freeing unused kernel memory: 132k init
pci_bus 0000:00: scanning bus
pci 0000:00:02.0: scanning behind bridge, config 010100, pass 0
pci_bus 0000:01: scanning bus
pci 0000:01:00.0: found [1575:0002] class 00ff00 header type 00
pci 0000:01:00.0: reg 10: [mem 0x00000000-0x000fffff]
pci 0000:01:00.0: reg 14: [mem 0x00000000-0x03ffffff]
pci 0000:01:00.0: reg 18: [mem 0x00000000-0x03ffffff]
pci 0000:01:00.0: reg 1c: [mem 0x00000000-0x00003fff]
pci 0000:01:00.0: calling pcibios_fixup_resources+0x0/0xf4
pci 0000:01:00.0: calling fixup_ppc4xx_pci_bridge+0x0/0x154
pci 0000:01:00.0: calling quirk_resource_alignment+0x0/0x200
pci_bus 0000:01: bus scan returning with max=01
pci 0000:00:02.0: scanning behind bridge, config 010100, pass 1
pci_bus 0000:00: bus scan returning with max=01
pci 0000:00:02.0: BAR 8: assigned [mem 0xd80000000-0xd89ffffff]
pci 0000:01:00.0: BAR 1: assigned [mem 0xd80000000-0xd83ffffff]
pci 0000:01:00.0: BAR 1: set to [mem 0xd80000000-0xd83ffffff] (PCI address [0x80000000-0x83ffffff]
pci 0000:01:00.0: BAR 2: assigned [mem 0xd84000000-0xd87ffffff]
pci 0000:01:00.0: BAR 2: set to [mem 0xd84000000-0xd87ffffff] (PCI address [0x84000000-0x87ffffff]
pci 0000:01:00.0: BAR 0: assigned [mem 0xd88000000-0xd880fffff]
pci 0000:01:00.0: BAR 0: set to [mem 0xd88000000-0xd880fffff] (PCI address [0x88000000-0x880fffff]
pci 0000:01:00.0: BAR 3: assigned [mem 0xd88100000-0xd88103fff]
pci 0000:01:00.0: BAR 3: set to [mem 0xd88100000-0xd88103fff] (PCI address [0x88100000-0x88103fff]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
  2010-03-17  7:57                           ` Felix Radensky
  2010-03-17 23:04                             ` Benjamin Herrenschmidt
@ 2010-03-18  0:09                             ` Benjamin Herrenschmidt
  1 sibling, 0 replies; 29+ messages in thread
From: Benjamin Herrenschmidt @ 2010-03-18  0:09 UTC (permalink / raw)
  To: Felix Radensky
  Cc: linuxppc-dev, linux-pci, yinghai, Alex Chiang, Kenji Kaneshige


> > This is Jesse tree with the default Canyonlands defconfig ? Hrm... I'll
> > have to take a look, somebody mucking with PCI resource allocation is
> > very likely to break something :-)
> >
> >
> >   
> 
> Yep, default Canyonlands defconfig and default DTS.

Ok so Jesse is innocent :-)

See the patch I just posted:

http://patchwork.ozlabs.org/patch/47976/

That fixes it here.

Cheers,
Ben.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
  2010-03-17  7:57                           ` Felix Radensky
@ 2010-03-17 23:04                             ` Benjamin Herrenschmidt
  2010-03-18  0:09                             ` Benjamin Herrenschmidt
  1 sibling, 0 replies; 29+ messages in thread
From: Benjamin Herrenschmidt @ 2010-03-17 23:04 UTC (permalink / raw)
  To: Felix Radensky
  Cc: linuxppc-dev, linux-pci, yinghai, Alex Chiang, Kenji Kaneshige


> > This is Jesse tree with the default Canyonlands defconfig ? Hrm... I'll
> > have to take a look, somebody mucking with PCI resource allocation is
> > very likely to break something :-)
> >
> >
> >   
> 
> Yep, default Canyonlands defconfig and default DTS.

Which branch of Jesse tree btw ? "master" ?

Cheers,
Ben.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
  2010-03-17  7:47                         ` Benjamin Herrenschmidt
@ 2010-03-17  7:57                           ` Felix Radensky
  2010-03-17 23:04                             ` Benjamin Herrenschmidt
  2010-03-18  0:09                             ` Benjamin Herrenschmidt
  0 siblings, 2 replies; 29+ messages in thread
From: Felix Radensky @ 2010-03-17  7:57 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: linuxppc-dev, linux-pci, yinghai, Alex Chiang, Kenji Kaneshige

Hi Ben,

Benjamin Herrenschmidt wrote:
> On Wed, 2010-03-17 at 09:38 +0200, Felix Radensky wrote:
>   
>> Hello Kenj-san
>>
>> Kenji Kaneshige wrote:
>>     
>>> By the way, I think Yinghai's bridge resource reallocation patch series
>>> might help you. It is in Jesse's PCI tree. Please take a look.
>>>
>>>
>>>       
>> I've tried Jesse's tree on my custom board and on 460EX evaluation board
>> (Canyonlands). In both cases the kernel doesn't boot unless PCI support is
>> disabled.  Debugging is difficult as the board just resets before 
>> anything is
>> is printed on console.
>>     
>
> This is Jesse tree with the default Canyonlands defconfig ? Hrm... I'll
> have to take a look, somebody mucking with PCI resource allocation is
> very likely to break something :-)
>
>
>   

Yep, default Canyonlands defconfig and default DTS.

Felix.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
  2010-03-17  7:38                       ` Felix Radensky
@ 2010-03-17  7:47                         ` Benjamin Herrenschmidt
  2010-03-17  7:57                           ` Felix Radensky
  0 siblings, 1 reply; 29+ messages in thread
From: Benjamin Herrenschmidt @ 2010-03-17  7:47 UTC (permalink / raw)
  To: Felix Radensky
  Cc: linuxppc-dev, linux-pci, yinghai, Alex Chiang, Kenji Kaneshige

On Wed, 2010-03-17 at 09:38 +0200, Felix Radensky wrote:
> Hello Kenj-san
> 
> Kenji Kaneshige wrote:
> >
> >
> > By the way, I think Yinghai's bridge resource reallocation patch series
> > might help you. It is in Jesse's PCI tree. Please take a look.
> >
> >
> I've tried Jesse's tree on my custom board and on 460EX evaluation board
> (Canyonlands). In both cases the kernel doesn't boot unless PCI support is
> disabled.  Debugging is difficult as the board just resets before 
> anything is
> is printed on console.

This is Jesse tree with the default Canyonlands defconfig ? Hrm... I'll
have to take a look, somebody mucking with PCI resource allocation is
very likely to break something :-)

Cheers,
Ben.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
  2010-03-17  1:03                     ` Kenji Kaneshige
@ 2010-03-17  7:38                       ` Felix Radensky
  2010-03-17  7:47                         ` Benjamin Herrenschmidt
  2010-03-28  9:13                       ` Felix Radensky
  1 sibling, 1 reply; 29+ messages in thread
From: Felix Radensky @ 2010-03-17  7:38 UTC (permalink / raw)
  To: Kenji Kaneshige; +Cc: linux-pci, yinghai, Alex Chiang, linuxppc-dev

Hello Kenj-san

Kenji Kaneshige wrote:
>
>
> By the way, I think Yinghai's bridge resource reallocation patch series
> might help you. It is in Jesse's PCI tree. Please take a look.
>
>
I've tried Jesse's tree on my custom board and on 460EX evaluation board
(Canyonlands). In both cases the kernel doesn't boot unless PCI support is
disabled.  Debugging is difficult as the board just resets before 
anything is
is printed on console.

Felix.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
  2010-03-16 21:40                   ` Felix Radensky
@ 2010-03-17  1:03                     ` Kenji Kaneshige
  2010-03-17  7:38                       ` Felix Radensky
  2010-03-28  9:13                       ` Felix Radensky
  0 siblings, 2 replies; 29+ messages in thread
From: Kenji Kaneshige @ 2010-03-17  1:03 UTC (permalink / raw)
  To: Felix Radensky; +Cc: linux-pci, yinghai, Alex Chiang, linuxppc-dev

Felix Radensky wrote:
> Hello, Kenji-san
> 
> Kenji Kaneshige wrote:
>>
>> I misunderstood the problem.
>> My understanding was memory resource was not enabled even though Linux 
>> set
>> the Memory Space bit in the command register. But it was not correct. The
>> bridge memory window was marked unused and Linux didn't try to set Memory
>> Space bit in the command register. Current my understanding is as 
>> follows.
>> Please correct me if I'm still misunderstanding something.
>>
>> 1) Your BIOS doesn't assign any resource to the bridge if its child PCI
>>   hot-plug slot is not occupied.
>>
>> 2) At the boot time, pci_assign_unassigned_resources() try to assign
>>   memory resouces to the bridge using pci_bus_assign_resource(), but
>>   it was disabled because there are no devices require memory resource.
>>
>> 3) And then pci_assign_unassigned_resouces() calls pci_enable_bridge(),
>>   but Memory Space bit in the command register was not set because no
>>   memory resource are assigned to the bridge. At the same time,
>>   pci_dev->enable_cnt was incremented.
>>
>> 4) At the rescan time, pci_setup_bridge() and pci_enable_bridge() doesn't
>>   work because the bridge is already marked "enabled" (i.e.
>>   pci_dev->enable_cnt is not zero).
>>
>> I don't have any concrete idea how to fix that so far, but I can say 
>> my idea
>> (pcibios_enable_device() should return an error) was wrong.
>>
>>
> I was wandering if setting is_hotplug_bridge property for this bridge 
> (e.g. via
> header quirk) can be an acceptable solution. This will allow passing 
> hpmemsize
> kernel parameter, to specify the amount of memory to assign to the bridge.
> I've tested this approach and it seems to work.

Looks good to me.

By the way, I think Yinghai's bridge resource reallocation patch series
might help you. It is in Jesse's PCI tree. Please take a look.

Thanks,
Kenji Kaneshige

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
  2010-03-16  5:40                 ` Kenji Kaneshige
  2010-03-16  8:39                   ` Felix Radensky
@ 2010-03-16 21:40                   ` Felix Radensky
  2010-03-17  1:03                     ` Kenji Kaneshige
  1 sibling, 1 reply; 29+ messages in thread
From: Felix Radensky @ 2010-03-16 21:40 UTC (permalink / raw)
  To: Kenji Kaneshige; +Cc: linux-pci, Alex Chiang, linuxppc-dev

Hello, Kenji-san

Kenji Kaneshige wrote:
>
> I misunderstood the problem.
> My understanding was memory resource was not enabled even though Linux 
> set
> the Memory Space bit in the command register. But it was not correct. The
> bridge memory window was marked unused and Linux didn't try to set Memory
> Space bit in the command register. Current my understanding is as 
> follows.
> Please correct me if I'm still misunderstanding something.
>
> 1) Your BIOS doesn't assign any resource to the bridge if its child PCI
>   hot-plug slot is not occupied.
>
> 2) At the boot time, pci_assign_unassigned_resources() try to assign
>   memory resouces to the bridge using pci_bus_assign_resource(), but
>   it was disabled because there are no devices require memory resource.
>
> 3) And then pci_assign_unassigned_resouces() calls pci_enable_bridge(),
>   but Memory Space bit in the command register was not set because no
>   memory resource are assigned to the bridge. At the same time,
>   pci_dev->enable_cnt was incremented.
>
> 4) At the rescan time, pci_setup_bridge() and pci_enable_bridge() doesn't
>   work because the bridge is already marked "enabled" (i.e.
>   pci_dev->enable_cnt is not zero).
>
> I don't have any concrete idea how to fix that so far, but I can say 
> my idea
> (pcibios_enable_device() should return an error) was wrong.
>
>
I was wandering if setting is_hotplug_bridge property for this bridge 
(e.g. via
header quirk) can be an acceptable solution. This will allow passing 
hpmemsize
kernel parameter, to specify the amount of memory to assign to the bridge.
I've tested this approach and it seems to work.

Thanks.
Felix.

Felix.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
  2010-03-16  5:40                 ` Kenji Kaneshige
@ 2010-03-16  8:39                   ` Felix Radensky
  2010-03-16 21:40                   ` Felix Radensky
  1 sibling, 0 replies; 29+ messages in thread
From: Felix Radensky @ 2010-03-16  8:39 UTC (permalink / raw)
  To: Kenji Kaneshige; +Cc: linux-pci, Alex Chiang, linuxppc-dev

Hello, Kenji-san

Kenji Kaneshige wrote:
>
> I misunderstood the problem.
> My understanding was memory resource was not enabled even though Linux 
> set
> the Memory Space bit in the command register. But it was not correct. The
> bridge memory window was marked unused and Linux didn't try to set Memory
> Space bit in the command register. Current my understanding is as 
> follows.
> Please correct me if I'm still misunderstanding something.
>
> 1) Your BIOS doesn't assign any resource to the bridge if its child PCI
>   hot-plug slot is not occupied.
>
> 2) At the boot time, pci_assign_unassigned_resources() try to assign
>   memory resouces to the bridge using pci_bus_assign_resource(), but
>   it was disabled because there are no devices require memory resource.
>
> 3) And then pci_assign_unassigned_resouces() calls pci_enable_bridge(),
>   but Memory Space bit in the command register was not set because no
>   memory resource are assigned to the bridge. At the same time,
>   pci_dev->enable_cnt was incremented.
>
> 4) At the rescan time, pci_setup_bridge() and pci_enable_bridge() doesn't
>   work because the bridge is already marked "enabled" (i.e.
>   pci_dev->enable_cnt is not zero).
>
> I don't have any concrete idea how to fix that so far, but I can say 
> my idea
> (pcibios_enable_device() should return an error) was wrong.
>
> BTW, on my PCI hotplug capable system (SHPC and PCIe), I/O and Memory 
> windows
> of the bridge are assigned by BIOS regardless of whether hotplug slot(s)
> behind the bridge is occupied or not. Maybe that is the reason why I have
> never encountered this problem before.
>
> Thanks,
> Kenji Kaneshige
>
>
Yes, your understanding of the problem is correct. On this platform BIOS 
(bootloader, u-boot)
is not required to configure PCI, linux is capable of doing all 
configuration itself. But both u-boot
and linux do not assign memory resources to bridge if there's no device 
behind it.

Thanks a lot.

Felix.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
  2010-03-15 11:23               ` Felix Radensky
@ 2010-03-16  5:40                 ` Kenji Kaneshige
  2010-03-16  8:39                   ` Felix Radensky
  2010-03-16 21:40                   ` Felix Radensky
  0 siblings, 2 replies; 29+ messages in thread
From: Kenji Kaneshige @ 2010-03-16  5:40 UTC (permalink / raw)
  To: Felix Radensky; +Cc: linux-pci, Alex Chiang, linuxppc-dev

Felix Radensky wrote:
> Hello, Kenji-san
>>
>> I think the device is expected to be ready to work if pci_enable_device()
>> returns without error. So I think pci_enable_device() should return an
>> error if it fails to enable the device (device is not ready to work). In
>> this case, detecting your bridge's failure seems PPC specific to me. So I
>> thought pcibios_enable_device() was the right to return an error. If
>> pcibios_enable_device() returned an error, pci_dev->enable_cnt would
>> decremented by pci_enable_device() (like pci_disable_device() does) and
>> this problem would not happen.
>>   
> 
> As far as I can see on 460EX pcibios_enable_device() just calls 
> pci_enable_resources()
> which does not return any error for my bridge, although it doesn't find 
> any memory or
> I/O resource it can enable. Do you think it is correct behavior ?
> 
> Another question is whether by bridge behaves correctly when no device 
> is connected
> to it. As you can see in dmesg output I've sent earlier
> 
> pci 0000:00:02.0:   bridge window [mem 0x00000000-0x000fffff]
> pci 0000:00:02.0:   bridge window [mem 0x00000000-0x000fffff 64bit pref]
> 
> and later PCI code disables these memory windows
> 
> pci 0000:00:02.0: disabling bridge window [mem 0xd00000000-0xd000fffff 
> pref] to [bus 01-01] (unused)
> pci 0000:00:02.0: disabling bridge window [mem 0xd00000000-0xd000fffff] 
> to [bus 01-01] (unused)
> 

I misunderstood the problem.
My understanding was memory resource was not enabled even though Linux set
the Memory Space bit in the command register. But it was not correct. The
bridge memory window was marked unused and Linux didn't try to set Memory
Space bit in the command register. Current my understanding is as follows.
Please correct me if I'm still misunderstanding something.

1) Your BIOS doesn't assign any resource to the bridge if its child PCI
   hot-plug slot is not occupied.

2) At the boot time, pci_assign_unassigned_resources() try to assign
   memory resouces to the bridge using pci_bus_assign_resource(), but
   it was disabled because there are no devices require memory resource.

3) And then pci_assign_unassigned_resouces() calls pci_enable_bridge(),
   but Memory Space bit in the command register was not set because no
   memory resource are assigned to the bridge. At the same time,
   pci_dev->enable_cnt was incremented.

4) At the rescan time, pci_setup_bridge() and pci_enable_bridge() doesn't
   work because the bridge is already marked "enabled" (i.e.
   pci_dev->enable_cnt is not zero).

I don't have any concrete idea how to fix that so far, but I can say my idea
(pcibios_enable_device() should return an error) was wrong.

BTW, on my PCI hotplug capable system (SHPC and PCIe), I/O and Memory windows
of the bridge are assigned by BIOS regardless of whether hotplug slot(s)
behind the bridge is occupied or not. Maybe that is the reason why I have
never encountered this problem before.

Thanks,
Kenji Kaneshige



> BTW, there's no problem accessing PCI_COMMAND register, as bus mastering 
> is enabled in the bridge.
> 
>>
>> On the other hand, as Ben suggested, handling this by specific hot-plug
>> driver would be one of the other candidate to fix the problem.
>>
>>
> 
> I'm not opposed to this idea, it's just that this bridge worked in an older
> system based on linux-2.6.22 and patched fakephp driver was used for 
> hotplug.
> There's existing userspace software that I don't really want to modify 
> heavily.
> But I'll do that if generic PCI rescan cannot be fixed.
> 
> Thanks a lot for your help.
> 
> Felix.
> -- 
> To unsubscribe from this list: send the line "unsubscribe linux-pci" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
  2010-03-15  9:00             ` Kenji Kaneshige
@ 2010-03-15 11:23               ` Felix Radensky
  2010-03-16  5:40                 ` Kenji Kaneshige
  0 siblings, 1 reply; 29+ messages in thread
From: Felix Radensky @ 2010-03-15 11:23 UTC (permalink / raw)
  To: Kenji Kaneshige; +Cc: linux-pci, Alex Chiang, linuxppc-dev

Hello, Kenji-san
>
> I think the device is expected to be ready to work if pci_enable_device()
> returns without error. So I think pci_enable_device() should return an
> error if it fails to enable the device (device is not ready to work). In
> this case, detecting your bridge's failure seems PPC specific to me. So I
> thought pcibios_enable_device() was the right to return an error. If
> pcibios_enable_device() returned an error, pci_dev->enable_cnt would
> decremented by pci_enable_device() (like pci_disable_device() does) and
> this problem would not happen.
>   

As far as I can see on 460EX pcibios_enable_device() just calls 
pci_enable_resources()
which does not return any error for my bridge, although it doesn't find 
any memory or
I/O resource it can enable. Do you think it is correct behavior ?

Another question is whether by bridge behaves correctly when no device 
is connected
to it. As you can see in dmesg output I've sent earlier

pci 0000:00:02.0:   bridge window [mem 0x00000000-0x000fffff]
pci 0000:00:02.0:   bridge window [mem 0x00000000-0x000fffff 64bit pref]

and later PCI code disables these memory windows

pci 0000:00:02.0: disabling bridge window [mem 0xd00000000-0xd000fffff 
pref] to [bus 01-01] (unused)
pci 0000:00:02.0: disabling bridge window [mem 0xd00000000-0xd000fffff] 
to [bus 01-01] (unused)

BTW, there's no problem accessing PCI_COMMAND register, as bus mastering 
is enabled in the bridge.

>
> On the other hand, as Ben suggested, handling this by specific hot-plug
> driver would be one of the other candidate to fix the problem.
>
>

I'm not opposed to this idea, it's just that this bridge worked in an older
system based on linux-2.6.22 and patched fakephp driver was used for 
hotplug.
There's existing userspace software that I don't really want to modify 
heavily.
But I'll do that if generic PCI rescan cannot be fixed.

Thanks a lot for your help.

Felix.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
  2010-03-15  6:09           ` Felix Radensky
@ 2010-03-15  9:00             ` Kenji Kaneshige
  2010-03-15 11:23               ` Felix Radensky
  0 siblings, 1 reply; 29+ messages in thread
From: Kenji Kaneshige @ 2010-03-15  9:00 UTC (permalink / raw)
  To: Felix Radensky; +Cc: linux-pci, Alex Chiang, linuxppc-dev

Felix Radensky wrote:
> Hello Kenji-san,
> 
> Kenji Kaneshige wrote:
>> Felix Radensky wrote:
>>> Hello Kenji-san,
>>>
>>> Kenji Kaneshige wrote:
>>>> I'm not sure, but I guess pci_setup_bridge() didn't update IO 
>>>> base/limit
>>>> and Mem base/limit of the bridge (0000:00:02.0) because of the 
>>>> following
>>>> lines.
>>>>
>>>> static void pci_setup_bridge(struct pci_bus *bus)
>>>> {
>>>>        struct pci_dev *bridge = bus->self;
>>>>        struct resource *res;
>>>>        struct pci_bus_region region;
>>>>        u32 l, bu, lu, io_upper16;
>>>>
>>>>        if (pci_is_enabled(bridge))    
>>>> <===============================                              
>>>> return;            <===============================
>>>>
>>>>        dev_info(&bridge->dev, "PCI bridge to [bus %02x-%02x]\n",
>>>>                 bus->secondary, bus->subordinate);
>>>>     ...
>>>>
>>>> It seems the bridge was already enabled by 
>>>> pci_assign_unassigned_resources()
>>>> at boot time. Does removing those lines make any change?
>>>>
>>>
>>> Yes, with these lines removed bridge memory window is properly 
>>> allocated.
>>
>> These lines are to prevent updating IO or memory windows when there are
>> some devices working behind the bridge. So please note that removing
>> these lines is just for debugging.
>>
>>
>>> For some reason bridge memory is disabled, but if I enable it via 
>>> setpci, and
>>> also enable device memory, then everything works fine. If the system 
>>> is booted
>>> when device behind the bridge is plugged in, bridge memory is enabled.
>>>
>>
>> Maybe because of the following lines, I guess.
>>
>> void pci_enable_bridges(struct pci_bus *bus)
>> {
>>        struct pci_dev *dev;
>>        int retval;
>>
>>        list_for_each_entry(dev, &bus->devices, bus_list) {
>>                if (dev->subordinate) {
>>                        if (!pci_is_enabled(dev)) {        <=======
>>                                retval = pci_enable_device(dev);<=======
>>                                pci_set_master(dev);        <=======
>>                        }
>>         ...
>>
>>
> 
> Yes, but removing this check is not enough. The bridge is enabled after 
> first scan, but it's
> memory is disabled. So simply calling  pci_enable_device() will not 
> help, it will return without
> enabling memory. I had to call  pci_disable_device() before 
> pci_enable_device() to make things
> work.
>> One possible cause is that pcibios_enable_device() for the bridge didn't
>> return any error even though it didn't work properly (ex. cannot access
>> to the command register, and so on) on your platform when there is no
>> device behind the bridge. But it is just my guess.
> Should pcibios_enable_device() return an error if it fails to enable 
> bridge memory ?
> 

I think the device is expected to be ready to work if pci_enable_device()
returns without error. So I think pci_enable_device() should return an
error if it fails to enable the device (device is not ready to work). In
this case, detecting your bridge's failure seems PPC specific to me. So I
thought pcibios_enable_device() was the right to return an error. If
pcibios_enable_device() returned an error, pci_dev->enable_cnt would
decremented by pci_enable_device() (like pci_disable_device() does) and
this problem would not happen.

On the other hand, as Ben suggested, handling this by specific hot-plug
driver would be one of the other candidate to fix the problem.

Thanks,
Kenji Kaneshige

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
  2010-03-15  5:39         ` Kenji Kaneshige
  2010-03-15  5:46           ` Benjamin Herrenschmidt
@ 2010-03-15  6:09           ` Felix Radensky
  2010-03-15  9:00             ` Kenji Kaneshige
  1 sibling, 1 reply; 29+ messages in thread
From: Felix Radensky @ 2010-03-15  6:09 UTC (permalink / raw)
  To: Kenji Kaneshige; +Cc: linux-pci, Alex Chiang, linuxppc-dev

Hello Kenji-san,

Kenji Kaneshige wrote:
> Felix Radensky wrote:
>> Hello Kenji-san,
>>
>> Kenji Kaneshige wrote:
>>> I'm not sure, but I guess pci_setup_bridge() didn't update IO 
>>> base/limit
>>> and Mem base/limit of the bridge (0000:00:02.0) because of the 
>>> following
>>> lines.
>>>
>>> static void pci_setup_bridge(struct pci_bus *bus)
>>> {
>>>        struct pci_dev *bridge = bus->self;
>>>        struct resource *res;
>>>        struct pci_bus_region region;
>>>        u32 l, bu, lu, io_upper16;
>>>
>>>        if (pci_is_enabled(bridge))    
>>> <===============================                              
>>> return;            <===============================
>>>
>>>        dev_info(&bridge->dev, "PCI bridge to [bus %02x-%02x]\n",
>>>                 bus->secondary, bus->subordinate);
>>>     ...
>>>
>>> It seems the bridge was already enabled by 
>>> pci_assign_unassigned_resources()
>>> at boot time. Does removing those lines make any change?
>>>
>>
>> Yes, with these lines removed bridge memory window is properly 
>> allocated.
>
> These lines are to prevent updating IO or memory windows when there are
> some devices working behind the bridge. So please note that removing
> these lines is just for debugging.
>
>
>> For some reason bridge memory is disabled, but if I enable it via 
>> setpci, and
>> also enable device memory, then everything works fine. If the system 
>> is booted
>> when device behind the bridge is plugged in, bridge memory is enabled.
>>
>
> Maybe because of the following lines, I guess.
>
> void pci_enable_bridges(struct pci_bus *bus)
> {
>        struct pci_dev *dev;
>        int retval;
>
>        list_for_each_entry(dev, &bus->devices, bus_list) {
>                if (dev->subordinate) {
>                        if (!pci_is_enabled(dev)) {        <=======
>                                retval = pci_enable_device(dev);<=======
>                                pci_set_master(dev);        <=======
>                        }
>         ...
>
>

Yes, but removing this check is not enough. The bridge is enabled after 
first scan, but it's
memory is disabled. So simply calling  pci_enable_device() will not 
help, it will return without
enabling memory. I had to call  pci_disable_device() before 
pci_enable_device() to make things
work.
> One possible cause is that pcibios_enable_device() for the bridge didn't
> return any error even though it didn't work properly (ex. cannot access
> to the command register, and so on) on your platform when there is no
> device behind the bridge. But it is just my guess.
Should pcibios_enable_device() return an error if it fails to enable 
bridge memory ?

Thanks.

Felix.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
  2010-03-15  5:46           ` Benjamin Herrenschmidt
@ 2010-03-15  5:54             ` Benjamin Herrenschmidt
  0 siblings, 0 replies; 29+ messages in thread
From: Benjamin Herrenschmidt @ 2010-03-15  5:54 UTC (permalink / raw)
  To: Kenji Kaneshige; +Cc: linux-pci, Felix Radensky, Alex Chiang, linuxppc-dev

On Mon, 2010-03-15 at 16:46 +1100, Benjamin Herrenschmidt wrote:
> On Mon, 2010-03-15 at 14:39 +0900, Kenji Kaneshige wrote:
> > 
> > > Yes, with these lines removed bridge memory window is properly
> > allocated.
> > 
> > These lines are to prevent updating IO or memory windows when there
> > are
> > some devices working behind the bridge. So please note that removing
> > these lines is just for debugging.
> 
> This is not a very good way to do so though. Many firmwares will leave
> those enabled even when the bridges -do- have to be reconfigured.

Bah, my bad ... pci_is_enabled() is confusing... At first sight I would
have thought it would return whether the device command register MEM or
IO enable are set. Instead, it returns whether pci_enable_device() has
been called.

In any case, Felix bridge looks a tad weird. It should really be handled
by a specific hotplug driver imho.

Cheers,
Ben.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
  2010-03-15  5:39         ` Kenji Kaneshige
@ 2010-03-15  5:46           ` Benjamin Herrenschmidt
  2010-03-15  5:54             ` Benjamin Herrenschmidt
  2010-03-15  6:09           ` Felix Radensky
  1 sibling, 1 reply; 29+ messages in thread
From: Benjamin Herrenschmidt @ 2010-03-15  5:46 UTC (permalink / raw)
  To: Kenji Kaneshige; +Cc: linux-pci, Felix Radensky, Alex Chiang, linuxppc-dev

On Mon, 2010-03-15 at 14:39 +0900, Kenji Kaneshige wrote:
> 
> > Yes, with these lines removed bridge memory window is properly
> allocated.
> 
> These lines are to prevent updating IO or memory windows when there
> are
> some devices working behind the bridge. So please note that removing
> these lines is just for debugging.

This is not a very good way to do so though. Many firmwares will leave
those enabled even when the bridges -do- have to be reconfigured.

Worse... the code means that the kernel -will- have updated its resource
tree, probably assigned new resources, etc... to those bridges, and thus
to devices underneath them, but will silently fail to actually update
the bridge BARs to match.

This seems like a major bug to me in fact.

Cheers,
Ben.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
  2010-03-12 23:04       ` Felix Radensky
@ 2010-03-15  5:39         ` Kenji Kaneshige
  2010-03-15  5:46           ` Benjamin Herrenschmidt
  2010-03-15  6:09           ` Felix Radensky
  0 siblings, 2 replies; 29+ messages in thread
From: Kenji Kaneshige @ 2010-03-15  5:39 UTC (permalink / raw)
  To: Felix Radensky; +Cc: linux-pci, Alex Chiang, linuxppc-dev

Felix Radensky wrote:
> Hello Kenji-san,
> 
> Kenji Kaneshige wrote:
>> I'm not sure, but I guess pci_setup_bridge() didn't update IO base/limit
>> and Mem base/limit of the bridge (0000:00:02.0) because of the following
>> lines.
>>
>> static void pci_setup_bridge(struct pci_bus *bus)
>> {
>>        struct pci_dev *bridge = bus->self;
>>        struct resource *res;
>>        struct pci_bus_region region;
>>        u32 l, bu, lu, io_upper16;
>>
>>        if (pci_is_enabled(bridge))    
>> <===============================                              
>> return;            <===============================
>>
>>        dev_info(&bridge->dev, "PCI bridge to [bus %02x-%02x]\n",
>>                 bus->secondary, bus->subordinate);
>>     ...
>>
>> It seems the bridge was already enabled by 
>> pci_assign_unassigned_resources()
>> at boot time. Does removing those lines make any change?
>>
> 
> Yes, with these lines removed bridge memory window is properly allocated.

These lines are to prevent updating IO or memory windows when there are
some devices working behind the bridge. So please note that removing
these lines is just for debugging.


> For some reason bridge memory is disabled, but if I enable it via 
> setpci, and
> also enable device memory, then everything works fine. If the system is 
> booted
> when device behind the bridge is plugged in, bridge memory is enabled.
> 

Maybe because of the following lines, I guess.

void pci_enable_bridges(struct pci_bus *bus)
{
        struct pci_dev *dev;
        int retval;

        list_for_each_entry(dev, &bus->devices, bus_list) {
                if (dev->subordinate) {
                        if (!pci_is_enabled(dev)) {		<=======
                                retval = pci_enable_device(dev);<=======
                                pci_set_master(dev);		<=======
                        }
		...


One possible cause is that pcibios_enable_device() for the bridge didn't
return any error even though it didn't work properly (ex. cannot access
to the command register, and so on) on your platform when there is no
device behind the bridge. But it is just my guess.

Thanks,
Kenji Kaneshige




> Thanks a lot for your help.
> 
> Felix.
> -- 
> To unsubscribe from this list: send the line "unsubscribe linux-pci" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
  2010-03-12  9:22     ` Kenji Kaneshige
@ 2010-03-12 23:04       ` Felix Radensky
  2010-03-15  5:39         ` Kenji Kaneshige
  0 siblings, 1 reply; 29+ messages in thread
From: Felix Radensky @ 2010-03-12 23:04 UTC (permalink / raw)
  To: Kenji Kaneshige; +Cc: linux-pci, Alex Chiang, linuxppc-dev

Hello Kenji-san,

Kenji Kaneshige wrote:
> I'm not sure, but I guess pci_setup_bridge() didn't update IO base/limit
> and Mem base/limit of the bridge (0000:00:02.0) because of the following
> lines.
>
> static void pci_setup_bridge(struct pci_bus *bus)
> {
>        struct pci_dev *bridge = bus->self;
>        struct resource *res;
>        struct pci_bus_region region;
>        u32 l, bu, lu, io_upper16;
>
>        if (pci_is_enabled(bridge))    
> <===============================               
>                return;            <===============================
>
>        dev_info(&bridge->dev, "PCI bridge to [bus %02x-%02x]\n",
>                 bus->secondary, bus->subordinate);
>     ...
>
> It seems the bridge was already enabled by 
> pci_assign_unassigned_resources()
> at boot time. Does removing those lines make any change?
>

Yes, with these lines removed bridge memory window is properly allocated.
For some reason bridge memory is disabled, but if I enable it via 
setpci, and
also enable device memory, then everything works fine. If the system is 
booted
when device behind the bridge is plugged in, bridge memory is enabled.

Thanks a lot for your help.

Felix.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
  2010-03-11  7:50   ` Felix Radensky
@ 2010-03-12  9:22     ` Kenji Kaneshige
  2010-03-12 23:04       ` Felix Radensky
  0 siblings, 1 reply; 29+ messages in thread
From: Kenji Kaneshige @ 2010-03-12  9:22 UTC (permalink / raw)
  To: Felix Radensky; +Cc: linux-pci, Alex Chiang, linuxppc-dev

I'm not sure, but I guess pci_setup_bridge() didn't update IO base/limit
and Mem base/limit of the bridge (0000:00:02.0) because of the following
lines.

static void pci_setup_bridge(struct pci_bus *bus)
{
        struct pci_dev *bridge = bus->self;
        struct resource *res;
        struct pci_bus_region region;
        u32 l, bu, lu, io_upper16;

        if (pci_is_enabled(bridge))	<===============================				
                return;			<===============================

        dev_info(&bridge->dev, "PCI bridge to [bus %02x-%02x]\n",
                 bus->secondary, bus->subordinate);
	...

It seems the bridge was already enabled by pci_assign_unassigned_resources()
at boot time. Does removing those lines make any change?

Thanks,
Kenji Kaneshige




Felix Radensky wrote:
> Hi Alex,
> 
> Resending, previous attempt was erroneously send as HTML.
> 
> Thanks a lot for replying.
> 
> Alex Chiang wrote:
>> * Felix Radensky <felix@embedded-sol.com>:
>>  
>>> The problem arises when device is plugged in after boot. After doing
>>> echo 1 > /sys/bus/pci/rescan
>>> the device is identified, but bridge memory window is not allocated,
>>> and reads from device memory regions return 0xffffffff. Below is
>>> relevant output:
>>>     
>>
>> Do you need firmware support on your platform for hotplug?
>>   
> I don't think so, but I've added powerpc guys to CC to make sure.
>> Can you please send full dmesg during successful boot, full dmesg
>> log during unsuccessful rescan, and contents of /proc/iomem and
>> /proc/ioports during success and failure cases?
>>
>> Be sure you have PCI_CONFIG_DEBUG turned on.
>>   
> Attached. I really appreciate your help. Thanks a lot.
> 
> Felix.
> 

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
  2010-03-11 21:41       ` Felix Radensky
@ 2010-03-11 21:49         ` Benjamin Herrenschmidt
  0 siblings, 0 replies; 29+ messages in thread
From: Benjamin Herrenschmidt @ 2010-03-11 21:49 UTC (permalink / raw)
  To: Felix Radensky; +Cc: linux-pci, Alex Chiang, linuxppc-dev

On Thu, 2010-03-11 at 23:41 +0200, Felix Radensky wrote:
> I'm fine with creating a minimal hotplug driver. The device I'm
> dealing with
> partially implements Compact PCI hotplug. It generates ENUM#
> interrupt, but
> Hotswap Control register layout does not completely follow the
> standard.
> 
> Should I use drivers/pci/hotplug/cpci_hotplug_core.c as a base, or do 
> you have
> something more simple in mind ?

I don't have anything special in mind, but you may need to look at how
the pseries hotplug driver does to get those fixups and resource
management things done. That driver is mostly a horrible mess, though I
did clean quite a bit of it up recently...

The main thing of interest to you is pcibios_add_pci_devices() which
is called to probe below an existing bridge. It's currently in
arch/powerpc/platforms/pseries/pci_dlpar.c but we could move it or some
of it to our common code if needed. You also may safely ignore the eeh_*
bits on ppc32

Cheers,
Ben.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
  2010-03-11 20:32     ` Benjamin Herrenschmidt
@ 2010-03-11 21:41       ` Felix Radensky
  2010-03-11 21:49         ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 29+ messages in thread
From: Felix Radensky @ 2010-03-11 21:41 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: linux-pci, Alex Chiang, linuxppc-dev

Hi Ben,

Benjamin Herrenschmidt wrote:
> Yes, we need to do a resource allocation pass, setup DMA, etc... and
> that is not done in that manual rescan case I suppose. I have to look.
>
> Part of the problem is that there is no "proper" hooks in the generic
> PCI code that I know of for that, but I'll have to double check the
> code, things might have changed.
>
> For boot time, we do this after we scan busses and before we add the
> devices to sysfs. For hotplug, our hotplug drivers do something similar.
> But that "rescan" sysfs hook seems to go directly into drivers/pci
> causing a rescan but without a change to re-allocate resources etc...
>
> You may be better off implementing a minimum hotplug driver I suppose...
>
> Cheers,
> Ben.
>
>   
I'm fine with creating a minimal hotplug driver. The device I'm dealing with
partially implements Compact PCI hotplug. It generates ENUM# interrupt, but
Hotswap Control register layout does not completely follow the standard.

Should I use drivers/pci/hotplug/cpci_hotplug_core.c as a base, or do 
you have
something more simple in mind ?

Thanks a lot.

Felix.

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
  2010-03-11  7:45   ` Felix Radensky
@ 2010-03-11 20:32     ` Benjamin Herrenschmidt
  2010-03-11 21:41       ` Felix Radensky
  0 siblings, 1 reply; 29+ messages in thread
From: Benjamin Herrenschmidt @ 2010-03-11 20:32 UTC (permalink / raw)
  To: Felix Radensky; +Cc: linux-pci, Alex Chiang, linuxppc-dev

On Thu, 2010-03-11 at 09:45 +0200, Felix Radensky wrote:
> Hi Alex,
> 
> Thanks a lot for replying.
> 
> Alex Chiang wrote: 
> > * Felix Radensky <felix@embedded-sol.com>:
> >   
> > > The problem arises when device is plugged in after boot. After doing
> > > echo 1 > /sys/bus/pci/rescan
> > > the device is identified, but bridge memory window is not allocated,
> > > and reads from device memory regions return 0xffffffff. Below is
> > > relevant output:
> > >     
> > 
> > Do you need firmware support on your platform for hotplug?
> >   
> I don't think so, but I've added powerpc guys to CC to make sure.
> > Can you please send full dmesg during successful boot, full dmesg
> > log during unsuccessful rescan, and contents of /proc/iomem and
> > /proc/ioports during success and failure cases?
> > 
> > Be sure you have PCI_CONFIG_DEBUG turned on.
> >   
> Attached. I really appreciate your help. Thanks a lot.

Yes, we need to do a resource allocation pass, setup DMA, etc... and
that is not done in that manual rescan case I suppose. I have to look.

Part of the problem is that there is no "proper" hooks in the generic
PCI code that I know of for that, but I'll have to double check the
code, things might have changed.

For boot time, we do this after we scan busses and before we add the
devices to sysfs. For hotplug, our hotplug drivers do something similar.
But that "rescan" sysfs hook seems to go directly into drivers/pci
causing a rescan but without a change to re-allocate resources etc...

You may be better off implementing a minimum hotplug driver I suppose...

Cheers,
Ben.

> Felix .
> plain text document attachment (failure.txt)
> Linux version 2.6.33 (felix@felix-laptop.lan) (gcc version 4.2.2) #5 Thu Mar 11 09:35:52 IST 2010
> Found legacy serial port 0 for /plb/opb/serial@ef600300
>   mem=4ef600300, taddr=4ef600300, irq=0, clk=7407407, speed=0
> Found legacy serial port 1 for /plb/opb/serial@ef600400
>   mem=4ef600400, taddr=4ef600400, irq=0, clk=7407407, speed=0
> Found legacy serial port 2 for /plb/opb/serial@ef600500
>   mem=4ef600500, taddr=4ef600500, irq=0, clk=7407407, speed=0
> Found legacy serial port 3 for /plb/opb/serial@ef600600
>   mem=4ef600600, taddr=4ef600600, irq=0, clk=7407407, speed=0
> Top of RAM: 0x30000000, Total RAM: 0x30000000
> Memory hole size: 0MB
> Zone PFN ranges:
>   DMA      0x00000000 -> 0x00030000
>   Normal   0x00030000 -> 0x00030000
> Movable zone start PFN for each node
> early_node_map[1] active PFN ranges
>     0: 0x00000000 -> 0x00030000
> On node 0 totalpages: 196608
> free_area_init_node: node 0, pgdat c035e76c, node_mem_map c0388000
>   DMA zone: 1536 pages used for memmap
>   DMA zone: 0 pages reserved
>   DMA zone: 195072 pages, LIFO batch:31
> MMU: Allocated 1088 bytes of context maps for 255 contexts
> Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 195072
> Kernel command line: root=/dev/nfs rw nfsroot=10.0.0.10:/opt/eldk/ppc_4xxFP ip=10.0.0.30:10.0.0.10:10.0.0.138:255.0.0.0:smbe460:eth0:off panic=1 console=ttyS0,115200
> PID hash table entries: 4096 (order: 2, 16384 bytes)
> Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
> Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
> Memory: 775552k/786432k available (3364k kernel code, 10604k reserved, 116k data, 128k bss, 144k init)
> Kernel virtual memory layout:
>   * 0xfffdf000..0xfffff000  : fixmap
>   * 0xfde00000..0xfe000000  : consistent mem
>   * 0xfde00000..0xfde00000  : early ioremap
>   * 0xf1000000..0xfde00000  : vmalloc & ioremap
> SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
> Hierarchical RCU implementation.
> NR_IRQS:512 nr_irqs:512
> UIC0 (32 IRQ sources) at DCR 0xc0
> UIC1 (32 IRQ sources) at DCR 0xd0
>   alloc irq_desc for 30 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 30 on host /interrupt-controller0 mapped to virtual irq 30
> UIC2 (32 IRQ sources) at DCR 0xe0
>   alloc irq_desc for 16 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 10 on host /interrupt-controller0 mapped to virtual irq 16
> UIC3 (32 IRQ sources) at DCR 0xf0
>   alloc irq_desc for 17 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 16 on host /interrupt-controller0 mapped to virtual irq 17
> time_init: decrementer frequency = 1000.000012 MHz
> time_init: processor frequency   = 1000.000012 MHz
> clocksource: timebase mult[400000] shift[22] registered
> clockevent: decrementer mult[80000019] shift[31] cpu[0]
> Mount-cache hash table entries: 512
> NET: Registered protocol family 16
>   alloc irq_desc for 18 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 11 on host /interrupt-controller1 mapped to virtual irq 18
> 256k L2-cache enabled
> PCI host bridge /plb/pci@c0ec00000 (primary) ranges:
>  MEM 0x0000000d80000000..0x0000000dffffffff -> 0x0000000080000000 
>  MEM 0x0000000c0ee00000..0x0000000c0eefffff -> 0x0000000000000000 
>   IO 0x0000000c08000000..0x0000000c0800ffff -> 0x0000000000000000
>  Removing ISA hole at 0x0000000c0ee00000
> 4xx PCI DMA offset set to 0x00000000
> /plb/pci@c0ec00000: Legacy ISA memory support enabled
> PCI: Probing PCI hardware
> pci_bus 0000:00: scanning bus
> pci 0000:00:02.0: found [3388:0020] class 000604 header type 01
> pci 0000:00:02.0: calling pcibios_fixup_resources+0x0/0xf4
> pci 0000:00:02.0: calling fixup_ppc4xx_pci_bridge+0x0/0x154
> pci 0000:00:02.0: calling quirk_resource_alignment+0x0/0x200
> pci 0000:00:02.0: supports D1 D2
> pci 0000:00:02.0: PME# supported from D0 D1 D2 D3hot
> pci 0000:00:02.0: PME# disabled
> pci_bus 0000:00: fixups for bus
> pci 0000:00:02.0: scanning behind bridge, config 000000, pass 0
> pci 0000:00:02.0: bus configuration invalid, reconfiguring
> pci 0000:00:02.0: scanning behind bridge, config 000000, pass 1
> pci_bus 0000:01: scanning bus
> pci_bus 0000:01: fixups for bus
> pci 0000:00:02.0: PCI bridge to [bus 01-ff]
> pci 0000:00:02.0:   bridge window [io  0x0000-0x0fff]
> pci 0000:00:02.0:   bridge window [mem 0x00000000-0x000fffff]
> pci 0000:00:02.0:   bridge window [mem 0x00000000-0x000fffff 64bit pref]
> pci_bus 0000:01: bus scan returning with max=01
> pci_bus 0000:00: bus scan returning with max=01
> pci 0000:00:02.0: disabling bridge window [io  0x0000-0x0fff] to [bus 01-01] (unused)
> pci 0000:00:02.0: disabling bridge window [mem 0xd00000000-0xd000fffff pref] to [bus 01-01] (unused)
> pci 0000:00:02.0: disabling bridge window [mem 0xd00000000-0xd000fffff] to [bus 01-01] (unused)
> pci 0000:00:02.0: PCI bridge to [bus 01-01]
> pci 0000:00:02.0:   bridge window [io  disabled]
> pci 0000:00:02.0:   bridge window [mem disabled]
> pci 0000:00:02.0:   bridge window [mem pref disabled]
> pci 0000:00:02.0: enabling bus mastering
> pci_bus 0000:00: resource 0 [io  0x0000-0xffff]
> pci_bus 0000:00: resource 1 [mem 0xd80000000-0xdffffffff]
> pci_bus 0000:01: resource 0 [??? 0-4095 flags 0x0]
> pci_bus 0000:01: resource 1 [??? 55834574848-55835623423 flags 0x0]
> pci_bus 0000:01: resource 2 [??? 55834574848-55835623423 flags 0x0]
> bio: create slab <bio-0> at 0
> SCSI subsystem initialized
> usbcore: registered new interface driver usbfs
> usbcore: registered new interface driver hub
> usbcore: registered new device driver usb
> Switching to clocksource timebase
> NET: Registered protocol family 2
> IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
> TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
> TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
> TCP: Hash tables configured (established 131072 bind 65536)
> TCP reno registered
> UDP hash table entries: 512 (order: 1, 8192 bytes)
> UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
> NET: Registered protocol family 1
> RPC: Registered udp transport module.
> RPC: Registered tcp transport module.
> RPC: Registered tcp NFSv4.1 backchannel transport module.
> pci 0000:00:02.0: calling quirk_cardbus_legacy+0x0/0x54
> pci 0000:00:02.0: calling quirk_usb_early_handoff+0x0/0x6cc
> PCI: CLS 0 bytes, default 32
>   alloc irq_desc for 19 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 1 on host /interrupt-controller1 mapped to virtual irq 19
>   alloc irq_desc for 20 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 1 on host /interrupt-controller0 mapped to virtual irq 20
>   alloc irq_desc for 29 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 29 on host /interrupt-controller1 mapped to virtual irq 29
>   alloc irq_desc for 21 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 30 on host /interrupt-controller1 mapped to virtual irq 21
> JFFS2 version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
> msgmni has been set to 1515
> io scheduler noop registered
> io scheduler deadline registered
> io scheduler cfq registered (default)
> Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> serial8250.0: ttyS0 at MMIO 0x4ef600300 (irq = 19) is a 16550A
> console [ttyS0] enabled
> serial8250.0: ttyS1 at MMIO 0x4ef600400 (irq = 20) is a 16550A
> serial8250.0: ttyS2 at MMIO 0x4ef600500 (irq = 29) is a 16550A
> serial8250.0: ttyS3 at MMIO 0x4ef600600 (irq = 21) is a 16550A
> 4ef600300.serial: ttyS0 at MMIO 0x4ef600300 (irq = 19) is a 16550
> 4ef600400.serial: ttyS1 at MMIO 0x4ef600400 (irq = 20) is a 16550
> 4ef600500.serial: ttyS2 at MMIO 0x4ef600500 (irq = 29) is a 16550
> 4ef600600.serial: ttyS3 at MMIO 0x4ef600600 (irq = 21) is a 16550
> brd: module loaded
> 4e4000000.nor_flash2: Found 1 x16 devices at 0x0 in 16-bit bank
> 4e4000000.nor_flash2: Found 1 x16 devices at 0x2000000 in 16-bit bank
>  Intel/Sharp Extended Query Table at 0x010A
>  Intel/Sharp Extended Query Table at 0x010A
>  Intel/Sharp Extended Query Table at 0x010A
>  Intel/Sharp Extended Query Table at 0x010A
>  Intel/Sharp Extended Query Table at 0x010A
> Using buffer write method
> Using auto-unlock on power-up/resume
> cfi_cmdset_0001: Erase suspend on write enabled
> erase region 0: offset=0x0,size=0x8000,blocks=4
> erase region 1: offset=0x20000,size=0x20000,blocks=255
> erase region 2: offset=0x2000000,size=0x8000,blocks=4
> erase region 3: offset=0x2020000,size=0x20000,blocks=255
> RedBoot partition parsing not available
> Creating 1 MTD partitions on "4e4000000.nor_flash2":
> 0x000000000000-0x000004000000 : "data"
> 4cc000000.nor_flash: Found 1 x16 devices at 0x0 in 16-bit bank
> 4cc000000.nor_flash: Found 1 x16 devices at 0x2000000 in 16-bit bank
>  Intel/Sharp Extended Query Table at 0x010A
>  Intel/Sharp Extended Query Table at 0x010A
>  Intel/Sharp Extended Query Table at 0x010A
>  Intel/Sharp Extended Query Table at 0x010A
>  Intel/Sharp Extended Query Table at 0x010A
> Using buffer write method
> Using auto-unlock on power-up/resume
> cfi_cmdset_0001: Erase suspend on write enabled
> erase region 0: offset=0x0,size=0x8000,blocks=4
> erase region 1: offset=0x20000,size=0x20000,blocks=255
> erase region 2: offset=0x2000000,size=0x8000,blocks=4
> erase region 3: offset=0x2020000,size=0x20000,blocks=255
> RedBoot partition parsing not available
> Creating 7 MTD partitions on "4cc000000.nor_flash":
> 0x000000000000-0x0000001e0000 : "kernel"
> 0x0000001e0000-0x000000200000 : "dtb"
> 0x000000200000-0x000001600000 : "ramdisk"
> 0x000001600000-0x000001a00000 : "jffs2"
> 0x000001a00000-0x000003f60000 : "user"
> 0x000003f60000-0x000003fa0000 : "u-boot env"
> 0x000003fa0000-0x000004000000 : "u-boot"
> NAND device: Manufacturer ID: 0xec, Chip ID: 0xd3 (Samsung NAND 1GiB 3,3V 8-bit)
> Scanning device for bad blocks
> Bad eraseblock 806 at 0x0000064c0000
> Bad eraseblock 807 at 0x0000064e0000
> Bad eraseblock 2209 at 0x000011420000
> Bad eraseblock 3294 at 0x000019bc0000
> Bad eraseblock 4010 at 0x00001f540000
> Bad eraseblock 4748 at 0x000025180000
> Bad eraseblock 5082 at 0x000027b40000
> Bad eraseblock 5083 at 0x000027b60000
> Bad eraseblock 5716 at 0x00002ca80000
> Bad eraseblock 5772 at 0x00002d180000
> Bad eraseblock 6362 at 0x000031b40000
> Bad eraseblock 6680 at 0x000034300000
> Bad eraseblock 6740 at 0x000034a80000
> Bad eraseblock 6796 at 0x000035180000
> Creating 2 MTD partitions on "4e0000000.ndfc.nand":
> 0x000000000000-0x000000100000 : "u-boot"
> 0x000000000000-0x000003f00000 : "user"
> PPC 4xx OCP EMAC driver, version 3.54
>   alloc irq_desc for 22 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 6 on host /interrupt-controller2 mapped to virtual irq 22
>   alloc irq_desc for 23 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 7 on host /interrupt-controller2 mapped to virtual irq 23
>   alloc irq_desc for 24 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 3 on host /interrupt-controller2 mapped to virtual irq 24
>   alloc irq_desc for 25 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 4 on host /interrupt-controller2 mapped to virtual irq 25
>   alloc irq_desc for 26 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 5 on host /interrupt-controller2 mapped to virtual irq 26
> MAL v2 /plb/mcmal, 2 TX channels, 16 RX channels
> ZMII /plb/opb/emac-zmii@ef600d00 initialized
> RGMII /plb/opb/emac-rgmii@ef601500 initialized with MDIO support
> TAH /plb/opb/emac-tah@ef601350 initialized
> TAH /plb/opb/emac-tah@ef601450 initialized
>   alloc irq_desc for 27 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 16 on host /interrupt-controller2 mapped to virtual irq 27
>   alloc irq_desc for 28 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 20 on host /interrupt-controller2 mapped to virtual irq 28
> /plb/opb/emac-rgmii@ef601500: input 0 in RGMII mode
> eth0: EMAC-0 /plb/opb/ethernet@ef600e00, MAC 00:99:88:77:66:55
> eth0: found Generic MII PHY (0x00)
>   alloc irq_desc for 31 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 17 on host /interrupt-controller2 mapped to virtual irq 31
>   alloc irq_desc for 32 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 21 on host /interrupt-controller2 mapped to virtual irq 32
> /plb/opb/emac-rgmii@ef601500: input 1 in RGMII mode
> eth1: EMAC-1 /plb/opb/ethernet@ef600f00, MAC 00:99:88:77:66:56
> eth1: found Generic MII PHY (0x10)
> ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
>   alloc irq_desc for 33 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 29 on host /interrupt-controller2 mapped to virtual irq 33
> ppc-of-ehci 4bffd0400.ehci: OF EHCI
> ppc-of-ehci 4bffd0400.ehci: new USB bus registered, assigned bus number 1
> ppc-of-ehci 4bffd0400.ehci: irq 33, io mem 0x4bffd0400
> ppc-of-ehci 4bffd0400.ehci: USB 2.0 started, EHCI 1.00
> usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
> usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
> usb usb1: Product: OF EHCI
> usb usb1: Manufacturer: Linux 2.6.33 ehci_hcd
> usb usb1: SerialNumber: PPC-OF USB
> hub 1-0:1.0: USB hub found
> hub 1-0:1.0: 1 port detected
> Initializing USB Mass Storage driver...
> usbcore: registered new interface driver usb-storage
> USB Mass Storage support registered.
> usbcore: registered new interface driver libusual
> i2c /dev entries driver
>   alloc irq_desc for 34 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 2 on host /interrupt-controller0 mapped to virtual irq 34
> at24 0-0051: 65536 byte 24c512 EEPROM (writable)
> at24 0-0053: 256 byte spd EEPROM (read-only)
> ibm-iic 4ef600700.i2c: using standard (100 kHz) mode
>   alloc irq_desc for 35 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 3 on host /interrupt-controller0 mapped to virtual irq 35
> ibm-iic 4ef600800.i2c: using standard (100 kHz) mode
> rtc-ds1307 5-0068: rtc core: registered ds1338 as rtc0
> rtc-ds1307 5-0068: 56 bytes nvram
> pca954x 1-0070: registered 8 virtual busses for I2C switch pca9548
> pca954x 2-0071: registered 8 virtual busses for I2C switch pca9548
> pca954x 3-0072: registered 8 virtual busses for I2C switch pca9548
> TCP cubic registered
> NET: Registered protocol family 17
> 802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
> All bugs added by David S. Miller <davem@redhat.com>
> rtc-ds1307 5-0068: setting system clock to 2000-02-28 11:43:27 UTC (951738207)
> eth0: link is down
> IP-Config: Complete:
>      device=eth0, addr=10.0.0.30, mask=255.0.0.0, gw=10.0.0.138,
>      host=smbe460, domain=, nis-domain=(none),
>      bootserver=10.0.0.10, rootserver=10.0.0.10, rootpath=
> Looking up port of RPC 100003/2 on 10.0.0.10
> eth0: link is up, 100 FDX, pause enabled
> Looking up port of RPC 100005/1 on 10.0.0.10
> VFS: Mounted root (nfs filesystem) on device 0:13.
> Freeing unused kernel memory: 144k init
> pci_bus 0000:00: scanning bus
> pci 0000:00:02.0: scanning behind bridge, config 010100, pass 0
> pci_bus 0000:01: scanning bus
> pci 0000:01:00.0: found [1575:0002] class 00ff00 header type 00
> pci 0000:01:00.0: reg 10: [mem 0x00000000-0x000fffff]
> pci 0000:01:00.0: reg 14: [mem 0x00000000-0x03ffffff]
> pci 0000:01:00.0: reg 18: [mem 0x00000000-0x03ffffff]
> pci 0000:01:00.0: reg 1c: [mem 0x00000000-0x00003fff]
> pci 0000:01:00.0: calling pcibios_fixup_resources+0x0/0xf4
> pci 0000:01:00.0: calling fixup_ppc4xx_pci_bridge+0x0/0x154
> pci 0000:01:00.0: calling quirk_resource_alignment+0x0/0x200
> pci_bus 0000:01: bus scan returning with max=01
> pci 0000:00:02.0: scanning behind bridge, config 010100, pass 1
> pci_bus 0000:00: bus scan returning with max=01
> pci 0000:00:02.0: disabling bridge window [io  0x0000-0x0fff] to [bus 01-01] (unused)
> pci 0000:00:02.0: disabling bridge window [mem 0xd00000000-0xd000fffff pref] to [bus 01-01] (unused)
> pci 0000:00:02.0: BAR 8: assigned [mem 0xd80000000-0xd89ffffff]
> pci 0000:01:00.0: BAR 1: assigned [mem 0xd80000000-0xd83ffffff]
> pci 0000:01:00.0: BAR 1: set to [mem 0xd80000000-0xd83ffffff] (PCI address [0x80000000-0x83ffffff]
> pci 0000:01:00.0: BAR 2: assigned [mem 0xd84000000-0xd87ffffff]
> pci 0000:01:00.0: BAR 2: set to [mem 0xd84000000-0xd87ffffff] (PCI address [0x84000000-0x87ffffff]
> pci 0000:01:00.0: BAR 0: assigned [mem 0xd88000000-0xd880fffff]
> pci 0000:01:00.0: BAR 0: set to [mem 0xd88000000-0xd880fffff] (PCI address [0x88000000-0x880fffff]
> pci 0000:01:00.0: BAR 3: assigned [mem 0xd88100000-0xd88103fff]
> pci 0000:01:00.0: BAR 3: set to [mem 0xd88100000-0xd88103fff] (PCI address [0x88100000-0x88103fff]
> 
> # cat /proc/iomem
> 
> 4bffd0400-4bffd048f : ehci_hcd
> 4cc000000-4cfffffff : 4cc000000.nor_flash
> 4e4000000-4e7ffffff : 4e4000000.nor_flash2
> 4ef600300-4ef600307 : serial
> 4ef600400-4ef600407 : serial
> 4ef600500-4ef600507 : serial
> 4ef600600-4ef600607 : serial
> d80000000-dffffffff : /plb/pci@c0ec00000
>   d80000000-d89ffffff : PCI Bus 0000:01
>     d80000000-d83ffffff : 0000:01:00.0
>     d84000000-d87ffffff : 0000:01:00.0
>     d88000000-d880fffff : 0000:01:00.0
>     d88100000-d88103fff : 0000:01:00.0
> 
> # cat /proc/ioports
> 00000000-0000ffff : /plb/pci@c0ec00000
>   00000000-00000fff : Legacy IO
> plain text document attachment (success.txt)
> Linux version 2.6.33 (felix@felix-laptop.lan) (gcc version 4.2.2) #5 Thu Mar 11 09:35:52 IST 2010
> Found legacy serial port 0 for /plb/opb/serial@ef600300
>   mem=4ef600300, taddr=4ef600300, irq=0, clk=7407407, speed=0
> Found legacy serial port 1 for /plb/opb/serial@ef600400
>   mem=4ef600400, taddr=4ef600400, irq=0, clk=7407407, speed=0
> Found legacy serial port 2 for /plb/opb/serial@ef600500
>   mem=4ef600500, taddr=4ef600500, irq=0, clk=7407407, speed=0
> Found legacy serial port 3 for /plb/opb/serial@ef600600
>   mem=4ef600600, taddr=4ef600600, irq=0, clk=7407407, speed=0
> Top of RAM: 0x30000000, Total RAM: 0x30000000
> Memory hole size: 0MB
> Zone PFN ranges:
>   DMA      0x00000000 -> 0x00030000
>   Normal   0x00030000 -> 0x00030000
> Movable zone start PFN for each node
> early_node_map[1] active PFN ranges
>     0: 0x00000000 -> 0x00030000
> On node 0 totalpages: 196608
> free_area_init_node: node 0, pgdat c035e76c, node_mem_map c0388000
>   DMA zone: 1536 pages used for memmap
>   DMA zone: 0 pages reserved
>   DMA zone: 195072 pages, LIFO batch:31
> MMU: Allocated 1088 bytes of context maps for 255 contexts
> Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 195072
> Kernel command line: root=/dev/nfs rw nfsroot=10.0.0.10:/opt/eldk/ppc_4xxFP ip=10.0.0.30:10.0.0.10:10.0.0.138:255.0.0.0:smbe460:eth0:off panic=1 console=ttyS0,115200
> PID hash table entries: 4096 (order: 2, 16384 bytes)
> Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
> Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
> Memory: 775552k/786432k available (3364k kernel code, 10604k reserved, 116k data, 128k bss, 144k init)
> Kernel virtual memory layout:
>   * 0xfffdf000..0xfffff000  : fixmap
>   * 0xfde00000..0xfe000000  : consistent mem
>   * 0xfde00000..0xfde00000  : early ioremap
>   * 0xf1000000..0xfde00000  : vmalloc & ioremap
> SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
> Hierarchical RCU implementation.
> NR_IRQS:512 nr_irqs:512
> UIC0 (32 IRQ sources) at DCR 0xc0
> UIC1 (32 IRQ sources) at DCR 0xd0
>   alloc irq_desc for 30 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 30 on host /interrupt-controller0 mapped to virtual irq 30
> UIC2 (32 IRQ sources) at DCR 0xe0
>   alloc irq_desc for 16 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 10 on host /interrupt-controller0 mapped to virtual irq 16
> UIC3 (32 IRQ sources) at DCR 0xf0
>   alloc irq_desc for 17 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 16 on host /interrupt-controller0 mapped to virtual irq 17
> time_init: decrementer frequency = 1000.000012 MHz
> time_init: processor frequency   = 1000.000012 MHz
> clocksource: timebase mult[400000] shift[22] registered
> clockevent: decrementer mult[80000019] shift[31] cpu[0]
> Mount-cache hash table entries: 512
> NET: Registered protocol family 16
>   alloc irq_desc for 18 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 11 on host /interrupt-controller1 mapped to virtual irq 18
> 256k L2-cache enabled
> PCI host bridge /plb/pci@c0ec00000 (primary) ranges:
>  MEM 0x0000000d80000000..0x0000000dffffffff -> 0x0000000080000000 
>  MEM 0x0000000c0ee00000..0x0000000c0eefffff -> 0x0000000000000000 
>   IO 0x0000000c08000000..0x0000000c0800ffff -> 0x0000000000000000
>  Removing ISA hole at 0x0000000c0ee00000
> 4xx PCI DMA offset set to 0x00000000
> /plb/pci@c0ec00000: Legacy ISA memory support enabled
> PCI: Probing PCI hardware
> pci_bus 0000:00: scanning bus
> pci 0000:00:02.0: found [3388:0020] class 000604 header type 01
> pci 0000:00:02.0: calling pcibios_fixup_resources+0x0/0xf4
> pci 0000:00:02.0: calling fixup_ppc4xx_pci_bridge+0x0/0x154
> pci 0000:00:02.0: calling quirk_resource_alignment+0x0/0x200
> pci 0000:00:02.0: supports D1 D2
> pci 0000:00:02.0: PME# supported from D0 D1 D2 D3hot
> pci 0000:00:02.0: PME# disabled
> pci_bus 0000:00: fixups for bus
> pci 0000:00:02.0: scanning behind bridge, config 010100, pass 0
> pci_bus 0000:01: scanning bus
> pci 0000:01:00.0: found [1575:0002] class 00ff00 header type 00
> pci 0000:01:00.0: reg 10: [mem 0x88000000-0x880fffff]
> pci 0000:01:00.0: reg 14: [mem 0x80000000-0x83ffffff]
> pci 0000:01:00.0: reg 18: [mem 0x84000000-0x87ffffff]
> pci 0000:01:00.0: reg 1c: [mem 0x88100000-0x88103fff]
> pci 0000:01:00.0: calling pcibios_fixup_resources+0x0/0xf4
> pci 0000:01:00.0: calling fixup_ppc4xx_pci_bridge+0x0/0x154
> pci 0000:01:00.0: calling quirk_resource_alignment+0x0/0x200
> pci_bus 0000:01: fixups for bus
> pci 0000:00:02.0: PCI bridge to [bus 01-01]
> pci_bus 0000:01: bus scan returning with max=01
> pci 0000:00:02.0: scanning behind bridge, config 010100, pass 1
> pci_bus 0000:00: bus scan returning with max=01
> pci 0000:00:02.0: BAR 8: assigned [mem 0xd80000000-0xd89ffffff]
> pci 0000:01:00.0: BAR 1: assigned [mem 0xd80000000-0xd83ffffff]
> pci 0000:01:00.0: BAR 1: set to [mem 0xd80000000-0xd83ffffff] (PCI address [0x80000000-0x83ffffff]
> pci 0000:01:00.0: BAR 2: assigned [mem 0xd84000000-0xd87ffffff]
> pci 0000:01:00.0: BAR 2: set to [mem 0xd84000000-0xd87ffffff] (PCI address [0x84000000-0x87ffffff]
> pci 0000:01:00.0: BAR 0: assigned [mem 0xd88000000-0xd880fffff]
> pci 0000:01:00.0: BAR 0: set to [mem 0xd88000000-0xd880fffff] (PCI address [0x88000000-0x880fffff]
> pci 0000:01:00.0: BAR 3: assigned [mem 0xd88100000-0xd88103fff]
> pci 0000:01:00.0: BAR 3: set to [mem 0xd88100000-0xd88103fff] (PCI address [0x88100000-0x88103fff]
> pci 0000:00:02.0: PCI bridge to [bus 01-01]
> pci 0000:00:02.0:   bridge window [io  disabled]
> pci 0000:00:02.0:   bridge window [mem 0xd80000000-0xd89ffffff]
> pci 0000:00:02.0:   bridge window [mem pref disabled]
> pci 0000:00:02.0: enabling device (0084 -> 0086)
> pci_bus 0000:00: resource 0 [io  0x0000-0xffff]
> pci_bus 0000:00: resource 1 [mem 0xd80000000-0xdffffffff]
> pci_bus 0000:01: resource 1 [mem 0xd80000000-0xd89ffffff]
> bio: create slab <bio-0> at 0
> SCSI subsystem initialized
> usbcore: registered new interface driver usbfs
> usbcore: registered new interface driver hub
> usbcore: registered new device driver usb
> Switching to clocksource timebase
> NET: Registered protocol family 2
> IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
> TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
> TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
> TCP: Hash tables configured (established 131072 bind 65536)
> TCP reno registered
> UDP hash table entries: 512 (order: 1, 8192 bytes)
> UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
> NET: Registered protocol family 1
> RPC: Registered udp transport module.
> RPC: Registered tcp transport module.
> RPC: Registered tcp NFSv4.1 backchannel transport module.
> pci 0000:00:02.0: calling quirk_cardbus_legacy+0x0/0x54
> pci 0000:00:02.0: calling quirk_usb_early_handoff+0x0/0x6cc
> pci 0000:01:00.0: calling quirk_cardbus_legacy+0x0/0x54
> pci 0000:01:00.0: calling quirk_usb_early_handoff+0x0/0x6cc
> PCI: CLS 0 bytes, default 32
>   alloc irq_desc for 19 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 1 on host /interrupt-controller1 mapped to virtual irq 19
>   alloc irq_desc for 20 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 1 on host /interrupt-controller0 mapped to virtual irq 20
>   alloc irq_desc for 29 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 29 on host /interrupt-controller1 mapped to virtual irq 29
>   alloc irq_desc for 21 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 30 on host /interrupt-controller1 mapped to virtual irq 21
> JFFS2 version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
> msgmni has been set to 1515
> io scheduler noop registered
> io scheduler deadline registered
> io scheduler cfq registered (default)
> Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
> serial8250.0: ttyS0 at MMIO 0x4ef600300 (irq = 19) is a 16550A
> console [ttyS0] enabled
> serial8250.0: ttyS1 at MMIO 0x4ef600400 (irq = 20) is a 16550A
> serial8250.0: ttyS2 at MMIO 0x4ef600500 (irq = 29) is a 16550A
> serial8250.0: ttyS3 at MMIO 0x4ef600600 (irq = 21) is a 16550A
> 4ef600300.serial: ttyS0 at MMIO 0x4ef600300 (irq = 19) is a 16550
> 4ef600400.serial: ttyS1 at MMIO 0x4ef600400 (irq = 20) is a 16550
> 4ef600500.serial: ttyS2 at MMIO 0x4ef600500 (irq = 29) is a 16550
> 4ef600600.serial: ttyS3 at MMIO 0x4ef600600 (irq = 21) is a 16550
> brd: module loaded
> 4e4000000.nor_flash2: Found 1 x16 devices at 0x0 in 16-bit bank
> 4e4000000.nor_flash2: Found 1 x16 devices at 0x2000000 in 16-bit bank
>  Intel/Sharp Extended Query Table at 0x010A
>  Intel/Sharp Extended Query Table at 0x010A
>  Intel/Sharp Extended Query Table at 0x010A
>  Intel/Sharp Extended Query Table at 0x010A
>  Intel/Sharp Extended Query Table at 0x010A
> Using buffer write method
> Using auto-unlock on power-up/resume
> cfi_cmdset_0001: Erase suspend on write enabled
> erase region 0: offset=0x0,size=0x8000,blocks=4
> erase region 1: offset=0x20000,size=0x20000,blocks=255
> erase region 2: offset=0x2000000,size=0x8000,blocks=4
> erase region 3: offset=0x2020000,size=0x20000,blocks=255
> RedBoot partition parsing not available
> Creating 1 MTD partitions on "4e4000000.nor_flash2":
> 0x000000000000-0x000004000000 : "data"
> 4cc000000.nor_flash: Found 1 x16 devices at 0x0 in 16-bit bank
> 4cc000000.nor_flash: Found 1 x16 devices at 0x2000000 in 16-bit bank
>  Intel/Sharp Extended Query Table at 0x010A
>  Intel/Sharp Extended Query Table at 0x010A
>  Intel/Sharp Extended Query Table at 0x010A
>  Intel/Sharp Extended Query Table at 0x010A
>  Intel/Sharp Extended Query Table at 0x010A
> Using buffer write method
> Using auto-unlock on power-up/resume
> cfi_cmdset_0001: Erase suspend on write enabled
> erase region 0: offset=0x0,size=0x8000,blocks=4
> erase region 1: offset=0x20000,size=0x20000,blocks=255
> erase region 2: offset=0x2000000,size=0x8000,blocks=4
> erase region 3: offset=0x2020000,size=0x20000,blocks=255
> RedBoot partition parsing not available
> Creating 7 MTD partitions on "4cc000000.nor_flash":
> 0x000000000000-0x0000001e0000 : "kernel"
> 0x0000001e0000-0x000000200000 : "dtb"
> 0x000000200000-0x000001600000 : "ramdisk"
> 0x000001600000-0x000001a00000 : "jffs2"
> 0x000001a00000-0x000003f60000 : "user"
> 0x000003f60000-0x000003fa0000 : "u-boot env"
> 0x000003fa0000-0x000004000000 : "u-boot"
> NAND device: Manufacturer ID: 0xec, Chip ID: 0xd3 (Samsung NAND 1GiB 3,3V 8-bit)
> Scanning device for bad blocks
> Bad eraseblock 806 at 0x0000064c0000
> Bad eraseblock 807 at 0x0000064e0000
> Bad eraseblock 2209 at 0x000011420000
> Bad eraseblock 3294 at 0x000019bc0000
> Bad eraseblock 4010 at 0x00001f540000
> Bad eraseblock 4748 at 0x000025180000
> Bad eraseblock 5082 at 0x000027b40000
> Bad eraseblock 5083 at 0x000027b60000
> Bad eraseblock 5716 at 0x00002ca80000
> Bad eraseblock 5772 at 0x00002d180000
> Bad eraseblock 6362 at 0x000031b40000
> Bad eraseblock 6680 at 0x000034300000
> Bad eraseblock 6740 at 0x000034a80000
> Bad eraseblock 6796 at 0x000035180000
> Creating 2 MTD partitions on "4e0000000.ndfc.nand":
> 0x000000000000-0x000000100000 : "u-boot"
> 0x000000000000-0x000003f00000 : "user"
> PPC 4xx OCP EMAC driver, version 3.54
>   alloc irq_desc for 22 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 6 on host /interrupt-controller2 mapped to virtual irq 22
>   alloc irq_desc for 23 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 7 on host /interrupt-controller2 mapped to virtual irq 23
>   alloc irq_desc for 24 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 3 on host /interrupt-controller2 mapped to virtual irq 24
>   alloc irq_desc for 25 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 4 on host /interrupt-controller2 mapped to virtual irq 25
>   alloc irq_desc for 26 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 5 on host /interrupt-controller2 mapped to virtual irq 26
> MAL v2 /plb/mcmal, 2 TX channels, 16 RX channels
> ZMII /plb/opb/emac-zmii@ef600d00 initialized
> RGMII /plb/opb/emac-rgmii@ef601500 initialized with MDIO support
> TAH /plb/opb/emac-tah@ef601350 initialized
> TAH /plb/opb/emac-tah@ef601450 initialized
>   alloc irq_desc for 27 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 16 on host /interrupt-controller2 mapped to virtual irq 27
>   alloc irq_desc for 28 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 20 on host /interrupt-controller2 mapped to virtual irq 28
> /plb/opb/emac-rgmii@ef601500: input 0 in RGMII mode
> eth0: EMAC-0 /plb/opb/ethernet@ef600e00, MAC 00:99:88:77:66:55
> eth0: found Generic MII PHY (0x00)
>   alloc irq_desc for 31 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 17 on host /interrupt-controller2 mapped to virtual irq 31
>   alloc irq_desc for 32 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 21 on host /interrupt-controller2 mapped to virtual irq 32
> /plb/opb/emac-rgmii@ef601500: input 1 in RGMII mode
> eth1: EMAC-1 /plb/opb/ethernet@ef600f00, MAC 00:99:88:77:66:56
> eth1: found Generic MII PHY (0x10)
> ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
>   alloc irq_desc for 33 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 29 on host /interrupt-controller2 mapped to virtual irq 33
> ppc-of-ehci 4bffd0400.ehci: OF EHCI
> ppc-of-ehci 4bffd0400.ehci: new USB bus registered, assigned bus number 1
> ppc-of-ehci 4bffd0400.ehci: irq 33, io mem 0x4bffd0400
> ppc-of-ehci 4bffd0400.ehci: USB 2.0 started, EHCI 1.00
> usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
> usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
> usb usb1: Product: OF EHCI
> usb usb1: Manufacturer: Linux 2.6.33 ehci_hcd
> usb usb1: SerialNumber: PPC-OF USB
> hub 1-0:1.0: USB hub found
> hub 1-0:1.0: 1 port detected
> Initializing USB Mass Storage driver...
> usbcore: registered new interface driver usb-storage
> USB Mass Storage support registered.
> usbcore: registered new interface driver libusual
> i2c /dev entries driver
>   alloc irq_desc for 34 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 2 on host /interrupt-controller0 mapped to virtual irq 34
> at24 0-0051: 65536 byte 24c512 EEPROM (writable)
> at24 0-0053: 256 byte spd EEPROM (read-only)
> ibm-iic 4ef600700.i2c: using standard (100 kHz) mode
>   alloc irq_desc for 35 on node 0
>   alloc kstat_irqs on node 0
> irq: irq 3 on host /interrupt-controller0 mapped to virtual irq 35
> ibm-iic 4ef600800.i2c: using standard (100 kHz) mode
> rtc-ds1307 5-0068: rtc core: registered ds1338 as rtc0
> rtc-ds1307 5-0068: 56 bytes nvram
> pca954x 1-0070: registered 8 virtual busses for I2C switch pca9548
> pca954x 2-0071: registered 8 virtual busses for I2C switch pca9548
> pca954x 3-0072: registered 8 virtual busses for I2C switch pca9548
> TCP cubic registered
> NET: Registered protocol family 17
> 802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
> All bugs added by David S. Miller <davem@redhat.com>
> rtc-ds1307 5-0068: setting system clock to 2000-02-28 11:41:36 UTC (951738096)
> eth0: link is down
> IP-Config: Complete:
>      device=eth0, addr=10.0.0.30, mask=255.0.0.0, gw=10.0.0.138,
>      host=smbe460, domain=, nis-domain=(none),
>      bootserver=10.0.0.10, rootserver=10.0.0.10, rootpath=
> Looking up port of RPC 100003/2 on 10.0.0.10
> eth0: link is up, 100 FDX, pause enabled
> Looking up port of RPC 100005/1 on 10.0.0.10
> VFS: Mounted root (nfs filesystem) on device 0:13.
> Freeing unused kernel memory: 144k init
> 
> # cat /proc/iomem
>  
> 4bffd0400-4bffd048f : ehci_hcd
> 4cc000000-4cfffffff : 4cc000000.nor_flash
> 4e4000000-4e7ffffff : 4e4000000.nor_flash2
> 4ef600300-4ef600307 : serial
> 4ef600400-4ef600407 : serial
> 4ef600500-4ef600507 : serial
> 4ef600600-4ef600607 : serial
> d80000000-dffffffff : /plb/pci@c0ec00000
>   d80000000-d89ffffff : PCI Bus 0000:01
>     d80000000-d83ffffff : 0000:01:00.0
>     d84000000-d87ffffff : 0000:01:00.0
>     d88000000-d880fffff : 0000:01:00.0
>     d88100000-d88103fff : 0000:01:00.0
> 
> # cat /proc/ioports
> 
> 00000000-0000ffff : /plb/pci@c0ec00000
>   00000000-00000fff : Legacy IO

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
       [not found] ` <20100310225100.GB27324@ldl.fc.hp.com>
  2010-03-11  7:45   ` Felix Radensky
@ 2010-03-11  7:50   ` Felix Radensky
  2010-03-12  9:22     ` Kenji Kaneshige
  1 sibling, 1 reply; 29+ messages in thread
From: Felix Radensky @ 2010-03-11  7:50 UTC (permalink / raw)
  To: Alex Chiang; +Cc: linux-pci, linuxppc-dev

[-- Attachment #1: Type: text/plain, Size: 873 bytes --]

Hi Alex,

Resending, previous attempt was erroneously send as HTML.

Thanks a lot for replying.

Alex Chiang wrote:
> * Felix Radensky <felix@embedded-sol.com>:
>   
>> The problem arises when device is plugged in after boot. After doing
>> echo 1 > /sys/bus/pci/rescan
>> the device is identified, but bridge memory window is not allocated,
>> and reads from device memory regions return 0xffffffff. Below is
>> relevant output:
>>     
>
> Do you need firmware support on your platform for hotplug?
>   
I don't think so, but I've added powerpc guys to CC to make sure.
> Can you please send full dmesg during successful boot, full dmesg
> log during unsuccessful rescan, and contents of /proc/iomem and
> /proc/ioports during success and failure cases?
>
> Be sure you have PCI_CONFIG_DEBUG turned on.
>   
Attached. I really appreciate your help. Thanks a lot.

Felix.

[-- Attachment #2: failure.txt --]
[-- Type: text/plain, Size: 16396 bytes --]

Linux version 2.6.33 (felix@felix-laptop.lan) (gcc version 4.2.2) #5 Thu Mar 11 09:35:52 IST 2010
Found legacy serial port 0 for /plb/opb/serial@ef600300
  mem=4ef600300, taddr=4ef600300, irq=0, clk=7407407, speed=0
Found legacy serial port 1 for /plb/opb/serial@ef600400
  mem=4ef600400, taddr=4ef600400, irq=0, clk=7407407, speed=0
Found legacy serial port 2 for /plb/opb/serial@ef600500
  mem=4ef600500, taddr=4ef600500, irq=0, clk=7407407, speed=0
Found legacy serial port 3 for /plb/opb/serial@ef600600
  mem=4ef600600, taddr=4ef600600, irq=0, clk=7407407, speed=0
Top of RAM: 0x30000000, Total RAM: 0x30000000
Memory hole size: 0MB
Zone PFN ranges:
  DMA      0x00000000 -> 0x00030000
  Normal   0x00030000 -> 0x00030000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00030000
On node 0 totalpages: 196608
free_area_init_node: node 0, pgdat c035e76c, node_mem_map c0388000
  DMA zone: 1536 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 195072 pages, LIFO batch:31
MMU: Allocated 1088 bytes of context maps for 255 contexts
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 195072
Kernel command line: root=/dev/nfs rw nfsroot=10.0.0.10:/opt/eldk/ppc_4xxFP ip=10.0.0.30:10.0.0.10:10.0.0.138:255.0.0.0:smbe460:eth0:off panic=1 console=ttyS0,115200
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 775552k/786432k available (3364k kernel code, 10604k reserved, 116k data, 128k bss, 144k init)
Kernel virtual memory layout:
  * 0xfffdf000..0xfffff000  : fixmap
  * 0xfde00000..0xfe000000  : consistent mem
  * 0xfde00000..0xfde00000  : early ioremap
  * 0xf1000000..0xfde00000  : vmalloc & ioremap
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
NR_IRQS:512 nr_irqs:512
UIC0 (32 IRQ sources) at DCR 0xc0
UIC1 (32 IRQ sources) at DCR 0xd0
  alloc irq_desc for 30 on node 0
  alloc kstat_irqs on node 0
irq: irq 30 on host /interrupt-controller0 mapped to virtual irq 30
UIC2 (32 IRQ sources) at DCR 0xe0
  alloc irq_desc for 16 on node 0
  alloc kstat_irqs on node 0
irq: irq 10 on host /interrupt-controller0 mapped to virtual irq 16
UIC3 (32 IRQ sources) at DCR 0xf0
  alloc irq_desc for 17 on node 0
  alloc kstat_irqs on node 0
irq: irq 16 on host /interrupt-controller0 mapped to virtual irq 17
time_init: decrementer frequency = 1000.000012 MHz
time_init: processor frequency   = 1000.000012 MHz
clocksource: timebase mult[400000] shift[22] registered
clockevent: decrementer mult[80000019] shift[31] cpu[0]
Mount-cache hash table entries: 512
NET: Registered protocol family 16
  alloc irq_desc for 18 on node 0
  alloc kstat_irqs on node 0
irq: irq 11 on host /interrupt-controller1 mapped to virtual irq 18
256k L2-cache enabled
PCI host bridge /plb/pci@c0ec00000 (primary) ranges:
 MEM 0x0000000d80000000..0x0000000dffffffff -> 0x0000000080000000 
 MEM 0x0000000c0ee00000..0x0000000c0eefffff -> 0x0000000000000000 
  IO 0x0000000c08000000..0x0000000c0800ffff -> 0x0000000000000000
 Removing ISA hole at 0x0000000c0ee00000
4xx PCI DMA offset set to 0x00000000
/plb/pci@c0ec00000: Legacy ISA memory support enabled
PCI: Probing PCI hardware
pci_bus 0000:00: scanning bus
pci 0000:00:02.0: found [3388:0020] class 000604 header type 01
pci 0000:00:02.0: calling pcibios_fixup_resources+0x0/0xf4
pci 0000:00:02.0: calling fixup_ppc4xx_pci_bridge+0x0/0x154
pci 0000:00:02.0: calling quirk_resource_alignment+0x0/0x200
pci 0000:00:02.0: supports D1 D2
pci 0000:00:02.0: PME# supported from D0 D1 D2 D3hot
pci 0000:00:02.0: PME# disabled
pci_bus 0000:00: fixups for bus
pci 0000:00:02.0: scanning behind bridge, config 000000, pass 0
pci 0000:00:02.0: bus configuration invalid, reconfiguring
pci 0000:00:02.0: scanning behind bridge, config 000000, pass 1
pci_bus 0000:01: scanning bus
pci_bus 0000:01: fixups for bus
pci 0000:00:02.0: PCI bridge to [bus 01-ff]
pci 0000:00:02.0:   bridge window [io  0x0000-0x0fff]
pci 0000:00:02.0:   bridge window [mem 0x00000000-0x000fffff]
pci 0000:00:02.0:   bridge window [mem 0x00000000-0x000fffff 64bit pref]
pci_bus 0000:01: bus scan returning with max=01
pci_bus 0000:00: bus scan returning with max=01
pci 0000:00:02.0: disabling bridge window [io  0x0000-0x0fff] to [bus 01-01] (unused)
pci 0000:00:02.0: disabling bridge window [mem 0xd00000000-0xd000fffff pref] to [bus 01-01] (unused)
pci 0000:00:02.0: disabling bridge window [mem 0xd00000000-0xd000fffff] to [bus 01-01] (unused)
pci 0000:00:02.0: PCI bridge to [bus 01-01]
pci 0000:00:02.0:   bridge window [io  disabled]
pci 0000:00:02.0:   bridge window [mem disabled]
pci 0000:00:02.0:   bridge window [mem pref disabled]
pci 0000:00:02.0: enabling bus mastering
pci_bus 0000:00: resource 0 [io  0x0000-0xffff]
pci_bus 0000:00: resource 1 [mem 0xd80000000-0xdffffffff]
pci_bus 0000:01: resource 0 [??? 0-4095 flags 0x0]
pci_bus 0000:01: resource 1 [??? 55834574848-55835623423 flags 0x0]
pci_bus 0000:01: resource 2 [??? 55834574848-55835623423 flags 0x0]
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Switching to clocksource timebase
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
TCP reno registered
UDP hash table entries: 512 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
pci 0000:00:02.0: calling quirk_cardbus_legacy+0x0/0x54
pci 0000:00:02.0: calling quirk_usb_early_handoff+0x0/0x6cc
PCI: CLS 0 bytes, default 32
  alloc irq_desc for 19 on node 0
  alloc kstat_irqs on node 0
irq: irq 1 on host /interrupt-controller1 mapped to virtual irq 19
  alloc irq_desc for 20 on node 0
  alloc kstat_irqs on node 0
irq: irq 1 on host /interrupt-controller0 mapped to virtual irq 20
  alloc irq_desc for 29 on node 0
  alloc kstat_irqs on node 0
irq: irq 29 on host /interrupt-controller1 mapped to virtual irq 29
  alloc irq_desc for 21 on node 0
  alloc kstat_irqs on node 0
irq: irq 30 on host /interrupt-controller1 mapped to virtual irq 21
JFFS2 version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
msgmni has been set to 1515
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
serial8250.0: ttyS0 at MMIO 0x4ef600300 (irq = 19) is a 16550A
console [ttyS0] enabled
serial8250.0: ttyS1 at MMIO 0x4ef600400 (irq = 20) is a 16550A
serial8250.0: ttyS2 at MMIO 0x4ef600500 (irq = 29) is a 16550A
serial8250.0: ttyS3 at MMIO 0x4ef600600 (irq = 21) is a 16550A
4ef600300.serial: ttyS0 at MMIO 0x4ef600300 (irq = 19) is a 16550
4ef600400.serial: ttyS1 at MMIO 0x4ef600400 (irq = 20) is a 16550
4ef600500.serial: ttyS2 at MMIO 0x4ef600500 (irq = 29) is a 16550
4ef600600.serial: ttyS3 at MMIO 0x4ef600600 (irq = 21) is a 16550
brd: module loaded
4e4000000.nor_flash2: Found 1 x16 devices at 0x0 in 16-bit bank
4e4000000.nor_flash2: Found 1 x16 devices at 0x2000000 in 16-bit bank
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
Using buffer write method
Using auto-unlock on power-up/resume
cfi_cmdset_0001: Erase suspend on write enabled
erase region 0: offset=0x0,size=0x8000,blocks=4
erase region 1: offset=0x20000,size=0x20000,blocks=255
erase region 2: offset=0x2000000,size=0x8000,blocks=4
erase region 3: offset=0x2020000,size=0x20000,blocks=255
RedBoot partition parsing not available
Creating 1 MTD partitions on "4e4000000.nor_flash2":
0x000000000000-0x000004000000 : "data"
4cc000000.nor_flash: Found 1 x16 devices at 0x0 in 16-bit bank
4cc000000.nor_flash: Found 1 x16 devices at 0x2000000 in 16-bit bank
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
Using buffer write method
Using auto-unlock on power-up/resume
cfi_cmdset_0001: Erase suspend on write enabled
erase region 0: offset=0x0,size=0x8000,blocks=4
erase region 1: offset=0x20000,size=0x20000,blocks=255
erase region 2: offset=0x2000000,size=0x8000,blocks=4
erase region 3: offset=0x2020000,size=0x20000,blocks=255
RedBoot partition parsing not available
Creating 7 MTD partitions on "4cc000000.nor_flash":
0x000000000000-0x0000001e0000 : "kernel"
0x0000001e0000-0x000000200000 : "dtb"
0x000000200000-0x000001600000 : "ramdisk"
0x000001600000-0x000001a00000 : "jffs2"
0x000001a00000-0x000003f60000 : "user"
0x000003f60000-0x000003fa0000 : "u-boot env"
0x000003fa0000-0x000004000000 : "u-boot"
NAND device: Manufacturer ID: 0xec, Chip ID: 0xd3 (Samsung NAND 1GiB 3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 806 at 0x0000064c0000
Bad eraseblock 807 at 0x0000064e0000
Bad eraseblock 2209 at 0x000011420000
Bad eraseblock 3294 at 0x000019bc0000
Bad eraseblock 4010 at 0x00001f540000
Bad eraseblock 4748 at 0x000025180000
Bad eraseblock 5082 at 0x000027b40000
Bad eraseblock 5083 at 0x000027b60000
Bad eraseblock 5716 at 0x00002ca80000
Bad eraseblock 5772 at 0x00002d180000
Bad eraseblock 6362 at 0x000031b40000
Bad eraseblock 6680 at 0x000034300000
Bad eraseblock 6740 at 0x000034a80000
Bad eraseblock 6796 at 0x000035180000
Creating 2 MTD partitions on "4e0000000.ndfc.nand":
0x000000000000-0x000000100000 : "u-boot"
0x000000000000-0x000003f00000 : "user"
PPC 4xx OCP EMAC driver, version 3.54
  alloc irq_desc for 22 on node 0
  alloc kstat_irqs on node 0
irq: irq 6 on host /interrupt-controller2 mapped to virtual irq 22
  alloc irq_desc for 23 on node 0
  alloc kstat_irqs on node 0
irq: irq 7 on host /interrupt-controller2 mapped to virtual irq 23
  alloc irq_desc for 24 on node 0
  alloc kstat_irqs on node 0
irq: irq 3 on host /interrupt-controller2 mapped to virtual irq 24
  alloc irq_desc for 25 on node 0
  alloc kstat_irqs on node 0
irq: irq 4 on host /interrupt-controller2 mapped to virtual irq 25
  alloc irq_desc for 26 on node 0
  alloc kstat_irqs on node 0
irq: irq 5 on host /interrupt-controller2 mapped to virtual irq 26
MAL v2 /plb/mcmal, 2 TX channels, 16 RX channels
ZMII /plb/opb/emac-zmii@ef600d00 initialized
RGMII /plb/opb/emac-rgmii@ef601500 initialized with MDIO support
TAH /plb/opb/emac-tah@ef601350 initialized
TAH /plb/opb/emac-tah@ef601450 initialized
  alloc irq_desc for 27 on node 0
  alloc kstat_irqs on node 0
irq: irq 16 on host /interrupt-controller2 mapped to virtual irq 27
  alloc irq_desc for 28 on node 0
  alloc kstat_irqs on node 0
irq: irq 20 on host /interrupt-controller2 mapped to virtual irq 28
/plb/opb/emac-rgmii@ef601500: input 0 in RGMII mode
eth0: EMAC-0 /plb/opb/ethernet@ef600e00, MAC 00:99:88:77:66:55
eth0: found Generic MII PHY (0x00)
  alloc irq_desc for 31 on node 0
  alloc kstat_irqs on node 0
irq: irq 17 on host /interrupt-controller2 mapped to virtual irq 31
  alloc irq_desc for 32 on node 0
  alloc kstat_irqs on node 0
irq: irq 21 on host /interrupt-controller2 mapped to virtual irq 32
/plb/opb/emac-rgmii@ef601500: input 1 in RGMII mode
eth1: EMAC-1 /plb/opb/ethernet@ef600f00, MAC 00:99:88:77:66:56
eth1: found Generic MII PHY (0x10)
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
  alloc irq_desc for 33 on node 0
  alloc kstat_irqs on node 0
irq: irq 29 on host /interrupt-controller2 mapped to virtual irq 33
ppc-of-ehci 4bffd0400.ehci: OF EHCI
ppc-of-ehci 4bffd0400.ehci: new USB bus registered, assigned bus number 1
ppc-of-ehci 4bffd0400.ehci: irq 33, io mem 0x4bffd0400
ppc-of-ehci 4bffd0400.ehci: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: OF EHCI
usb usb1: Manufacturer: Linux 2.6.33 ehci_hcd
usb usb1: SerialNumber: PPC-OF USB
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver libusual
i2c /dev entries driver
  alloc irq_desc for 34 on node 0
  alloc kstat_irqs on node 0
irq: irq 2 on host /interrupt-controller0 mapped to virtual irq 34
at24 0-0051: 65536 byte 24c512 EEPROM (writable)
at24 0-0053: 256 byte spd EEPROM (read-only)
ibm-iic 4ef600700.i2c: using standard (100 kHz) mode
  alloc irq_desc for 35 on node 0
  alloc kstat_irqs on node 0
irq: irq 3 on host /interrupt-controller0 mapped to virtual irq 35
ibm-iic 4ef600800.i2c: using standard (100 kHz) mode
rtc-ds1307 5-0068: rtc core: registered ds1338 as rtc0
rtc-ds1307 5-0068: 56 bytes nvram
pca954x 1-0070: registered 8 virtual busses for I2C switch pca9548
pca954x 2-0071: registered 8 virtual busses for I2C switch pca9548
pca954x 3-0072: registered 8 virtual busses for I2C switch pca9548
TCP cubic registered
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
rtc-ds1307 5-0068: setting system clock to 2000-02-28 11:43:27 UTC (951738207)
eth0: link is down
IP-Config: Complete:
     device=eth0, addr=10.0.0.30, mask=255.0.0.0, gw=10.0.0.138,
     host=smbe460, domain=, nis-domain=(none),
     bootserver=10.0.0.10, rootserver=10.0.0.10, rootpath=
Looking up port of RPC 100003/2 on 10.0.0.10
eth0: link is up, 100 FDX, pause enabled
Looking up port of RPC 100005/1 on 10.0.0.10
VFS: Mounted root (nfs filesystem) on device 0:13.
Freeing unused kernel memory: 144k init
pci_bus 0000:00: scanning bus
pci 0000:00:02.0: scanning behind bridge, config 010100, pass 0
pci_bus 0000:01: scanning bus
pci 0000:01:00.0: found [1575:0002] class 00ff00 header type 00
pci 0000:01:00.0: reg 10: [mem 0x00000000-0x000fffff]
pci 0000:01:00.0: reg 14: [mem 0x00000000-0x03ffffff]
pci 0000:01:00.0: reg 18: [mem 0x00000000-0x03ffffff]
pci 0000:01:00.0: reg 1c: [mem 0x00000000-0x00003fff]
pci 0000:01:00.0: calling pcibios_fixup_resources+0x0/0xf4
pci 0000:01:00.0: calling fixup_ppc4xx_pci_bridge+0x0/0x154
pci 0000:01:00.0: calling quirk_resource_alignment+0x0/0x200
pci_bus 0000:01: bus scan returning with max=01
pci 0000:00:02.0: scanning behind bridge, config 010100, pass 1
pci_bus 0000:00: bus scan returning with max=01
pci 0000:00:02.0: disabling bridge window [io  0x0000-0x0fff] to [bus 01-01] (unused)
pci 0000:00:02.0: disabling bridge window [mem 0xd00000000-0xd000fffff pref] to [bus 01-01] (unused)
pci 0000:00:02.0: BAR 8: assigned [mem 0xd80000000-0xd89ffffff]
pci 0000:01:00.0: BAR 1: assigned [mem 0xd80000000-0xd83ffffff]
pci 0000:01:00.0: BAR 1: set to [mem 0xd80000000-0xd83ffffff] (PCI address [0x80000000-0x83ffffff]
pci 0000:01:00.0: BAR 2: assigned [mem 0xd84000000-0xd87ffffff]
pci 0000:01:00.0: BAR 2: set to [mem 0xd84000000-0xd87ffffff] (PCI address [0x84000000-0x87ffffff]
pci 0000:01:00.0: BAR 0: assigned [mem 0xd88000000-0xd880fffff]
pci 0000:01:00.0: BAR 0: set to [mem 0xd88000000-0xd880fffff] (PCI address [0x88000000-0x880fffff]
pci 0000:01:00.0: BAR 3: assigned [mem 0xd88100000-0xd88103fff]
pci 0000:01:00.0: BAR 3: set to [mem 0xd88100000-0xd88103fff] (PCI address [0x88100000-0x88103fff]

# cat /proc/iomem

4bffd0400-4bffd048f : ehci_hcd
4cc000000-4cfffffff : 4cc000000.nor_flash
4e4000000-4e7ffffff : 4e4000000.nor_flash2
4ef600300-4ef600307 : serial
4ef600400-4ef600407 : serial
4ef600500-4ef600507 : serial
4ef600600-4ef600607 : serial
d80000000-dffffffff : /plb/pci@c0ec00000
  d80000000-d89ffffff : PCI Bus 0000:01
    d80000000-d83ffffff : 0000:01:00.0
    d84000000-d87ffffff : 0000:01:00.0
    d88000000-d880fffff : 0000:01:00.0
    d88100000-d88103fff : 0000:01:00.0

# cat /proc/ioports
00000000-0000ffff : /plb/pci@c0ec00000
  00000000-00000fff : Legacy IO


[-- Attachment #3: success.txt --]
[-- Type: text/plain, Size: 15406 bytes --]

Linux version 2.6.33 (felix@felix-laptop.lan) (gcc version 4.2.2) #5 Thu Mar 11 09:35:52 IST 2010
Found legacy serial port 0 for /plb/opb/serial@ef600300
  mem=4ef600300, taddr=4ef600300, irq=0, clk=7407407, speed=0
Found legacy serial port 1 for /plb/opb/serial@ef600400
  mem=4ef600400, taddr=4ef600400, irq=0, clk=7407407, speed=0
Found legacy serial port 2 for /plb/opb/serial@ef600500
  mem=4ef600500, taddr=4ef600500, irq=0, clk=7407407, speed=0
Found legacy serial port 3 for /plb/opb/serial@ef600600
  mem=4ef600600, taddr=4ef600600, irq=0, clk=7407407, speed=0
Top of RAM: 0x30000000, Total RAM: 0x30000000
Memory hole size: 0MB
Zone PFN ranges:
  DMA      0x00000000 -> 0x00030000
  Normal   0x00030000 -> 0x00030000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00030000
On node 0 totalpages: 196608
free_area_init_node: node 0, pgdat c035e76c, node_mem_map c0388000
  DMA zone: 1536 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 195072 pages, LIFO batch:31
MMU: Allocated 1088 bytes of context maps for 255 contexts
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 195072
Kernel command line: root=/dev/nfs rw nfsroot=10.0.0.10:/opt/eldk/ppc_4xxFP ip=10.0.0.30:10.0.0.10:10.0.0.138:255.0.0.0:smbe460:eth0:off panic=1 console=ttyS0,115200
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 775552k/786432k available (3364k kernel code, 10604k reserved, 116k data, 128k bss, 144k init)
Kernel virtual memory layout:
  * 0xfffdf000..0xfffff000  : fixmap
  * 0xfde00000..0xfe000000  : consistent mem
  * 0xfde00000..0xfde00000  : early ioremap
  * 0xf1000000..0xfde00000  : vmalloc & ioremap
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
NR_IRQS:512 nr_irqs:512
UIC0 (32 IRQ sources) at DCR 0xc0
UIC1 (32 IRQ sources) at DCR 0xd0
  alloc irq_desc for 30 on node 0
  alloc kstat_irqs on node 0
irq: irq 30 on host /interrupt-controller0 mapped to virtual irq 30
UIC2 (32 IRQ sources) at DCR 0xe0
  alloc irq_desc for 16 on node 0
  alloc kstat_irqs on node 0
irq: irq 10 on host /interrupt-controller0 mapped to virtual irq 16
UIC3 (32 IRQ sources) at DCR 0xf0
  alloc irq_desc for 17 on node 0
  alloc kstat_irqs on node 0
irq: irq 16 on host /interrupt-controller0 mapped to virtual irq 17
time_init: decrementer frequency = 1000.000012 MHz
time_init: processor frequency   = 1000.000012 MHz
clocksource: timebase mult[400000] shift[22] registered
clockevent: decrementer mult[80000019] shift[31] cpu[0]
Mount-cache hash table entries: 512
NET: Registered protocol family 16
  alloc irq_desc for 18 on node 0
  alloc kstat_irqs on node 0
irq: irq 11 on host /interrupt-controller1 mapped to virtual irq 18
256k L2-cache enabled
PCI host bridge /plb/pci@c0ec00000 (primary) ranges:
 MEM 0x0000000d80000000..0x0000000dffffffff -> 0x0000000080000000 
 MEM 0x0000000c0ee00000..0x0000000c0eefffff -> 0x0000000000000000 
  IO 0x0000000c08000000..0x0000000c0800ffff -> 0x0000000000000000
 Removing ISA hole at 0x0000000c0ee00000
4xx PCI DMA offset set to 0x00000000
/plb/pci@c0ec00000: Legacy ISA memory support enabled
PCI: Probing PCI hardware
pci_bus 0000:00: scanning bus
pci 0000:00:02.0: found [3388:0020] class 000604 header type 01
pci 0000:00:02.0: calling pcibios_fixup_resources+0x0/0xf4
pci 0000:00:02.0: calling fixup_ppc4xx_pci_bridge+0x0/0x154
pci 0000:00:02.0: calling quirk_resource_alignment+0x0/0x200
pci 0000:00:02.0: supports D1 D2
pci 0000:00:02.0: PME# supported from D0 D1 D2 D3hot
pci 0000:00:02.0: PME# disabled
pci_bus 0000:00: fixups for bus
pci 0000:00:02.0: scanning behind bridge, config 010100, pass 0
pci_bus 0000:01: scanning bus
pci 0000:01:00.0: found [1575:0002] class 00ff00 header type 00
pci 0000:01:00.0: reg 10: [mem 0x88000000-0x880fffff]
pci 0000:01:00.0: reg 14: [mem 0x80000000-0x83ffffff]
pci 0000:01:00.0: reg 18: [mem 0x84000000-0x87ffffff]
pci 0000:01:00.0: reg 1c: [mem 0x88100000-0x88103fff]
pci 0000:01:00.0: calling pcibios_fixup_resources+0x0/0xf4
pci 0000:01:00.0: calling fixup_ppc4xx_pci_bridge+0x0/0x154
pci 0000:01:00.0: calling quirk_resource_alignment+0x0/0x200
pci_bus 0000:01: fixups for bus
pci 0000:00:02.0: PCI bridge to [bus 01-01]
pci_bus 0000:01: bus scan returning with max=01
pci 0000:00:02.0: scanning behind bridge, config 010100, pass 1
pci_bus 0000:00: bus scan returning with max=01
pci 0000:00:02.0: BAR 8: assigned [mem 0xd80000000-0xd89ffffff]
pci 0000:01:00.0: BAR 1: assigned [mem 0xd80000000-0xd83ffffff]
pci 0000:01:00.0: BAR 1: set to [mem 0xd80000000-0xd83ffffff] (PCI address [0x80000000-0x83ffffff]
pci 0000:01:00.0: BAR 2: assigned [mem 0xd84000000-0xd87ffffff]
pci 0000:01:00.0: BAR 2: set to [mem 0xd84000000-0xd87ffffff] (PCI address [0x84000000-0x87ffffff]
pci 0000:01:00.0: BAR 0: assigned [mem 0xd88000000-0xd880fffff]
pci 0000:01:00.0: BAR 0: set to [mem 0xd88000000-0xd880fffff] (PCI address [0x88000000-0x880fffff]
pci 0000:01:00.0: BAR 3: assigned [mem 0xd88100000-0xd88103fff]
pci 0000:01:00.0: BAR 3: set to [mem 0xd88100000-0xd88103fff] (PCI address [0x88100000-0x88103fff]
pci 0000:00:02.0: PCI bridge to [bus 01-01]
pci 0000:00:02.0:   bridge window [io  disabled]
pci 0000:00:02.0:   bridge window [mem 0xd80000000-0xd89ffffff]
pci 0000:00:02.0:   bridge window [mem pref disabled]
pci 0000:00:02.0: enabling device (0084 -> 0086)
pci_bus 0000:00: resource 0 [io  0x0000-0xffff]
pci_bus 0000:00: resource 1 [mem 0xd80000000-0xdffffffff]
pci_bus 0000:01: resource 1 [mem 0xd80000000-0xd89ffffff]
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Switching to clocksource timebase
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
TCP reno registered
UDP hash table entries: 512 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
pci 0000:00:02.0: calling quirk_cardbus_legacy+0x0/0x54
pci 0000:00:02.0: calling quirk_usb_early_handoff+0x0/0x6cc
pci 0000:01:00.0: calling quirk_cardbus_legacy+0x0/0x54
pci 0000:01:00.0: calling quirk_usb_early_handoff+0x0/0x6cc
PCI: CLS 0 bytes, default 32
  alloc irq_desc for 19 on node 0
  alloc kstat_irqs on node 0
irq: irq 1 on host /interrupt-controller1 mapped to virtual irq 19
  alloc irq_desc for 20 on node 0
  alloc kstat_irqs on node 0
irq: irq 1 on host /interrupt-controller0 mapped to virtual irq 20
  alloc irq_desc for 29 on node 0
  alloc kstat_irqs on node 0
irq: irq 29 on host /interrupt-controller1 mapped to virtual irq 29
  alloc irq_desc for 21 on node 0
  alloc kstat_irqs on node 0
irq: irq 30 on host /interrupt-controller1 mapped to virtual irq 21
JFFS2 version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
msgmni has been set to 1515
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
serial8250.0: ttyS0 at MMIO 0x4ef600300 (irq = 19) is a 16550A
console [ttyS0] enabled
serial8250.0: ttyS1 at MMIO 0x4ef600400 (irq = 20) is a 16550A
serial8250.0: ttyS2 at MMIO 0x4ef600500 (irq = 29) is a 16550A
serial8250.0: ttyS3 at MMIO 0x4ef600600 (irq = 21) is a 16550A
4ef600300.serial: ttyS0 at MMIO 0x4ef600300 (irq = 19) is a 16550
4ef600400.serial: ttyS1 at MMIO 0x4ef600400 (irq = 20) is a 16550
4ef600500.serial: ttyS2 at MMIO 0x4ef600500 (irq = 29) is a 16550
4ef600600.serial: ttyS3 at MMIO 0x4ef600600 (irq = 21) is a 16550
brd: module loaded
4e4000000.nor_flash2: Found 1 x16 devices at 0x0 in 16-bit bank
4e4000000.nor_flash2: Found 1 x16 devices at 0x2000000 in 16-bit bank
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
Using buffer write method
Using auto-unlock on power-up/resume
cfi_cmdset_0001: Erase suspend on write enabled
erase region 0: offset=0x0,size=0x8000,blocks=4
erase region 1: offset=0x20000,size=0x20000,blocks=255
erase region 2: offset=0x2000000,size=0x8000,blocks=4
erase region 3: offset=0x2020000,size=0x20000,blocks=255
RedBoot partition parsing not available
Creating 1 MTD partitions on "4e4000000.nor_flash2":
0x000000000000-0x000004000000 : "data"
4cc000000.nor_flash: Found 1 x16 devices at 0x0 in 16-bit bank
4cc000000.nor_flash: Found 1 x16 devices at 0x2000000 in 16-bit bank
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
Using buffer write method
Using auto-unlock on power-up/resume
cfi_cmdset_0001: Erase suspend on write enabled
erase region 0: offset=0x0,size=0x8000,blocks=4
erase region 1: offset=0x20000,size=0x20000,blocks=255
erase region 2: offset=0x2000000,size=0x8000,blocks=4
erase region 3: offset=0x2020000,size=0x20000,blocks=255
RedBoot partition parsing not available
Creating 7 MTD partitions on "4cc000000.nor_flash":
0x000000000000-0x0000001e0000 : "kernel"
0x0000001e0000-0x000000200000 : "dtb"
0x000000200000-0x000001600000 : "ramdisk"
0x000001600000-0x000001a00000 : "jffs2"
0x000001a00000-0x000003f60000 : "user"
0x000003f60000-0x000003fa0000 : "u-boot env"
0x000003fa0000-0x000004000000 : "u-boot"
NAND device: Manufacturer ID: 0xec, Chip ID: 0xd3 (Samsung NAND 1GiB 3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 806 at 0x0000064c0000
Bad eraseblock 807 at 0x0000064e0000
Bad eraseblock 2209 at 0x000011420000
Bad eraseblock 3294 at 0x000019bc0000
Bad eraseblock 4010 at 0x00001f540000
Bad eraseblock 4748 at 0x000025180000
Bad eraseblock 5082 at 0x000027b40000
Bad eraseblock 5083 at 0x000027b60000
Bad eraseblock 5716 at 0x00002ca80000
Bad eraseblock 5772 at 0x00002d180000
Bad eraseblock 6362 at 0x000031b40000
Bad eraseblock 6680 at 0x000034300000
Bad eraseblock 6740 at 0x000034a80000
Bad eraseblock 6796 at 0x000035180000
Creating 2 MTD partitions on "4e0000000.ndfc.nand":
0x000000000000-0x000000100000 : "u-boot"
0x000000000000-0x000003f00000 : "user"
PPC 4xx OCP EMAC driver, version 3.54
  alloc irq_desc for 22 on node 0
  alloc kstat_irqs on node 0
irq: irq 6 on host /interrupt-controller2 mapped to virtual irq 22
  alloc irq_desc for 23 on node 0
  alloc kstat_irqs on node 0
irq: irq 7 on host /interrupt-controller2 mapped to virtual irq 23
  alloc irq_desc for 24 on node 0
  alloc kstat_irqs on node 0
irq: irq 3 on host /interrupt-controller2 mapped to virtual irq 24
  alloc irq_desc for 25 on node 0
  alloc kstat_irqs on node 0
irq: irq 4 on host /interrupt-controller2 mapped to virtual irq 25
  alloc irq_desc for 26 on node 0
  alloc kstat_irqs on node 0
irq: irq 5 on host /interrupt-controller2 mapped to virtual irq 26
MAL v2 /plb/mcmal, 2 TX channels, 16 RX channels
ZMII /plb/opb/emac-zmii@ef600d00 initialized
RGMII /plb/opb/emac-rgmii@ef601500 initialized with MDIO support
TAH /plb/opb/emac-tah@ef601350 initialized
TAH /plb/opb/emac-tah@ef601450 initialized
  alloc irq_desc for 27 on node 0
  alloc kstat_irqs on node 0
irq: irq 16 on host /interrupt-controller2 mapped to virtual irq 27
  alloc irq_desc for 28 on node 0
  alloc kstat_irqs on node 0
irq: irq 20 on host /interrupt-controller2 mapped to virtual irq 28
/plb/opb/emac-rgmii@ef601500: input 0 in RGMII mode
eth0: EMAC-0 /plb/opb/ethernet@ef600e00, MAC 00:99:88:77:66:55
eth0: found Generic MII PHY (0x00)
  alloc irq_desc for 31 on node 0
  alloc kstat_irqs on node 0
irq: irq 17 on host /interrupt-controller2 mapped to virtual irq 31
  alloc irq_desc for 32 on node 0
  alloc kstat_irqs on node 0
irq: irq 21 on host /interrupt-controller2 mapped to virtual irq 32
/plb/opb/emac-rgmii@ef601500: input 1 in RGMII mode
eth1: EMAC-1 /plb/opb/ethernet@ef600f00, MAC 00:99:88:77:66:56
eth1: found Generic MII PHY (0x10)
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
  alloc irq_desc for 33 on node 0
  alloc kstat_irqs on node 0
irq: irq 29 on host /interrupt-controller2 mapped to virtual irq 33
ppc-of-ehci 4bffd0400.ehci: OF EHCI
ppc-of-ehci 4bffd0400.ehci: new USB bus registered, assigned bus number 1
ppc-of-ehci 4bffd0400.ehci: irq 33, io mem 0x4bffd0400
ppc-of-ehci 4bffd0400.ehci: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: OF EHCI
usb usb1: Manufacturer: Linux 2.6.33 ehci_hcd
usb usb1: SerialNumber: PPC-OF USB
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver libusual
i2c /dev entries driver
  alloc irq_desc for 34 on node 0
  alloc kstat_irqs on node 0
irq: irq 2 on host /interrupt-controller0 mapped to virtual irq 34
at24 0-0051: 65536 byte 24c512 EEPROM (writable)
at24 0-0053: 256 byte spd EEPROM (read-only)
ibm-iic 4ef600700.i2c: using standard (100 kHz) mode
  alloc irq_desc for 35 on node 0
  alloc kstat_irqs on node 0
irq: irq 3 on host /interrupt-controller0 mapped to virtual irq 35
ibm-iic 4ef600800.i2c: using standard (100 kHz) mode
rtc-ds1307 5-0068: rtc core: registered ds1338 as rtc0
rtc-ds1307 5-0068: 56 bytes nvram
pca954x 1-0070: registered 8 virtual busses for I2C switch pca9548
pca954x 2-0071: registered 8 virtual busses for I2C switch pca9548
pca954x 3-0072: registered 8 virtual busses for I2C switch pca9548
TCP cubic registered
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
rtc-ds1307 5-0068: setting system clock to 2000-02-28 11:41:36 UTC (951738096)
eth0: link is down
IP-Config: Complete:
     device=eth0, addr=10.0.0.30, mask=255.0.0.0, gw=10.0.0.138,
     host=smbe460, domain=, nis-domain=(none),
     bootserver=10.0.0.10, rootserver=10.0.0.10, rootpath=
Looking up port of RPC 100003/2 on 10.0.0.10
eth0: link is up, 100 FDX, pause enabled
Looking up port of RPC 100005/1 on 10.0.0.10
VFS: Mounted root (nfs filesystem) on device 0:13.
Freeing unused kernel memory: 144k init

# cat /proc/iomem
 
4bffd0400-4bffd048f : ehci_hcd
4cc000000-4cfffffff : 4cc000000.nor_flash
4e4000000-4e7ffffff : 4e4000000.nor_flash2
4ef600300-4ef600307 : serial
4ef600400-4ef600407 : serial
4ef600500-4ef600507 : serial
4ef600600-4ef600607 : serial
d80000000-dffffffff : /plb/pci@c0ec00000
  d80000000-d89ffffff : PCI Bus 0000:01
    d80000000-d83ffffff : 0000:01:00.0
    d84000000-d87ffffff : 0000:01:00.0
    d88000000-d880fffff : 0000:01:00.0
    d88100000-d88103fff : 0000:01:00.0

# cat /proc/ioports

00000000-0000ffff : /plb/pci@c0ec00000
  00000000-00000fff : Legacy IO


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: Problem with PCI bus rescan on 460EX
       [not found] ` <20100310225100.GB27324@ldl.fc.hp.com>
@ 2010-03-11  7:45   ` Felix Radensky
  2010-03-11 20:32     ` Benjamin Herrenschmidt
  2010-03-11  7:50   ` Felix Radensky
  1 sibling, 1 reply; 29+ messages in thread
From: Felix Radensky @ 2010-03-11  7:45 UTC (permalink / raw)
  To: Alex Chiang; +Cc: linux-pci, linuxppc-dev

[-- Attachment #1: Type: text/html, Size: 1419 bytes --]

[-- Attachment #2: failure.txt --]
[-- Type: text/plain, Size: 16395 bytes --]

Linux version 2.6.33 (felix@felix-laptop.lan) (gcc version 4.2.2) #5 Thu Mar 11 09:35:52 IST 2010
Found legacy serial port 0 for /plb/opb/serial@ef600300
  mem=4ef600300, taddr=4ef600300, irq=0, clk=7407407, speed=0
Found legacy serial port 1 for /plb/opb/serial@ef600400
  mem=4ef600400, taddr=4ef600400, irq=0, clk=7407407, speed=0
Found legacy serial port 2 for /plb/opb/serial@ef600500
  mem=4ef600500, taddr=4ef600500, irq=0, clk=7407407, speed=0
Found legacy serial port 3 for /plb/opb/serial@ef600600
  mem=4ef600600, taddr=4ef600600, irq=0, clk=7407407, speed=0
Top of RAM: 0x30000000, Total RAM: 0x30000000
Memory hole size: 0MB
Zone PFN ranges:
  DMA      0x00000000 -> 0x00030000
  Normal   0x00030000 -> 0x00030000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00030000
On node 0 totalpages: 196608
free_area_init_node: node 0, pgdat c035e76c, node_mem_map c0388000
  DMA zone: 1536 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 195072 pages, LIFO batch:31
MMU: Allocated 1088 bytes of context maps for 255 contexts
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 195072
Kernel command line: root=/dev/nfs rw nfsroot=10.0.0.10:/opt/eldk/ppc_4xxFP ip=10.0.0.30:10.0.0.10:10.0.0.138:255.0.0.0:smbe460:eth0:off panic=1 console=ttyS0,115200
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 775552k/786432k available (3364k kernel code, 10604k reserved, 116k data, 128k bss, 144k init)
Kernel virtual memory layout:
  * 0xfffdf000..0xfffff000  : fixmap
  * 0xfde00000..0xfe000000  : consistent mem
  * 0xfde00000..0xfde00000  : early ioremap
  * 0xf1000000..0xfde00000  : vmalloc & ioremap
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
NR_IRQS:512 nr_irqs:512
UIC0 (32 IRQ sources) at DCR 0xc0
UIC1 (32 IRQ sources) at DCR 0xd0
  alloc irq_desc for 30 on node 0
  alloc kstat_irqs on node 0
irq: irq 30 on host /interrupt-controller0 mapped to virtual irq 30
UIC2 (32 IRQ sources) at DCR 0xe0
  alloc irq_desc for 16 on node 0
  alloc kstat_irqs on node 0
irq: irq 10 on host /interrupt-controller0 mapped to virtual irq 16
UIC3 (32 IRQ sources) at DCR 0xf0
  alloc irq_desc for 17 on node 0
  alloc kstat_irqs on node 0
irq: irq 16 on host /interrupt-controller0 mapped to virtual irq 17
time_init: decrementer frequency = 1000.000012 MHz
time_init: processor frequency   = 1000.000012 MHz
clocksource: timebase mult[400000] shift[22] registered
clockevent: decrementer mult[80000019] shift[31] cpu[0]
Mount-cache hash table entries: 512
NET: Registered protocol family 16
  alloc irq_desc for 18 on node 0
  alloc kstat_irqs on node 0
irq: irq 11 on host /interrupt-controller1 mapped to virtual irq 18
256k L2-cache enabled
PCI host bridge /plb/pci@c0ec00000 (primary) ranges:
 MEM 0x0000000d80000000..0x0000000dffffffff -> 0x0000000080000000 
 MEM 0x0000000c0ee00000..0x0000000c0eefffff -> 0x0000000000000000 
  IO 0x0000000c08000000..0x0000000c0800ffff -> 0x0000000000000000
 Removing ISA hole at 0x0000000c0ee00000
4xx PCI DMA offset set to 0x00000000
/plb/pci@c0ec00000: Legacy ISA memory support enabled
PCI: Probing PCI hardware
pci_bus 0000:00: scanning bus
pci 0000:00:02.0: found [3388:0020] class 000604 header type 01
pci 0000:00:02.0: calling pcibios_fixup_resources+0x0/0xf4
pci 0000:00:02.0: calling fixup_ppc4xx_pci_bridge+0x0/0x154
pci 0000:00:02.0: calling quirk_resource_alignment+0x0/0x200
pci 0000:00:02.0: supports D1 D2
pci 0000:00:02.0: PME# supported from D0 D1 D2 D3hot
pci 0000:00:02.0: PME# disabled
pci_bus 0000:00: fixups for bus
pci 0000:00:02.0: scanning behind bridge, config 000000, pass 0
pci 0000:00:02.0: bus configuration invalid, reconfiguring
pci 0000:00:02.0: scanning behind bridge, config 000000, pass 1
pci_bus 0000:01: scanning bus
pci_bus 0000:01: fixups for bus
pci 0000:00:02.0: PCI bridge to [bus 01-ff]
pci 0000:00:02.0:   bridge window [io  0x0000-0x0fff]
pci 0000:00:02.0:   bridge window [mem 0x00000000-0x000fffff]
pci 0000:00:02.0:   bridge window [mem 0x00000000-0x000fffff 64bit pref]
pci_bus 0000:01: bus scan returning with max=01
pci_bus 0000:00: bus scan returning with max=01
pci 0000:00:02.0: disabling bridge window [io  0x0000-0x0fff] to [bus 01-01] (unused)
pci 0000:00:02.0: disabling bridge window [mem 0xd00000000-0xd000fffff pref] to [bus 01-01] (unused)
pci 0000:00:02.0: disabling bridge window [mem 0xd00000000-0xd000fffff] to [bus 01-01] (unused)
pci 0000:00:02.0: PCI bridge to [bus 01-01]
pci 0000:00:02.0:   bridge window [io  disabled]
pci 0000:00:02.0:   bridge window [mem disabled]
pci 0000:00:02.0:   bridge window [mem pref disabled]
pci 0000:00:02.0: enabling bus mastering
pci_bus 0000:00: resource 0 [io  0x0000-0xffff]
pci_bus 0000:00: resource 1 [mem 0xd80000000-0xdffffffff]
pci_bus 0000:01: resource 0 [??? 0-4095 flags 0x0]
pci_bus 0000:01: resource 1 [??? 55834574848-55835623423 flags 0x0]
pci_bus 0000:01: resource 2 [??? 55834574848-55835623423 flags 0x0]
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Switching to clocksource timebase
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
TCP reno registered
UDP hash table entries: 512 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
pci 0000:00:02.0: calling quirk_cardbus_legacy+0x0/0x54
pci 0000:00:02.0: calling quirk_usb_early_handoff+0x0/0x6cc
PCI: CLS 0 bytes, default 32
  alloc irq_desc for 19 on node 0
  alloc kstat_irqs on node 0
irq: irq 1 on host /interrupt-controller1 mapped to virtual irq 19
  alloc irq_desc for 20 on node 0
  alloc kstat_irqs on node 0
irq: irq 1 on host /interrupt-controller0 mapped to virtual irq 20
  alloc irq_desc for 29 on node 0
  alloc kstat_irqs on node 0
irq: irq 29 on host /interrupt-controller1 mapped to virtual irq 29
  alloc irq_desc for 21 on node 0
  alloc kstat_irqs on node 0
irq: irq 30 on host /interrupt-controller1 mapped to virtual irq 21
JFFS2 version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
msgmni has been set to 1515
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
serial8250.0: ttyS0 at MMIO 0x4ef600300 (irq = 19) is a 16550A
console [ttyS0] enabled
serial8250.0: ttyS1 at MMIO 0x4ef600400 (irq = 20) is a 16550A
serial8250.0: ttyS2 at MMIO 0x4ef600500 (irq = 29) is a 16550A
serial8250.0: ttyS3 at MMIO 0x4ef600600 (irq = 21) is a 16550A
4ef600300.serial: ttyS0 at MMIO 0x4ef600300 (irq = 19) is a 16550
4ef600400.serial: ttyS1 at MMIO 0x4ef600400 (irq = 20) is a 16550
4ef600500.serial: ttyS2 at MMIO 0x4ef600500 (irq = 29) is a 16550
4ef600600.serial: ttyS3 at MMIO 0x4ef600600 (irq = 21) is a 16550
brd: module loaded
4e4000000.nor_flash2: Found 1 x16 devices at 0x0 in 16-bit bank
4e4000000.nor_flash2: Found 1 x16 devices at 0x2000000 in 16-bit bank
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
Using buffer write method
Using auto-unlock on power-up/resume
cfi_cmdset_0001: Erase suspend on write enabled
erase region 0: offset=0x0,size=0x8000,blocks=4
erase region 1: offset=0x20000,size=0x20000,blocks=255
erase region 2: offset=0x2000000,size=0x8000,blocks=4
erase region 3: offset=0x2020000,size=0x20000,blocks=255
RedBoot partition parsing not available
Creating 1 MTD partitions on "4e4000000.nor_flash2":
0x000000000000-0x000004000000 : "data"
4cc000000.nor_flash: Found 1 x16 devices at 0x0 in 16-bit bank
4cc000000.nor_flash: Found 1 x16 devices at 0x2000000 in 16-bit bank
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
Using buffer write method
Using auto-unlock on power-up/resume
cfi_cmdset_0001: Erase suspend on write enabled
erase region 0: offset=0x0,size=0x8000,blocks=4
erase region 1: offset=0x20000,size=0x20000,blocks=255
erase region 2: offset=0x2000000,size=0x8000,blocks=4
erase region 3: offset=0x2020000,size=0x20000,blocks=255
RedBoot partition parsing not available
Creating 7 MTD partitions on "4cc000000.nor_flash":
0x000000000000-0x0000001e0000 : "kernel"
0x0000001e0000-0x000000200000 : "dtb"
0x000000200000-0x000001600000 : "ramdisk"
0x000001600000-0x000001a00000 : "jffs2"
0x000001a00000-0x000003f60000 : "user"
0x000003f60000-0x000003fa0000 : "u-boot env"
0x000003fa0000-0x000004000000 : "u-boot"
NAND device: Manufacturer ID: 0xec, Chip ID: 0xd3 (Samsung NAND 1GiB 3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 806 at 0x0000064c0000
Bad eraseblock 807 at 0x0000064e0000
Bad eraseblock 2209 at 0x000011420000
Bad eraseblock 3294 at 0x000019bc0000
Bad eraseblock 4010 at 0x00001f540000
Bad eraseblock 4748 at 0x000025180000
Bad eraseblock 5082 at 0x000027b40000
Bad eraseblock 5083 at 0x000027b60000
Bad eraseblock 5716 at 0x00002ca80000
Bad eraseblock 5772 at 0x00002d180000
Bad eraseblock 6362 at 0x000031b40000
Bad eraseblock 6680 at 0x000034300000
Bad eraseblock 6740 at 0x000034a80000
Bad eraseblock 6796 at 0x000035180000
Creating 2 MTD partitions on "4e0000000.ndfc.nand":
0x000000000000-0x000000100000 : "u-boot"
0x000000000000-0x000003f00000 : "user"
PPC 4xx OCP EMAC driver, version 3.54
  alloc irq_desc for 22 on node 0
  alloc kstat_irqs on node 0
irq: irq 6 on host /interrupt-controller2 mapped to virtual irq 22
  alloc irq_desc for 23 on node 0
  alloc kstat_irqs on node 0
irq: irq 7 on host /interrupt-controller2 mapped to virtual irq 23
  alloc irq_desc for 24 on node 0
  alloc kstat_irqs on node 0
irq: irq 3 on host /interrupt-controller2 mapped to virtual irq 24
  alloc irq_desc for 25 on node 0
  alloc kstat_irqs on node 0
irq: irq 4 on host /interrupt-controller2 mapped to virtual irq 25
  alloc irq_desc for 26 on node 0
  alloc kstat_irqs on node 0
irq: irq 5 on host /interrupt-controller2 mapped to virtual irq 26
MAL v2 /plb/mcmal, 2 TX channels, 16 RX channels
ZMII /plb/opb/emac-zmii@ef600d00 initialized
RGMII /plb/opb/emac-rgmii@ef601500 initialized with MDIO support
TAH /plb/opb/emac-tah@ef601350 initialized
TAH /plb/opb/emac-tah@ef601450 initialized
  alloc irq_desc for 27 on node 0
  alloc kstat_irqs on node 0
irq: irq 16 on host /interrupt-controller2 mapped to virtual irq 27
  alloc irq_desc for 28 on node 0
  alloc kstat_irqs on node 0
irq: irq 20 on host /interrupt-controller2 mapped to virtual irq 28
/plb/opb/emac-rgmii@ef601500: input 0 in RGMII mode
eth0: EMAC-0 /plb/opb/ethernet@ef600e00, MAC 00:99:88:77:66:55
eth0: found Generic MII PHY (0x00)
  alloc irq_desc for 31 on node 0
  alloc kstat_irqs on node 0
irq: irq 17 on host /interrupt-controller2 mapped to virtual irq 31
  alloc irq_desc for 32 on node 0
  alloc kstat_irqs on node 0
irq: irq 21 on host /interrupt-controller2 mapped to virtual irq 32
/plb/opb/emac-rgmii@ef601500: input 1 in RGMII mode
eth1: EMAC-1 /plb/opb/ethernet@ef600f00, MAC 00:99:88:77:66:56
eth1: found Generic MII PHY (0x10)
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
  alloc irq_desc for 33 on node 0
  alloc kstat_irqs on node 0
irq: irq 29 on host /interrupt-controller2 mapped to virtual irq 33
ppc-of-ehci 4bffd0400.ehci: OF EHCI
ppc-of-ehci 4bffd0400.ehci: new USB bus registered, assigned bus number 1
ppc-of-ehci 4bffd0400.ehci: irq 33, io mem 0x4bffd0400
ppc-of-ehci 4bffd0400.ehci: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: OF EHCI
usb usb1: Manufacturer: Linux 2.6.33 ehci_hcd
usb usb1: SerialNumber: PPC-OF USB
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver libusual
i2c /dev entries driver
  alloc irq_desc for 34 on node 0
  alloc kstat_irqs on node 0
irq: irq 2 on host /interrupt-controller0 mapped to virtual irq 34
at24 0-0051: 65536 byte 24c512 EEPROM (writable)
at24 0-0053: 256 byte spd EEPROM (read-only)
ibm-iic 4ef600700.i2c: using standard (100 kHz) mode
  alloc irq_desc for 35 on node 0
  alloc kstat_irqs on node 0
irq: irq 3 on host /interrupt-controller0 mapped to virtual irq 35
ibm-iic 4ef600800.i2c: using standard (100 kHz) mode
rtc-ds1307 5-0068: rtc core: registered ds1338 as rtc0
rtc-ds1307 5-0068: 56 bytes nvram
pca954x 1-0070: registered 8 virtual busses for I2C switch pca9548
pca954x 2-0071: registered 8 virtual busses for I2C switch pca9548
pca954x 3-0072: registered 8 virtual busses for I2C switch pca9548
TCP cubic registered
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
rtc-ds1307 5-0068: setting system clock to 2000-02-28 11:43:27 UTC (951738207)
eth0: link is down
IP-Config: Complete:
     device=eth0, addr=10.0.0.30, mask=255.0.0.0, gw=10.0.0.138,
     host=smbe460, domain=, nis-domain=(none),
     bootserver=10.0.0.10, rootserver=10.0.0.10, rootpath=
Looking up port of RPC 100003/2 on 10.0.0.10
eth0: link is up, 100 FDX, pause enabled
Looking up port of RPC 100005/1 on 10.0.0.10
VFS: Mounted root (nfs filesystem) on device 0:13.
Freeing unused kernel memory: 144k init
pci_bus 0000:00: scanning bus
pci 0000:00:02.0: scanning behind bridge, config 010100, pass 0
pci_bus 0000:01: scanning bus
pci 0000:01:00.0: found [1575:0002] class 00ff00 header type 00
pci 0000:01:00.0: reg 10: [mem 0x00000000-0x000fffff]
pci 0000:01:00.0: reg 14: [mem 0x00000000-0x03ffffff]
pci 0000:01:00.0: reg 18: [mem 0x00000000-0x03ffffff]
pci 0000:01:00.0: reg 1c: [mem 0x00000000-0x00003fff]
pci 0000:01:00.0: calling pcibios_fixup_resources+0x0/0xf4
pci 0000:01:00.0: calling fixup_ppc4xx_pci_bridge+0x0/0x154
pci 0000:01:00.0: calling quirk_resource_alignment+0x0/0x200
pci_bus 0000:01: bus scan returning with max=01
pci 0000:00:02.0: scanning behind bridge, config 010100, pass 1
pci_bus 0000:00: bus scan returning with max=01
pci 0000:00:02.0: disabling bridge window [io  0x0000-0x0fff] to [bus 01-01] (unused)
pci 0000:00:02.0: disabling bridge window [mem 0xd00000000-0xd000fffff pref] to [bus 01-01] (unused)
pci 0000:00:02.0: BAR 8: assigned [mem 0xd80000000-0xd89ffffff]
pci 0000:01:00.0: BAR 1: assigned [mem 0xd80000000-0xd83ffffff]
pci 0000:01:00.0: BAR 1: set to [mem 0xd80000000-0xd83ffffff] (PCI address [0x80000000-0x83ffffff]
pci 0000:01:00.0: BAR 2: assigned [mem 0xd84000000-0xd87ffffff]
pci 0000:01:00.0: BAR 2: set to [mem 0xd84000000-0xd87ffffff] (PCI address [0x84000000-0x87ffffff]
pci 0000:01:00.0: BAR 0: assigned [mem 0xd88000000-0xd880fffff]
pci 0000:01:00.0: BAR 0: set to [mem 0xd88000000-0xd880fffff] (PCI address [0x88000000-0x880fffff]
pci 0000:01:00.0: BAR 3: assigned [mem 0xd88100000-0xd88103fff]
pci 0000:01:00.0: BAR 3: set to [mem 0xd88100000-0xd88103fff] (PCI address [0x88100000-0x88103fff]

# cat /proc/iomem

4bffd0400-4bffd048f : ehci_hcd
4cc000000-4cfffffff : 4cc000000.nor_flash
4e4000000-4e7ffffff : 4e4000000.nor_flash2
4ef600300-4ef600307 : serial
4ef600400-4ef600407 : serial
4ef600500-4ef600507 : serial
4ef600600-4ef600607 : serial
d80000000-dffffffff : /plb/pci@c0ec00000
  d80000000-d89ffffff : PCI Bus 0000:01
    d80000000-d83ffffff : 0000:01:00.0
    d84000000-d87ffffff : 0000:01:00.0
    d88000000-d880fffff : 0000:01:00.0
    d88100000-d88103fff : 0000:01:00.0

# cat /proc/ioports
00000000-0000ffff : /plb/pci@c0ec00000
  00000000-00000fff : Legacy IO

[-- Attachment #3: success.txt --]
[-- Type: text/plain, Size: 15405 bytes --]

Linux version 2.6.33 (felix@felix-laptop.lan) (gcc version 4.2.2) #5 Thu Mar 11 09:35:52 IST 2010
Found legacy serial port 0 for /plb/opb/serial@ef600300
  mem=4ef600300, taddr=4ef600300, irq=0, clk=7407407, speed=0
Found legacy serial port 1 for /plb/opb/serial@ef600400
  mem=4ef600400, taddr=4ef600400, irq=0, clk=7407407, speed=0
Found legacy serial port 2 for /plb/opb/serial@ef600500
  mem=4ef600500, taddr=4ef600500, irq=0, clk=7407407, speed=0
Found legacy serial port 3 for /plb/opb/serial@ef600600
  mem=4ef600600, taddr=4ef600600, irq=0, clk=7407407, speed=0
Top of RAM: 0x30000000, Total RAM: 0x30000000
Memory hole size: 0MB
Zone PFN ranges:
  DMA      0x00000000 -> 0x00030000
  Normal   0x00030000 -> 0x00030000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00030000
On node 0 totalpages: 196608
free_area_init_node: node 0, pgdat c035e76c, node_mem_map c0388000
  DMA zone: 1536 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 195072 pages, LIFO batch:31
MMU: Allocated 1088 bytes of context maps for 255 contexts
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 195072
Kernel command line: root=/dev/nfs rw nfsroot=10.0.0.10:/opt/eldk/ppc_4xxFP ip=10.0.0.30:10.0.0.10:10.0.0.138:255.0.0.0:smbe460:eth0:off panic=1 console=ttyS0,115200
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 775552k/786432k available (3364k kernel code, 10604k reserved, 116k data, 128k bss, 144k init)
Kernel virtual memory layout:
  * 0xfffdf000..0xfffff000  : fixmap
  * 0xfde00000..0xfe000000  : consistent mem
  * 0xfde00000..0xfde00000  : early ioremap
  * 0xf1000000..0xfde00000  : vmalloc & ioremap
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
NR_IRQS:512 nr_irqs:512
UIC0 (32 IRQ sources) at DCR 0xc0
UIC1 (32 IRQ sources) at DCR 0xd0
  alloc irq_desc for 30 on node 0
  alloc kstat_irqs on node 0
irq: irq 30 on host /interrupt-controller0 mapped to virtual irq 30
UIC2 (32 IRQ sources) at DCR 0xe0
  alloc irq_desc for 16 on node 0
  alloc kstat_irqs on node 0
irq: irq 10 on host /interrupt-controller0 mapped to virtual irq 16
UIC3 (32 IRQ sources) at DCR 0xf0
  alloc irq_desc for 17 on node 0
  alloc kstat_irqs on node 0
irq: irq 16 on host /interrupt-controller0 mapped to virtual irq 17
time_init: decrementer frequency = 1000.000012 MHz
time_init: processor frequency   = 1000.000012 MHz
clocksource: timebase mult[400000] shift[22] registered
clockevent: decrementer mult[80000019] shift[31] cpu[0]
Mount-cache hash table entries: 512
NET: Registered protocol family 16
  alloc irq_desc for 18 on node 0
  alloc kstat_irqs on node 0
irq: irq 11 on host /interrupt-controller1 mapped to virtual irq 18
256k L2-cache enabled
PCI host bridge /plb/pci@c0ec00000 (primary) ranges:
 MEM 0x0000000d80000000..0x0000000dffffffff -> 0x0000000080000000 
 MEM 0x0000000c0ee00000..0x0000000c0eefffff -> 0x0000000000000000 
  IO 0x0000000c08000000..0x0000000c0800ffff -> 0x0000000000000000
 Removing ISA hole at 0x0000000c0ee00000
4xx PCI DMA offset set to 0x00000000
/plb/pci@c0ec00000: Legacy ISA memory support enabled
PCI: Probing PCI hardware
pci_bus 0000:00: scanning bus
pci 0000:00:02.0: found [3388:0020] class 000604 header type 01
pci 0000:00:02.0: calling pcibios_fixup_resources+0x0/0xf4
pci 0000:00:02.0: calling fixup_ppc4xx_pci_bridge+0x0/0x154
pci 0000:00:02.0: calling quirk_resource_alignment+0x0/0x200
pci 0000:00:02.0: supports D1 D2
pci 0000:00:02.0: PME# supported from D0 D1 D2 D3hot
pci 0000:00:02.0: PME# disabled
pci_bus 0000:00: fixups for bus
pci 0000:00:02.0: scanning behind bridge, config 010100, pass 0
pci_bus 0000:01: scanning bus
pci 0000:01:00.0: found [1575:0002] class 00ff00 header type 00
pci 0000:01:00.0: reg 10: [mem 0x88000000-0x880fffff]
pci 0000:01:00.0: reg 14: [mem 0x80000000-0x83ffffff]
pci 0000:01:00.0: reg 18: [mem 0x84000000-0x87ffffff]
pci 0000:01:00.0: reg 1c: [mem 0x88100000-0x88103fff]
pci 0000:01:00.0: calling pcibios_fixup_resources+0x0/0xf4
pci 0000:01:00.0: calling fixup_ppc4xx_pci_bridge+0x0/0x154
pci 0000:01:00.0: calling quirk_resource_alignment+0x0/0x200
pci_bus 0000:01: fixups for bus
pci 0000:00:02.0: PCI bridge to [bus 01-01]
pci_bus 0000:01: bus scan returning with max=01
pci 0000:00:02.0: scanning behind bridge, config 010100, pass 1
pci_bus 0000:00: bus scan returning with max=01
pci 0000:00:02.0: BAR 8: assigned [mem 0xd80000000-0xd89ffffff]
pci 0000:01:00.0: BAR 1: assigned [mem 0xd80000000-0xd83ffffff]
pci 0000:01:00.0: BAR 1: set to [mem 0xd80000000-0xd83ffffff] (PCI address [0x80000000-0x83ffffff]
pci 0000:01:00.0: BAR 2: assigned [mem 0xd84000000-0xd87ffffff]
pci 0000:01:00.0: BAR 2: set to [mem 0xd84000000-0xd87ffffff] (PCI address [0x84000000-0x87ffffff]
pci 0000:01:00.0: BAR 0: assigned [mem 0xd88000000-0xd880fffff]
pci 0000:01:00.0: BAR 0: set to [mem 0xd88000000-0xd880fffff] (PCI address [0x88000000-0x880fffff]
pci 0000:01:00.0: BAR 3: assigned [mem 0xd88100000-0xd88103fff]
pci 0000:01:00.0: BAR 3: set to [mem 0xd88100000-0xd88103fff] (PCI address [0x88100000-0x88103fff]
pci 0000:00:02.0: PCI bridge to [bus 01-01]
pci 0000:00:02.0:   bridge window [io  disabled]
pci 0000:00:02.0:   bridge window [mem 0xd80000000-0xd89ffffff]
pci 0000:00:02.0:   bridge window [mem pref disabled]
pci 0000:00:02.0: enabling device (0084 -> 0086)
pci_bus 0000:00: resource 0 [io  0x0000-0xffff]
pci_bus 0000:00: resource 1 [mem 0xd80000000-0xdffffffff]
pci_bus 0000:01: resource 1 [mem 0xd80000000-0xd89ffffff]
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Switching to clocksource timebase
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
TCP reno registered
UDP hash table entries: 512 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
pci 0000:00:02.0: calling quirk_cardbus_legacy+0x0/0x54
pci 0000:00:02.0: calling quirk_usb_early_handoff+0x0/0x6cc
pci 0000:01:00.0: calling quirk_cardbus_legacy+0x0/0x54
pci 0000:01:00.0: calling quirk_usb_early_handoff+0x0/0x6cc
PCI: CLS 0 bytes, default 32
  alloc irq_desc for 19 on node 0
  alloc kstat_irqs on node 0
irq: irq 1 on host /interrupt-controller1 mapped to virtual irq 19
  alloc irq_desc for 20 on node 0
  alloc kstat_irqs on node 0
irq: irq 1 on host /interrupt-controller0 mapped to virtual irq 20
  alloc irq_desc for 29 on node 0
  alloc kstat_irqs on node 0
irq: irq 29 on host /interrupt-controller1 mapped to virtual irq 29
  alloc irq_desc for 21 on node 0
  alloc kstat_irqs on node 0
irq: irq 30 on host /interrupt-controller1 mapped to virtual irq 21
JFFS2 version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
msgmni has been set to 1515
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
serial8250.0: ttyS0 at MMIO 0x4ef600300 (irq = 19) is a 16550A
console [ttyS0] enabled
serial8250.0: ttyS1 at MMIO 0x4ef600400 (irq = 20) is a 16550A
serial8250.0: ttyS2 at MMIO 0x4ef600500 (irq = 29) is a 16550A
serial8250.0: ttyS3 at MMIO 0x4ef600600 (irq = 21) is a 16550A
4ef600300.serial: ttyS0 at MMIO 0x4ef600300 (irq = 19) is a 16550
4ef600400.serial: ttyS1 at MMIO 0x4ef600400 (irq = 20) is a 16550
4ef600500.serial: ttyS2 at MMIO 0x4ef600500 (irq = 29) is a 16550
4ef600600.serial: ttyS3 at MMIO 0x4ef600600 (irq = 21) is a 16550
brd: module loaded
4e4000000.nor_flash2: Found 1 x16 devices at 0x0 in 16-bit bank
4e4000000.nor_flash2: Found 1 x16 devices at 0x2000000 in 16-bit bank
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
Using buffer write method
Using auto-unlock on power-up/resume
cfi_cmdset_0001: Erase suspend on write enabled
erase region 0: offset=0x0,size=0x8000,blocks=4
erase region 1: offset=0x20000,size=0x20000,blocks=255
erase region 2: offset=0x2000000,size=0x8000,blocks=4
erase region 3: offset=0x2020000,size=0x20000,blocks=255
RedBoot partition parsing not available
Creating 1 MTD partitions on "4e4000000.nor_flash2":
0x000000000000-0x000004000000 : "data"
4cc000000.nor_flash: Found 1 x16 devices at 0x0 in 16-bit bank
4cc000000.nor_flash: Found 1 x16 devices at 0x2000000 in 16-bit bank
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
 Intel/Sharp Extended Query Table at 0x010A
Using buffer write method
Using auto-unlock on power-up/resume
cfi_cmdset_0001: Erase suspend on write enabled
erase region 0: offset=0x0,size=0x8000,blocks=4
erase region 1: offset=0x20000,size=0x20000,blocks=255
erase region 2: offset=0x2000000,size=0x8000,blocks=4
erase region 3: offset=0x2020000,size=0x20000,blocks=255
RedBoot partition parsing not available
Creating 7 MTD partitions on "4cc000000.nor_flash":
0x000000000000-0x0000001e0000 : "kernel"
0x0000001e0000-0x000000200000 : "dtb"
0x000000200000-0x000001600000 : "ramdisk"
0x000001600000-0x000001a00000 : "jffs2"
0x000001a00000-0x000003f60000 : "user"
0x000003f60000-0x000003fa0000 : "u-boot env"
0x000003fa0000-0x000004000000 : "u-boot"
NAND device: Manufacturer ID: 0xec, Chip ID: 0xd3 (Samsung NAND 1GiB 3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 806 at 0x0000064c0000
Bad eraseblock 807 at 0x0000064e0000
Bad eraseblock 2209 at 0x000011420000
Bad eraseblock 3294 at 0x000019bc0000
Bad eraseblock 4010 at 0x00001f540000
Bad eraseblock 4748 at 0x000025180000
Bad eraseblock 5082 at 0x000027b40000
Bad eraseblock 5083 at 0x000027b60000
Bad eraseblock 5716 at 0x00002ca80000
Bad eraseblock 5772 at 0x00002d180000
Bad eraseblock 6362 at 0x000031b40000
Bad eraseblock 6680 at 0x000034300000
Bad eraseblock 6740 at 0x000034a80000
Bad eraseblock 6796 at 0x000035180000
Creating 2 MTD partitions on "4e0000000.ndfc.nand":
0x000000000000-0x000000100000 : "u-boot"
0x000000000000-0x000003f00000 : "user"
PPC 4xx OCP EMAC driver, version 3.54
  alloc irq_desc for 22 on node 0
  alloc kstat_irqs on node 0
irq: irq 6 on host /interrupt-controller2 mapped to virtual irq 22
  alloc irq_desc for 23 on node 0
  alloc kstat_irqs on node 0
irq: irq 7 on host /interrupt-controller2 mapped to virtual irq 23
  alloc irq_desc for 24 on node 0
  alloc kstat_irqs on node 0
irq: irq 3 on host /interrupt-controller2 mapped to virtual irq 24
  alloc irq_desc for 25 on node 0
  alloc kstat_irqs on node 0
irq: irq 4 on host /interrupt-controller2 mapped to virtual irq 25
  alloc irq_desc for 26 on node 0
  alloc kstat_irqs on node 0
irq: irq 5 on host /interrupt-controller2 mapped to virtual irq 26
MAL v2 /plb/mcmal, 2 TX channels, 16 RX channels
ZMII /plb/opb/emac-zmii@ef600d00 initialized
RGMII /plb/opb/emac-rgmii@ef601500 initialized with MDIO support
TAH /plb/opb/emac-tah@ef601350 initialized
TAH /plb/opb/emac-tah@ef601450 initialized
  alloc irq_desc for 27 on node 0
  alloc kstat_irqs on node 0
irq: irq 16 on host /interrupt-controller2 mapped to virtual irq 27
  alloc irq_desc for 28 on node 0
  alloc kstat_irqs on node 0
irq: irq 20 on host /interrupt-controller2 mapped to virtual irq 28
/plb/opb/emac-rgmii@ef601500: input 0 in RGMII mode
eth0: EMAC-0 /plb/opb/ethernet@ef600e00, MAC 00:99:88:77:66:55
eth0: found Generic MII PHY (0x00)
  alloc irq_desc for 31 on node 0
  alloc kstat_irqs on node 0
irq: irq 17 on host /interrupt-controller2 mapped to virtual irq 31
  alloc irq_desc for 32 on node 0
  alloc kstat_irqs on node 0
irq: irq 21 on host /interrupt-controller2 mapped to virtual irq 32
/plb/opb/emac-rgmii@ef601500: input 1 in RGMII mode
eth1: EMAC-1 /plb/opb/ethernet@ef600f00, MAC 00:99:88:77:66:56
eth1: found Generic MII PHY (0x10)
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
  alloc irq_desc for 33 on node 0
  alloc kstat_irqs on node 0
irq: irq 29 on host /interrupt-controller2 mapped to virtual irq 33
ppc-of-ehci 4bffd0400.ehci: OF EHCI
ppc-of-ehci 4bffd0400.ehci: new USB bus registered, assigned bus number 1
ppc-of-ehci 4bffd0400.ehci: irq 33, io mem 0x4bffd0400
ppc-of-ehci 4bffd0400.ehci: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: OF EHCI
usb usb1: Manufacturer: Linux 2.6.33 ehci_hcd
usb usb1: SerialNumber: PPC-OF USB
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver libusual
i2c /dev entries driver
  alloc irq_desc for 34 on node 0
  alloc kstat_irqs on node 0
irq: irq 2 on host /interrupt-controller0 mapped to virtual irq 34
at24 0-0051: 65536 byte 24c512 EEPROM (writable)
at24 0-0053: 256 byte spd EEPROM (read-only)
ibm-iic 4ef600700.i2c: using standard (100 kHz) mode
  alloc irq_desc for 35 on node 0
  alloc kstat_irqs on node 0
irq: irq 3 on host /interrupt-controller0 mapped to virtual irq 35
ibm-iic 4ef600800.i2c: using standard (100 kHz) mode
rtc-ds1307 5-0068: rtc core: registered ds1338 as rtc0
rtc-ds1307 5-0068: 56 bytes nvram
pca954x 1-0070: registered 8 virtual busses for I2C switch pca9548
pca954x 2-0071: registered 8 virtual busses for I2C switch pca9548
pca954x 3-0072: registered 8 virtual busses for I2C switch pca9548
TCP cubic registered
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
rtc-ds1307 5-0068: setting system clock to 2000-02-28 11:41:36 UTC (951738096)
eth0: link is down
IP-Config: Complete:
     device=eth0, addr=10.0.0.30, mask=255.0.0.0, gw=10.0.0.138,
     host=smbe460, domain=, nis-domain=(none),
     bootserver=10.0.0.10, rootserver=10.0.0.10, rootpath=
Looking up port of RPC 100003/2 on 10.0.0.10
eth0: link is up, 100 FDX, pause enabled
Looking up port of RPC 100005/1 on 10.0.0.10
VFS: Mounted root (nfs filesystem) on device 0:13.
Freeing unused kernel memory: 144k init

# cat /proc/iomem
 
4bffd0400-4bffd048f : ehci_hcd
4cc000000-4cfffffff : 4cc000000.nor_flash
4e4000000-4e7ffffff : 4e4000000.nor_flash2
4ef600300-4ef600307 : serial
4ef600400-4ef600407 : serial
4ef600500-4ef600507 : serial
4ef600600-4ef600607 : serial
d80000000-dffffffff : /plb/pci@c0ec00000
  d80000000-d89ffffff : PCI Bus 0000:01
    d80000000-d83ffffff : 0000:01:00.0
    d84000000-d87ffffff : 0000:01:00.0
    d88000000-d880fffff : 0000:01:00.0
    d88100000-d88103fff : 0000:01:00.0

# cat /proc/ioports

00000000-0000ffff : /plb/pci@c0ec00000
  00000000-00000fff : Legacy IO

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2010-03-29  7:35 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-03-02 13:27 Problem with PCI bus rescan on 460EX Felix Radensky
     [not found] <4B8E6FA3.70503@embedded-sol.com>
     [not found] ` <20100310225100.GB27324@ldl.fc.hp.com>
2010-03-11  7:45   ` Felix Radensky
2010-03-11 20:32     ` Benjamin Herrenschmidt
2010-03-11 21:41       ` Felix Radensky
2010-03-11 21:49         ` Benjamin Herrenschmidt
2010-03-11  7:50   ` Felix Radensky
2010-03-12  9:22     ` Kenji Kaneshige
2010-03-12 23:04       ` Felix Radensky
2010-03-15  5:39         ` Kenji Kaneshige
2010-03-15  5:46           ` Benjamin Herrenschmidt
2010-03-15  5:54             ` Benjamin Herrenschmidt
2010-03-15  6:09           ` Felix Radensky
2010-03-15  9:00             ` Kenji Kaneshige
2010-03-15 11:23               ` Felix Radensky
2010-03-16  5:40                 ` Kenji Kaneshige
2010-03-16  8:39                   ` Felix Radensky
2010-03-16 21:40                   ` Felix Radensky
2010-03-17  1:03                     ` Kenji Kaneshige
2010-03-17  7:38                       ` Felix Radensky
2010-03-17  7:47                         ` Benjamin Herrenschmidt
2010-03-17  7:57                           ` Felix Radensky
2010-03-17 23:04                             ` Benjamin Herrenschmidt
2010-03-18  0:09                             ` Benjamin Herrenschmidt
2010-03-28  9:13                       ` Felix Radensky
2010-03-28  9:56                         ` Benjamin Herrenschmidt
2010-03-28 13:07                           ` Felix Radensky
2010-03-29  0:05                         ` Yinghai Lu
2010-03-29  7:01                           ` Kenji Kaneshige
2010-03-29  7:35                             ` Felix Radensky

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.