diff options
| author | Simon Glass <sjg@chromium.org> | 2024-08-27 19:44:28 -0600 |
|---|---|---|
| committer | Simon Glass <sjg@chromium.org> | 2024-10-18 14:10:21 -0600 |
| commit | 557767f80294054932c7453be0e268ad39643fdc (patch) | |
| tree | 1fe61d87feeff227cb8655d31df43ec7e101f1d4 /cmd/x86/cpuid.c | |
| parent | ecf31113f17817f5ab9263937270255b6d05cdf9 (diff) | |
x86: Add a cpuid command
It is useful to obtain the results of cpuid queries, so add a command
for this.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'cmd/x86/cpuid.c')
| -rw-r--r-- | cmd/x86/cpuid.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/cmd/x86/cpuid.c b/cmd/x86/cpuid.c new file mode 100644 index 00000000000..222754b5d15 --- /dev/null +++ b/cmd/x86/cpuid.c @@ -0,0 +1,37 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * The 'cpuid' command provides access to the CPU's cpuid information + * + * Copyright 2024 Google, LLC + * Written by Simon Glass <sjg@chromium.org> + */ + +#include <command.h> +#include <vsprintf.h> +#include <asm/cpu.h> + +static int do_cpuid(struct cmd_tbl *cmdtp, int flag, int argc, + char *const argv[]) +{ + struct cpuid_result res; + ulong op; + + if (argc < 2) + return CMD_RET_USAGE; + + op = hextoul(argv[1], NULL); + res = cpuid(op); + printf("eax %08x\n", res.eax); + printf("ebx %08x\n", res.ebx); + printf("ecx %08x\n", res.ecx); + printf("edx %08x\n", res.edx); + + return 0; +} + +U_BOOT_LONGHELP(cpuid, "Show CPU Identification information"); + +U_BOOT_CMD( + cpuid, 2, 1, do_cpuid, + "cpuid <op>", cpuid_help_text +); |
