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