1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-20 14:45:07 +00:00
serenity/Kernel/Graphics/VirtIOGPU
Liav A ed6c1f53af Kernel/VirtIO: Defer initialization of device out of the constructor
This ensures we safely handle interrupts (which can call virtual
functions), so they don't happen in the constructor - this pattern can
lead to a crash, if we are still in the constructor context because
not all methods are available for usage (some are pure virtual,
so it's possible to call __cxa_pure_virtual).

Also, under some conditions like adding a PCI device via PCI-passthrough
mechanism in QEMU, it became exposed to the eye that the code asserts on
RNG::handle_device_config_change(). That device has no configuration but
if the hypervisor still misbehaves and tries to configure it, we should
simply return false to indicate nothing happened.
2021-09-04 16:36:02 +02:00
..
Console.cpp Kernel: Put VirtIOGPU related types into a namespace 2021-07-18 19:58:17 +04:30
Console.h Kernel: Rename VirtIOGPU/VirtIOGPU.cpp to VirtIOGPU/GPU.cpp 2021-07-18 19:58:17 +04:30
FrameBufferDevice.cpp Kernel: Make Kernel::VMObject allocation functions return KResultOr 2021-08-15 15:41:02 +02:00
FrameBufferDevice.h Kernel/VirtIO: Remove redundant VirtIO word from filenames 2021-08-31 16:51:13 +02:00
GPU.cpp Kernel/VirtIO: Defer initialization of device out of the constructor 2021-09-04 16:36:02 +02:00
GPU.h Kernel/VirtIO: Defer initialization of device out of the constructor 2021-09-04 16:36:02 +02:00
GraphicsAdapter.cpp Kernel/VirtIO: Defer initialization of device out of the constructor 2021-09-04 16:36:02 +02:00
GraphicsAdapter.h Kernel: Rename PCI::DeviceController => PCI::Device 2021-08-23 01:07:45 +02:00
Protocol.h Kernel: Replace VirtIOGPU reinterpret casts with AK::BinaryBufferWriter 2021-07-18 19:58:17 +04:30