diff --git a/Kernel/Devices/HID/PS2KeyboardDevice.cpp b/Kernel/Arch/x86/ISABus/HID/PS2KeyboardDevice.cpp similarity index 98% rename from Kernel/Devices/HID/PS2KeyboardDevice.cpp rename to Kernel/Arch/x86/ISABus/HID/PS2KeyboardDevice.cpp index ba8a3a3b25..b569f16e48 100644 --- a/Kernel/Devices/HID/PS2KeyboardDevice.cpp +++ b/Kernel/Arch/x86/ISABus/HID/PS2KeyboardDevice.cpp @@ -6,10 +6,10 @@ */ #include +#include #include #include #include -#include #include #include #include diff --git a/Kernel/Devices/HID/PS2KeyboardDevice.h b/Kernel/Arch/x86/ISABus/HID/PS2KeyboardDevice.h similarity index 95% rename from Kernel/Devices/HID/PS2KeyboardDevice.h rename to Kernel/Arch/x86/ISABus/HID/PS2KeyboardDevice.h index 24e9465eea..d3c63984ea 100644 --- a/Kernel/Devices/HID/PS2KeyboardDevice.h +++ b/Kernel/Arch/x86/ISABus/HID/PS2KeyboardDevice.h @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/Kernel/Devices/HID/PS2MouseDevice.cpp b/Kernel/Arch/x86/ISABus/HID/PS2MouseDevice.cpp similarity index 99% rename from Kernel/Devices/HID/PS2MouseDevice.cpp rename to Kernel/Arch/x86/ISABus/HID/PS2MouseDevice.cpp index 86f090ffea..e1bc3370c2 100644 --- a/Kernel/Devices/HID/PS2MouseDevice.cpp +++ b/Kernel/Arch/x86/ISABus/HID/PS2MouseDevice.cpp @@ -6,9 +6,9 @@ #include #include +#include #include #include -#include #include namespace Kernel { diff --git a/Kernel/Devices/HID/PS2MouseDevice.h b/Kernel/Arch/x86/ISABus/HID/PS2MouseDevice.h similarity index 96% rename from Kernel/Devices/HID/PS2MouseDevice.h rename to Kernel/Arch/x86/ISABus/HID/PS2MouseDevice.h index 773d58bd4e..e874ae42f4 100644 --- a/Kernel/Devices/HID/PS2MouseDevice.h +++ b/Kernel/Arch/x86/ISABus/HID/PS2MouseDevice.h @@ -8,7 +8,7 @@ #include #include -#include +#include #include #include #include diff --git a/Kernel/Devices/HID/VMWareMouseDevice.cpp b/Kernel/Arch/x86/ISABus/HID/VMWareMouseDevice.cpp similarity index 97% rename from Kernel/Devices/HID/VMWareMouseDevice.cpp rename to Kernel/Arch/x86/ISABus/HID/VMWareMouseDevice.cpp index b059477338..b2e9bc046a 100644 --- a/Kernel/Devices/HID/VMWareMouseDevice.cpp +++ b/Kernel/Arch/x86/ISABus/HID/VMWareMouseDevice.cpp @@ -5,8 +5,8 @@ */ #include +#include #include -#include #include namespace Kernel { diff --git a/Kernel/Devices/HID/VMWareMouseDevice.h b/Kernel/Arch/x86/ISABus/HID/VMWareMouseDevice.h similarity index 86% rename from Kernel/Devices/HID/VMWareMouseDevice.h rename to Kernel/Arch/x86/ISABus/HID/VMWareMouseDevice.h index 96e11f6923..63711ab1e7 100644 --- a/Kernel/Devices/HID/VMWareMouseDevice.h +++ b/Kernel/Arch/x86/ISABus/HID/VMWareMouseDevice.h @@ -8,8 +8,8 @@ #include #include -#include -#include +#include +#include #include #include diff --git a/Kernel/Devices/HID/I8042Controller.cpp b/Kernel/Arch/x86/ISABus/I8042Controller.cpp similarity index 98% rename from Kernel/Devices/HID/I8042Controller.cpp rename to Kernel/Arch/x86/ISABus/I8042Controller.cpp index bf48056068..c4ce6b62f1 100644 --- a/Kernel/Devices/HID/I8042Controller.cpp +++ b/Kernel/Arch/x86/ISABus/I8042Controller.cpp @@ -6,10 +6,10 @@ #include #include -#include -#include -#include -#include +#include +#include +#include +#include #include namespace Kernel { diff --git a/Kernel/Devices/HID/I8042Controller.h b/Kernel/Arch/x86/ISABus/I8042Controller.h similarity index 100% rename from Kernel/Devices/HID/I8042Controller.h rename to Kernel/Arch/x86/ISABus/I8042Controller.h diff --git a/Kernel/CMakeLists.txt b/Kernel/CMakeLists.txt index cb37e56307..ebb2ce04cb 100644 --- a/Kernel/CMakeLists.txt +++ b/Kernel/CMakeLists.txt @@ -62,13 +62,9 @@ set(KERNEL_SOURCES Devices/SelfTTYDevice.cpp Devices/SerialDevice.cpp Devices/ZeroDevice.cpp - Devices/HID/I8042Controller.cpp Devices/HID/HIDManagement.cpp Devices/HID/KeyboardDevice.cpp Devices/HID/MouseDevice.cpp - Devices/HID/PS2KeyboardDevice.cpp - Devices/HID/PS2MouseDevice.cpp - Devices/HID/VMWareMouseDevice.cpp GlobalProcessExposed.cpp Graphics/Bochs/DisplayConnector.cpp Graphics/Bochs/GraphicsAdapter.cpp @@ -339,6 +335,10 @@ if ("${SERENITY_ARCH}" STREQUAL "i686" OR "${SERENITY_ARCH}" STREQUAL "x86_64") Arch/x86/Hypervisor/VMWareBackdoor.cpp + Arch/x86/ISABus/HID/PS2KeyboardDevice.cpp + Arch/x86/ISABus/HID/PS2MouseDevice.cpp + Arch/x86/ISABus/HID/VMWareMouseDevice.cpp + Arch/x86/ISABus/I8042Controller.cpp Arch/x86/ISABus/IDEController.cpp Arch/x86/PCI/Controller/HostBridge.cpp Arch/x86/PCI/Initializer.cpp diff --git a/Kernel/Devices/HID/HIDManagement.cpp b/Kernel/Devices/HID/HIDManagement.cpp index 7641c0514c..0bb8bc8a53 100644 --- a/Kernel/Devices/HID/HIDManagement.cpp +++ b/Kernel/Devices/HID/HIDManagement.cpp @@ -4,10 +4,13 @@ * SPDX-License-Identifier: BSD-2-Clause */ +#include #include +#if ARCH(I386) || ARCH(X86_64) +# include +#endif #include #include -#include #include #include @@ -119,6 +122,7 @@ UNMAP_AFTER_INIT ErrorOr HIDManagement::enumerate() // set to emulate PS/2, we should not initialize the PS/2 controller. if (kernel_command_line().disable_ps2_controller()) return {}; +#if ARCH(I386) || ARCH(X86_64) m_i8042_controller = I8042Controller::initialize(); // Note: If ACPI is disabled or doesn't indicate that we have an i8042, we @@ -140,6 +144,7 @@ UNMAP_AFTER_INIT ErrorOr HIDManagement::enumerate() if (m_i8042_controller->keyboard()) m_hid_devices.append(m_i8042_controller->keyboard().release_nonnull()); +#endif return {}; } diff --git a/Kernel/Devices/HID/HIDManagement.h b/Kernel/Devices/HID/HIDManagement.h index 86f242945f..c2c212ddfc 100644 --- a/Kernel/Devices/HID/HIDManagement.h +++ b/Kernel/Devices/HID/HIDManagement.h @@ -61,7 +61,9 @@ private: size_t m_mouse_minor_number { 0 }; size_t m_keyboard_minor_number { 0 }; KeyboardClient* m_client { nullptr }; +#if ARCH(I386) || ARCH(X86_64) LockRefPtr m_i8042_controller; +#endif NonnullLockRefPtrVector m_hid_devices; Spinlock m_client_lock { LockRank::None }; };