From 0669dd82e2bc19c007690c6723cb4230ac4a55f9 Mon Sep 17 00:00:00 2001 From: Liav A Date: Fri, 23 Apr 2021 14:15:08 +0300 Subject: [PATCH] Kernel/PCI: Add helper to determine if device can access IO space --- Kernel/PCI/Access.cpp | 4 ++++ Kernel/PCI/Definitions.h | 1 + 2 files changed, 5 insertions(+) diff --git a/Kernel/PCI/Access.cpp b/Kernel/PCI/Access.cpp index 85c3f42abc..39ff9eef4e 100644 --- a/Kernel/PCI/Access.cpp +++ b/Kernel/PCI/Access.cpp @@ -204,6 +204,10 @@ void disable_memory_space(Address address) { write16(address, PCI_COMMAND, read16(address, PCI_COMMAND) & ~(1 << 1)); } +bool is_io_space_enabled(Address address) +{ + return (read16(address, PCI_COMMAND) & 1) != 0; +} void enable_interrupt_line(Address address) { diff --git a/Kernel/PCI/Definitions.h b/Kernel/PCI/Definitions.h index 0be1437abc..66fba2934e 100644 --- a/Kernel/PCI/Definitions.h +++ b/Kernel/PCI/Definitions.h @@ -204,6 +204,7 @@ private: }; ID get_id(PCI::Address); +bool is_io_space_enabled(Address); void enumerate(Function callback); void enable_interrupt_line(Address); void disable_interrupt_line(Address);