1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3 * The 'cpuid' command provides access to the CPU's cpuid information
4 *
5 * Copyright 2024 Google, LLC
6 * Written by Simon Glass <sjg@chromium.org>
7 */
8
9 #include <command.h>
10 #include <vsprintf.h>
11 #include <asm/cpu.h>
12
do_cpuid(struct cmd_tbl * cmdtp,int flag,int argc,char * const argv[])13 static int do_cpuid(struct cmd_tbl *cmdtp, int flag, int argc,
14 char *const argv[])
15 {
16 struct cpuid_result res;
17 ulong op;
18
19 if (argc < 2)
20 return CMD_RET_USAGE;
21
22 op = hextoul(argv[1], NULL);
23 res = cpuid(op);
24 printf("eax %08x\n", res.eax);
25 printf("ebx %08x\n", res.ebx);
26 printf("ecx %08x\n", res.ecx);
27 printf("edx %08x\n", res.edx);
28
29 return 0;
30 }
31
32 U_BOOT_LONGHELP(cpuid, "Show CPU Identification information");
33
34 U_BOOT_CMD(
35 cpuid, 2, 1, do_cpuid,
36 "cpuid <op>", cpuid_help_text
37 );
38