home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ddkx86v5.zip / DDKX86 / SRC / DOS / DOSINC / DOSHLP.INC < prev    next >
Text File  |  1995-04-14  |  8KB  |  316 lines

  1. ;*DDK*************************************************************************/
  2. ;
  3. ; COPYRIGHT    Copyright (C) 1995 IBM Corporation
  4. ;
  5. ;    The following IBM OS/2 WARP source code is provided to you solely for
  6. ;    the purpose of assisting you in your development of OS/2 WARP device
  7. ;    drivers. You may use this code in accordance with the IBM License
  8. ;    Agreement provided in the IBM Device Driver Source Kit for OS/2. This
  9. ;    Copyright statement may not be removed.;
  10. ;*****************************************************************************/
  11. _1KB    EQU    (1 *1024 )     
  12. _64KB    EQU    (64 *_1KB)     
  13. _128KB    EQU    (2 *_64KB)     
  14. _640KB    EQU    (10 *_64KB)    
  15. _1MEGB    EQU    (_1KB*_1KB)    
  16. _4MEGB    EQU    (4 *_1MEGB)    
  17. _16MEGB    EQU    (16 *_1MEGB)   
  18. _64MEGB    EQU    (64 *_1MEGB)   
  19. _4GB    EQU    (0 )           
  20. PARASHIFT    EQU    4          
  21. PARASIZE    EQU    (1   SHL  PARASHIFT)    
  22. PARAMASK    EQU    (PARASIZE - 1 )
  23. NUMPARAIN64K    EQU    (1   SHL  (16  - PARASHIFT)) 
  24. SECTSHIFT    EQU    9          
  25. SECTSIZE    EQU    (1   SHL  SECTSHIFT)    
  26. SECTMASK    EQU    (SECTSIZE - 1 )
  27. HardwareInterruptFlagSize    EQU    02H 
  28. CFG_MCA    EQU    01H 
  29. CFG_EISA    EQU    02H 
  30. CFG_ABIOS_SUPPORTED    EQU    04H 
  31. CFG_ABIOS_PRESENT    EQU    08H 
  32. CFG_PCI    EQU    10H   
  33. CFG_OEM_ABIOS    EQU    20H   
  34. CFG_IBM_ABIOS    EQU    000Q   
  35. CFG_PENTIUM_CPU    EQU    40H   
  36. CFG_PROTECTONLY    EQU    08H 
  37. MACH_NONE    EQU    00H       
  38. MACH_COMPAQ    EQU    01H       
  39. FT_MCA    EQU    02H 
  40. FT_MCA_AND_AT    EQU    01H 
  41. DHSTAT_DISCARDED    EQU    01H 
  42. DHSTAT_RELOCATED    EQU    02H 
  43. DHSTAT_MSG_LOADED    EQU    04H 
  44. PIC1_EOI_MASK    EQU    60H   
  45. PIC2_EOI    EQU    62H   
  46. DH_IRQ_OUT_OF_RANGE    EQU    01H  
  47. NPX287_BUSY_PORT    EQU    0F0H    
  48. NPX287_REAL_PORT    EQU    0F1H    
  49. IRQ_NPX    EQU    13        
  50. NPX_287    EQU    0     
  51. NPX_387    EQU    1     
  52. OFF    EQU    0 
  53. ON    EQU    1 
  54. CFGAX_NPX_PRESENT    EQU    80H 
  55. CFGAX_PS2_CENTURY_BYTE    EQU    10H             
  56. IVTLEN    EQU    (4  * 7FH )  
  57. DefDosHlp   MACRO dhfunction
  58.    extrn DH&dhfunction:far
  59.    DHtmp = offset $ - offset DosHlpFunctions
  60.    .errnz   (DHtmp - DosHlp&dhfunction)
  61.    dw DH&dhfunction
  62.    dw DOSHLP_CODESEL
  63.       ENDM
  64.  
  65. DefDiscDosHlp  MACRO dhfunction
  66.    extrn DH&dhfunction:far
  67.    DHtmp = offset $ - offset DosHlpFunctions
  68.    .errnz   (DHtmp - DosHlp&dhfunction)
  69.    dw DH&dhfunction
  70.    dw DOSHLP_CODESEL + 10H
  71.       ENDM
  72.  
  73. selSysInitCode EQU   110h
  74. selSysInitData EQU   118h
  75.  
  76. DOSHLPVERSION    EQU    9 
  77. TABLE_VERSION_SIZE    EQU    2 
  78.  
  79. DosHlpFunction    STRUC
  80. TableVersion    DW    ?
  81. DosHlpInit    DD    ?
  82. DosHlpReboot    DD    ?
  83. DosHlpNMI    DD    ?
  84. DosHlpSizeMem    DD    ?
  85. DosHlpConfig    DD    ?
  86. DosHlpBaseDDList    DD    ?
  87. DosHlpGetDriveParms    DD    ?
  88. DosHlpInitSystemDump    DD    ?
  89. DosHlpSystemDump    DD    ?
  90. DosHlpReadSectors    DD    ?
  91. DosHlpSerInit    DD    ?
  92. DosHlpSetBaudRate    DD    ?
  93. DosHlpSerIn    DD    ?
  94. DosHlpSerOut    DD    ?
  95. DosHlpToneOn    DD    ?
  96. DosHlpToneOff    DD    ?
  97. DosHlpGetMask    DD    ?
  98. DosHlpSetMask    DD    ?
  99. DosHlpSetRealMask    DD    ?
  100. DosHlpSetProtMask    DD    ?
  101. DosHlpCallInt10    DD    ?
  102. DosHlpProtGetMessage    DD    ?
  103. DosHlpRealGetMessage    DD    ?
  104. DosHlpRegisterTmrDD    DD    ?
  105. DosHlpTmr16QueryTime    DD    ?
  106. DosHlpEnableWatchdogNMI    DD    ?
  107. DosHlpDisableWatchdogNMI    DD    ?
  108. DosHlpInstallIRET    DD    ?
  109. DosHlpDiscard    DD    ?
  110. DosHlpInitInterrupts    DD    ?
  111. DosHlpSetIRQMask    DD    ?
  112. DosHlpSendEOI    DD    ?
  113. DosHlpTmr32QueryTime    DD    ?
  114. DosHlpTmrSetRollover    DD    ?
  115. DosHlpInitNPX    DD    ?
  116. DosHlpClrBusyNPX    DD    ?
  117. DosHlpAckIntNPX    DD    ?
  118. DosHlpWaitNPX    DD    ?
  119. DosHlpValidNPXSwitch    DD    ?
  120. DosHlpVNPXReset    DD    ?
  121. DosHlpVNPXClrBusy    DD    ?
  122. DosHlpWhyNMI    DD    ?
  123. DosHlpAckNMI    DD    ?
  124. DosHlpResetWatchdogNMI    DD    ?
  125. DosHlpDisableCache    DD    ?
  126. DosHlpFindParity    DD    ?
  127. DosHlpEnableCache    DD    ?
  128. DosHlpGetErrorLogPtr    DD    ?
  129. DosHlpWriteErrorLog    DD    ?
  130. DosHlpReadErrorLog    DD    ?
  131. DosHlpResetParity    DD    ?
  132. DosHlpFunction    ENDS
  133.  
  134. EndKernelAccessTable MACRO
  135.    KFtmp = offset $ - offset KernelAccessTable
  136.    .errnz   (KFtmp - SIZE KernelAccess)
  137.       ENDM
  138.  
  139.  
  140. KernelAccess    STRUC
  141. KernelAllocGDT    DD    ?
  142. KernelPhysToGDT    DD    ?
  143. KernelGotoReal    DD    ?
  144. KernelGotoProt    DD    ?
  145. KernelSetSSBase    DD    ?
  146. KernelIRQRouter    DD    ?
  147. KernelVirtToLin    DD    ?
  148. Kernel_IDT    DW    ?
  149. KernelNMICount    DD    ?
  150. Kernel_LoaderIOCTLWorker    DD    ?
  151. KernelSetSSBase1    DD    ?
  152. KernelAccess    ENDS
  153.  
  154.  
  155. Int15c7Table    STRUC
  156. ByteLength    DW    ?
  157. LocHiMem    DD    ?
  158. LocExMem    DD    ?
  159. SysHiMem    DD    ?
  160. SysExMem    DD    ?
  161. CacHiMem    DD    ?
  162. CacExMem    DD    ?
  163. PadHiMem    DD    ?
  164. PadExMem    DD    ?
  165. Reserved1    DW    2 DUP (?)
  166. Reserved2    DD    7 DUP (?)
  167. Int15c7Table    ENDS
  168.  
  169. PHYSMEMARRAYLIMIT    EQU    32 
  170.  
  171. _PHYSMEMBLOCK    STRUC
  172. BlockStartAddr    DD    ?
  173. BlockByteLength    DD    ?
  174. WhichCPULocal    DD    ?
  175. WhichCPUCached    DD    ?
  176. _PHYSMEMBLOCK    ENDS
  177.  
  178. PHYSMEMBLOCK struc
  179. db size _PHYSMEMBLOCK dup(?)
  180. PHYSMEMBLOCK ends
  181.  
  182. DHVA_ACCESS_READ    EQU    0   
  183. DHVA_ACCESS_WRITE    EQU    1   
  184. DHPU_ACCESS_EXECUTE    EQU    0   
  185. DHPU_ACCESS_FREE    EQU    2   
  186. KPG_RING0_CODE    EQU    5   
  187. CALLDH16  macro   name        
  188.  
  189.  
  190.     db       MI_LONG_CALL
  191.     CatPrefix <dd offset>, %F16PRE_, <name>
  192.     dw       DOSHLP_CODESEL
  193. endm
  194.  
  195. CALLDDH16  macro    name      
  196.  
  197.  
  198.     db       MI_LONG_CALL
  199.     CatPrefix <dd offset>, %F16PRE_, <name>
  200.     dw       selSysInitCode
  201. endm
  202.  
  203. Dev_Hlp macro  function
  204.    mov   dl, DevHlp_&function
  205.    call  [DEVHLP]
  206.    endm
  207.  
  208. IPL_DEPENDENT    EQU    1   
  209. IPL_INDEPEND    EQU    2   
  210. BASEDD_AT    EQU    0   
  211. BASEDD_PS2    EQU    1   
  212. DHDriveParms   STRUC
  213.    DPCylcount     DW 0  
  214.    DPSPT       DW 0  
  215.    DPHeads     DW 0  
  216.    DPPrecomp      DW 0  
  217.    DPFlags     DW 0  
  218.  
  219.  
  220. DHDriveParms   ENDS
  221.  
  222. BOOTOFFSET    EQU    8bH       
  223. ALT_SUPP_PORT    EQU    92H 
  224. ALT_SUPP_REBOOT    EQU    01H 
  225. ALT_SUPP_A20    EQU    02H 
  226. SETSPEED_HIGH    EQU    0f002H  
  227. _8514_HORZTOTAL    EQU    02E8H        
  228. _8514_DSPCTRL    EQU    22E8H        
  229. _8514_ADVCTRL    EQU    4AE8H        
  230. _8514_ERRORTERM    EQU    92E8H        
  231. _8514_STATUS    EQU    9AE8H        
  232. _8514_TEST_VALUE    EQU    5555H 
  233. _8514_STATUS_ERROR    EQU    80H 
  234. _8514_APPLY_CRTC_RESET    EQU    53H 
  235. _8514_REMOVE_CRTC_RESET    EQU    33H 
  236. _8514_VGA_MODE    EQU    02H 
  237. _8514_AF_DRAM_REFRESH    EQU    0aH 
  238. INT10_SETMODE    EQU    00H 
  239. INT10_WRITETTY    EQU    0eH 
  240. INT10_QUERYMODE    EQU    0fH 
  241. VIDEOMODE_CO80    EQU    003H 
  242. VIDEOMODE_MONO80    EQU    007H 
  243. VIDEOMODE_MONO640X350X4    EQU    00FH 
  244. COM1_PORT    EQU    03f8H 
  245. COM2_PORT    EQU    02f8H 
  246. COM_DAT    EQU    00H 
  247. COM_IEN    EQU    01H      
  248. COM_IER    EQU    02H      
  249. COM_LCR    EQU    03H      
  250. COM_MCR    EQU    04H      
  251. COM_LSR    EQU    05H      
  252. COM_MSR    EQU    06H      
  253. COM_DLL    EQU    00H      
  254. COM_DLM    EQU    01H      
  255. KBD_STATUS_PORT    EQU    64H      
  256. PORT_A    EQU    60H      
  257. BUF_FULL    EQU    2H       
  258. PORTRESET    EQU    0F0H     
  259. BUF_FULL_IN    EQU    2      
  260. BUF_FULL_OUT    EQU    1      
  261. CLOCK_RATEL    EQU    1      
  262. CLOCK_RATEH    EQU    0C200H   
  263. LC_DLAB    EQU    80H      
  264. BD_150    EQU    150 
  265. BD_300    EQU    300 
  266. BD_600    EQU    600 
  267. BD_1200    EQU    1200 
  268. BD_2400    EQU    2400 
  269. BD_4800    EQU    4800 
  270. BD_9600    EQU    9600 
  271. BD_19200    EQU    19200 
  272. TIMER_PORT    EQU    40H      
  273. SPEAKER_PORT    EQU    61H      
  274. SPEAKER_MASK    EQU    03H      
  275. TIMER_FREQ_HI    EQU    12H      
  276. TIMER_FREQ_LO    EQU    34CFH 
  277. CMOS_CTRL    EQU    70H   
  278. CMOS_DATA    EQU    71H   
  279. CMOS_REG_B    EQU    8bH   
  280. ENABLE_PERIODIC_TIMER    EQU    52H   
  281. RomDataSeg    EQU    40H   
  282. NMI_STATUS_PORT    EQU    61H   
  283. NMI_PORT    EQU    70H   
  284. ENABLENMI    EQU    0dH   
  285. DISABLENMI    EQU    8dH   
  286. DISABLENMI_REQ    EQU    80H   
  287. NMI_IOCHK_CONTROL    EQU    04H   
  288. NMI_FAILSAFE_CONTROL    EQU    08H   
  289. NWD_MAX_INTERVAL    EQU    1000      
  290. IT_COUNTER0    EQU    0      
  291. IT_LSBMSB    EQU    30H      
  292. IT_LSB    EQU    10H      
  293. IT_MODE0    EQU    0      
  294. IT_BINARY    EQU    0      
  295. DP_IT_ICOUNTL    EQU    0FFFFH       
  296. DP_IT_ICOUNTH    EQU    0FFFFH       
  297. DP_NMI_PERIOD    EQU    55     
  298. DP_FAILSAFE_NMI_OCCURRED    EQU    80H   
  299. DP_FAILSAFE_NMI_MASK    EQU    04H   
  300. DP_IT2_C0_COUNT    EQU    48H      
  301. DP_IT2_COMMAND    EQU    4BH      
  302. EISA_IT_ICOUNTL    EQU    0FFFFH       
  303. EISA_IT_ICOUNTH    EQU    0FFFFH       
  304. EISA_IT_PERIOD    EQU    220       
  305. EISA_IT2_C0_COUNT    EQU    48H      
  306. EISA_IT2_COMMAND    EQU    4bH      
  307. MCA_IT_ICOUNT    EQU    9      
  308. MCA_NMI_PERIOD    EQU    500       
  309. MCA_ARBITRATION_MASK    EQU    40H      
  310. MCA_WATCHDOG_NMI_MASK    EQU    10H      
  311. MCA_TC3_COUNT    EQU    44H      
  312. MCA_TC3_COMMAND    EQU    47H      
  313. MCA_SYSTEM_CONTROL_PORT_A    EQU    92H   
  314. MCA_SYSTEM_CONTROL_PORT_B    EQU    61H   
  315. MCA_ARBITRATION_REG    EQU    90H   
  316.