coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
upd_display.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
3 #include <console/console.h>
4 #include <fsp/util.h>
5 #include <lib.h>
6 
7 void fsp_display_upd_value(const char *name, size_t size, uint64_t old,
8  uint64_t new)
9 {
10  size *= 2;
11  if (old == new) {
12  printk(BIOS_SPEW, " 0x%0*llx: %s\n", (int)size, new, name);
13  } else {
14  printk(BIOS_SPEW, " 0x%0*llx --> 0x%0*llx: %s\n", (int)size,
15  old, (int)size, new, name);
16  }
17 }
18 
19 static void fspm_display_arch_params(const FSPM_ARCH_UPD *old,
20  const FSPM_ARCH_UPD *new)
21 {
22  /* Display the architectural parameters for MemoryInit */
23  printk(BIOS_SPEW, "Architectural UPD values for MemoryInit at: %p\n",
24  new);
25  fsp_display_upd_value("Revision", sizeof(old->Revision),
26  old->Revision, new->Revision);
27  fsp_display_upd_value("NvsBufferPtr", sizeof(old->NvsBufferPtr),
28  (uintptr_t)old->NvsBufferPtr,
29  (uintptr_t)new->NvsBufferPtr);
30  fsp_display_upd_value("StackBase", sizeof(old->StackBase),
31  (uintptr_t)old->StackBase,
32  (uintptr_t)new->StackBase);
33  fsp_display_upd_value("StackSize", sizeof(old->StackSize),
34  old->StackSize, new->StackSize);
35  fsp_display_upd_value("BootLoaderTolumSize",
36  sizeof(old->BootLoaderTolumSize),
37  old->BootLoaderTolumSize, new->BootLoaderTolumSize);
38  fsp_display_upd_value("BootMode", sizeof(old->BootMode),
39  old->BootMode, new->BootMode);
40 }
41 
42 /* Display the UPD parameters for MemoryInit */
44  const FSPM_UPD *fspm_old_upd,
45  const FSPM_UPD *fspm_new_upd)
46 {
47  printk(BIOS_SPEW, "UPD values for MemoryInit:\n");
48  hexdump(fspm_new_upd, sizeof(*fspm_new_upd));
49 }
50 
51 void fspm_display_upd_values(const FSPM_UPD *old,
52  const FSPM_UPD *new)
53 {
54  /* Display the UPD data */
55  fspm_display_arch_params(&old->FspmArchUpd, &new->FspmArchUpd);
57 }
58 
59 /* Display the UPD parameters for SiliconInit */
61  const FSPS_UPD *fsps_old_upd,
62  const FSPS_UPD *fsps_new_upd)
63 {
64  printk(BIOS_SPEW, "UPD values for SiliconInit:\n");
65  hexdump(fsps_new_upd, sizeof(*fsps_new_upd));
66 }
const char * name
Definition: mmu.c:92
#define printk(level,...)
Definition: stdlib.h:16
void fspm_display_upd_values(const FSPM_UPD *old, const FSPM_UPD *new)
Definition: upd_display.c:51
__weak void soc_display_fsps_upd_params(const FSPS_UPD *fsps_old_upd, const FSPS_UPD *fsps_new_upd)
Definition: upd_display.c:60
void fsp_display_upd_value(const char *name, size_t size, uint64_t old, uint64_t new)
Definition: upd_display.c:7
__weak void soc_display_fspm_upd_params(const FSPM_UPD *fspm_old_upd, const FSPM_UPD *fspm_new_upd)
Definition: upd_display.c:43
static void fspm_display_arch_params(const FSPM_ARCH_UPD *old, const FSPM_ARCH_UPD *new)
Definition: upd_display.c:19
void hexdump(const void *memory, size_t length)
Definition: hexdump.c:7
#define BIOS_SPEW
BIOS_SPEW - Excessively verbose output.
Definition: loglevel.h:142
const struct smm_save_state_ops *legacy_ops __weak
Definition: save_state.c:8
unsigned long uintptr_t
Definition: stdint.h:21
unsigned long long uint64_t
Definition: stdint.h:17