ReactOS 0.4.17-dev-1190-g4c812f4
haltypes.h
Go to the documentation of this file.
1/*++ NDK Version: 0098
2
3Copyright (c) Alex Ionescu. All rights reserved.
4
5Header Name:
6
7 haltypes.h
8
9Abstract:
10
11 Type definitions for the HAL.
12
13Author:
14
15 Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
16
17--*/
18
19#ifndef _HALTYPES_H
20#define _HALTYPES_H
21
22//
23// Dependencies
24//
25#include <umtypes.h>
26
27#ifndef NTOS_MODE_USER
28
30typedef struct _KPRCB *PKPRCB;
31
32typedef struct _KTB_FLUSH_VA
33{
34 union {
35 struct {
38 };
41 } u1;
43
45{
49 union {
51 struct {
55 } Msi;
56 } u;
58
59typedef enum {
65
67{
68 union {
69 struct {
82 union {
83 struct {
92
94{
102#if (NTDDI_VERSION >= NTDDI_WIN10)
103 struct {
108#if (NTDDI_VERSION >= NTDDI_WIN10_TH2)
110#endif
111 union {
112#else
113 union {
114 struct {
115 ULONG Gsiv;
117 ULONG ReservedFlags : 31;
119#endif
120 struct {
124 struct {
127 struct {
131 struct {
134 };
136
138{
140#if (NTDDI_VERSION < NTDDI_WIN10)
141 GROUP_AFFINITY OriginalAffinity;
142 LIST_ENTRY SteeringListEntry;
143 VOID* SteeringListRoot;
144 ULONGLONG IsrTime;
145 ULONGLONG DpcTime;
146 ULONG IsrLoad;
147 ULONG DpcLoad;
148 UCHAR IsPrimaryInterrupt;
149 PKINTERRUPT *InterruptObjectArray;
150 ULONG InterruptObjectCount;
151#endif
154
155//FIXME: Check ARM64?
157{
160#if (NTDDI_VERSION >= NTDDI_WIN7)
161 TargetGlobal = 2
162#endif
164
166{
168 struct {
170#if (NTDDI_VERSION >= NTDDI_WIN7)
174#else
175 KAFFINITY TargetProcessors;
176 HAL_APIC_DESTINATION_MODE ApicDestinationMode;
177#endif
178 } ApicTarget;
180
181//
182// HAL_INTERRUPT_TARGET_DESCRIPTOR.Capabilities
183//
184#define HAL_TARGET_MSI_CAPABLE 0x00000001
185#define HAL_TARGET_LOGICAL_DESTINATION_VALID 0x00000002
186#define HAL_TARGET_FIXED_DESTINATIONS 0x00000010
187
189{
191#if (NTDDI_VERSION >= NTDDI_WIN7)
194 union
195 {
196 struct
197 {
201 } ApicRouting;
202 struct
203 {
207 } RemapTable;
208 };
209#else
210 ULONG ProcessorIndex;
212 struct
213 {
214 ULONG LogicalDestination;
215 HAL_APIC_DESTINATION_MODE DestinationFormat;
216 } ApicRouting;
217#endif
219
220//
221// HalShutdownSystem Types
222//
224{
232
233//
234// HAL Private function Types
235//
236typedef
239 _In_ BUS_DATA_TYPE ConfigSpace,
241);
242
243typedef
247);
248
249typedef
253 _In_ BUS_DATA_TYPE ConfigSpace,
255 _In_ INTERFACE_TYPE ParentInterfaceType,
256 _In_ ULONG ParentBusNumber,
259 _Out_ PBUS_HANDLER *BusHandler
260);
261
262typedef
266);
267
268#if (NTDDI_VERSION >= NTDDI_WIN8)
269typedef
272 _In_ ULONGLONG AlartTime,
273 _In_ ULONGLONG DcWakeTime
274);
275#else
276typedef
277VOID
279 _In_ ULONGLONG AlartTime,
281);
282#endif
283
284typedef
288);
289
290typedef
293 _In_ PADAPTER_OBJECT AdapterObject,
295 _In_ ULONG BaseAddressCount,
296 _Out_ PMAP_REGISTER_ENTRY MapRegisterArray
297);
298
299typedef
308);
309
310#if (NTDDI_VERSION >= NTDDI_WIN7)
311typedef
319);
320#else
321typedef
328);
329#endif
330
331typedef
334 _In_ PVOID ImageHandle
335);
336
337typedef
340 VOID
341);
342
343typedef
346 VOID
347);
348
349#if (NTDDI_VERSION >= NTDDI_WIN7)
350typedef
354 _In_ PGROUP_AFFINITY ProcessorSet,
355 _In_ ULONG NumberOfIdtEntries,
360 _Out_ PULONG IdtEntry
361);
362
363typedef
368 _In_ PGROUP_AFFINITY ProcessorSet
369);
370#else
371typedef
375 _In_ KAFFINITY ProcessorSet,
376 _In_ ULONG NumberOfIdtEntries,
381 _Out_ PULONG IdtEntry
382);
383
384typedef
385VOID
389 _In_ KAFFINITY ProcessorSet
390);
391#endif
392
394
396{
401
402typedef
406 _Outptr_ PVOID *ReplaceContext
407);
408
409typedef
412 _In_ PVOID ReplaceContext
413);
414
415typedef
418 _In_ ULONG Phase,
419 _In_ PVOID ReplaceContext
420);
421
422typedef
425 _In_ PVOID ReplaceContext
426);
427
428typedef
431 VOID
432);
433
434typedef
437 VOID
438);
439
440typedef
443 _In_ PVOID ReplaceContext,
445);
446
447typedef
450 _In_ PVOID InterruptState
451);
452
453typedef
457);
458
459#if (NTDDI_VERSION >= NTDDI_WIN8)
460typedef
463 _Out_ PULONGLONG WakeTime,
464 _Out_opt_ PULONGLONG TscOffset
465);
466#else
467typedef
470 _Out_ PULONGLONG WakeTime
471);
472#endif
473
474typedef
477 VOID
478);
479
480typedef
483 _In_ UCHAR DeepestHardwareIdleState,
484 _In_ PKAFFINITY_EX TargetSet
485);
486
487typedef
490 _In_ BOOLEAN ForcedSynchronization,
491 _In_opt_ PULONG TargetProcessor
492);
493
496
499
500typedef
505);
506
507#if (NTDDI_VERSION >= NTDDI_WIN8)
508typedef
511 _In_ SYSTEM_POWER_STATE LastSystemState
512);
513#else
514typedef
515VOID
517 VOID
518);
519#endif
520
521typedef
527);
528
529typedef
535);
536
538
539typedef
542 VOID
543);
544
545typedef
550);
551
552typedef
555 _In_ ULONG SpinCount
556);
557
558typedef
561 VOID
562);
563
564typedef
567 _In_ UINT32 SleepState,
568 _In_ UINT8 Pm1a_SLP_TYP,
569 _In_ UINT8 Pm1b_SLP_TYP
570);
571
572typedef
575 _In_ PVOID MachineCheckPropertyInfo
576);
577
578typedef
581 _In_ UINT32 SleepState
582);
583
584typedef
587 VOID
588);
589
590typedef
593 _In_ ULONGLONG DeviceId,
594 _In_ PVOID InterruptDescriptor,
596 _Out_ PVOID InterruptEntry
597);
598
599typedef
602 _In_ ULONGLONG DeviceId,
603 _In_ PVOID InterruptEntry
604);
605
606typedef
609 _In_ ULONGLONG DeviceId,
610 _In_ PVOID InterruptEntry,
611 _In_ PVOID InterruptTarget,
613 _Out_opt_ PVOID NewInterruptEntry
614);
615
616typedef
620 _In_ ULONG TimerIndex,
621 _In_ UINT64 DeviceId,
622 _In_ UCHAR TimerInterruptPin,
623 _Out_ PVOID InterruptEntry
624);
625
626typedef
629 VOID
630);
631
632typedef
635 _In_ ULONG VpIndex,
638);
639
640typedef
645 _In_reads_(Count) PULONG MsrIndices,
646 _Out_writes_(Count) PULONG64 MsrValues
647);
648
649typedef
654 _In_reads_(Count) PULONG MsrIndices,
655 _In_reads_(Count) PULONG64 MsrValues
656);
657
658typedef
662 _In_ ULONG InEax,
663 _Out_ PULONG OutEax,
664 _Out_ PULONG OutEbx,
665 _Out_ PULONG OutEcx,
666 _Out_ PULONG OutEdx
667);
668
669typedef
673);
674
675typedef
680 _Out_ UINT64 *PartitionId,
681 _Out_ UINT32 *VpIndex
682);
683
684typedef
687 _In_ UINT64 PartitionId
688);
689
690typedef
693 _In_ UINT64 PartitionId
694);
695
696typedef struct _WHEA_RECOVERY_CONTEXT
698
699typedef
702 _In_ PWHEA_RECOVERY_CONTEXT RecoveryContext,
703 _In_ BOOLEAN PlatformDirected,
704 _In_ BOOLEAN Poisoned
705);
706
707typedef
710 _In_ ULONG VpIndex
711);
712
713typedef
718);
719
720typedef
723 VOID
724);
725
726typedef
729 _In_ ULONG VpIndex,
731);
732
733typedef
737 _Out_ PULONG VpIndex
738);
739
741{
742 struct {
745 };
752
753typedef
757);
758
759typedef
766);
767
769{
770 struct {
776 };
780
781typedef
784 _In_ ULONG DeviceId,
786);
787
788typedef
791 _In_ ULONG PasidSpaceId,
792 _In_ ULONG PasidCount
793);
794
795typedef
798 _In_ ULONG PasidSpaceId,
799 _In_ ULONG Pasid,
801);
802
803typedef
806 _In_ ULONG PasidSpaceId,
807 _In_ ULONG Pasid,
810);
811
812typedef
815 _In_ ULONG DeviceId,
816 _In_ ULONG PasidSpaceId,
817 _In_ ULONG PrqId,
818 _In_ ULONG PciCapabilities
819);
820
821typedef
824 _In_ ULONG DeviceId
825);
826
827typedef
830 _In_ ULONG DeviceId,
831 _In_ ULONG Pasid
832);
833
834typedef
837 _In_ ULONG DeviceId,
838 _In_ ULONG Pasid
839);
840
841typedef
845 _In_ PVOID PageRequestList,
846 _Out_opt_ PULONG Processed
847);
848
849typedef
852 _In_ ULONG QueueId,
855 _In_ ULONG InterruptVector,
856 _In_ ULONG InterruptProcessorIndex
857);
858
859typedef
862 _In_ ULONG QueueId
863);
864
865typedef
868 _In_ ULONG QueueId
869);
870
871typedef
874 _In_ ULONG DeviceId,
876);
877
878#if !defined(_ARM64_) && !defined(_ARM_)
880{
928#else
929typedef struct _HAL_ARM_ENLIGHTENMENT_INFORMATION
930{
931 ULONG Enlightenments;
932 LOGICAL HypervisorConnected;
933 ULONG Reserved0;
934 ULONG SpinCountMask;
935 PHAL_LONG_SPIN_WAIT LongSpinWait;
936 PHAL_GET_REFERENCE_TIME GetReferenceTime;
937 PHAL_SET_SYSTEM_SLEEP_PROPERTY SetSystemSleepProperty;
938 PHAL_ENTER_SLEEP_STATE EnterSleepState;
939 PHAL_NOTIFY_DEBUG_DEVICE_AVAILABLE NotifyDebugDeviceAvailable;
940 PHAL_MAP_DEVICE_INTERRUPT MapDeviceInterrupt;
941 PHAL_UNMAP_DEVICE_INTERRUPT UnmapDeviceInterrupt;
942 PHAL_RETARGET_DEVICE_INTERRUPT RetargetDeviceInterrupt;
943 PHAL_QUERY_ASSOCIATED_PROCESSORS QueryAssociatedProcessors;
944 PHAL_LP_GET_MACHINE_CHECK_CONTEXT GetMachineCheckContext;
945 PHAL_SUSPEND_PARTITION SuspendPartition;
946 PHAL_RESUME_PARTITION ResumePartition;
947 PHAL_SET_SYSTEM_MACHINE_CHECK_PROPERTY SetSystemMachineCheckProperty;
948 PHAL_WHEA_ERROR_NOTIFICATION WheaErrorNotification;
949 PHAL_GET_PROCESSOR_INDEX_FROM_VP_INDEX GetProcessorIndexFromVpIndex;
950 PHAL_SYNTHETIC_CLUSTER_IPI SyntheticClusterIpi;
951} HAL_ARM_ENLIGHTENMENT_INFORMATION, *PHAL_ARM_ENLIGHTENMENT_INFORMATION;
952#endif
953
954#if !defined(_ARM64_) && !defined(_ARM_)
955#define _HAL_ENLIGHTENMENT_INFORMATION _HAL_INTEL_ENLIGHTENMENT_INFORMATION
956#define HAL_ENLIGHTENMENT_INFORMATION HAL_INTEL_ENLIGHTENMENT_INFORMATION
957#define PHAL_ENLIGHTENMENT_INFORMATION PHAL_INTEL_ENLIGHTENMENT_INFORMATION
958#else
959#define _HAL_ENLIGHTENMENT_INFORMATION _HAL_ARM_ENLIGHTENMENT_INFORMATION
960#define HAL_ENLIGHTENMENT_INFORMATION HAL_ARM_ENLIGHTENMENT_INFORMATION
961#define PHAL_ENLIGHTENMENT_INFORMATION PHAL_ARM_ENLIGHTENMENT_INFORMATION
962#endif
963
966
967typedef
970 _Out_ PHAL_ENLIGHTENMENT_INFORMATION EnlightenmentInformation
971);
972
973typedef
976 _In_ PLOADER_PARAMETER_BLOCK LoaderBlock,
977 _In_ ULONG PageCount,
979 _In_ ULONG Protection
980);
981
982typedef
986 _In_ ULONG PageCount,
987 _In_ ULONG Protection
988);
989
990#if (NTDDI_VERSION >= NTDDI_WINBLUE)
991typedef
995);
996
997typedef
1000 VOID
1001);
1002
1003typedef
1006 _In_ BOOLEAN Freezing,
1007 _In_ BOOLEAN ThawingToSpinLoop
1008);
1009#else
1010typedef
1013 ULONG Unknown1,
1014 ULONG Unknown2,
1016);
1017
1018typedef
1019VOID
1022);
1023
1024typedef
1025VOID
1028);
1029#endif
1030
1031typedef
1034 _In_ ULONG EventId,
1037);
1038
1040{
1044
1045typedef
1049);
1050
1052{
1057
1059{
1060 union {
1062 struct {
1067 };
1068 };
1069
1075
1076typedef
1079 VOID
1080);
1081
1082#if (NTDDI_VERSION >= NTDDI_WINBLUE)
1083typedef
1087);
1088#else
1089typedef
1090VOID
1092 PULONG Unknown1,
1093 PULONG Unknown2,
1095);
1096#endif
1097
1098typedef
1101 _In_ BOOLEAN ClockOwner
1102);
1103
1104typedef
1107 VOID
1108);
1109
1110typedef
1113 VOID
1114);
1115
1116typedef
1120 _In_ ULONG64 RequestedInteval,
1121 _Out_ PULONG64 ActualInterval
1122);
1123
1124typedef
1127 VOID
1128);
1129
1130struct _HAL_IOMMU_DISPATCH;
1131
1132typedef
1136);
1137
1138typedef
1142);
1143
1144typedef
1147 _In_ PINTERRUPT_VECTOR_DATA VectorData,
1148 _Out_ PULONG PrimaryGsiv
1149);
1150
1151typedef
1154 _In_ ULONG Type,
1155 _In_ ULONG InputGsiv
1156);
1157
1158typedef
1161 _In_ ULONG InputGsiv,
1163);
1164
1165typedef
1168 _In_ ULONG InputGsiv,
1170);
1171
1172typedef
1175 _In_reads_bytes_(OwnerNameLength) PCCHAR OwnerName,
1176 _In_ USHORT OwnerNameLength,
1178);
1179
1180typedef
1183 _In_ PINTERRUPT_VECTOR_DATA VectorData,
1185);
1186
1188{
1193
1195{
1198 union {
1199 struct {
1204 } DeviceRid;
1205 struct {
1206 UCHAR Bus;
1207 UCHAR Device;
1210 } BridgeRid;
1211 struct {
1214 } MultipleBridges;
1217
1218typedef
1223 _In_ PPCI_BUSMASTER_DESCRIPTOR BusMasterDescriptor,
1224 _In_range_(0, 3) UCHAR PhantomBits,
1225 _Inout_updates_(VectorCount) PINTERRUPT_VECTOR_DATA VectorData,
1226 _In_ ULONG VectorCount
1227);
1228
1229typedef
1234 _In_ PPCI_BUSMASTER_DESCRIPTOR BusMasterDescriptor,
1235 _In_range_(0, 3) UCHAR PhantomBits,
1236 _Inout_updates_(VectorCount) PINTERRUPT_VECTOR_DATA VectorData,
1237 _In_ ULONG VectorCount
1238);
1239
1240typedef
1243 VOID
1244);
1245
1246typedef
1249 VOID
1250);
1251
1252typedef
1255 _In_ PMDL Mdl,
1256 _In_ BOOLEAN ReadOperation
1257);
1258
1259typedef
1262 _In_ PMDL Mdl,
1263 _In_ ULONG StartOffset,
1266 _In_ ULONG Stride,
1267 _In_ BOOLEAN ReadOperation
1268);
1269
1270typedef
1273 _In_ BOOLEAN Invalidate
1274);
1275
1276typedef
1280);
1281
1282typedef
1285 _In_ SYSTEM_POWER_STATE SleepState
1286);
1287
1288typedef
1291 VOID
1292);
1293
1294typedef
1297 _In_ ULONG ProcessorIndex,
1299);
1300
1301typedef struct _HAL_PMC_COUNTERS *PMC_HANDLE;
1302
1303typedef
1306 _In_ ULONG ProcessorIndex,
1310);
1311
1312typedef
1316);
1317
1318typedef
1323);
1324
1325typedef
1328 _Out_opt_ PULONGLONG CycleCounterFrequency
1329);
1330
1331typedef
1334 PKPRCB Unknown1,
1335 BOOLEAN Unknown2,
1339);
1340
1341typedef
1346 _In_ /* PPROCESSOR_HALT_ROUTINE */ PVOID Halt
1347);
1348
1349typedef
1352 VOID
1353);
1354
1355typedef
1358 _Out_ PPHYSICAL_ADDRESS EntryPoint
1359);
1360
1361typedef
1365);
1366
1367typedef
1370 _In_ ULONG Phase
1371);
1372
1373typedef
1376 _In_ PVOID CapsuleHeaderArray,
1377 _In_ ULONG CapsuleCount,
1378 _In_opt_ PHYSICAL_ADDRESS ScatterGatherList
1379);
1380
1381typedef
1384 _In_ PVOID CapsuleHeaderArray,
1385 _In_ ULONG CapsuleCount,
1386 _Out_ PULONGLONG MaximumCapsuleSize,
1387 _Out_ PULONG ResetType
1388);
1389
1390typedef
1393 VOID
1394);
1395
1396typedef
1399 _In_ ULONG Phase
1400);
1401
1402typedef
1405 VOID
1406);
1407
1408#if (NTDDI_VERSION >= NTDDI_WIN10)
1409typedef
1412 _In_ ULONG Gsiv,
1413 _In_ PINTERRUPT_VECTOR_DATA VectorData,
1415);
1416#else
1417typedef
1420 _In_ PINTERRUPT_CONNECTION_DATA ConnectionData,
1422);
1423#endif
1424
1426{
1427 struct {
1430 };
1433
1435{
1445
1446typedef
1448(NTAPI HAL_ENUMERATE_INTERRUPT_SOURCE_CALLBACK)(
1451);
1452
1453typedef HAL_ENUMERATE_INTERRUPT_SOURCE_CALLBACK
1455
1456typedef
1462);
1463
1464typedef
1467 VOID
1468);
1469
1470typedef
1472(NTAPI HALREBOOTHANDLER)(
1473 _In_ ULONG ProcessorNumber,
1475);
1476
1477typedef HALREBOOTHANDLER *PHALREBOOTHANDLER;
1478
1479typedef
1482 _In_opt_ PHALREBOOTHANDLER NewHandler
1483);
1484
1485typedef
1488 VOID
1489);
1490
1491#if (NTDDI_VERSION >= NTDDI_WIN10)
1492typedef
1495 _In_ LOGICAL SetWakeTimer
1496);
1497#else
1498typedef
1499VOID
1501 VOID
1502);
1503#endif
1504
1505typedef
1508 VOID
1509);
1510
1511typedef
1514 VOID
1515);
1516
1517typedef
1520 _In_ BOOLEAN ResetViaClockInterrupt
1521);
1522
1523typedef
1526 _Out_ PULONG HighestPendingVector,
1527 _Out_ PBOOLEAN SingleInterrupt
1528);
1529
1530typedef
1533 _In_ ULONG NtNumber
1534);
1535
1536typedef
1539 VOID
1540);
1541
1542typedef
1545 VOID
1546);
1547
1548typedef
1553);
1554
1555typedef
1559);
1560
1561typedef
1564 _In_ ULONG64 AuxiliaryCounterValue,
1565 _Out_ PULONG64 PerformanceCounterValueOut,
1566 _Out_opt_ PULONG64 ConversionErrorOut
1567);
1568
1569typedef
1572 _In_ ULONG64 PerformanceCounterValue,
1573 _Out_ PULONG64 AuxiliaryCounterValueOut,
1574 _Out_opt_ PULONG64 ConversionErrorOut
1575);
1576
1577typedef
1580 _Out_opt_ PULONG64 AuxiliaryCounterFrequencyOut
1581);
1582
1583typedef
1586 _In_ PKSERVICE_ROUTINE InterruptService
1587);
1588
1589typedef
1592 VOID
1593);
1594
1595//
1596// HAL Bus Handler Callback Types
1597//
1598typedef
1601 _In_ PBUS_HANDLER BusHandler,
1602 _In_ PBUS_HANDLER RootHandler,
1604);
1605
1606typedef
1609 _In_ PBUS_HANDLER BusHandler,
1610 _In_ PBUS_HANDLER RootHandler,
1617);
1618
1619typedef
1622 _In_ PBUS_HANDLER BusHandler,
1623 _In_ PBUS_HANDLER RootHandler,
1628);
1629
1630typedef
1633 _In_ PBUS_HANDLER BusHandler,
1634 _In_ PBUS_HANDLER RootHandler,
1639);
1640
1641typedef
1644 _In_ PBUS_HANDLER BusHandler,
1645 _In_ PBUS_HANDLER RootHandler,
1649);
1650
1651//
1652// HAL Private dispatch Table
1653//
1654// See Version table at:
1655// https://www.geoffchappell.com/studies/windows/km/ntoskrnl/inc/ntos/hal/hal_private_dispatch.htm
1656//
1657#if (NTDDI_VERSION < NTDDI_WINXP)
1658#define HAL_PRIVATE_DISPATCH_VERSION 1
1659#elif (NTDDI_VERSION < NTDDI_LONGHORN)
1660#define HAL_PRIVATE_DISPATCH_VERSION 2
1661#elif (NTDDI_VERSION < NTDDI_VISTASP1)
1662#define HAL_PRIVATE_DISPATCH_VERSION 5
1663#elif (NTDDI_VERSION < NTDDI_VISTASP2)
1664#define HAL_PRIVATE_DISPATCH_VERSION 6
1665#elif (NTDDI_VERSION < NTDDI_WIN7)
1666#define HAL_PRIVATE_DISPATCH_VERSION 7
1667#elif (NTDDI_VERSION < NTDDI_WIN8)
1668#define HAL_PRIVATE_DISPATCH_VERSION 13
1669#elif (NTDDI_VERSION < NTDDI_WINBLUE)
1670#define HAL_PRIVATE_DISPATCH_VERSION 21
1671#elif (NTDDI_VERSION < NTDDI_WIN10)
1672#define HAL_PRIVATE_DISPATCH_VERSION 23
1673#elif (NTDDI_VERSION >= NTDDI_WIN10)
1674#define HAL_PRIVATE_DISPATCH_VERSION 32
1675#else
1676/* Not yet defined */
1677#endif
1679{
1692#if (NTDDI_VERSION >= NTDDI_WS03)
1694#endif
1695#if (NTDDI_VERSION >= NTDDI_WINXP)
1703#endif
1704#if (NTDDI_VERSION >= NTDDI_LONGHORN) || defined(__REACTOS__)
1712#endif
1713#if (NTDDI_VERSION >= NTDDI_VISTASP1) || defined(__REACTOS__)
1721#endif
1722#if (NTDDI_VERSION >= NTDDI_WIN7)
1728#endif
1729#if (NTDDI_VERSION >= NTDDI_VISTASP2) || defined(__REACTOS__)
1732#endif
1733#if (NTDDI_VERSION >= NTDDI_WIN7)
1739#endif
1740#if (NTDDI_VERSION >= NTDDI_WIN8)
1746#if (NTDDI_VERSION == NTDDI_WIN8)
1749#elif (NTDDI_VERSION >= NTDDI_WINBLUE)
1750 PVOID Dummy1;
1751 PVOID Dummy2;
1752#endif
1777#if (NTDDI_VERSION == NTDDI_WIN8)
1779#elif (NTDDI_VERSION >= NTDDI_WINBLUE)
1780 PVOID Dummy3;
1781#endif
1795#endif
1796#if (NTDDI_VERSION >= NTDDI_WINBLUE)
1812#endif
1813#if (NTDDI_VERSION >= NTDDI_WIN10)
1827#endif
1829
1831{
1838
1840{
1841 struct {
1845 struct {
1852 } CapReg;
1857
1858//
1859// HAL IOMMU function Types
1860//
1861typedef
1864 VOID
1865);
1866
1867typedef
1870(NTAPI *pHalIommuGetConfiguration)(
1875);
1876
1877typedef
1880(NTAPI *pHalIommuGetLibraryContext)(
1881 _In_ ULONG Pasid,
1884);
1885
1886typedef
1889(NTAPI *pHalIommuMapDevice)(
1894);
1895
1896typedef
1899(NTAPI *pHalIommuEnableDevicePasid)(
1902);
1903
1904typedef
1907(NTAPI *pHalIommuSetAddressSpace)(
1910);
1911
1912typedef
1915(NTAPI *pHalIommuDisableDevicePasid)(
1918);
1919
1920typedef
1923(NTAPI *pHalIommuUnmapDevice)(
1926);
1927
1928typedef
1931(NTAPI *pHalIommuFreeLibraryContext)(
1933);
1934
1935typedef
1937VOID
1938(NTAPI *pHalIommuFlushTb)(
1942);
1943
1944typedef
1946VOID
1947(NTAPI *pHalIommuFlushAllPasid)(
1950 _In_reads_(Number) KTB_FLUSH_VA Virtual[]
1951);
1952
1953typedef
1955BOOLEAN
1956(NTAPI *pHalIommuProcessPageRequestQueue)(
1958);
1959
1960typedef
1963(NTAPI *pHalIommuDevicePowerChange)(
1967);
1968
1969typedef
1971VOID
1972(NTAPI *pHalIommuFaultRoutine)(
1974);
1975
1976typedef
1978PVOID
1979(NTAPI *pHalIommuReferenceAsid)(
1981);
1982
1983typedef
1985VOID
1986(NTAPI *pHalIommuDereferenceAsid)(
1988);
1989
1990typedef
1993(NTAPI *pHalIommuServicePageFault)(
1994 _In_ ULONG_PTR FaultStatus,
1997);
1998
1999//
2000// HAL IOMMU dispatch Table
2001//
2003{
2005 pHalIommuGetConfiguration HalIommuGetConfiguration;
2006 pHalIommuGetLibraryContext HalIommuGetLibraryContext;
2007 pHalIommuMapDevice HalIommuMapDevice;
2008 pHalIommuEnableDevicePasid HalIommuEnableDevicePasid;
2009 pHalIommuSetAddressSpace HalIommuSetAddressSpace;
2010 pHalIommuDisableDevicePasid HalIommuDisableDevicePasid;
2011 pHalIommuUnmapDevice HalIommuUnmapDevice;
2012 pHalIommuFreeLibraryContext HalIommuFreeLibraryContext;
2013 pHalIommuFlushTb HalIommuFlushTb;
2014 pHalIommuFlushAllPasid HalIommuFlushAllPasid;
2015 pHalIommuProcessPageRequestQueue HalIommuProcessPageRequestQueue;
2016 pHalIommuFaultRoutine HalIommuFaultRoutine;
2017 pHalIommuReferenceAsid HalIommuReferenceAsid;
2018 pHalIommuDereferenceAsid HalIommuDereferenceAsid;
2019 pHalIommuServicePageFault HalIommuServicePageFault;
2020 pHalIommuDevicePowerChange HalIommuDevicePowerChange;
2022
2024
2025//
2026// HAL Supported Range
2027//
2028#define HAL_SUPPORTED_RANGE_VERSION 1
2029typedef struct _SUPPORTED_RANGE
2030{
2037
2038typedef struct _SUPPORTED_RANGES
2039{
2052
2053//
2054// HAL Bus Handler
2055//
2056#define HAL_BUS_HANDLER_VERSION 1
2057typedef struct _BUS_HANDLER
2058{
2084
2085//
2086// HAL Chip Hacks
2087//
2088#define HAL_PCI_CHIP_HACK_BROKEN_ACPI_TIMER 0x01
2089#define HAL_PCI_CHIP_HACK_DISABLE_HIBERNATE 0x02
2090#define HAL_PCI_CHIP_HACK_DISABLE_ACPI_IRQ_ROUTING 0x04
2091#define HAL_PCI_CHIP_HACK_USB_SMI_DISABLE 0x08
2092
2093//
2094// Kernel Exports
2095//
2096#if !defined(_NTSYSTEM_) && (defined(_NTDRIVER_) || defined(_NTDDK_) || defined(_NTIFS_) || defined(_NTHAL_))
2098#define HALPRIVATEDISPATCH ((PHAL_PRIVATE_DISPATCH)&HalPrivateDispatchTable)
2099#else
2101#define HALPRIVATEDISPATCH (&HalPrivateDispatchTable)
2102#endif
2103
2104//
2105// HAL Exports
2106//
2108
2109//
2110// HAL Constants
2111//
2112#define HAL_IRQ_TRANSLATOR_VERSION 0x0
2113
2114//
2115// BIOS call structure
2116//
2118{
2129
2130#endif
2131#endif
2132
2133
2134
PRTL_UNICODE_STRING_BUFFER PULONG PULONG Unknown4
#define VOID
Definition: acefi.h:82
unsigned char BOOLEAN
Definition: actypes.h:127
unsigned char UINT8
Definition: actypes.h:128
COMPILER_DEPENDENT_UINT64 UINT64
Definition: actypes.h:131
@ Identifier
Definition: asmpp.cpp:103
LONG NTSTATUS
Definition: precomp.h:26
KAFFINITY * PKAFFINITY
Definition: basetsd.h:189
BIOS_MEMORY_MAP MemoryMap[32]
Definition: loader.c:11
#define NTSYSAPI
Definition: ntoskrnl.h:12
_In_ CDROM_SCAN_FOR_SPECIAL_INFO _In_ PCDROM_SCAN_FOR_SPECIAL_HANDLER Function
Definition: cdrom.h:1156
Definition: bufpool.h:45
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES IN DWORD IN DWORD IN DWORD Unknown5
Definition: conport.c:39
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES IN DWORD Unknown3
Definition: conport.c:37
_In_ ULONG _In_ MEMORY_CACHING_TYPE _Out_ PPHYSICAL_ADDRESS PhysicalAddress
Definition: dispmprt.h:714
_In_ HANDLE _In_ CONST PDXGKMDT_OPM_GET_INFO_PARAMETERS Parameters
Definition: dispmprt.h:321
_Check_return_ _In_ D3DDDI_VIDEO_PRESENT_TARGET_ID _In_ PDXGKARG_SYSTEM_DISPLAY_ENABLE_FLAGS _Out_ UINT _Out_ UINT * Height
Definition: dispmprt.h:1445
_Check_return_ _In_ D3DDDI_VIDEO_PRESENT_TARGET_ID _In_ PDXGKARG_SYSTEM_DISPLAY_ENABLE_FLAGS _Out_ UINT * Width
Definition: dispmprt.h:1444
_In_ ULONG _In_ ULONG _In_opt_ DXGKCB_MIRACAST_SEND_MESSAGE_CALLBACK Callback
Definition: dispmprt.h:620
_In_ D3DDDI_VIDEO_PRESENT_TARGET_ID _In_ ULONG _In_ ULONG Flags
Definition: dispmprt.h:245
#define NTSTATUS
Definition: precomp.h:19
ULONG_PTR KAFFINITY
Definition: compat.h:85
#define _IRQL_requires_max_(irql)
Definition: driverspecs.h:230
#define PASSIVE_LEVEL
Definition: env_spec_w32.h:693
UCHAR KIRQL
Definition: env_spec_w32.h:591
#define HIGH_LEVEL
Definition: env_spec_w32.h:703
KIRQL * PKIRQL
Definition: env_spec_w32.h:592
#define DISPATCH_LEVEL
Definition: env_spec_w32.h:696
_Must_inspect_result_ _In_ FLT_CONTEXT_TYPE _In_ SIZE_T ContextSize
Definition: fltkernel.h:1444
ULONG Handle
Definition: gdb_input.c:15
_Must_inspect_result_ typedef _Out_ PHIDP_CAPS Capabilities
Definition: hidclass.h:103
_Must_inspect_result_ _In_ PUCXHUB_DEVICE_CREATE_INFO _Out_ UCXUSBDEVICE * Device
Definition: hubucx.h:258
@ Unknown
Definition: i8042prt.h:114
_In_ PIRP _In_ PIO_COMPLETION_ROUTINE _In_ PVOID Context
Definition: kse.h:81
unsigned __int64 ULONG64
Definition: imports.h:198
unsigned __int64 * PULONG64
Definition: imports.h:198
static PTIME_FIELDS TimeFields
Definition: time.c:36
@ Enabled
Definition: mountmgr.h:179
_Inout_opt_ PDEVICE_OBJECT _Inout_opt_ PDEVICE_OBJECT _Inout_opt_ PDEVICE_OBJECT _Inout_opt_ PCM_RESOURCE_LIST * AllocatedResources
Definition: ndis.h:4643
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
Definition: ndis.h:3169
#define HalGetClockConfiguration
Definition: halfuncs.h:146
VOID(NTAPI * pHalFlushExternalCache)(_In_ BOOLEAN Invalidate)
Definition: haltypes.h:1272
NTSTATUS(NTAPI * PHAL_NOTIFY_DEBUG_DEVICE_AVAILABLE)(VOID)
Definition: haltypes.h:586
PHALREBOOTHANDLER(NTAPI * pHalPowerSetRebootHandler)(_In_opt_ PHALREBOOTHANDLER NewHandler)
Definition: haltypes.h:1481
NTSTATUS(NTAPI * pHalAllocatePmcCounterSet)(_In_ ULONG ProcessorIndex, _In_reads_(SourceCount) KPROFILE_SOURCE *SourceList, _In_ ULONG SourceCount, _Out_ PMC_HANDLE *Handle)
Definition: haltypes.h:1305
VOID(NTAPI * pHalFlushIoBuffersExternalCache)(_In_ PMDL Mdl, _In_ BOOLEAN ReadOperation)
Definition: haltypes.h:1254
VOID(NTAPI * pHalFlushAndInvalidatePageExternalCache)(_In_ PHYSICAL_ADDRESS PhysicalAddress)
Definition: haltypes.h:1278
VOID(NTAPI * pHalRemoveInterruptRemapping)(_In_ ULONG BusNumber, _In_ ULONG SlotNumber, _In_ PPCI_BUSMASTER_DESCRIPTOR BusMasterDescriptor, _In_range_(0, 3) UCHAR PhantomBits, _Inout_updates_(VectorCount) PINTERRUPT_VECTOR_DATA VectorData, _In_ ULONG VectorCount)
Definition: haltypes.h:1231
VOID(NTAPI * pHalDmaFreeCrashDumpRegisters)(_In_ ULONG Phase)
Definition: haltypes.h:1398
union _IOMMU_SVM_CAPABILITIES IOMMU_SVM_CAPABILITIES
NTSTATUS(NTAPI * pHalDpUnmaskLevelTriggeredInterrupts)(VOID)
Definition: haltypes.h:436
struct _HAL_PRIVATE_DISPATCH HAL_PRIVATE_DISPATCH
VOID(NTAPI * PHAL_SVM_GET_SYSTEM_CAPABILITIES)(_Out_ PHAL_HV_SVM_SYSTEM_CAPABILITIES Capabilities)
Definition: haltypes.h:755
_In_ PIOMMU_DEVICE_PATH _In_ PIOMMU_SVM_CAPABILITIES _Out_ PVOID * DeviceHandle
Definition: haltypes.h:1894
NTSTATUS(NTAPI * pHalDpReplaceControl)(_In_ ULONG Phase, _In_ PVOID ReplaceContext)
Definition: haltypes.h:417
BOOLEAN(NTAPI * pHalTimerWatchdogGeneratedLastReset)(VOID)
Definition: haltypes.h:1513
struct _INTERRUPT_REMAPPING_INFO * PINTERRUPT_REMAPPING_INFO
VOID(NTAPI * pHalGetEnlightenmentInformation)(_Out_ PHAL_ENLIGHTENMENT_INFORMATION EnlightenmentInformation)
Definition: haltypes.h:969
BOOLEAN(NTAPI * PHAL_VP_START_ENABLED)(VOID)
Definition: haltypes.h:722
enum _FIRMWARE_REENTRY * PFIRMWARE_REENTRY
NTSTATUS(NTAPI * pHalProcessorHalt)(_In_ ULONG Flags, _Inout_opt_ PVOID Context, _In_ PVOID Halt)
Definition: haltypes.h:1343
NTSTATUS(NTAPI * pHalProcessorOn)(_In_ ULONG NtNumber)
Definition: haltypes.h:1532
ULONG(NTAPI * PGETSETBUSDATA)(_In_ PBUS_HANDLER BusHandler, _In_ PBUS_HANDLER RootHandler, _In_ ULONG SlotNumber, _In_ PVOID Buffer, _In_ ULONG Offset, _In_ ULONG Length)
Definition: haltypes.h:1621
NTSTATUS(NTAPI * pHalTimerWatchdogStart)(VOID)
Definition: haltypes.h:1487
_In_ ULONG _In_reads_(Number) KTB_FLUSH_VA Virtual[])
Definition: haltypes.h:1941
struct _HAL_LOG_REGISTER_CONTEXT HAL_LOG_REGISTER_CONTEXT
NTSTATUS(NTAPI * PHAL_SVM_CREATE_PR_QUEUE)(_In_ ULONG QueueId, _In_ ULONG Size, _In_ PHYSICAL_ADDRESS BaseAddress, _In_ ULONG InterruptVector, _In_ ULONG InterruptProcessorIndex)
Definition: haltypes.h:851
NTSTATUS(NTAPI * pHalGetVectorInput)(_In_ ULONG Vector, _In_ PGROUP_AFFINITY Affinity, _Out_ PULONG Input, _Out_ PKINTERRUPT_POLARITY Polarity, _Out_ PINTERRUPT_REMAPPING_INFO IntRemapInfo)
Definition: haltypes.h:313
struct _HAL_UNMASKED_INTERRUPT_INFORMATION * PHAL_UNMASKED_INTERRUPT_INFORMATION
struct _LOADER_PARAMETER_BLOCK * PLOADER_PARAMETER_BLOCK
Definition: haltypes.h:29
NTSTATUS(NTAPI * pHalProcessorFreeze)(VOID)
Definition: haltypes.h:1544
_INTERRUPT_TARGET_TYPE
Definition: haltypes.h:157
@ TargetGlobal
Definition: haltypes.h:161
@ TargetApic
Definition: haltypes.h:158
@ TargetApicRequest
Definition: haltypes.h:159
BOOLEAN(NTAPI * PTRANSLATEBUSADDRESS)(_In_ PBUS_HANDLER BusHandler, _In_ PBUS_HANDLER RootHandler, _In_ PHYSICAL_ADDRESS BusAddress, _Inout_ PULONG AddressSpace, _Out_ PPHYSICAL_ADDRESS TranslatedAddress)
Definition: haltypes.h:1643
_In_ ULONG_PTR DirectoryBase
Definition: haltypes.h:1910
struct _KTB_FLUSH_VA * PKTB_FLUSH_VA
struct _INTERRUPT_HT_INTR_INFO * PINTERRUPT_HT_INTR_INFO
BOOLEAN(NTAPI * pHalTimerOnlyClockInterruptPending)(VOID)
Definition: haltypes.h:1126
NTSTATUS(NTAPI * pHalInterruptVectorDataToGsiv)(_In_ PINTERRUPT_VECTOR_DATA VectorData, _Out_ PULONG Gsiv)
Definition: haltypes.h:1182
struct _IOMMU_DEVICE_PATH * PIOMMU_DEVICE_PATH
NTSTATUS(NTAPI * pHalTimerConvertPerformanceCounterToAuxiliaryCounter)(_In_ ULONG64 PerformanceCounterValue, _Out_ PULONG64 AuxiliaryCounterValueOut, _Out_opt_ PULONG64 ConversionErrorOut)
Definition: haltypes.h:1571
_In_ ULONG Number
Definition: haltypes.h:1940
struct _BUS_HANDLER BUS_HANDLER
NTSTATUS(NTAPI * PHAL_RETARGET_DEVICE_INTERRUPT)(_In_ ULONGLONG DeviceId, _In_ PVOID InterruptEntry, _In_ PVOID InterruptTarget, _In_ PGROUP_AFFINITY TargetProcessors, _Out_opt_ PVOID NewInterruptEntry)
Definition: haltypes.h:608
struct _HAL_CLOCK_TIMER_CONFIGURATION * PHAL_CLOCK_TIMER_CONFIGURATION
NTSTATUS(NTAPI * pHalTimerQueryAuxiliaryCounterFrequency)(_Out_opt_ PULONG64 AuxiliaryCounterFrequencyOut)
Definition: haltypes.h:1579
VOID(NTAPI * pHalPrepareForBugcheck)(_In_ ULONG Flags)
Definition: haltypes.h:455
VOID(NTAPI * pHalFreeMessageTarget)(_In_ PDEVICE_OBJECT Owner, _In_ ULONG Vector, _In_ PGROUP_AFFINITY ProcessorSet)
Definition: haltypes.h:365
union _HAL_UNMASKED_INTERRUPT_FLAGS * PHAL_UNMASKED_INTERRUPT_FLAGS
struct _HAL_PMC_COUNTERS * PMC_HANDLE
Definition: haltypes.h:1301
struct _SUPPORTED_RANGES SUPPORTED_RANGES
BOOLEAN(NTAPI * pHalQueryIoPortAccessSupported)(VOID)
Definition: haltypes.h:476
VOID(NTAPI * pHalSaveAndDisableHvEnlightenment)(VOID)
Definition: haltypes.h:1242
struct _HAL_HV_SVM_SYSTEM_CAPABILITIES HAL_HV_SVM_SYSTEM_CAPABILITIES
NTSTATUS(NTAPI * PHAL_LP_WRITE_MULTIPLE_MSR)(_In_ HAL_HV_LOGICAL_PROCESSOR_INDEX HvLpIndex, _In_ ULONG Count, _In_reads_(Count) PULONG MsrIndices, _In_reads_(Count) PULONG64 MsrValues)
Definition: haltypes.h:651
NTSTATUS(NTAPI * PHAL_SVM_ACKNOWLEDGE_PAGE_REQUEST)(_In_ ULONG Count, _In_ PVOID PageRequestList, _Out_opt_ PULONG Processed)
Definition: haltypes.h:843
VOID(NTAPI * pHalFreePmcCounterSet)(_In_ PMC_HANDLE Handle)
Definition: haltypes.h:1314
PHAL_IOMMU_DISPATCH HalIommuDispatch
NTSTATUS(NTAPI * PHAL_GET_VP_INDEX_FROM_APIC_ID)(_In_ ULONG ApicId, _Out_ PULONG VpIndex)
Definition: haltypes.h:735
NTSTATUS(NTAPI * pHalUpdateCapsule)(_In_ PVOID CapsuleHeaderArray, _In_ ULONG CapsuleCount, _In_opt_ PHYSICAL_ADDRESS ScatterGatherList)
Definition: haltypes.h:1375
struct _INTERRUPT_VECTOR_DATA * PINTERRUPT_VECTOR_DATA
VOID(NTAPI * pHalClockTimerActivate)(_In_ BOOLEAN ClockOwner)
Definition: haltypes.h:1100
enum _FIRMWARE_REENTRY FIRMWARE_REENTRY
struct _SUPPORTED_RANGES * PSUPPORTED_RANGES
VOID(NTAPI * PHAL_SVM_FLUSH_PASID)(_In_ ULONG PasidSpaceId, _In_ ULONG Pasid, _In_ ULONG Number, _In_reads_opt_(Number) KTB_FLUSH_VA Virtual[])
Definition: haltypes.h:805
NTSTATUS(NTAPI * pHalConnectThermalInterrupt)(_In_ PKSERVICE_ROUTINE InterruptService)
Definition: haltypes.h:1585
NTSTATUS(NTAPI * PHAL_SVM_DELETE_PR_QUEUE)(_In_ ULONG QueueId)
Definition: haltypes.h:861
VOID(NTAPI * PHAL_LONG_SPIN_WAIT)(_In_ ULONG SpinCount)
Definition: haltypes.h:554
VOID(NTAPI * pHalTimerWatchdogResetCountdown)(_In_ LOGICAL SetWakeTimer)
Definition: haltypes.h:1494
ULONG(NTAPI * pHalGetClockOwner)(VOID)
Definition: haltypes.h:1078
NTSTATUS(NTAPI * PHAL_START_VIRTUAL_PROCESSOR)(_In_ ULONG VpIndex, _In_ PVOID Context)
Definition: haltypes.h:728
NTSTATUS(NTAPI * pHalPostMicrocodeUpdate)(VOID)
Definition: haltypes.h:345
NTSTATUS(NTAPI * PHAL_ENTER_SLEEP_STATE)(_In_ UINT32 SleepState)
Definition: haltypes.h:580
BOOLEAN(NTAPI * pHalQueryWakeTime)(_Out_ PULONGLONG WakeTime, _Out_opt_ PULONGLONG TscOffset)
Definition: haltypes.h:462
VOID(NTAPI * pHalLocateHiberRanges)(_In_ PVOID MemoryMap)
Definition: haltypes.h:286
BOOLEAN(NTAPI * pHalIommuSupportEnabled)(VOID)
Definition: haltypes.h:1863
struct _PCI_BUSMASTER_DESCRIPTOR * PPCI_BUSMASTER_DESCRIPTOR
struct _X86_BIOS_REGISTERS * PX86_BIOS_REGISTERS
VOID(NTAPI * pHalPowerEarlyRestore)(_In_ ULONG Phase)
Definition: haltypes.h:1369
NTSTATUS(NTAPI * pHalAllocateGsivForSecondaryInterrupt)(_In_reads_bytes_(OwnerNameLength) PCCHAR OwnerName, _In_ USHORT OwnerNameLength, _Out_ PULONG Gsiv)
Definition: haltypes.h:1174
NTSTATUS(NTAPI * PHAL_RESUME_PARTITION)(_In_ UINT64 PartitionId)
Definition: haltypes.h:692
struct _KPRCB * PKPRCB
Definition: haltypes.h:30
VOID(NTAPI * pHalCollectPmcCounters)(_In_ PMC_HANDLE Handle, _Out_ PULONG64 Data)
Definition: haltypes.h:1320
SIZE_T(NTAPI * PHAL_IUM_EFI_RUNTIME_SERVICE)(_In_ ULONG Service, _Inout_updates_bytes_(Size) PVOID Data, _In_ ULONGLONG Size, _Inout_opt_ ULONGLONG Parameters[])
Definition: haltypes.h:761
struct _HAL_HV_SVM_SYSTEM_CAPABILITIES * PHAL_HV_SVM_SYSTEM_CAPABILITIES
struct _HAL_INTERRUPT_TARGET_DESCRIPTOR * PHAL_INTERRUPT_TARGET_DESCRIPTOR
NTSTATUS(NTAPI * PHAL_SVM_DETACH_PASID_SPACE)(_In_ ULONG DeviceId)
Definition: haltypes.h:823
INTERRUPT_CONNECTION_TYPE
Definition: haltypes.h:59
@ InterruptTypeHypertransport
Definition: haltypes.h:62
@ InterruptTypeMessageRequest
Definition: haltypes.h:63
@ InterruptTypeXapicMessage
Definition: haltypes.h:61
@ InterruptTypeControllerInput
Definition: haltypes.h:60
NTSTATUS(NTAPI * PHAL_SVM_DISABLE_PASID)(_In_ ULONG DeviceId, _In_ ULONG Pasid)
Definition: haltypes.h:836
VOID(NTAPI * pHalTscSynchronization)(_In_ BOOLEAN ForcedSynchronization, _In_opt_ PULONG TargetProcessor)
Definition: haltypes.h:489
NTSTATUS(NTAPI * PINSTALL_BUS_HANDLER)(_In_ PBUS_HANDLER Bus)
Definition: haltypes.h:245
_In_ PVOID _In_ ULONG Asid
Definition: haltypes.h:1997
NTSTATUS(NTAPI * pHalAllocateMapRegisters)(_In_ PADAPTER_OBJECT AdapterObject, _In_ ULONG NumberOfMapRegisters, _In_ ULONG BaseAddressCount, _Out_ PMAP_REGISTER_ENTRY MapRegisterArray)
Definition: haltypes.h:292
_In_ PVOID FaultingVa
Definition: haltypes.h:1995
struct _HAL_MESSAGE_SIGNAL_TARGET_REQUEST * PHAL_MESSAGE_SIGNAL_TARGET_REQUEST
NTSTATUS(NTAPI * PHAL_SVM_CLEAR_PRQ_STALLED)(_In_ ULONG QueueId)
Definition: haltypes.h:867
struct _HAL_IOMMU_DISPATCH HAL_IOMMU_DISPATCH
NTSTATUS(NTAPI * PHAL_LP_GET_MACHINE_CHECK_CONTEXT)(_In_ HAL_HV_LOGICAL_PROCESSOR_INDEX HvLpIndex, _Out_ UINT32 *Source, _Out_ UINT64 *PartitionId, _Out_ UINT32 *VpIndex)
Definition: haltypes.h:677
NTSTATUS(NTAPI * PHAL_LP_WRITEBACK_INVALIDATE)(_In_ HAL_HV_LOGICAL_PROCESSOR_INDEX HvLpIndex)
Definition: haltypes.h:671
_In_ PVOID _In_ BOOLEAN PowerActive
Definition: haltypes.h:1967
NTSTATUS(NTAPI * PHAL_MAP_DEVICE_INTERRUPT)(_In_ ULONGLONG DeviceId, _In_ PVOID InterruptDescriptor, _In_opt_ PGROUP_AFFINITY TargetProcessors, _Out_ PVOID InterruptEntry)
Definition: haltypes.h:592
NTSTATUS(NTAPI * PHAL_SET_SYSTEM_SLEEP_PROPERTY)(_In_ UINT32 SleepState, _In_ UINT8 Pm1a_SLP_TYP, _In_ UINT8 Pm1b_SLP_TYP)
Definition: haltypes.h:566
VOID(NTAPI * pHalSetWakeAlarm)(_In_ ULONGLONG AlartTime, _In_ ULONGLONG DcWakeTime)
Definition: haltypes.h:271
NTSTATUS(NTAPI * pHalAllocateMessageTarget)(_In_ PDEVICE_OBJECT Owner, _In_ PGROUP_AFFINITY ProcessorSet, _In_ ULONG NumberOfIdtEntries, _In_ KINTERRUPT_MODE Mode, _In_ BOOLEAN ShareVector, _Out_ PULONG Vector, _Out_ PKIRQL Irql, _Out_ PULONG IdtEntry)
Definition: haltypes.h:352
PVOID(NTAPI * pHalMapEarlyPages)(_In_ ULONG64 PhysicalAddress, _In_ ULONG PageCount, _In_ ULONG Protection)
Definition: haltypes.h:984
NTSTATUS(NTAPI * pHalProcessorOff)(VOID)
Definition: haltypes.h:1538
NTSYSAPI HAL_PRIVATE_DISPATCH HalPrivateDispatchTable
Definition: halstub.c:75
NTSTATUS(NTAPI * PHAL_SVM_ENABLE_PASID)(_In_ ULONG DeviceId, _In_ ULONG Pasid)
Definition: haltypes.h:829
_Out_ PULONG PageRequestQueues
Definition: haltypes.h:1872
VOID(NTAPI * pHalIommuRegisterDispatchTable)(_Inout_ struct _HAL_IOMMU_DISPATCH *DispatchTable)
Definition: haltypes.h:1134
_In_ PIOMMU_DEVICE_PATH DevicePath
Definition: haltypes.h:1891
NTSTATUS(NTAPI * PHAL_SVM_SET_DEVICE_ENABLED)(_In_ ULONG DeviceId, _In_ BOOLEAN Enabled)
Definition: haltypes.h:873
VOID(NTAPI * pHalDpReplaceEnd)(_In_ PVOID ReplaceContext)
Definition: haltypes.h:424
VOID(NTAPI * PHAL_ENLIGHTENMENT_WRITE_ICR)(_In_ ULONG Target, _In_ ULONG Command)
Definition: haltypes.h:547
struct _HAL_INTEL_ENLIGHTENMENT_INFORMATION * PHAL_INTEL_ENLIGHTENMENT_INFORMATION
VOID(NTAPI * pHalRegisterLogRoutine)(_In_ PHAL_LOG_REGISTER_CONTEXT Context)
Definition: haltypes.h:1047
NTSTATUS(NTAPI * pHalPrepareProcessorForIdle)(_In_ ULONG Flags)
Definition: haltypes.h:993
NTSTATUS(NTAPI * PHAL_WHEA_ERROR_NOTIFICATION)(_In_ PWHEA_RECOVERY_CONTEXT RecoveryContext, _In_ BOOLEAN PlatformDirected, _In_ BOOLEAN Poisoned)
Definition: haltypes.h:701
NTSTATUS(NTAPI * pHalUnloadMicrocode)(VOID)
Definition: haltypes.h:339
struct _SUPPORTED_RANGE * PSUPPORTED_RANGE
NTSTATUS(NTAPI * pHalInterruptGetHighestPriorityInterrupt)(_Out_ PULONG HighestPendingVector, _Out_ PBOOLEAN SingleInterrupt)
Definition: haltypes.h:1525
ULONG(NTAPI * pHalGetInterruptVector)(_In_ INTERFACE_TYPE InterfaceType, _In_ ULONG BusNumber, _In_ ULONG BusInterruptLevel, _In_ ULONG BusInterruptVector, _Out_ PKIRQL Irql, _Out_ PKAFFINITY Affinity)
Definition: haltypes.h:301
NTSTATUS(NTAPI * pHalQueryProcessorRestartEntryPoint)(_Out_ PPHYSICAL_ADDRESS EntryPoint)
Definition: haltypes.h:1357
VOID(NTAPI * pHalReportIdleStateUsage)(_In_ UCHAR DeepestHardwareIdleState, _In_ PKAFFINITY_EX TargetSet)
Definition: haltypes.h:482
NTSTATUS(NTAPI * pHalTimerConvertAuxiliaryCounterToPerformanceCounter)(_In_ ULONG64 AuxiliaryCounterValue, _Out_ PULONG64 PerformanceCounterValueOut, _Out_opt_ PULONG64 ConversionErrorOut)
Definition: haltypes.h:1563
PVOID(NTAPI * pHalAllocateEarlyPages)(_In_ PLOADER_PARAMETER_BLOCK LoaderBlock, _In_ ULONG PageCount, _Out_ PULONG64 PhysicalAddress, _In_ ULONG Protection)
Definition: haltypes.h:975
NTSTATUS(NTAPI * PHAL_SVM_CREATE_PASID_SPACE)(_In_ ULONG PasidSpaceId, _In_ ULONG PasidCount)
Definition: haltypes.h:790
_In_ PHAL_UNMASKED_INTERRUPT_INFORMATION InterruptInformation
Definition: haltypes.h:1451
NTSTATUS(NTAPI * PHAL_SVM_ATTACH_PASID_SPACE)(_In_ ULONG DeviceId, _In_ ULONG PasidSpaceId, _In_ ULONG PrqId, _In_ ULONG PciCapabilities)
Definition: haltypes.h:814
VOID(NTAPI * pHalDpReplaceTarget)(_In_ PVOID ReplaceContext)
Definition: haltypes.h:411
enum _HAL_CLOCK_TIMER_MODE * PHAL_CLOCK_TIMER_MODE
NTSTATUS(NTAPI * pHalMaskInterrupt)(_In_ ULONG InputGsiv, _In_ ULONG Flags)
Definition: haltypes.h:1160
NTSTATUS(NTAPI * pHalDmaCheckAdapterToken)(_In_ ULONG_PTR Token)
Definition: haltypes.h:1557
ULONG HAL_HV_LOGICAL_PROCESSOR_INDEX
Definition: haltypes.h:537
VOID(NTAPI * pHalClockTimerInitialize)(VOID)
Definition: haltypes.h:1106
_In_ ULONG Domain
Definition: haltypes.h:1882
NTHALAPI PUCHAR KdComPortInUse
Definition: usage.c:17
_PCI_BUSMASTER_RID_TYPE
Definition: haltypes.h:1188
@ BusmasterRidFromMultipleBridges
Definition: haltypes.h:1191
@ BusmasterRidFromBridgeRid
Definition: haltypes.h:1190
@ BusmasterRidFromDeviceRid
Definition: haltypes.h:1189
struct _KTB_FLUSH_VA KTB_FLUSH_VA
NTSTATUS(NTAPI * pHalInterruptSetDestination)(_In_ ULONG Gsiv, _In_ PINTERRUPT_VECTOR_DATA VectorData, _In_ PGROUP_AFFINITY TargetProcessors)
Definition: haltypes.h:1411
VOID(NTAPI * PHAL_ENLIGHTENMENT_EOI)(VOID)
Definition: haltypes.h:541
NTSTATUS(NTAPI * PASSIGNSLOTRESOURCES)(_In_ PBUS_HANDLER BusHandler, _In_ PBUS_HANDLER RootHandler, _In_ PUNICODE_STRING RegistryPath, _In_opt_ PUNICODE_STRING DriverClassName, _In_ PDRIVER_OBJECT DriverObject, _In_opt_ PDEVICE_OBJECT DeviceObject, _In_ ULONG SlotNumber, _Inout_ PCM_RESOURCE_LIST *AllocatedResources)
Definition: haltypes.h:1608
struct _HAL_LOG_REGISTER_CONTEXT * PHAL_LOG_REGISTER_CONTEXT
NTSTATUS(NTAPI * PHAL_SYNTHETIC_CLUSTER_IPI)(_In_ PKAFFINITY_EX Affinity, _In_ ULONG Vector)
Definition: haltypes.h:715
_Out_ PULONG _Out_ PULONG MaximumAsids
Definition: haltypes.h:1873
NTSTATUS(NTAPI * pHalGetProcessorId)(_In_ ULONG ProcessorIndex, _Out_ ULONG *Identifier)
Definition: haltypes.h:1296
NTSTATUS(NTAPI * pHalLoadMicrocode)(_In_ PVOID ImageHandle)
Definition: haltypes.h:333
_In_ PIOMMU_DEVICE_PATH _In_ PIOMMU_SVM_CAPABILITIES DeviceCapabilities
Definition: haltypes.h:1892
VOID(NTAPI * pHalRestoreHvEnlightenment)(VOID)
Definition: haltypes.h:1248
PVOID(NTAPI * pHalAcpiGetMultiNode)(VOID)
Definition: haltypes.h:1466
NTSTATUS(NTAPI * pHalClockTimerArm)(_In_ HAL_CLOCK_TIMER_MODE Mode, _In_ ULONG64 RequestedInteval, _Out_ PULONG64 ActualInterval)
Definition: haltypes.h:1118
_Out_ PULONG _Out_ PULONG _Out_ PVOID * SystemContext
Definition: haltypes.h:1875
enum _PCI_BUSMASTER_RID_TYPE * PPCI_BUSMASTER_RID_TYPE
_HAL_CLOCK_TIMER_MODE
Definition: haltypes.h:1052
@ HalClockTimerModeMax
Definition: haltypes.h:1055
@ HalClockTimerModeOneShot
Definition: haltypes.h:1054
@ HalClockTimerModePeriodic
Definition: haltypes.h:1053
ULONG64(NTAPI * PHAL_GET_REFERENCE_TIME)(VOID)
Definition: haltypes.h:560
VOID(NTAPI * pHalGetClockConfiguration)(_Out_ PHAL_CLOCK_TIMER_CONFIGURATION Configuration)
Definition: haltypes.h:1085
ULONG(NTAPI * PGETINTERRUPTVECTOR)(_In_ PBUS_HANDLER BusHandler, _In_ PBUS_HANDLER RootHandler, _In_ ULONG BusInterruptLevel, _In_ ULONG BusInterruptVector, _Out_ PKIRQL Irql, _Out_ PKAFFINITY Affinity)
Definition: haltypes.h:1632
NTSTATUS(NTAPI * pHalTimerWatchdogStop)(VOID)
Definition: haltypes.h:1507
NTSTATUS(NTAPI * PHAL_NOTIFY_HPET_ENABLED)(VOID)
Definition: haltypes.h:628
NTSTATUS(NTAPI * pHalSecondaryInterruptQueryPrimaryInformation)(_In_ PINTERRUPT_VECTOR_DATA VectorData, _Out_ PULONG PrimaryGsiv)
Definition: haltypes.h:1146
_Inout_opt_ volatile LONG * ProcessorsStarted
Definition: haltypes.h:1475
NTSTATUS(NTAPI * pHalDpGetInterruptReplayState)(_In_ PVOID ReplaceContext, _Outptr_ PVOID *Buffer)
Definition: haltypes.h:442
#define PHAL_ENLIGHTENMENT_INFORMATION
Definition: haltypes.h:957
struct _HAL_INTERRUPT_TARGET_DESCRIPTOR HAL_INTERRUPT_TARGET_DESCRIPTOR
HAL_ENUMERATE_INTERRUPT_SOURCE_CALLBACK * PHAL_ENUMERATE_INTERRUPT_SOURCE_CALLBACK
Definition: haltypes.h:1454
struct _HAL_UNMASKED_INTERRUPT_INFORMATION HAL_UNMASKED_INTERRUPT_INFORMATION
NTSTATUS(NTAPI * pHalQueryCapsuleCapabilities)(_In_ PVOID CapsuleHeaderArray, _In_ ULONG CapsuleCount, _Out_ PULONGLONG MaximumCapsuleSize, _Out_ PULONG ResetType)
Definition: haltypes.h:1383
NTSTATUS(NTAPI * pHalTimerWatchdogTriggerSystemReset)(_In_ BOOLEAN ResetViaClockInterrupt)
Definition: haltypes.h:1519
VOID(NTAPI * pHalStopLegacyUsbInterrupts)(_In_ SYSTEM_POWER_STATE LastSystemState)
Definition: haltypes.h:510
HALREBOOTHANDLER * PHALREBOOTHANDLER
Definition: haltypes.h:1477
struct _HAL_HV_SVM_DEVICE_CAPABILITIES HAL_HV_SVM_DEVICE_CAPABILITIES
BOOLEAN(NTAPI * pHalPciMultiStageResumeCapable)(VOID)
Definition: haltypes.h:1392
VOID(NTAPI * pHalNotifyProcessorFreeze)(_In_ BOOLEAN Freezing, _In_ BOOLEAN ThawingToSpinLoop)
Definition: haltypes.h:1005
NTSTATUS(NTAPI * PHAL_LP_READ_MULTIPLE_MSR)(_In_ HAL_HV_LOGICAL_PROCESSOR_INDEX HvLpIndex, _In_ ULONG Count, _In_reads_(Count) PULONG MsrIndices, _Out_writes_(Count) PULONG64 MsrValues)
Definition: haltypes.h:642
NTSTATUS(NTAPI * PHAL_SVM_GET_DEVICE_CAPABILITIES)(_In_ ULONG DeviceId, _Out_ PHAL_HV_SVM_DEVICE_CAPABILITIES Capabilities)
Definition: haltypes.h:783
VOID(NTAPI * pHalResumeProcessorFromIdle)(VOID)
Definition: haltypes.h:999
NTSTATUS(NTAPI * pHalDpReplayInterrupts)(_In_ PVOID InterruptState)
Definition: haltypes.h:449
_In_ ULONG _Out_ PVOID * LibraryContext
Definition: haltypes.h:1884
NTSTATUS(NTAPI * PHAL_SET_SYSTEM_MACHINE_CHECK_PROPERTY)(_In_ PVOID MachineCheckPropertyInfo)
Definition: haltypes.h:574
enum _PCI_BUSMASTER_RID_TYPE PCI_BUSMASTER_RID_TYPE
NTSTATUS(NTAPI * pHalWriteWheaPhysicalMemory)(_In_ PHYSICAL_ADDRESS PhysicalAddress, _In_ ULONG Length, _In_reads_bytes_(Length) PVOID Data)
Definition: haltypes.h:531
struct _INTERRUPT_REMAPPING_INFO INTERRUPT_REMAPPING_INFO
NTSTATUS(NTAPI * pHalDpMaskLevelTriggeredInterrupts)(VOID)
Definition: haltypes.h:430
struct _HAL_PRIVATE_DISPATCH * PHAL_PRIVATE_DISPATCH
struct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR * PWHEA_ERROR_RECORD_SECTION_DESCRIPTOR
Definition: haltypes.h:494
NTSTATUS(NTAPI * PHAL_SUSPEND_PARTITION)(_In_ UINT64 PartitionId)
Definition: haltypes.h:686
NTSTATUS(NTAPI * PHAL_UNMAP_DEVICE_INTERRUPT)(_In_ ULONGLONG DeviceId, _In_ PVOID InterruptEntry)
Definition: haltypes.h:601
struct _WHEA_PROCESSOR_GENERIC_ERROR_SECTION * PWHEA_PROCESSOR_GENERIC_ERROR_SECTION
Definition: haltypes.h:497
VOID(NTAPI * pHalFlushIoRectangleExternalCache)(_In_ PMDL Mdl, _In_ ULONG StartOffset, _In_ ULONG Width, _In_ ULONG Height, _In_ ULONG Stride, _In_ BOOLEAN ReadOperation)
Definition: haltypes.h:1261
NTSTATUS(NTAPI * PHAL_SET_HPET_CONFIG)(_In_ PHYSICAL_ADDRESS BaseAddress, _In_ ULONG TimerIndex, _In_ UINT64 DeviceId, _In_ UCHAR TimerInterruptPin, _Out_ PVOID InterruptEntry)
Definition: haltypes.h:618
struct _HAL_IOMMU_DISPATCH * PHAL_IOMMU_DISPATCH
struct _INTERRUPT_CONNECTION_DATA INTERRUPT_CONNECTION_DATA
NTSTATUS(NTAPI * pHalDpReplaceBegin)(_In_ PHAL_DP_REPLACE_PARAMETERS Parameters, _Outptr_ PVOID *ReplaceContext)
Definition: haltypes.h:404
PBUS_HANDLER(FASTCALL * pHalHandlerForConfigSpace)(_In_ BUS_DATA_TYPE ConfigSpace, _In_ ULONG BusNumber)
Definition: haltypes.h:238
ULONG(NTAPI * pHalVectorToIDTEntryEx)(_In_ ULONG Vector)
Definition: haltypes.h:1140
BOOLEAN(NTAPI * pHalIsInterruptTypeSecondary)(_In_ ULONG Type, _In_ ULONG InputGsiv)
Definition: haltypes.h:1153
struct _HAL_HV_SVM_DEVICE_CAPABILITIES * PHAL_HV_SVM_DEVICE_CAPABILITIES
NTSTATUS(NTAPI * pHalRequestInterrupt)(_In_ ULONG Gsiv)
Definition: haltypes.h:1363
union _IOMMU_SVM_CAPABILITIES * PIOMMU_SVM_CAPABILITIES
NTSTATUS(NTAPI * PHAL_QUERY_ASSOCIATED_PROCESSORS)(_In_ ULONG VpIndex, _Inout_ PULONG Count, _Out_writes_to_opt_(*Count, *Count) PHAL_HV_LOGICAL_PROCESSOR_INDEX PpIndices)
Definition: haltypes.h:634
union _HAL_UNMASKED_INTERRUPT_FLAGS HAL_UNMASKED_INTERRUPT_FLAGS
struct _HAL_ENLIGHTENMENT_INFORMATION * PHAL_ENLIGHTENMENT_INFORMATION
Definition: haltypes.h:965
enum _INTERRUPT_TARGET_TYPE INTERRUPT_TARGET_TYPE
NTSTATUS(NTAPI * pHalPciEarlyRestore)(_In_ SYSTEM_POWER_STATE SleepState)
Definition: haltypes.h:1284
VOID(NTAPI * PHAL_LOG_ROUTINE)(_In_ ULONG EventId, _In_ PVOID Buffer, _In_ ULONG Size)
Definition: haltypes.h:1033
NTSTATUS(NTAPI * PADJUSTRESOURCELIST)(_In_ PBUS_HANDLER BusHandler, _In_ PBUS_HANDLER RootHandler, _Inout_ PIO_RESOURCE_REQUIREMENTS_LIST *pResourceList)
Definition: haltypes.h:1600
NTSTATUS(NTAPI * pHalAddInterruptRemapping)(_In_ ULONG BusNumber, _In_ ULONG SlotNumber, _In_ PPCI_BUSMASTER_DESCRIPTOR BusMasterDescriptor, _In_range_(0, 3) UCHAR PhantomBits, _Inout_updates_(VectorCount) PINTERRUPT_VECTOR_DATA VectorData, _In_ ULONG VectorCount)
Definition: haltypes.h:1220
NTSTATUS(NTAPI * pHalReadWheaPhysicalMemory)(_In_ PHYSICAL_ADDRESS PhysicalAddress, _In_ ULONG Length, _Out_writes_bytes_(Length) PVOID Data)
Definition: haltypes.h:523
enum _HAL_CLOCK_TIMER_MODE HAL_CLOCK_TIMER_MODE
struct _INTERRUPT_VECTOR_DATA INTERRUPT_VECTOR_DATA
struct _INTERRUPT_CONNECTION_DATA * PINTERRUPT_CONNECTION_DATA
struct _WHEA_RECOVERY_CONTEXT * PWHEA_RECOVERY_CONTEXT
Definition: haltypes.h:696
struct _HAL_ENLIGHTENMENT_INFORMATION HAL_ENLIGHTENMENT_INFORMATION
Definition: haltypes.h:964
NTSTATUS(NTAPI * pHalRegisterBusHandler)(_In_ INTERFACE_TYPE InterfaceType, _In_ BUS_DATA_TYPE ConfigSpace, _In_ ULONG BusNumber, _In_ INTERFACE_TYPE ParentInterfaceType, _In_ ULONG ParentBusNumber, _In_ ULONG ContextSize, _In_ PINSTALL_BUS_HANDLER InstallCallback, _Out_ PBUS_HANDLER *BusHandler)
Definition: haltypes.h:251
VOID(NTAPI * pHalClockTimerStop)(VOID)
Definition: haltypes.h:1112
struct _IOMMU_DEVICE_PATH IOMMU_DEVICE_PATH
ULONGLONG(NTAPI * pHalTimerQueryCycleCounter)(_Out_opt_ PULONGLONG CycleCounterFrequency)
Definition: haltypes.h:1327
struct _HAL_DP_REPLACE_PARAMETERS * PHAL_DP_REPLACE_PARAMETERS
#define _HAL_ENLIGHTENMENT_INFORMATION
Definition: haltypes.h:955
struct _HAL_CLOCK_TIMER_CONFIGURATION HAL_CLOCK_TIMER_CONFIGURATION
BOOLEAN(NTAPI * pHalAcpiAoacCapable)(VOID)
Definition: haltypes.h:1404
struct _HAL_INTEL_ENLIGHTENMENT_INFORMATION HAL_INTEL_ENLIGHTENMENT_INFORMATION
BOOLEAN(NTAPI * pHalIsEFIRuntimeActive)(VOID)
Definition: haltypes.h:1591
NTSTATUS(NTAPI * PHAL_SVM_SET_PASID_ADDRESS_SPACE)(_In_ ULONG PasidSpaceId, _In_ ULONG Pasid, _In_ ULONGLONG AddressSpace)
Definition: haltypes.h:797
ULONG * PHAL_HV_LOGICAL_PROCESSOR_INDEX
Definition: haltypes.h:537
_FIRMWARE_REENTRY
Definition: haltypes.h:224
@ HalRestartRoutine
Definition: haltypes.h:227
@ HalHaltRoutine
Definition: haltypes.h:225
@ HalInteractiveModeRoutine
Definition: haltypes.h:229
@ HalPowerDownRoutine
Definition: haltypes.h:226
@ HalRebootRoutine
Definition: haltypes.h:228
@ HalMaximumRoutine
Definition: haltypes.h:230
struct _SUPPORTED_RANGE SUPPORTED_RANGE
struct _HAL_DP_REPLACE_PARAMETERS HAL_DP_REPLACE_PARAMETERS
VOID(NTAPI * pHalSetWakeEnable)(_In_ BOOLEAN Enable)
Definition: haltypes.h:264
NTSTATUS(NTAPI * pHalDmaLinkDeviceObjectByToken)(_In_ ULONG_PTR Token, _In_opt_ PDEVICE_OBJECT DeviceObject)
Definition: haltypes.h:1550
struct _X86_BIOS_REGISTERS X86_BIOS_REGISTERS
struct _PCI_BUSMASTER_DESCRIPTOR PCI_BUSMASTER_DESCRIPTOR
VOID(NTAPI * pHalPciLateRestore)(VOID)
Definition: haltypes.h:1290
VOID(NTAPI * pHalGetNextTickDuration)(PKPRCB Unknown1, BOOLEAN Unknown2, ULONG Unknown3, ULONG64 Unknown4, PULONGLONG Unknown5)
Definition: haltypes.h:1333
VOID(NTAPI * pHalPciMarkHiberPhase)(VOID)
Definition: haltypes.h:1351
NTSTATUS(NTAPI * pHalWheaInitProcessorGenericSection)(_Out_ PWHEA_ERROR_RECORD_SECTION_DESCRIPTOR Descriptor, _Out_ PWHEA_PROCESSOR_GENERIC_ERROR_SECTION Section)
Definition: haltypes.h:502
NTSTATUS(NTAPI * pHalUnmaskInterrupt)(_In_ ULONG InputGsiv, _In_ ULONG Flags)
Definition: haltypes.h:1167
ULONG(NTAPI * PHAL_GET_PROCESSOR_INDEX_FROM_VP_INDEX)(_In_ ULONG VpIndex)
Definition: haltypes.h:709
struct _HAL_MESSAGE_SIGNAL_TARGET_REQUEST HAL_MESSAGE_SIGNAL_TARGET_REQUEST
NTSTATUS(NTAPI * pHalEnumerateUnmaskedInterrupts)(_In_ PHAL_ENUMERATE_INTERRUPT_SOURCE_CALLBACK Callback, _In_ PVOID Context, _Out_ PHAL_UNMASKED_INTERRUPT_INFORMATION InterruptInformation)
Definition: haltypes.h:1458
struct _INTERRUPT_HT_INTR_INFO INTERRUPT_HT_INTR_INFO
NTSTATUS(NTAPI * PHAL_LP_READ_CPUID)(_In_ HAL_HV_LOGICAL_PROCESSOR_INDEX HvLpIndex, _In_ ULONG InEax, _Out_ PULONG OutEax, _Out_ PULONG OutEbx, _Out_ PULONG OutEcx, _Out_ PULONG OutEdx)
Definition: haltypes.h:660
struct _PNP_REPLACE_PROCESSOR_LIST * PPNP_REPLACE_PROCESSOR_LIST
Definition: haltypes.h:393
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize _Pre_valid_ PVOID * BaseAddress
Definition: mmfuncs.h:408
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG _Out_writes_bytes_to_opt_ DaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ SaclSize PACL _Inout_ PULONG _Out_writes_bytes_to_opt_ OwnerSize PSID Owner
Definition: rtlfuncs.h:1629
#define _Out_writes_to_opt_(s, c)
Definition: no_sal2.h:238
#define _In_reads_bytes_(s)
Definition: no_sal2.h:170
#define _Out_opt_
Definition: no_sal2.h:214
#define _Inout_updates_(s)
Definition: no_sal2.h:182
#define _Inout_
Definition: no_sal2.h:162
#define _Outptr_
Definition: no_sal2.h:262
#define _Inout_opt_
Definition: no_sal2.h:216
#define _Out_writes_(s)
Definition: no_sal2.h:176
#define _Out_
Definition: no_sal2.h:160
#define _In_reads_opt_(s)
Definition: no_sal2.h:222
#define _In_
Definition: no_sal2.h:158
#define _In_opt_
Definition: no_sal2.h:212
#define _In_range_(l, h)
Definition: no_sal2.h:368
#define _Inout_updates_bytes_(s)
Definition: no_sal2.h:184
#define _Out_writes_bytes_(s)
Definition: no_sal2.h:178
int Count
Definition: noreturn.cpp:7
#define FASTCALL
Definition: nt_native.h:50
struct _BUS_HANDLER * PBUS_HANDLER
Definition: nt_native.h:37
__GNU_EXTENSION typedef unsigned __int64 * PULONGLONG
Definition: ntbasedef.h:395
PROCESSOR_NUMBER
Definition: ntbasedef.h:654
_In_ ULONG _In_ ULONG Offset
Definition: ntddpcm.h:101
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
Definition: ntddpcm.h:142
#define NTHALAPI
Definition: ntoskrnl.h:40
enum _SYSTEM_POWER_STATE SYSTEM_POWER_STATE
_In_ ULONG BusNumber
Definition: pciidex.h:65
#define DUMMYSTRUCTNAME
Definition: pecoff.h:117
#define BOOLEAN
Definition: pedump.c:73
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
@ Service
Definition: ntsecapi.h:292
enum _INTERFACE_TYPE INTERFACE_TYPE
enum _KINTERRUPT_MODE KINTERRUPT_MODE
enum _BUS_DATA_TYPE BUS_DATA_TYPE
@ Input
Definition: arc.h:93
Definition: shell.h:41
PGETINTERRUPTVECTOR GetInterruptVector
Definition: haltypes.h:2073
PGETSETBUSDATA GetBusData
Definition: haltypes.h:2069
PVOID Spare4
Definition: haltypes.h:2078
ULONG BusNumber
Definition: haltypes.h:2062
ULONG Version
Definition: haltypes.h:2059
PVOID Spare1
Definition: haltypes.h:2075
PSUPPORTED_RANGES BusAddresses
Definition: haltypes.h:2067
PVOID Spare7
Definition: haltypes.h:2081
PVOID Spare5
Definition: haltypes.h:2079
PVOID Spare8
Definition: haltypes.h:2082
PTRANSLATEBUSADDRESS TranslateBusAddress
Definition: haltypes.h:2074
PASSIGNSLOTRESOURCES AssignSlotResources
Definition: haltypes.h:2072
PVOID Spare2
Definition: haltypes.h:2076
BUS_DATA_TYPE ConfigurationType
Definition: haltypes.h:2061
ULONG DeviceControlExtensionSize
Definition: haltypes.h:2066
struct _BUS_HANDLER * ParentHandler
Definition: haltypes.h:2064
PVOID Spare6
Definition: haltypes.h:2080
PDEVICE_OBJECT DeviceObject
Definition: haltypes.h:2063
PGETSETBUSDATA SetBusData
Definition: haltypes.h:2070
PVOID Spare3
Definition: haltypes.h:2077
INTERFACE_TYPE InterfaceType
Definition: haltypes.h:2060
PADJUSTRESOURCELIST AdjustResourceList
Definition: haltypes.h:2071
PVOID BusData
Definition: haltypes.h:2065
PPNP_REPLACE_PROCESSOR_LIST SpareProcessors
Definition: haltypes.h:399
PPNP_REPLACE_PROCESSOR_LIST TargetProcessors
Definition: haltypes.h:398
PHAL_RESUME_PARTITION ResumePartition
Definition: haltypes.h:904
PHAL_LP_WRITEBACK_INVALIDATE LpWritebackInvalidate
Definition: haltypes.h:901
PHAL_IUM_EFI_RUNTIME_SERVICE IumEfiRuntimeService
Definition: haltypes.h:912
PHAL_SVM_CREATE_PASID_SPACE SvmCreatePasidSpace
Definition: haltypes.h:915
PHAL_SVM_GET_DEVICE_CAPABILITIES SvmGetDeviceCapabilities
Definition: haltypes.h:914
PHAL_SVM_CLEAR_PRQ_STALLED SvmClearPrqStalled
Definition: haltypes.h:925
PHAL_SET_SYSTEM_MACHINE_CHECK_PROPERTY SetSystemMachineCheckProperty
Definition: haltypes.h:905
PHAL_SVM_ATTACH_PASID_SPACE SvmAttachPasidSpace
Definition: haltypes.h:918
PHAL_SVM_ENABLE_PASID SvmEnablePasid
Definition: haltypes.h:920
PHAL_ENLIGHTENMENT_EOI EndOfInterrupt
Definition: haltypes.h:883
PHAL_SYNTHETIC_CLUSTER_IPI SyntheticClusterIpi
Definition: haltypes.h:908
PHAL_SVM_DETACH_PASID_SPACE SvmDetachPasidSpace
Definition: haltypes.h:919
PHAL_GET_VP_INDEX_FROM_APIC_ID GetVpIndexFromApicId
Definition: haltypes.h:911
PHAL_START_VIRTUAL_PROCESSOR StartVirtualProcessor
Definition: haltypes.h:910
PHAL_LONG_SPIN_WAIT LongSpinWait
Definition: haltypes.h:887
PHAL_SVM_DELETE_PR_QUEUE SvmDeletePrQueue
Definition: haltypes.h:924
PHAL_SVM_ACKNOWLEDGE_PAGE_REQUEST SvmAcknowledgePageRequest
Definition: haltypes.h:922
PHAL_LP_WRITE_MULTIPLE_MSR WriteMultipleMsr
Definition: haltypes.h:899
PHAL_SVM_FLUSH_PASID SvmFlushPasid
Definition: haltypes.h:917
PHAL_NOTIFY_HPET_ENABLED NotifyHpetEnabled
Definition: haltypes.h:896
PHAL_ENTER_SLEEP_STATE EnterSleepState
Definition: haltypes.h:890
PHAL_LP_GET_MACHINE_CHECK_CONTEXT GetMachineCheckContext
Definition: haltypes.h:902
PHAL_SVM_DISABLE_PASID SvmDisablePasid
Definition: haltypes.h:921
PHAL_RETARGET_DEVICE_INTERRUPT RetargetDeviceInterrupt
Definition: haltypes.h:894
PHAL_ENLIGHTENMENT_WRITE_ICR ApicWriteIcr
Definition: haltypes.h:884
PHAL_QUERY_ASSOCIATED_PROCESSORS QueryAssociatedProcessors
Definition: haltypes.h:897
PHAL_GET_PROCESSOR_INDEX_FROM_VP_INDEX GetProcessorIndexFromVpIndex
Definition: haltypes.h:907
PHAL_SET_HPET_CONFIG SetHpetConfig
Definition: haltypes.h:895
PHAL_WHEA_ERROR_NOTIFICATION WheaErrorNotification
Definition: haltypes.h:906
PHAL_LP_READ_MULTIPLE_MSR ReadMultipleMsr
Definition: haltypes.h:898
PHAL_VP_START_ENABLED VpStartEnabled
Definition: haltypes.h:909
PHAL_SVM_SET_DEVICE_ENABLED SvmSetDeviceEnabled
Definition: haltypes.h:926
PHAL_NOTIFY_DEBUG_DEVICE_AVAILABLE NotifyDebugDeviceAvailable
Definition: haltypes.h:891
PHAL_UNMAP_DEVICE_INTERRUPT UnmapDeviceInterrupt
Definition: haltypes.h:893
PHAL_GET_REFERENCE_TIME GetReferenceTime
Definition: haltypes.h:888
PHAL_SVM_CREATE_PR_QUEUE SvmCreatePrQueue
Definition: haltypes.h:923
PHAL_SUSPEND_PARTITION SuspendPartition
Definition: haltypes.h:903
PHAL_SVM_SET_PASID_ADDRESS_SPACE SvmSetPasidAddressSpace
Definition: haltypes.h:916
PHAL_SVM_GET_SYSTEM_CAPABILITIES SvmGetSystemCapabilities
Definition: haltypes.h:913
PHAL_SET_SYSTEM_SLEEP_PROPERTY SetSystemSleepProperty
Definition: haltypes.h:889
PHAL_MAP_DEVICE_INTERRUPT MapDeviceInterrupt
Definition: haltypes.h:892
INTERRUPT_TARGET_TYPE TargetType
Definition: haltypes.h:190
HAL_APIC_DESTINATION_MODE DestinationFormat
Definition: haltypes.h:200
PROCESSOR_NUMBER Processor
Definition: haltypes.h:192
pHalIommuFreeLibraryContext HalIommuFreeLibraryContext
Definition: haltypes.h:2012
pHalIommuReferenceAsid HalIommuReferenceAsid
Definition: haltypes.h:2017
pHalIommuDevicePowerChange HalIommuDevicePowerChange
Definition: haltypes.h:2020
pHalIommuServicePageFault HalIommuServicePageFault
Definition: haltypes.h:2019
pHalIommuProcessPageRequestQueue HalIommuProcessPageRequestQueue
Definition: haltypes.h:2015
pHalIommuFlushAllPasid HalIommuFlushAllPasid
Definition: haltypes.h:2014
pHalIommuGetConfiguration HalIommuGetConfiguration
Definition: haltypes.h:2005
pHalIommuFlushTb HalIommuFlushTb
Definition: haltypes.h:2013
pHalIommuMapDevice HalIommuMapDevice
Definition: haltypes.h:2007
pHalIommuFaultRoutine HalIommuFaultRoutine
Definition: haltypes.h:2016
pHalIommuGetLibraryContext HalIommuGetLibraryContext
Definition: haltypes.h:2006
pHalIommuSetAddressSpace HalIommuSetAddressSpace
Definition: haltypes.h:2009
pHalIommuUnmapDevice HalIommuUnmapDevice
Definition: haltypes.h:2011
pHalIommuDisableDevicePasid HalIommuDisableDevicePasid
Definition: haltypes.h:2010
pHalIommuDereferenceAsid HalIommuDereferenceAsid
Definition: haltypes.h:2018
pHalIommuEnableDevicePasid HalIommuEnableDevicePasid
Definition: haltypes.h:2008
pHalIommuSupportEnabled HalIommuSupportEnabled
Definition: haltypes.h:2004
PHAL_LOG_ROUTINE LogRoutine
Definition: haltypes.h:1041
HAL_APIC_DESTINATION_MODE ApicDestinationMode
Definition: haltypes.h:172
INTERRUPT_REMAPPING_INFO InterruptRemapInfo
Definition: haltypes.h:173
INTERRUPT_TARGET_TYPE InterruptTargetType
Definition: haltypes.h:167
pHalClockTimerActivate HalClockTimerActivate
Definition: haltypes.h:1799
pHalAllocatePmcCounterSet HalAllocatePmcCounterSet
Definition: haltypes.h:1772
pHalAssignSlotResources HalPciAssignSlotResources
Definition: haltypes.h:1688
pHalTimerConvertAuxiliaryCounterToPerformanceCounter HalTimerConvertAuxiliaryCounterToPerformanceCounter
Definition: haltypes.h:1823
pHalTimerWatchdogGeneratedLastReset HalTimerWatchdogGeneratedLastReset
Definition: haltypes.h:1810
pHalWriteWheaPhysicalMemory HalWriteWheaPhysicalMemory
Definition: haltypes.h:1731
pHalMapEarlyPages HalMapEarlyPages
Definition: haltypes.h:1745
pHalGetClockOwner HalGetClockOwner
Definition: haltypes.h:1747
pHalLocateHiberRanges HalLocateHiberRanges
Definition: haltypes.h:1683
pHalSetWakeEnable HalSetWakeEnable
Definition: haltypes.h:1685
pKdCheckPowerButton KdCheckPowerButton
Definition: haltypes.h:1699
pHalGetProcessorId HalGetProcessorId
Definition: haltypes.h:1771
pHalPostMicrocodeUpdate HalPostMicrocodeUpdate
Definition: haltypes.h:1711
pHalDmaLinkDeviceObjectByToken HalDmaLinkDeviceObjectByToken
Definition: haltypes.h:1819
pHalCollectPmcCounters HalCollectPmcCounters
Definition: haltypes.h:1773
pHalFindBusAddressTranslation HalFindBusAddressTranslation
Definition: haltypes.h:1690
pHalPciLateRestore HalPciLateRestore
Definition: haltypes.h:1821
pHalFlushIoRectangleExternalCache HalFlushIoRectangleExternalCache
Definition: haltypes.h:1788
pHalPciMarkHiberPhase HalPciMarkHiberPhase
Definition: haltypes.h:1782
pHalFlushIoBuffersExternalCache HalFlushIoBuffersExternalCache
Definition: haltypes.h:1768
pHalProcessorOff HalProcessorOff
Definition: haltypes.h:1817
pHalDpGetInterruptReplayState HalDpGetInterruptReplayState
Definition: haltypes.h:1736
pHalGetClockConfiguration HalGetClockConfiguration
Definition: haltypes.h:1748
pHalClockTimerArm HalClockTimerArm
Definition: haltypes.h:1802
pHalNotifyProcessorFreeze HalNotifyProcessorFreeze
Definition: haltypes.h:1753
pKdMapPhysicalMemory64 KdMapPhysicalMemory64
Definition: haltypes.h:1701
pHalDpMaskLevelTriggeredInterrupts HalDpMaskLevelTriggeredInterrupts
Definition: haltypes.h:1734
pHalQueryCapsuleCapabilities HalQueryCapsuleCapabilities
Definition: haltypes.h:1790
pHalAllocateMapRegisters HalAllocateMapRegisters
Definition: haltypes.h:1693
pHalInterruptSetDestination HalInterruptSetDestination
Definition: haltypes.h:1797
pHalDpUnmaskLevelTriggeredInterrupts HalDpUnmaskLevelTriggeredInterrupts
Definition: haltypes.h:1735
pHalFreePmcCounterSet HalFreePmcCounterSet
Definition: haltypes.h:1774
pHalIsEFIRuntimeActive HalIsEFIRuntimeActive
Definition: haltypes.h:1826
pHalGetEnlightenmentInformation HalGetEnlightenmentInformation
Definition: haltypes.h:1743
pHalReportIdleStateUsage HalReportIdleStateUsage
Definition: haltypes.h:1724
pHalPowerSetRebootHandler HalPowerSetRebootHandler
Definition: haltypes.h:1805
pHalConnectThermalInterrupt HalConnectThermalInterrupt
Definition: haltypes.h:1825
pKdSetupPciDeviceForDebugging KdSetupPciDeviceForDebugging
Definition: haltypes.h:1696
pHalPrepareProcessorForIdle HalPrepareProcessorForIdle
Definition: haltypes.h:1754
pHalTimerWatchdogStart HalTimerWatchdogStart
Definition: haltypes.h:1807
pHalAcpiAoacCapable HalAcpiAoacCapable
Definition: haltypes.h:1794
pHalMaskInterrupt HalMaskInterrupt
Definition: haltypes.h:1760
pHalResumeProcessorFromIdle HalResumeProcessorFromIdle
Definition: haltypes.h:1756
pHalPciEarlyRestore HalPciEarlyRestore
Definition: haltypes.h:1770
pHalLoadMicrocode HalLoadMicrocode
Definition: haltypes.h:1709
pHalRemoveInterruptRemapping HalRemoveInterruptRemapping
Definition: haltypes.h:1765
pHalClockTimerStop HalClockTimerStop
Definition: haltypes.h:1801
pHalGetNextTickDuration HalGetNextTickDuration
Definition: haltypes.h:1778
pHalIommuRegisterDispatchTable HalIommuRegisterDispatchTable
Definition: haltypes.h:1806
pHalPrepareForBugcheck HalPrepareForBugcheck
Definition: haltypes.h:1720
pHalTimerQueryCycleCounter HalTimerQueryCycleCounter
Definition: haltypes.h:1776
pKdGetAcpiTablePhase0 KdGetAcpiTablePhase0
Definition: haltypes.h:1698
pHalReadWheaPhysicalMemory HalReadWheaPhysicalMemory
Definition: haltypes.h:1730
pHalSecondaryInterruptQueryPrimaryInformation HalSecondaryInterruptQueryPrimaryInformation
Definition: haltypes.h:1759
pHalTimerOnlyClockInterruptPending HalTimerOnlyClockInterruptPending
Definition: haltypes.h:1803
pKdReleaseIntegratedDeviceForDebugging KdReleaseIntegratedDeviceForDebugging
Definition: haltypes.h:1742
pHalRegisterBusHandler HalRegisterBusHandler
Definition: haltypes.h:1684
pHalProcessorOn HalProcessorOn
Definition: haltypes.h:1816
pHalInterruptGetHighestPriorityInterrupt HalInterruptGetHighestPriorityInterrupt
Definition: haltypes.h:1815
pHalFlushAndInvalidatePageExternalCache HalFlushAndInvalidatePageExternalCache
Definition: haltypes.h:1786
pHalProcessorHalt HalProcessorHalt
Definition: haltypes.h:1775
pHalAddInterruptRemapping HalAddInterruptRemapping
Definition: haltypes.h:1764
pHalDpReplaceBegin HalDpReplaceBegin
Definition: haltypes.h:1716
pHalRegisterLogRoutine HalRegisterLogRoutine
Definition: haltypes.h:1755
pKdGetPciDataByOffset KdGetPciDataByOffset
Definition: haltypes.h:1705
pHalDpReplaceControl HalDpReplaceControl
Definition: haltypes.h:1718
pKdReleasePciDeviceForDebugging KdReleasePciDeviceforDebugging
Definition: haltypes.h:1697
pHalPciMultiStageResumeCapable HalPciMultiStageResumeCapable
Definition: haltypes.h:1792
pHalGetVectorInput HalGetVectorInputOverride
Definition: haltypes.h:1708
pHalTimerConvertPerformanceCounterToAuxiliaryCounter HalTimerConvertPerformanceCounterToAuxiliaryCounter
Definition: haltypes.h:1822
pHalResetDisplay HalResetDisplay
Definition: haltypes.h:1691
pHalGetInterruptVector HalGetInterruptVectorOverride
Definition: haltypes.h:1707
pHalDpReplaceTarget HalDpReplaceTarget
Definition: haltypes.h:1717
pHalDmaFreeCrashDumpRegisters HalDmaFreeCrashDumpRegisters
Definition: haltypes.h:1793
pHalTimerWatchdogTriggerSystemReset HalTimerWatchdogTriggerSystemReset
Definition: haltypes.h:1811
pHalQueryProcessorRestartEntryPoint HalQueryProcessorRestartEntryPoint
Definition: haltypes.h:1783
pHalIsInterruptTypeSecondary HalIsInterruptTypeSecondary
Definition: haltypes.h:1762
pHalTimerQueryAuxiliaryCounterFrequency HalTimerQueryAuxiliaryCounterFrequency
Definition: haltypes.h:1824
pHalHandlerForConfigSpace HalHandlerForConfigSpace
Definition: haltypes.h:1682
pHalQueryWakeTime HalQueryWakeTime
Definition: haltypes.h:1723
pHalAcpiGetMultiNode HalAcpiGetMultiNode
Definition: haltypes.h:1804
pHalHandlerForBus HalHandlerForBus
Definition: haltypes.h:1681
pHalFreeMessageTarget HalFreeMessageTargetOverride
Definition: haltypes.h:1715
pHalTranslateBusAddress HalPciTranslateBusAddress
Definition: haltypes.h:1687
pHalStopLegacyUsbInterrupts HalStopLegacyUsbInterrupts
Definition: haltypes.h:1727
pHalEnumerateUnmaskedInterrupts HalEnumerateUnmaskedInterrupts
Definition: haltypes.h:1785
pHalUnloadMicrocode HalUnloadMicrocode
Definition: haltypes.h:1710
pHalUpdateCapsule HalUpdateCapsule
Definition: haltypes.h:1791
pHalFlushExternalCache HalFlushExternalCache
Definition: haltypes.h:1769
pHalAllocateMessageTarget HalAllocateMessageTargetOverride
Definition: haltypes.h:1714
pHalDpReplayInterrupts HalDpReplayInterrupts
Definition: haltypes.h:1737
pHalClockTimerInitialize HalClockTimerInitialize
Definition: haltypes.h:1800
pHalTimerWatchdogResetCountdown HalTimerWatchdogResetCountdown
Definition: haltypes.h:1808
pHalTimerWatchdogStop HalTimerWatchdogStop
Definition: haltypes.h:1809
pHalRestoreHvEnlightenment HalRestoreHvEnlightenment
Definition: haltypes.h:1767
pKdEnumerateDebuggingDevices KdEnumerateDebuggingDevices
Definition: haltypes.h:1787
pHalDmaCheckAdapterToken HalDmaCheckAdapterToken
Definition: haltypes.h:1820
pHalDpReplaceEnd HalDpReplaceEnd
Definition: haltypes.h:1719
pHalHaltSystem HalHaltSystem
Definition: haltypes.h:1689
pHalWheaInitProcessorGenericSection HalWheaInitProcessorGenericSection
Definition: haltypes.h:1726
pHalInterruptVectorDataToGsiv HalInterruptVectorDataToGsiv
Definition: haltypes.h:1814
pHalTscSynchronization HalTscSynchronization
Definition: haltypes.h:1725
pHalVectorToIDTEntry HalVectorToIDTEntry
Definition: haltypes.h:1700
pHalUnmaskInterrupt HalUnmaskInterrupt
Definition: haltypes.h:1761
pKdSetupIntegratedDeviceForDebugging KdSetupIntegratedDeviceForDebugging
Definition: haltypes.h:1741
pHalProcessorFreeze HalProcessorFreeze
Definition: haltypes.h:1818
pHalQueryIoPortAccessSupported HalQueryIoPortAccessSupported
Definition: haltypes.h:1738
pHalAllocateEarlyPages HalAllocateEarlyPages
Definition: haltypes.h:1744
pKdUnmapVirtualAddress KdUnmapVirtualAddress
Definition: haltypes.h:1702
pHalVectorToIDTEntryEx HalVectorToIDTEntryEx
Definition: haltypes.h:1758
pHalAllocateGsivForSecondaryInterrupt HalAllocateGsivForSecondaryInterrupt
Definition: haltypes.h:1763
pKdSetPciDataByOffset KdSetPciDataByOffset
Definition: haltypes.h:1706
pHalPowerEarlyRestore HalPowerEarlyRestore
Definition: haltypes.h:1789
pHalSaveAndDisableHvEnlightenment HalSaveAndDisableHvEnlightenment
Definition: haltypes.h:1766
pHalSetWakeAlarm HalSetWakeAlarm
Definition: haltypes.h:1686
pHalRequestInterrupt HalRequestInterrupt
Definition: haltypes.h:1784
KINTERRUPT_POLARITY Polarity
Definition: haltypes.h:1440
HAL_UNMASKED_INTERRUPT_FLAGS Flags
Definition: haltypes.h:1438
union _INTERRUPT_HT_INTR_INFO::@2905 LowPart
struct _INTERRUPT_HT_INTR_INFO::@2905::@2907 bits
union _INTERRUPT_HT_INTR_INFO::@2906 HighPart
struct _INTERRUPT_REMAPPING_INFO::@2903::@2904 Msi
union _INTERRUPT_REMAPPING_INFO::@2903 u
ULARGE_INTEGER RemappedFormat
Definition: haltypes.h:50
struct _INTERRUPT_VECTOR_DATA::@2910::@2913 Hypertransport
HAL_APIC_DESTINATION_MODE DestinationMode
Definition: haltypes.h:132
struct _INTERRUPT_VECTOR_DATA::@2910::@2915 MessageRequest
INTERRUPT_HT_INTR_INFO IntrInfo
Definition: haltypes.h:125
struct _INTERRUPT_VECTOR_DATA::@2909 ControllerInput
struct _INTERRUPT_VECTOR_DATA::@2910::@2914 GenericMessage
ULONGLONG HvDeviceId
Definition: haltypes.h:109
INTERRUPT_CONNECTION_TYPE Type
Definition: haltypes.h:95
INTERRUPT_REMAPPING_INFO IntRemapInfo
Definition: haltypes.h:101
GROUP_AFFINITY TargetProcessors
Definition: haltypes.h:100
KINTERRUPT_MODE Mode
Definition: haltypes.h:99
struct _INTERRUPT_VECTOR_DATA::@2910::@2912 XapicMessage
KINTERRUPT_POLARITY Polarity
Definition: haltypes.h:98
PHYSICAL_ADDRESS Address
Definition: haltypes.h:121
PVOID Va
Definition: haltypes.h:39
ULONG_PTR PageSize
Definition: haltypes.h:37
ULONG_PTR VaLong
Definition: haltypes.h:40
union _KTB_FLUSH_VA::@2900 u1
ULONG_PTR NumberOfEntries
Definition: haltypes.h:36
Definition: typedefs.h:120
Definition: haltypes.h:195
PCI_BUSMASTER_RID_TYPE Type
Definition: haltypes.h:1196
SUPPORTED_RANGE Dma
Definition: haltypes.h:2050
SUPPORTED_RANGE PrefetchMemory
Definition: haltypes.h:2048
SUPPORTED_RANGE Memory
Definition: haltypes.h:2046
SUPPORTED_RANGE IO
Definition: haltypes.h:2044
ULONG NoPrefetchMemory
Definition: haltypes.h:2047
ULONG SystemAddressSpace
Definition: haltypes.h:2032
LONGLONG SystemBase
Definition: haltypes.h:2033
LONGLONG Base
Definition: haltypes.h:2034
LONGLONG Limit
Definition: haltypes.h:2035
struct _SUPPORTED_RANGE * Next
Definition: haltypes.h:2031
uint32_t * PULONG
Definition: typedefs.h:59
unsigned char UCHAR
Definition: typedefs.h:53
unsigned char * PBOOLEAN
Definition: typedefs.h:53
int64_t LONGLONG
Definition: typedefs.h:68
#define NTAPI
Definition: typedefs.h:36
void * PVOID
Definition: typedefs.h:50
ULONG_PTR SIZE_T
Definition: typedefs.h:80
uint64_t ULONGLONG
Definition: typedefs.h:67
uint32_t ULONG_PTR
Definition: typedefs.h:65
uint32_t UINT32
Definition: typedefs.h:59
unsigned char * PUCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
ULONG LOGICAL
Definition: umtypes.h:135
_In_ WDFCOLLECTION _In_ ULONG Index
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2061
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4539
_In_ WDFDEVICE _In_ PVOID _In_opt_ PMDL Mdl
_Must_inspect_result_ _In_ PDRIVER_OBJECT _In_ PCUNICODE_STRING RegistryPath
Definition: wdfdriver.h:215
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
Definition: wdfdriver.h:213
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID InterfaceType
Definition: wdffdo.h:463
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG Configuration
Definition: wdfinterrupt.h:374
_In_ PWDFDEVICE_INIT _In_ PWDF_PDO_EVENT_CALLBACKS DispatchTable
Definition: wdfpdo.h:248
_In_ WDFIOTARGET Target
Definition: wdfrequest.h:306
_Must_inspect_result_ _In_ WDFIORESLIST _In_ PIO_RESOURCE_DESCRIPTOR Descriptor
Definition: wdfresource.h:342
_In_ WDFIORESREQLIST _In_ ULONG SlotNumber
Definition: wdfresource.h:68
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
enum _KPROFILE_SOURCE KPROFILE_SOURCE
_In_ IN_ADDR _In_ IN_ADDR _Out_ MULTICAST_MODE_TYPE _Inout_ ULONG _Out_writes_ SourceCount IN_ADDR * SourceList
Definition: ws2tcpip.h:622
_In_ IN_ADDR _In_ IN_ADDR _Out_ MULTICAST_MODE_TYPE _Inout_ ULONG * SourceCount
Definition: ws2tcpip.h:620
_In_opt_ PUNICODE_STRING DriverClassName
Definition: halfuncs.h:156
_In_ ULONG _In_ ULONG BusInterruptLevel
Definition: halfuncs.h:171
_Out_ PULONG NumberOfMapRegisters
Definition: halfuncs.h:209
_In_ ULONG _In_ ULONG _In_ ULONG BusInterruptVector
Definition: halfuncs.h:172
_In_ ULONG _In_ ULONG _In_ ULONG _Out_ PKIRQL _Out_ PKAFFINITY Affinity
Definition: halfuncs.h:174
NTSTATUS(NTAPI * pHalAssignSlotResources)(_In_ PUNICODE_STRING RegistryPath, _In_opt_ PUNICODE_STRING DriverClassName, _In_ PDRIVER_OBJECT DriverObject, _In_ PDEVICE_OBJECT DeviceObject, _In_ INTERFACE_TYPE BusType, _In_ ULONG BusNumber, _In_ ULONG SlotNumber, _Inout_ PCM_RESOURCE_LIST *AllocatedResources)
Definition: haltypes.h:179
HAL_APIC_DESTINATION_MODE
Definition: haltypes.h:412
BOOLEAN(NTAPI * pHalTranslateBusAddress)(_In_ INTERFACE_TYPE InterfaceType, _In_ ULONG BusNumber, _In_ PHYSICAL_ADDRESS BusAddress, _Inout_ PULONG AddressSpace, _Out_ PPHYSICAL_ADDRESS TranslatedAddress)
Definition: haltypes.h:171
PBUS_HANDLER(FASTCALL * pHalHandlerForBus)(_In_ INTERFACE_TYPE InterfaceType, _In_ ULONG BusNumber)
Definition: haltypes.h:20
BOOLEAN(NTAPI * pHalResetDisplay)(VOID)
Definition: haltypes.h:193
UCHAR(NTAPI * pHalVectorToIDTEntry)(ULONG Vector)
Definition: haltypes.h:201
VOID(NTAPI * pHalHaltSystem)(VOID)
Definition: haltypes.h:190
BOOLEAN(NTAPI * pHalFindBusAddressTranslation)(_In_ PHYSICAL_ADDRESS BusAddress, _Inout_ PULONG AddressSpace, _Out_ PPHYSICAL_ADDRESS TranslatedAddress, _Inout_ PULONG_PTR Context, _In_ BOOLEAN NextBus)
Definition: haltypes.h:205
_In_ ULONG _In_ PHYSICAL_ADDRESS BusAddress
Definition: iofuncs.h:2273
_In_ ULONG _In_ PHYSICAL_ADDRESS _Inout_ PULONG _Out_ PPHYSICAL_ADDRESS TranslatedAddress
Definition: iofuncs.h:2275
_In_ ULONG _In_ PHYSICAL_ADDRESS _Inout_ PULONG AddressSpace
Definition: iofuncs.h:2274
_In_ PKSERVICE_ROUTINE _In_opt_ PVOID _In_opt_ PKSPIN_LOCK _In_ ULONG _In_ KIRQL _In_ KIRQL _In_ KINTERRUPT_MODE _In_ BOOLEAN ShareVector
Definition: iofuncs.h:807
_Must_inspect_result_ typedef _In_ ULONG ApicId
Definition: iotypes.h:1105
PVOID(NTAPI * pKdMapPhysicalMemory64)(_In_ PHYSICAL_ADDRESS PhysicalAddress, _In_ ULONG NumberPages, _In_ BOOLEAN FlushCurrentTLB)
Definition: kdtypes.h:149
PVOID(NTAPI * pKdGetAcpiTablePhase0)(_In_ struct _LOADER_PARAMETER_BLOCK *LoaderBlock, _In_ ULONG Signature)
Definition: kdtypes.h:140
NTSTATUS(NTAPI * pKdSetupIntegratedDeviceForDebugging)(_In_opt_ PVOID LoaderBlock, _Inout_ PDEBUG_DEVICE_DESCRIPTOR IntegratedDevice)
Definition: kdtypes.h:194
NTSTATUS(NTAPI * pKdReleaseIntegratedDeviceForDebugging)(_Inout_ PDEBUG_DEVICE_DESCRIPTOR IntegratedDevice)
Definition: kdtypes.h:199
NTSTATUS(NTAPI * pKdReleasePciDeviceForDebugging)(_Inout_ PDEBUG_DEVICE_DESCRIPTOR PciDevice)
Definition: kdtypes.h:136
VOID(NTAPI * pKdUnmapVirtualAddress)(_In_ PVOID VirtualAddress, _In_ ULONG NumberPages, _In_ BOOLEAN FlushCurrentTLB)
Definition: kdtypes.h:155
NTSTATUS(NTAPI * pKdSetupPciDeviceForDebugging)(_In_opt_ PVOID LoaderBlock, _Inout_ PDEBUG_DEVICE_DESCRIPTOR PciDevice)
Definition: kdtypes.h:131
ULONG(NTAPI * pKdSetPciDataByOffset)(_In_ ULONG BusNumber, _In_ ULONG SlotNumber, _In_reads_bytes_(Length) PVOID Buffer, _In_ ULONG Offset, _In_ ULONG Length)
Definition: kdtypes.h:180
ULONG(NTAPI * pKdGetPciDataByOffset)(_In_ ULONG BusNumber, _In_ ULONG SlotNumber, _Out_writes_bytes_(Length) PVOID Buffer, _In_ ULONG Offset, _In_ ULONG Length)
Definition: kdtypes.h:172
NTSTATUS(NTAPI * pKdEnumerateDebuggingDevices)(_In_ PVOID LoaderBlock, _Inout_ PDEBUG_DEVICE_DESCRIPTOR Device, _In_ PDEBUG_DEVICE_FOUND_FUNCTION Callback)
Definition: kdtypes.h:188
VOID(NTAPI * pKdCheckPowerButton)(VOID)
Definition: kdtypes.h:145
KSERVICE_ROUTINE * PKSERVICE_ROUTINE
Definition: ketypes.h:580
enum _KINTERRUPT_POLARITY KINTERRUPT_POLARITY
enum _KINTERRUPT_POLARITY * PKINTERRUPT_POLARITY