1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-23 15:05:07 +00:00
serenity/Kernel/Bus/VirtIO
Liav A 666c0c5a08 Kernel/VirtIO: Determine names without PCI access in IRQ context
This is a fix so the VirtIO code doesn't lead to assertion because we
try to determine the name based on the PCI values of the VirtIO device,
because trying to read from the PCI configuration space requires to
acquire a Mutex, which fails in an IRQ context.

To ensure we never encounter a situation when we call a pure virtual
function in an IRQ context, let's make class_name() method to be a
non-pure virtual function, so it can be still called at anytime.
2021-09-08 16:47:01 +02:00
..
Console.cpp Kernel/Devices: Ensure appropriate locking on the Device map singleton 2021-09-08 00:42:20 +02:00
Console.h Kernel/VirtIO: Defer initialization of device out of the constructor 2021-09-04 16:36:02 +02:00
ConsolePort.cpp Kernel/Devices: Ensure appropriate locking on the Device map singleton 2021-09-08 00:42:20 +02:00
ConsolePort.h Kernel/Devices: Ensure appropriate locking on the Device map singleton 2021-09-08 00:42:20 +02:00
Device.cpp Kernel/VirtIO: Determine names without PCI access in IRQ context 2021-09-08 16:47:01 +02:00
Device.h Kernel/VirtIO: Determine names without PCI access in IRQ context 2021-09-08 16:47:01 +02:00
Queue.cpp Kernel: Make kernel region allocators return KResultOr<NOP<Region>> 2021-09-06 01:55:27 +02:00
Queue.h Kernel: Make all Spinlocks use u8 for storage, remove template 2021-09-05 20:46:02 +02:00
RNG.cpp Kernel: Make kernel region allocators return KResultOr<NOP<Region>> 2021-09-06 01:55:27 +02:00
RNG.h Kernel/VirtIO: Defer initialization of device out of the constructor 2021-09-04 16:36:02 +02:00