Searched hist:ffa8f8b76ea89ab65082d036dfb58c7fb136d861 (Results 1 – 4 of 4) sorted by relevance
| /rk3399_rockchip-uboot/include/ |
| H A D | sysmem.h | ffa8f8b76ea89ab65082d036dfb58c7fb136d861 Sun Jan 13 09:56:44 UTC 2019 Joseph Chen <chenjh@rock-chips.com> lib: introduce sysmem for permanent memory management
U-Boot provides MALLOC for runtime temporary memory management and LMB for bootm memory management. There is not a mechanism for permanent memory management. so that the memory blocks are easy to overlap with each other.
What does permanent memory mean ? - The memory can't be touched by U-Boot(ATF/OPTEE/SHM/kernel-reserved, etc); - The memory occupied even in kernel, such as some firmware load buffer;
This patch introduces sysmem to do permanent memory management, which implements base on LMB. It provides memory block (pool): - init; - add; - alloc; - free; - reserve; - stat; - overflow check;
Here is an example for RK3399 sysmem boot stat(assume the "fdt" region is Overflow) called by sysmem_dump_all():
sysmem_dump_all: ------------------------------------------------------ memory.rgn[0].base = 0x00000000 .size = 0x00000000 memory.rgn[1].base = 0x00200000 .size = 0x08200000 memory.rgn[2].base = 0x0a200000 .size = 0x75e00000
memory.total = 0x7e000000 (2016 MiB. 0 KiB) ------------------------------------------------------ reserved.rgn[0].name = "ATF" .base = 0x00000000 .size = 0x00100000 reserved.rgn[1].name = "PSTORE/ATAGS/SHM" .base = 0x00100000 .size = 0x00100000 reserved.rgn[2].name = "OP-TEE" .base = 0x08400000 .size = 0x01e00000 reserved.rgn[3].name = "U-Boot" .base = 0x71be03c0 .size = 0x0e41fc40 reserved.rgn[4].name = "secure-memory@20000000" .base = 0x20000000 .size = 0x10000000
reserved.total = 0x2041fc40 (516 MiB. 127 KiB) ------------------------------------------------------ allocated.rgn[0].name = "fdt" (Overflow) .base = 0x01f00000 .size = 0x00009704 allocated.rgn[1].name = "kernel" .base = 0x0027c000 .size = 0x0129da04 allocated.rgn[2].name = "ramdisk" .base = 0x0a200000 .size = 0x001e6c04
allocated.total = 0x0148dd0c (20 MiB. 567 KiB) ------------------------------------------------------ LMB.reserved[0].base = 0x00000000 .size = 0x00200000 LMB.reserved[1].base = 0x0027c000 .size = 0x0129da04 LMB.reserved[2].base = 0x01f00000 .size = 0x00009704 LMB.reserved[3].base = 0x08400000 .size = 0x01fe6c04 LMB.reserved[4].base = 0x20000000 .size = 0x10000000 LMB.reserved[5].base = 0x71be03c0 .size = 0x0e41fc40
reserved.core.total = 0x218ad94c (536 MiB. 694 KiB) ------------------------------------------------------
Change-Id: If63b7abed2cdd3c054719511fcceed733ddf606d Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
|
| /rk3399_rockchip-uboot/lib/ |
| H A D | sysmem.c | ffa8f8b76ea89ab65082d036dfb58c7fb136d861 Sun Jan 13 09:56:44 UTC 2019 Joseph Chen <chenjh@rock-chips.com> lib: introduce sysmem for permanent memory management
U-Boot provides MALLOC for runtime temporary memory management and LMB for bootm memory management. There is not a mechanism for permanent memory management. so that the memory blocks are easy to overlap with each other.
What does permanent memory mean ? - The memory can't be touched by U-Boot(ATF/OPTEE/SHM/kernel-reserved, etc); - The memory occupied even in kernel, such as some firmware load buffer;
This patch introduces sysmem to do permanent memory management, which implements base on LMB. It provides memory block (pool): - init; - add; - alloc; - free; - reserve; - stat; - overflow check;
Here is an example for RK3399 sysmem boot stat(assume the "fdt" region is Overflow) called by sysmem_dump_all():
sysmem_dump_all: ------------------------------------------------------ memory.rgn[0].base = 0x00000000 .size = 0x00000000 memory.rgn[1].base = 0x00200000 .size = 0x08200000 memory.rgn[2].base = 0x0a200000 .size = 0x75e00000
memory.total = 0x7e000000 (2016 MiB. 0 KiB) ------------------------------------------------------ reserved.rgn[0].name = "ATF" .base = 0x00000000 .size = 0x00100000 reserved.rgn[1].name = "PSTORE/ATAGS/SHM" .base = 0x00100000 .size = 0x00100000 reserved.rgn[2].name = "OP-TEE" .base = 0x08400000 .size = 0x01e00000 reserved.rgn[3].name = "U-Boot" .base = 0x71be03c0 .size = 0x0e41fc40 reserved.rgn[4].name = "secure-memory@20000000" .base = 0x20000000 .size = 0x10000000
reserved.total = 0x2041fc40 (516 MiB. 127 KiB) ------------------------------------------------------ allocated.rgn[0].name = "fdt" (Overflow) .base = 0x01f00000 .size = 0x00009704 allocated.rgn[1].name = "kernel" .base = 0x0027c000 .size = 0x0129da04 allocated.rgn[2].name = "ramdisk" .base = 0x0a200000 .size = 0x001e6c04
allocated.total = 0x0148dd0c (20 MiB. 567 KiB) ------------------------------------------------------ LMB.reserved[0].base = 0x00000000 .size = 0x00200000 LMB.reserved[1].base = 0x0027c000 .size = 0x0129da04 LMB.reserved[2].base = 0x01f00000 .size = 0x00009704 LMB.reserved[3].base = 0x08400000 .size = 0x01fe6c04 LMB.reserved[4].base = 0x20000000 .size = 0x10000000 LMB.reserved[5].base = 0x71be03c0 .size = 0x0e41fc40
reserved.core.total = 0x218ad94c (536 MiB. 694 KiB) ------------------------------------------------------
Change-Id: If63b7abed2cdd3c054719511fcceed733ddf606d Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
|
| H A D | Kconfig | ffa8f8b76ea89ab65082d036dfb58c7fb136d861 Sun Jan 13 09:56:44 UTC 2019 Joseph Chen <chenjh@rock-chips.com> lib: introduce sysmem for permanent memory management
U-Boot provides MALLOC for runtime temporary memory management and LMB for bootm memory management. There is not a mechanism for permanent memory management. so that the memory blocks are easy to overlap with each other.
What does permanent memory mean ? - The memory can't be touched by U-Boot(ATF/OPTEE/SHM/kernel-reserved, etc); - The memory occupied even in kernel, such as some firmware load buffer;
This patch introduces sysmem to do permanent memory management, which implements base on LMB. It provides memory block (pool): - init; - add; - alloc; - free; - reserve; - stat; - overflow check;
Here is an example for RK3399 sysmem boot stat(assume the "fdt" region is Overflow) called by sysmem_dump_all():
sysmem_dump_all: ------------------------------------------------------ memory.rgn[0].base = 0x00000000 .size = 0x00000000 memory.rgn[1].base = 0x00200000 .size = 0x08200000 memory.rgn[2].base = 0x0a200000 .size = 0x75e00000
memory.total = 0x7e000000 (2016 MiB. 0 KiB) ------------------------------------------------------ reserved.rgn[0].name = "ATF" .base = 0x00000000 .size = 0x00100000 reserved.rgn[1].name = "PSTORE/ATAGS/SHM" .base = 0x00100000 .size = 0x00100000 reserved.rgn[2].name = "OP-TEE" .base = 0x08400000 .size = 0x01e00000 reserved.rgn[3].name = "U-Boot" .base = 0x71be03c0 .size = 0x0e41fc40 reserved.rgn[4].name = "secure-memory@20000000" .base = 0x20000000 .size = 0x10000000
reserved.total = 0x2041fc40 (516 MiB. 127 KiB) ------------------------------------------------------ allocated.rgn[0].name = "fdt" (Overflow) .base = 0x01f00000 .size = 0x00009704 allocated.rgn[1].name = "kernel" .base = 0x0027c000 .size = 0x0129da04 allocated.rgn[2].name = "ramdisk" .base = 0x0a200000 .size = 0x001e6c04
allocated.total = 0x0148dd0c (20 MiB. 567 KiB) ------------------------------------------------------ LMB.reserved[0].base = 0x00000000 .size = 0x00200000 LMB.reserved[1].base = 0x0027c000 .size = 0x0129da04 LMB.reserved[2].base = 0x01f00000 .size = 0x00009704 LMB.reserved[3].base = 0x08400000 .size = 0x01fe6c04 LMB.reserved[4].base = 0x20000000 .size = 0x10000000 LMB.reserved[5].base = 0x71be03c0 .size = 0x0e41fc40
reserved.core.total = 0x218ad94c (536 MiB. 694 KiB) ------------------------------------------------------
Change-Id: If63b7abed2cdd3c054719511fcceed733ddf606d Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
|
| H A D | Makefile | ffa8f8b76ea89ab65082d036dfb58c7fb136d861 Sun Jan 13 09:56:44 UTC 2019 Joseph Chen <chenjh@rock-chips.com> lib: introduce sysmem for permanent memory management
U-Boot provides MALLOC for runtime temporary memory management and LMB for bootm memory management. There is not a mechanism for permanent memory management. so that the memory blocks are easy to overlap with each other.
What does permanent memory mean ? - The memory can't be touched by U-Boot(ATF/OPTEE/SHM/kernel-reserved, etc); - The memory occupied even in kernel, such as some firmware load buffer;
This patch introduces sysmem to do permanent memory management, which implements base on LMB. It provides memory block (pool): - init; - add; - alloc; - free; - reserve; - stat; - overflow check;
Here is an example for RK3399 sysmem boot stat(assume the "fdt" region is Overflow) called by sysmem_dump_all():
sysmem_dump_all: ------------------------------------------------------ memory.rgn[0].base = 0x00000000 .size = 0x00000000 memory.rgn[1].base = 0x00200000 .size = 0x08200000 memory.rgn[2].base = 0x0a200000 .size = 0x75e00000
memory.total = 0x7e000000 (2016 MiB. 0 KiB) ------------------------------------------------------ reserved.rgn[0].name = "ATF" .base = 0x00000000 .size = 0x00100000 reserved.rgn[1].name = "PSTORE/ATAGS/SHM" .base = 0x00100000 .size = 0x00100000 reserved.rgn[2].name = "OP-TEE" .base = 0x08400000 .size = 0x01e00000 reserved.rgn[3].name = "U-Boot" .base = 0x71be03c0 .size = 0x0e41fc40 reserved.rgn[4].name = "secure-memory@20000000" .base = 0x20000000 .size = 0x10000000
reserved.total = 0x2041fc40 (516 MiB. 127 KiB) ------------------------------------------------------ allocated.rgn[0].name = "fdt" (Overflow) .base = 0x01f00000 .size = 0x00009704 allocated.rgn[1].name = "kernel" .base = 0x0027c000 .size = 0x0129da04 allocated.rgn[2].name = "ramdisk" .base = 0x0a200000 .size = 0x001e6c04
allocated.total = 0x0148dd0c (20 MiB. 567 KiB) ------------------------------------------------------ LMB.reserved[0].base = 0x00000000 .size = 0x00200000 LMB.reserved[1].base = 0x0027c000 .size = 0x0129da04 LMB.reserved[2].base = 0x01f00000 .size = 0x00009704 LMB.reserved[3].base = 0x08400000 .size = 0x01fe6c04 LMB.reserved[4].base = 0x20000000 .size = 0x10000000 LMB.reserved[5].base = 0x71be03c0 .size = 0x0e41fc40
reserved.core.total = 0x218ad94c (536 MiB. 694 KiB) ------------------------------------------------------
Change-Id: If63b7abed2cdd3c054719511fcceed733ddf606d Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
|