From 3437db4cf34bbaa7a5cda535d9dcd3200ef4cd3a Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Mon, 8 Apr 2024 23:19:10 +0200 Subject: kernel: revision of MBCI, rename HPET.hxx to Defines.hxx to match convention. Signed-off-by: Amlal El Mahrouss --- .vscode/c_cpp_properties.json | 6 ++++-- Private/Builtins/AHCI/Defines.hxx | 1 + Private/Builtins/HPET/Defines.hxx | 41 +++++++++++++++++++++++++++++++++++++++ Private/Builtins/HPET/HPET.hxx | 41 --------------------------------------- Private/Builtins/MBCI/Defines.hxx | 6 +++--- 5 files changed, 49 insertions(+), 46 deletions(-) create mode 100644 Private/Builtins/HPET/Defines.hxx delete mode 100644 Private/Builtins/HPET/HPET.hxx diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index c6d63a65..fd85ea9f 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -15,7 +15,8 @@ "__HAVE_MAHROUSS_APIS__", "__FSKIT_NEWFS__", "__EFI_x86_64__", - "__ATA_PIO__" + "__ATA_PIO__", + "__NEWOS_AMD64__" ], "cStandard": "c17", "cppStandard": "c++20", @@ -47,7 +48,8 @@ "__HAVE_MAHROUSS_APIS__", "__FSKIT_NEWFS__", "__EFI_x86_64__", - "__ATA_PIO__" + "__ATA_PIO__", + "__NEWOS_AMD64__" ], "cStandard": "c17", "cppStandard": "c++20", diff --git a/Private/Builtins/AHCI/Defines.hxx b/Private/Builtins/AHCI/Defines.hxx index afec2778..3af3cd4c 100644 --- a/Private/Builtins/AHCI/Defines.hxx +++ b/Private/Builtins/AHCI/Defines.hxx @@ -14,6 +14,7 @@ #pragma once #include +#include // Forward declarations of structs. diff --git a/Private/Builtins/HPET/Defines.hxx b/Private/Builtins/HPET/Defines.hxx new file mode 100644 index 00000000..a2c91af8 --- /dev/null +++ b/Private/Builtins/HPET/Defines.hxx @@ -0,0 +1,41 @@ +/* ------------------------------------------- + + Copyright Mahrouss Logic + + File: HPET.hxx + Purpose: HPET builtin. + + Revision History: + +------------------------------------------- */ + +#pragma once + +#include +#include + +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 diff --git a/Private/Builtins/HPET/HPET.hxx b/Private/Builtins/HPET/HPET.hxx deleted file mode 100644 index a2c91af8..00000000 --- a/Private/Builtins/HPET/HPET.hxx +++ /dev/null @@ -1,41 +0,0 @@ -/* ------------------------------------------- - - Copyright Mahrouss Logic - - File: HPET.hxx - Purpose: HPET builtin. - - Revision History: - -------------------------------------------- */ - -#pragma once - -#include -#include - -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 diff --git a/Private/Builtins/MBCI/Defines.hxx b/Private/Builtins/MBCI/Defines.hxx index 817c6f56..18b73ddf 100644 --- a/Private/Builtins/MBCI/Defines.hxx +++ b/Private/Builtins/MBCI/Defines.hxx @@ -7,8 +7,7 @@ #pragma once #include - -#define kMBCIHostMagic "MBCI" +#include namespace NewOS { struct MBCIHostInterface; @@ -22,7 +21,6 @@ struct MBCIHostInterface final { UInt64 BaseAddressRegister; UInt64 DeviceSize; UInt8 MemoryType; - UInt8 Magic[4]; UInt8 HostType; UInt8 HostFlags; }; @@ -36,4 +34,6 @@ enum MBCIHostFlags { kMBCIHostFlagsSupportsDMA, /// Has DMA. kMBCIHostFlagsCount, }; + +MBCIHostInterface* drv_get_mbi_host(void); } // namespace NewOS -- cgit v1.2.3