LIBRARY HAL

EXPORTS

#if !defined(NO_LEGACY_DRIVERS)

    HalGetInterruptVector
    HalAdjustResourceList
    HalAssignSlotResources
    HalAcquireDisplayOwnership
    HalDisplayString
    HalSetDisplayParameters
    HalQueryDisplayParameters
    HalMakeBeep
    HalGetAdapter
    HalGetBusData
    HalSetBusData
    HalAllocateAdapterChannel
    HalAllocateCommonBuffer
    HalFlushCommonBuffer
    HalFreeCommonBuffer
    HalReadDmaCounter
    IoFlushAdapterBuffers
    IoFreeAdapterChannel
    IoFreeMapRegisters
    IoMapTransfer
    IoSetPartitionInformation=HalpSetPartitionInformation PRIVATE
    IoReadPartitionTable=HalpReadPartitionTable           PRIVATE
    IoWritePartitionTable=HalpWritePartitionTable         PRIVATE
    IoAssignDriveLetters=HalpAssignDriveLetters           PRIVATE

#endif // NO_LEGACY_DRIVERS

    //
    // We should eliminate these legacy interfaces from AXP64/WIN64 too,
    // but not possible now...
    //
#if 1
    HalSetBusDataByOffset // MGA_MIL/VIDEOPRT
    HalGetBusDataByOffset // MGA_MIL/VIDEOPRT
#endif

    HalAllocateCrashDumpRegisters
    HalAllProcessorsStarted
    HalCalibratePerformanceCounter
    HalDisableSystemInterrupt
    HalEnableSystemInterrupt
    HalGetEnvironmentVariable
    HalInitializeProcessor
    HalInitSystem
    HalProcessorIdle
    HalQueryRealTimeClock
    HalReportResourceUsage
    HalRequestIpi
    HalReturnToFirmware
    HalSetEnvironmentVariable
    HalSetProfileInterval
    HalSetRealTimeClock
    HalSetTimeIncrement
    HalStartNextProcessor
    HalStartProfileInterrupt
    HalStopProfileInterrupt
    HalTranslateBusAddress

    KeFlushWriteBuffer
    KeQueryPerformanceCounter
    KeStallExecutionProcessor

#if defined(_X86_)

    KeRaiseIrql
    KeLowerIrql
    KfRaiseIrql
    KfLowerIrql
    KeRaiseIrqlToDpcLevel
    KeRaiseIrqlToSynchLevel
    KeGetCurrentIrql
    KeAcquireSpinLock
    KeReleaseSpinLock
    KfAcquireSpinLock
    KfReleaseSpinLock
    KeAcquireSpinLockRaiseToSynch
    KeAcquireQueuedSpinLock
    KeAcquireQueuedSpinLockRaiseToSynch
    KeReleaseQueuedSpinLock
    KeAcquireInStackQueuedSpinLock
    KeAcquireInStackQueuedSpinLockRaiseToSynch
    KeReleaseInStackQueuedSpinLock
    KeTryToAcquireQueuedSpinLock
    KeTryToAcquireQueuedSpinLockRaiseToSynch
    ExAcquireFastMutex
    ExTryToAcquireFastMutex
    ExReleaseFastMutex

#endif // defined(_X86_)

#if defined(_X86_) || defined(_AMD64_)

    HalClearSoftwareInterrupt
    HalRequestSoftwareInterrupt
    HalSystemVectorDispatchEntry
    HalBeginSystemInterrupt
    HalEndSystemInterrupt
    HalHandleNMI

#endif // defined(_X86_) || defined(_AMD64_)

#if defined(_AMD64_)

    HalHandleMachineCheck

#endif

#if defined(_X86_)

    READ_PORT_UCHAR
    READ_PORT_USHORT
    READ_PORT_ULONG
    READ_PORT_BUFFER_UCHAR
    READ_PORT_BUFFER_USHORT
    READ_PORT_BUFFER_ULONG
    WRITE_PORT_UCHAR
    WRITE_PORT_USHORT
    WRITE_PORT_ULONG
    WRITE_PORT_BUFFER_UCHAR
    WRITE_PORT_BUFFER_USHORT
    WRITE_PORT_BUFFER_ULONG

#endif // defined(_X86_)

#if defined(IA64)

    READ_PORT_UCHAR
    READ_PORT_USHORT
    READ_PORT_ULONG
    READ_PORT_BUFFER_UCHAR
    READ_PORT_BUFFER_USHORT
    READ_PORT_BUFFER_ULONG
    WRITE_PORT_UCHAR
    WRITE_PORT_USHORT
    WRITE_PORT_ULONG
    WRITE_PORT_ULONG_SPECIAL
    READ_PORT_ULONG_SPECIAL
    WRITE_PORT_BUFFER_UCHAR
    WRITE_PORT_BUFFER_USHORT
    WRITE_PORT_BUFFER_ULONG
    HalGetDmaAlignmentRequirement
    HalChangeColorPage
    HalFlushIoBuffers
    HalCallBios
    HalEOITable CONSTANT
    HalPxbTcap CONSTANT
    HalSweepDcache
    HalSweepDcacheRange
    HalSweepIcache
    HalSweepIcacheRange
    HalSweepCacheRange
    HalCallPal
    HalFpEmulate

    HalGetEnvironmentVariableEx
    HalSetEnvironmentVariableEx
    HalEnumerateEnvironmentVariablesEx

#endif

    KdComPortInUse CONSTANT             // *TEMPTEMP* - remove when cfgmgr works
