1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2026-01-16 17:11:00 +00:00
serenity/Kernel/Devices
Liav A 89a8920764 Kernel: Untie PS2 mouse and keyboard devices from i8042 implementation
To ensure actual PS2 code is not tied to the i8042 code, we make them
separated in the following ways:
- PS2KeyboardDevice and PS2MouseDevice classes are no longer inheriting
  from the IRQHandler class. Instead we have specific IRQHandler derived
  class for the i8042 controller implementation, which is used to ensure
  that we don't end up mixing PS2 code with low-level interrupt handling
  functionality. In the future this means that we could add a driver for
  other PS2 controllers that might have only one interrupt handler but
  multiple PS2 devices are attached, therefore, making it easier to put
  the right propagation flow from the controller driver all the way to
  the HID core code.
- A simple abstraction layer is added between the PS2 command set which
  devices could use and the actual implementation low-level commands.
  This means that the code in PS2MouseDevice and PS2KeyboardDevice
  classes is no longer tied to i8042 implementation-specific commands,
  so now these objects could send PS2 commands to their PS2 controller
  and get a PS2Response which abstracts the given response too.
2023-06-21 05:02:09 -06:00
..
Audio Kernel: Set audio sample rate to 44.1 KHz by default 2023-06-21 12:26:32 +02:00
Generic Kernel: Move {Virtual,Physical}Address classes to the Memory directory 2023-06-04 21:32:34 +02:00
GPU Kernel: Move all Graphics-related code into Devices/GPU directory 2023-06-06 00:40:32 +02:00
HID Kernel: Untie PS2 mouse and keyboard devices from i8042 implementation 2023-06-21 05:02:09 -06:00
Storage Kernel: Move all boot-related code to the new Boot subdirectory 2023-06-04 21:32:34 +02:00
AsyncDeviceRequest.cpp AK: Rename Time to Duration 2023-05-24 23:18:07 +02:00
AsyncDeviceRequest.h Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
BlockDevice.cpp Kernel/Devices: Abstract SysFS Device add/remove methods more properly 2022-07-19 11:02:37 +01:00
BlockDevice.h Kernel: Make self-contained locking smart pointers their own classes 2022-08-20 17:20:43 +02:00
CharacterDevice.cpp Kernel/Devices: Abstract SysFS Device add/remove methods more properly 2022-07-19 11:02:37 +01:00
CharacterDevice.h Kernel/Devices: Abstract SysFS Device add/remove methods more properly 2022-07-19 11:02:37 +01:00
Device.cpp Kernel: Get rid of *LockRefPtr in the SysFS filesystem code 2023-04-14 19:24:54 +02:00
Device.h Kernel: Get rid of *LockRefPtr in the SysFS filesystem code 2023-04-14 19:24:54 +02:00
DeviceManagement.cpp Kernel: Add DeviceManagement::try_for_each() for fallible iteration 2022-02-27 20:37:57 +01:00
DeviceManagement.h Kernel: Move a bunch of generic devices code into new subdirectory 2023-05-19 21:49:21 +02:00
KCOVDevice.cpp Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
KCOVDevice.h Kernel: Use non-locking {Nonnull,}RefPtr for OpenFileDescription 2023-03-07 00:30:12 +01:00
KCOVInstance.cpp Kernel: Propagate overflow errors from Memory::page_round_up 2021-12-28 23:08:50 +01:00
KCOVInstance.h Kernel+Userland: Unify declarations for KCOV in Kernel/API/kcov.h 2023-02-24 20:35:45 +01:00
PCISerialDevice.cpp Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
PCISerialDevice.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
SerialDevice.cpp Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
SerialDevice.h Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00