coreboot-kgpe-d16/util
Damien Zammit 0685322f4a util/blobtool: Add new tool for compiling/decompiling data blobs
Given a specification of bitfields defined e.g. as follows:

	specfile:
		{
			"field1" : 8,
			"field2" : 4,
			"field3" : 4
		}
and a set of values for setting defaults:
	setterfile:
		{
			"field1" = 0xff,
			"field2" = 0xf,
			"field3" = 0xf
		}

You can generate a binary packed blob as follows:
	./blobtool specfile setterfile binaryoutput
	binaryoutput:	ff ff

The reverse is also possible, i.e. you can regenerate the setter:
	./blobtool -d specfile binaryoutput setterorig
	setterorig:
		# AUTOGENERATED SETTER BY BLOBTOOL
		{
			"field1" = 0xff,
			"field2" = 0xf,
			"field3" = 0xf
		}

This tool comes with spec/set files for X200 flash descriptor
and ICH9M GbE region, and can be extended or used to decompile
other data blobs with known specs.

Change-Id: I744d6b421003feb4fc460133603af7e6bd80b1d6
Signed-off-by: Damien Zammit <damien@zamaudio.com>
Reviewed-on: https://review.coreboot.org/17445
Tested-by: build bot (Jenkins)
Reviewed-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Reviewed-by: Martin Roth <martinroth@google.com>
2017-02-04 23:18:35 +01:00
..
abuild util/abuild: Print list of failed boards at the end of the abuild 2017-01-09 18:26:38 +01:00
acpi tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
amdfwtool util/amdfwtool: Wrap long lines, excluding comments 2016-11-21 23:37:08 +01:00
amdtools Remove empty lines at end of file 2015-06-08 00:55:07 +02:00
archive archive: build archive tool with HOSTCC 2016-03-08 17:40:05 +01:00
arm_boot_tools/mksunxiboot arm_boot_tools: Add 'b' to fopen flags for Windows compatibility 2014-12-19 18:55:34 +01:00
autoport autoport: add missing parameter for pc_keyboard_init() 2017-01-29 00:36:24 +01:00
bimgtool codebase: Change makefile $(shell pwd) commands to $(CURDIR) 2016-03-11 18:48:06 +01:00
blobtool util/blobtool: Add new tool for compiling/decompiling data blobs 2017-02-04 23:18:35 +01:00
board_status board_status/towiki.sh: Add socket LGA775 2017-01-27 19:42:36 +01:00
broadcom util/broadcom: Check for successful file access 2016-12-16 18:22:43 +01:00
cbfstool cbfs-compression-tool: catch compression failures 2017-01-24 09:35:49 +01:00
cbmem cbmem: Exit with an errorlevel of 0 after printing help 2016-09-15 00:43:02 +02:00
checklist util/checklist: Place tables in proper boot order 2016-08-03 18:01:32 +02:00
chromeos util/chromeos: Make scripts executable 2016-07-30 19:34:20 +02:00
crossgcc buildgcc: try curl if wget is not present 2017-01-10 14:43:49 +01:00
docker util/docker: Update makefile target names 2017-01-27 19:41:05 +01:00
dtd_parser util: Look for python2 binary instead of python 2016-01-26 00:25:19 +01:00
ectool ectool: Support OpenBSD 2017-02-02 15:29:10 +01:00
exynos util: Look for python2 binary instead of python 2016-01-26 00:25:19 +01:00
futility Rename VB_SOURCE to VBOOT_SOURCE for increased clarity 2016-07-27 17:26:05 +02:00
fuzz-tests tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
genbuild_h genbuild_h: Fix numeric comparison to remove error 2016-03-14 23:37:12 +01:00
genprof util/genprof: improve handling of command line arguments 2014-08-12 09:02:44 +02:00
gitconfig Rename and move util/gitconfig/rebase.sh 2016-10-25 17:09:19 +02:00
ifdfake util/ifdfake: Add number of regions 2016-12-15 23:47:09 +01:00
ifdtool util/ifdtool: Fix ICH Gbe unlock 2017-02-04 17:36:21 +01:00
intelmetool util/intelmetool: Try to activate the ME before scanning PCIe for it 2017-01-20 17:22:54 +01:00
inteltool util/inteltool: Add ICH6-10 to BIOS_CNTL list 2017-01-03 17:40:34 +01:00
intelvbttool intelvbttool: cope with errors in open() 2016-07-31 19:23:29 +02:00
ipqheader util: ipq40xx: Scripts to combine SBL and Coreboot ELFs 2016-05-09 09:36:27 +02:00
k8resdump tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
kconfig Kconfig: Change symbol override from warning to notice 2016-12-12 17:53:32 +01:00
lint util/lint: Add check for the signed-off-by line 2017-01-09 18:14:10 +01:00
marvell util/marvell: Add Marvell doimage utility and dependency in relevant Makefile 2016-02-11 14:16:08 +01:00
me_cleaner util: Add me_cleaner 2017-01-25 18:19:58 +01:00
mma util/mma: changing BOOT_STUB to COREBOOT region and few more things 2016-05-10 22:59:36 +02:00
msrtool util/msrtool: Use tabs for indents 2016-10-19 17:02:07 +02:00
mtkheader util: Look for python2 binary instead of python 2016-01-26 00:25:19 +01:00
nvidia util/nvidia/cbootimage: update to latest master 2016-03-16 15:02:50 +01:00
nvramtool nvramtool: Don't consider reserved regions to be "out of range" 2016-07-31 19:07:43 +02:00
optionlist optionslist: Don't add a timestamp 2016-02-21 01:46:15 +01:00
post util: Add a very simple utility to test POST cards. 2016-02-26 07:00:33 +01:00
release util/release/build-release: Update tar command 2016-10-07 18:18:47 +02:00
riscvtools RISCV: change make-spike-elf to use the coreboot toolchain. 2016-10-15 00:34:27 +02:00
rockchip rockchip: update make_idb.py 2016-03-16 15:24:10 +01:00
romcc util/romcc: avoid shifting more than the variable's width 2017-01-06 18:40:04 +01:00
sconfig sconfig: Reformat C code 2016-08-08 19:16:24 +02:00
scripts util/scripts: extend cross-repo-cherrypick 2017-01-17 18:01:10 +01:00
showdevicetree tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
spkmodem_recv tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
superiotool superiotool: Add support for HWM registers on W83627EHG 2017-01-03 17:34:12 +01:00
uio_usbdebug tree: drop last paragraph of GPL copyright header 2015-10-31 21:37:39 +01:00
vgabios Remove extra newlines from the end of all coreboot files. 2016-07-31 18:19:33 +02:00
viatool viatool/quirks: Add newline to end of file 2016-07-28 20:18:10 +02:00
xcompile util/xcompile: parallelize compiler checks 2017-01-31 18:51:47 +01:00