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.

CMEM MSMC

how can I use CMEM to allocate a pool in the MSM area?


from the keystone documentation the MSM area has address range 000C000000-000C5FFFFF

I tried

/sbin/insmod /lib/cmemk.ko pools=1x1048576 phys_start=0x000C000000 phys_end=0x000C5FFFFF

but it gave me an error:

[  626.494495] CMEMK Error: CMEM phys_start (0xc000000) overlaps kernel (0x800000000 -> 0x860000000)
Error: could not insert module /lib/cmemk.ko: Invalid parameters

  • Mohamed,

    I tried the command and saw the same error. When Linux kernel boots up, the CMEM module is loaded by default with the following (from cat /proc/iomem):

    0c040000-0c4fffff : CMEM
    826000000-87fffffff : CMEM

    Can you use the memory pool in MSMC allocated already? If you want to CMEM yourself, the default is loaded by /etc/modules-load.d/cmem.conf:

    # Default CMEM configuration for MCSDK HPC (Thu May 8 20:02:48 EDT 2014)

    cmemk phys_start=0x826000000 phys_end=0x880000000 pools=1x1509949440 phys_start_1=0x0C040000 phys_end_1=0x0C500000 allowOverlap=1

    You can try that way with allowOverlap to see if it works.

    Regards, Eric

  • thanks Eric: setting the overlap flag "allowOverlap=1" solved it,