ladybird/Kernel/Devices
Tom e445ff670d Kernel: Implement an asynchronous device request stack
This allows issuing asynchronous requests for devices and waiting
on the completion of the request. The requests can cascade into
multiple sub-requests.

Since IRQs may complete at any time, if the current process is no
longer the same that started the process, we need to swich the
paging context before accessing user buffers.

Change the PATA driver to use this model.
2020-11-12 18:04:30 +01:00
..
AsyncDeviceRequest.cpp Kernel: Implement an asynchronous device request stack 2020-11-12 18:04:30 +01:00
AsyncDeviceRequest.h Kernel: Implement an asynchronous device request stack 2020-11-12 18:04:30 +01:00
BlockDevice.cpp Kernel: Implement an asynchronous device request stack 2020-11-12 18:04:30 +01:00
BlockDevice.h Kernel: Implement an asynchronous device request stack 2020-11-12 18:04:30 +01:00
BXVGADevice.cpp Kernel: Return ENOMEM in more places 2020-09-16 20:38:19 +02:00
BXVGADevice.h Kernel: Implement an asynchronous device request stack 2020-11-12 18:04:30 +01:00
CharacterDevice.cpp Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
CharacterDevice.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
Device.cpp Kernel: Implement an asynchronous device request stack 2020-11-12 18:04:30 +01:00
Device.h Kernel: Implement an asynchronous device request stack 2020-11-12 18:04:30 +01:00
DiskPartition.cpp Kernel: Implement an asynchronous device request stack 2020-11-12 18:04:30 +01:00
DiskPartition.h Kernel: Implement an asynchronous device request stack 2020-11-12 18:04:30 +01:00
EBRPartitionTable.cpp Kernel: Implement an asynchronous device request stack 2020-11-12 18:04:30 +01:00
EBRPartitionTable.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
FullDevice.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
FullDevice.h Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
GPTPartitionTable.cpp Kernel: Implement an asynchronous device request stack 2020-11-12 18:04:30 +01:00
GPTPartitionTable.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
I8042Controller.cpp Kernel: Add I8042Controller to detect and manage PS/2 devices 2020-11-12 18:04:16 +01:00
I8042Controller.h Kernel: Add I8042Controller to detect and manage PS/2 devices 2020-11-12 18:04:16 +01:00
KeyboardDevice.cpp Kernel: Add I8042Controller to detect and manage PS/2 devices 2020-11-12 18:04:16 +01:00
KeyboardDevice.h Kernel: Add I8042Controller to detect and manage PS/2 devices 2020-11-12 18:04:16 +01:00
MBRPartitionTable.cpp Everywhere: Fix more typos 2020-10-03 12:36:49 +02:00
MBRPartitionTable.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
MBVGADevice.cpp Kernel: Return ENOMEM in more places 2020-09-16 20:38:19 +02:00
MBVGADevice.h Kernel: Implement an asynchronous device request stack 2020-11-12 18:04:30 +01:00
NullDevice.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
NullDevice.h Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
PATAChannel.cpp Kernel: Implement an asynchronous device request stack 2020-11-12 18:04:30 +01:00
PATAChannel.h Kernel: Implement an asynchronous device request stack 2020-11-12 18:04:30 +01:00
PATADiskDevice.cpp Kernel: Implement an asynchronous device request stack 2020-11-12 18:04:30 +01:00
PATADiskDevice.h Kernel: Implement an asynchronous device request stack 2020-11-12 18:04:30 +01:00
PCSpeaker.cpp Meta+Kernel: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
PCSpeaker.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
PS2MouseDevice.cpp Kernel: Add I8042Controller to detect and manage PS/2 devices 2020-11-12 18:04:16 +01:00
PS2MouseDevice.h Kernel: Add I8042Controller to detect and manage PS/2 devices 2020-11-12 18:04:16 +01:00
RandomDevice.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
RandomDevice.h Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
SB16.cpp Meta+Kernel: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
SB16.h Meta+Kernel: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
SerialDevice.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
SerialDevice.h Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
UHCIController.cpp Kernel/USB: Disable autodetection of UHCI controllers for now 2020-09-05 15:42:54 +02:00
UHCIController.h Kernel: Remove unnecessary class member in UHCIController 2020-09-19 18:39:09 +02:00
VMWareBackdoor.cpp Meta+Kernel: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
VMWareBackdoor.h Kernel: Switch singletons to use new Singleton class 2020-08-25 09:48:48 +02:00
ZeroDevice.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
ZeroDevice.h Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00