Skip to content

Commit

Permalink
Kernel/riscv64: Disable 64-bit PCI MMIO regions for now
Browse files Browse the repository at this point in the history
This hack prevents MM from crashing at addresses that are not covered by
its memory map.
  • Loading branch information
spholz committed May 8, 2024
1 parent a5eb11a commit 3106ca4
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions Kernel/Arch/riscv64/PCI/Initializer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,12 @@ void initialize()
}
}

// FIXME: 64-bit PCI MMIO regions are very likely above 4G and thus also quite likely after the RAM region(s).
// MemoryManager can't handle accesses to memory after RAM and will panic on such accesses,
// so make the PCI resource allocator only use the (likely smaller) 32-bit region instead.
// The PCI resource allocator will use the 32-bit region if there is no 64-bit region.
pci_64bit_mmio_size = 0;

// 2.4.3 Interrupt Nexus Properties
// #interrupt-cells: [2] `1` for pci busses
// interrupt-map:
Expand Down

0 comments on commit 3106ca4

Please sign in to comment.