Expand Minimize

HV_CRASHDUMP_AREA_V1 structure

The HV_CRASHDUMP_AREA_V1 structure describes crash dump version one information.

Syntax


typedef struct _HV_CRASHDUMP_AREA_V1 {
  UINT32 Version;
  union {
    UINT32 FlagsAsUINT32;
    struct {
      UINT32 Valid  :1;
      UINT32 Reserved  :31;
    };
  };
  UINT64 HypervisorBase;
  UINT32 SizeOfImage;
  UINT16 ImageNameLength;
  WCHAR  ImageName[HV_IMAGE_NAME_MAX_LENGTH];
  UINT64 BugCheckData[5];
  void   *BugCheckErrorReturnAddress;
  UINT64 PageTableBase;
  UINT64 PfnDataBase;
  UINT64 DebuggerDataBlock;
  UINT32 NumberProcessors;
  UINT32 ProcessorStateOffset;
  UINT32 ProcessorStateSize;
  UINT32 CrashStackSize;
  UINT32 CrashStackOffset;
  UINT64 CrashStackAddress;
} HV_CRASHDUMP_AREA_V1, *PHV_CRASHDUMP_AREA_V1;

Members

Version

The version of this crash-dump area structure.

FlagsAsUINT32

A member in the union that can hold one 32-bit value that contains flags that indicate content validity and other attributes of the crash-dump area.

Valid

A UINT32 value that specifies whether the content of the crash-dump area is valid.

Reserved

Reserved. Do not use.

HypervisorBase

A UINT64 value that specifies the hypervisor base address of the loaded module.

SizeOfImage

A UINT32 value that specifies the size in bytes of the loaded module.

ImageNameLength

The number of Unicode characters that are in the module name that the ImageName member specifies.

ImageName

A string of Unicode characters that is the module name. The HV_IMAGE_NAME_MAX_LENGTH constant specifies the maximum length of the string.

BugCheckData

An array that contains the bug-check data.

BugCheckErrorReturnAddress

A pointer to the bug-check return address.

PageTableBase

The root of the page table that is required to look up virtual addresses and the debugger data block. Particularly, within the page table is the prcb address that contain the processor state.

PfnDataBase
DebuggerDataBlock

The debugger data block contains all the information that is required for the debugger to interpret the dump file.

NumberProcessors

The number of processors.

ProcessorStateOffset

The offset to the processor-specific state data.

ProcessorStateSize

The size of the processor-specific state data.

CrashStackSize

The size of the crash stack for the crashing thread.

CrashStackOffset

The offset to the crash stack for the crashing thread.

CrashStackAddress

The address of the crash stack for the crashing thread.

Remarks

HV_CRASHDUMP_AREA is used to transfer crash dump information between the hypervisor and the HvBoot.sys driver in the root Windows instance at the time of a hypervisor BugCheck. The HvBoot.sys driver allocates this structure when the hypervisor starts. The structure's system physical address (SPA) is handed to the hypervisor via the loader block.

The hypervisor defines the following constants for the crash dump area version, maximum module length, and the default number of crash dump SPA pages:


#define HV_CRASHDUMP_AREA_VERSION   2
#define HV_IMAGE_NAME_MAX_LENGTH    32
#define HV_DEFAULT_CRASHDUMP_SPA_PAGES 5

Requirements

Header

Hvgdk.h (include Hvgdk.h)

 

 

Send comments about this topic to Microsoft

Build date: 11/16/2013

Show:
© 2014 Microsoft. All rights reserved.