« Return to Thread: Linux starting stuck at clockevent: decrementer

Linux starting stuck at clockevent: decrementer

by Lixin Yao :: Rate this Message:

Reply to Author | View in Thread

Linux starting stuck at clockevent: decrementer

Hi, All,

I am new to the mailing list. First time posting.

I am trying to run Linux-2.6.28-rc5 on a board with MPC8248 processor. No PCI functions are used. The board is a known good board. It ran vxWorks sucessfully before. I based my configuration on MPC8272ADS (the Freescale board). I turned on early debugging. I use U-Boot to load Linux image to 0x800000, and load DTB to 0xB00000. Total memory is 64MB. A command line is passed to kernel for it to run NFS. Somehow, kernel starting gets stuck after printing this line:

clockevent: decrementer mult[444] shift[16] cpu[0]

Does anybody have any hint?

Here is the starting printing:

Using FCC1 ETHERNET device
TFTP from server 10.15.34.196; our IP address is 172.20.16.150; sending through
gateway 172.20.16.1
Filename 'eclipse/uImage'.
Load address: 0x800000
Loading: #################################################################
         #####################################
done
Bytes transferred = 1491457 (16c201 hex)
Using FCC1 ETHERNET device
TFTP from server 10.15.34.196; our IP address is 172.20.16.150; sending through
gateway 172.20.16.1
Filename 'eclipse/tr5000v2.dtb'.
Load address: 0xb00000
Loading: #
done
Bytes transferred = 2965 (b95 hex)
## Booting kernel from Legacy Image at 00800000 ...
   Image Name:   Linux-2.6.28-rc5-01296-g7b9a403-
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    1491393 Bytes =  1.4 MB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
## Flattened Device Tree blob at 00b00000
   Booting using the fdt blob at 0xb00000
   Loading Device Tree to 007fc000, end 007ffb94 ... OK
id mach(): done
MMU:enter
MMU:hw init
MMU:mapin
MMU:setio
MMU:exit
Using HSTX tr5000v2 machine description
Linux version 2.6.28-rc5-01296-g7b9a403-dirty (lyao01@lyao01-desktop) (gcc versi
on 4.2.2) #1 Mon Dec 8 12:02:39 EST 2008
console [udbg0] enabled
setup_arch: bootmem
tr5000v2_setup_arch()
tr5000v2_setup_arch(), finish
arch: exit
Top of RAM: 0x4000000, Total RAM: 0x4000000
Memory hole size: 0MB
Zone PFN ranges:
  DMA      0x00000000 -> 0x00004000
  Normal   0x00004000 -> 0x00004000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00004000
On node 0 totalpages: 16384
free_area_init_node: node 0, pgdat c02fad10, node_mem_map c0323000
  DMA zone: 128 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 16256 pages, LIFO batch:3
  Normal zone: 0 pages used for memmap
  Movable zone: 0 pages used for memmap
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
Kernel command line: root=/dev/nfs rw nfsroot=10.15.34.196:/home/lyao01/work/tar
get_odu_100 ip=172.20.16.150:10.15.34.196:172.20.16.1:255.255.255.0:tr5000v2:eth
0:off
PID hash table entries: 256 (order: 8, 1024 bytes)
time_init: decrementer frequency = 16.666666 MHz
time_init: processor frequency   = 266.666664 MHz
clocksource: timebase mult[f00000a] shift[22] registered
clockevent: decrementer mult[444] shift[16] cpu[0]

This is the dts file:

/dts-v1/;
/ {
        model = "TR5000V2";
        compatible = "fsl,tr5000v2";
        #address-cells = <1>;
        #size-cells = <1>;     

        cpus {
                #address-cells = <1>;
                #size-cells = <0>;

                PowerPC,8248@0 {
                        device_type = "cpu";
                        reg = <0>;
                        d-cache-line-size = <32>;
                        i-cache-line-size = <32>;
                        d-cache-size = <16384>;
                        i-cache-size = <16384>;
                        timebase-frequency = <0>;
                        clock-frequency = <0>;
                };
        };
  
        memory {
                device_type = "memory";
                reg = <0 0>;
        };

        soc@f0000000 {
                #address-cells = <1>;
                #size-cells = <1>;
                compatible = "fsl,mpc8248-immr", "fsl,pq2-soc";
                ranges = <0x00000000 0xf0000000 0x00053000>;

                // Temporary until code stops depending on it.
                device_type = "soc";

                // Temporary -- will go away once kernel uses ranges for get_immrbase().
                reg = <0xf0000000 0x00053000>;

                cpm@119c0 {
                        #address-cells = <1>;
                        #size-cells = <1>;
                        #interrupt-cells = <2>;
                        compatible = "fsl,mpc8248-cpm", "fsl,cpm2";
        // This is from EP8248E, MPC8272ADS does not use, don't use either
                        //             "simple-bus";
                        reg = <0x119c0 0x30>;
                        ranges;

                        muram {
                                #address-cells = <1>;
                                #size-cells = <1>;
                                ranges = <0 0 0x10000>;

                                data@0 {
                                        compatible = "fsl,cpm-muram-data";
                                        reg = <0 0x2000 0x9800 0x800>;
                                };
                        };

                        brg@119f0 {
                                compatible = "fsl,mpc8248-brg",
                                             "fsl,cpm2-brg",
                                             "fsl,cpm-brg";
                                reg = <0x119f0 0x10 0x115f0 0x10>;
                        };

                        /* Monitor port/SMC1 */
                        smc1: serial@11a80 {
                                device_type = "serial";
                                compatible = "fsl,mpc8248-smc-uart",
                                             "fsl,cpm2-smc-uart";
                                reg = <0x11a80 0x20 0x87fc 2>;
                                interrupts = <4 8>;
                                interrupt-parent = <&PIC>;
                                fsl,cpm-brg = <7>;
                                fsl,cpm-command = <0x1d000000>;
                                linux,tr5000v2-label = "SMC1";
                        };

                        eth0: ethernet@11300 {
                                device_type = "network";
                                compatible = "fsl,mpc8248-fcc-enet",
                                             "fsl,cpm2-fcc-enet";
                                reg = <0x11300 0x20 0x8400 0x100 0x11390 1>;
                                local-mac-address = [ 00 00 00 00 00 00 ];
                                interrupts = <32 8>;
                                interrupt-parent = <&PIC>;
           // Don't use this for now
                                // phy-handle = <&PHY0>; 
                                linux,network-index = <0>;
                                fsl,cpm-command = <0x12000300>;
                        };
                };

                PIC: interrupt-controller@10c00 {
                        #interrupt-cells = <2>;
                        interrupt-controller;
                        reg = <0x10c00 0x80>;
        compatible = "fsl,mpc8248-pic", "fsl,cpm2-pic";
                };    
      
  chosen {
                linux,stdout-path = "/soc/cpm/serial@11a80";
        };
};

Attached is my .config.

<<config>>
Thank you.

Lixin Yao



_______________________________________________
Linuxppc-embedded mailing list
Linuxppc-embedded@...
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

config (33K) Download Attachment

 « Return to Thread: Linux starting stuck at clockevent: decrementer