gem5 v24.1.0.1
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
gem5::X86ISA::X86CPUID Class Reference

#include <cpuid.hh>

Public Member Functions

 X86CPUID (const std::string &vendor, const std::string &name)
 
void addStandardFunc (uint32_t func, std::vector< uint32_t > values)
 
void addExtendedFunc (uint32_t func, std::vector< uint32_t > values)
 
bool doCpuid (ThreadContext *tc, uint32_t function, uint32_t index, CpuidResult &result)
 
bool hasSignificantIndex (uint32_t function)
 

Private Member Functions

uint64_t stringToRegister (const char *str)
 

Private Attributes

const std::string vendorString
 
const std::string nameString
 
std::unordered_map< uint32_t, std::vector< uint32_t > > capabilities
 

Detailed Description

Definition at line 93 of file cpuid.hh.

Constructor & Destructor Documentation

◆ X86CPUID()

gem5::X86ISA::X86CPUID::X86CPUID ( const std::string &  vendor,
const std::string &  name 
)

Definition at line 42 of file cpuid.cc.

References fatal_if, and vendorString.

Member Function Documentation

◆ addExtendedFunc()

void gem5::X86ISA::X86CPUID::addExtendedFunc ( uint32_t  func,
std::vector< uint32_t >  values 
)

Definition at line 56 of file cpuid.cc.

References capabilities.

◆ addStandardFunc()

void gem5::X86ISA::X86CPUID::addStandardFunc ( uint32_t  func,
std::vector< uint32_t >  values 
)

Definition at line 50 of file cpuid.cc.

References capabilities.

◆ doCpuid()

bool gem5::X86ISA::X86CPUID::doCpuid ( ThreadContext tc,
uint32_t  function,
uint32_t  index,
CpuidResult result 
)

◆ hasSignificantIndex()

bool gem5::X86ISA::X86CPUID::hasSignificantIndex ( uint32_t  function)

Definition at line 147 of file cpuid.cc.

References gem5::bits(), and gem5::X86ISA::ExtendedState.

Referenced by doCpuid().

◆ stringToRegister()

uint64_t gem5::X86ISA::X86CPUID::stringToRegister ( const char *  str)
private

Definition at line 134 of file cpuid.cc.

References gem5::X86ISA::reg.

Referenced by doCpuid().

Member Data Documentation

◆ capabilities

std::unordered_map<uint32_t, std::vector<uint32_t> > gem5::X86ISA::X86CPUID::capabilities
private

Definition at line 108 of file cpuid.hh.

Referenced by addExtendedFunc(), addStandardFunc(), and doCpuid().

◆ nameString

const std::string gem5::X86ISA::X86CPUID::nameString
private

Definition at line 107 of file cpuid.hh.

Referenced by doCpuid().

◆ vendorString

const std::string gem5::X86ISA::X86CPUID::vendorString
private

Definition at line 106 of file cpuid.hh.

Referenced by doCpuid(), and X86CPUID().


The documentation for this class was generated from the following files:

Generated on Mon Jan 13 2025 04:30:40 for gem5 by doxygen 1.9.8