diff options
author | Bin Meng | 2015-10-10 01:47:58 -0700 |
---|---|---|
committer | Simon Glass | 2015-10-21 07:46:26 -0600 |
commit | 62716ebb751dbe7346ff52b17be867505d959bcc (patch) | |
tree | 95774378e856a4041b21aa0046cd97a3d03d1a9d /arch/x86 | |
parent | b325cbb171dabf76530598448375581409a94c88 (diff) |
x86: fsp: Make hob command a sub-command to fsp
Introduce a new fsp command and make the existing hob command a
sub-command to fsp for future extension. Also move cmd_hob.c to
the dedicated fsp sub-directory in arch/x86/lib.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/lib/Makefile | 1 | ||||
-rw-r--r-- | arch/x86/lib/fsp/Makefile | 1 | ||||
-rw-r--r-- | arch/x86/lib/fsp/cmd_fsp.c (renamed from arch/x86/lib/cmd_hob.c) | 33 |
3 files changed, 28 insertions, 7 deletions
diff --git a/arch/x86/lib/Makefile b/arch/x86/lib/Makefile index 4ac99560ab0..fa959443990 100644 --- a/arch/x86/lib/Makefile +++ b/arch/x86/lib/Makefile @@ -10,7 +10,6 @@ obj-y += bios_asm.o obj-y += bios_interrupts.o obj-$(CONFIG_CMD_BOOTM) += bootm.o obj-y += cmd_boot.o -obj-$(CONFIG_HAVE_FSP) += cmd_hob.o obj-$(CONFIG_EFI) += efi/ obj-y += e820.o obj-y += gcc.o diff --git a/arch/x86/lib/fsp/Makefile b/arch/x86/lib/fsp/Makefile index 5b12c12d7a9..3ea4880a30d 100644 --- a/arch/x86/lib/fsp/Makefile +++ b/arch/x86/lib/fsp/Makefile @@ -4,6 +4,7 @@ # SPDX-License-Identifier: GPL-2.0+ # +obj-y += cmd_fsp.o obj-y += fsp_car.o obj-y += fsp_common.o obj-y += fsp_dram.o diff --git a/arch/x86/lib/cmd_hob.c b/arch/x86/lib/fsp/cmd_fsp.c index 4a29aeed3bd..b0b18758b0d 100644 --- a/arch/x86/lib/cmd_hob.c +++ b/arch/x86/lib/fsp/cmd_fsp.c @@ -1,12 +1,11 @@ /* - * Copyright (C) 2014, Bin Meng <bmeng.cn@gmail.com> + * Copyright (C) 2014-2015, Bin Meng <bmeng.cn@gmail.com> * * SPDX-License-Identifier: GPL-2.0+ */ #include <common.h> #include <command.h> -#include <linux/compiler.h> #include <asm/fsp/fsp_support.h> DECLARE_GLOBAL_DATA_PTR; @@ -26,7 +25,7 @@ static char *hob_type[] = { "Capsule", }; -int do_hob(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +static int do_hob(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { const struct hob_header *hdr; uint type; @@ -74,8 +73,30 @@ int do_hob(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) return 0; } +static cmd_tbl_t fsp_commands[] = { + U_BOOT_CMD_MKENT(hob, 0, 1, do_hob, "", ""), +}; + +static int do_fsp(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +{ + cmd_tbl_t *fsp_cmd; + int ret; + + if (argc < 2) + return CMD_RET_USAGE; + fsp_cmd = find_cmd_tbl(argv[1], fsp_commands, ARRAY_SIZE(fsp_commands)); + argc -= 2; + argv += 2; + if (!fsp_cmd || argc > fsp_cmd->maxargs) + return CMD_RET_USAGE; + + ret = fsp_cmd->cmd(fsp_cmd, flag, argc, argv); + + return cmd_process_error(fsp_cmd, ret); +} + U_BOOT_CMD( - hob, 1, 1, do_hob, - "print Firmware Support Package (FSP) Hand-Off Block information", - "" + fsp, 2, 1, do_fsp, + "Show Intel Firmware Support Package (FSP) related information", + "hob - Print FSP Hand-Off Block (HOB) information" ); |