x86: cpu: Add functions to return the family and stepping

These two identifiers can be useful for drivers which need to adjust their
behaviour depending on the CPU family or stepping (revision).

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
master
Simon Glass 8 years ago committed by Bin Meng
parent e4d6ab0c2c
commit 342727ace6
  1. 10
      arch/x86/cpu/cpu.c
  2. 14
      arch/x86/include/asm/cpu.h

@ -333,6 +333,16 @@ static inline void get_fms(struct cpuinfo_x86 *c, uint32_t tfms)
c->x86_model += ((tfms >> 16) & 0xF) << 4;
}
u32 cpu_get_family_model(void)
{
return gd->arch.x86_device & 0x0fff0ff0;
}
u32 cpu_get_stepping(void)
{
return gd->arch.x86_mask;
}
int x86_cpu_init_f(void)
{
const u32 em_rst = ~X86_CR0_EM;

@ -260,4 +260,18 @@ void cpu_call32(ulong code_seg32, ulong target, ulong table);
*/
int cpu_jump_to_64bit(ulong setup_base, ulong target);
/**
* cpu_get_family_model() - Get the family and model for the CPU
*
* @return the CPU ID masked with 0x0fff0ff0
*/
u32 cpu_get_family_model(void);
/**
* cpu_get_stepping() - Get the stepping value for the CPU
*
* @return the CPU ID masked with 0xf
*/
u32 cpu_get_stepping(void);
#endif

Loading…
Cancel
Save