From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from p15137414.pureserver.info (matrixvision.de [217.160.213.229]) by ozlabs.org (Postfix) with ESMTP id D41AEDDEF8 for ; Tue, 8 Apr 2008 23:50:28 +1000 (EST) Message-ID: <47FB7822.6090401@matrix-vision.de> Date: Tue, 08 Apr 2008 15:50:26 +0200 From: Andre Schwarz MIME-Version: 1.0 To: Scott Wood Subject: Re: MPC8343 - "unable to handle paging request @ 0" References: <47F73625.9040903@matrix-vision.de> <20080407161036.GA2688@loki.buserror.net> In-Reply-To: <20080407161036.GA2688@loki.buserror.net> Content-Type: multipart/alternative; boundary="------------000801040602080204000802" Cc: linuxppc-dev@ozlabs.org List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , This is a multi-part message in MIME format. --------------000801040602080204000802 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Scott Wood schrieb: > On Sat, Apr 05, 2008 at 10:19:49AM +0200, Andr=E9 Schwarz wrote: > =20 >> Kernel starts and crashes with "unable to handle kernel paging request= @ =20 >> 00000000". >> >> After turning debug on in some files I can see that the initrd memory = =20 >> 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 ca= ll =20 >> trace always points to "of_"-functions and "strcmp". >> =20 > > Could you provide this call trace? > > -Scott > _______________________________________________ > Linuxppc-dev mailing list > Linuxppc-dev@ozlabs.org > https://ozlabs.org/mailman/listinfo/linuxppc-dev > =20 Scott, after building a debug kernel and attaching the bdi2000 it looks like=20 the crash occurs during "console_init()" ... Since we're using a dtb I omit the "console=3D..." argument for the=20 kernel. Is this correct ? If "console=3D/dev/ttyS0,115200N8" argument is given the serial console=20 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 =3D 1 default console speed =3D 115340 <- find_legacy_serial_port() Should I see this message also ? Have I misconfigured anything ? u-boot prints the following dtb : ... aliases { name =3D "aliases"; ethernet0 =3D "/soc8343@e0000000/ethernet@24000"; ethernet1 =3D "/soc8343@e0000000/ethernet@25000"; serial0 =3D "/soc8343@e0000000/serial@4500"; serial1 =3D "/soc8343@e0000000/serial@4600"; pci0 =3D "/pci@e0008500"; }; cpus { name =3D "cpus"; #address-cells =3D <0x00000001>; #size-cells =3D <0x00000000>; PowerPC,8343@0 { name =3D "PowerPC,8343"; device_type =3D "cpu"; reg =3D <0x00000000>; d-cache-line-size =3D <0x00000020>; i-cache-line-size =3D <0x00000020>; d-cache-size =3D <0x00008000>; i-cache-size =3D <0x00008000>; timebase-frequency =3D <0x03f940aa>; bus-frequency =3D <0x0fe502a8>; clock-frequency =3D <0x17d783fc>; }; }; memory { name =3D "memory"; device_type =3D "memory"; reg =3D <0x00000000 0x20000000>; }; soc8343@e0000000 { name =3D "soc8343"; #address-cells =3D <0x00000001>; #size-cells =3D <0x00000001>; device_type =3D "soc"; compatible =3D "soc"; ranges =3D [00 00 00 00 e0 00 00 00 00 10 00 00]; reg =3D <0xe0000000 0x00000200>; bus-frequency =3D <0x0fe502a8>; wdt@200 { device_type =3D "watchdog"; compatible =3D "mpc83xx_wdt"; reg =3D <0x00000200 0x00000100>; }; i2c@3000 { name =3D "i2c"; #address-cells =3D <0x00000001>; #size-cells =3D <0x00000000>; cell-index =3D <0x00000000>; compatible =3D "fsl-i2c"; reg =3D <0x00003000 0x00000100>; interrupts =3D <0x0000000e 0x00000008>; interrupt-parent =3D <0x00000001>; dfsrr; }; i2c@3100 { name =3D "i2c"; #address-cells =3D <0x00000001>; #size-cells =3D <0x00000000>; cell-index =3D <0x00000001>; compatible =3D "fsl-i2c"; reg =3D <0x00003100 0x00000100>; interrupts =3D <0x0000000f 0x00000008>; interrupt-parent =3D <0x00000001>; dfsrr; }; spi@7000 { name =3D "spi"; cell-index =3D <0x00000000>; compatible =3D "fsl,spi"; reg =3D <0x00007000 0x00001000>; interrupts =3D <0x00000010 0x00000008>; interrupt-parent =3D <0x00000001>; mode =3D "cpu"; }; usb@22000 { name =3D "usb"; compatible =3D "fsl-usb2-mph"; reg =3D <0x00022000 0x00001000>; #address-cells =3D <0x00000001>; #size-cells =3D <0x00000000>; interrupt-parent =3D <0x00000001>; interrupts =3D <0x00000027 0x00000008>; phy_type =3D "ulpi"; port0; }; mdio@24520 { name =3D "mdio"; #address-cells =3D <0x00000001>; #size-cells =3D <0x00000000>; compatible =3D "fsl,gianfar-mdio"; reg =3D <0x00024520 0x00000020>; ethernet-phy@0 { cell-index =3D <0x00000000>; interrupt-parent =3D <0x00000001>; interrupts =3D <0x00000016 0x00000008>; reg =3D <0x00000000>; device_type =3D "ethernet-phy"; linux,phandle =3D <0x00000002>; }; ethernet-phy@1 { cell-index =3D <0x00000001>; interrupt-parent =3D <0x00000001>; interrupts =3D <0x00000017 0x00000008>; reg =3D <0x00000001>; device_type =3D "ethernet-phy"; linux,phandle =3D <0x00000003>; }; }; ethernet@24000 { cell-index =3D <0x00000000>; device_type =3D "network"; model =3D "TSEC"; compatible =3D "gianfar"; reg =3D <0x00024000 0x00001000>; local-mac-address =3D [b6 b4 45 eb fb c0]; interrupts =3D [00 00 00 20 00 00 00 08 00 00 00=20 21 00 00 00 08 00 00 00 22 00 00 00 08]; interrupt-parent =3D <0x00000001>; phy-handle =3D <0x00000002>; linux,network-index =3D <0x00000000>; }; ethernet@25000 { cell-index =3D <0x00000001>; device_type =3D "network"; model =3D "TSEC"; compatible =3D "gianfar"; reg =3D <0x00025000 0x00001000>; local-mac-address =3D [b6 b4 45 eb fb c2]; interrupts =3D [00 00 00 23 00 00 00 08 00 00 00=20 24 00 00 00 08 00 00 00 25 00 00 00 08]; interrupt-parent =3D <0x00000001>; phy-handle =3D <0x00000003>; linux,network-index =3D <0x00000001>; }; serial@4500 { cell-index =3D <0x00000000>; device_type =3D "serial"; compatible =3D "ns16550"; reg =3D <0x00004500 0x00000100>; clock-frequency =3D <0x0fe502a8>; interrupts =3D <0x00000009 0x00000008>; interrupt-parent =3D <0x00000001>; }; serial@4600 { cell-index =3D <0x00000001>; device_type =3D "serial"; compatible =3D "ns16550"; reg =3D <0x00004600 0x00000100>; clock-frequency =3D <0x0fe502a8>; interrupts =3D <0x0000000a 0x00000008>; interrupt-parent =3D <0x00000001>; }; pic@700 { interrupt-controller; #address-cells =3D <0x00000000>; #interrupt-cells =3D <0x00000002>; reg =3D <0x00000700 0x00000100>; device_type =3D "ipic"; linux,phandle =3D <0x00000001>; }; }; .... regards, Andre MATRIX VISION GmbH, Talstra=DFe 16, DE-71570 Oppenweiler - Registergeric= ht: Amtsgericht Stuttgart, HRB 271090 Gesch=E4ftsf=FChrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner --------------000801040602080204000802 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit 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
--------------000801040602080204000802--