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; }