coreboot-kgpe-d16/util
Aaron Durbin 0dff57dd7a cbmem: switch over to imd-based cbmem
By design, the imd library still provdes dynamic growth so that
feature is consistent.  The imd-based cbmem packs small allocations
into a larger entry using a tiered imd. The following examples show
the reduced fragmentation and reduced memory usage.

Before with dynamic cbmem:
CBMEM ROOT  0. 023ff000 00001000
aaaabbbb    1. 023fe000 00001000
aaaabbbc    2. 023fd000 00001000
aaaabbbe    3. 023fc000 00001000
aaaacccc    4. 023fa000 00002000
aaaacccd    5. 023f9000 00001000
ROMSTAGE    6. 023f8000 00001000
CONSOLE     7. 023d8000 00020000
COREBOOT    8. 023d6000 00002000

After with tiered imd:
IMD ROOT    0. 023ff000 00001000
IMD SMALL   1. 023fe000 00001000
aaaacccc    2. 023fc000 00001060
aaaacccd    3. 023fb000 000007cf
CONSOLE     4. 023db000 00020000
COREBOOT    5. 023d9000 00002000
IMD small region:
  IMD ROOT    0. 023fec00 00000400
  aaaabbbb    1. 023febe0 00000020
  aaaabbbc    2. 023feba0 00000040
  aaaabbbe    3. 023feb20 00000080
  ROMSTAGE    4. 023feb00 00000004

Side note: this CL provides a basis for what hoops one needs to
jump through when there are not writeable global variables on
a particular platform in the early stages.

Change-Id: If770246caa64b274819e45a26e100b62b9f8d2db
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/9169
Tested-by: build bot (Jenkins)
Reviewed-by: Marc Jones <marc.jones@se-eng.com>
2015-04-22 22:56:31 +02:00
..
abuild abuild: add option to build with CHROMEOS enabled 2015-04-22 19:37:01 +02:00
acpi GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
amdtools Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
arm_boot_tools/mksunxiboot arm_boot_tools: Add 'b' to fopen flags for Windows compatibility 2014-12-19 18:55:34 +01:00
bimgtool util/bimgtool: Add verification mode 2015-04-10 12:03:35 +02:00
board_status board-status: update mediawiki interface 2015-03-04 20:46:01 +01:00
broadcom util/broadcom: specify libraries after object files 2015-04-22 19:36:29 +02:00
cbfstool cbfstool: clean up source code 2015-04-18 08:50:38 +02:00
cbmem cbmem: switch over to imd-based cbmem 2015-04-22 22:56:31 +02:00
crossgcc crossgcc: Fix calling outside util/crossgcc 2015-03-30 12:04:39 +02:00
dtd_parser GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
dumpmmcr dumpmmcr: Fix compilation warnings in printf 2012-01-26 09:57:56 +01:00
ectool ectool: add query function to ectool 2015-04-08 08:41:59 +02:00
exynos exynos: Install the BL1 and set the checksum in the Makefile. 2014-09-09 20:01:18 +02:00
fletcher util/fletcher: fix debug option parsing 2014-10-18 14:45:42 +02:00
genbuild_h util/genbuild_h: work around GNU date 2015-03-29 22:45:08 +02:00
genprof util/genprof: improve handling of command line arguments 2014-08-12 09:02:44 +02:00
gitconfig git: add rebase helper script 2015-04-10 09:01:30 +02:00
i915tool util/i915tool: close the file also when fread() returned an error 2014-07-30 13:16:53 +02:00
ifdfake ifdfake - Create an IFD with just a section layout 2013-06-24 17:56:42 +02:00
ifdtool ifdtool: Add O_BINARY to open flags for Windows compatibility 2014-12-19 18:55:48 +01:00
inteltool inteltool: add ICH8M-E support 2015-03-26 03:33:46 +01:00
ipqheader util/ipqheader: Add utility to create uber-SBL for IPQ8064 2015-04-13 17:36:27 +02:00
k8resdump GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
kconfig kconfig: Add wildcard support for "source" 2015-04-06 23:52:57 +02:00
lbtdump lbtdump: Dump forwarded tables. 2014-03-09 21:19:29 +01:00
lint lint: Add check for new board name scheme 2015-04-18 08:31:36 +02:00
msrtool utils/msrtool: add westmere cpuids to nehalem 2015-02-11 02:51:16 +01:00
nvidia cbootimage: Add HOSTCC and flags 2015-02-15 09:21:02 +01:00
nvramtool nvramtool: fix getopt handling with unsigned char 2015-04-06 23:29:06 +02:00
optionlist GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
resetcf Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
rockchip add make_idb.py & update bootblock 2015-03-24 15:24:52 +01:00
romcc romcc: avoid use-after-free 2014-09-06 09:21:07 +02:00
runfw ARM: Generalize armv7 as arm. 2014-09-08 18:59:23 +02:00
sconfig sconfig: add cpu device type 2014-10-07 21:03:25 +02:00
showdevicetree ARM: Generalize armv7 as arm. 2014-09-08 18:59:23 +02:00
spkmodem_recv Add spkmodem receiver 2013-06-12 05:18:24 +02:00
superiotool util/superiotool: change displayed name of chip id 0xc333 (nct6776) 2014-12-19 19:01:47 +01:00
uio_usbdebug uio_usbdebug: User-space-i/o framework for usbdebug 2015-03-19 19:19:42 +01:00
vgabios Rename devices -> device 2012-11-30 23:59:58 +01:00
viatool viatool: Add utility to read various configuration bits on VIA systems 2013-06-04 22:36:26 +02:00
xcompile armv7-m: add armv7-m configuration 2015-04-10 07:42:18 +02:00