summaryrefslogtreecommitdiffhomepage
path: root/Private/Builtins
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-03-29 19:16:19 +0100
committerAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-03-29 19:16:19 +0100
commit43ae417266c3127bbae35527c95c26e01ed50bd9 (patch)
treeefbbaa92ab7e11a69bd295cba7da65f487572836 /Private/Builtins
parent7e5be1572c043484293ee0cdd840dd41f54e87ee (diff)
Kernel: See below.
- Add HPET header. - Add note for ApplicationRef. - Update PowerPC and x86 Stackframes. - Add #UD handler inside interrupt descriptor in x86. Signed-off-by: Amlal El Mahrouss <amlal@el-mahrouss-logic.com>
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