1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 13:48:12 +00:00
serenity/Kernel/Devices
Liav A 53b65ddc41 Kernel: Make i8042 existence check more robust against faulty hardware
Some hardware controllers might reset when trying to do self-test, so
keep the configuration byte to restore it later on.
To ensure we are not missing the response from the i8042 controller,
bump the attempts count to 20 times after initiating self-test check.

Also, try to drain the i8042 controller output buffer as it might be a
early good indication on whether i8042 is present or not.
To ensure we drain all the output buffer, we attempt to read from the
buffer 50 times and not 20 times.
2022-02-20 19:48:46 +00:00
..
Audio Kernel/Audio: Ignore buffers with more than 4096 bytes of data in SB16 2022-02-14 11:39:19 +01:00
HID Kernel: Make i8042 existence check more robust against faulty hardware 2022-02-20 19:48:46 +00:00
AsyncDeviceRequest.cpp Kernel: Convert Processor::in_irq() to static current_in_irq() 2021-08-23 00:02:09 +02:00
AsyncDeviceRequest.h Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T> 2021-11-08 01:10:53 +01:00
BlockDevice.cpp Kernel: Remove the assumption of 512 block size in read/write_block 2022-01-29 17:41:06 +02:00
BlockDevice.h AK: Move integral log2 and exp to IntegerMath.h 2022-02-06 17:52:33 +00:00
CharacterDevice.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CharacterDevice.h Kernel: Make major and minor numbers to be DistinctNumerics 2021-12-23 23:02:39 +01:00
ConsoleDevice.cpp Kernel: Use u64 instead of size_t for File::can_read offset 2022-01-25 22:41:17 +02:00
ConsoleDevice.h Kernel: Use u64 instead of size_t for File::can_write offset 2022-01-25 22:41:17 +02:00
Device.cpp Kernel: Rename File::{before_removing => will_be_destroyed} 2021-12-29 12:04:15 +01:00
Device.h Kernel: Protect global device map with spinlock instead of mutx 2022-02-03 16:11:26 +01:00
DeviceControlDevice.cpp Kernel: Use u64 instead of size_t for File::can_read offset 2022-01-25 22:41:17 +02:00
DeviceControlDevice.h Kernel: Use u64 instead of size_t for File::can_write offset 2022-01-25 22:41:17 +02:00
DeviceManagement.cpp Kernel/Audio: Introduce a new design architecture for the subsystem 2022-02-14 11:39:19 +01:00
DeviceManagement.h Kernel/Audio: Introduce a new design architecture for the subsystem 2022-02-14 11:39:19 +01:00
FullDevice.cpp Kernel: Use u64 instead of size_t for File::can_read offset 2022-01-25 22:41:17 +02:00
FullDevice.h Kernel: Use u64 instead of size_t for File::can_write offset 2022-01-25 22:41:17 +02:00
KCOVDevice.cpp Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T> 2021-11-08 01:10:53 +01:00
KCOVDevice.h Kernel: Use u64 instead of size_t for File::can_write offset 2022-01-25 22:41:17 +02:00
KCOVInstance.cpp Kernel: Propagate overflow errors from Memory::page_round_up 2021-12-28 23:08:50 +01:00
KCOVInstance.h Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T> 2021-11-08 01:10:53 +01:00
MemoryDevice.cpp Kernel: Make map_typed() & map_typed_writable() fallible using ErrorOr 2022-01-13 22:40:25 +01:00
MemoryDevice.h Kernel: Use u64 instead of size_t for File::can_write offset 2022-01-25 22:41:17 +02:00
NullDevice.cpp Kernel: Use u64 instead of size_t for File::can_read offset 2022-01-25 22:41:17 +02:00
NullDevice.h Kernel: Use u64 instead of size_t for File::can_write offset 2022-01-25 22:41:17 +02:00
PCISerialDevice.cpp Kernel: Remove the kmalloc_eternal heap :^) 2021-12-28 21:02:38 +01:00
PCISerialDevice.h Kernel: Remove the kmalloc_eternal heap :^) 2021-12-28 21:02:38 +01: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: Use u64 instead of size_t for File::can_read offset 2022-01-25 22:41:17 +02:00
RandomDevice.h Kernel: Use u64 instead of size_t for File::can_write offset 2022-01-25 22:41:17 +02:00
SerialDevice.cpp Kernel: Use u64 instead of size_t for File::can_write offset 2022-01-25 22:41:17 +02:00
SerialDevice.h Kernel: Use u64 instead of size_t for File::can_write offset 2022-01-25 22:41:17 +02:00
VMWareBackdoor.cpp Kernel: Stop using the make<T> factory method in the Kernel 2022-02-03 23:33:20 +01:00
VMWareBackdoor.h Kernel: Remove the kmalloc_eternal heap :^) 2021-12-28 21:02:38 +01:00
ZeroDevice.cpp Kernel: Use u64 instead of size_t for File::can_read offset 2022-01-25 22:41:17 +02:00
ZeroDevice.h Kernel: Use u64 instead of size_t for File::can_write offset 2022-01-25 22:41:17 +02:00