summaryrefslogtreecommitdiff
path: root/arch/x86/lib
diff options
context:
space:
mode:
authorBin Meng <bmeng.cn@gmail.com>2015-10-10 01:47:58 -0700
committerSimon Glass <sjg@chromium.org>2015-10-21 07:46:26 -0600
commit62716ebb751dbe7346ff52b17be867505d959bcc (patch)
tree95774378e856a4041b21aa0046cd97a3d03d1a9d /arch/x86/lib
parentb325cbb171dabf76530598448375581409a94c88 (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/lib')
-rw-r--r--arch/x86/lib/Makefile1
-rw-r--r--arch/x86/lib/fsp/Makefile1
-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 4ac99560ab..fa95944399 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 5b12c12d7a..3ea4880a30 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 4a29aeed3b..b0b18758b0 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"
);