17 if (
CONFIG(PLATFORM_USES_FSP2_3))
19 else if (
CONFIG(PLATFORM_USES_FSP2_2))
21 else if (
CONFIG(PLATFORM_USES_FSP2_1))
23 else if (
CONFIG(PLATFORM_USES_FSP2_0))
41 printk(
BIOS_ALERT,
"FSP header has invalid length: %d\n", hdr->header_length);
50 memcpy(hdr, fsp_blob,
sizeof(
struct fsp_header));
71 if (
CONFIG(DISPLAY_FSP_HEADER))
75 if (file_size < hdr->image_size) {
88 return (status >= FSP_STATUS_RESET_REQUIRED_COLD &&
89 status <= FSP_STATUS_RESET_REQUIRED_8);
100 case FSP_STATUS_RESET_REQUIRED_COLD:
103 case FSP_STATUS_RESET_REQUIRED_WARM:
106 case FSP_STATUS_RESET_REQUIRED_3:
107 case FSP_STATUS_RESET_REQUIRED_4:
108 case FSP_STATUS_RESET_REQUIRED_5:
109 case FSP_STATUS_RESET_REQUIRED_6:
110 case FSP_STATUS_RESET_REQUIRED_7:
111 case FSP_STATUS_RESET_REQUIRED_8:
173 hdr->spec_version & 0xf,
revision.rev.major,
182 if (upd_signature != expected_signature) {
186 "Invalid UPD signature! FSP provided \"%8s\", expected was \"%8s\".\n",
187 (
char *)&upd_signature,
188 (
char *)&expected_signature);
struct arm64_kernel_header header
void * memcpy(void *dest, const void *src, size_t n)
#define dead_code_t(type)
cb_err
coreboot error codes
@ CB_ERR
Generic error code.
@ CB_SUCCESS
Call completed successfully.
static void * cbfs_alloc(const char *name, cbfs_allocator_t allocator, void *arg, size_t *size_out)
ssize_t fsp_component_relocate(uintptr_t new_addr, void *fsp, size_t size)
@ LB_TAG_PLATFORM_BLOB_VERSION
#define printk(level,...)
#define die_with_post_code(value, fmt,...)
void chipset_handle_reset(uint32_t status)
static bool fspm_xip(void)
void lb_string_platform_blob_version(struct lb_header *header)
static uint32_t fsp_hdr_get_expected_min_length(void)
void fsp_verify_upd_header_signature(uint64_t upd_signature, uint64_t expected_signature)
static bool looks_like_fsp_header(struct fsp_header *hdr)
enum cb_err fsp_identify(struct fsp_header *hdr, const void *fsp_blob)
static bool fsp_reset_requested(uint32_t status)
static bool fspm_env(void)
void fsp_handle_reset(uint32_t status)
void fsp_get_version(char *buf)
enum cb_err fsp_validate_component(struct fsp_header *hdr, void *fsp_file, size_t file_size)
enum cb_err fsp_load_component(struct fsp_load_descriptor *fspld, struct fsp_header *hdr)
__weak void soc_validate_fspm_header(const struct fsp_header *hdr)
struct lb_record * lb_new_record(struct lb_header *header)
#define BIOS_CRIT
BIOS_CRIT - Recovery unlikely.
#define BIOS_ALERT
BIOS_ALERT - Dying / Unrecoverable.
#define BIOS_ERR
BIOS_ERR - System in incomplete state.
#define BIOS_SPEW
BIOS_SPEW - Excessively verbose output.
#define POST_INVALID_VENDOR_BINARY
Vendor binary error.
void prog_segment_loaded(uintptr_t start, size_t size, int flags)
static const char * prog_name(const struct prog *prog)
static void prog_set_area(struct prog *prog, void *start, size_t size)
const struct smm_save_state_ops *legacy_ops __weak
static uint32_t fsp_version
unsigned long long uint64_t
int memcmp(const void *s1, const void *s2, size_t n)
size_t strlen(const char *src)
int snprintf(char *buf, size_t size, const char *fmt,...)
Note: This file is only for POSIX compatibility, and is meant to be chain-included via string....