diff options
-rw-r--r-- | arch/x86/cpu/cpu_x86.c | 5 | ||||
-rw-r--r-- | include/cpu.h | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/cpu/cpu_x86.c b/arch/x86/cpu/cpu_x86.c index 09410416a1f..39004ee5f0f 100644 --- a/arch/x86/cpu/cpu_x86.c +++ b/arch/x86/cpu/cpu_x86.c @@ -15,9 +15,14 @@ DECLARE_GLOBAL_DATA_PTR; int cpu_x86_bind(struct udevice *dev) { struct cpu_platdata *plat = dev_get_parent_platdata(dev); + struct cpuid_result res; plat->cpu_id = fdtdec_get_int(gd->fdt_blob, dev->of_offset, "intel,apic-id", -1); + plat->family = gd->arch.x86; + res = cpuid(1); + plat->id[0] = res.eax; + plat->id[1] = res.edx; return 0; } diff --git a/include/cpu.h b/include/cpu.h index bda53150a6f..7d4486bbf33 100644 --- a/include/cpu.h +++ b/include/cpu.h @@ -21,6 +21,8 @@ struct cpu_platdata { int cpu_id; int ucode_version; ulong device_id; + u16 family; /* DMTF CPU Family */ + u32 id[2]; /* DMTF CPU Processor IDs */ }; /* CPU features - mostly just a placeholder for now */ |