dmi_intel_vpro

Synopsis

#include <opendmi/entity/intel/vpro.h>

typedef struct dmi_intel_vpro {
    dmi_intel_vpro_cpu_caps_t cpu_capabilities;
    dmi_intel_vpro_version_t mebx_version;
    uint8_t lpc_devfn;
    uint8_t lpc_bus;
    uint16_t lpc_device_id;
    dmi_intel_vpro_me_caps_t me_capabilities;
    dmi_intel_vpro_version_t me_version;
    dmi_intel_vpro_tpm_caps_t tpm_capabilities;
    uint8_t gbe_devfn;
    uint8_t gbe_bus;
    uint16_t gbe_device_id;
    uint8_t wlan_devfn;
    uint8_t wlan_bus;
    uint16_t wlan_device_id;
    dmi_intel_vpro_bios_caps_t bios_capabilities;
    dmi_binary_t signature;
    uint8_t tcg_major;
    uint8_t tcg_minor;
    uint8_t va_version;
    bool has_wlan;
    bool has_mch_capabilities;
    uint8_t mch_devfn;
    uint8_t mch_bus;
    uint16_t mch_device_id;
    dmi_intel_vpro_mch_caps_t mch_capabilities;
} dmi_intel_vpro_t;

Description

The dmi_intel_vpro_t structure holds the decoded Intel vPro information, which Intel calls the vPro verification table. It describes the parts of the platform Intel vPro technology relies on: the capabilities of the processor, of the Management Engine firmware, of the TPM and of the BIOS, the versions of the firmware and of its BIOS extension (MEBx), and the PCI functions of the chipset and of the network controller the Management Engine uses. The structure is found on Intel platforms whether they are of vPro or not.

The structure is returned by dmi_entity_info for the structures decoded by dmi_intel_vpro_spec, of type DMI_TYPE(intel_vpro), declared in <opendmi/module/intel.h>, once the Intel extension module (dmi_intel_module) is enabled, which is done for any platform with Intel processors when the context has DMI_CONTEXT_FLAG_AUTO_MODULES. It lives as long as the context it has been decoded in.

The structures are told by the vPro signature at offset 0x38, since some vendors give type 131 to structures of their own in the same table, e.g. Lenovo ThinkVantage Technologies enablement, see dmi_lenovo_tvt. The structures of type 131 without the signature are not decoded by this specification.

PCI functions are given as their bus, and their device and function numbers, (device << 3) | function, e.g. 0xF8 for 0:1F.0 and 0xFE for 0:1F.6.

The layout Intel documents holds the capabilities of the memory controller hub where the newer firmware puts the version of the BIOS extension, e.g. the one of HP EliteBook 6930p. Such structures are told by the major version of zero next to a minor version which is not, since the hub is found at 0:0.0 and has a device ID, while a version of the BIOS extension is either given in full or not at all. The fields of the hub are taken from the words of the version then, and are shown in place of it.

Fields

cpu_capabilities

Capabilities of the processor, see dmi_intel_vpro_cpu_caps.

mebx_version

Version of the Management Engine BIOS extension, see dmi_intel_vpro_version. All zeroes if not reported. Not shown when has_mch_capabilities is set.

lpc_devfn, lpc_bus, lpc_device_id

PCI device and function of the LPC bridge of the chipset, its bus, and its device ID, which tells the chipset, e.g. 0xA3C8 for Intel B460.

me_capabilities

Capabilities of the Management Engine firmware, see dmi_intel_vpro_me_caps.

me_version

Version of the Management Engine firmware, which matches the one of Intel firmware version information, see dmi_intel_fvi_item. All zeroes if not reported.

tpm_capabilities

Capabilities of the Trusted Platform Module, see dmi_intel_vpro_tpm_caps.

gbe_devfn, gbe_bus, gbe_device_id

PCI device and function of the wired network controller the Management Engine uses, its bus, and its device ID, 0xFFFF or zero if the controller is absent.

wlan_devfn, wlan_bus, wlan_device_id

PCI device and function of the wireless network controller, its bus, and its device ID, e.g. 0x088F for Intel Centrino Advanced-N 6235. The firmware of HP laptops gives the host bridge in its place, e.g. 0x0A04 for Intel Haswell-ULT, while most firmware gives no controller, and holds 0xFF00 or 0x00FF for the device ID. Not shown when has_wlan is not set.

bios_capabilities

Capabilities of the BIOS, see dmi_intel_vpro_bios_caps.

signature

Signature of the structure, vPro.

tcg_major, tcg_minor

Version of the TCG specification the TPM is designed to, taken from tpm_capabilities. Zero if not given.

va_version

Highest version of the Virtual Appliance the BIOS supports, taken from bios_capabilities: 0 for 2.6, 1 for 3.0.

has_wlan

Whether the structure gives the wireless network controller, or the host bridge in its place, which it does unless the device ID is zero, 0x00FF, 0xFF00 or 0xFFFF.

has_mch_capabilities

Whether the structure is of the older layout, which holds the capabilities of the memory controller hub in place of the version of the BIOS extension.

mch_devfn, mch_bus, mch_device_id

PCI device and function of the memory controller hub, its bus, and its device ID, e.g. 0x2A40 for Intel GM45. Older layout only.

mch_capabilities

Capabilities of the memory controller hub, see dmi_intel_vpro_mch_caps. Older layout only.

Standards

Not part of the SMBIOS specification. Defined by Intel, as the vPro verification table of the Intel AMT implementation and reference guide.