Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-only
0002 #include <linux/types.h>
0003 #include <linux/export.h>
0004 #include <asm/cpu.h>
0005 
0006 unsigned int x86_family(unsigned int sig)
0007 {
0008     unsigned int x86;
0009 
0010     x86 = (sig >> 8) & 0xf;
0011 
0012     if (x86 == 0xf)
0013         x86 += (sig >> 20) & 0xff;
0014 
0015     return x86;
0016 }
0017 EXPORT_SYMBOL_GPL(x86_family);
0018 
0019 unsigned int x86_model(unsigned int sig)
0020 {
0021     unsigned int fam, model;
0022 
0023     fam = x86_family(sig);
0024 
0025     model = (sig >> 4) & 0xf;
0026 
0027     if (fam >= 0x6)
0028         model += ((sig >> 16) & 0xf) << 4;
0029 
0030     return model;
0031 }
0032 EXPORT_SYMBOL_GPL(x86_model);
0033 
0034 unsigned int x86_stepping(unsigned int sig)
0035 {
0036     return sig & 0xf;
0037 }
0038 EXPORT_SYMBOL_GPL(x86_stepping);