1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 21:47:45 +00:00

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.
This commit is contained in:
Liav A 2020-01-09 23:33:36 +02:00 committed by Andreas Kling
parent d2b41010c5
commit a9884fbbe5
10 changed files with 117 additions and 160 deletions

View file

@ -18,15 +18,13 @@ protected:
ACPIStaticParser();
explicit ACPIStaticParser(ACPI_RAW::RSDPDescriptor20&);
virtual void mmap(VirtualAddress preferred_vaddr, PhysicalAddress paddr, u32) override;
virtual void mmap_region(Region& region, PhysicalAddress paddr) override;
private:
void locate_static_data();
void locate_all_aml_tables();
void locate_main_system_description_table();
void initialize_main_system_description_table();
ACPI_RAW::SDTHeader& find_fadt();
size_t get_table_size(ACPI_RAW::SDTHeader&);
u8 get_table_revision(ACPI_RAW::SDTHeader&);
void init_fadt();
ACPI_RAW::RSDPDescriptor20* search_rsdp();