From 46b5a7697c800dd33d004626606c120474ace4ca Mon Sep 17 00:00:00 2001 From: Bananymous Date: Fri, 12 Apr 2024 01:49:54 +0300 Subject: [PATCH] Kernel: Implement dummy \_OSI method for AML This always returns Zero (not supported) --- kernel/kernel/ACPI/AML/Namespace.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/kernel/kernel/ACPI/AML/Namespace.cpp b/kernel/kernel/ACPI/AML/Namespace.cpp index b55f21e5..72b12c94 100644 --- a/kernel/kernel/ACPI/AML/Namespace.cpp +++ b/kernel/kernel/ACPI/AML/Namespace.cpp @@ -1,3 +1,4 @@ +#include #include #include #include @@ -6,6 +7,7 @@ namespace Kernel::ACPI { static BAN::RefPtr s_root_namespace; + static BAN::Vector s_osi_aml_data; BAN::RefPtr AML::Namespace::root_namespace() { @@ -209,6 +211,13 @@ namespace Kernel::ACPI ADD_PREDEFIED_NAMESPACE("_TZ"sv); #undef ADD_PREDEFIED_NAMESPACE + // Add dummy \_OSI + MUST(s_osi_aml_data.push_back(static_cast(Byte::ReturnOp))); + MUST(s_osi_aml_data.push_back(static_cast(Byte::ZeroOp))); + auto osi = MUST(BAN::RefPtr::create(NameSeg("_OSI"sv), 1, false, 0)); + osi->term_list = s_osi_aml_data.span(); + ASSERT(s_root_namespace->add_named_object(context, AML::NameString("\\_OSI"), osi)); + return s_root_namespace; }