ReactOS 0.4.16-dev-2354-g16de117
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 union {
109#else
110 union {
111 struct {
112 ULONG Gsiv;
114 ULONG ReservedFlags : 31;
116#endif
117 struct {
121 struct {
124 struct {
128 struct {
131 };
133
135{
137#if (NTDDI_VERSION < NTDDI_WIN10)
138 GROUP_AFFINITY OriginalAffinity;
139 LIST_ENTRY SteeringListEntry;
140 VOID* SteeringListRoot;
141 ULONGLONG IsrTime;
142 ULONGLONG DpcTime;
143 ULONG IsrLoad;
144 ULONG DpcLoad;
145 UCHAR IsPrimaryInterrupt;
146 PKINTERRUPT *InterruptObjectArray;
147 ULONG InterruptObjectCount;
148#endif
151
152//
153// HalShutdownSystem Types
154//
156{
164
165//
166// HAL Private function Types
167//
168typedef
171 _In_ BUS_DATA_TYPE ConfigSpace,
173);
174
175typedef
179);
180
181typedef
185 _In_ BUS_DATA_TYPE ConfigSpace,
187 _In_ INTERFACE_TYPE ParentInterfaceType,
188 _In_ ULONG ParentBusNumber,
191 _Out_ PBUS_HANDLER *BusHandler
192);
193
194typedef
198);
199
200#if (NTDDI_VERSION >= NTDDI_WIN8)
201typedef
204 _In_ ULONGLONG AlartTime,
205 _In_ ULONGLONG DcWakeTime
206);
207#else
208typedef
209VOID
211 _In_ ULONGLONG AlartTime,
213);
214#endif
215
216typedef
220);
221
222typedef
225 _In_ PADAPTER_OBJECT AdapterObject,
227 _In_ ULONG BaseAddressCount,
228 _Out_ PMAP_REGISTER_ENTRY MapRegisterArray
229);
230
231typedef
240);
241
242#if (NTDDI_VERSION >= NTDDI_WIN7)
243typedef
251);
252#else
253typedef
260);
261#endif
262
263typedef
266 _In_ PVOID ImageHandle
267);
268
269typedef
272 VOID
273);
274
275typedef
278 VOID
279);
280
281#if (NTDDI_VERSION >= NTDDI_WIN7)
282typedef
286 _In_ PGROUP_AFFINITY ProcessorSet,
287 _In_ ULONG NumberOfIdtEntries,
292 _Out_ PULONG IdtEntry
293);
294
295typedef
300 _In_ PGROUP_AFFINITY ProcessorSet
301);
302#else
303typedef
307 _In_ KAFFINITY ProcessorSet,
308 _In_ ULONG NumberOfIdtEntries,
313 _Out_ PULONG IdtEntry
314);
315
316typedef
317VOID
321 _In_ KAFFINITY ProcessorSet
322);
323#endif
324
326
328{
333
334typedef
338 _Outptr_ PVOID *ReplaceContext
339);
340
341typedef
344 _In_ PVOID ReplaceContext
345);
346
347typedef
350 _In_ ULONG Phase,
351 _In_ PVOID ReplaceContext
352);
353
354typedef
357 _In_ PVOID ReplaceContext
358);
359
360typedef
363 VOID
364);
365
366typedef
369 VOID
370);
371
372typedef
375 _In_ PVOID ReplaceContext,
377);
378
379typedef
382 _In_ PVOID InterruptState
383);
384
385typedef
389);
390
391#if (NTDDI_VERSION >= NTDDI_WIN8)
392typedef
395 _Out_ PULONGLONG WakeTime,
396 _Out_opt_ PULONGLONG TscOffset
397);
398#else
399typedef
402 _Out_ PULONGLONG WakeTime
403);
404#endif
405
406typedef
409 VOID
410);
411
412typedef
415 _In_ UCHAR DeepestHardwareIdleState,
416 _In_ PKAFFINITY_EX TargetSet
417);
418
419typedef
422 _In_ BOOLEAN ForcedSynchronization,
423 _In_opt_ PULONG TargetProcessor
424);
425
428
431
432typedef
437);
438
439#if (NTDDI_VERSION >= NTDDI_WIN8)
440typedef
443 _In_ SYSTEM_POWER_STATE LastSystemState
444);
445#else
446typedef
447VOID
449 VOID
450);
451#endif
452
453typedef
459);
460
461typedef
467);
468
470
471typedef
474 VOID
475);
476
477typedef
482);
483
484typedef
487 _In_ ULONG SpinCount
488);
489
490typedef
493 VOID
494);
495
496typedef
499 _In_ UINT32 SleepState,
500 _In_ UINT8 Pm1a_SLP_TYP,
501 _In_ UINT8 Pm1b_SLP_TYP
502);
503
504typedef
507 _In_ PVOID MachineCheckPropertyInfo
508);
509
510typedef
513 _In_ UINT32 SleepState
514);
515
516typedef
519 VOID
520);
521
522typedef
525 _In_ ULONGLONG DeviceId,
526 _In_ PVOID InterruptDescriptor,
528 _Out_ PVOID InterruptEntry
529);
530
531typedef
534 _In_ ULONGLONG DeviceId,
535 _In_ PVOID InterruptEntry
536);
537
538typedef
541 _In_ ULONGLONG DeviceId,
542 _In_ PVOID InterruptEntry,
543 _In_ PVOID InterruptTarget,
545 _Out_opt_ PVOID NewInterruptEntry
546);
547
548typedef
552 _In_ ULONG TimerIndex,
553 _In_ UINT64 DeviceId,
554 _In_ UCHAR TimerInterruptPin,
555 _Out_ PVOID InterruptEntry
556);
557
558typedef
561 VOID
562);
563
564typedef
567 _In_ ULONG VpIndex,
570);
571
572typedef
577 _In_reads_(Count) PULONG MsrIndices,
578 _Out_writes_(Count) PULONG64 MsrValues
579);
580
581typedef
586 _In_reads_(Count) PULONG MsrIndices,
587 _In_reads_(Count) PULONG64 MsrValues
588);
589
590typedef
594 _In_ ULONG InEax,
595 _Out_ PULONG OutEax,
596 _Out_ PULONG OutEbx,
597 _Out_ PULONG OutEcx,
598 _Out_ PULONG OutEdx
599);
600
601typedef
605);
606
607typedef
612 _Out_ UINT64 *PartitionId,
613 _Out_ UINT32 *VpIndex
614);
615
616typedef
619 _In_ UINT64 PartitionId
620);
621
622typedef
625 _In_ UINT64 PartitionId
626);
627
628typedef struct _WHEA_RECOVERY_CONTEXT
630
631typedef
634 _In_ PWHEA_RECOVERY_CONTEXT RecoveryContext,
635 _In_ BOOLEAN PlatformDirected,
636 _In_ BOOLEAN Poisoned
637);
638
639typedef
642 _In_ ULONG VpIndex
643);
644
645typedef
648 _In_ PKAFFINITY_EX Affinity,
650);
651
652typedef
655 VOID
656);
657
658typedef
661 _In_ ULONG VpIndex,
663);
664
665typedef
669 _Out_ PULONG VpIndex
670);
671
673{
674 struct {
677 };
684
685typedef
689);
690
691typedef
698);
699
701{
702 struct {
708 };
712
713typedef
716 _In_ ULONG DeviceId,
718);
719
720typedef
723 _In_ ULONG PasidSpaceId,
724 _In_ ULONG PasidCount
725);
726
727typedef
730 _In_ ULONG PasidSpaceId,
731 _In_ ULONG Pasid,
733);
734
735typedef
738 _In_ ULONG PasidSpaceId,
739 _In_ ULONG Pasid,
742);
743
744typedef
747 _In_ ULONG DeviceId,
748 _In_ ULONG PasidSpaceId,
749 _In_ ULONG PrqId,
750 _In_ ULONG PciCapabilities
751);
752
753typedef
756 _In_ ULONG DeviceId
757);
758
759typedef
762 _In_ ULONG DeviceId,
763 _In_ ULONG Pasid
764);
765
766typedef
769 _In_ ULONG DeviceId,
770 _In_ ULONG Pasid
771);
772
773typedef
777 _In_ PVOID PageRequestList,
778 _Out_opt_ PULONG Processed
779);
780
781typedef
784 _In_ ULONG QueueId,
787 _In_ ULONG InterruptVector,
788 _In_ ULONG InterruptProcessorIndex
789);
790
791typedef
794 _In_ ULONG QueueId
795);
796
797typedef
800 _In_ ULONG QueueId
801);
802
803typedef
806 _In_ ULONG DeviceId,
808);
809
810#if !defined(_ARM64_) && !defined(_ARM_)
812{
860#else
861typedef struct _HAL_ARM_ENLIGHTENMENT_INFORMATION
862{
863 ULONG Enlightenments;
864 LOGICAL HypervisorConnected;
865 ULONG Reserved0;
866 ULONG SpinCountMask;
867 PHAL_LONG_SPIN_WAIT LongSpinWait;
868 PHAL_GET_REFERENCE_TIME GetReferenceTime;
869 PHAL_SET_SYSTEM_SLEEP_PROPERTY SetSystemSleepProperty;
870 PHAL_ENTER_SLEEP_STATE EnterSleepState;
871 PHAL_NOTIFY_DEBUG_DEVICE_AVAILABLE NotifyDebugDeviceAvailable;
872 PHAL_MAP_DEVICE_INTERRUPT MapDeviceInterrupt;
873 PHAL_UNMAP_DEVICE_INTERRUPT UnmapDeviceInterrupt;
874 PHAL_RETARGET_DEVICE_INTERRUPT RetargetDeviceInterrupt;
875 PHAL_QUERY_ASSOCIATED_PROCESSORS QueryAssociatedProcessors;
876 PHAL_LP_GET_MACHINE_CHECK_CONTEXT GetMachineCheckContext;
877 PHAL_SUSPEND_PARTITION SuspendPartition;
878 PHAL_RESUME_PARTITION ResumePartition;
879 PHAL_SET_SYSTEM_MACHINE_CHECK_PROPERTY SetSystemMachineCheckProperty;
880 PHAL_WHEA_ERROR_NOTIFICATION WheaErrorNotification;
881 PHAL_GET_PROCESSOR_INDEX_FROM_VP_INDEX GetProcessorIndexFromVpIndex;
882 PHAL_SYNTHETIC_CLUSTER_IPI SyntheticClusterIpi;
883} HAL_ARM_ENLIGHTENMENT_INFORMATION, *PHAL_ARM_ENLIGHTENMENT_INFORMATION;
884#endif
885
886#if !defined(_ARM64_) && !defined(_ARM_)
887#define _HAL_ENLIGHTENMENT_INFORMATION _HAL_INTEL_ENLIGHTENMENT_INFORMATION
888#define HAL_ENLIGHTENMENT_INFORMATION HAL_INTEL_ENLIGHTENMENT_INFORMATION
889#define PHAL_ENLIGHTENMENT_INFORMATION PHAL_INTEL_ENLIGHTENMENT_INFORMATION
890#else
891#define _HAL_ENLIGHTENMENT_INFORMATION _HAL_ARM_ENLIGHTENMENT_INFORMATION
892#define HAL_ENLIGHTENMENT_INFORMATION HAL_ARM_ENLIGHTENMENT_INFORMATION
893#define PHAL_ENLIGHTENMENT_INFORMATION PHAL_ARM_ENLIGHTENMENT_INFORMATION
894#endif
895
898
899typedef
902 _Out_ PHAL_ENLIGHTENMENT_INFORMATION EnlightenmentInformation
903);
904
905typedef
908 _In_ PLOADER_PARAMETER_BLOCK LoaderBlock,
909 _In_ ULONG PageCount,
911 _In_ ULONG Protection
912);
913
914typedef
918 _In_ ULONG PageCount,
919 _In_ ULONG Protection
920);
921
922#if (NTDDI_VERSION >= NTDDI_WINBLUE)
923typedef
927);
928
929typedef
932 VOID
933);
934
935typedef
938 _In_ BOOLEAN Freezing,
939 _In_ BOOLEAN ThawingToSpinLoop
940);
941#else
942typedef
945 ULONG Unknown1,
946 ULONG Unknown2,
948);
949
950typedef
951VOID
954);
955
956typedef
957VOID
960);
961#endif
962
963typedef
966 _In_ ULONG EventId,
969);
970
972{
976
977typedef
981);
982
984{
989
991{
992 union {
994 struct {
999 };
1000 };
1001
1007
1008typedef
1011 VOID
1012);
1013
1014#if (NTDDI_VERSION >= NTDDI_WINBLUE)
1015typedef
1019);
1020#else
1021typedef
1022VOID
1024 PULONG Unknown1,
1025 PULONG Unknown2,
1027);
1028#endif
1029
1030typedef
1033 _In_ BOOLEAN ClockOwner
1034);
1035
1036typedef
1039 VOID
1040);
1041
1042typedef
1045 VOID
1046);
1047
1048typedef
1052 _In_ ULONG64 RequestedInteval,
1053 _Out_ PULONG64 ActualInterval
1054);
1055
1056typedef
1059 VOID
1060);
1061
1062struct _HAL_IOMMU_DISPATCH;
1063
1064typedef
1068);
1069
1070typedef
1074);
1075
1076typedef
1079 _In_ PINTERRUPT_VECTOR_DATA VectorData,
1080 _Out_ PULONG PrimaryGsiv
1081);
1082
1083typedef
1086 _In_ ULONG Type,
1087 _In_ ULONG InputGsiv
1088);
1089
1090typedef
1093 _In_ ULONG InputGsiv,
1095);
1096
1097typedef
1100 _In_ ULONG InputGsiv,
1102);
1103
1104typedef
1107 _In_reads_bytes_(OwnerNameLength) PCCHAR OwnerName,
1108 _In_ USHORT OwnerNameLength,
1110);
1111
1112typedef
1115 _In_ PINTERRUPT_VECTOR_DATA VectorData,
1117);
1118
1120{
1125
1127{
1130 union {
1131 struct {
1136 } DeviceRid;
1137 struct {
1138 UCHAR Bus;
1139 UCHAR Device;
1142 } BridgeRid;
1143 struct {
1146 } MultipleBridges;
1149
1150typedef
1155 _In_ PPCI_BUSMASTER_DESCRIPTOR BusMasterDescriptor,
1156 _In_range_(0, 3) UCHAR PhantomBits,
1157 _Inout_updates_(VectorCount) PINTERRUPT_VECTOR_DATA VectorData,
1158 _In_ ULONG VectorCount
1159);
1160
1161typedef
1166 _In_ PPCI_BUSMASTER_DESCRIPTOR BusMasterDescriptor,
1167 _In_range_(0, 3) UCHAR PhantomBits,
1168 _Inout_updates_(VectorCount) PINTERRUPT_VECTOR_DATA VectorData,
1169 _In_ ULONG VectorCount
1170);
1171
1172typedef
1175 VOID
1176);
1177
1178typedef
1181 VOID
1182);
1183
1184typedef
1187 _In_ PMDL Mdl,
1188 _In_ BOOLEAN ReadOperation
1189);
1190
1191typedef
1194 _In_ PMDL Mdl,
1195 _In_ ULONG StartOffset,
1198 _In_ ULONG Stride,
1199 _In_ BOOLEAN ReadOperation
1200);
1201
1202typedef
1205 _In_ BOOLEAN Invalidate
1206);
1207
1208typedef
1212);
1213
1214typedef
1217 _In_ SYSTEM_POWER_STATE SleepState
1218);
1219
1220typedef
1223 VOID
1224);
1225
1226typedef
1229 _In_ ULONG ProcessorIndex,
1231);
1232
1233typedef struct _HAL_PMC_COUNTERS *PMC_HANDLE;
1234
1235typedef
1238 _In_ ULONG ProcessorIndex,
1242);
1243
1244typedef
1248);
1249
1250typedef
1255);
1256
1257typedef
1260 _Out_opt_ PULONGLONG CycleCounterFrequency
1261);
1262
1263typedef
1266 PKPRCB Unknown1,
1267 BOOLEAN Unknown2,
1271);
1272
1273typedef
1278 _In_ /* PPROCESSOR_HALT_ROUTINE */ PVOID Halt
1279);
1280
1281typedef
1284 VOID
1285);
1286
1287typedef
1290 _Out_ PPHYSICAL_ADDRESS EntryPoint
1291);
1292
1293typedef
1297);
1298
1299typedef
1302 _In_ ULONG Phase
1303);
1304
1305typedef
1308 _In_ PVOID CapsuleHeaderArray,
1309 _In_ ULONG CapsuleCount,
1310 _In_opt_ PHYSICAL_ADDRESS ScatterGatherList
1311);
1312
1313typedef
1316 _In_ PVOID CapsuleHeaderArray,
1317 _In_ ULONG CapsuleCount,
1318 _Out_ PULONGLONG MaximumCapsuleSize,
1319 _Out_ PULONG ResetType
1320);
1321
1322typedef
1325 VOID
1326);
1327
1328typedef
1331 _In_ ULONG Phase
1332);
1333
1334typedef
1337 VOID
1338);
1339
1340#if (NTDDI_VERSION >= NTDDI_WIN10)
1341typedef
1344 _In_ ULONG Gsiv,
1345 _In_ PINTERRUPT_VECTOR_DATA VectorData,
1347);
1348#else
1349typedef
1352 _In_ PINTERRUPT_CONNECTION_DATA ConnectionData,
1354);
1355#endif
1356
1358{
1359 struct {
1362 };
1365
1367{
1377
1378typedef
1380(NTAPI HAL_ENUMERATE_INTERRUPT_SOURCE_CALLBACK)(
1383);
1384
1385typedef HAL_ENUMERATE_INTERRUPT_SOURCE_CALLBACK
1387
1388typedef
1394);
1395
1396typedef
1399 VOID
1400);
1401
1402typedef
1404(NTAPI HALREBOOTHANDLER)(
1405 _In_ ULONG ProcessorNumber,
1407);
1408
1409typedef HALREBOOTHANDLER *PHALREBOOTHANDLER;
1410
1411typedef
1414 _In_opt_ PHALREBOOTHANDLER NewHandler
1415);
1416
1417typedef
1420 VOID
1421);
1422
1423#if (NTDDI_VERSION >= NTDDI_WIN10)
1424typedef
1427 _In_ LOGICAL SetWakeTimer
1428);
1429#else
1430typedef
1431VOID
1433 VOID
1434);
1435#endif
1436
1437typedef
1440 VOID
1441);
1442
1443typedef
1446 VOID
1447);
1448
1449typedef
1452 _In_ BOOLEAN ResetViaClockInterrupt
1453);
1454
1455typedef
1458 _Out_ PULONG HighestPendingVector,
1459 _Out_ PBOOLEAN SingleInterrupt
1460);
1461
1462typedef
1465 _In_ ULONG NtNumber
1466);
1467
1468typedef
1471 VOID
1472);
1473
1474typedef
1477 VOID
1478);
1479
1480typedef
1485);
1486
1487typedef
1491);
1492
1493typedef
1496 _In_ ULONG64 AuxiliaryCounterValue,
1497 _Out_ PULONG64 PerformanceCounterValueOut,
1498 _Out_opt_ PULONG64 ConversionErrorOut
1499);
1500
1501typedef
1504 _In_ ULONG64 PerformanceCounterValue,
1505 _Out_ PULONG64 AuxiliaryCounterValueOut,
1506 _Out_opt_ PULONG64 ConversionErrorOut
1507);
1508
1509typedef
1512 _Out_opt_ PULONG64 AuxiliaryCounterFrequencyOut
1513);
1514
1515typedef
1518 _In_ PKSERVICE_ROUTINE InterruptService
1519);
1520
1521typedef
1524 VOID
1525);
1526
1527//
1528// HAL Bus Handler Callback Types
1529//
1530typedef
1533 _In_ PBUS_HANDLER BusHandler,
1534 _In_ PBUS_HANDLER RootHandler,
1536);
1537
1538typedef
1541 _In_ PBUS_HANDLER BusHandler,
1542 _In_ PBUS_HANDLER RootHandler,
1549);
1550
1551typedef
1554 _In_ PBUS_HANDLER BusHandler,
1555 _In_ PBUS_HANDLER RootHandler,
1560);
1561
1562typedef
1565 _In_ PBUS_HANDLER BusHandler,
1566 _In_ PBUS_HANDLER RootHandler,
1571);
1572
1573typedef
1576 _In_ PBUS_HANDLER BusHandler,
1577 _In_ PBUS_HANDLER RootHandler,
1581);
1582
1583//
1584// HAL Private dispatch Table
1585//
1586// See Version table at:
1587// https://www.geoffchappell.com/studies/windows/km/ntoskrnl/inc/ntos/hal/hal_private_dispatch.htm
1588//
1589#if (NTDDI_VERSION < NTDDI_WINXP)
1590#define HAL_PRIVATE_DISPATCH_VERSION 1
1591#elif (NTDDI_VERSION < NTDDI_LONGHORN)
1592#define HAL_PRIVATE_DISPATCH_VERSION 2
1593#elif (NTDDI_VERSION < NTDDI_VISTASP1)
1594#define HAL_PRIVATE_DISPATCH_VERSION 5
1595#elif (NTDDI_VERSION < NTDDI_VISTASP2)
1596#define HAL_PRIVATE_DISPATCH_VERSION 6
1597#elif (NTDDI_VERSION < NTDDI_WIN7)
1598#define HAL_PRIVATE_DISPATCH_VERSION 7
1599#elif (NTDDI_VERSION < NTDDI_WIN8)
1600#define HAL_PRIVATE_DISPATCH_VERSION 13
1601#elif (NTDDI_VERSION < NTDDI_WINBLUE)
1602#define HAL_PRIVATE_DISPATCH_VERSION 21
1603#elif (NTDDI_VERSION < NTDDI_WIN10)
1604#define HAL_PRIVATE_DISPATCH_VERSION 23
1605#elif (NTDDI_VERSION >= NTDDI_WIN10)
1606#define HAL_PRIVATE_DISPATCH_VERSION 32
1607#else
1608/* Not yet defined */
1609#endif
1611{
1624#if (NTDDI_VERSION >= NTDDI_WS03)
1626#endif
1627#if (NTDDI_VERSION >= NTDDI_WINXP)
1635#endif
1636#if (NTDDI_VERSION >= NTDDI_LONGHORN)
1644#endif
1645#if (NTDDI_VERSION >= NTDDI_VISTASP1)
1653#endif
1654#if (NTDDI_VERSION >= NTDDI_WIN7)
1660#endif
1661#if (NTDDI_VERSION >= NTDDI_VISTASP2)
1664#endif
1665#if (NTDDI_VERSION >= NTDDI_WIN7)
1671#endif
1672#if (NTDDI_VERSION >= NTDDI_WIN8)
1678#if (NTDDI_VERSION == NTDDI_WIN8)
1681#elif (NTDDI_VERSION >= NTDDI_WINBLUE)
1682 PVOID Dummy1;
1683 PVOID Dummy2;
1684#endif
1709#if (NTDDI_VERSION == NTDDI_WIN8)
1711#elif (NTDDI_VERSION >= NTDDI_WINBLUE)
1712 PVOID Dummy3;
1713#endif
1727#endif
1728#if (NTDDI_VERSION >= NTDDI_WINBLUE)
1744#endif
1745#if (NTDDI_VERSION >= NTDDI_WIN10)
1759#endif
1761
1763{
1770
1772{
1773 struct {
1777 struct {
1784 } CapReg;
1789
1790//
1791// HAL IOMMU function Types
1792//
1793typedef
1796 VOID
1797);
1798
1799typedef
1802(NTAPI *pHalIommuGetConfiguration)(
1807);
1808
1809typedef
1812(NTAPI *pHalIommuGetLibraryContext)(
1813 _In_ ULONG Pasid,
1816);
1817
1818typedef
1821(NTAPI *pHalIommuMapDevice)(
1826);
1827
1828typedef
1831(NTAPI *pHalIommuEnableDevicePasid)(
1834);
1835
1836typedef
1839(NTAPI *pHalIommuSetAddressSpace)(
1842);
1843
1844typedef
1847(NTAPI *pHalIommuDisableDevicePasid)(
1850);
1851
1852typedef
1855(NTAPI *pHalIommuUnmapDevice)(
1858);
1859
1860typedef
1863(NTAPI *pHalIommuFreeLibraryContext)(
1865);
1866
1867typedef
1869VOID
1870(NTAPI *pHalIommuFlushTb)(
1874);
1875
1876typedef
1878VOID
1879(NTAPI *pHalIommuFlushAllPasid)(
1882 _In_reads_(Number) KTB_FLUSH_VA Virtual[]
1883);
1884
1885typedef
1887BOOLEAN
1888(NTAPI *pHalIommuProcessPageRequestQueue)(
1890);
1891
1892typedef
1895(NTAPI *pHalIommuDevicePowerChange)(
1899);
1900
1901typedef
1903VOID
1904(NTAPI *pHalIommuFaultRoutine)(
1906);
1907
1908typedef
1910PVOID
1911(NTAPI *pHalIommuReferenceAsid)(
1913);
1914
1915typedef
1917VOID
1918(NTAPI *pHalIommuDereferenceAsid)(
1920);
1921
1922typedef
1925(NTAPI *pHalIommuServicePageFault)(
1926 _In_ ULONG_PTR FaultStatus,
1929);
1930
1931//
1932// HAL IOMMU dispatch Table
1933//
1935{
1937 pHalIommuGetConfiguration HalIommuGetConfiguration;
1938 pHalIommuGetLibraryContext HalIommuGetLibraryContext;
1939 pHalIommuMapDevice HalIommuMapDevice;
1940 pHalIommuEnableDevicePasid HalIommuEnableDevicePasid;
1941 pHalIommuSetAddressSpace HalIommuSetAddressSpace;
1942 pHalIommuDisableDevicePasid HalIommuDisableDevicePasid;
1943 pHalIommuUnmapDevice HalIommuUnmapDevice;
1944 pHalIommuFreeLibraryContext HalIommuFreeLibraryContext;
1945 pHalIommuFlushTb HalIommuFlushTb;
1946 pHalIommuFlushAllPasid HalIommuFlushAllPasid;
1947 pHalIommuProcessPageRequestQueue HalIommuProcessPageRequestQueue;
1948 pHalIommuFaultRoutine HalIommuFaultRoutine;
1949 pHalIommuReferenceAsid HalIommuReferenceAsid;
1950 pHalIommuDereferenceAsid HalIommuDereferenceAsid;
1951 pHalIommuServicePageFault HalIommuServicePageFault;
1952 pHalIommuDevicePowerChange HalIommuDevicePowerChange;
1954
1956
1957//
1958// HAL Supported Range
1959//
1960#define HAL_SUPPORTED_RANGE_VERSION 1
1961typedef struct _SUPPORTED_RANGE
1962{
1969
1970typedef struct _SUPPORTED_RANGES
1971{
1984
1985//
1986// HAL Bus Handler
1987//
1988#define HAL_BUS_HANDLER_VERSION 1
1989typedef struct _BUS_HANDLER
1990{
2016
2017//
2018// HAL Chip Hacks
2019//
2020#define HAL_PCI_CHIP_HACK_BROKEN_ACPI_TIMER 0x01
2021#define HAL_PCI_CHIP_HACK_DISABLE_HIBERNATE 0x02
2022#define HAL_PCI_CHIP_HACK_DISABLE_ACPI_IRQ_ROUTING 0x04
2023#define HAL_PCI_CHIP_HACK_USB_SMI_DISABLE 0x08
2024
2025//
2026// Kernel Exports
2027//
2028#if !defined(_NTSYSTEM_) && (defined(_NTDRIVER_) || defined(_NTDDK_) || defined(_NTIFS_) || defined(_NTHAL_))
2030#define HALPRIVATEDISPATCH ((PHAL_PRIVATE_DISPATCH)&HalPrivateDispatchTable)
2031#else
2033#define HALPRIVATEDISPATCH (&HalPrivateDispatchTable)
2034#endif
2035
2036//
2037// HAL Exports
2038//
2040
2041//
2042// HAL Constants
2043//
2044#define HAL_IRQ_TRANSLATOR_VERSION 0x0
2045
2046//
2047// BIOS call structure
2048//
2050{
2061
2062#endif
2063#endif
2064
2065
2066
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:95
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
#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
@ Unknown
Definition: i8042prt.h:114
unsigned __int64 * PULONG64
Definition: imports.h:198
unsigned __int64 ULONG64
Definition: imports.h:198
static PTIME_FIELDS TimeFields
Definition: time.c:104
@ 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:1204
NTSTATUS(NTAPI * PHAL_NOTIFY_DEBUG_DEVICE_AVAILABLE)(VOID)
Definition: haltypes.h:518
PHALREBOOTHANDLER(NTAPI * pHalPowerSetRebootHandler)(_In_opt_ PHALREBOOTHANDLER NewHandler)
Definition: haltypes.h:1413
NTSTATUS(NTAPI * pHalAllocatePmcCounterSet)(_In_ ULONG ProcessorIndex, _In_reads_(SourceCount) KPROFILE_SOURCE *SourceList, _In_ ULONG SourceCount, _Out_ PMC_HANDLE *Handle)
Definition: haltypes.h:1237
VOID(NTAPI * pHalFlushIoBuffersExternalCache)(_In_ PMDL Mdl, _In_ BOOLEAN ReadOperation)
Definition: haltypes.h:1186
VOID(NTAPI * pHalFlushAndInvalidatePageExternalCache)(_In_ PHYSICAL_ADDRESS PhysicalAddress)
Definition: haltypes.h:1210
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:1163
VOID(NTAPI * pHalDmaFreeCrashDumpRegisters)(_In_ ULONG Phase)
Definition: haltypes.h:1330
union _IOMMU_SVM_CAPABILITIES IOMMU_SVM_CAPABILITIES
NTSTATUS(NTAPI * pHalDpUnmaskLevelTriggeredInterrupts)(VOID)
Definition: haltypes.h:368
struct _HAL_PRIVATE_DISPATCH HAL_PRIVATE_DISPATCH
VOID(NTAPI * PHAL_SVM_GET_SYSTEM_CAPABILITIES)(_Out_ PHAL_HV_SVM_SYSTEM_CAPABILITIES Capabilities)
Definition: haltypes.h:687
_In_ PIOMMU_DEVICE_PATH _In_ PIOMMU_SVM_CAPABILITIES _Out_ PVOID * DeviceHandle
Definition: haltypes.h:1826
NTSTATUS(NTAPI * pHalDpReplaceControl)(_In_ ULONG Phase, _In_ PVOID ReplaceContext)
Definition: haltypes.h:349
BOOLEAN(NTAPI * pHalTimerWatchdogGeneratedLastReset)(VOID)
Definition: haltypes.h:1445
struct _INTERRUPT_REMAPPING_INFO * PINTERRUPT_REMAPPING_INFO
VOID(NTAPI * pHalGetEnlightenmentInformation)(_Out_ PHAL_ENLIGHTENMENT_INFORMATION EnlightenmentInformation)
Definition: haltypes.h:901
BOOLEAN(NTAPI * PHAL_VP_START_ENABLED)(VOID)
Definition: haltypes.h:654
enum _FIRMWARE_REENTRY * PFIRMWARE_REENTRY
NTSTATUS(NTAPI * pHalProcessorHalt)(_In_ ULONG Flags, _Inout_opt_ PVOID Context, _In_ PVOID Halt)
Definition: haltypes.h:1275
NTSTATUS(NTAPI * pHalProcessorOn)(_In_ ULONG NtNumber)
Definition: haltypes.h:1464
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:1553
NTSTATUS(NTAPI * pHalTimerWatchdogStart)(VOID)
Definition: haltypes.h:1419
_In_ ULONG _In_reads_(Number) KTB_FLUSH_VA Virtual[])
Definition: haltypes.h:1873
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:783
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:245
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:1476
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:1575
_In_ ULONG_PTR DirectoryBase
Definition: haltypes.h:1842
struct _KTB_FLUSH_VA * PKTB_FLUSH_VA
struct _INTERRUPT_HT_INTR_INFO * PINTERRUPT_HT_INTR_INFO
BOOLEAN(NTAPI * pHalTimerOnlyClockInterruptPending)(VOID)
Definition: haltypes.h:1058
NTSTATUS(NTAPI * pHalInterruptVectorDataToGsiv)(_In_ PINTERRUPT_VECTOR_DATA VectorData, _Out_ PULONG Gsiv)
Definition: haltypes.h:1114
struct _IOMMU_DEVICE_PATH * PIOMMU_DEVICE_PATH
NTSTATUS(NTAPI * pHalTimerConvertPerformanceCounterToAuxiliaryCounter)(_In_ ULONG64 PerformanceCounterValue, _Out_ PULONG64 AuxiliaryCounterValueOut, _Out_opt_ PULONG64 ConversionErrorOut)
Definition: haltypes.h:1503
_In_ ULONG Number
Definition: haltypes.h:1872
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:540
struct _HAL_CLOCK_TIMER_CONFIGURATION * PHAL_CLOCK_TIMER_CONFIGURATION
NTSTATUS(NTAPI * pHalTimerQueryAuxiliaryCounterFrequency)(_Out_opt_ PULONG64 AuxiliaryCounterFrequencyOut)
Definition: haltypes.h:1511
VOID(NTAPI * pHalPrepareForBugcheck)(_In_ ULONG Flags)
Definition: haltypes.h:387
VOID(NTAPI * pHalFreeMessageTarget)(_In_ PDEVICE_OBJECT Owner, _In_ ULONG Vector, _In_ PGROUP_AFFINITY ProcessorSet)
Definition: haltypes.h:297
union _HAL_UNMASKED_INTERRUPT_FLAGS * PHAL_UNMASKED_INTERRUPT_FLAGS
struct _HAL_PMC_COUNTERS * PMC_HANDLE
Definition: haltypes.h:1233
struct _SUPPORTED_RANGES SUPPORTED_RANGES
BOOLEAN(NTAPI * pHalQueryIoPortAccessSupported)(VOID)
Definition: haltypes.h:408
VOID(NTAPI * pHalSaveAndDisableHvEnlightenment)(VOID)
Definition: haltypes.h:1174
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:583
NTSTATUS(NTAPI * PHAL_SVM_ACKNOWLEDGE_PAGE_REQUEST)(_In_ ULONG Count, _In_ PVOID PageRequestList, _Out_opt_ PULONG Processed)
Definition: haltypes.h:775
VOID(NTAPI * pHalFreePmcCounterSet)(_In_ PMC_HANDLE Handle)
Definition: haltypes.h:1246
PHAL_IOMMU_DISPATCH HalIommuDispatch
NTSTATUS(NTAPI * PHAL_GET_VP_INDEX_FROM_APIC_ID)(_In_ ULONG ApicId, _Out_ PULONG VpIndex)
Definition: haltypes.h:667
NTSTATUS(NTAPI * pHalUpdateCapsule)(_In_ PVOID CapsuleHeaderArray, _In_ ULONG CapsuleCount, _In_opt_ PHYSICAL_ADDRESS ScatterGatherList)
Definition: haltypes.h:1307
struct _INTERRUPT_VECTOR_DATA * PINTERRUPT_VECTOR_DATA
VOID(NTAPI * pHalClockTimerActivate)(_In_ BOOLEAN ClockOwner)
Definition: haltypes.h:1032
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:737
NTSTATUS(NTAPI * pHalConnectThermalInterrupt)(_In_ PKSERVICE_ROUTINE InterruptService)
Definition: haltypes.h:1517
NTSTATUS(NTAPI * PHAL_SVM_DELETE_PR_QUEUE)(_In_ ULONG QueueId)
Definition: haltypes.h:793
VOID(NTAPI * PHAL_LONG_SPIN_WAIT)(_In_ ULONG SpinCount)
Definition: haltypes.h:486
VOID(NTAPI * pHalTimerWatchdogResetCountdown)(_In_ LOGICAL SetWakeTimer)
Definition: haltypes.h:1426
ULONG(NTAPI * pHalGetClockOwner)(VOID)
Definition: haltypes.h:1010
NTSTATUS(NTAPI * PHAL_START_VIRTUAL_PROCESSOR)(_In_ ULONG VpIndex, _In_ PVOID Context)
Definition: haltypes.h:660
NTSTATUS(NTAPI * pHalPostMicrocodeUpdate)(VOID)
Definition: haltypes.h:277
NTSTATUS(NTAPI * PHAL_ENTER_SLEEP_STATE)(_In_ UINT32 SleepState)
Definition: haltypes.h:512
BOOLEAN(NTAPI * pHalQueryWakeTime)(_Out_ PULONGLONG WakeTime, _Out_opt_ PULONGLONG TscOffset)
Definition: haltypes.h:394
VOID(NTAPI * pHalLocateHiberRanges)(_In_ PVOID MemoryMap)
Definition: haltypes.h:218
BOOLEAN(NTAPI * pHalIommuSupportEnabled)(VOID)
Definition: haltypes.h:1795
struct _PCI_BUSMASTER_DESCRIPTOR * PPCI_BUSMASTER_DESCRIPTOR
struct _X86_BIOS_REGISTERS * PX86_BIOS_REGISTERS
VOID(NTAPI * pHalPowerEarlyRestore)(_In_ ULONG Phase)
Definition: haltypes.h:1301
NTSTATUS(NTAPI * pHalAllocateGsivForSecondaryInterrupt)(_In_reads_bytes_(OwnerNameLength) PCCHAR OwnerName, _In_ USHORT OwnerNameLength, _Out_ PULONG Gsiv)
Definition: haltypes.h:1106
NTSTATUS(NTAPI * PHAL_RESUME_PARTITION)(_In_ UINT64 PartitionId)
Definition: haltypes.h:624
struct _KPRCB * PKPRCB
Definition: haltypes.h:30
VOID(NTAPI * pHalCollectPmcCounters)(_In_ PMC_HANDLE Handle, _Out_ PULONG64 Data)
Definition: haltypes.h:1252
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:693
struct _HAL_HV_SVM_SYSTEM_CAPABILITIES * PHAL_HV_SVM_SYSTEM_CAPABILITIES
NTSTATUS(NTAPI * PHAL_SVM_DETACH_PASID_SPACE)(_In_ ULONG DeviceId)
Definition: haltypes.h:755
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:768
VOID(NTAPI * pHalTscSynchronization)(_In_ BOOLEAN ForcedSynchronization, _In_opt_ PULONG TargetProcessor)
Definition: haltypes.h:421
NTSTATUS(NTAPI * PINSTALL_BUS_HANDLER)(_In_ PBUS_HANDLER Bus)
Definition: haltypes.h:177
_In_ PVOID _In_ ULONG Asid
Definition: haltypes.h:1929
NTSTATUS(NTAPI * pHalAllocateMapRegisters)(_In_ PADAPTER_OBJECT AdapterObject, _In_ ULONG NumberOfMapRegisters, _In_ ULONG BaseAddressCount, _Out_ PMAP_REGISTER_ENTRY MapRegisterArray)
Definition: haltypes.h:224
_In_ PVOID FaultingVa
Definition: haltypes.h:1927
NTSTATUS(NTAPI * PHAL_SVM_CLEAR_PRQ_STALLED)(_In_ ULONG QueueId)
Definition: haltypes.h:799
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:609
NTSTATUS(NTAPI * PHAL_LP_WRITEBACK_INVALIDATE)(_In_ HAL_HV_LOGICAL_PROCESSOR_INDEX HvLpIndex)
Definition: haltypes.h:603
_In_ PVOID _In_ BOOLEAN PowerActive
Definition: haltypes.h:1899
NTSTATUS(NTAPI * PHAL_MAP_DEVICE_INTERRUPT)(_In_ ULONGLONG DeviceId, _In_ PVOID InterruptDescriptor, _In_opt_ PGROUP_AFFINITY TargetProcessors, _Out_ PVOID InterruptEntry)
Definition: haltypes.h:524
NTSTATUS(NTAPI * PHAL_SET_SYSTEM_SLEEP_PROPERTY)(_In_ UINT32 SleepState, _In_ UINT8 Pm1a_SLP_TYP, _In_ UINT8 Pm1b_SLP_TYP)
Definition: haltypes.h:498
VOID(NTAPI * pHalSetWakeAlarm)(_In_ ULONGLONG AlartTime, _In_ ULONGLONG DcWakeTime)
Definition: haltypes.h:203
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:284
PVOID(NTAPI * pHalMapEarlyPages)(_In_ ULONG64 PhysicalAddress, _In_ ULONG PageCount, _In_ ULONG Protection)
Definition: haltypes.h:916
NTSTATUS(NTAPI * pHalProcessorOff)(VOID)
Definition: haltypes.h:1470
NTSYSAPI HAL_PRIVATE_DISPATCH HalPrivateDispatchTable
Definition: halstub.c:75
NTSTATUS(NTAPI * PHAL_SVM_ENABLE_PASID)(_In_ ULONG DeviceId, _In_ ULONG Pasid)
Definition: haltypes.h:761
_Out_ PULONG PageRequestQueues
Definition: haltypes.h:1804
VOID(NTAPI * pHalIommuRegisterDispatchTable)(_Inout_ struct _HAL_IOMMU_DISPATCH *DispatchTable)
Definition: haltypes.h:1066
_In_ PIOMMU_DEVICE_PATH DevicePath
Definition: haltypes.h:1823
NTSTATUS(NTAPI * PHAL_SVM_SET_DEVICE_ENABLED)(_In_ ULONG DeviceId, _In_ BOOLEAN Enabled)
Definition: haltypes.h:805
VOID(NTAPI * pHalDpReplaceEnd)(_In_ PVOID ReplaceContext)
Definition: haltypes.h:356
VOID(NTAPI * PHAL_ENLIGHTENMENT_WRITE_ICR)(_In_ ULONG Target, _In_ ULONG Command)
Definition: haltypes.h:479
struct _HAL_INTEL_ENLIGHTENMENT_INFORMATION * PHAL_INTEL_ENLIGHTENMENT_INFORMATION
VOID(NTAPI * pHalRegisterLogRoutine)(_In_ PHAL_LOG_REGISTER_CONTEXT Context)
Definition: haltypes.h:979
NTSTATUS(NTAPI * pHalPrepareProcessorForIdle)(_In_ ULONG Flags)
Definition: haltypes.h:925
NTSTATUS(NTAPI * PHAL_WHEA_ERROR_NOTIFICATION)(_In_ PWHEA_RECOVERY_CONTEXT RecoveryContext, _In_ BOOLEAN PlatformDirected, _In_ BOOLEAN Poisoned)
Definition: haltypes.h:633
NTSTATUS(NTAPI * pHalUnloadMicrocode)(VOID)
Definition: haltypes.h:271
struct _SUPPORTED_RANGE * PSUPPORTED_RANGE
NTSTATUS(NTAPI * pHalInterruptGetHighestPriorityInterrupt)(_Out_ PULONG HighestPendingVector, _Out_ PBOOLEAN SingleInterrupt)
Definition: haltypes.h:1457
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:233
NTSTATUS(NTAPI * pHalQueryProcessorRestartEntryPoint)(_Out_ PPHYSICAL_ADDRESS EntryPoint)
Definition: haltypes.h:1289
VOID(NTAPI * pHalReportIdleStateUsage)(_In_ UCHAR DeepestHardwareIdleState, _In_ PKAFFINITY_EX TargetSet)
Definition: haltypes.h:414
NTSTATUS(NTAPI * pHalTimerConvertAuxiliaryCounterToPerformanceCounter)(_In_ ULONG64 AuxiliaryCounterValue, _Out_ PULONG64 PerformanceCounterValueOut, _Out_opt_ PULONG64 ConversionErrorOut)
Definition: haltypes.h:1495
PVOID(NTAPI * pHalAllocateEarlyPages)(_In_ PLOADER_PARAMETER_BLOCK LoaderBlock, _In_ ULONG PageCount, _Out_ PULONG64 PhysicalAddress, _In_ ULONG Protection)
Definition: haltypes.h:907
NTSTATUS(NTAPI * PHAL_SVM_CREATE_PASID_SPACE)(_In_ ULONG PasidSpaceId, _In_ ULONG PasidCount)
Definition: haltypes.h:722
_In_ PHAL_UNMASKED_INTERRUPT_INFORMATION InterruptInformation
Definition: haltypes.h:1383
NTSTATUS(NTAPI * PHAL_SVM_ATTACH_PASID_SPACE)(_In_ ULONG DeviceId, _In_ ULONG PasidSpaceId, _In_ ULONG PrqId, _In_ ULONG PciCapabilities)
Definition: haltypes.h:746
VOID(NTAPI * pHalDpReplaceTarget)(_In_ PVOID ReplaceContext)
Definition: haltypes.h:343
enum _HAL_CLOCK_TIMER_MODE * PHAL_CLOCK_TIMER_MODE
NTSTATUS(NTAPI * pHalMaskInterrupt)(_In_ ULONG InputGsiv, _In_ ULONG Flags)
Definition: haltypes.h:1092
NTSTATUS(NTAPI * pHalDmaCheckAdapterToken)(_In_ ULONG_PTR Token)
Definition: haltypes.h:1489
ULONG HAL_HV_LOGICAL_PROCESSOR_INDEX
Definition: haltypes.h:469
VOID(NTAPI * pHalClockTimerInitialize)(VOID)
Definition: haltypes.h:1038
_In_ ULONG Domain
Definition: haltypes.h:1814
NTHALAPI PUCHAR KdComPortInUse
Definition: usage.c:17
_PCI_BUSMASTER_RID_TYPE
Definition: haltypes.h:1120
@ BusmasterRidFromMultipleBridges
Definition: haltypes.h:1123
@ BusmasterRidFromBridgeRid
Definition: haltypes.h:1122
@ BusmasterRidFromDeviceRid
Definition: haltypes.h:1121
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:1343
VOID(NTAPI * PHAL_ENLIGHTENMENT_EOI)(VOID)
Definition: haltypes.h:473
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:1540
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:647
_Out_ PULONG _Out_ PULONG MaximumAsids
Definition: haltypes.h:1805
NTSTATUS(NTAPI * pHalGetProcessorId)(_In_ ULONG ProcessorIndex, _Out_ ULONG *Identifier)
Definition: haltypes.h:1228
NTSTATUS(NTAPI * pHalLoadMicrocode)(_In_ PVOID ImageHandle)
Definition: haltypes.h:265
_In_ PIOMMU_DEVICE_PATH _In_ PIOMMU_SVM_CAPABILITIES DeviceCapabilities
Definition: haltypes.h:1824
VOID(NTAPI * pHalRestoreHvEnlightenment)(VOID)
Definition: haltypes.h:1180
PVOID(NTAPI * pHalAcpiGetMultiNode)(VOID)
Definition: haltypes.h:1398
NTSTATUS(NTAPI * pHalClockTimerArm)(_In_ HAL_CLOCK_TIMER_MODE Mode, _In_ ULONG64 RequestedInteval, _Out_ PULONG64 ActualInterval)
Definition: haltypes.h:1050
_Out_ PULONG _Out_ PULONG _Out_ PVOID * SystemContext
Definition: haltypes.h:1807
enum _PCI_BUSMASTER_RID_TYPE * PPCI_BUSMASTER_RID_TYPE
_HAL_CLOCK_TIMER_MODE
Definition: haltypes.h:984
@ HalClockTimerModeMax
Definition: haltypes.h:987
@ HalClockTimerModeOneShot
Definition: haltypes.h:986
@ HalClockTimerModePeriodic
Definition: haltypes.h:985
ULONG64(NTAPI * PHAL_GET_REFERENCE_TIME)(VOID)
Definition: haltypes.h:492
VOID(NTAPI * pHalGetClockConfiguration)(_Out_ PHAL_CLOCK_TIMER_CONFIGURATION Configuration)
Definition: haltypes.h:1017
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:1564
NTSTATUS(NTAPI * pHalTimerWatchdogStop)(VOID)
Definition: haltypes.h:1439
NTSTATUS(NTAPI * PHAL_NOTIFY_HPET_ENABLED)(VOID)
Definition: haltypes.h:560
NTSTATUS(NTAPI * pHalSecondaryInterruptQueryPrimaryInformation)(_In_ PINTERRUPT_VECTOR_DATA VectorData, _Out_ PULONG PrimaryGsiv)
Definition: haltypes.h:1078
_Inout_opt_ volatile LONG * ProcessorsStarted
Definition: haltypes.h:1407
NTSTATUS(NTAPI * pHalDpGetInterruptReplayState)(_In_ PVOID ReplaceContext, _Outptr_ PVOID *Buffer)
Definition: haltypes.h:374
#define PHAL_ENLIGHTENMENT_INFORMATION
Definition: haltypes.h:889
HAL_ENUMERATE_INTERRUPT_SOURCE_CALLBACK * PHAL_ENUMERATE_INTERRUPT_SOURCE_CALLBACK
Definition: haltypes.h:1386
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:1315
NTSTATUS(NTAPI * pHalTimerWatchdogTriggerSystemReset)(_In_ BOOLEAN ResetViaClockInterrupt)
Definition: haltypes.h:1451
VOID(NTAPI * pHalStopLegacyUsbInterrupts)(_In_ SYSTEM_POWER_STATE LastSystemState)
Definition: haltypes.h:442
HALREBOOTHANDLER * PHALREBOOTHANDLER
Definition: haltypes.h:1409
struct _HAL_HV_SVM_DEVICE_CAPABILITIES HAL_HV_SVM_DEVICE_CAPABILITIES
BOOLEAN(NTAPI * pHalPciMultiStageResumeCapable)(VOID)
Definition: haltypes.h:1324
VOID(NTAPI * pHalNotifyProcessorFreeze)(_In_ BOOLEAN Freezing, _In_ BOOLEAN ThawingToSpinLoop)
Definition: haltypes.h:937
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:574
NTSTATUS(NTAPI * PHAL_SVM_GET_DEVICE_CAPABILITIES)(_In_ ULONG DeviceId, _Out_ PHAL_HV_SVM_DEVICE_CAPABILITIES Capabilities)
Definition: haltypes.h:715
VOID(NTAPI * pHalResumeProcessorFromIdle)(VOID)
Definition: haltypes.h:931
NTSTATUS(NTAPI * pHalDpReplayInterrupts)(_In_ PVOID InterruptState)
Definition: haltypes.h:381
_In_ ULONG _Out_ PVOID * LibraryContext
Definition: haltypes.h:1816
NTSTATUS(NTAPI * PHAL_SET_SYSTEM_MACHINE_CHECK_PROPERTY)(_In_ PVOID MachineCheckPropertyInfo)
Definition: haltypes.h:506
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:463
struct _INTERRUPT_REMAPPING_INFO INTERRUPT_REMAPPING_INFO
NTSTATUS(NTAPI * pHalDpMaskLevelTriggeredInterrupts)(VOID)
Definition: haltypes.h:362
struct _HAL_PRIVATE_DISPATCH * PHAL_PRIVATE_DISPATCH
struct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR * PWHEA_ERROR_RECORD_SECTION_DESCRIPTOR
Definition: haltypes.h:426
NTSTATUS(NTAPI * PHAL_SUSPEND_PARTITION)(_In_ UINT64 PartitionId)
Definition: haltypes.h:618
NTSTATUS(NTAPI * PHAL_UNMAP_DEVICE_INTERRUPT)(_In_ ULONGLONG DeviceId, _In_ PVOID InterruptEntry)
Definition: haltypes.h:533
struct _WHEA_PROCESSOR_GENERIC_ERROR_SECTION * PWHEA_PROCESSOR_GENERIC_ERROR_SECTION
Definition: haltypes.h:429
VOID(NTAPI * pHalFlushIoRectangleExternalCache)(_In_ PMDL Mdl, _In_ ULONG StartOffset, _In_ ULONG Width, _In_ ULONG Height, _In_ ULONG Stride, _In_ BOOLEAN ReadOperation)
Definition: haltypes.h:1193
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:550
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:336
PBUS_HANDLER(FASTCALL * pHalHandlerForConfigSpace)(_In_ BUS_DATA_TYPE ConfigSpace, _In_ ULONG BusNumber)
Definition: haltypes.h:170
ULONG(NTAPI * pHalVectorToIDTEntryEx)(_In_ ULONG Vector)
Definition: haltypes.h:1072
BOOLEAN(NTAPI * pHalIsInterruptTypeSecondary)(_In_ ULONG Type, _In_ ULONG InputGsiv)
Definition: haltypes.h:1085
struct _HAL_HV_SVM_DEVICE_CAPABILITIES * PHAL_HV_SVM_DEVICE_CAPABILITIES
NTSTATUS(NTAPI * pHalRequestInterrupt)(_In_ ULONG Gsiv)
Definition: haltypes.h:1295
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:566
union _HAL_UNMASKED_INTERRUPT_FLAGS HAL_UNMASKED_INTERRUPT_FLAGS
struct _HAL_ENLIGHTENMENT_INFORMATION * PHAL_ENLIGHTENMENT_INFORMATION
Definition: haltypes.h:897
NTSTATUS(NTAPI * pHalPciEarlyRestore)(_In_ SYSTEM_POWER_STATE SleepState)
Definition: haltypes.h:1216
VOID(NTAPI * PHAL_LOG_ROUTINE)(_In_ ULONG EventId, _In_ PVOID Buffer, _In_ ULONG Size)
Definition: haltypes.h:965
NTSTATUS(NTAPI * PADJUSTRESOURCELIST)(_In_ PBUS_HANDLER BusHandler, _In_ PBUS_HANDLER RootHandler, _Inout_ PIO_RESOURCE_REQUIREMENTS_LIST *pResourceList)
Definition: haltypes.h:1532
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:1152
NTSTATUS(NTAPI * pHalReadWheaPhysicalMemory)(_In_ PHYSICAL_ADDRESS PhysicalAddress, _In_ ULONG Length, _Out_writes_bytes_(Length) PVOID Data)
Definition: haltypes.h:455
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:628
struct _HAL_ENLIGHTENMENT_INFORMATION HAL_ENLIGHTENMENT_INFORMATION
Definition: haltypes.h:896
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:183
VOID(NTAPI * pHalClockTimerStop)(VOID)
Definition: haltypes.h:1044
struct _IOMMU_DEVICE_PATH IOMMU_DEVICE_PATH
ULONGLONG(NTAPI * pHalTimerQueryCycleCounter)(_Out_opt_ PULONGLONG CycleCounterFrequency)
Definition: haltypes.h:1259
struct _HAL_DP_REPLACE_PARAMETERS * PHAL_DP_REPLACE_PARAMETERS
#define _HAL_ENLIGHTENMENT_INFORMATION
Definition: haltypes.h:887
struct _HAL_CLOCK_TIMER_CONFIGURATION HAL_CLOCK_TIMER_CONFIGURATION
BOOLEAN(NTAPI * pHalAcpiAoacCapable)(VOID)
Definition: haltypes.h:1336
struct _HAL_INTEL_ENLIGHTENMENT_INFORMATION HAL_INTEL_ENLIGHTENMENT_INFORMATION
BOOLEAN(NTAPI * pHalIsEFIRuntimeActive)(VOID)
Definition: haltypes.h:1523
NTSTATUS(NTAPI * PHAL_SVM_SET_PASID_ADDRESS_SPACE)(_In_ ULONG PasidSpaceId, _In_ ULONG Pasid, _In_ ULONGLONG AddressSpace)
Definition: haltypes.h:729
ULONG * PHAL_HV_LOGICAL_PROCESSOR_INDEX
Definition: haltypes.h:469
_FIRMWARE_REENTRY
Definition: haltypes.h:156
@ HalRestartRoutine
Definition: haltypes.h:159
@ HalHaltRoutine
Definition: haltypes.h:157
@ HalInteractiveModeRoutine
Definition: haltypes.h:161
@ HalPowerDownRoutine
Definition: haltypes.h:158
@ HalRebootRoutine
Definition: haltypes.h:160
@ HalMaximumRoutine
Definition: haltypes.h:162
struct _SUPPORTED_RANGE SUPPORTED_RANGE
struct _HAL_DP_REPLACE_PARAMETERS HAL_DP_REPLACE_PARAMETERS
VOID(NTAPI * pHalSetWakeEnable)(_In_ BOOLEAN Enable)
Definition: haltypes.h:196
NTSTATUS(NTAPI * pHalDmaLinkDeviceObjectByToken)(_In_ ULONG_PTR Token, _In_opt_ PDEVICE_OBJECT DeviceObject)
Definition: haltypes.h:1482
struct _X86_BIOS_REGISTERS X86_BIOS_REGISTERS
struct _PCI_BUSMASTER_DESCRIPTOR PCI_BUSMASTER_DESCRIPTOR
VOID(NTAPI * pHalPciLateRestore)(VOID)
Definition: haltypes.h:1222
VOID(NTAPI * pHalGetNextTickDuration)(PKPRCB Unknown1, BOOLEAN Unknown2, ULONG Unknown3, ULONG64 Unknown4, PULONGLONG Unknown5)
Definition: haltypes.h:1265
VOID(NTAPI * pHalPciMarkHiberPhase)(VOID)
Definition: haltypes.h:1283
NTSTATUS(NTAPI * pHalWheaInitProcessorGenericSection)(_Out_ PWHEA_ERROR_RECORD_SECTION_DESCRIPTOR Descriptor, _Out_ PWHEA_PROCESSOR_GENERIC_ERROR_SECTION Section)
Definition: haltypes.h:434
NTSTATUS(NTAPI * pHalUnmaskInterrupt)(_In_ ULONG InputGsiv, _In_ ULONG Flags)
Definition: haltypes.h:1099
ULONG(NTAPI * PHAL_GET_PROCESSOR_INDEX_FROM_VP_INDEX)(_In_ ULONG VpIndex)
Definition: haltypes.h:641
NTSTATUS(NTAPI * pHalEnumerateUnmaskedInterrupts)(_In_ PHAL_ENUMERATE_INTERRUPT_SOURCE_CALLBACK Callback, _In_ PVOID Context, _Out_ PHAL_UNMASKED_INTERRUPT_INFORMATION InterruptInformation)
Definition: haltypes.h:1390
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:592
struct _PNP_REPLACE_PROCESSOR_LIST * PPNP_REPLACE_PROCESSOR_LIST
Definition: haltypes.h:325
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID * BaseAddress
Definition: mmfuncs.h:404
_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
_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
#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
_In_ PVOID Context
Definition: storport.h:2269
Definition: shell.h:41
PGETINTERRUPTVECTOR GetInterruptVector
Definition: haltypes.h:2005
PGETSETBUSDATA GetBusData
Definition: haltypes.h:2001
PVOID Spare4
Definition: haltypes.h:2010
ULONG BusNumber
Definition: haltypes.h:1994
ULONG Version
Definition: haltypes.h:1991
PVOID Spare1
Definition: haltypes.h:2007
PSUPPORTED_RANGES BusAddresses
Definition: haltypes.h:1999
PVOID Spare7
Definition: haltypes.h:2013
PVOID Spare5
Definition: haltypes.h:2011
PVOID Spare8
Definition: haltypes.h:2014
PTRANSLATEBUSADDRESS TranslateBusAddress
Definition: haltypes.h:2006
PASSIGNSLOTRESOURCES AssignSlotResources
Definition: haltypes.h:2004
PVOID Spare2
Definition: haltypes.h:2008
BUS_DATA_TYPE ConfigurationType
Definition: haltypes.h:1993
ULONG DeviceControlExtensionSize
Definition: haltypes.h:1998
struct _BUS_HANDLER * ParentHandler
Definition: haltypes.h:1996
PVOID Spare6
Definition: haltypes.h:2012
PDEVICE_OBJECT DeviceObject
Definition: haltypes.h:1995
PGETSETBUSDATA SetBusData
Definition: haltypes.h:2002
PVOID Spare3
Definition: haltypes.h:2009
INTERFACE_TYPE InterfaceType
Definition: haltypes.h:1992
PADJUSTRESOURCELIST AdjustResourceList
Definition: haltypes.h:2003
PVOID BusData
Definition: haltypes.h:1997
PPNP_REPLACE_PROCESSOR_LIST SpareProcessors
Definition: haltypes.h:331
PPNP_REPLACE_PROCESSOR_LIST TargetProcessors
Definition: haltypes.h:330
PHAL_RESUME_PARTITION ResumePartition
Definition: haltypes.h:836
PHAL_LP_WRITEBACK_INVALIDATE LpWritebackInvalidate
Definition: haltypes.h:833
PHAL_IUM_EFI_RUNTIME_SERVICE IumEfiRuntimeService
Definition: haltypes.h:844
PHAL_SVM_CREATE_PASID_SPACE SvmCreatePasidSpace
Definition: haltypes.h:847
PHAL_SVM_GET_DEVICE_CAPABILITIES SvmGetDeviceCapabilities
Definition: haltypes.h:846
PHAL_SVM_CLEAR_PRQ_STALLED SvmClearPrqStalled
Definition: haltypes.h:857
PHAL_SET_SYSTEM_MACHINE_CHECK_PROPERTY SetSystemMachineCheckProperty
Definition: haltypes.h:837
PHAL_SVM_ATTACH_PASID_SPACE SvmAttachPasidSpace
Definition: haltypes.h:850
PHAL_SVM_ENABLE_PASID SvmEnablePasid
Definition: haltypes.h:852
PHAL_ENLIGHTENMENT_EOI EndOfInterrupt
Definition: haltypes.h:815
PHAL_SYNTHETIC_CLUSTER_IPI SyntheticClusterIpi
Definition: haltypes.h:840
PHAL_SVM_DETACH_PASID_SPACE SvmDetachPasidSpace
Definition: haltypes.h:851
PHAL_GET_VP_INDEX_FROM_APIC_ID GetVpIndexFromApicId
Definition: haltypes.h:843
PHAL_START_VIRTUAL_PROCESSOR StartVirtualProcessor
Definition: haltypes.h:842
PHAL_LONG_SPIN_WAIT LongSpinWait
Definition: haltypes.h:819
PHAL_SVM_DELETE_PR_QUEUE SvmDeletePrQueue
Definition: haltypes.h:856
PHAL_SVM_ACKNOWLEDGE_PAGE_REQUEST SvmAcknowledgePageRequest
Definition: haltypes.h:854
PHAL_LP_WRITE_MULTIPLE_MSR WriteMultipleMsr
Definition: haltypes.h:831
PHAL_SVM_FLUSH_PASID SvmFlushPasid
Definition: haltypes.h:849
PHAL_NOTIFY_HPET_ENABLED NotifyHpetEnabled
Definition: haltypes.h:828
PHAL_ENTER_SLEEP_STATE EnterSleepState
Definition: haltypes.h:822
PHAL_LP_GET_MACHINE_CHECK_CONTEXT GetMachineCheckContext
Definition: haltypes.h:834
PHAL_SVM_DISABLE_PASID SvmDisablePasid
Definition: haltypes.h:853
PHAL_RETARGET_DEVICE_INTERRUPT RetargetDeviceInterrupt
Definition: haltypes.h:826
PHAL_ENLIGHTENMENT_WRITE_ICR ApicWriteIcr
Definition: haltypes.h:816
PHAL_QUERY_ASSOCIATED_PROCESSORS QueryAssociatedProcessors
Definition: haltypes.h:829
PHAL_GET_PROCESSOR_INDEX_FROM_VP_INDEX GetProcessorIndexFromVpIndex
Definition: haltypes.h:839
PHAL_SET_HPET_CONFIG SetHpetConfig
Definition: haltypes.h:827
PHAL_WHEA_ERROR_NOTIFICATION WheaErrorNotification
Definition: haltypes.h:838
PHAL_LP_READ_MULTIPLE_MSR ReadMultipleMsr
Definition: haltypes.h:830
PHAL_VP_START_ENABLED VpStartEnabled
Definition: haltypes.h:841
PHAL_SVM_SET_DEVICE_ENABLED SvmSetDeviceEnabled
Definition: haltypes.h:858
PHAL_NOTIFY_DEBUG_DEVICE_AVAILABLE NotifyDebugDeviceAvailable
Definition: haltypes.h:823
PHAL_UNMAP_DEVICE_INTERRUPT UnmapDeviceInterrupt
Definition: haltypes.h:825
PHAL_GET_REFERENCE_TIME GetReferenceTime
Definition: haltypes.h:820
PHAL_SVM_CREATE_PR_QUEUE SvmCreatePrQueue
Definition: haltypes.h:855
PHAL_SUSPEND_PARTITION SuspendPartition
Definition: haltypes.h:835
PHAL_SVM_SET_PASID_ADDRESS_SPACE SvmSetPasidAddressSpace
Definition: haltypes.h:848
PHAL_SVM_GET_SYSTEM_CAPABILITIES SvmGetSystemCapabilities
Definition: haltypes.h:845
PHAL_SET_SYSTEM_SLEEP_PROPERTY SetSystemSleepProperty
Definition: haltypes.h:821
PHAL_MAP_DEVICE_INTERRUPT MapDeviceInterrupt
Definition: haltypes.h:824
pHalIommuFreeLibraryContext HalIommuFreeLibraryContext
Definition: haltypes.h:1944
pHalIommuReferenceAsid HalIommuReferenceAsid
Definition: haltypes.h:1949
pHalIommuDevicePowerChange HalIommuDevicePowerChange
Definition: haltypes.h:1952
pHalIommuServicePageFault HalIommuServicePageFault
Definition: haltypes.h:1951
pHalIommuProcessPageRequestQueue HalIommuProcessPageRequestQueue
Definition: haltypes.h:1947
pHalIommuFlushAllPasid HalIommuFlushAllPasid
Definition: haltypes.h:1946
pHalIommuGetConfiguration HalIommuGetConfiguration
Definition: haltypes.h:1937
pHalIommuFlushTb HalIommuFlushTb
Definition: haltypes.h:1945
pHalIommuMapDevice HalIommuMapDevice
Definition: haltypes.h:1939
pHalIommuFaultRoutine HalIommuFaultRoutine
Definition: haltypes.h:1948
pHalIommuGetLibraryContext HalIommuGetLibraryContext
Definition: haltypes.h:1938
pHalIommuSetAddressSpace HalIommuSetAddressSpace
Definition: haltypes.h:1941
pHalIommuUnmapDevice HalIommuUnmapDevice
Definition: haltypes.h:1943
pHalIommuDisableDevicePasid HalIommuDisableDevicePasid
Definition: haltypes.h:1942
pHalIommuDereferenceAsid HalIommuDereferenceAsid
Definition: haltypes.h:1950
pHalIommuEnableDevicePasid HalIommuEnableDevicePasid
Definition: haltypes.h:1940
pHalIommuSupportEnabled HalIommuSupportEnabled
Definition: haltypes.h:1936
PHAL_LOG_ROUTINE LogRoutine
Definition: haltypes.h:973
pHalClockTimerActivate HalClockTimerActivate
Definition: haltypes.h:1731
pHalAllocatePmcCounterSet HalAllocatePmcCounterSet
Definition: haltypes.h:1704
pHalAssignSlotResources HalPciAssignSlotResources
Definition: haltypes.h:1620
pHalTimerConvertAuxiliaryCounterToPerformanceCounter HalTimerConvertAuxiliaryCounterToPerformanceCounter
Definition: haltypes.h:1755
pHalTimerWatchdogGeneratedLastReset HalTimerWatchdogGeneratedLastReset
Definition: haltypes.h:1742
pHalWriteWheaPhysicalMemory HalWriteWheaPhysicalMemory
Definition: haltypes.h:1663
pHalMapEarlyPages HalMapEarlyPages
Definition: haltypes.h:1677
pHalGetClockOwner HalGetClockOwner
Definition: haltypes.h:1679
pHalLocateHiberRanges HalLocateHiberRanges
Definition: haltypes.h:1615
pHalSetWakeEnable HalSetWakeEnable
Definition: haltypes.h:1617
pKdCheckPowerButton KdCheckPowerButton
Definition: haltypes.h:1631
pHalGetProcessorId HalGetProcessorId
Definition: haltypes.h:1703
pHalPostMicrocodeUpdate HalPostMicrocodeUpdate
Definition: haltypes.h:1643
pHalDmaLinkDeviceObjectByToken HalDmaLinkDeviceObjectByToken
Definition: haltypes.h:1751
pHalCollectPmcCounters HalCollectPmcCounters
Definition: haltypes.h:1705
pHalFindBusAddressTranslation HalFindBusAddressTranslation
Definition: haltypes.h:1622
pHalPciLateRestore HalPciLateRestore
Definition: haltypes.h:1753
pHalFlushIoRectangleExternalCache HalFlushIoRectangleExternalCache
Definition: haltypes.h:1720
pHalPciMarkHiberPhase HalPciMarkHiberPhase
Definition: haltypes.h:1714
pHalFlushIoBuffersExternalCache HalFlushIoBuffersExternalCache
Definition: haltypes.h:1700
pHalProcessorOff HalProcessorOff
Definition: haltypes.h:1749
pHalDpGetInterruptReplayState HalDpGetInterruptReplayState
Definition: haltypes.h:1668
pHalGetClockConfiguration HalGetClockConfiguration
Definition: haltypes.h:1680
pHalClockTimerArm HalClockTimerArm
Definition: haltypes.h:1734
pHalNotifyProcessorFreeze HalNotifyProcessorFreeze
Definition: haltypes.h:1685
pKdMapPhysicalMemory64 KdMapPhysicalMemory64
Definition: haltypes.h:1633
pHalDpMaskLevelTriggeredInterrupts HalDpMaskLevelTriggeredInterrupts
Definition: haltypes.h:1666
pHalQueryCapsuleCapabilities HalQueryCapsuleCapabilities
Definition: haltypes.h:1722
pHalAllocateMapRegisters HalAllocateMapRegisters
Definition: haltypes.h:1625
pHalInterruptSetDestination HalInterruptSetDestination
Definition: haltypes.h:1729
pHalDpUnmaskLevelTriggeredInterrupts HalDpUnmaskLevelTriggeredInterrupts
Definition: haltypes.h:1667
pHalFreePmcCounterSet HalFreePmcCounterSet
Definition: haltypes.h:1706
pHalIsEFIRuntimeActive HalIsEFIRuntimeActive
Definition: haltypes.h:1758
pHalGetEnlightenmentInformation HalGetEnlightenmentInformation
Definition: haltypes.h:1675
pHalReportIdleStateUsage HalReportIdleStateUsage
Definition: haltypes.h:1656
pHalPowerSetRebootHandler HalPowerSetRebootHandler
Definition: haltypes.h:1737
pHalConnectThermalInterrupt HalConnectThermalInterrupt
Definition: haltypes.h:1757
pKdSetupPciDeviceForDebugging KdSetupPciDeviceForDebugging
Definition: haltypes.h:1628
pHalPrepareProcessorForIdle HalPrepareProcessorForIdle
Definition: haltypes.h:1686
pHalTimerWatchdogStart HalTimerWatchdogStart
Definition: haltypes.h:1739
pHalAcpiAoacCapable HalAcpiAoacCapable
Definition: haltypes.h:1726
pHalMaskInterrupt HalMaskInterrupt
Definition: haltypes.h:1692
pHalResumeProcessorFromIdle HalResumeProcessorFromIdle
Definition: haltypes.h:1688
pHalPciEarlyRestore HalPciEarlyRestore
Definition: haltypes.h:1702
pHalLoadMicrocode HalLoadMicrocode
Definition: haltypes.h:1641
pHalRemoveInterruptRemapping HalRemoveInterruptRemapping
Definition: haltypes.h:1697
pHalClockTimerStop HalClockTimerStop
Definition: haltypes.h:1733
pHalGetNextTickDuration HalGetNextTickDuration
Definition: haltypes.h:1710
pHalIommuRegisterDispatchTable HalIommuRegisterDispatchTable
Definition: haltypes.h:1738
pHalPrepareForBugcheck HalPrepareForBugcheck
Definition: haltypes.h:1652
pHalTimerQueryCycleCounter HalTimerQueryCycleCounter
Definition: haltypes.h:1708
pKdGetAcpiTablePhase0 KdGetAcpiTablePhase0
Definition: haltypes.h:1630
pHalReadWheaPhysicalMemory HalReadWheaPhysicalMemory
Definition: haltypes.h:1662
pHalSecondaryInterruptQueryPrimaryInformation HalSecondaryInterruptQueryPrimaryInformation
Definition: haltypes.h:1691
pHalTimerOnlyClockInterruptPending HalTimerOnlyClockInterruptPending
Definition: haltypes.h:1735
pKdReleaseIntegratedDeviceForDebugging KdReleaseIntegratedDeviceForDebugging
Definition: haltypes.h:1674
pHalRegisterBusHandler HalRegisterBusHandler
Definition: haltypes.h:1616
pHalProcessorOn HalProcessorOn
Definition: haltypes.h:1748
pHalInterruptGetHighestPriorityInterrupt HalInterruptGetHighestPriorityInterrupt
Definition: haltypes.h:1747
pHalFlushAndInvalidatePageExternalCache HalFlushAndInvalidatePageExternalCache
Definition: haltypes.h:1718
pHalProcessorHalt HalProcessorHalt
Definition: haltypes.h:1707
pHalAddInterruptRemapping HalAddInterruptRemapping
Definition: haltypes.h:1696
pHalDpReplaceBegin HalDpReplaceBegin
Definition: haltypes.h:1648
pHalRegisterLogRoutine HalRegisterLogRoutine
Definition: haltypes.h:1687
pKdGetPciDataByOffset KdGetPciDataByOffset
Definition: haltypes.h:1637
pHalDpReplaceControl HalDpReplaceControl
Definition: haltypes.h:1650
pKdReleasePciDeviceForDebugging KdReleasePciDeviceforDebugging
Definition: haltypes.h:1629
pHalPciMultiStageResumeCapable HalPciMultiStageResumeCapable
Definition: haltypes.h:1724
pHalGetVectorInput HalGetVectorInputOverride
Definition: haltypes.h:1640
pHalTimerConvertPerformanceCounterToAuxiliaryCounter HalTimerConvertPerformanceCounterToAuxiliaryCounter
Definition: haltypes.h:1754
pHalResetDisplay HalResetDisplay
Definition: haltypes.h:1623
pHalGetInterruptVector HalGetInterruptVectorOverride
Definition: haltypes.h:1639
pHalDpReplaceTarget HalDpReplaceTarget
Definition: haltypes.h:1649
pHalDmaFreeCrashDumpRegisters HalDmaFreeCrashDumpRegisters
Definition: haltypes.h:1725
pHalTimerWatchdogTriggerSystemReset HalTimerWatchdogTriggerSystemReset
Definition: haltypes.h:1743
pHalQueryProcessorRestartEntryPoint HalQueryProcessorRestartEntryPoint
Definition: haltypes.h:1715
pHalIsInterruptTypeSecondary HalIsInterruptTypeSecondary
Definition: haltypes.h:1694
pHalTimerQueryAuxiliaryCounterFrequency HalTimerQueryAuxiliaryCounterFrequency
Definition: haltypes.h:1756
pHalHandlerForConfigSpace HalHandlerForConfigSpace
Definition: haltypes.h:1614
pHalQueryWakeTime HalQueryWakeTime
Definition: haltypes.h:1655
pHalAcpiGetMultiNode HalAcpiGetMultiNode
Definition: haltypes.h:1736
pHalHandlerForBus HalHandlerForBus
Definition: haltypes.h:1613
pHalFreeMessageTarget HalFreeMessageTargetOverride
Definition: haltypes.h:1647
pHalTranslateBusAddress HalPciTranslateBusAddress
Definition: haltypes.h:1619
pHalStopLegacyUsbInterrupts HalStopLegacyUsbInterrupts
Definition: haltypes.h:1659
pHalEnumerateUnmaskedInterrupts HalEnumerateUnmaskedInterrupts
Definition: haltypes.h:1717
pHalUnloadMicrocode HalUnloadMicrocode
Definition: haltypes.h:1642
pHalUpdateCapsule HalUpdateCapsule
Definition: haltypes.h:1723
pHalFlushExternalCache HalFlushExternalCache
Definition: haltypes.h:1701
pHalAllocateMessageTarget HalAllocateMessageTargetOverride
Definition: haltypes.h:1646
pHalDpReplayInterrupts HalDpReplayInterrupts
Definition: haltypes.h:1669
pHalClockTimerInitialize HalClockTimerInitialize
Definition: haltypes.h:1732
pHalTimerWatchdogResetCountdown HalTimerWatchdogResetCountdown
Definition: haltypes.h:1740
pHalTimerWatchdogStop HalTimerWatchdogStop
Definition: haltypes.h:1741
pHalRestoreHvEnlightenment HalRestoreHvEnlightenment
Definition: haltypes.h:1699
pKdEnumerateDebuggingDevices KdEnumerateDebuggingDevices
Definition: haltypes.h:1719
pHalDmaCheckAdapterToken HalDmaCheckAdapterToken
Definition: haltypes.h:1752
pHalDpReplaceEnd HalDpReplaceEnd
Definition: haltypes.h:1651
pHalHaltSystem HalHaltSystem
Definition: haltypes.h:1621
pHalWheaInitProcessorGenericSection HalWheaInitProcessorGenericSection
Definition: haltypes.h:1658
pHalInterruptVectorDataToGsiv HalInterruptVectorDataToGsiv
Definition: haltypes.h:1746
pHalTscSynchronization HalTscSynchronization
Definition: haltypes.h:1657
pHalVectorToIDTEntry HalVectorToIDTEntry
Definition: haltypes.h:1632
pHalUnmaskInterrupt HalUnmaskInterrupt
Definition: haltypes.h:1693
pKdSetupIntegratedDeviceForDebugging KdSetupIntegratedDeviceForDebugging
Definition: haltypes.h:1673
pHalProcessorFreeze HalProcessorFreeze
Definition: haltypes.h:1750
pHalQueryIoPortAccessSupported HalQueryIoPortAccessSupported
Definition: haltypes.h:1670
pHalAllocateEarlyPages HalAllocateEarlyPages
Definition: haltypes.h:1676
pKdUnmapVirtualAddress KdUnmapVirtualAddress
Definition: haltypes.h:1634
pHalVectorToIDTEntryEx HalVectorToIDTEntryEx
Definition: haltypes.h:1690
pHalAllocateGsivForSecondaryInterrupt HalAllocateGsivForSecondaryInterrupt
Definition: haltypes.h:1695
pKdSetPciDataByOffset KdSetPciDataByOffset
Definition: haltypes.h:1638
pHalPowerEarlyRestore HalPowerEarlyRestore
Definition: haltypes.h:1721
pHalSaveAndDisableHvEnlightenment HalSaveAndDisableHvEnlightenment
Definition: haltypes.h:1698
pHalSetWakeAlarm HalSetWakeAlarm
Definition: haltypes.h:1618
pHalRequestInterrupt HalRequestInterrupt
Definition: haltypes.h:1716
KINTERRUPT_POLARITY Polarity
Definition: haltypes.h:1372
HAL_UNMASKED_INTERRUPT_FLAGS Flags
Definition: haltypes.h:1370
union _INTERRUPT_HT_INTR_INFO::@2616 LowPart
struct _INTERRUPT_HT_INTR_INFO::@2616::@2618 bits
union _INTERRUPT_HT_INTR_INFO::@2617 HighPart
ULARGE_INTEGER RemappedFormat
Definition: haltypes.h:50
struct _INTERRUPT_REMAPPING_INFO::@2614::@2615 Msi
union _INTERRUPT_REMAPPING_INFO::@2614 u
HAL_APIC_DESTINATION_MODE DestinationMode
Definition: haltypes.h:129
INTERRUPT_HT_INTR_INFO IntrInfo
Definition: haltypes.h:122
struct _INTERRUPT_VECTOR_DATA::@2621::@2625 GenericMessage
struct _INTERRUPT_VECTOR_DATA::@2620 ControllerInput
INTERRUPT_CONNECTION_TYPE Type
Definition: haltypes.h:95
INTERRUPT_REMAPPING_INFO IntRemapInfo
Definition: haltypes.h:101
struct _INTERRUPT_VECTOR_DATA::@2621::@2624 Hypertransport
GROUP_AFFINITY TargetProcessors
Definition: haltypes.h:100
KINTERRUPT_MODE Mode
Definition: haltypes.h:99
struct _INTERRUPT_VECTOR_DATA::@2621::@2626 MessageRequest
KINTERRUPT_POLARITY Polarity
Definition: haltypes.h:98
struct _INTERRUPT_VECTOR_DATA::@2621::@2623 XapicMessage
PHYSICAL_ADDRESS Address
Definition: haltypes.h:118
PVOID Va
Definition: haltypes.h:39
union _KTB_FLUSH_VA::@2611 u1
ULONG_PTR PageSize
Definition: haltypes.h:37
ULONG_PTR VaLong
Definition: haltypes.h:40
ULONG_PTR NumberOfEntries
Definition: haltypes.h:36
Definition: typedefs.h:120
Definition: haltypes.h:195
PCI_BUSMASTER_RID_TYPE Type
Definition: haltypes.h:1128
SUPPORTED_RANGE Dma
Definition: haltypes.h:1982
SUPPORTED_RANGE PrefetchMemory
Definition: haltypes.h:1980
SUPPORTED_RANGE Memory
Definition: haltypes.h:1978
SUPPORTED_RANGE IO
Definition: haltypes.h:1976
ULONG NoPrefetchMemory
Definition: haltypes.h:1979
ULONG SystemAddressSpace
Definition: haltypes.h:1964
LONGLONG SystemBase
Definition: haltypes.h:1965
LONGLONG Base
Definition: haltypes.h:1966
LONGLONG Limit
Definition: haltypes.h:1967
struct _SUPPORTED_RANGE * Next
Definition: haltypes.h:1963
uint32_t * PULONG
Definition: typedefs.h:59
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
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
uint64_t ULONGLONG
Definition: typedefs.h:67
ULONG LOGICAL
Definition: umtypes.h:135
_In_ HFONT _Out_ PUINT _Out_ PUINT Width
Definition: font.h:89
_In_ HFONT _Out_ PUINT Height
Definition: font.h:88
_Must_inspect_result_ _In_ WDFDEVICE Device
Definition: wdfchildlist.h:474
_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_ WDFINTERRUPT _In_ PFN_WDF_INTERRUPT_SYNCHRONIZE Callback
Definition: wdfinterrupt.h:458
_Must_inspect_result_ _In_ WDFQUEUE _In_opt_ WDFREQUEST _In_opt_ WDFFILEOBJECT _Inout_opt_ PWDF_REQUEST_PARAMETERS Parameters
Definition: wdfio.h:869
_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
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
_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_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT _In_ INTERFACE_TYPE _In_ ULONG BusNumber
Definition: halfuncs.h:160
_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
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS PhysicalAddress
Definition: iotypes.h:1098
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:564
enum _KINTERRUPT_POLARITY KINTERRUPT_POLARITY
enum _KINTERRUPT_POLARITY * PKINTERRUPT_POLARITY
unsigned char UCHAR
Definition: xmlstorage.h:181