summaryrefslogtreecommitdiff
path: root/src/arch
diff options
context:
space:
mode:
authorStefan Reinauer <stefan.reinauer@coreboot.org>2015-01-14 19:51:47 +0100
committerMarc Jones <marc.jones@se-eng.com>2015-01-27 01:41:40 +0100
commit77b1655d9bccd0c93cb1a6b86ecc98e2074504a3 (patch)
tree4a5dc149e9860c6755499053e2729c6937ccf24f /src/arch
parent40ce5d90b8b2f2b90e7198ab64e507a59bed93c7 (diff)
downloadcoreboot-77b1655d9bccd0c93cb1a6b86ecc98e2074504a3.tar.xz
vboot2: add verstage
This reverts the revert commit 5780d6f3876723b94fbe3653c9d87dad6330862e and fixes the build issue that cuased it to be reverted. Verstage will host vboot2 for firmware verification. It's a stage in the sense that it has its own set of toolchains, compiler flags, and includes. This allows us to easily add object files as needed. But it's directly linked to bootblock. This allows us to avoid code duplication for stage loading and jumping (e.g. cbfs driver) for the boards where bootblock has to run in a different architecture (e.g. Tegra124). To avoid name space conflict, verstage symbols are prefixed with verstage_. TEST=Built with VBOOT2_VERIFY_FIRMWARE on/off. Booted Nyan Blaze. BUG=None BRANCH=none Original-Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Original-Change-Id: Iad57741157ec70426c676e46c5855e6797ac1dac Original-Reviewed-on: https://chromium-review.googlesource.com/204376 Original-Reviewed-by: Randall Spangler <rspangler@chromium.org> (cherry picked from commit 27940f891678dae975b68f2fc729ad7348192af3) Signed-off-by: Marc Jones <marc.jones@se-eng.com> Change-Id: I2a83b87c29d98d97ae316091cf3ed7b024e21daf Reviewed-on: http://review.coreboot.org/8224 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/arm/Kconfig4
-rw-r--r--src/arch/arm/Makefile.inc2
-rw-r--r--src/arch/arm/armv4/Kconfig4
-rw-r--r--src/arch/arm/armv7/Kconfig4
-rw-r--r--src/arch/arm64/Kconfig4
-rw-r--r--src/arch/arm64/armv8/Kconfig4
-rw-r--r--src/arch/riscv/Kconfig4
-rw-r--r--src/arch/x86/Kconfig4
8 files changed, 29 insertions, 1 deletions
diff --git a/src/arch/arm/Kconfig b/src/arch/arm/Kconfig
index 156c8c227e..1c3a339bd9 100644
--- a/src/arch/arm/Kconfig
+++ b/src/arch/arm/Kconfig
@@ -3,6 +3,10 @@ config ARCH_BOOTBLOCK_ARM
default n
select ARCH_ARM
+config ARCH_VERSTAGE_ARM
+ bool
+ default n
+
config ARCH_ROMSTAGE_ARM
bool
default n
diff --git a/src/arch/arm/Makefile.inc b/src/arch/arm/Makefile.inc
index 5698f38c9b..6f65a71c75 100644
--- a/src/arch/arm/Makefile.inc
+++ b/src/arch/arm/Makefile.inc
@@ -61,7 +61,7 @@ bootblock-y += memcpy.S
bootblock-y += memmove.S
bootblock-y += div0.c
-$(objcbfs)/bootblock.debug: $(src)/arch/arm/bootblock.ld $(obj)/ldoptions $$(bootblock-objs)
+$(objcbfs)/bootblock.debug: $(src)/arch/arm/bootblock.ld $(obj)/ldoptions $$(bootblock-objs) $$(VERSTAGE_LIB)
@printf " LINK $(subst $(obj)/,,$(@))\n"
$(LD_bootblock) --gc-sections -static -o $@ -L$(obj) --start-group $(bootblock-objs) --end-group -T $(src)/arch/arm/bootblock.ld
diff --git a/src/arch/arm/armv4/Kconfig b/src/arch/arm/armv4/Kconfig
index e40a6e1af9..aa5fab9bcd 100644
--- a/src/arch/arm/armv4/Kconfig
+++ b/src/arch/arm/armv4/Kconfig
@@ -2,6 +2,10 @@ config ARCH_BOOTBLOCK_ARMV4
def_bool n
select ARCH_BOOTBLOCK_ARM
+config ARCH_VERSTAGE_ARMV4
+ def_bool n
+ select ARCH_VERSTAGE_ARM
+
config ARCH_ROMSTAGE_ARMV4
def_bool n
select ARCH_ROMSTAGE_ARM
diff --git a/src/arch/arm/armv7/Kconfig b/src/arch/arm/armv7/Kconfig
index f8e0205c40..aa188e2764 100644
--- a/src/arch/arm/armv7/Kconfig
+++ b/src/arch/arm/armv7/Kconfig
@@ -2,6 +2,10 @@ config ARCH_BOOTBLOCK_ARMV7
def_bool n
select ARCH_BOOTBLOCK_ARM
+config ARCH_VERSTAGE_ARMV7
+ def_bool n
+ select ARCH_VERSTAGE_ARM
+
config ARCH_ROMSTAGE_ARMV7
def_bool n
select ARCH_ROMSTAGE_ARM
diff --git a/src/arch/arm64/Kconfig b/src/arch/arm64/Kconfig
index dc0e332ed2..186dd4481e 100644
--- a/src/arch/arm64/Kconfig
+++ b/src/arch/arm64/Kconfig
@@ -3,6 +3,10 @@ config ARCH_BOOTBLOCK_ARM64
default n
select ARCH_ARM64
+config ARCH_VERSTAGE_ARM64
+ bool
+ default n
+
config ARCH_ROMSTAGE_ARM64
bool
default n
diff --git a/src/arch/arm64/armv8/Kconfig b/src/arch/arm64/armv8/Kconfig
index 1dd2576cb7..02a8dba93b 100644
--- a/src/arch/arm64/armv8/Kconfig
+++ b/src/arch/arm64/armv8/Kconfig
@@ -2,6 +2,10 @@ config ARCH_BOOTBLOCK_ARMV8_64
def_bool n
select ARCH_BOOTBLOCK_ARM64
+config ARCH_VERSTAGE_ARMV8_64
+ def_bool n
+ select ARCH_VERSTAGE_ARM64
+
config ARCH_ROMSTAGE_ARMV8_64
def_bool n
select ARCH_ROMSTAGE_ARM64
diff --git a/src/arch/riscv/Kconfig b/src/arch/riscv/Kconfig
index 120203d6ca..f2dc41eae1 100644
--- a/src/arch/riscv/Kconfig
+++ b/src/arch/riscv/Kconfig
@@ -3,6 +3,10 @@ config ARCH_BOOTBLOCK_RISCV
default n
select ARCH_RISCV
+config ARCH_VERSTAGE_RISCV
+ bool
+ default n
+
config ARCH_ROMSTAGE_RISCV
bool
default n
diff --git a/src/arch/x86/Kconfig b/src/arch/x86/Kconfig
index 56d8f88dd6..edbc67acb2 100644
--- a/src/arch/x86/Kconfig
+++ b/src/arch/x86/Kconfig
@@ -3,6 +3,10 @@ config ARCH_BOOTBLOCK_X86_32
default n
select ARCH_X86
+config ARCH_VERSTAGE_X86_32
+ bool
+ default n
+
config ARCH_ROMSTAGE_X86_32
bool
default n