1 //+----------------------------------------------------------------------------
9 // Created: sgasch 5 Jul 2003
11 //+----------------------------------------------------------------------------
27 #define WHITE (HIGH | GRAY)
30 HalVideoSetCurrentColorAttribute(BYTE bFg, BYTE bBg);
33 HalVideoClearScreen(void);
36 HalVideoGetCursorPosition(BYTE *pbLine, BYTE *pbCol);
39 HalVideoSetCursorPosition(BYTE bLine, BYTE bCol);
42 HalVideoPutNullTerminatedString(BYTE *s);
45 HalVideoInitialize(BIOS_HARDWARE_BLOCK *phw);
48 HalVideoPrint(CHAR *szFormat, ...);
56 typedef struct _INTERRUPT_STATE
58 // The register contents at the time of the exception.
59 // We save these explicitly.
72 // We explicitly push the interrupt number.
73 // This makes it easy for the handler function to determine
74 // which interrupt occurred.
77 // This may be pushed by the processor; if not, we push
78 // a dummy error code, so the stack layout is the same
79 // for every type of interrupt.
82 // These are always pushed on the stack by the processor.
89 typedef void (*INTERRUPT_HANDLER)(INTERRUPT_STATE *pState);
91 void HalInitializeInterrupts(void);
92 void HalInterruptInstallHandler(ULONG uIntNum, INTERRUPT_HANDLER p);
93 void HalInterruptDisable();
94 void HalInterruptEnable();
98 void HalTimerInt(INTERRUPT_STATE *p);
99 void HalKeyboardInt(INTERRUPT_STATE *p);
101 extern UINT64 g_ullTimeStampCounter;
102 ULONG HalReadTimestampCounter(void);