summaryrefslogtreecommitdiff
path: root/arch/x86/lib/bdinfo.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/lib/bdinfo.c')
-rw-r--r--arch/x86/lib/bdinfo.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/arch/x86/lib/bdinfo.c b/arch/x86/lib/bdinfo.c
new file mode 100644
index 00000000000..165e8ab944f
--- /dev/null
+++ b/arch/x86/lib/bdinfo.c
@@ -0,0 +1,32 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * x86-specific information for the 'bd' command
+ *
+ * Copyright 2021 Google LLC
+ */
+
+#include <efi.h>
+#include <init.h>
+#include <asm/cpu.h>
+#include <asm/efi.h>
+#include <asm/global_data.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+void arch_print_bdinfo(void)
+{
+ bdinfo_print_num_l("prev table", gd->arch.table);
+ bdinfo_print_num_l("clock_rate", gd->arch.clock_rate);
+ bdinfo_print_num_l("tsc_base", gd->arch.tsc_base);
+ bdinfo_print_num_l("vendor", gd->arch.x86_vendor);
+ bdinfo_print_str(" name", cpu_vendor_name(gd->arch.x86_vendor));
+ bdinfo_print_num_l("model", gd->arch.x86_model);
+ bdinfo_print_num_l("phys_addr in bits", cpu_phys_address_size());
+ bdinfo_print_num_l("table start", gd->arch.table_start);
+ bdinfo_print_num_l("table end", gd->arch.table_end);
+ bdinfo_print_num_l(" high start", gd->arch.table_start_high);
+ bdinfo_print_num_l(" high end", gd->arch.table_end_high);
+
+ if (IS_ENABLED(CONFIG_EFI_STUB))
+ efi_show_bdinfo();
+}