diff options
Diffstat (limited to 'kernel/kapi/acpi.cpp')
| -rw-r--r-- | kernel/kapi/acpi.cpp | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/kernel/kapi/acpi.cpp b/kernel/kapi/acpi.cpp index e7c4921..df2bf05 100644 --- a/kernel/kapi/acpi.cpp +++ b/kernel/kapi/acpi.cpp @@ -6,12 +6,10 @@ #include <kstd/memory> -#include <algorithm> +#include <acpi/acpi.hpp> + #include <atomic> -#include <cstddef> -#include <cstdint> #include <optional> -#include <span> #include <string_view> namespace kapi::acpi @@ -22,7 +20,7 @@ namespace kapi::acpi auto constinit manager = std::optional<kernel::acpi::manager>{}; } // namespace - auto init(root_system_description_pointer const & sdp) -> bool + auto init(::acpi::rsdp const & sdp) -> bool { auto static constinit initialized = std::atomic_flag{}; if (initialized.test_and_set()) @@ -34,15 +32,7 @@ namespace kapi::acpi return manager->load_tables(); } - auto validate_checksum(std::span<std::byte const> data) -> bool - { - auto sum = std::ranges::fold_left(data, std::uint8_t{}, [](auto acc, auto byte) { - return static_cast<std::uint8_t>(acc + static_cast<std::uint8_t>(byte)); - }); - return sum == 0; - } - - auto get_table(std::string_view signature) -> kstd::observer_ptr<system_description_table_header const> + auto get_table(std::string_view signature) -> kstd::observer_ptr<::acpi::sdt const> { return manager->get_table(signature); } |
