Intel® X86 Encoder Decoder: CPUID Interface

Intel® X86 Encoder Decoder

Loading...
Searching...
No Matches
CPUID Interface

## 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.
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.
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.

## 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-dec.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).