summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/src/ACPIFactoryInterface.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-05-29 10:51:53 +0200
committerGitHub <noreply@github.com>2025-05-29 10:51:53 +0200
commit5c0bb7ee7b1b0fee02cc179fb21f4c57a61d6c2d (patch)
treecb17577bcdc9714c97a84ce417a075117097f146 /dev/kernel/src/ACPIFactoryInterface.cc
parentd608230b1350b064ceb01e6572519b108f6139b0 (diff)
parent3167f59dbb401d6a79b1524537e04218baf49ee3 (diff)
Merge pull request #32 from nekernel-org/dev
0.0.2e3
Diffstat (limited to 'dev/kernel/src/ACPIFactoryInterface.cc')
-rw-r--r--dev/kernel/src/ACPIFactoryInterface.cc13
1 files changed, 7 insertions, 6 deletions
diff --git a/dev/kernel/src/ACPIFactoryInterface.cc b/dev/kernel/src/ACPIFactoryInterface.cc
index a76caff2..8cc11cad 100644
--- a/dev/kernel/src/ACPIFactoryInterface.cc
+++ b/dev/kernel/src/ACPIFactoryInterface.cc
@@ -5,22 +5,23 @@
------------------------------------------- */
#include <ArchKit/ArchKit.h>
-#include <KernelKit/MemoryMgr.h>
-#include <NewKit/KString.h>
+#include <KernelKit/HeapMgr.h>
+#include <NeKit/KString.h>
#include <modules/ACPI/ACPIFactoryInterface.h>
namespace Kernel {
+constexpr STATIC const auto kMinACPIVer = 1;
+
/// @brief Finds a descriptor table inside ACPI XSDT.
ErrorOr<voidPtr> ACPIFactoryInterface::Find(const Char* signature) {
MUST_PASS(this->fRsdp);
- if (!signature) return ErrorOr<voidPtr>{-1};
-
- if (*signature == 0) return ErrorOr<voidPtr>{-1};
+ if (!signature) return ErrorOr<voidPtr>{-kErrorInvalidData};
+ if (*signature == 0) return ErrorOr<voidPtr>{-kErrorInvalidData};
RSDP* rsp_ptr = reinterpret_cast<RSDP*>(this->fRsdp);
- if (rsp_ptr->Revision <= 1) return ErrorOr<voidPtr>{-1};
+ if (rsp_ptr->Revision < kMinACPIVer) return ErrorOr<voidPtr>{-kErrorInvalidData};
RSDT* xsdt = reinterpret_cast<RSDT*>(rsp_ptr->RsdtAddress);