WHEA_PROCESSOR_GENERIC_ERROR_SECTION structure (ntddk.h)
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
ValidBits
A WHEA_PROCESSOR_GENERIC_ERROR_SECTION_VALIDBITS union that specifies which members of this structure contain valid data.
ProcessorType
The processor architecture of the processor.
This member contains valid data only if the ProcessorType bit of the ValidBits member is set.
Value | Description |
---|---|
GENPROC_PROCTYPE_XPF | x86/x64 processor family |
GENPROC_PROCTYPE_IPF | Intel Itanium processor family |
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 | Description |
---|---|
GENPROC_PROCISA_X86 | x86 |
GENPROC_PROCISA_IPF | Itanium |
GENPROC_PROCISA_X64 | x64 |
ErrorType
The type of error that occurred.
This member contains valid data only if the ErrorType bit of the ValidBits member is set.
Value | Description |
---|---|
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 |
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 | Description |
---|---|
GENPROC_OP_GENERIC | Unknown or generic operation |
GENPROC_OP_DATAREAD | Data read |
GENPROC_OP_DATAWRITE | Data write |
GENPROC_OP_INSTRUCTIONEXE | Instruction execution |
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 | Description |
---|---|
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. |
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.
Reserved
Reserved for system use.
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.
CPUBrandString[128]
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.
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.
TargetAddress
The target address associated with the error.
This member contains valid data only if the TargetAddress bit of the ValidBits member is set.
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.
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.
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.
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
Requirement | Value |
---|---|
Minimum supported client | Supported in Windows Server 2008, Windows Vista SP1, and later versions of Windows. |
Header | ntddk.h |