ladybird/Kernel/Devices
Andreas Kling b2e502e533 Kernel: Add Thread::block_until(Condition).
Replace the class-based snooze alarm mechanism with a per-thread callback.
This makes it easy to block the current thread on an arbitrary condition:

    void SomeDevice::wait_for_irq() {
        m_interrupted = false;
        current->block_until([this] { return m_interrupted; });
    }
    void SomeDevice::handle_irq() {
        m_interrupted = true;
    }

Use this in the SB16 driver, and in NetworkTask :^)
2019-07-14 14:54:54 +02:00
..
BlockDevice.cpp Kernel: Move devices into Kernel/Devices/. 2019-04-03 12:36:40 +02:00
BlockDevice.h Kernel: Move VirtualAddress.h into VM/ 2019-07-09 15:04:45 +02:00
BXVGADevice.cpp AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
BXVGADevice.h Kernel: Move PhysicalAddress.h into VM/ 2019-07-09 15:04:45 +02:00
CharacterDevice.cpp Kernel: Move devices into Kernel/Devices/. 2019-04-03 12:36:40 +02:00
CharacterDevice.h Add clang-format file 2019-05-28 17:31:20 +02:00
DebugLogDevice.cpp AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
DebugLogDevice.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
Device.cpp Kernel: Run clang-format on everything. 2019-06-07 11:43:58 +02:00
Device.h Kernel: Move File.{cpp,h} into FileSystem/ 2019-07-09 15:04:45 +02:00
DiskDevice.cpp AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
DiskDevice.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
DiskPartition.cpp Kernel: Remove use of copy_ref() in favor of regular RefPtr copies. 2019-07-11 15:40:04 +02:00
DiskPartition.h Kernel: Remove use of copy_ref() in favor of regular RefPtr copies. 2019-07-11 15:40:04 +02:00
FileBackedDiskDevice.cpp AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
FileBackedDiskDevice.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
FullDevice.cpp AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
FullDevice.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
IDEDiskDevice.cpp Kernel: Move File.{cpp,h} into FileSystem/ 2019-07-09 15:04:45 +02:00
IDEDiskDevice.h Kernel: Move PhysicalAddress.h into VM/ 2019-07-09 15:04:45 +02:00
KeyboardDevice.cpp Kernel: Move PIC.cpp into Arch/i386/ 2019-07-09 15:04:43 +02:00
KeyboardDevice.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
MBRPartitionTable.cpp Kernel: Remove use of copy_ref() in favor of regular RefPtr copies. 2019-07-11 15:40:04 +02:00
MBRPartitionTable.h Kernel: Remove use of copy_ref() in favor of regular RefPtr copies. 2019-07-11 15:40:04 +02:00
NullDevice.cpp AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
NullDevice.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
PCSpeaker.cpp Kernel: Move File.{cpp,h} into FileSystem/ 2019-07-09 15:04:45 +02:00
PCSpeaker.h Kernel: Add a beep() syscall that beeps the PC speaker. 2019-05-15 21:40:41 +02:00
PS2MouseDevice.cpp AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
PS2MouseDevice.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
RandomDevice.cpp AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
RandomDevice.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
SB16.cpp Kernel: Add Thread::block_until(Condition). 2019-07-14 14:54:54 +02:00
SB16.h Kernel: Add Thread::block_until(Condition). 2019-07-14 14:54:54 +02:00
SerialDevice.cpp AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
SerialDevice.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
ZeroDevice.cpp AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
ZeroDevice.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00