1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 03:17:35 +00:00

Kernel: Keep records of PCI::Address & PCI::ID pairs for enumeration

This commit is contained in:
Liav A 2020-04-10 20:25:03 +03:00 committed by Andreas Kling
parent 688dd9ea66
commit 65f939b55c
12 changed files with 49 additions and 13 deletions

View file

@ -27,6 +27,7 @@
#pragma once
#include <AK/String.h>
#include <AK/Vector.h>
#include <Kernel/PCI/Definitions.h>
namespace Kernel {
@ -38,7 +39,7 @@ public:
MMIO,
};
virtual void enumerate_all(Function<void(Address, ID)>&) = 0;
void enumerate(Function<void(Address, ID)>&) const;
void enumerate_bus(int type, u8 bus, Function<void(Address, ID)>&);
void enumerate_functions(int type, u8 bus, u8 slot, u8 function, Function<void(Address, ID)>& callback);
@ -60,7 +61,10 @@ public:
virtual u32 read32_field(Address address, u32 field) = 0;
protected:
virtual void enumerate_hardware(Function<void(Address, ID)>) = 0;
Access();
Vector<PhysicalID> m_physical_ids;
};
}