summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/cpu/x86/name/Makefile.inc1
-rw-r--r--src/soc/intel/skylake/bootblock/report_platform.c24
2 files changed, 5 insertions, 20 deletions
diff --git a/src/cpu/x86/name/Makefile.inc b/src/cpu/x86/name/Makefile.inc
index a2e37e56fc4e..944c18f87f09 100644
--- a/src/cpu/x86/name/Makefile.inc
+++ b/src/cpu/x86/name/Makefile.inc
@@ -11,4 +11,5 @@
## GNU General Public License for more details.
##
+bootblock-y += name.c
ramstage-y += name.c
diff --git a/src/soc/intel/skylake/bootblock/report_platform.c b/src/soc/intel/skylake/bootblock/report_platform.c
index 0bd65c3defd0..b0b416e1a06d 100644
--- a/src/soc/intel/skylake/bootblock/report_platform.c
+++ b/src/soc/intel/skylake/bootblock/report_platform.c
@@ -18,6 +18,7 @@
#include <device/pci_ops.h>
#include <console/console.h>
#include <cpu/x86/msr.h>
+#include <cpu/x86/name.h>
#include <device/pci.h>
#include <device/pci_ids.h>
#include <intelblocks/mp_init.h>
@@ -164,31 +165,14 @@ static uint16_t get_dev_id(pci_devfn_t dev)
static void report_cpu_info(void)
{
- struct cpuid_result cpuidr;
- u32 i, index, cpu_id, cpu_feature_flag;
- char cpu_string[50], *cpu_name = cpu_string; /* 48 bytes are reported */
+ u32 i, cpu_id, cpu_feature_flag;
+ char cpu_name[49];
int vt, txt, aes;
msr_t microcode_ver;
static const char *const mode[] = {"NOT ", ""};
const char *cpu_type = "Unknown";
- index = 0x80000000;
- cpuidr = cpuid(index);
- if (cpuidr.eax < 0x80000004) {
- strcpy(cpu_string, "Platform info not available");
- } else {
- u32 *p = (u32 *) cpu_string;
- for (i = 2; i <= 4; i++) {
- cpuidr = cpuid(index + i);
- *p++ = cpuidr.eax;
- *p++ = cpuidr.ebx;
- *p++ = cpuidr.ecx;
- *p++ = cpuidr.edx;
- }
- }
- /* Skip leading spaces in CPU name string */
- while (cpu_name[0] == ' ')
- cpu_name++;
+ fill_processor_name(cpu_name);
microcode_ver.lo = 0;
microcode_ver.hi = 0;