diff options
author | Aaron Durbin <adurbin@chromium.org> | 2015-03-05 14:11:27 -0600 |
---|---|---|
committer | Aaron Durbin <adurbin@chromium.org> | 2015-04-22 17:54:41 +0200 |
commit | 20686d851ce450750039f5f871160d49118a2210 (patch) | |
tree | cabba57012853074cbf31e4a82938c7357c78696 /src/include/cbmem.h | |
parent | 818e928d12be9376476ee299fccf9cfe47abb1f2 (diff) | |
download | coreboot-20686d851ce450750039f5f871160d49118a2210.tar.xz |
coreboot: add imd library
The imd (internal memory database) library provides a way to
track memory regions by assigning ids to each region. The implementation
is a direct descendant of dynamic cbmem. The intent is to replace
the existing mechanisms which do similar things: dynamic cbmem, stage
cache, etc.
Differences between dynamic cbmem and imd:
- All structures/objects are relative to one another. There
are no absolute pointers serialized to memory.
- Allow limiting the size of the idm. i.e. provide a maximum
memory usage.
- Allow setting the size of the root structure which allows
control of the number of allocations to track.
Change-Id: Id7438cff80d396a594d6a7330d09b45bb4fedf2e
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/8621
Tested-by: build bot (Jenkins)
Reviewed-by: Marc Jones <marc.jones@se-eng.com>
Diffstat (limited to 'src/include/cbmem.h')
-rw-r--r-- | src/include/cbmem.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/include/cbmem.h b/src/include/cbmem.h index fdcb829b83..38f9d0320b 100644 --- a/src/include/cbmem.h +++ b/src/include/cbmem.h @@ -57,6 +57,7 @@ #define CBMEM_ID_GDT 0x4c474454 #define CBMEM_ID_HOB_POINTER 0x484f4221 #define CBMEM_ID_IGD_OPREGION 0x4f444749 +#define CBMEM_ID_IMD_ROOT 0xff4017ff #define CBMEM_ID_MEMINFO 0x494D454D #define CBMEM_ID_MPTABLE 0x534d5054 #define CBMEM_ID_MRCDATA 0x4d524344 @@ -103,6 +104,7 @@ struct cbmem_id_to_name { { CBMEM_ID_ELOG, "ELOG " }, \ { CBMEM_ID_FREESPACE, "FREE SPACE " }, \ { CBMEM_ID_GDT, "GDT " }, \ + { CBMEM_ID_IMD_ROOT, "IMD ROOT " }, \ { CBMEM_ID_MEMINFO, "MEM INFO " }, \ { CBMEM_ID_MPTABLE, "SMP TABLE " }, \ { CBMEM_ID_MRCDATA, "MRC DATA " }, \ |