This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Kernel reserved memory overlap detected and eth0 not working

Hi,

I am booting up XEVMK2LX  through ramfs by using prebuild images in the board-support/prebuilt-images/ folder

- keystone-k2l-evm.dtb

- skern-k2l.bin

- zImage-k2l-evm.bin

with 

u-boot version : U-Boot 2016.05-gb4e185a8c3 (Jul 08 2016 - 23:01:41 -0400)

Linux sdk : ti-processor-sdk-linux-k2l-evm-03.00.00.04

I encountered couple issues such as memory overlap and eth0 doesnt work.

1) Memory overlap

[ 0.000000] Reserved memory: OVERLAP DETECTED!
[ 0.000000] mpm_block_mem@820000000 (0x0000000820000000--0x0000000822000000) overlaps with dsp_reserved_mpm_area (0x0000000820000000--0x0000000840000000)
[ 0.000000] Reserved memory: OVERLAP DETECTED!
[ 0.000000] dsp_reserved_mpm_area (0x0000000820000000--0x0000000840000000) overlaps with cmem_block_mem@829000000 (0x0000000822000000--0x0000000840000000)

2) eth0 failed to open

Configuring network interfaces... [ 4.992418] netcp-1.0 2620110.netcp: Could not open DMA queue for channel "tx-pipe-2620110": 0
[ 5.001400] net eth0: module open failed
ifconfig: SIOCSIFFLAGS: No such device

Any idea what wrong with the setup? 

Attached are my uboot enviroment setting and kernel booting log

u-boot environment setting

/cfs-file/__key/communityserver-discussions-components-files/791/5684.uboot-environment.txt

kernel booting log

/cfs-file/__key/communityserver-discussions-components-files/791/4024.Kernel-boot.log

Regards

Khor


  • 2) eth0 failed to open

    Configuring network interfaces... [ 4.992418] netcp-1.0 2620110.netcp: Could not open DMA queue for channel "tx-pipe-2620110": 0
    [ 5.001400] net eth0: module open failed
    ifconfig: SIOCSIFFLAGS: No such device

    In latest processor SDK, NETCP firmware is available to up the Ethernet in Keystone 2.
    It seems you are not loading and running the "k2-fw-initrd.cpio.gz" file which has the firmware.

    Use default u-boto env to boot the board, it would take care all the necessary files.
  • Thanks Titus!
    I am using the arago-console-image-k2l-evm.cpio.gz from mcsdk_3_01_04_07.
    By using the arago-console-image-k2l-evm.cpio.gz as base, I create new rootfs.cpio.gz to include files in k2-fw-initrd.cpio.gz. That solve my Ethernet issue.

    Any idea for the memory overlap issue?
  • Please make sure that you are using the u-boot and Linux kernel from the same version of MCSDK or processor SDK but not mixed.
  • Noted. Thanks. I will try with all same version.

    Regards
    Khor
  • Hi Titus,

    [ 0.000000] Reserved memory: OVERLAP DETECTED!
    [ 0.000000] mpm_block_mem@820000000 (0x0000000820000000--0x0000000822000000) overlaps with dsp_reserved_mpm_area (0x0000000820000000--0x0000000840000000)
    [ 0.000000] Reserved memory: OVERLAP DETECTED!
    [ 0.000000] dsp_reserved_mpm_area (0x0000000820000000--0x0000000840000000) overlaps with cmem_block_mem@829000000 (0x0000000822000000--0x0000000840000000)

    I think the memory overlap issue is due to reserved memory definition overlap in the SDK keystone-k2l-evm.dts and k2l-evm-cmem.dtsi. Why it is defined in overlap region?

    Can you explain abit how these regions being used?
    dsp_common_cma_pool, dsp_reserved_mpm_area, mpm_block_mem, cmem_block_mem

    Where I can get more information about the cma and cmem?


    keystone-k2l-evm.dts:

    compatible = "ti,k2l-evm", "ti,k2l", "ti,keystone";
    model = "Texas Instruments Keystone 2 Lamarr EVM";

    reserved-memory {
    #address-cells = <2>;
    #size-cells = <2>;
    ranges;

    dsp_common_cma_pool: dsp_common_cma_pool {
    compatible = "shared-dma-pool";
    reg = <0x00000008 0x1f800000 0x00000000 0x800000>;
    reusable;
    };

    dsp_common_mpm_area: dsp_reserved_mpm_area {
    compatible = "shared-dma-pool";
    reg = <0x00000008 0x20000000 0x00000000 0x20000000>;
    no-map;
    status = "okay";
    };
    ....
    ....
    #include "k2l-evm-cmem.dtsi"
    ...
    ...



    k2l-evm-cmem.dtsi:

    reserved-memory {
    mpm_block_mem_0: mpm_block_mem@820000000 {
    reg = <0x00000008 0x20000000 0x00000000 0x02000000>;
    no-map;
    status = "okay";
    };

    cmem_block_mem_0: cmem_block_mem@829000000 {
    reg = <0x00000008 0x22000000 0x00000000 0x1E000000>;
    no-map;
    status = "okay";
    };

    cmem_block_mem_1: cmem_block_mem@00c100000 {
    reg = <0x00000000 0x0c000000 0x00000000 0x00180000>;
    no-map;
    status = "okay";
    };

    Regards
    Khor
  • We are investigating the kernel overlap error in kernel.
    Thanks for your patience.
  • If CMEM is used, it should avoid those areas. We'll address it in the future ProcSDK release.