18582237ac
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>
42 lines
1.3 KiB
C
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 */
|