Source code of Windows XP (NT5)
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.

300 lines
3.1 KiB

  1. /*++
  2. Copyright (c) 1996 Intel Corporation
  3. Copyright (c) 1994 Microsoft Corporation
  4. Module Name:
  5. i64bios.c copied from hali64\x86bios.c
  6. Abstract:
  7. This module implements the platform specific interface between a device
  8. driver and the execution of x86 ROM bios code for the device.
  9. Author:
  10. William K. Cheung (wcheung) 20-Mar-1996
  11. based on the version by David N. Cutler (davec) 17-Jun-1994
  12. Environment:
  13. Kernel mode only.
  14. Revision History:
  15. --*/
  16. #include "halp.h"
  17. //
  18. // Define global data.
  19. //
  20. ULONG HalpX86BiosInitialized = FALSE;
  21. ULONG HalpEnableInt10Calls = FALSE;
  22. ULONG
  23. HalpSetCmosData (
  24. IN PVOID BusHandler,
  25. IN PVOID RootHandler,
  26. IN ULONG SlotNumber,
  27. IN PVOID Buffer,
  28. IN ULONG Offset,
  29. IN ULONG Length
  30. )
  31. /*++
  32. Routine Description:
  33. Arguements:
  34. Return Value:
  35. --*/
  36. {
  37. return 0;
  38. }
  39. ULONG
  40. HalpGetCmosData (
  41. IN ULONG BusNumber,
  42. IN ULONG SlotNumber,
  43. IN PVOID Buffer,
  44. IN ULONG Length
  45. )
  46. /*++
  47. Routine Description:
  48. Arguements:
  49. Return Value:
  50. --*/
  51. {
  52. return 0;
  53. }
  54. VOID
  55. HalpAcquireCmosSpinLock (
  56. VOID
  57. )
  58. /*++
  59. Routine Description:
  60. Arguements:
  61. Return Value:
  62. --*/
  63. {
  64. return;
  65. }
  66. VOID
  67. HalpReleaseCmosSpinLock (
  68. VOID
  69. )
  70. /*++
  71. Routine Description:
  72. Arguements:
  73. Return Value:
  74. --*/
  75. {
  76. return ;
  77. }
  78. HAL_DISPLAY_BIOS_INFORMATION
  79. HalpGetDisplayBiosInformation (
  80. VOID
  81. )
  82. /*++
  83. Routine Description:
  84. Arguements:
  85. Return Value:
  86. --*/
  87. {
  88. return 8;
  89. }
  90. VOID
  91. HalpInitializeCmos (
  92. VOID
  93. )
  94. /*++
  95. Routine Description:
  96. Arguements:
  97. Return Value:
  98. --*/
  99. {
  100. return ;
  101. }
  102. VOID
  103. HalpReadCmosTime (
  104. PTIME_FIELDS TimeFields
  105. )
  106. /*++
  107. Routine Description:
  108. Arguements:
  109. Return Value:
  110. --*/
  111. {
  112. return ;
  113. }
  114. VOID
  115. HalpWriteCmosTime (
  116. PTIME_FIELDS TimeFields
  117. )
  118. /*++
  119. Routine Description:
  120. Arguements:
  121. Return Value:
  122. --*/
  123. {
  124. return;
  125. }
  126. VOID
  127. HalpBiosDisplayReset (
  128. VOID
  129. )
  130. /*++
  131. Routine Description:
  132. Arguements:
  133. Return Value:
  134. --*/
  135. {
  136. return;
  137. }
  138. VOID
  139. HalpInitializeX86DisplayAdapter(
  140. VOID
  141. )
  142. /*++
  143. Routine Description:
  144. This function initializes a display adapter using the x86 bios emulator.
  145. Arguments:
  146. None.
  147. Return Value:
  148. None.
  149. --*/
  150. {
  151. #if 0
  152. //
  153. // If I/O Ports or I/O memory could not be mapped, then don't
  154. // attempt to initialize the display adapter.
  155. //
  156. if (HalpIoControlBase == NULL || HalpIoMemoryBase == NULL) {
  157. return;
  158. }
  159. //
  160. // Initialize the x86 bios emulator.
  161. //
  162. x86BiosInitializeBios(HalpIoControlBase, HalpIoMemoryBase);
  163. HalpX86BiosInitialized = TRUE;
  164. //
  165. // Attempt to initialize the display adapter by executing its ROM bios
  166. // code. The standard ROM bios code address for PC video adapters is
  167. // 0xC000:0000 on the ISA bus.
  168. //
  169. if (x86BiosInitializeAdapter(0xc0000,
  170. NULL,
  171. (PVOID)HalpIoControlBase,
  172. (PVOID)HalpIoMemoryBase) != XM_SUCCESS) {
  173. HalpEnableInt10Calls = FALSE;
  174. return;
  175. }
  176. #endif
  177. HalpEnableInt10Calls = TRUE;
  178. return;
  179. }