From e0bac2387b373316337b177fe8aa9851b0d5e870 Mon Sep 17 00:00:00 2001 From: Alexey Gavrilov Date: Tue, 26 Mar 2024 13:51:05 +0700 Subject: Implement MADT table --- drivers/acpi/acpi.cpp | 61 --------------------------------------------------- 1 file changed, 61 deletions(-) delete mode 100644 drivers/acpi/acpi.cpp (limited to 'drivers/acpi/acpi.cpp') diff --git a/drivers/acpi/acpi.cpp b/drivers/acpi/acpi.cpp deleted file mode 100644 index 25dad9d..0000000 --- a/drivers/acpi/acpi.cpp +++ /dev/null @@ -1,61 +0,0 @@ -#include "acpi.h" - - -const char *Rsdp::signatureString = "RSD PTR "; -const uint8 Rsdp::validFieldRevision = 2; -const memAddr Rsdp::romAreaStart = 0xe0000; -const memAddr Rsdp::romAreaEnd = 0xfffff; -const memAddr Rsdp::ebdaAreaStart = 0x80000; -const memAddr Rsdp::ebdaAreaEnd = 0x803ff; -const uint8 Rsdp::checksunFieldSize = 20; -// Entry **Rsdt::entries = nullptr; - -Rsdt *Rsdp::getRsdt() const -{ - Rsdt *rsdtPtr = (Rsdt *)(rsdtAddress); - if(rsdtPtr == nullptr or checksumCheck()) return nullptr; - else return rsdtPtr; -}; - -Xsdt *Rsdp::getXsdt() const -{ - Xsdt *xsdtPtr = (Xsdt *)(xsdtAddress); - if(xsdtPtr == nullptr or checksumCheck()) return nullptr; - else return xsdtPtr; -}; - - -const uint32 DescHeader::getLength() const -{ - return length; -}; - -const Entry *Rsdt::getEntry(uint8 index) -{ - uint32 entriesAmount = (header.getLength() - sizeof(DescHeader)) / Entry::size; - - if(index >= entriesAmount - or entries == nullptr - or header.checksumCheck()) return nullptr; - else return ((const Entry **)&entries)[index]; -}; - -uint8 Rsdp::checksumCheck() const -{ - uint8 check = 0; - for(uint32 offset = 0; offset < checksunFieldSize; offset++) - { - check += *(uint8 *)((memAddr)this + offset); - } - return check; -}; - -uint8 DescHeader::checksumCheck() const -{ - uint8 check = 0; - for(uint32 offset = 0; offset < length; offset++) - { - check += *(uint8 *)((memAddr)this + offset); - } - return check; -}; -- cgit v1.2.3