summaryrefslogtreecommitdiffhomepage
path: root/Private/Builtins
diff options
context:
space:
mode:
Diffstat (limited to 'Private/Builtins')
-rw-r--r--Private/Builtins/HPET/HPET.hxx41
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