ladybird/Kernel/ACPI/ACPIParser.h
Liav A a9884fbbe5 Kernel: Remove problematic memory mapping methods
mmap() & mmap_region() methods are removed from ACPI & DMI components,
and we replace them with the new MM.allocate_kernel_region() helper.

Instead of doing a raw calculation for each VM address, from now on we
can use helper functions to do perform those calculations in a neat,
reusable and readable way.
2020-01-14 15:38:58 +01:00

30 lines
No EOL
786 B
C++

#pragma once
#include <AK/Types.h>
#include <Kernel/ACPI/Definitions.h>
#include <Kernel/FileSystem/File.h>
#include <Kernel/VM/PhysicalAddress.h>
#include <Kernel/VM/Region.h>
#include <Kernel/VM/VirtualAddress.h>
class ACPIParser {
public:
static ACPIParser& the();
static bool is_initialized();
static void initialize_limited();
virtual ACPI_RAW::SDTHeader* find_table(const char* sig);
virtual void do_acpi_reboot();
virtual void do_acpi_shutdown();
virtual void enable_aml_interpretation();
virtual void enable_aml_interpretation(File&);
virtual void enable_aml_interpretation(u8*, u32);
virtual void disable_aml_interpretation();
virtual bool is_operable();
protected:
explicit ACPIParser(bool usable);
bool m_operable;
};