linux/arch/x86/lib/cpu.c
<<
>>
Prefs
   1#include <linux/types.h>
   2#include <linux/export.h>
   3
   4unsigned int x86_family(unsigned int sig)
   5{
   6        unsigned int x86;
   7
   8        x86 = (sig >> 8) & 0xf;
   9
  10        if (x86 == 0xf)
  11                x86 += (sig >> 20) & 0xff;
  12
  13        return x86;
  14}
  15EXPORT_SYMBOL_GPL(x86_family);
  16
  17unsigned int x86_model(unsigned int sig)
  18{
  19        unsigned int fam, model;
  20
  21         fam = x86_family(sig);
  22
  23        model = (sig >> 4) & 0xf;
  24
  25        if (fam >= 0x6)
  26                model += ((sig >> 16) & 0xf) << 4;
  27
  28        return model;
  29}
  30EXPORT_SYMBOL_GPL(x86_model);
  31
  32unsigned int x86_stepping(unsigned int sig)
  33{
  34        return sig & 0xf;
  35}
  36EXPORT_SYMBOL_GPL(x86_stepping);
  37