util/intelvbttool: Rewrite tool

* Add Makefile dependency to source file
* Add argument support
* Add help support
* Print usage on wrong arguments
* Add support for parsing VBT binary file
* Add support for parsing PCI Option ROM
* Add support for writing VBT binary file
* Add support for patching PCI Option ROM
* Keep support for accessing legacy VGA area Option ROM
* Keep support for dumping VBT contents to stdout

Allows to extract VBT, analyse VBT and patch PCI Option ROMs as needed.

The required arguments have been changed:

./intelvbttool --<SOURCECMD> [filename] --<DESTCMD> [filename]

SOURCECMD set the VBT source. Supported:
 inlegacy  : Legacy BIOS area at phys. memory 0xc0000
 invbt     : Read raw Intel VBT file
 inoprom   : Read VBT from Intel Option ROM file

DESTCMD set the VBT destination. Supported:
 outdump   : Print VBT in human readable form
 outvbt    : Write raw Intel VBT file
 patchoprom: Patch existing Intel Option ROM

Any combination of SOURCECMD and DESTCMD is possible.

Change-Id: I8cbde042c7f5632f36648419becd23e248ba6f76
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-on: https://review.coreboot.org/18902
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Philipp Deppenwiese <zaolin.daisuki@gmail.com>
This commit is contained in:
Patrick Rudolph 2017-11-11 10:17:53 +01:00 committed by Philipp Deppenwiese
parent fd29ff3555
commit 17856b720b
2 changed files with 807 additions and 113 deletions

View File

@ -15,12 +15,13 @@
PROGRAM = intelvbttool PROGRAM = intelvbttool
CC ?= gcc CC ?= gcc
CFLAGS ?= -O2 CFLAGS ?= -O2 -g
CFLAGS += -Wall -Werror CFLAGS += -Wall -Werror
CFLAGS += -I../../src/commonlib/include
all: $(PROGRAM) all: $(PROGRAM)
$(PROGRAM): $(PROGRAM): $(PROGRAM).c
$(CC) $(CFLAGS) $(CPPFLAGS) $(PROGRAM).c -o $(PROGRAM) $(CC) $(CFLAGS) $(CPPFLAGS) $(PROGRAM).c -o $(PROGRAM)
clean: clean:

File diff suppressed because it is too large Load Diff