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
parent e1c27c16d8
commit 91db31880f
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...";