Approved version. Approved on: 14:55, 18 March 2021
You are viewing an old version of this page. Return to the latest version.
Difference between revisions of "Reserved memory"
[quality revision] | [quality revision] |
(Merge articles)
|
[quality revision] | [quality revision] |
(Merge articles)
|
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).
In STM32 MPU Linux OS, the reserved-memory is used by:
== 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]] 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 7: | Line 7: | ||
* 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 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 [[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 |
+ | * the Vivante Gcnano driver to reserve the region where the GPU working memory is allocated, typically the [[DDRCTRL and DDRPHYC internal peripherals|DDR]]. |
== References == |
== References == |