Kernel: Add I8042Controller to detect and manage PS/2 devices

Rework the PS/2 keyboard and mouse drivers to use a common 8042
controller driver. Also, reset and reconfigure the 8042 controller
as they are not guaranteed to be in the state that we expect.
This commit is contained in:
Tom 2020-11-07 12:09:28 -07:00 committed by Andreas Kling
commit 91db31880f
Notes: sideshowbarker 2024-07-19 01:25:22 +09:00
8 changed files with 617 additions and 261 deletions

View file

@ -36,13 +36,12 @@
#include <Kernel/Devices/EBRPartitionTable.h>
#include <Kernel/Devices/FullDevice.h>
#include <Kernel/Devices/GPTPartitionTable.h>
#include <Kernel/Devices/KeyboardDevice.h>
#include <Kernel/Devices/I8042Controller.h>
#include <Kernel/Devices/MBRPartitionTable.h>
#include <Kernel/Devices/MBVGADevice.h>
#include <Kernel/Devices/NullDevice.h>
#include <Kernel/Devices/PATAChannel.h>
#include <Kernel/Devices/PATADiskDevice.h>
#include <Kernel/Devices/PS2MouseDevice.h>
#include <Kernel/Devices/RandomDevice.h>
#include <Kernel/Devices/SB16.h>
#include <Kernel/Devices/SerialDevice.h>
@ -141,8 +140,7 @@ extern "C" [[noreturn]] void init()
ACPI::initialize();
VFS::initialize();
KeyboardDevice::initialize();
PS2MouseDevice::create();
I8042Controller::initialize();
Console::initialize();
klog() << "Starting SerenityOS...";