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.

About memory holes configuration

from the url: http://processors.wiki.ti.com/index.php/DM816x_AM389x_PSP_04.00.02.14_Feature_Performance_Guide#Memory_Holes_Configuration

  • mem=128M mem=128M@0xA0000000
    • Total direct mappable RAM space lost here is 0x80000000 to 0xa0000000 + 128M = ~768MB, vmalloc space available 120MB
  • mem=128M mem=324M@0x9F900000
    • Total direct mappable RAM space lost here is 0x80000000 to 0x9F900000 + 324M = ~829MB
  • mem=364M@0x80000000 mem=324M@0x9F900000
    • Total direct mappable RAM space lost here is 0x80000000 to 0xa0000000 + 324M = ~829MB
  • In the later 2 cases above, the RAM direct mapped space is divided as 768 MB from actual required ~829MBwith remaining designated as highmem (see below section) to be able to accommodate 120MB minimum vmalloc space.
    • This also means ~60MB RAM towards the end of the of the second partition is not used if CONFIG_HIGHMEM is disabled.

anyone can explain some question

1. 0x80000000 to 0xa0000000 + 128M = ~768MB, I caculate the total  is 640MB.

2.In the later 2 cases above, the RAM direct mapped space is divided as 768 MB from actual required ~829MB

  -----where can I find the RAM direct mapped spcace is the 768M

Thankyou!

 

  • I believe the first point is a typo.It should be mem=256M. The details of kernel memory usage when using memory hole are explained by Russel King in this post:

    http://lists.infradead.org/pipermail/linux-arm-kernel/2011-August/062610.html

    Also refer http://www.arm.linux.org.uk/developer/memory.txt for ARM linux memory map info.

    I didnt understand your second question. Is your second question why there is 768M of lowmem ?

  • a other question:

    from url: http://processors.wiki.ti.com/index.php/DM816x_AM389x_PSP_04.00.02.14_Feature_Performance_Guide#Memory_Holes_Configuration

    the high memory section as below:

    E.g. 2 Consider the case where usable RAM for kernel is 1GB (mem=1G) and vmalloc region set to 500MB (vmalloc=500M)

    In this case, the total directly mapped RAM will be 396MB with vmalloc size maintained as 496MB. While the rest of the RAM (~591MB) will be available as highmem.

    Here, if CONFIG_HIGHMEM is disabled, the RAM size will be truncated to 396MB and rest of the RAM will be unusable.

    -----------------------------------------------------------------------------------------------------------------------------------------------------

    For the E.g.2 I think the 396M is 896M - 500M, but how to explain the 496M and 591M?

    Best regards!

    Chao.