coreboot-kgpe-d16/src/include/bootblock_common.h
Kangheui Won 18582237ac src/lib/bootblock.c: make bootblock_main_with_timestamp public
bootblock_main_with_timestamp function allows to proceed with existing
timestamp table. Apparently we never needed this, but Zork runs verstage
in the PSP before bootblock.

It'd be useful if we can grab timestamps for verstage from PSP and
merge with coreboot timestamps. Making it non-static will enable us to
do that.

BUG=b:154142138, b:159220781
BRANCH=zork
TEST=build firmware for zork

Change-Id: I061c3fbb652c40bafa0a007aa75f2a82680f5e0a
Signed-off-by: Kangheui Won <khwon@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/45468
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2020-09-22 07:00:34 +00:00

42 lines
1.3 KiB
C

/* SPDX-License-Identifier: GPL-2.0-only */
#ifndef __BOOTBLOCK_COMMON_H
#define __BOOTBLOCK_COMMON_H
#include <arch/cpu.h>
#include <main_decl.h>
#include <timestamp.h>
#include <types.h>
/*
* These are defined as weak no-ops that can be overridden by mainboard/SoC.
* The 'early' variants are called prior to console initialization. Also, the
* SoC functions are called prior to the mainboard functions.
*/
void decompressor_soc_init(void);
void bootblock_mainboard_early_init(void);
void bootblock_mainboard_init(void);
void bootblock_soc_early_init(void);
void bootblock_soc_init(void);
/*
* C code entry point for the boot block.
*/
asmlinkage void bootblock_c_entry(uint64_t base_timestamp);
asmlinkage void bootblock_c_entry_bist(uint64_t base_timestamp, uint32_t bist);
/* To be used when APs execute through bootblock too. */
asmlinkage void ap_bootblock_c_entry(void);
void bootblock_main_with_basetime(uint64_t base_timestamp);
void bootblock_main_with_timestamp(uint64_t base_timestamp,
struct timestamp_entry *timestamps, size_t num_timestamps);
/* This is the argument structure passed from decompressor to bootblock. */
struct bootblock_arg {
uint64_t base_timestamp;
uint32_t num_timestamps;
struct timestamp_entry timestamps[];
};
#endif /* __BOOTBLOCK_COMMON_H */