mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 18:58:12 +00:00
ACPI: Adopt the changes in the definitions file
Also, the functions for StaticParsing namespace were added. Therefore, some early access functionality is being used also in ACPI::StaticParser class.
This commit is contained in:
parent
bf55d83c1f
commit
b9c65ea746
6 changed files with 453 additions and 510 deletions
|
@ -30,42 +30,40 @@
|
|||
#include <AK/OwnPtr.h>
|
||||
|
||||
namespace Kernel {
|
||||
namespace ACPI {
|
||||
|
||||
class ACPIStaticParser : ACPIParser {
|
||||
public:
|
||||
static void initialize(PhysicalAddress rsdp);
|
||||
static void initialize_without_rsdp();
|
||||
static bool is_initialized();
|
||||
class StaticParser : Parser {
|
||||
public:
|
||||
static void initialize(PhysicalAddress rsdp);
|
||||
static void initialize_without_rsdp();
|
||||
static bool is_initialized();
|
||||
|
||||
virtual PhysicalAddress find_table(const char* sig) override;
|
||||
virtual void do_acpi_reboot() override;
|
||||
virtual void do_acpi_shutdown() override;
|
||||
virtual bool is_operable() override { return m_operable; }
|
||||
virtual PhysicalAddress find_table(const char* sig) override;
|
||||
virtual void do_acpi_reboot() override;
|
||||
virtual void do_acpi_shutdown() override;
|
||||
virtual bool is_operable() override { return m_operable; }
|
||||
|
||||
protected:
|
||||
ACPIStaticParser();
|
||||
explicit ACPIStaticParser(PhysicalAddress);
|
||||
protected:
|
||||
StaticParser();
|
||||
explicit StaticParser(PhysicalAddress);
|
||||
|
||||
private:
|
||||
void locate_static_data();
|
||||
void locate_all_aml_tables();
|
||||
void locate_main_system_description_table();
|
||||
void initialize_main_system_description_table();
|
||||
size_t get_table_size(PhysicalAddress);
|
||||
u8 get_table_revision(PhysicalAddress);
|
||||
void init_fadt();
|
||||
PhysicalAddress search_rsdp_in_ebda(u16 ebda_segment);
|
||||
PhysicalAddress search_rsdp_in_bios_area();
|
||||
PhysicalAddress search_rsdp();
|
||||
private:
|
||||
void locate_static_data();
|
||||
void locate_main_system_description_table();
|
||||
void initialize_main_system_description_table();
|
||||
size_t get_table_size(PhysicalAddress);
|
||||
u8 get_table_revision(PhysicalAddress);
|
||||
void init_fadt();
|
||||
void init_facs();
|
||||
|
||||
PhysicalAddress m_rsdp;
|
||||
PhysicalAddress m_main_system_description_table;
|
||||
PhysicalAddress m_rsdp;
|
||||
PhysicalAddress m_main_system_description_table;
|
||||
|
||||
OwnPtr<ACPI::MainSystemDescriptionTable> m_main_sdt;
|
||||
OwnPtr<ACPI::FixedACPIData> m_fadt;
|
||||
|
||||
Vector<ACPI_RAW::SDTHeader*> m_aml_tables_ptrs;
|
||||
bool m_xsdt_supported;
|
||||
};
|
||||
Vector<PhysicalAddress> m_sdt_pointers;
|
||||
PhysicalAddress m_fadt;
|
||||
PhysicalAddress m_facs;
|
||||
|
||||
bool m_xsdt_supported;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue