mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-11 07:34:31 +00:00
255fd5caa5
This is the follow-on patch to clean up the FSP support codes: - Remove the _t suffix on the structures defines - Use __packed for structure defines - Use U-Boot's assert() - Use standard bool true/false - Remove read_unaligned64() - Use memcmp() in the compare_guid() - Remove the cast in the memset() call - Replace some magic numbers with macros - Use panic() when no valid FSP image header is found - Change some FSP utility routines to use an fsp_ prefix - Add comment blocks for asm_continuation and fsp_init_done - Remove some casts in find_fsp_header() - Change HOB access macros to static inline routines - Add comments to mention find_fsp_header() may be called in a stackless environment - Add comments to mention init(¶ms) in fsp_init() cannot be removed Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
65 lines
1.4 KiB
C
65 lines
1.4 KiB
C
/*
|
|
* Copyright (C) 2014, Bin Meng <bmeng.cn@gmail.com>
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
#include <common.h>
|
|
#include <command.h>
|
|
#include <linux/compiler.h>
|
|
#include <asm/arch/fsp/fsp_support.h>
|
|
|
|
DECLARE_GLOBAL_DATA_PTR;
|
|
|
|
static char *hob_type[] = {
|
|
"reserved",
|
|
"Hand-off",
|
|
"Memory Allocation",
|
|
"Resource Descriptor",
|
|
"GUID Extension",
|
|
"Firmware Volume",
|
|
"CPU",
|
|
"Memory Pool",
|
|
"reserved",
|
|
"Firmware Volume 2",
|
|
"Load PEIM Unused",
|
|
"UEFI Capsule",
|
|
};
|
|
|
|
int do_hob(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
|
{
|
|
union hob_pointers hob;
|
|
u16 type;
|
|
char *desc;
|
|
int i = 0;
|
|
|
|
hob.raw = (u8 *)gd->arch.hob_list;
|
|
|
|
printf("HOB list address: 0x%08x\n\n", (unsigned int)hob.raw);
|
|
|
|
printf("No. | Address | Type | Length in Bytes\n");
|
|
printf("----|----------|---------------------|----------------\n");
|
|
while (!end_of_hob(hob)) {
|
|
printf("%-3d | %08x | ", i, (unsigned int)hob.raw);
|
|
type = get_hob_type(hob);
|
|
if (type == HOB_TYPE_UNUSED)
|
|
desc = "*Unused*";
|
|
else if (type == HOB_TYPE_EOH)
|
|
desc = "*END OF HOB*";
|
|
else if (type >= 0 && type <= ARRAY_SIZE(hob_type))
|
|
desc = hob_type[type];
|
|
else
|
|
desc = "*Invalid Type*";
|
|
printf("%-19s | %-15d\n", desc, get_hob_length(hob));
|
|
hob.raw = get_next_hob(hob);
|
|
i++;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
U_BOOT_CMD(
|
|
hob, 1, 1, do_hob,
|
|
"print Firmware Support Package (FSP) Hand-Off Block information",
|
|
""
|
|
);
|