struct _HAL_INTEL_ENLIGHTENMENT_INFORMATION { unsigned long Enlightenments;/* 0x0 4 */ unsigned long HypervisorConnected;/* 0x4 4 */ void (*EndOfInterrupt)(void);/* 0x8 8 */ void (*ApicWriteIcr)(unsigned long, unsigned long);/* 0x10 8 */ unsigned long Reserved0;/* 0x18 4 */ unsigned long SpinCountMask;/* 0x1c 4 */ void (*LongSpinWait)(unsigned long);/* 0x20 8 */ unsigned __int64 (*GetReferenceTime)(unsigned long*);/* 0x28 8 */ long (*SetSystemSleepProperty)(unsigned, unsigned char, unsigned char);/* 0x30 8 */ long (*EnterSleepState)(unsigned);/* 0x38 8 */ /* ── cacheline 1 boundary (64 bytes) ── */ long (*NotifyDebugDeviceAvailable)(void);/* 0x40 8 */ long (*MapDeviceInterrupt)(unsigned __int64, void*, struct _GROUP_AFFINITY*, void*);/* 0x48 8 */ long (*UnmapDeviceInterrupt)(unsigned __int64, void*);/* 0x50 8 */ long (*RetargetDeviceInterrupt)(unsigned __int64, void*, void*, struct _GROUP_AFFINITY*, void*);/* 0x58 8 */ long (*SetHpetConfig)(unsigned long, unsigned __int64, unsigned char, void*);/* 0x60 8 */ long (*NotifyHpetEnabled)(void);/* 0x68 8 */ long (*QueryAssociatedProcessors)(unsigned long, unsigned long*, unsigned long*);/* 0x70 8 */ long (*ReadMultipleMsr)(unsigned long, unsigned long, unsigned long*, unsigned __int64*);/* 0x78 8 */ /* ── cacheline 2 boundary (128 bytes) ── */ long (*WriteMultipleMsr)(unsigned long, unsigned long, unsigned long*, unsigned __int64*);/* 0x80 8 */ long (*ReadCpuid)(unsigned long, unsigned long, unsigned long*, unsigned long*, unsigned long*, unsigned long*);/* 0x88 8 */ long (*LpWritebackInvalidate)(unsigned long);/* 0x90 8 */ long (*GetMachineCheckContext)(unsigned long, unsigned*, unsigned __int64*, unsigned __int64*, unsigned*);/* 0x98 8 */ long (*SuspendPartition)(unsigned __int64);/* 0xa0 8 */ long (*ResumePartition)(unsigned __int64);/* 0xa8 8 */ long (*SetSystemMachineCheckProperty)(void*);/* 0xb0 8 */ long (*WheaErrorNotification)(struct _WHEA_RECOVERY_CONTEXT*, unsigned char);/* 0xb8 8 */ /* ── cacheline 3 boundary (192 bytes) ── */ unsigned long (*GetProcessorIndexFromVpIndex)(unsigned long);/* 0xc0 8 */ long (*SyntheticClusterIpi)(struct _KAFFINITY_EX*, unsigned long);/* 0xc8 8 */ unsigned char (*VpStartEnabled)(void);/* 0xd0 8 */ long (*StartVirtualProcessor)(unsigned long, void*);/* 0xd8 8 */ long (*GetVpIndexFromApicId)(unsigned long, unsigned long*);/* 0xe0 8 */ long (*IumAccessPciDevice)(unsigned char, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, void*);/* 0xe8 8 */ unsigned __int64 (*IumEfiRuntimeService)(unsigned long, void*, unsigned __int64, unsigned __int64*);/* 0xf0 8 */ void (*GetSystemPasidCapabilities)(struct _HAL_HV_SYSTEM_PASID_CAPABILITIES*);/* 0xf8 8 */ /* ── cacheline 4 boundary (256 bytes) ── */ long (*GetDeviceCapabilities)(struct _EXT_IOMMU_DEVICE_ID*, void*);/* 0x100 8 */ long (*CreatePasidSpace)(unsigned long, unsigned long);/* 0x108 8 */ long (*DeletePasidSpace)(unsigned long);/* 0x110 8 */ long (*SetPasidAddressSpace)(unsigned long, unsigned long, void*);/* 0x118 8 */ void (*FlushPasid)(unsigned long, unsigned long, unsigned long, struct _KTB_FLUSH_VA*, unsigned char);/* 0x120 8 */ long (*AttachPasidSpace)(unsigned __int64, unsigned long);/* 0x128 8 */ long (*DetachPasidSpace)(unsigned __int64);/* 0x130 8 */ long (*EnablePasid)(unsigned __int64, unsigned long);/* 0x138 8 */ /* ── cacheline 5 boundary (320 bytes) ── */ long (*DisablePasid)(unsigned __int64, unsigned long);/* 0x140 8 */ long (*AcknowledgePageRequest)(unsigned long, void*, unsigned long*);/* 0x148 8 */ long (*CreatePrQueue)(unsigned long, unsigned long, union _LARGE_INTEGER, unsigned long, unsigned long);/* 0x150 8 */ long (*DeletePrQueue)(unsigned long);/* 0x158 8 */ long (*ClearPrqStalled)(unsigned long);/* 0x160 8 */ long (*SetDeviceDmaEnabled)(struct _EXT_IOMMU_DEVICE_ID*, unsigned char);/* 0x168 8 */ long (*SetDeviceCapabilities)(unsigned __int64, unsigned long, unsigned long);/* 0x170 8 */ long (*AttachPrQueue)(unsigned __int64, unsigned long);/* 0x178 8 */ /* ── cacheline 6 boundary (384 bytes) ── */ long (*DetachPrQueue)(unsigned __int64);/* 0x180 8 */ long (*HvDebuggerPowerHandler)(unsigned char);/* 0x188 8 */ long (*SetQpcBias)(unsigned __int64);/* 0x190 8 */ unsigned __int64 (*GetQpcBias)(void);/* 0x198 8 */ long (*RegisterDeviceId)(struct _EXT_IOMMU_DEVICE_ID*, unsigned __int64);/* 0x1a0 8 */ long (*UnregisterDeviceId)(unsigned __int64);/* 0x1a8 8 */ long (*AllocateDeviceDomain)(struct _HAL_HV_DMA_CREATE_DOMAIN_INFO*);/* 0x1b0 8 */ long (*AttachDeviceDomain)(unsigned __int64, struct _HAL_HV_DMA_DOMAIN_INFO*);/* 0x1b8 8 */ /* ── cacheline 7 boundary (448 bytes) ── */ long (*DetachDeviceDomain)(unsigned __int64);/* 0x1c0 8 */ long (*DeleteDeviceDomain)(struct _HAL_HV_DMA_DOMAIN_INFO*);/* 0x1c8 8 */ long (*MapDeviceLogicalRange)(struct _HAL_HV_DMA_DOMAIN_INFO*, unsigned long, unsigned __int64, unsigned __int64*, unsigned __int64*, unsigned char);/* 0x1d0 8 */ long (*UnmapDeviceLogicalRange)(struct _HAL_HV_DMA_DOMAIN_INFO*, unsigned __int64, unsigned __int64*);/* 0x1d8 8 */ long (*MapDeviceSparsePages)(struct _HAL_HV_DMA_DOMAIN_INFO*, unsigned long, unsigned __int64*, unsigned __int64*);/* 0x1e0 8 */ long (*UnmapDeviceSparsePages)(struct _HAL_HV_DMA_DOMAIN_INFO*, unsigned __int64*, unsigned __int64*);/* 0x1e8 8 */ long (*GetDmaGuardEnabled)(unsigned char*);/* 0x1f0 8 */ long (*UpdateMicrocode)(void*, unsigned, unsigned char);/* 0x1f8 8 */ /* ── cacheline 8 boundary (512 bytes) ── */ long (*GetMicrocodeLatency)(unsigned __int64*);/* 0x200 8 */ long (*GetSintMessage)(unsigned char, void**);/* 0x208 8 */ void* (*GetSintMessagePage)(unsigned long);/* 0x210 8 */ long (*RestoreTime)(unsigned, unsigned __int64, unsigned __int64);/* 0x218 8 */ long (*GetLogicalProcessorHwId)(unsigned long, unsigned __int64*);/* 0x220 8 */ long (*WakeVirtualProcessors)(struct _KAFFINITY_EX*);/* 0x228 8 */ long (*SetRootFaultReportingReady)(void);/* 0x230 8 */ long (*ConfigureDeviceDomain)(struct _HAL_HV_DMA_DOMAIN_INFO*, struct _HAL_HV_DMA_DOMAIN_CONFIG*);/* 0x238 8 */ /* ── cacheline 9 boundary (576 bytes) ── */ long (*UnblockDefaultDma)(void);/* 0x240 8 */ long (*FlushDeviceDomain)(struct _HAL_HV_DMA_DOMAIN_INFO*);/* 0x248 8 */ long (*FlushDeviceDomainVaList)(struct _HAL_HV_DMA_DOMAIN_INFO*, unsigned long, struct _KTB_FLUSH_VA*, unsigned char);/* 0x250 8 */ long (*GetHybridPassthroughReservedRegions)(struct _HAL_HV_DMA_HYBRID_PASSTHROUGH_RESERVED_REGIONS*);/* 0x258 8 */ long (*ReserveDeviceDomainAttachment)(unsigned __int64, struct _HAL_HV_DMA_DOMAIN_INFO*);/* 0x260 8 */ long (*UnreserveDeviceDomainAttachment)(unsigned __int64);/* 0x268 8 */ long (*ChangeIsolatedMemoryVisibility)(unsigned __int64, unsigned __int64, unsigned, unsigned __int64*);/* 0x270 8 */ long (*ChangeIsolatedMemoryVisibilitySparse)(unsigned __int64*, unsigned __int64, unsigned, unsigned __int64*);/* 0x278 8 */ /* ── cacheline 10 boundary (640 bytes) ── */ unsigned char (*ShouldUseSyntheticClusterIpi)(void);/* 0x280 8 */ long (*GetTrustedIoStatus)(unsigned char*, unsigned char*);/* 0x288 8 */ long (*GetDeviceSecurityOutput)(struct _HAL_HV_DEVICE_SECURITY_OUTPUT*);/* 0x290 8 */ long (*SetDeviceSecurityInput)(struct _HAL_HV_DEVICE_SECURITY_INPUT*);/* 0x298 8 */ long (*GetGlobalIommuCapabilities)(void*);/* 0x2a0 8 */};size 680 (0x2a8)87 members0 holespadding 011 cachelines
Used in (0)