aboutsummaryrefslogtreecommitdiff
path: root/src/lib/bootblock.c
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2016-02-09 16:09:15 -0800
committerJulius Werner <jwerner@chromium.org>2016-02-12 21:54:52 +0100
commit8c09377deab1b5a5120889bb6c689ad460381c29 (patch)
tree6633f840aa3f0a76c841847b8e527a652d557e49 /src/lib/bootblock.c
parent4b13c7c61e9a54f893f8e16f57b1666ad4bafdbc (diff)
timestamp: Remove HAS_PRECBMEM_TIMESTAMP_REGION Kconfig
This patch generalizes the approach previously used for ARM32 TTB_SUBTABLES to "auto-detect" whether a certain region was defined in memlayout.ld. This allows us to get rid of the explicit Kconfig for the TIMESTAMP region, reducing configuration redundancy and avoiding confusion when setting up future boards. (Removing armv4/bootblock_simple.c because it references this Kconfig and it is a dead file that I just forgot to remove in CL:12076.) BRANCH=None BUG=None TEST=Booted Oak and confirmed that all pre-RAM timestamps are still there. Built Nyan and Falco. Change-Id: I557a4b263018511d17baa4177963130a97ea310a Signed-off-by: Julius Werner <jwerner@chromium.org> Reviewed-on: https://review.coreboot.org/13652 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/lib/bootblock.c')
-rw-r--r--src/lib/bootblock.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/bootblock.c b/src/lib/bootblock.c
index d7d0bb56f4..4a36a58f85 100644
--- a/src/lib/bootblock.c
+++ b/src/lib/bootblock.c
@@ -19,8 +19,11 @@
#include <console/console.h>
#include <delay.h>
#include <program_loading.h>
+#include <symbols.h>
#include <timestamp.h>
+DECLARE_OPTIONAL_REGION(timestamp);
+
__attribute__((weak)) void bootblock_mainboard_early_init(void) { /* no-op */ }
__attribute__((weak)) void bootblock_soc_init(void) { /* do nothing */ }
__attribute__((weak)) void bootblock_mainboard_init(void) { /* do nothing */ }
@@ -28,7 +31,9 @@ __attribute__((weak)) void bootblock_mainboard_init(void) { /* do nothing */ }
void main(void)
{
init_timer();
- if (IS_ENABLED(CONFIG_HAS_PRECBMEM_TIMESTAMP_REGION))
+
+ /* Initialize timestamps if we have TIMESTAMP region in memlayout.ld. */
+ if (IS_ENABLED(CONFIG_COLLECT_TIMESTAMPS) && _timestamp_size > 0)
timestamp_init(timestamp_get());
bootblock_mainboard_early_init();