diff --git a/xtoskrnl/includes/hl.hh b/xtoskrnl/includes/hl.hh new file mode 100644 index 0000000..3228d83 --- /dev/null +++ b/xtoskrnl/includes/hl.hh @@ -0,0 +1,17 @@ +/** + * PROJECT: ExectOS + * COPYRIGHT: See COPYING.md in the top level directory + * FILE: xtoskrnl/includes/hl.hh + * DESCRIPTION: Hardware Layer + * DEVELOPERS: Aiken Harris + */ + +#ifndef __XTOSKRNL_HL_HH +#define __XTOSKRNL_HL_HH + +#include + +#include + + +#endif /* __XTOSKRNL_HL_HH */ diff --git a/xtoskrnl/includes/hl/ioreg.hh b/xtoskrnl/includes/hl/ioreg.hh new file mode 100644 index 0000000..b1b98ee --- /dev/null +++ b/xtoskrnl/includes/hl/ioreg.hh @@ -0,0 +1,33 @@ +/** + * PROJECT: ExectOS + * COPYRIGHT: See COPYING.md in the top level directory + * FILE: xtoskrnl/includes/hl/ioreg.hh + * DESCRIPTION: Basic I/O registers access functionality + * DEVELOPERS: Aiken Harris + */ + +#ifndef __XTOSKRNL_HL_IOREG_HH +#define __XTOSKRNL_HL_IOREG_HH + +#include + + +/* Hardware Layer */ +namespace HL +{ + class IoRegister + { + public: + STATIC XTAPI UCHAR ReadRegister8(IN PVOID Register); + STATIC XTAPI USHORT ReadRegister16(IN PVOID Register); + STATIC XTAPI ULONG ReadRegister32(IN PVOID Register); + STATIC XTAPI VOID WriteRegister8(IN PVOID Register, + IN UCHAR Value); + STATIC XTAPI VOID WriteRegister16(IN PVOID Register, + IN USHORT Value); + STATIC XTAPI VOID WriteRegister32(IN PVOID Register, + IN ULONG Value); + }; +} + +#endif /* __XTOSKRNL_HL_IOREG_HH */