mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 23:50:19 +00:00
9ab9e548f4
When enumerating the hardware using MMIO mode, it would attempt to create a physical ID first. To create a physical ID, it needs to retrieve the capabilities of the device. When enumerating the first device, there would be no device configuration space mappings. Access::get_capabilities_pointer calls PCI::read16, which in turn goes to MMIOAccess::read16_field. MMIOAccess::read16_field attempts to get a device configuration space and fully expects to get one. However, since this is the first device, there are none and it crashes with an m_has_value assertion failure. This fixes this by creating the device configuration space mapping before creating the physical ID. Testing with VMware Player 16.1.0. |
||
---|---|---|
.. | ||
Access.cpp | ||
Access.h | ||
Definitions.h | ||
Device.cpp | ||
Device.h | ||
DeviceController.cpp | ||
DeviceController.h | ||
Initializer.cpp | ||
Initializer.h | ||
IOAccess.cpp | ||
IOAccess.h | ||
MMIOAccess.cpp | ||
MMIOAccess.h |