summaryrefslogtreecommitdiffhomepage
path: root/dev/Mod
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-03-11 08:10:55 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-03-11 08:10:55 +0100
commit0a2760d8a5ce09ae77cfc097ece4100579164f9d (patch)
tree38be73d31c13aa0ac3a7883dfd22cc2b8208dbb9 /dev/Mod
parentc6d9cc48540b380583fc2bb8fcfe59a9113d0e19 (diff)
Many AHCI improvements and IPC tweaks.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/Mod')
-rw-r--r--dev/Mod/ACPI/ACPIFactoryInterface.h7
-rw-r--r--dev/Mod/AHCI/AHCI.h4
-rw-r--r--dev/Mod/Pwr/PowerFactory.h2
3 files changed, 7 insertions, 6 deletions
diff --git a/dev/Mod/ACPI/ACPIFactoryInterface.h b/dev/Mod/ACPI/ACPIFactoryInterface.h
index eb8d7353..d398b2b7 100644
--- a/dev/Mod/ACPI/ACPIFactoryInterface.h
+++ b/dev/Mod/ACPI/ACPIFactoryInterface.h
@@ -21,7 +21,7 @@ namespace NeOS
typedef ACPIFactoryInterface PowerFactoryInterface;
- class ACPIFactoryInterface final : public PowerFactory
+ class ACPIFactoryInterface final NE_POWER_FACTORY
{
public:
explicit ACPIFactoryInterface(voidPtr rsp_ptr);
@@ -47,10 +47,7 @@ namespace NeOS
bool Checksum(const Char* checksum, SSizeT len); // watch for collides!
public:
- ErrorOr<voidPtr> operator[](const Char* signature)
- {
- return this->Find(signature);
- }
+ ErrorOr<voidPtr> operator[](const Char* signature);
private:
VoidPtr fRsdp{nullptr}; // pointer to root descriptor.
diff --git a/dev/Mod/AHCI/AHCI.h b/dev/Mod/AHCI/AHCI.h
index d729b456..11f2346a 100644
--- a/dev/Mod/AHCI/AHCI.h
+++ b/dev/Mod/AHCI/AHCI.h
@@ -283,10 +283,12 @@ typedef struct HbaCmdHeader final
NeOS::UInt8 Pmp : 4; // Port multiplier port
NeOS::UInt16 Prdtl; // Physical region descriptor table length in entries
- volatile NeOS::UInt32 Prdbc; // Physical region descriptor byte count transferred
+ NeOS::UInt32 Prdbc; // Physical region descriptor byte count transferred
NeOS::UInt32 Ctba; // Command table descriptor base address
NeOS::UInt32 Ctbau; // Command table descriptor base address upper 32 bits
+
+ NeOS::UInt32 Rscv[4];
} HbaCmdHeader;
typedef struct HbaFis final
diff --git a/dev/Mod/Pwr/PowerFactory.h b/dev/Mod/Pwr/PowerFactory.h
index 2992fac1..15548198 100644
--- a/dev/Mod/Pwr/PowerFactory.h
+++ b/dev/Mod/Pwr/PowerFactory.h
@@ -12,6 +12,8 @@
#include <NewKit/Defines.h>
#include <NewKit/Ref.h>
+#define NE_POWER_FACTORY : public PowerFactory
+
namespace NeOS
{
class PowerFactory;