ReactOS 0.4.16-dev-2358-g0df3463
halfuncs.h File Reference
#include <umtypes.h>
#include <haltypes.h>
#include <ketypes.h>
#include <section_attribs.h>
Include dependency graph for halfuncs.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define HalHandlerForBus   HALPRIVATEDISPATCH->HalHandlerForBus
 
#define HalHandlerForConfigSpace   HALPRIVATEDISPATCH->HalHandlerForConfigSpace
 
#define HalLocateHiberRanges   HALPRIVATEDISPATCH->HalLocateHiberRanges
 
#define HalRegisterBusHandler   HALPRIVATEDISPATCH->HalRegisterBusHandler
 
#define HalSetWakeEnable   HALPRIVATEDISPATCH->HalSetWakeEnable
 
#define HalSetWakeAlarm   HALPRIVATEDISPATCH->HalSetWakeAlarm
 
#define HalPciTranslateBusAddress   HALPRIVATEDISPATCH->HalPciTranslateBusAddress
 
#define HalPciAssignSlotResources   HALPRIVATEDISPATCH->HalPciAssignSlotResources
 
#define HalHaltSystem   HALPRIVATEDISPATCH->HalHaltSystem
 
#define HalFindBusAddressTranslation   HALPRIVATEDISPATCH->HalFindBusAddressTranslation
 
#define HalResetDisplay   HALPRIVATEDISPATCH->HalResetDisplay
 
#define HalAllocateMapRegisters   HALPRIVATEDISPATCH->HalAllocateMapRegisters
 
#define KdSetupPciDeviceForDebugging   HALPRIVATEDISPATCH->KdSetupPciDeviceForDebugging
 
#define KdReleasePciDeviceforDebugging   HALPRIVATEDISPATCH->KdReleasePciDeviceforDebugging
 
#define KdGetAcpiTablePhase0   HALPRIVATEDISPATCH->KdGetAcpiTablePhase0
 
#define KdCheckPowerButton   HALPRIVATEDISPATCH->KdCheckPowerButton
 
#define HalVectorToIDTEntry   HALPRIVATEDISPATCH->HalVectorToIDTEntry
 
#define KdMapPhysicalMemory64   HALPRIVATEDISPATCH->KdMapPhysicalMemory64
 
#define KdUnmapVirtualAddress   HALPRIVATEDISPATCH->KdUnmapVirtualAddress
 
#define KdGetPciDataByOffset   HALPRIVATEDISPATCH->KdGetPciDataByOffset
 
#define KdSetPciDataByOffset   HALPRIVATEDISPATCH->KdSetPciDataByOffset
 
#define HalGetInterruptVectorOverride   HALPRIVATEDISPATCH->HalGetInterruptVectorOverride
 
#define HalGetVectorInputOverride   HALPRIVATEDISPATCH->HalGetVectorInputOverride
 
#define HalLoadMicrocode   HALPRIVATEDISPATCH->HalLoadMicrocode
 
#define HalUnloadMicrocode   HALPRIVATEDISPATCH->HalUnloadMicrocode
 
#define HalPostMicrocodeUpdate   HALPRIVATEDISPATCH->HalPostMicrocodeUpdate
 
#define HalAllocateMessageTargetOverride   HALPRIVATEDISPATCH->HalAllocateMessageTargetOverride
 
#define HalFreeMessageTargetOverride   HALPRIVATEDISPATCH->HalFreeMessageTargetOverride
 
#define HalDpReplaceBegin   HALPRIVATEDISPATCH->HalDpReplaceBegin
 
#define HalDpReplaceTarget   HALPRIVATEDISPATCH->HalDpReplaceTarget
 
#define HalDpReplaceControl   HALPRIVATEDISPATCH->HalDpReplaceControl
 
#define HalDpReplaceEnd   HALPRIVATEDISPATCH->HalDpReplaceEnd
 
#define HalPrepareForBugcheck   HALPRIVATEDISPATCH->HalPrepareForBugcheck
 
#define HalQueryWakeTime   HALPRIVATEDISPATCH->HalQueryWakeTime
 
#define HalReportIdleStateUsage   HALPRIVATEDISPATCH->HalReportIdleStateUsage
 
#define HalTscSynchronization   HALPRIVATEDISPATCH->HalTscSynchronization
 
#define HalWheaInitProcessorGenericSection   HALPRIVATEDISPATCH->HalWheaInitProcessorGenericSection
 
#define HalStopLegacyUsbInterrupts   HALPRIVATEDISPATCH->HalStopLegacyUsbInterrupts
 
#define HalReadWheaPhysicalMemory   HALPRIVATEDISPATCH->HalReadWheaPhysicalMemory
 
#define HalWriteWheaPhysicalMemory   HALPRIVATEDISPATCH->HalWriteWheaPhysicalMemory
 
#define HalDpMaskLevelTriggeredInterrupts   HALPRIVATEDISPATCH->HalDpMaskLevelTriggeredInterrupts
 
#define HalDpUnmaskLevelTriggeredInterrupts   HALPRIVATEDISPATCH->HalDpUnmaskLevelTriggeredInterrupts
 
#define HalDpGetInterruptReplayState   HALPRIVATEDISPATCH->HalDpGetInterruptReplayState
 
#define HalDpReplayInterrupts   HALPRIVATEDISPATCH->HalDpReplayInterrupts
 
#define HalQueryIoPortAccessSupported   HALPRIVATEDISPATCH->HalQueryIoPortAccessSupported
 
#define KdSetupIntegratedDeviceForDebugging   HALPRIVATEDISPATCH->KdSetupIntegratedDeviceForDebugging
 
#define KdReleaseIntegratedDeviceForDebugging   HALPRIVATEDISPATCH->KdReleaseIntegratedDeviceForDebugging
 
#define HalGetEnlightenmentInformation   HALPRIVATEDISPATCH->HalGetEnlightenmentInformation
 
#define HalAllocateEarlyPages   HALPRIVATEDISPATCH->HalAllocateEarlyPages
 
#define HalMapEarlyPages   HALPRIVATEDISPATCH->HalMapEarlyPages
 
#define HalGetClockOwner   HALPRIVATEDISPATCH->HalGetClockOwner
 
#define HalGetClockConfiguration   HALPRIVATEDISPATCH->HalGetClockConfiguration
 
#define HalNotifyProcessorFreeze   HALPRIVATEDISPATCH->HalNotifyProcessorFreeze
 
#define HalPrepareProcessorForIdle   HALPRIVATEDISPATCH->HalPrepareProcessorForIdle
 
#define HalRegisterLogRoutine   HALPRIVATEDISPATCH->HalRegisterLogRoutine
 
#define HalResumeProcessorFromIdle   HALPRIVATEDISPATCH->HalResumeProcessorFromIdle
 
#define HalVectorToIDTEntryEx   HALPRIVATEDISPATCH->HalVectorToIDTEntryEx
 
#define HalSecondaryInterruptQueryPrimaryInformation   HALPRIVATEDISPATCH->HalSecondaryInterruptQueryPrimaryInformation
 
#define HalMaskInterrupt   HALPRIVATEDISPATCH->HalMaskInterrupt
 
#define HalUnmaskInterrupt   HALPRIVATEDISPATCH->HalUnmaskInterrupt
 
#define HalIsInterruptTypeSecondary   HALPRIVATEDISPATCH->HalIsInterruptTypeSecondary
 
#define HalAllocateGsivForSecondaryInterrupt   HALPRIVATEDISPATCH->HalAllocateGsivForSecondaryInterrupt
 
#define HalAddInterruptRemapping   HALPRIVATEDISPATCH->HalAddInterruptRemapping
 
#define HalRemoveInterruptRemapping   HALPRIVATEDISPATCH->HalRemoveInterruptRemapping
 
#define HalSaveAndDisableHvEnlightenment   HALPRIVATEDISPATCH->HalSaveAndDisableHvEnlightenment
 
#define HalRestoreHvEnlightenment   HALPRIVATEDISPATCH->HalRestoreHvEnlightenment
 
#define HalFlushIoBuffersExternalCache   HALPRIVATEDISPATCH->HalFlushIoBuffersExternalCache
 
#define HalFlushExternalCache   HALPRIVATEDISPATCH->HalFlushExternalCache
 
#define HalPciEarlyRestore   HALPRIVATEDISPATCH->HalPciEarlyRestore
 
#define HalGetProcessorId   HALPRIVATEDISPATCH->HalGetProcessorId
 
#define HalAllocatePmcCounterSet   HALPRIVATEDISPATCH->HalAllocatePmcCounterSet
 
#define HalCollectPmcCounters   HALPRIVATEDISPATCH->HalCollectPmcCounters
 
#define HalFreePmcCounterSet   HALPRIVATEDISPATCH->HalFreePmcCounterSet
 
#define HalProcessorHalt   HALPRIVATEDISPATCH->HalProcessorHalt
 
#define HalTimerQueryCycleCounter   HALPRIVATEDISPATCH->HalTimerQueryCycleCounter
 
#define HalGetNextTickDuration   HALPRIVATEDISPATCH->HalGetNextTickDuration
 
#define HalPciMarkHiberPhase   HALPRIVATEDISPATCH->HalPciMarkHiberPhase
 
#define HalQueryProcessorRestartEntryPoint   HALPRIVATEDISPATCH->HalQueryProcessorRestartEntryPoint
 
#define HalRequestInterrupt   HALPRIVATEDISPATCH->HalRequestInterrupt
 
#define HalEnumerateUnmaskedInterrupts   HALPRIVATEDISPATCH->HalEnumerateUnmaskedInterrupts
 
#define HalFlushAndInvalidatePageExternalCache   HALPRIVATEDISPATCH->HalFlushAndInvalidatePageExternalCache
 
#define KdEnumerateDebuggingDevices   HALPRIVATEDISPATCH->KdEnumerateDebuggingDevices
 
#define HalFlushIoRectangleExternalCache   HALPRIVATEDISPATCH->HalFlushIoRectangleExternalCache
 
#define HalPowerEarlyRestore   HALPRIVATEDISPATCH->HalPowerEarlyRestore
 
#define HalQueryCapsuleCapabilities   HALPRIVATEDISPATCH->HalQueryCapsuleCapabilities
 
#define HalUpdateCapsule   HALPRIVATEDISPATCH->HalUpdateCapsule
 
#define HalPciMultiStageResumeCapable   HALPRIVATEDISPATCH->HalPciMultiStageResumeCapable
 
#define HalDmaFreeCrashDumpRegisters   HALPRIVATEDISPATCH->HalDmaFreeCrashDumpRegisters
 
#define HalAcpiAoacCapable   HALPRIVATEDISPATCH->HalAcpiAoacCapable
 
#define HalInterruptSetDestination   HALPRIVATEDISPATCH->HalInterruptSetDestination
 
#define HalGetClockConfiguration   HALPRIVATEDISPATCH->HalGetClockConfiguration
 
#define HalClockTimerActivate   HALPRIVATEDISPATCH->HalClockTimerActivate
 
#define HalClockTimerInitialize   HALPRIVATEDISPATCH->HalClockTimerInitialize
 
#define HalClockTimerStop   HALPRIVATEDISPATCH->HalClockTimerStop
 
#define HalClockTimerArm   HALPRIVATEDISPATCH->HalClockTimerArm
 
#define HalTimerOnlyClockInterruptPending   HALPRIVATEDISPATCH->HalTimerOnlyClockInterruptPending
 
#define HalAcpiGetMultiNode   HALPRIVATEDISPATCH->HalAcpiGetMultiNode
 
#define HalPowerSetRebootHandler   HALPRIVATEDISPATCH->HalPowerSetRebootHandler
 
#define HalIommuRegisterDispatchTable   HALPRIVATEDISPATCH->HalIommuRegisterDispatchTable
 
#define HalTimerWatchdogStart   HALPRIVATEDISPATCH->HalTimerWatchdogStart
 
#define HalTimerWatchdogResetCountdown   HALPRIVATEDISPATCH->HalTimerWatchdogResetCountdown
 
#define HalTimerWatchdogStop   HALPRIVATEDISPATCH->HalTimerWatchdogStop
 
#define HalTimerWatchdogGeneratedLastReset   HALPRIVATEDISPATCH->HalTimerWatchdogGeneratedLastReset
 
#define HalTimerWatchdogTriggerSystemReset   HALPRIVATEDISPATCH->HalTimerWatchdogTriggerSystemReset
 
#define HalInterruptVectorDataToGsiv   HALPRIVATEDISPATCH->HalInterruptVectorDataToGsiv
 
#define HalInterruptGetHighestPriorityInterrupt   HALPRIVATEDISPATCH->HalInterruptGetHighestPriorityInterrupt
 
#define HalProcessorOn   HALPRIVATEDISPATCH->HalProcessorOn
 
#define HalProcessorOff   HALPRIVATEDISPATCH->HalProcessorOff
 
#define HalProcessorFreeze   HALPRIVATEDISPATCH->HalProcessorFreeze
 
#define HalDmaLinkDeviceObjectByToken   HALPRIVATEDISPATCH->HalDmaLinkDeviceObjectByToken
 
#define HalDmaCheckAdapterToken   HALPRIVATEDISPATCH->HalDmaCheckAdapterToken
 
#define HalPciLateRestore   HALPRIVATEDISPATCH->HalPciLateRestore
 
#define HalTimerConvertPerformanceCounterToAuxiliaryCounter   HALPRIVATEDISPATCH->HalTimerConvertPerformanceCounterToAuxiliaryCounter
 
#define HalTimerConvertAuxiliaryCounterToPerformanceCounter   HALPRIVATEDISPATCH->HalTimerConvertAuxiliaryCounterToPerformanceCounter
 
#define HalTimerQueryAuxiliaryCounterFrequency   HALPRIVATEDISPATCH->HalTimerQueryAuxiliaryCounterFrequency
 
#define HalConnectThermalInterrupt   HALPRIVATEDISPATCH->HalConnectThermalInterrupt
 
#define HalIsEFIRuntimeActive   HALPRIVATEDISPATCH->HalIsEFIRuntimeActive
 
#define HalIommuSupportEnabled   HalIommuDispatch->HalIommuSupportEnabled
 
#define HalIommuGetConfiguration   HalIommuDispatch->HalIommuGetConfiguration
 
#define HalIommuGetLibraryContext   HalIommuDispatch->HalIommuGetLibraryContext
 
#define HalIommuMapDevice   HalIommuDispatch->HalIommuMapDevice
 
#define HalIommuEnableDevicePasid   HalIommuDispatch->HalIommuEnableDevicePasid
 
#define HalIommuSetAddressSpace   HalIommuDispatch->HalIommuSetAddressSpace
 
#define HalIommuDisableDevicePasid   HalIommuDispatch->HalIommuDisableDevicePasid
 
#define HalIommuUnmapDevice   HalIommuDispatch->HalIommuUnmapDevice
 
#define HalIommuFreeLibraryContext   HalIommuDispatch->HalIommuFreeLibraryContext
 
#define HalIommuFlushTb   HalIommuDispatch->HalIommuFlushTb
 
#define HalIommuFlushAllPasid   HalIommuDispatch->HalIommuFlushAllPasid
 
#define HalIommuProcessPageRequestQueue   HalIommuDispatch->HalIommuProcessPageRequestQueue
 
#define HalIommuFaultRoutine   HalIommuDispatch->HalIommuFaultRoutine
 
#define HalIommuReferenceAsid   HalIommuDispatch->HalIommuReferenceAsid
 
#define HalIommuDereferenceAsid   HalIommuDispatch->HalIommuDereferenceAsid
 
#define HalIommuServicePageFault   HalIommuDispatch->HalIommuServicePageFault
 
#define HalIommuDevicePowerChange   HalIommuDispatch->HalIommuDevicePowerChange
 

Functions

NTHALAPI VOID NTAPI HalDisplayString (_In_ PCSTR String)
 
NTHALAPI BOOLEAN NTAPI HalAllProcessorsStarted (VOID)
 
NTHALAPI VOID NTAPI HalReturnToFirmware (_In_ FIRMWARE_REENTRY Action)
 
NTHALAPI VOID NTAPI HalProcessorIdle (VOID)
 
NTHALAPI BOOLEAN NTAPI HalBeginSystemInterrupt (_In_ KIRQL Irql, _In_ ULONG Vector, _Out_ PKIRQL OldIrql)
 
NTHALAPI VOID FASTCALL HalClearSoftwareInterrupt (_In_ KIRQL Request)
 
NTHALAPI VOID NTAPI HalDisableSystemInterrupt (_In_ ULONG Vector, _In_ KIRQL Irql)
 
NTHALAPI BOOLEAN NTAPI HalEnableSystemInterrupt (_In_ ULONG Vector, _In_ KIRQL Irql, _In_ KINTERRUPT_MODE InterruptMode)
 
NTHALAPI VOID NTAPI HalEndSystemInterrupt (_In_ KIRQL Irql, _In_ UCHAR Vector)
 
NTHALAPI VOID NTAPI HalReportResourceUsage (VOID)
 
NTHALAPI VOID FASTCALL HalRequestSoftwareInterrupt (_In_ KIRQL SoftwareInterruptRequested)
 
NTHALAPI VOID NTAPI HalRequestIpi (_In_ KAFFINITY TargetSet)
 
NTHALAPI VOID NTAPI HalHandleNMI (PVOID NmiInfo)
 
NTHALAPI UCHAR FASTCALL HalSystemVectorDispatchEntry (_In_ ULONG Vector, _Out_ PKINTERRUPT_ROUTINE **FlatDispatch, _Out_ PKINTERRUPT_ROUTINE *NoConnection)
 
NTHALAPI NTSTATUS NTAPI HalAdjustResourceList (_Inout_ PIO_RESOURCE_REQUIREMENTS_LIST *pResourceList)
 
NTHALAPI VOID NTAPI HalStartProfileInterrupt (_In_ KPROFILE_SOURCE ProfileSource)
 
NTHALAPI VOID NTAPI HalStopProfileInterrupt (_In_ KPROFILE_SOURCE ProfileSource)
 
NTHALAPI ULONG_PTR NTAPI HalSetProfileInterval (_In_ ULONG_PTR Interval)
 
NTHALAPI BOOLEAN NTAPI HalQueryRealTimeClock (_In_ PTIME_FIELDS RtcTime)
 
NTHALAPI BOOLEAN NTAPI HalSetRealTimeClock (_In_ PTIME_FIELDS RtcTime)
 
NTHALAPI ULONG NTAPI HalSetTimeIncrement (_In_ ULONG Increment)
 
NTHALAPI NTSTATUS NTAPI x86BiosAllocateBuffer (_Inout_ ULONG *Size, _Out_ USHORT *Segment, _Out_ USHORT *Offset)
 
NTHALAPI NTSTATUS NTAPI x86BiosFreeBuffer (_In_ USHORT Segment, _In_ USHORT Offset)
 
NTHALAPI NTSTATUS NTAPI x86BiosReadMemory (_In_ USHORT Segment, _In_ USHORT Offset, _Out_writes_bytes_(Size) PVOID Buffer, _In_ ULONG Size)
 
NTHALAPI NTSTATUS NTAPI x86BiosWriteMemory (_In_ USHORT Segment, _In_ USHORT Offset, _In_reads_bytes_(Size) PVOID Buffer, _In_ ULONG Size)
 
NTHALAPI BOOLEAN NTAPI x86BiosCall (_In_ ULONG InterruptNumber, _Inout_ PX86_BIOS_REGISTERS Registers)
 

Macro Definition Documentation

◆ HalAcpiAoacCapable

#define HalAcpiAoacCapable   HALPRIVATEDISPATCH->HalAcpiAoacCapable

Definition at line 142 of file halfuncs.h.

◆ HalAcpiGetMultiNode

#define HalAcpiGetMultiNode   HALPRIVATEDISPATCH->HalAcpiGetMultiNode

Definition at line 152 of file halfuncs.h.

◆ HalAddInterruptRemapping

#define HalAddInterruptRemapping   HALPRIVATEDISPATCH->HalAddInterruptRemapping

Definition at line 114 of file halfuncs.h.

◆ HalAllocateEarlyPages

#define HalAllocateEarlyPages   HALPRIVATEDISPATCH->HalAllocateEarlyPages

Definition at line 98 of file halfuncs.h.

◆ HalAllocateGsivForSecondaryInterrupt

#define HalAllocateGsivForSecondaryInterrupt   HALPRIVATEDISPATCH->HalAllocateGsivForSecondaryInterrupt

Definition at line 113 of file halfuncs.h.

◆ HalAllocateMapRegisters

#define HalAllocateMapRegisters   HALPRIVATEDISPATCH->HalAllocateMapRegisters

Definition at line 47 of file halfuncs.h.

◆ HalAllocateMessageTargetOverride

#define HalAllocateMessageTargetOverride   HALPRIVATEDISPATCH->HalAllocateMessageTargetOverride

Definition at line 68 of file halfuncs.h.

◆ HalAllocatePmcCounterSet

#define HalAllocatePmcCounterSet   HALPRIVATEDISPATCH->HalAllocatePmcCounterSet

Definition at line 122 of file halfuncs.h.

◆ HalClockTimerActivate

#define HalClockTimerActivate   HALPRIVATEDISPATCH->HalClockTimerActivate

Definition at line 147 of file halfuncs.h.

◆ HalClockTimerArm

#define HalClockTimerArm   HALPRIVATEDISPATCH->HalClockTimerArm

Definition at line 150 of file halfuncs.h.

◆ HalClockTimerInitialize

#define HalClockTimerInitialize   HALPRIVATEDISPATCH->HalClockTimerInitialize

Definition at line 148 of file halfuncs.h.

◆ HalClockTimerStop

#define HalClockTimerStop   HALPRIVATEDISPATCH->HalClockTimerStop

Definition at line 149 of file halfuncs.h.

◆ HalCollectPmcCounters

#define HalCollectPmcCounters   HALPRIVATEDISPATCH->HalCollectPmcCounters

Definition at line 123 of file halfuncs.h.

◆ HalConnectThermalInterrupt

#define HalConnectThermalInterrupt   HALPRIVATEDISPATCH->HalConnectThermalInterrupt

Definition at line 173 of file halfuncs.h.

◆ HalDmaCheckAdapterToken

#define HalDmaCheckAdapterToken   HALPRIVATEDISPATCH->HalDmaCheckAdapterToken

Definition at line 168 of file halfuncs.h.

◆ HalDmaFreeCrashDumpRegisters

#define HalDmaFreeCrashDumpRegisters   HALPRIVATEDISPATCH->HalDmaFreeCrashDumpRegisters

Definition at line 141 of file halfuncs.h.

◆ HalDmaLinkDeviceObjectByToken

#define HalDmaLinkDeviceObjectByToken   HALPRIVATEDISPATCH->HalDmaLinkDeviceObjectByToken

Definition at line 167 of file halfuncs.h.

◆ HalDpGetInterruptReplayState

#define HalDpGetInterruptReplayState   HALPRIVATEDISPATCH->HalDpGetInterruptReplayState

Definition at line 90 of file halfuncs.h.

◆ HalDpMaskLevelTriggeredInterrupts

#define HalDpMaskLevelTriggeredInterrupts   HALPRIVATEDISPATCH->HalDpMaskLevelTriggeredInterrupts

Definition at line 88 of file halfuncs.h.

◆ HalDpReplaceBegin

#define HalDpReplaceBegin   HALPRIVATEDISPATCH->HalDpReplaceBegin

Definition at line 70 of file halfuncs.h.

◆ HalDpReplaceControl

#define HalDpReplaceControl   HALPRIVATEDISPATCH->HalDpReplaceControl

Definition at line 72 of file halfuncs.h.

◆ HalDpReplaceEnd

#define HalDpReplaceEnd   HALPRIVATEDISPATCH->HalDpReplaceEnd

Definition at line 73 of file halfuncs.h.

◆ HalDpReplaceTarget

#define HalDpReplaceTarget   HALPRIVATEDISPATCH->HalDpReplaceTarget

Definition at line 71 of file halfuncs.h.

◆ HalDpReplayInterrupts

#define HalDpReplayInterrupts   HALPRIVATEDISPATCH->HalDpReplayInterrupts

Definition at line 91 of file halfuncs.h.

◆ HalDpUnmaskLevelTriggeredInterrupts

#define HalDpUnmaskLevelTriggeredInterrupts   HALPRIVATEDISPATCH->HalDpUnmaskLevelTriggeredInterrupts

Definition at line 89 of file halfuncs.h.

◆ HalEnumerateUnmaskedInterrupts

#define HalEnumerateUnmaskedInterrupts   HALPRIVATEDISPATCH->HalEnumerateUnmaskedInterrupts

Definition at line 133 of file halfuncs.h.

◆ HalFindBusAddressTranslation

#define HalFindBusAddressTranslation   HALPRIVATEDISPATCH->HalFindBusAddressTranslation

Definition at line 44 of file halfuncs.h.

◆ HalFlushAndInvalidatePageExternalCache

#define HalFlushAndInvalidatePageExternalCache   HALPRIVATEDISPATCH->HalFlushAndInvalidatePageExternalCache

Definition at line 134 of file halfuncs.h.

◆ HalFlushExternalCache

#define HalFlushExternalCache   HALPRIVATEDISPATCH->HalFlushExternalCache

Definition at line 119 of file halfuncs.h.

◆ HalFlushIoBuffersExternalCache

#define HalFlushIoBuffersExternalCache   HALPRIVATEDISPATCH->HalFlushIoBuffersExternalCache

Definition at line 118 of file halfuncs.h.

◆ HalFlushIoRectangleExternalCache

#define HalFlushIoRectangleExternalCache   HALPRIVATEDISPATCH->HalFlushIoRectangleExternalCache

Definition at line 136 of file halfuncs.h.

◆ HalFreeMessageTargetOverride

#define HalFreeMessageTargetOverride   HALPRIVATEDISPATCH->HalFreeMessageTargetOverride

Definition at line 69 of file halfuncs.h.

◆ HalFreePmcCounterSet

#define HalFreePmcCounterSet   HALPRIVATEDISPATCH->HalFreePmcCounterSet

Definition at line 124 of file halfuncs.h.

◆ HalGetClockConfiguration [1/2]

#define HalGetClockConfiguration   HALPRIVATEDISPATCH->HalGetClockConfiguration

Definition at line 146 of file halfuncs.h.

◆ HalGetClockConfiguration [2/2]

#define HalGetClockConfiguration   HALPRIVATEDISPATCH->HalGetClockConfiguration

Definition at line 146 of file halfuncs.h.

◆ HalGetClockOwner

#define HalGetClockOwner   HALPRIVATEDISPATCH->HalGetClockOwner

Definition at line 101 of file halfuncs.h.

◆ HalGetEnlightenmentInformation

#define HalGetEnlightenmentInformation   HALPRIVATEDISPATCH->HalGetEnlightenmentInformation

Definition at line 97 of file halfuncs.h.

◆ HalGetInterruptVectorOverride

#define HalGetInterruptVectorOverride   HALPRIVATEDISPATCH->HalGetInterruptVectorOverride

Definition at line 61 of file halfuncs.h.

◆ HalGetNextTickDuration

#define HalGetNextTickDuration   HALPRIVATEDISPATCH->HalGetNextTickDuration

Definition at line 128 of file halfuncs.h.

◆ HalGetProcessorId

#define HalGetProcessorId   HALPRIVATEDISPATCH->HalGetProcessorId

Definition at line 121 of file halfuncs.h.

◆ HalGetVectorInputOverride

#define HalGetVectorInputOverride   HALPRIVATEDISPATCH->HalGetVectorInputOverride

Definition at line 62 of file halfuncs.h.

◆ HalHaltSystem

#define HalHaltSystem   HALPRIVATEDISPATCH->HalHaltSystem

Definition at line 43 of file halfuncs.h.

◆ HalHandlerForBus

#define HalHandlerForBus   HALPRIVATEDISPATCH->HalHandlerForBus

Definition at line 35 of file halfuncs.h.

◆ HalHandlerForConfigSpace

#define HalHandlerForConfigSpace   HALPRIVATEDISPATCH->HalHandlerForConfigSpace

Definition at line 36 of file halfuncs.h.

◆ HalInterruptGetHighestPriorityInterrupt

#define HalInterruptGetHighestPriorityInterrupt   HALPRIVATEDISPATCH->HalInterruptGetHighestPriorityInterrupt

Definition at line 163 of file halfuncs.h.

◆ HalInterruptSetDestination

#define HalInterruptSetDestination   HALPRIVATEDISPATCH->HalInterruptSetDestination

Definition at line 145 of file halfuncs.h.

◆ HalInterruptVectorDataToGsiv

#define HalInterruptVectorDataToGsiv   HALPRIVATEDISPATCH->HalInterruptVectorDataToGsiv

Definition at line 162 of file halfuncs.h.

◆ HalIommuDereferenceAsid

#define HalIommuDereferenceAsid   HalIommuDispatch->HalIommuDereferenceAsid

Definition at line 194 of file halfuncs.h.

◆ HalIommuDevicePowerChange

#define HalIommuDevicePowerChange   HalIommuDispatch->HalIommuDevicePowerChange

Definition at line 196 of file halfuncs.h.

◆ HalIommuDisableDevicePasid

#define HalIommuDisableDevicePasid   HalIommuDispatch->HalIommuDisableDevicePasid

Definition at line 186 of file halfuncs.h.

◆ HalIommuEnableDevicePasid

#define HalIommuEnableDevicePasid   HalIommuDispatch->HalIommuEnableDevicePasid

Definition at line 184 of file halfuncs.h.

◆ HalIommuFaultRoutine

#define HalIommuFaultRoutine   HalIommuDispatch->HalIommuFaultRoutine

Definition at line 192 of file halfuncs.h.

◆ HalIommuFlushAllPasid

#define HalIommuFlushAllPasid   HalIommuDispatch->HalIommuFlushAllPasid

Definition at line 190 of file halfuncs.h.

◆ HalIommuFlushTb

#define HalIommuFlushTb   HalIommuDispatch->HalIommuFlushTb

Definition at line 189 of file halfuncs.h.

◆ HalIommuFreeLibraryContext

#define HalIommuFreeLibraryContext   HalIommuDispatch->HalIommuFreeLibraryContext

Definition at line 188 of file halfuncs.h.

◆ HalIommuGetConfiguration

#define HalIommuGetConfiguration   HalIommuDispatch->HalIommuGetConfiguration

Definition at line 181 of file halfuncs.h.

◆ HalIommuGetLibraryContext

#define HalIommuGetLibraryContext   HalIommuDispatch->HalIommuGetLibraryContext

Definition at line 182 of file halfuncs.h.

◆ HalIommuMapDevice

#define HalIommuMapDevice   HalIommuDispatch->HalIommuMapDevice

Definition at line 183 of file halfuncs.h.

◆ HalIommuProcessPageRequestQueue

#define HalIommuProcessPageRequestQueue   HalIommuDispatch->HalIommuProcessPageRequestQueue

Definition at line 191 of file halfuncs.h.

◆ HalIommuReferenceAsid

#define HalIommuReferenceAsid   HalIommuDispatch->HalIommuReferenceAsid

Definition at line 193 of file halfuncs.h.

◆ HalIommuRegisterDispatchTable

#define HalIommuRegisterDispatchTable   HALPRIVATEDISPATCH->HalIommuRegisterDispatchTable

Definition at line 154 of file halfuncs.h.

◆ HalIommuServicePageFault

#define HalIommuServicePageFault   HalIommuDispatch->HalIommuServicePageFault

Definition at line 195 of file halfuncs.h.

◆ HalIommuSetAddressSpace

#define HalIommuSetAddressSpace   HalIommuDispatch->HalIommuSetAddressSpace

Definition at line 185 of file halfuncs.h.

◆ HalIommuSupportEnabled

#define HalIommuSupportEnabled   HalIommuDispatch->HalIommuSupportEnabled

Definition at line 180 of file halfuncs.h.

◆ HalIommuUnmapDevice

#define HalIommuUnmapDevice   HalIommuDispatch->HalIommuUnmapDevice

Definition at line 187 of file halfuncs.h.

◆ HalIsEFIRuntimeActive

#define HalIsEFIRuntimeActive   HALPRIVATEDISPATCH->HalIsEFIRuntimeActive

Definition at line 174 of file halfuncs.h.

◆ HalIsInterruptTypeSecondary

#define HalIsInterruptTypeSecondary   HALPRIVATEDISPATCH->HalIsInterruptTypeSecondary

Definition at line 112 of file halfuncs.h.

◆ HalLoadMicrocode

#define HalLoadMicrocode   HALPRIVATEDISPATCH->HalLoadMicrocode

Definition at line 63 of file halfuncs.h.

◆ HalLocateHiberRanges

#define HalLocateHiberRanges   HALPRIVATEDISPATCH->HalLocateHiberRanges

Definition at line 37 of file halfuncs.h.

◆ HalMapEarlyPages

#define HalMapEarlyPages   HALPRIVATEDISPATCH->HalMapEarlyPages

Definition at line 99 of file halfuncs.h.

◆ HalMaskInterrupt

#define HalMaskInterrupt   HALPRIVATEDISPATCH->HalMaskInterrupt

Definition at line 110 of file halfuncs.h.

◆ HalNotifyProcessorFreeze

#define HalNotifyProcessorFreeze   HALPRIVATEDISPATCH->HalNotifyProcessorFreeze

Definition at line 104 of file halfuncs.h.

◆ HalPciAssignSlotResources

#define HalPciAssignSlotResources   HALPRIVATEDISPATCH->HalPciAssignSlotResources

Definition at line 42 of file halfuncs.h.

◆ HalPciEarlyRestore

#define HalPciEarlyRestore   HALPRIVATEDISPATCH->HalPciEarlyRestore

Definition at line 120 of file halfuncs.h.

◆ HalPciLateRestore

#define HalPciLateRestore   HALPRIVATEDISPATCH->HalPciLateRestore

Definition at line 169 of file halfuncs.h.

◆ HalPciMarkHiberPhase

#define HalPciMarkHiberPhase   HALPRIVATEDISPATCH->HalPciMarkHiberPhase

Definition at line 130 of file halfuncs.h.

◆ HalPciMultiStageResumeCapable

#define HalPciMultiStageResumeCapable   HALPRIVATEDISPATCH->HalPciMultiStageResumeCapable

Definition at line 140 of file halfuncs.h.

◆ HalPciTranslateBusAddress

#define HalPciTranslateBusAddress   HALPRIVATEDISPATCH->HalPciTranslateBusAddress

Definition at line 41 of file halfuncs.h.

◆ HalPostMicrocodeUpdate

#define HalPostMicrocodeUpdate   HALPRIVATEDISPATCH->HalPostMicrocodeUpdate

Definition at line 65 of file halfuncs.h.

◆ HalPowerEarlyRestore

#define HalPowerEarlyRestore   HALPRIVATEDISPATCH->HalPowerEarlyRestore

Definition at line 137 of file halfuncs.h.

◆ HalPowerSetRebootHandler

#define HalPowerSetRebootHandler   HALPRIVATEDISPATCH->HalPowerSetRebootHandler

Definition at line 153 of file halfuncs.h.

◆ HalPrepareForBugcheck

#define HalPrepareForBugcheck   HALPRIVATEDISPATCH->HalPrepareForBugcheck

Definition at line 74 of file halfuncs.h.

◆ HalPrepareProcessorForIdle

#define HalPrepareProcessorForIdle   HALPRIVATEDISPATCH->HalPrepareProcessorForIdle

Definition at line 105 of file halfuncs.h.

◆ HalProcessorFreeze

#define HalProcessorFreeze   HALPRIVATEDISPATCH->HalProcessorFreeze

Definition at line 166 of file halfuncs.h.

◆ HalProcessorHalt

#define HalProcessorHalt   HALPRIVATEDISPATCH->HalProcessorHalt

Definition at line 125 of file halfuncs.h.

◆ HalProcessorOff

#define HalProcessorOff   HALPRIVATEDISPATCH->HalProcessorOff

Definition at line 165 of file halfuncs.h.

◆ HalProcessorOn

#define HalProcessorOn   HALPRIVATEDISPATCH->HalProcessorOn

Definition at line 164 of file halfuncs.h.

◆ HalQueryCapsuleCapabilities

#define HalQueryCapsuleCapabilities   HALPRIVATEDISPATCH->HalQueryCapsuleCapabilities

Definition at line 138 of file halfuncs.h.

◆ HalQueryIoPortAccessSupported

#define HalQueryIoPortAccessSupported   HALPRIVATEDISPATCH->HalQueryIoPortAccessSupported

Definition at line 92 of file halfuncs.h.

◆ HalQueryProcessorRestartEntryPoint

#define HalQueryProcessorRestartEntryPoint   HALPRIVATEDISPATCH->HalQueryProcessorRestartEntryPoint

Definition at line 131 of file halfuncs.h.

◆ HalQueryWakeTime

#define HalQueryWakeTime   HALPRIVATEDISPATCH->HalQueryWakeTime

Definition at line 77 of file halfuncs.h.

◆ HalReadWheaPhysicalMemory

#define HalReadWheaPhysicalMemory   HALPRIVATEDISPATCH->HalReadWheaPhysicalMemory

Definition at line 84 of file halfuncs.h.

◆ HalRegisterBusHandler

#define HalRegisterBusHandler   HALPRIVATEDISPATCH->HalRegisterBusHandler

Definition at line 38 of file halfuncs.h.

◆ HalRegisterLogRoutine

#define HalRegisterLogRoutine   HALPRIVATEDISPATCH->HalRegisterLogRoutine

Definition at line 106 of file halfuncs.h.

◆ HalRemoveInterruptRemapping

#define HalRemoveInterruptRemapping   HALPRIVATEDISPATCH->HalRemoveInterruptRemapping

Definition at line 115 of file halfuncs.h.

◆ HalReportIdleStateUsage

#define HalReportIdleStateUsage   HALPRIVATEDISPATCH->HalReportIdleStateUsage

Definition at line 78 of file halfuncs.h.

◆ HalRequestInterrupt

#define HalRequestInterrupt   HALPRIVATEDISPATCH->HalRequestInterrupt

Definition at line 132 of file halfuncs.h.

◆ HalResetDisplay

#define HalResetDisplay   HALPRIVATEDISPATCH->HalResetDisplay

Definition at line 45 of file halfuncs.h.

◆ HalRestoreHvEnlightenment

#define HalRestoreHvEnlightenment   HALPRIVATEDISPATCH->HalRestoreHvEnlightenment

Definition at line 117 of file halfuncs.h.

◆ HalResumeProcessorFromIdle

#define HalResumeProcessorFromIdle   HALPRIVATEDISPATCH->HalResumeProcessorFromIdle

Definition at line 107 of file halfuncs.h.

◆ HalSaveAndDisableHvEnlightenment

#define HalSaveAndDisableHvEnlightenment   HALPRIVATEDISPATCH->HalSaveAndDisableHvEnlightenment

Definition at line 116 of file halfuncs.h.

◆ HalSecondaryInterruptQueryPrimaryInformation

#define HalSecondaryInterruptQueryPrimaryInformation   HALPRIVATEDISPATCH->HalSecondaryInterruptQueryPrimaryInformation

Definition at line 109 of file halfuncs.h.

◆ HalSetWakeAlarm

#define HalSetWakeAlarm   HALPRIVATEDISPATCH->HalSetWakeAlarm

Definition at line 40 of file halfuncs.h.

◆ HalSetWakeEnable

#define HalSetWakeEnable   HALPRIVATEDISPATCH->HalSetWakeEnable

Definition at line 39 of file halfuncs.h.

◆ HalStopLegacyUsbInterrupts

#define HalStopLegacyUsbInterrupts   HALPRIVATEDISPATCH->HalStopLegacyUsbInterrupts

Definition at line 81 of file halfuncs.h.

◆ HalTimerConvertAuxiliaryCounterToPerformanceCounter

#define HalTimerConvertAuxiliaryCounterToPerformanceCounter   HALPRIVATEDISPATCH->HalTimerConvertAuxiliaryCounterToPerformanceCounter

Definition at line 171 of file halfuncs.h.

◆ HalTimerConvertPerformanceCounterToAuxiliaryCounter

#define HalTimerConvertPerformanceCounterToAuxiliaryCounter   HALPRIVATEDISPATCH->HalTimerConvertPerformanceCounterToAuxiliaryCounter

Definition at line 170 of file halfuncs.h.

◆ HalTimerOnlyClockInterruptPending

#define HalTimerOnlyClockInterruptPending   HALPRIVATEDISPATCH->HalTimerOnlyClockInterruptPending

Definition at line 151 of file halfuncs.h.

◆ HalTimerQueryAuxiliaryCounterFrequency

#define HalTimerQueryAuxiliaryCounterFrequency   HALPRIVATEDISPATCH->HalTimerQueryAuxiliaryCounterFrequency

Definition at line 172 of file halfuncs.h.

◆ HalTimerQueryCycleCounter

#define HalTimerQueryCycleCounter   HALPRIVATEDISPATCH->HalTimerQueryCycleCounter

Definition at line 126 of file halfuncs.h.

◆ HalTimerWatchdogGeneratedLastReset

#define HalTimerWatchdogGeneratedLastReset   HALPRIVATEDISPATCH->HalTimerWatchdogGeneratedLastReset

Definition at line 158 of file halfuncs.h.

◆ HalTimerWatchdogResetCountdown

#define HalTimerWatchdogResetCountdown   HALPRIVATEDISPATCH->HalTimerWatchdogResetCountdown

Definition at line 156 of file halfuncs.h.

◆ HalTimerWatchdogStart

#define HalTimerWatchdogStart   HALPRIVATEDISPATCH->HalTimerWatchdogStart

Definition at line 155 of file halfuncs.h.

◆ HalTimerWatchdogStop

#define HalTimerWatchdogStop   HALPRIVATEDISPATCH->HalTimerWatchdogStop

Definition at line 157 of file halfuncs.h.

◆ HalTimerWatchdogTriggerSystemReset

#define HalTimerWatchdogTriggerSystemReset   HALPRIVATEDISPATCH->HalTimerWatchdogTriggerSystemReset

Definition at line 159 of file halfuncs.h.

◆ HalTscSynchronization

#define HalTscSynchronization   HALPRIVATEDISPATCH->HalTscSynchronization

Definition at line 79 of file halfuncs.h.

◆ HalUnloadMicrocode

#define HalUnloadMicrocode   HALPRIVATEDISPATCH->HalUnloadMicrocode

Definition at line 64 of file halfuncs.h.

◆ HalUnmaskInterrupt

#define HalUnmaskInterrupt   HALPRIVATEDISPATCH->HalUnmaskInterrupt

Definition at line 111 of file halfuncs.h.

◆ HalUpdateCapsule

#define HalUpdateCapsule   HALPRIVATEDISPATCH->HalUpdateCapsule

Definition at line 139 of file halfuncs.h.

◆ HalVectorToIDTEntry

#define HalVectorToIDTEntry   HALPRIVATEDISPATCH->HalVectorToIDTEntry

Definition at line 54 of file halfuncs.h.

◆ HalVectorToIDTEntryEx

#define HalVectorToIDTEntryEx   HALPRIVATEDISPATCH->HalVectorToIDTEntryEx

Definition at line 108 of file halfuncs.h.

◆ HalWheaInitProcessorGenericSection

#define HalWheaInitProcessorGenericSection   HALPRIVATEDISPATCH->HalWheaInitProcessorGenericSection

Definition at line 80 of file halfuncs.h.

◆ HalWriteWheaPhysicalMemory

#define HalWriteWheaPhysicalMemory   HALPRIVATEDISPATCH->HalWriteWheaPhysicalMemory

Definition at line 85 of file halfuncs.h.

◆ KdCheckPowerButton

#define KdCheckPowerButton   HALPRIVATEDISPATCH->KdCheckPowerButton

Definition at line 53 of file halfuncs.h.

◆ KdEnumerateDebuggingDevices

#define KdEnumerateDebuggingDevices   HALPRIVATEDISPATCH->KdEnumerateDebuggingDevices

Definition at line 135 of file halfuncs.h.

◆ KdGetAcpiTablePhase0

#define KdGetAcpiTablePhase0   HALPRIVATEDISPATCH->KdGetAcpiTablePhase0

Definition at line 52 of file halfuncs.h.

◆ KdGetPciDataByOffset

#define KdGetPciDataByOffset   HALPRIVATEDISPATCH->KdGetPciDataByOffset

Definition at line 59 of file halfuncs.h.

◆ KdMapPhysicalMemory64

#define KdMapPhysicalMemory64   HALPRIVATEDISPATCH->KdMapPhysicalMemory64

Definition at line 55 of file halfuncs.h.

◆ KdReleaseIntegratedDeviceForDebugging

#define KdReleaseIntegratedDeviceForDebugging   HALPRIVATEDISPATCH->KdReleaseIntegratedDeviceForDebugging

Definition at line 96 of file halfuncs.h.

◆ KdReleasePciDeviceforDebugging

#define KdReleasePciDeviceforDebugging   HALPRIVATEDISPATCH->KdReleasePciDeviceforDebugging

Definition at line 51 of file halfuncs.h.

◆ KdSetPciDataByOffset

#define KdSetPciDataByOffset   HALPRIVATEDISPATCH->KdSetPciDataByOffset

Definition at line 60 of file halfuncs.h.

◆ KdSetupIntegratedDeviceForDebugging

#define KdSetupIntegratedDeviceForDebugging   HALPRIVATEDISPATCH->KdSetupIntegratedDeviceForDebugging

Definition at line 95 of file halfuncs.h.

◆ KdSetupPciDeviceForDebugging

#define KdSetupPciDeviceForDebugging   HALPRIVATEDISPATCH->KdSetupPciDeviceForDebugging

Definition at line 50 of file halfuncs.h.

◆ KdUnmapVirtualAddress

#define KdUnmapVirtualAddress   HALPRIVATEDISPATCH->KdUnmapVirtualAddress

Definition at line 56 of file halfuncs.h.

Function Documentation

◆ HalAdjustResourceList()

NTHALAPI NTSTATUS NTAPI HalAdjustResourceList ( _Inout_ PIO_RESOURCE_REQUIREMENTS_LIST pResourceList)

◆ HalAllProcessorsStarted()

NTHALAPI BOOLEAN NTAPI HalAllProcessorsStarted ( VOID  )

Definition at line 60 of file processor.c.

61{
62 /* Do nothing */
63 return TRUE;
64}
#define TRUE
Definition: types.h:120

Referenced by Phase1InitializationDiscard().

◆ HalBeginSystemInterrupt()

NTHALAPI BOOLEAN NTAPI HalBeginSystemInterrupt ( _In_ KIRQL  Irql,
_In_ ULONG  Vector,
_Out_ PKIRQL  OldIrql 
)

◆ HalClearSoftwareInterrupt()

NTHALAPI VOID FASTCALL HalClearSoftwareInterrupt ( _In_ KIRQL  Request)

◆ HalDisableSystemInterrupt()

NTHALAPI VOID NTAPI HalDisableSystemInterrupt ( _In_ ULONG  Vector,
_In_ KIRQL  Irql 
)

◆ HalDisplayString()

NTHALAPI VOID NTAPI HalDisplayString ( _In_ PCSTR  String)

Definition at line 31 of file display.c.

33{
34 /* Call the Inbv driver */
36}
BOOLEAN NTAPI InbvDisplayString(_In_ PCSTR String)
Definition: inbv.c:335
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
Definition: wdfdevice.h:2439

◆ HalEnableSystemInterrupt()

NTHALAPI BOOLEAN NTAPI HalEnableSystemInterrupt ( _In_ ULONG  Vector,
_In_ KIRQL  Irql,
_In_ KINTERRUPT_MODE  InterruptMode 
)

◆ HalEndSystemInterrupt()

NTHALAPI VOID NTAPI HalEndSystemInterrupt ( _In_ KIRQL  Irql,
_In_ UCHAR  Vector 
)

◆ HalHandleNMI()

NTHALAPI VOID NTAPI HalHandleNMI ( PVOID  NmiInfo)

◆ HalProcessorIdle()

NTHALAPI VOID NTAPI HalProcessorIdle ( VOID  )

Definition at line 83 of file processor.c.

84{
85 /* Enable interrupts and halt the processor */
86 _enable();
88 while (TRUE);
89}
#define UNIMPLEMENTED
Definition: ntoskrnl.c:15
void __cdecl _enable(void)
Definition: intrin_arm.h:373

Referenced by PopIdle0().

◆ HalQueryRealTimeClock()

NTHALAPI BOOLEAN NTAPI HalQueryRealTimeClock ( _In_ PTIME_FIELDS  RtcTime)

◆ HalReportResourceUsage()

NTHALAPI VOID NTAPI HalReportResourceUsage ( VOID  )

Definition at line 67 of file usage.c.

68{
69 UNICODE_STRING HalString;
70
71 /* Build HAL usage */
72 RtlInitUnicodeString(&HalString, L"ARM Versatile HAL");
74}
#define L(x)
Definition: resources.c:13
VOID NTAPI HalpReportResourceUsage(IN PUNICODE_STRING HalName, IN INTERFACE_TYPE InterfaceType)
Definition: usage.c:26
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
@ Internal
Definition: restypes.h:121

Referenced by Phase1InitializationDiscard().

◆ HalRequestIpi()

NTHALAPI VOID NTAPI HalRequestIpi ( _In_ KAFFINITY  TargetSet)

Definition at line 19 of file up.c.

21{
22 /* This should never be called in UP mode */
24}
void __cdecl __debugbreak(void)
Definition: intrin_ppc.h:698

◆ HalRequestSoftwareInterrupt()

NTHALAPI VOID FASTCALL HalRequestSoftwareInterrupt ( _In_ KIRQL  SoftwareInterruptRequested)

◆ HalReturnToFirmware()

NTHALAPI VOID NTAPI HalReturnToFirmware ( _In_ FIRMWARE_REENTRY  Action)

Definition at line 21 of file reboot.c.

23{
24 /* Check what kind of action this is */
25 switch (Action)
26 {
27 /* All recognized actions */
28 case HalHaltRoutine:
32 {
33 /* Acquire the display */
35 // TODO: Reboot
36 }
37
38 /* Anything else */
39 default:
40 {
41 /* Print message and break */
42 DbgPrint("HalReturnToFirmware called!\n");
44 }
45 }
46}
#define DbgPrint
Definition: hal.h:12
VOID NTAPI InbvAcquireDisplayOwnership(VOID)
Definition: inbv.c:293
@ HalRestartRoutine
Definition: haltypes.h:159
@ HalHaltRoutine
Definition: haltypes.h:157
@ HalPowerDownRoutine
Definition: haltypes.h:158
@ HalRebootRoutine
Definition: haltypes.h:160
_In_ WDFIOTARGET _In_ _Strict_type_match_ WDF_IO_TARGET_SENT_IO_ACTION Action
Definition: wdfiotarget.h:510
NTSYSAPI void WINAPI DbgBreakPoint(void)

Referenced by KdbpCmdReboot(), KdpSendWaitContinue(), KeBugCheckWithTf(), and PopShutdownSystem().

◆ HalSetProfileInterval()

NTHALAPI ULONG_PTR NTAPI HalSetProfileInterval ( _In_ ULONG_PTR  Interval)

Definition at line 58 of file profil.c.

60{
61 /*
62 * FIXME:
63 * 1) What is the maximum and minimum interrupt frequency for the RTC?
64 * 2) Find the maximum possible clock divisor value.
65 */
67
68 /* Update interval */
71
72 /* For now... */
73 return Interval;
74}
VOID NTAPI HalStartProfileInterrupt(_In_ KPROFILE_SOURCE ProfileSource)
Definition: profil.c:41
BOOLEAN HalpProfilingStopped
Definition: profil.c:17
DWORD Interval
Definition: netstat.c:30

◆ HalSetRealTimeClock()

NTHALAPI BOOLEAN NTAPI HalSetRealTimeClock ( _In_ PTIME_FIELDS  RtcTime)

Definition at line 279 of file cmos.c.

281{
282 UCHAR i, j;
283 UCHAR SysTime[6];
284
286
287 HalpRtcWriteCommand(RTC_CMD_REGISTER_SHIFT);
288
289 SysTime[0] = INT_BCD(Time->Second);
290 SysTime[1] = INT_BCD(Time->Minute);
291 SysTime[2] = INT_BCD(Time->Hour);
292 SysTime[3] = INT_BCD(Time->Day);
293 SysTime[4] = (Time->Month << 4) | (Time->Weekday & 0x0F);
294 SysTime[5] = INT_BCD(Time->Year % 100);
295
296 /* Write time fields to RTC */
297 for (i = 0; i < 6; i++)
298 {
299 for (j = 0; j < 8; j++)
300 HalpRtcWriteBit(SysTime[i] >> j);
301 }
302
303 HalpRtcWriteCommand(RTC_CMD_TIME_SET_COUNTER_HOLD);
304 HalpRtcWriteCommand(RTC_CMD_REGISTER_HOLD);
305
307
308 return TRUE;
309}
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
Definition: glfuncs.h:250
VOID NTAPI HalpReleaseCmosSpinLock(VOID)
Definition: spinlock.c:243
VOID NTAPI HalpAcquireCmosSpinLock(VOID)
Definition: spinlock.c:226
FORCEINLINE UCHAR INT_BCD(_In_ CSHORT Int)
Definition: halp.h:80
static PLARGE_INTEGER Time
Definition: time.c:105
#define RTC_CMD_REGISTER_HOLD
Definition: rtc.h:16
#define RTC_CMD_TIME_SET_COUNTER_HOLD
Definition: rtc.h:18
#define RTC_CMD_REGISTER_SHIFT
Definition: rtc.h:17
unsigned char UCHAR
Definition: xmlstorage.h:181

◆ HalSetTimeIncrement()

NTHALAPI ULONG NTAPI HalSetTimeIncrement ( _In_ ULONG  Increment)

◆ HalStartProfileInterrupt()

NTHALAPI VOID NTAPI HalStartProfileInterrupt ( _In_ KPROFILE_SOURCE  ProfileSource)

Definition at line 41 of file profil.c.

43{
44 UNREFERENCED_PARAMETER(ProfileSource);
45
47
49
50 /* Configure the clock divisor for generating periodic interrupts */
52
54}
#define FALSE
Definition: types.h:117
UCHAR HalpProfileRate
Definition: profil.c:18
PPC_QUAL void __outbyte(unsigned long const Port, const unsigned char Data)
Definition: intrin_ppc.h:605
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:329
#define RTC_IO_o_INT_CLOCK_DIVISOR
Definition: rtc.h:37

◆ HalStopProfileInterrupt()

NTHALAPI VOID NTAPI HalStopProfileInterrupt ( _In_ KPROFILE_SOURCE  ProfileSource)

Definition at line 24 of file profil.c.

26{
27 UNREFERENCED_PARAMETER(ProfileSource);
28
30
31 /* Clear the interrupt flag */
33
35
37}
#define VOID
Definition: acefi.h:82
PPC_QUAL unsigned char __inbyte(const unsigned long Port)
Definition: intrin_ppc.h:539
#define RTC_IO_i_INTERRUPT_RESET
Definition: rtc.h:44

◆ HalSystemVectorDispatchEntry()

NTHALAPI UCHAR FASTCALL HalSystemVectorDispatchEntry ( _In_ ULONG  Vector,
_Out_ PKINTERRUPT_ROUTINE **  FlatDispatch,
_Out_ PKINTERRUPT_ROUTINE NoConnection 
)

◆ x86BiosAllocateBuffer()

NTHALAPI NTSTATUS NTAPI x86BiosAllocateBuffer ( _Inout_ ULONG Size,
_Out_ USHORT Segment,
_Out_ USHORT Offset 
)

Definition at line 151 of file x86bios.c.

155{
156 /* Check if the system is initialized and the buffer is large enough */
158 {
159 /* Something was wrong, fail! */
161 }
162
163 /* Check if the buffer is already allocated */
165 {
166 /* Buffer was already allocated, fail */
168 }
169
170 /* The buffer is sufficient, return hardcoded address and size */
171 *Size = PAGE_SIZE;
173 *Offset = 0;
174
175 return STATUS_SUCCESS;
176}
#define PAGE_SIZE
Definition: env_spec_w32.h:49
#define InterlockedBitTestAndSet
Definition: interlocked.h:30
_In_ ULONG _In_ ULONG Offset
Definition: ntddpcm.h:101
#define STATUS_SUCCESS
Definition: shellext.h:65
#define STATUS_INSUFFICIENT_RESOURCES
Definition: udferr_usr.h:158
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4539
LONG x86BiosBufferIsAllocated
Definition: x86bios.c:23
BOOLEAN x86BiosIsInitialized
Definition: x86bios.c:22
ULONG64 x86BiosBufferPhysical
Definition: x86bios.c:27
_Inout_ PVOID Segment
Definition: exfuncs.h:1101

Referenced by IntInitializeX86Emu(), and IntInt10AllocateBufferEmu().

◆ x86BiosCall()

NTHALAPI BOOLEAN NTAPI x86BiosCall ( _In_ ULONG  InterruptNumber,
_Inout_ PX86_BIOS_REGISTERS  Registers 
)

Definition at line 410 of file x86bios.c.

413{
414 const ULONG StackBase = 0x2000;
415 FAST486_STATE EmulatorContext;
416 ULONG FlatIp;
417 PUCHAR InstructionPointer;
418
419 /* Initialize the emulator context */
423 x86IoRead,
425 x86BOP,
426 x86IntAck,
427 NULL, // FpuCallback,
428 NULL); // Tlb
429
430 /* Copy the GP registers */
431 EmulatorContext.GeneralRegs[FAST486_REG_EAX].Long = Registers->Eax;
432 EmulatorContext.GeneralRegs[FAST486_REG_EBX].Long = Registers->Ebx;
433 EmulatorContext.GeneralRegs[FAST486_REG_ECX].Long = Registers->Ecx;
434 EmulatorContext.GeneralRegs[FAST486_REG_EDX].Long = Registers->Edx;
435 EmulatorContext.GeneralRegs[FAST486_REG_ESI].Long = Registers->Esi;
436 EmulatorContext.GeneralRegs[FAST486_REG_EDI].Long = Registers->Edi;
437
438 /* Initialize segment registers */
439 Fast486SetSegment(&EmulatorContext, FAST486_REG_DS, Registers->SegDs);
440 Fast486SetSegment(&EmulatorContext, FAST486_REG_ES, Registers->SegEs);
441
442 /* Set Eflags */
443 EmulatorContext.Flags.Long = 0;
444 EmulatorContext.Flags.AlwaysSet = 1;
445 EmulatorContext.Flags.If = 1;
446
447 /* Set up the INT stub */
448 FlatIp = StackBase - 4;
449 InstructionPointer = x86BiosMemoryMapping + FlatIp;
450 InstructionPointer[0] = 0xCD; // INT instruction
451 InstructionPointer[1] = (UCHAR)InterruptNumber;
452 InstructionPointer[2] = 0x90; // NOP. We will stop at this address.
453
454 /* Set the stack pointer */
455 Fast486SetStack(&EmulatorContext, 0, StackBase - 8);
456
457 /* Start execution at the INT stub */
458 Fast486ExecuteAt(&EmulatorContext, 0x00, FlatIp);
459
460 while (TRUE)
461 {
462 /* Get the current flat IP */
463 FlatIp = (EmulatorContext.SegmentRegs[FAST486_REG_CS].Selector << 4) +
464 EmulatorContext.InstPtr.Long;
465
466 /* Make sure we haven't left the allowed memory range */
467 if (FlatIp >= 0x100000)
468 {
469 DPRINT1("x86BiosCall: invalid IP (0x%lx) during BIOS execution\n", FlatIp);
470 return FALSE;
471 }
472
473 /* Check if we returned from our int stub */
474 if (FlatIp == (StackBase - 2))
475 {
476 /* We are done! */
477 break;
478 }
479
480 /* Emulate one instruction */
482 }
483
484 /* Copy the registers back */
485 Registers->Eax = EmulatorContext.GeneralRegs[FAST486_REG_EAX].Long;
486 Registers->Ebx = EmulatorContext.GeneralRegs[FAST486_REG_EBX].Long;
487 Registers->Ecx = EmulatorContext.GeneralRegs[FAST486_REG_ECX].Long;
488 Registers->Edx = EmulatorContext.GeneralRegs[FAST486_REG_EDX].Long;
489 Registers->Esi = EmulatorContext.GeneralRegs[FAST486_REG_ESI].Long;
490 Registers->Edi = EmulatorContext.GeneralRegs[FAST486_REG_EDI].Long;
491 Registers->SegDs = EmulatorContext.SegmentRegs[FAST486_REG_DS].Selector;
492 Registers->SegEs = EmulatorContext.SegmentRegs[FAST486_REG_ES].Selector;
493
494 return TRUE;
495}
#define DPRINT1
Definition: precomp.h:8
#define NULL
Definition: types.h:112
VOID NTAPI Fast486SetStack(PFAST486_STATE State, USHORT Segment, ULONG Offset)
Definition: fast486.c:227
VOID NTAPI Fast486Initialize(PFAST486_STATE State, FAST486_MEM_READ_PROC MemReadCallback, FAST486_MEM_WRITE_PROC MemWriteCallback, FAST486_IO_READ_PROC IoReadCallback, FAST486_IO_WRITE_PROC IoWriteCallback, FAST486_BOP_PROC BopCallback, FAST486_INT_ACK_PROC IntAckCallback, FAST486_FPU_PROC FpuCallback, PULONG Tlb)
Definition: fast486.c:103
VOID NTAPI Fast486SetSegment(PFAST486_STATE State, FAST486_SEG_REGS Segment, USHORT Selector)
Definition: fast486.c:242
VOID NTAPI Fast486ExecuteAt(PFAST486_STATE State, USHORT Segment, ULONG Offset)
Definition: fast486.c:212
if(dx< 0)
Definition: linetemp.h:194
VOID NTAPI Fast486StepInto(PFAST486_STATE State)
Definition: debug.c:248
FAST486_STATE EmulatorContext
Definition: cpu.c:39
unsigned char * PUCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
static VOID FASTCALL x86IoRead(PFAST486_STATE State, USHORT Port, PVOID Buffer, ULONG DataCount, UCHAR DataSize)
Definition: x86bios.c:343
static VOID FASTCALL x86MemWrite(PFAST486_STATE State, ULONG Address, PVOID Buffer, ULONG Size)
Definition: x86bios.c:280
static VOID FASTCALL x86MemRead(PFAST486_STATE State, ULONG Address, PVOID Buffer, ULONG Size)
Definition: x86bios.c:259
PUCHAR x86BiosMemoryMapping
Definition: x86bios.c:24
static UCHAR FASTCALL x86IntAck(PFAST486_STATE State)
Definition: x86bios.c:401
static VOID FASTCALL x86IoWrite(PFAST486_STATE State, USHORT Port, PVOID Buffer, ULONG DataCount, UCHAR DataSize)
Definition: x86bios.c:367
static VOID FASTCALL x86BOP(PFAST486_STATE State, UCHAR BopCode)
Definition: x86bios.c:391

Referenced by IntInitializeX86Emu(), and IntInt10CallBiosEmu().

◆ x86BiosFreeBuffer()

NTHALAPI NTSTATUS NTAPI x86BiosFreeBuffer ( _In_ USHORT  Segment,
_In_ USHORT  Offset 
)

Definition at line 180 of file x86bios.c.

183{
184 /* Check if the system is initialized and if the address matches */
185 if (!x86BiosIsInitialized || (Segment != 0x2000) || (Offset != 0))
186 {
187 /* Something was wrong, fail */
189 }
190
191 /* Check if the buffer was allocated */
193 {
194 /* It was not, fail */
196 }
197
198 /* Buffer is freed, nothing more to do */
199 return STATUS_SUCCESS;
200}
#define InterlockedBitTestAndReset
Definition: interlocked.h:35
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135

Referenced by IntInitializeX86Emu(), and IntInt10FreeBufferEmu().

◆ x86BiosReadMemory()

NTHALAPI NTSTATUS NTAPI x86BiosReadMemory ( _In_ USHORT  Segment,
_In_ USHORT  Offset,
_Out_writes_bytes_(Size) PVOID  Buffer,
_In_ ULONG  Size 
)

Definition at line 204 of file x86bios.c.

209{
211
212 /* Calculate the physical address */
213 Address = (Segment << 4) + Offset;
214
215 /* Check if it's valid */
216 if (!x86BiosIsInitialized || ((Address + Size) > 0x100000))
217 {
218 /* Invalid */
220 }
221
222 /* Copy the memory to the buffer */
224
225 /* Return success */
226 return STATUS_SUCCESS;
227}
Definition: bufpool.h:45
static WCHAR Address[46]
Definition: ping.c:68
#define RtlCopyMemory(Destination, Source, Length)
Definition: typedefs.h:263
uint32_t ULONG_PTR
Definition: typedefs.h:65

Referenced by IntInitializeX86Emu(), and IntInt10ReadMemoryEmu().

◆ x86BiosWriteMemory()

NTHALAPI NTSTATUS NTAPI x86BiosWriteMemory ( _In_ USHORT  Segment,
_In_ USHORT  Offset,
_In_reads_bytes_(Size) PVOID  Buffer,
_In_ ULONG  Size 
)

Definition at line 231 of file x86bios.c.

236{
238
239 /* Calculate the physical address */
240 Address = (Segment << 4) + Offset;
241
242 /* Check if it's valid */
243 if (!x86BiosIsInitialized || ((Address + Size) > 0x100000))
244 {
245 /* Invalid */
247 }
248
249 /* Copy the memory from the buffer */
251
252 /* Return success */
253 return STATUS_SUCCESS;
254}

Referenced by IntInitializeX86Emu(), and IntInt10WriteMemoryEmu().