diff --git a/src/soc/intel/skylake/bootblock/report_platform.c b/src/soc/intel/skylake/bootblock/report_platform.c
index 0bd65c3..b0b416e 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 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;
