Intel® X86 Encoder Decoder
CPUID Interface

Each Intel® XED ISA-SET can be mapped to one or more CPUID groups (feature bit, Intel® AVX10...) and each CPUID group is mapped to one or more CPUID records. For each ISA-SET, the CPUID scan should accrue in two nested loops; by iterating through all ISA-SET's CPUID groups and by iterating through all group's CPUID records. For more usage example, please check the xed-ex1.c example (Small Examples of using Intel® XED). More...

Data Structures

struct  xed_cpuid_rec_t
 a data structure representing a CPUID record More...
 

Functions

XED_DLL_EXPORT xed_cpuid_group_enum_t xed_get_cpuid_group_enum_for_isa_set (xed_isa_set_enum_t isaset, xed_uint_t i)
 Returns the name of the i'th cpuid group associated with the given isa-set. This function is called repeatedly, with i = 0 until reaching XED_MAX_CPUID_GROUPS_PER_ISA_SET or when the return value is XED_CPUID_GROUP_INVALID. An ISA-SET is supported by a chip if CPUID match is found for a single CPUID group (OR relationship between groups). More...
 
XED_DLL_EXPORT xed_bool_t xed_get_cpuid_rec (xed_cpuid_rec_enum_t cpuid_bit, xed_cpuid_rec_t *p)
 provides the details of the CPUID specification, if the enumeration value is not sufficient. stores the values of the CPUID record in the given pointer p More...
 
XED_DLL_EXPORT xed_cpuid_rec_enum_t xed_get_cpuid_rec_enum_for_group (xed_cpuid_group_enum_t group, xed_uint_t i)
 Returns the name of the i'th cpuid record associated with the given cpuid group. This function is called repeatedly, with i = 0 until reaching XED_MAX_CPUID_RECS_PER_GROUP or when the return value is XED_CPUID_REC_INVALID. A cpuid group is satisfied if all of its cpuid records are set (AND relationship between records). More...
 

Detailed Description

Each Intel® XED ISA-SET can be mapped to one or more CPUID groups (feature bit, Intel® AVX10...) and each CPUID group is mapped to one or more CPUID records. For each ISA-SET, the CPUID scan should accrue in two nested loops; by iterating through all ISA-SET's CPUID groups and by iterating through all group's CPUID records. For more usage example, please check the xed-ex1.c example (Small Examples of using Intel® XED).

Function Documentation

◆ xed_get_cpuid_group_enum_for_isa_set()

XED_DLL_EXPORT xed_cpuid_group_enum_t xed_get_cpuid_group_enum_for_isa_set ( xed_isa_set_enum_t  isaset,
xed_uint_t  i 
)

Returns the name of the i'th cpuid group associated with the given isa-set. This function is called repeatedly, with i = 0 until reaching XED_MAX_CPUID_GROUPS_PER_ISA_SET or when the return value is XED_CPUID_GROUP_INVALID. An ISA-SET is supported by a chip if CPUID match is found for a single CPUID group (OR relationship between groups).

◆ xed_get_cpuid_rec()

XED_DLL_EXPORT xed_bool_t xed_get_cpuid_rec ( xed_cpuid_rec_enum_t  cpuid_bit,
xed_cpuid_rec_t p 
)

provides the details of the CPUID specification, if the enumeration value is not sufficient. stores the values of the CPUID record in the given pointer p

Returns
xed_bool_t 1=success , 0=failure

◆ xed_get_cpuid_rec_enum_for_group()

XED_DLL_EXPORT xed_cpuid_rec_enum_t xed_get_cpuid_rec_enum_for_group ( xed_cpuid_group_enum_t  group,
xed_uint_t  i 
)

Returns the name of the i'th cpuid record associated with the given cpuid group. This function is called repeatedly, with i = 0 until reaching XED_MAX_CPUID_RECS_PER_GROUP or when the return value is XED_CPUID_REC_INVALID. A cpuid group is satisfied if all of its cpuid records are set (AND relationship between records).