cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

cpu.c (624B)


      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);