diff options
Diffstat (limited to 'Private/Builtins')
| -rw-r--r-- | Private/Builtins/HPET/HPET.hxx | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/Private/Builtins/HPET/HPET.hxx b/Private/Builtins/HPET/HPET.hxx new file mode 100644 index 00000000..a2c91af8 --- /dev/null +++ b/Private/Builtins/HPET/HPET.hxx @@ -0,0 +1,41 @@ +/* ------------------------------------------- + + Copyright Mahrouss Logic + + File: HPET.hxx + Purpose: HPET builtin. + + Revision History: + +------------------------------------------- */ + +#pragma once + +#include <NewKit/Defines.hpp> +#include <Builtins/ACPI/ACPI.hxx> + +namespace NewOS { +struct PACKED HPETAddressStructure final +{ + NewOS::UInt8 AddressSpaceId; // 0 - system memory, 1 - system I/O + NewOS::UInt8 RegisterBitWidth; + NewOS::UInt8 RegisterBitOffset; + NewOS::UInt8 Reserved; + NewOS::UInt64 Address; +}; + +struct PACKED HPETHeader final : public SDT +{ + NewOS::UInt8 HardwareRevId; + NewOS::UInt8 ComparatorCount : 5; + NewOS::UInt8 CounterSize : 1; + NewOS::UInt8 Reserved : 1; + NewOS::UInt8 LegacyReplacement : 1; + NewOS::UInt16 PciVendorId; + HPETAddressStructure Address; + NewOS::UInt8 HpetNumber; + NewOS::UInt16 MinimumTick; + NewOS::UInt8 PageProtection; +}; + +} // namespace NewOS
\ No newline at end of file |
