Approved version. Approved on: 13:45, 28 September 2018
You are viewing an old version of this page. Return to the latest version.
Version of 13:45, 28 September 2018 by Frq08988
Difference between revisions of "Reserved memory"
[quality revision] | [quality revision] |
m
|
Template:ArticleMainWriter Template:ArticleApprovedVersion
1 Article purpose[edit]
The Reserved-memory mechanism[1] allows reserving memory regions in the kernel. This mechanism is used by drivers to allocate buffers in specific memory regions (such as MCU SRAM) or to get a dedicated memory pool that will not be managed by Linux® conventionnal memory allocator (in DDR).
2 Use cases[edit]
In STM32 MPU Linux OS, the reserved-memory is used by:
- the dmaengine driver to reserve the region where DMA buffers are allocated, typically MCU SRAM.
- the remoteproc driver to reserve the regions in RETRAM and MCU SRAM where the coprocessor firmware will be loaded.
- the RPMsg driver to reserve the region where RPMsg buffers used for interprocess communication with the coprocessor, are allocated, typically MCU SRAM.
- the Vivante Gcnano driver to reserve the region where the GPU working memory is allocated, typically the DDR.
3 References[edit]
<noinclude> {{ArticleMainWriter|GeraldB}} {{ArticleApprovedVersion|GeraldB | ArnaudP, NathalieS | No previous approved version | AnneJ - 25Sep'18 - 8903 | 25Sep'18}} [[Category:RAM]]</noinclude> == Article purpose == The '''Reserved-memory''' mechanism<ref>https://www.kernel.org/doc/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt</ref> allows reserving memory regions in the kernel. This mechanism is used by drivers to allocate buffers in specific memory regions (such as [[MCU SRAM internal memory|MCU SRAM]]) or to get a dedicated memory pool that will not be managed by Linux<sup>®</sup> conventionnal memory allocator (in [[DDRCTRL and DDRPHYC internal peripherals|DDR]]).<br /> == Use cases == In STM32 MPU Linux OS, the '''reserved-memory''' is used by: * the [[Dmaengine overview|dmaengine driver]] to reserve the region where [[DMA internal peripheral|DMA]] buffers are allocated, typically [[MCU SRAM internal memory|MCU SRAM]]. * the [[Linux remoteproc framework overview|remoteproc driver]] to reserve the regions in [[RETRAM internal memory|RETRAM]] and [[MCU SRAM internal memory|MCU SRAM]] where the coprocessor firmware will be loaded. * the [[Linux_RPMsg_framework_overview|RPMsg driver]] to reserve the region where [[Linux RPMsg framework overview|RPMsg]] buffers used for interprocess communication with the coprocessor, are allocated, typically [[MCU SRAM internal memory|MCU SRAM]]. * the [[Vivante_GCNANO_GPU_overview#Vivante_Gcnano_kernel_driver|Vivante Gcnano driver]] to reserve the region where the GPU working memory is allocated, typically the [[DDRCTRL and DDRPHYC internal peripherals|DDR]]. == References ==<references/> <noinclude> [[Category:RAM]] {{PublicationRequestId | 8903 | 2018-09-25 - AnneJ}}</noinclude>
Line 1: | Line 1: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
== Article purpose == |
== Article purpose == |
||
The '''Reserved-memory''' mechanism<ref>https://www.kernel.org/doc/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt</ref> allows reserving memory regions in the kernel. This mechanism is used by drivers to allocate buffers in specific memory regions (such as [[MCU SRAM internal memory|MCU SRAM]]) or to get a dedicated memory pool that will not be managed by Linux<sup>®</sup> conventionnal memory allocator (in [[DDRCTRL and DDRPHYC internal peripherals|DDR]]).<br /> |
The '''Reserved-memory''' mechanism<ref>https://www.kernel.org/doc/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt</ref> allows reserving memory regions in the kernel. This mechanism is used by drivers to allocate buffers in specific memory regions (such as [[MCU SRAM internal memory|MCU SRAM]]) or to get a dedicated memory pool that will not be managed by Linux<sup>®</sup> conventionnal memory allocator (in [[DDRCTRL and DDRPHYC internal peripherals|DDR]]).<br /> |
||
Line 16: | Line 11: | ||
== References == |
== References == |
||
<references/> |
<references/> |
||
+ | |||
+ | <noinclude> |
||
+ | [[Category:RAM]] |
||
+ | {{PublicationRequestId | 8903 | 2018-09-25 - AnneJ}} |
||
+ | </noinclude> |