ladybird/Kernel/Devices
Jelle Raaijmakers a4b1c0fd0c Kernel: Process available VMWare mouse events immediately
The Qemu I8042 controller does not send one IRQ per event, it sends
over four since it will not stop trying to emulate the PS/2 mouse.

If the VMWare backdoor is active, a fake I8042 mouse event will be sent
that we can then use to check if there are VMWare mouse events present.
However, we were only processing one mouse event at a time, even though
multiple events could have been queued up. Luckily this does not often
lead to issues, since after the first IRQ we would still get three
additional interrupts that would then empty the queue.

This change makes sure we always empty the event queue immediately,
instead of waiting on the next interrupt to happen. Functionally this
changes nothing - it could merely improve latency by not waiting for
new interrupts to come in.

Coincidently, this brings our implementation closer to how Linux deals
with the VMMouse.
2021-11-04 18:53:37 +01:00
..
HID Kernel: Process available VMWare mouse events immediately 2021-11-04 18:53:37 +01:00
AsyncDeviceRequest.cpp Kernel: Convert Processor::in_irq() to static current_in_irq() 2021-08-23 00:02:09 +02:00
AsyncDeviceRequest.h AK+Everywhere: Reduce the number of template parameters of IntrusiveList 2021-09-10 18:05:46 +03:00
BlockDevice.cpp Kernel: Make Device request creation return KResultOr 2021-09-07 16:42:03 +02:00
BlockDevice.h Kernel/Storage: Implement basic AHCI hotplug support 2021-09-08 00:42:20 +02:00
CharacterDevice.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CharacterDevice.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ConsoleDevice.cpp Kernel: Move x86 IO instructions code into the x86 specific folder 2021-10-01 12:27:20 +02:00
ConsoleDevice.h Kernel: Use operator ""sv in all class_name() implementations 2021-10-03 13:36:10 +02:00
Device.cpp Kernel: Clarify ambiguous {File,Description}::absolute_path 2021-10-31 12:06:28 +01:00
Device.h Kernel: Clarify ambiguous {File,Description}::absolute_path 2021-10-31 12:06:28 +01:00
DeviceManagement.cpp Kernel/Devices: Use try_create_device helper for SB16 2021-09-17 01:02:48 +03:00
DeviceManagement.h Kernel: Add cross platform RegisterState header and Aarch64 version 2021-10-15 21:48:45 +01:00
FullDevice.cpp Kernel: Introduce the DeviceManagement singleton 2021-09-17 01:02:48 +03:00
FullDevice.h Kernel: Use operator ""sv in all class_name() implementations 2021-10-03 13:36:10 +02:00
KCOVDevice.cpp Kernel: Introduce the DeviceManagement singleton 2021-09-17 01:02:48 +03:00
KCOVDevice.h Kernel: Use operator ""sv in all class_name() implementations 2021-10-03 13:36:10 +02:00
KCOVInstance.cpp Kernel/KCOV: Use TRY() in KCOVInstance::buffer_allocate() 2021-09-06 20:33:35 +02:00
KCOVInstance.h Kernel/KCOV: Bring closer to typical SerenityOS coding style 2021-09-06 01:55:27 +02:00
MemoryDevice.cpp Kernel: Introduce the DeviceManagement singleton 2021-09-17 01:02:48 +03:00
MemoryDevice.h Kernel: Use operator ""sv in all class_name() implementations 2021-10-03 13:36:10 +02:00
NullDevice.cpp Kernel: Introduce the DeviceManagement singleton 2021-09-17 01:02:48 +03:00
NullDevice.h Kernel: Use operator ""sv in all class_name() implementations 2021-10-03 13:36:10 +02:00
PCISerialDevice.cpp Kernel/PCI: Remove Address from enumeration callback 2021-09-29 11:24:33 +02:00
PCISerialDevice.h Kernel: Rename two PCI components 2021-09-29 11:24:33 +02:00
PCSpeaker.cpp Kernel: Move x86 IO instructions code into the x86 specific folder 2021-10-01 12:27:20 +02:00
PCSpeaker.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
RandomDevice.cpp Kernel: Introduce the DeviceManagement singleton 2021-09-17 01:02:48 +03:00
RandomDevice.h Kernel: Use operator ""sv in all class_name() implementations 2021-10-03 13:36:10 +02:00
SB16.cpp Kernel: Move x86 IO instructions code into the x86 specific folder 2021-10-01 12:27:20 +02:00
SB16.h Kernel: Use operator ""sv in all class_name() implementations 2021-10-03 13:36:10 +02:00
SerialDevice.cpp Kernel: Move x86 IO instructions code into the x86 specific folder 2021-10-01 12:27:20 +02:00
SerialDevice.h Kernel: Use operator ""sv in all class_name() implementations 2021-10-03 13:36:10 +02:00
VMWareBackdoor.cpp Kernel: Process available VMWare mouse events immediately 2021-11-04 18:53:37 +01:00
VMWareBackdoor.h Kernel: Process available VMWare mouse events immediately 2021-11-04 18:53:37 +01:00
ZeroDevice.cpp Kernel: Introduce the DeviceManagement singleton 2021-09-17 01:02:48 +03:00
ZeroDevice.h Kernel: Use operator ""sv in all class_name() implementations 2021-10-03 13:36:10 +02:00