mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 19:37:35 +00:00
Kernel/PCI: Add helpers to enable IO and memory accesses
This commit is contained in:
parent
a2a7986527
commit
ecf897f7c4
2 changed files with 22 additions and 0 deletions
|
@ -187,6 +187,24 @@ ID get_id(Address address)
|
||||||
return { read16(address, PCI_VENDOR_ID), read16(address, PCI_DEVICE_ID) };
|
return { read16(address, PCI_VENDOR_ID), read16(address, PCI_DEVICE_ID) };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void enable_io_space(Address address)
|
||||||
|
{
|
||||||
|
write16(address, PCI_COMMAND, read16(address, PCI_COMMAND) | (1 << 0));
|
||||||
|
}
|
||||||
|
void disable_io_space(Address address)
|
||||||
|
{
|
||||||
|
write16(address, PCI_COMMAND, read16(address, PCI_COMMAND) & ~(1 << 0));
|
||||||
|
}
|
||||||
|
|
||||||
|
void enable_memory_space(Address address)
|
||||||
|
{
|
||||||
|
write16(address, PCI_COMMAND, read16(address, PCI_COMMAND) | (1 << 1));
|
||||||
|
}
|
||||||
|
void disable_memory_space(Address address)
|
||||||
|
{
|
||||||
|
write16(address, PCI_COMMAND, read16(address, PCI_COMMAND) & ~(1 << 1));
|
||||||
|
}
|
||||||
|
|
||||||
void enable_interrupt_line(Address address)
|
void enable_interrupt_line(Address address)
|
||||||
{
|
{
|
||||||
write16(address, PCI_COMMAND, read16(address, PCI_COMMAND) & ~(1 << 10));
|
write16(address, PCI_COMMAND, read16(address, PCI_COMMAND) & ~(1 << 10));
|
||||||
|
|
|
@ -227,6 +227,10 @@ Optional<u8> get_capabilities_pointer(Address);
|
||||||
Vector<Capability> get_capabilities(Address);
|
Vector<Capability> get_capabilities(Address);
|
||||||
void enable_bus_mastering(Address);
|
void enable_bus_mastering(Address);
|
||||||
void disable_bus_mastering(Address);
|
void disable_bus_mastering(Address);
|
||||||
|
void enable_io_space(Address);
|
||||||
|
void disable_io_space(Address);
|
||||||
|
void enable_memory_space(Address);
|
||||||
|
void disable_memory_space(Address);
|
||||||
PhysicalID get_physical_id(Address address);
|
PhysicalID get_physical_id(Address address);
|
||||||
|
|
||||||
class Access;
|
class Access;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue