_WHEA_PROCESSOR_GENERIC_ERROR_SECTION structure

The WHEA_PROCESSOR_GENERIC_ERROR_SECTION structure describes processor error data that is not specific to a particular processor architecture.

Syntax

typedef struct _WHEA_PROCESSOR_GENERIC_ERROR_SECTION {
  WHEA_PROCESSOR_GENERIC_ERROR_SECTION_VALIDBITS ValidBits;
  UCHAR                                          ProcessorType;
  UCHAR                                          InstructionSet;
  UCHAR                                          ErrorType;
  UCHAR                                          Operation;
  UCHAR                                          Flags;
  UCHAR                                          Level;
  USHORT                                         Reserved;
  ULONGLONG                                      CPUVersion;
  UCHAR                                          CPUBrandString[128];
  ULONGLONG                                      ProcessorId;
  ULONGLONG                                      TargetAddress;
  ULONGLONG                                      RequesterId;
  ULONGLONG                                      ResponderId;
  ULONGLONG                                      InstructionPointer;
} WHEA_PROCESSOR_GENERIC_ERROR_SECTION, *PWHEA_PROCESSOR_GENERIC_ERROR_SECTION;

Members

CPUBrandString

The CPU brand string.

  • For x86 and x64 processors, this member contains the result of executing the CPUID instruction with EAX set to 0x80000002 on input, followed by executing the CPUID instruction with EAX set to 0x80000003 on input. For more information about the CPUID instruction, see the Intel 64 and IA-32 Architectures Software Developer's Manual.
  • For Itanium processors, this member contains the result of executing the PAL_BRAND_INFO procedure.
This member contains valid data only if the CpuBrandString bit of the ValidBits member is set.

CPUVersion

The CPU version, which includes the family, model, and stepping information.

  • For x86 and x64 processors, this member contains a WHEA_PROCESSOR_FAMILY_INFO union.
  • For Itanium processors, this member contains the data provided in CPUID Register 3.
This member contains valid data only if the CPUVersion bit of the ValidBits member is set.

ErrorType

The type of error that occurred.

This member contains valid data only if the ErrorType bit of the ValidBits member is set.

Value Meaning
GENPROC_PROCERRTYPE_UNKNOWN
Unknown error
GENPROC_PROCERRTYPE_CACHE
Cache error
GENPROC_PROCERRTYPE_TLB
Translation lookaside buffer error
GENPROC_PROCERRTYPE_BUS
Bus error
GENPROC_PROCERRTYPE_MAE
Microarchitecture error

Flags

A bit-wise OR'ed combination of flags that provides additional information about the error.

This member contains valid data only if the Flags bit of the ValidBits member is set.

Value Meaning
GENPROC_FLAGS_RESTARTABLE
Program execution can be restarted reliably after the error.
GENPROC_FLAGS_PRECISEIP
The instruction pointer in the InstructionPointer member is directly associated with the error.
GENPROC_FLAGS_OVERFLOW
A machine check overflow occurred. This happens when a second error occurs while the results of the previous error are still in the error reporting resources.
GENPROC_FLAGS_CORRECTED
The error was corrected by the hardware or the firmware.

InstructionPointer

The instruction pointer at the time that the error occurred.

This member contains valid data only if the InstructionPointer bit of the ValidBits member is set.

InstructionSet

The instruction set that was executing when the error occurred.

This member contains valid data only if the InstructionSet bit of the ValidBits member is set.

Value Meaning
GENPROC_PROCISA_X86
x86
GENPROC_PROCISA_IPF
Itanium
GENPROC_PROCISA_X64
x64

Level

The level of the structure where the error occurred, with zero being the lowest level of cache.

This member contains valid data only if the Level bit of the ValidBits member is set.

Operation

The type of operation that was executing when the error occurred.

This member contains valid data only if the Operation bit of the ValidBits member is set.

Value Meaning
GENPROC_OP_GENERIC
Unknown or generic operation
GENPROC_OP_DATAREAD
Data read
GENPROC_OP_DATAWRITE
Data write
GENPROC_OP_INSTRUCTIONEXE
Instruction execution

ProcessorId

An identifier that uniquely identifies the logical processor in the system.

  • For x86 and x64 processors, this member contains the value programmed into the local APIC ID register.
  • For Itanium processors, this member contains the value programmed into the LID register.
This member contains valid data only if the ProcessorId bit of the ValidBits member is set.

ProcessorType

The processor architecture of the processor.

This member contains valid data only if the ProcessorType bit of the ValidBits member is set.

Value Meaning
GENPROC_PROCTYPE_XPF
x86/x64 processor family
GENPROC_PROCTYPE_IPF
Intel Itanium processor family

RequesterId

An identifier that uniquely identifies the requester associated with the error.

This member contains valid data only if the RequesterId bit of the ValidBits member is set.

Reserved

Reserved for system use.

ResponderId

An identifier that uniquely identifies the responder associated with the error.

This member contains valid data only if the ResponderId bit of the ValidBits member is set.

TargetAddress

The target address associated with the error.

This member contains valid data only if the TargetAddress bit of the ValidBits member is set.

ValidBits

A WHEA_PROCESSOR_GENERIC_ERROR_SECTION_VALIDBITS union that specifies which members of this structure contain valid data.

Remarks

The WHEA_PROCESSOR_GENERIC_ERROR_SECTION structure describes the error data that is contained in a generic processor error section of an error record. An error record contains a generic processor error section only if the SectionType member of one of the WHEA_ERROR_RECORD_SECTION_DESCRIPTOR structures that describe the error record sections for that error record contains PROCESSOR_GENERIC_ERROR_SECTION_GUID.

Requirements

   
Windows version Supported in Windows Server 2008, Windows Vista SP1, and later versions of Windows. Supported in Windows Server 2008, Windows Vista SP1, and later versions of Windows.
Header ntddk.h

See Also

WHEA_ERROR_RECORD_SECTION_DESCRIPTOR

WHEA_PROCESSOR_FAMILY_INFO

WHEA_PROCESSOR_GENERIC_ERROR_SECTION_VALIDBITS

WHEA_ERROR_PACKET

Send comments about this topic to Microsoft