Scott Wood schrieb: > On Sat, Apr 05, 2008 at 10:19:49AM +0200, André Schwarz wrote: > >> Kernel starts and crashes with "unable to handle kernel paging request @ >> 00000000". >> >> After turning debug on in some files I can see that the initrd memory >> gets reserved and the dtb is parsed correctly. >> PCI memory/io spaces are set up fine. >> >> At first I thought this is a problem with the device tree since the call >> trace always points to "of_"-functions and "strcmp". >> > > Could you provide this call trace? > > -Scott > _______________________________________________ > Linuxppc-dev mailing list > Linuxppc-dev@ozlabs.org > https://ozlabs.org/mailman/listinfo/linuxppc-dev > Scott, after building a debug kernel and attaching the bdi2000 it looks like the crash occurs during "console_init()" ... Since we're using a dtb I omit the "console=..." argument for the kernel. Is this correct ? If "console=/dev/ttyS0,115200N8" argument is given the serial console stops working after console_init.... On other PowerPC system I could see something like this during boot : -> find_legacy_serial_port() stdout is /soc8568@e0000000/serial@4600 legacy_serial_console = 1 default console speed = 115340 <- find_legacy_serial_port() Should I see this message also ? Have I misconfigured anything ? u-boot prints the following dtb : ... aliases { name = "aliases"; ethernet0 = "/soc8343@e0000000/ethernet@24000"; ethernet1 = "/soc8343@e0000000/ethernet@25000"; serial0 = "/soc8343@e0000000/serial@4500"; serial1 = "/soc8343@e0000000/serial@4600"; pci0 = "/pci@e0008500"; }; cpus { name = "cpus"; #address-cells = <0x00000001>; #size-cells = <0x00000000>; PowerPC,8343@0 { name = "PowerPC,8343"; device_type = "cpu"; reg = <0x00000000>; d-cache-line-size = <0x00000020>; i-cache-line-size = <0x00000020>; d-cache-size = <0x00008000>; i-cache-size = <0x00008000>; timebase-frequency = <0x03f940aa>; bus-frequency = <0x0fe502a8>; clock-frequency = <0x17d783fc>; }; }; memory { name = "memory"; device_type = "memory"; reg = <0x00000000 0x20000000>; }; soc8343@e0000000 { name = "soc8343"; #address-cells = <0x00000001>; #size-cells = <0x00000001>; device_type = "soc"; compatible = "soc"; ranges = [00 00 00 00 e0 00 00 00 00 10 00 00]; reg = <0xe0000000 0x00000200>; bus-frequency = <0x0fe502a8>; wdt@200 { device_type = "watchdog"; compatible = "mpc83xx_wdt"; reg = <0x00000200 0x00000100>; }; i2c@3000 { name = "i2c"; #address-cells = <0x00000001>; #size-cells = <0x00000000>; cell-index = <0x00000000>; compatible = "fsl-i2c"; reg = <0x00003000 0x00000100>; interrupts = <0x0000000e 0x00000008>; interrupt-parent = <0x00000001>; dfsrr; }; i2c@3100 { name = "i2c"; #address-cells = <0x00000001>; #size-cells = <0x00000000>; cell-index = <0x00000001>; compatible = "fsl-i2c"; reg = <0x00003100 0x00000100>; interrupts = <0x0000000f 0x00000008>; interrupt-parent = <0x00000001>; dfsrr; }; spi@7000 { name = "spi"; cell-index = <0x00000000>; compatible = "fsl,spi"; reg = <0x00007000 0x00001000>; interrupts = <0x00000010 0x00000008>; interrupt-parent = <0x00000001>; mode = "cpu"; }; usb@22000 { name = "usb"; compatible = "fsl-usb2-mph"; reg = <0x00022000 0x00001000>; #address-cells = <0x00000001>; #size-cells = <0x00000000>; interrupt-parent = <0x00000001>; interrupts = <0x00000027 0x00000008>; phy_type = "ulpi"; port0; }; mdio@24520 { name = "mdio"; #address-cells = <0x00000001>; #size-cells = <0x00000000>; compatible = "fsl,gianfar-mdio"; reg = <0x00024520 0x00000020>; ethernet-phy@0 { cell-index = <0x00000000>; interrupt-parent = <0x00000001>; interrupts = <0x00000016 0x00000008>; reg = <0x00000000>; device_type = "ethernet-phy"; linux,phandle = <0x00000002>; }; ethernet-phy@1 { cell-index = <0x00000001>; interrupt-parent = <0x00000001>; interrupts = <0x00000017 0x00000008>; reg = <0x00000001>; device_type = "ethernet-phy"; linux,phandle = <0x00000003>; }; }; ethernet@24000 { cell-index = <0x00000000>; device_type = "network"; model = "TSEC"; compatible = "gianfar"; reg = <0x00024000 0x00001000>; local-mac-address = [b6 b4 45 eb fb c0]; interrupts = [00 00 00 20 00 00 00 08 00 00 00 21 00 00 00 08 00 00 00 22 00 00 00 08]; interrupt-parent = <0x00000001>; phy-handle = <0x00000002>; linux,network-index = <0x00000000>; }; ethernet@25000 { cell-index = <0x00000001>; device_type = "network"; model = "TSEC"; compatible = "gianfar"; reg = <0x00025000 0x00001000>; local-mac-address = [b6 b4 45 eb fb c2]; interrupts = [00 00 00 23 00 00 00 08 00 00 00 24 00 00 00 08 00 00 00 25 00 00 00 08]; interrupt-parent = <0x00000001>; phy-handle = <0x00000003>; linux,network-index = <0x00000001>; }; serial@4500 { cell-index = <0x00000000>; device_type = "serial"; compatible = "ns16550"; reg = <0x00004500 0x00000100>; clock-frequency = <0x0fe502a8>; interrupts = <0x00000009 0x00000008>; interrupt-parent = <0x00000001>; }; serial@4600 { cell-index = <0x00000001>; device_type = "serial"; compatible = "ns16550"; reg = <0x00004600 0x00000100>; clock-frequency = <0x0fe502a8>; interrupts = <0x0000000a 0x00000008>; interrupt-parent = <0x00000001>; }; pic@700 { interrupt-controller; #address-cells = <0x00000000>; #interrupt-cells = <0x00000002>; reg = <0x00000700 0x00000100>; device_type = "ipic"; linux,phandle = <0x00000001>; }; }; .... regards, Andre MATRIX VISION GmbH, Talstraße 16, DE-71570 Oppenweiler - Registergericht: Amtsgericht Stuttgart, HRB 271090 Geschäftsführer: Gerhard Thullner, Werner Armingeon, Uwe Furtner