Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

192 lines
2.4 KiB

4 years ago
  1. /*++ BUILD Version: 0003 // Increment this if a change has global effects
  2. Copyright (c) 1991-1993 Microsoft Corporation
  3. Module Name:
  4. halp.h
  5. Abstract:
  6. This header file defines the private Hardware Architecture Layer (HAL)
  7. interfaces.
  8. Author:
  9. David N. Cutler (davec) 25-Apr-1991
  10. Revision History:
  11. --*/
  12. #ifndef _HALP_
  13. #define _HALP_
  14. #if defined(NT_UP)
  15. #undef NT_UP
  16. #endif
  17. #include "nthal.h"
  18. #if defined(_DUO_)
  19. #include "duodma.h"
  20. #include "duodef.h"
  21. #include "duoint.h"
  22. #endif
  23. #if defined(_JAZZ_)
  24. #include "jazzdma.h"
  25. #include "jazzdef.h"
  26. #include "jazzint.h"
  27. #endif
  28. #include "hal.h"
  29. #include "jxhalp.h"
  30. #if defined(USE_BIOS_EMULATOR)
  31. #include "xm86.h"
  32. #include "x86new.h"
  33. #endif
  34. //
  35. // Define function prototypes.
  36. //
  37. PADAPTER_OBJECT
  38. HalpAllocateAdapter(
  39. IN ULONG MapRegistersPerChannel,
  40. IN PVOID AdapterBaseVa,
  41. IN PVOID MapRegisterBase
  42. );
  43. ULONG
  44. HalpAllocateTbEntry (
  45. VOID
  46. );
  47. VOID
  48. HalpFreeTbEntry (
  49. VOID
  50. );
  51. VOID
  52. HalpCacheErrorRoutine (
  53. VOID
  54. );
  55. BOOLEAN
  56. HalpCalibrateStall (
  57. VOID
  58. );
  59. VOID
  60. HalpClockInterrupt0 (
  61. VOID
  62. );
  63. VOID
  64. HalpClockInterrupt1 (
  65. VOID
  66. );
  67. BOOLEAN
  68. HalpCreateDmaStructures (
  69. VOID
  70. );
  71. BOOLEAN
  72. HalpDmaDispatch(
  73. IN PKINTERRUPT Interrupt,
  74. IN PVOID ServiceContext
  75. );
  76. BOOLEAN
  77. HalpInitializeDisplay0 (
  78. IN PLOADER_PARAMETER_BLOCK LoaderBlock
  79. );
  80. BOOLEAN
  81. HalpInitializeDisplay1 (
  82. IN PLOADER_PARAMETER_BLOCK LoaderBlock
  83. );
  84. BOOLEAN
  85. HalpInitializeInterrupts (
  86. VOID
  87. );
  88. VOID
  89. HalpIpiInterrupt (
  90. VOID
  91. );
  92. BOOLEAN
  93. HalpMapFixedTbEntries (
  94. VOID
  95. );
  96. BOOLEAN
  97. HalpMapIoSpace (
  98. VOID
  99. );
  100. VOID
  101. HalpProfileInterrupt (
  102. VOID
  103. );
  104. #if defined(R4000)
  105. ULONG
  106. HalpReadCountRegister (
  107. VOID
  108. );
  109. ULONG
  110. HalpWriteCompareRegisterAndClear (
  111. IN ULONG Value
  112. );
  113. #endif
  114. VOID
  115. HalpStallInterrupt (
  116. VOID
  117. );
  118. VOID
  119. HalpInitializeX86DisplayAdapter(
  120. VOID
  121. );
  122. VOID
  123. HalpResetX86DisplayAdapter(
  124. VOID
  125. );
  126. //
  127. // Define external references.
  128. //
  129. extern KSPIN_LOCK HalpBeepLock;
  130. extern USHORT HalpBuiltinInterruptEnable;
  131. extern ULONG HalpCurrentTimeIncrement;
  132. extern KSPIN_LOCK HalpDisplayAdapterLock;
  133. extern KAFFINITY HalpEisaBusAffinity;
  134. extern ULONG HalpNextIntervalCount;
  135. extern ULONG HalpNextTimeIncrement;
  136. extern ULONG HalpNewTimeIncrement;
  137. extern ULONG HalpProfileCountRate;
  138. extern ULONG HalpStallScaleFactor;
  139. extern KSPIN_LOCK HalpSystemInterruptLock;
  140. #endif // _HALP_