exectos/sdk/xtdk/i686/hlfuncs.h
2022-12-27 22:26:45 +01:00

74 lines
1.3 KiB
C

/**
* PROJECT: ExectOS
* COPYRIGHT: See COPYING.md in the top level directory
* FILE: sdk/xtdk/i686/hlfuncs.h
* DESCRIPTION: XT hardware abstraction layer routines specific to i686 architecture
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
*/
#ifndef __XTDK_I686_HLFUNCS_H
#define __XTDK_I686_HLFUNCS_H
#include "xtdefs.h"
#include "xtstruct.h"
#include "xttypes.h"
/* I/O port addresses for COM ports */
extern ULONG ComPortAddress[];
/* HAL library routines forward references */
XTCDECL
VOID
HlClearInterruptFlag();
XTCDECL
BOOLEAN
HlCpuId(IN OUT PCPUID_REGISTERS Registers);
XTCDECL
VOID
HlHalt();
XTCDECL
UCHAR
HlIoPortInByte(IN USHORT Port);
XTCDECL
UCHAR
HlIoPortInShort(IN USHORT Port);
XTCDECL
UCHAR
HlIoPortInLong(IN USHORT Port);
XTCDECL
VOID
HlIoPortOutByte(IN USHORT Port,
IN UCHAR Data);
XTCDECL
VOID
HlIoPortOutShort(IN USHORT Port,
IN USHORT Value);
XTCDECL
VOID
HlIoPortOutLong(IN USHORT Port,
IN UINT Value);
XTCDECL
ULONG_PTR
HlReadControlRegister(IN USHORT ControlRegister);
XTCDECL
VOID
HlSetInterruptFlag();
XTCDECL
VOID
HlWriteControlRegister(IN USHORT ControlRegister,
IN UINT_PTR Value);
#endif /* __XTDK_I686_HLFUNCS_H */