mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 21:17:45 +00:00
Kernel: PCI MMIO no longer uses map_for_kernel()
PCI MMIO access is done by modifying the related PhysicalPage directly, then we request to remap the region to create the mapping.
This commit is contained in:
parent
24f2596345
commit
aca317d889
4 changed files with 19 additions and 45 deletions
|
@ -41,7 +41,7 @@ public:
|
|||
virtual void enumerate_all(Function<void(Address, ID)>&) override final;
|
||||
|
||||
virtual String get_access_type() override final { return "MMIO-Access"; };
|
||||
|
||||
virtual u32 get_segments_count();
|
||||
protected:
|
||||
explicit MMIOAccess(ACPI_RAW::MCFG&);
|
||||
|
||||
|
@ -54,16 +54,11 @@ private:
|
|||
virtual void write32_field(Address address, u32, u32) override final;
|
||||
|
||||
void map_device(Address address);
|
||||
void mmap(VirtualAddress preferred_vaddr, PhysicalAddress paddr, u32);
|
||||
void mmap_region(Region& region, PhysicalAddress paddr);
|
||||
|
||||
virtual u32 get_segments_count();
|
||||
virtual u8 get_segment_start_bus(u32);
|
||||
virtual u8 get_segment_end_bus(u32);
|
||||
|
||||
ACPI_RAW::MCFG& m_mcfg;
|
||||
HashMap<u16, MMIOSegment*>& m_segments;
|
||||
RefPtr<VMObject> m_mmio_window;
|
||||
OwnPtr<Region> m_mmio_window_region;
|
||||
PCI::ChangeableAddress m_mapped_address;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue