Kernel: Fix PCI bugs

IO BarRegion used vaddr instead of the correct paddr. Add API for
memory region iobase query.
This commit is contained in:
2023-10-16 16:50:49 +03:00
parent 37bc52988c
commit 0fdf8b6f68
2 changed files with 17 additions and 11 deletions

View File

@@ -29,8 +29,9 @@ namespace Kernel::PCI
~BarRegion();
BarType type() const { return m_type; }
vaddr_t vaddr() const { return m_vaddr; }
paddr_t paddr() const { return m_paddr; }
vaddr_t iobase() const { ASSERT(m_type == BarType::IO); return m_paddr; }
vaddr_t vaddr() const { ASSERT(m_type == BarType::MEM); return m_vaddr; }
paddr_t paddr() const { ASSERT(m_type == BarType::MEM); return m_paddr; }
size_t size() const { return m_size; }
void write8(off_t, uint8_t);