diff options
| author | Amlal El Mahrouss <amlal@el-mahrouss-logic.com> | 2024-03-29 19:16:19 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@el-mahrouss-logic.com> | 2024-03-29 19:16:19 +0100 |
| commit | 43ae417266c3127bbae35527c95c26e01ed50bd9 (patch) | |
| tree | efbbaa92ab7e11a69bd295cba7da65f487572836 /Private/Builtins | |
| parent | 7e5be1572c043484293ee0cdd840dd41f54e87ee (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.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 |
