mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-16 21:07:26 +00:00
vboot2: Move files which use new vboot 2.1 structs to their own directories
This is part 1 of a series of 4 changes which rearrange the vboot2
files and unit tests so that we can more cleanly switch over from
old-style structs to new-style structs.
No functional changes, just shuffling around code.
BUG=chromium:423882
BRANCH=none
TEST=make runtests && VBOOT2=1 make runtests (works with/withoug VBOOT2 flag)
And build firmware for veyron_pinky.
Change-Id: I170d737bf151a6bafe61cde23b3d2f7a3fae43ce
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/232978
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
This commit is contained in:
committed by
chrome-internal-fetch
parent
c86f0415a0
commit
a5b69b02e0
75
Makefile
75
Makefile
@@ -237,6 +237,7 @@ FWLIB = ${BUILD}/vboot_fw.a
|
|||||||
|
|
||||||
# Smaller firmware library. TODO: Do we still need to export this?
|
# Smaller firmware library. TODO: Do we still need to export this?
|
||||||
FWLIB20 = ${BUILD}/vboot_fw2.a
|
FWLIB20 = ${BUILD}/vboot_fw2.a
|
||||||
|
FWLIB21 = ${BUILD}/vboot_fw21.a
|
||||||
|
|
||||||
# Firmware library sources needed by VbInit() call
|
# Firmware library sources needed by VbInit() call
|
||||||
VBINIT_SRCS = \
|
VBINIT_SRCS = \
|
||||||
@@ -279,21 +280,23 @@ VBSLK_SRCS = \
|
|||||||
# Firmware library source needed for smaller library 2
|
# Firmware library source needed for smaller library 2
|
||||||
FWLIB20_SRCS = \
|
FWLIB20_SRCS = \
|
||||||
firmware/2lib/2api.c \
|
firmware/2lib/2api.c \
|
||||||
firmware/2lib/2api2.c \
|
|
||||||
firmware/2lib/2common.c \
|
firmware/2lib/2common.c \
|
||||||
firmware/2lib/2common2.c \
|
|
||||||
firmware/2lib/2crc8.c \
|
firmware/2lib/2crc8.c \
|
||||||
firmware/2lib/2misc.c \
|
firmware/2lib/2misc.c \
|
||||||
firmware/2lib/2misc2.c \
|
|
||||||
firmware/2lib/2nvstorage.c \
|
firmware/2lib/2nvstorage.c \
|
||||||
firmware/2lib/2packed_key.c \
|
firmware/2lib/2packed_key.c \
|
||||||
firmware/2lib/2packed_key2.c \
|
|
||||||
firmware/2lib/2rsa.c \
|
firmware/2lib/2rsa.c \
|
||||||
firmware/2lib/2secdata.c \
|
firmware/2lib/2secdata.c \
|
||||||
firmware/2lib/2sha1.c \
|
firmware/2lib/2sha1.c \
|
||||||
firmware/2lib/2sha256.c \
|
firmware/2lib/2sha256.c \
|
||||||
firmware/2lib/2sha512.c \
|
firmware/2lib/2sha512.c \
|
||||||
firmware/2lib/2sha_utility.c \
|
firmware/2lib/2sha_utility.c
|
||||||
|
|
||||||
|
FWLIB21_SRCS = \
|
||||||
|
firmware/lib21/api.c \
|
||||||
|
firmware/lib21/common.c \
|
||||||
|
firmware/lib21/misc.c \
|
||||||
|
firmware/lib21/packed_key.c
|
||||||
|
|
||||||
# Support real TPM unless BIOS sets MOCK_TPM
|
# Support real TPM unless BIOS sets MOCK_TPM
|
||||||
ifeq (${MOCK_TPM},)
|
ifeq (${MOCK_TPM},)
|
||||||
@@ -339,15 +342,16 @@ FWLIB_SRCS += ${VBSF_SRCS} ${VBSLK_SRCS}
|
|||||||
|
|
||||||
VBINIT_OBJS = ${VBINIT_SRCS:%.c=${BUILD}/%.o}
|
VBINIT_OBJS = ${VBINIT_SRCS:%.c=${BUILD}/%.o}
|
||||||
VBSF_OBJS = ${VBSF_SRCS:%.c=${BUILD}/%.o}
|
VBSF_OBJS = ${VBSF_SRCS:%.c=${BUILD}/%.o}
|
||||||
|
ALL_OBJS += ${VBINIT_OBJS} ${VBSF_OBJS}
|
||||||
|
|
||||||
FWLIB_OBJS = ${FWLIB_SRCS:%.c=${BUILD}/%.o}
|
FWLIB_OBJS = ${FWLIB_SRCS:%.c=${BUILD}/%.o}
|
||||||
FWLIB20_OBJS = ${FWLIB20_SRCS:%.c=${BUILD}/%.o}
|
FWLIB20_OBJS = ${FWLIB20_SRCS:%.c=${BUILD}/%.o}
|
||||||
|
FWLIB21_OBJS = ${FWLIB21_SRCS:%.c=${BUILD}/%.o}
|
||||||
ALL_OBJS += ${FWLIB_OBJS} ${FWLIB20_OBJS} ${VBINIT_OBJS} ${VBSF_OBJS}
|
ALL_OBJS += ${FWLIB_OBJS} ${FWLIB20_OBJS} ${FWLIB21_OBJS}
|
||||||
|
|
||||||
# Intermediate library for the vboot_reference utilities to link against.
|
# Intermediate library for the vboot_reference utilities to link against.
|
||||||
UTILLIB = ${BUILD}/libvboot_util.a
|
UTILLIB = ${BUILD}/libvboot_util.a
|
||||||
UTILLIB20 = ${BUILD}/libvboot_util20.a
|
UTILLIB21 = ${BUILD}/libvboot_util20.a
|
||||||
|
|
||||||
UTILLIB_SRCS = \
|
UTILLIB_SRCS = \
|
||||||
cgpt/cgpt_create.c \
|
cgpt/cgpt_create.c \
|
||||||
@@ -373,15 +377,15 @@ UTILLIB_SRCS = \
|
|||||||
UTILLIB_OBJS = ${UTILLIB_SRCS:%.c=${BUILD}/%.o}
|
UTILLIB_OBJS = ${UTILLIB_SRCS:%.c=${BUILD}/%.o}
|
||||||
ALL_OBJS += ${UTILLIB_OBJS}
|
ALL_OBJS += ${UTILLIB_OBJS}
|
||||||
|
|
||||||
UTILLIB20_SRCS += \
|
UTILLIB21_SRCS += \
|
||||||
host/lib/host_fw_preamble2.c \
|
host/lib21/host_fw_preamble.c \
|
||||||
host/lib/host_key2.c \
|
host/lib21/host_key.c \
|
||||||
host/lib/host_keyblock2.c \
|
host/lib21/host_keyblock.c \
|
||||||
host/lib/host_misc2.c \
|
host/lib21/host_misc.c \
|
||||||
host/lib/host_signature2.c
|
host/lib21/host_signature.c
|
||||||
|
|
||||||
UTILLIB20_OBJS = ${UTILLIB20_SRCS:%.c=${BUILD}/%.o}
|
UTILLIB21_OBJS = ${UTILLIB21_SRCS:%.c=${BUILD}/%.o}
|
||||||
ALL_OBJS += ${UTILLIB20_OBJS}
|
ALL_OBJS += ${UTILLIB21_OBJS}
|
||||||
|
|
||||||
# Externally exported library for some target userspace apps to link with
|
# Externally exported library for some target userspace apps to link with
|
||||||
# (cryptohome, updater, etc.)
|
# (cryptohome, updater, etc.)
|
||||||
@@ -688,13 +692,13 @@ _dir_create := $(foreach d, \
|
|||||||
# Default target.
|
# Default target.
|
||||||
.PHONY: all
|
.PHONY: all
|
||||||
all: fwlib \
|
all: fwlib \
|
||||||
$(if ${VBOOT2},fwlib2) \
|
$(if ${VBOOT2},fwlib2 fwlib21) \
|
||||||
$(if ${FIRMWARE_ARCH},,host_stuff) \
|
$(if ${FIRMWARE_ARCH},,host_stuff) \
|
||||||
$(if ${COV},coverage)
|
$(if ${COV},coverage)
|
||||||
|
|
||||||
# Host targets
|
# Host targets
|
||||||
.PHONY: host_stuff
|
.PHONY: host_stuff
|
||||||
host_stuff: utillib hostlib cgpt utils futil tests $(if ${VBOOT2},utillib20)
|
host_stuff: utillib hostlib cgpt utils futil tests $(if ${VBOOT2},utillib21)
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
@@ -735,6 +739,7 @@ ifeq (${FIRMWARE_ARCH},i386)
|
|||||||
# Unrolling loops in cryptolib makes it faster
|
# Unrolling loops in cryptolib makes it faster
|
||||||
${FWLIB_OBJS}: CFLAGS += -DUNROLL_LOOPS
|
${FWLIB_OBJS}: CFLAGS += -DUNROLL_LOOPS
|
||||||
${FWLIB20_OBJS}: CFLAGS += -DUNROLL_LOOPS
|
${FWLIB20_OBJS}: CFLAGS += -DUNROLL_LOOPS
|
||||||
|
${FWLIB21_OBJS}: CFLAGS += -DUNROLL_LOOPS
|
||||||
|
|
||||||
# Workaround for coreboot on x86, which will power off asynchronously
|
# Workaround for coreboot on x86, which will power off asynchronously
|
||||||
# without giving us a chance to react. This is not an example of the Right
|
# without giving us a chance to react. This is not an example of the Right
|
||||||
@@ -778,21 +783,30 @@ fwlinktest: \
|
|||||||
.PHONY: fwlib
|
.PHONY: fwlib
|
||||||
fwlib: $(if ${FIRMWARE_ARCH},${FWLIB},fwlinktest)
|
fwlib: $(if ${FIRMWARE_ARCH},${FWLIB},fwlinktest)
|
||||||
|
|
||||||
.PHONY: fwlib2
|
|
||||||
fwlib2: ${FWLIB20}
|
|
||||||
|
|
||||||
${FWLIB}: ${FWLIB_OBJS}
|
${FWLIB}: ${FWLIB_OBJS}
|
||||||
@$(PRINTF) " RM $(subst ${BUILD}/,,$@)\n"
|
@$(PRINTF) " RM $(subst ${BUILD}/,,$@)\n"
|
||||||
${Q}rm -f $@
|
${Q}rm -f $@
|
||||||
@$(PRINTF) " AR $(subst ${BUILD}/,,$@)\n"
|
@$(PRINTF) " AR $(subst ${BUILD}/,,$@)\n"
|
||||||
${Q}ar qc $@ $^
|
${Q}ar qc $@ $^
|
||||||
|
|
||||||
|
.PHONY: fwlib2
|
||||||
|
fwlib2: ${FWLIB20}
|
||||||
|
|
||||||
${FWLIB20}: ${FWLIB20_OBJS}
|
${FWLIB20}: ${FWLIB20_OBJS}
|
||||||
@$(PRINTF) " RM $(subst ${BUILD}/,,$@)\n"
|
@$(PRINTF) " RM $(subst ${BUILD}/,,$@)\n"
|
||||||
${Q}rm -f $@
|
${Q}rm -f $@
|
||||||
@$(PRINTF) " AR $(subst ${BUILD}/,,$@)\n"
|
@$(PRINTF) " AR $(subst ${BUILD}/,,$@)\n"
|
||||||
${Q}ar qc $@ $^
|
${Q}ar qc $@ $^
|
||||||
|
|
||||||
|
.PHONY: fwlib21
|
||||||
|
fwlib21: ${FWLIB21}
|
||||||
|
|
||||||
|
${FWLIB21}: ${FWLIB21_OBJS}
|
||||||
|
@$(PRINTF) " RM $(subst ${BUILD}/,,$@)\n"
|
||||||
|
${Q}rm -f $@
|
||||||
|
@$(PRINTF) " AR $(subst ${BUILD}/,,$@)\n"
|
||||||
|
${Q}ar qc $@ $^
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
# Host library(s)
|
# Host library(s)
|
||||||
|
|
||||||
@@ -812,11 +826,13 @@ ${UTILLIB}: ${UTILLIB_OBJS} ${FWLIB_OBJS}
|
|||||||
@$(PRINTF) " AR $(subst ${BUILD}/,,$@)\n"
|
@$(PRINTF) " AR $(subst ${BUILD}/,,$@)\n"
|
||||||
${Q}ar qc $@ $^
|
${Q}ar qc $@ $^
|
||||||
|
|
||||||
.PHONY: utillib20
|
.PHONY: utillib21
|
||||||
utillib20: ${UTILLIB20}
|
utillib21: ${UTILLIB21}
|
||||||
|
|
||||||
# TODO: better way to make .a than duplicating this recipe each time?
|
${UTILLIB21}: INCLUDES += -Ihost/lib21/include
|
||||||
${UTILLIB20}: ${UTILLIB20_OBJS} ${FWLIB20_OBJS}
|
|
||||||
|
# TODO: right now, firmware lib 2.1 isn't a complete standalone copy
|
||||||
|
${UTILLIB21}: ${UTILLIB21_OBJS} ${FWLIB20_OBJS} ${FWLIB21_OBJS}
|
||||||
@$(PRINTF) " RM $(subst ${BUILD}/,,$@)\n"
|
@$(PRINTF) " RM $(subst ${BUILD}/,,$@)\n"
|
||||||
${Q}rm -f $@
|
${Q}rm -f $@
|
||||||
@$(PRINTF) " AR $(subst ${BUILD}/,,$@)\n"
|
@$(PRINTF) " AR $(subst ${BUILD}/,,$@)\n"
|
||||||
@@ -911,12 +927,12 @@ signing_install: ${SIGNING_SCRIPTS} ${SIGNING_SCRIPTS_DEV} ${SIGNING_COMMON}
|
|||||||
futil: ${FUTIL_STATIC_BIN} ${FUTIL_BIN}
|
futil: ${FUTIL_STATIC_BIN} ${FUTIL_BIN}
|
||||||
|
|
||||||
${FUTIL_STATIC_BIN}: ${FUTIL_STATIC_OBJS} ${UTILLIB} \
|
${FUTIL_STATIC_BIN}: ${FUTIL_STATIC_OBJS} ${UTILLIB} \
|
||||||
$(if ${VBOOT2},${UTILLIB20})
|
$(if ${VBOOT2},${UTILLIB21})
|
||||||
@$(PRINTF) " LD $(subst ${BUILD}/,,$@)\n"
|
@$(PRINTF) " LD $(subst ${BUILD}/,,$@)\n"
|
||||||
${Q}${LD} -o $@ ${CFLAGS} ${LDFLAGS} -static $^ ${LDLIBS}
|
${Q}${LD} -o $@ ${CFLAGS} ${LDFLAGS} -static $^ ${LDLIBS}
|
||||||
|
|
||||||
${FUTIL_BIN}: LDLIBS += ${CRYPTO_LIBS}
|
${FUTIL_BIN}: LDLIBS += ${CRYPTO_LIBS}
|
||||||
${FUTIL_BIN}: ${FUTIL_OBJS} ${UTILLIB} $(if ${VBOOT2},${UTILLIB20})
|
${FUTIL_BIN}: ${FUTIL_OBJS} ${UTILLIB} $(if ${VBOOT2},${UTILLIB21})
|
||||||
@$(PRINTF) " LD $(subst ${BUILD}/,,$@)\n"
|
@$(PRINTF) " LD $(subst ${BUILD}/,,$@)\n"
|
||||||
${Q}${LD} -o $@ ${CFLAGS} ${LDFLAGS} $^ ${LDLIBS}
|
${Q}${LD} -o $@ ${CFLAGS} ${LDFLAGS} $^ ${LDLIBS}
|
||||||
|
|
||||||
@@ -954,8 +970,9 @@ ${TEST_BINS}: ${UTILLIB} ${TESTLIB}
|
|||||||
${TEST_BINS}: INCLUDES += -Itests
|
${TEST_BINS}: INCLUDES += -Itests
|
||||||
${TEST_BINS}: LIBS = ${TESTLIB} ${UTILLIB}
|
${TEST_BINS}: LIBS = ${TESTLIB} ${UTILLIB}
|
||||||
|
|
||||||
${TEST20_BINS}: ${UTILLIB20}
|
${TEST20_BINS}: ${UTILLIB21}
|
||||||
${TEST20_BINS}: LIBS += ${UTILLIB20}
|
${TEST20_BINS}: INCLUDES += -Ihost/lib21/include
|
||||||
|
${TEST20_BINS}: LIBS += ${UTILLIB21}
|
||||||
|
|
||||||
${TESTLIB}: ${TESTLIB_OBJS}
|
${TESTLIB}: ${TESTLIB_OBJS}
|
||||||
@$(PRINTF) " RM $(subst ${BUILD}/,,$@)\n"
|
@$(PRINTF) " RM $(subst ${BUILD}/,,$@)\n"
|
||||||
|
|||||||
Reference in New Issue
Block a user