/** * PROJECT: ExectOS * COPYRIGHT: See COPYING.md in the top level directory * FILE: xtoskrnl/includes/hl.h * DESCRIPTION: XT hardware abstraction layer routines * DEVELOPERS: Rafal Kupiec */ #ifndef __XTOSKRNL_HL_H #define __XTOSKRNL_HL_H #include /* HAL library routines forward references */ XTCDECL VOID HlDisablePic(VOID); XTAPI VOID HlClearScreen(VOID); XTCDECL XTSTATUS HlComPortGetByte(IN PCPPORT Port, OUT PUCHAR Byte, IN BOOLEAN Wait, IN BOOLEAN Poll); XTCDECL XTSTATUS HlComPortPutByte(IN PCPPORT Port, IN UCHAR Byte); XTCDECL UCHAR HlComPortReadLsr(IN PCPPORT Port, IN UCHAR Byte); XTAPI VOID HlDrawPixel(IN ULONG PosX, IN ULONG PosY, IN ULONG Color); XTFASTCALL KRUNLEVEL HlGetRunLevel(VOID); XTCDECL XTSTATUS HlInitializeComPort(IN OUT PCPPORT Port, IN ULONG PortNumber, IN PUCHAR PortAddress, IN ULONG BaudRate); XTAPI XTSTATUS HlInitializeFrameBuffer(VOID); XTFASTCALL ULONG HlReadApicRegister(IN APIC_REGISTER Register); XTFASTCALL VOID HlSetRunLevel(IN KRUNLEVEL RunLevel); XTFASTCALL VOID HlWriteApicRegister(IN APIC_REGISTER Register, IN ULONG Value); XTAPI BOOLEAN HlpCheckX2ApicSupport(VOID); XTCDECL VOID HlpHandleApicSpuriousService(); XTCDECL VOID HlpHandlePicSpuriousService(); XTAPI VOID HlpInitializeApic(VOID); XTAPI VOID HlInitializeProcessor(VOID); XTFASTCALL KRUNLEVEL HlpTransformApicTprToRunLevel(IN UCHAR Tpr); XTFASTCALL UCHAR HlpTransformRunLevelToApicTpr(IN KRUNLEVEL RunLevel); #endif /* __XTOSKRNL_HL_H */