Event Logging Data Types

The data types that the hypervisor defines for event logging are described in the following sections:

Event Log Types

The hypervisor's event logging functions are designed to be extensible so they can support new event log types in the future. The currently supported types are defined by the HV_EVENTLOG_TYPE enumeration.

Event Enable Flags

A partition can pass a 64-bitmask in a call to the HvSetEventLogGroupSources hypercall function to selectively enable or disable event log events. The meanings of the bits within this mask depend on the event log type.

The following masks are for the HvEventLogTypeLocalDiagnostics value of HV_EVENTLOG_TYPE:


#define HV_EVENTLOG_ENABLE_DIAG_ADMIN  0x0000000000000001UI64
#define HV_EVENTLOG_ENABLE_DIAG_PERF_GENERAL  0x0000000100000000UI64

The following masks are for the HvEventLogTypeGlobalSystemEvents value of HV_EVENTLOG_TYPE:


#define HV_EVENTLOG_ENABLE_SYSTEM_SUCCESS  0x0000000000000001UI64
#define HV_EVENTLOG_ENABLE_SYSTEM_FAILURE  0x0000000000000002UI64

Event Log Buffer State

Each buffer that is associated with an enabled event log type is in one of the states that are identified by the values of the HV_EVENTLOG_BUFFER_STATE enumeration.

Event Log Buffer Index

Event log buffers for each type are assigned an event log buffer index that is used to identify specific buffers within the type.


typedef UINT32 HV_EVENTLOG_BUFFER_INDEX, *PHV_EVENTLOG_BUFFER_INDEX;
#define HV_EVENTLOG_BUFFER_INDEX_NONE 0xffffffff

Event Log Buffer Header

Each buffer begins with a header that is defined by the HV_EVENTLOG_BUFFER_HEADER structure. Event log entry data begins immediately after the buffer header.

Event Log Entry Header

One or more event log entries immediately follow the buffer header of each complete event log buffer. Each entry is composed of an event log entry header that is defined by a HV_EVENTLOG_ENTRY_HEADER structure and, optionally, related event data. The total size of the header and any data must be aligned (by padding) to an 8-byte boundary.

A value from the HV_EVENTLOG_ENTRY_TIME_BASIS enumeration specifies the source of the event header timestamp in a call to the HvInitializeEventLogBufferGroup hypercall function.

 

 

Send comments about this topic to Microsoft

Build date: 11/16/2013

Show:
© 2014 Microsoft. All rights reserved.