ladybird/Kernel/Graphics
Liav A aee4786d8e Kernel: Introduce the DeviceManagement singleton
This singleton simplifies many aspects that we struggled with before:
1. There's no need to make derived classes of Device expose the
constructor as public anymore. The singleton is a friend of them, so he
can call the constructor. This solves the issue with try_create_device
helper neatly, hopefully for good.
2. Getting a reference of the NullDevice is now being done from this
singleton, which means that NullDevice no longer needs to use its own
singleton, and we can apply the try_create_device helper on it too :)
3. We can now defer registration completely after the Device constructor
which means the Device constructor is merely assigning the major and
minor numbers of the Device, and the try_create_device helper ensures it
calls the after_inserting method immediately after construction. This
creates a great opportunity to make registration more OOM-safe.
2021-09-17 01:02:48 +03:00
..
Bochs Kernel/PCI: Simplify the entire subsystem 2021-09-07 13:47:37 +02:00
Console Kernel: Make TextModeConsole store VGA window base as VirtualAddress 2021-09-08 20:16:00 +02:00
Intel Kernel/PCI: Simplify the entire subsystem 2021-09-07 13:47:37 +02:00
VirtIOGPU Kernel/Devices: Defer creation of SysFS component after the constructor 2021-09-11 11:41:14 +02:00
Definitions.h Kernel: Switch static_asserts of a type size to AK::AssertSize 2021-09-05 20:08:57 +02:00
FramebufferDevice.cpp Kernel: Introduce the DeviceManagement singleton 2021-09-17 01:02:48 +03:00
FramebufferDevice.h Kernel: Introduce the DeviceManagement singleton 2021-09-17 01:02:48 +03:00
GraphicsDevice.h Kernel: Simplify graphics initialization somewhat 2021-07-03 16:28:49 +02:00
GraphicsManagement.cpp Kernel/PCI: Simplify the entire subsystem 2021-09-07 13:47:37 +02:00
GraphicsManagement.h Kernel: Make all Spinlocks use u8 for storage, remove template 2021-09-05 20:46:02 +02:00
VGACompatibleAdapter.cpp Kernel: Rename PCI::DeviceController => PCI::Device 2021-08-23 01:07:45 +02:00
VGACompatibleAdapter.h Kernel: Rename PCI::DeviceController => PCI::Device 2021-08-23 01:07:45 +02:00