serenity/Kernel
Andreas Kling f469fb47b8 Kernel: Move Thread::block<BlockerType>() out of the Thread.h header
This function is large and unwieldy and forces Thread.h to #include
a bunch of things. The only reason it was in the header is because we
need to instantiate a blocker based on the templated BlockerType.

We actually keep block<BlockerType>() in the header, but move the
bulk of the function body out of line into Thread::block_impl().

To preserve destructor ordering, we add Blocker::finalize() which is
called where we'd previously destroy the Blocker.
2022-01-30 16:21:59 +01:00
..
API Kernel: Add ioctl to get the EDID from a framebuffer 2022-01-23 22:45:21 +00:00
Arch Everywhere: Remove redundant inline keyword 2022-01-29 21:45:17 +02:00
Bus Kernel: Make UHCIController::spawn_port_process OOM-fallible 2022-01-28 19:05:52 +02:00
Devices Kernel: Support PS/2 right super key 2022-01-30 15:08:49 +01:00
FileSystem Kernel: Use HashCompatible HashMap lookups instead of specifying a hash 2022-01-29 23:01:23 +02:00
Firmware Kernel: Replace {String => KString}::formatted in ACPISysFSDirectory 2022-01-21 16:27:21 +01:00
Graphics Kernel: Convert MemoryManager::allocate_user_physical_page to ErrorOr 2022-01-28 19:05:52 +02:00
Heap Kernel: Include slabheaps in kmalloc statistics 2022-01-24 14:09:55 +02:00
Interrupts Kernel: Make map_typed() & map_typed_writable() fallible using ErrorOr 2022-01-13 22:40:25 +01:00
Library AK+Kernel: Remove one_ref_left() footgun 2022-01-11 01:12:16 +01:00
Locking Kernel: Stop using HashMap in Mutex 2022-01-29 16:45:39 +01:00
Memory Everywhere: Remove redundant inline keyword 2022-01-29 21:45:17 +02:00
Net Kernel: Stop using HashMap in Mutex 2022-01-29 16:45:39 +01:00
Prekernel Prekernel: Handle synchronous EL1 exceptions in C++ on aarch64 2022-01-24 06:57:59 +00:00
Storage Kernel: Optimize StorageDevice read and write function 2022-01-29 17:41:06 +02:00
Syscalls Kernel: Stop using HashMap in Mutex 2022-01-29 16:45:39 +01:00
Tasks Kernel: Ignore allocation failures during thread finalization 2022-01-26 22:05:34 +00:00
Time Kernel: Create the time page region before initializing the timers 2022-01-18 21:00:46 +02:00
TTY Kernel: Use u64 instead of size_t for File::can_write offset 2022-01-25 22:41:17 +02:00
AddressSanitizer.cpp
AddressSanitizer.h
Assertions.h
AtomicEdgeAction.h
BootInfo.h
CMakeLists.txt Kernel: Add ioctl to get the EDID from a framebuffer 2022-01-23 22:45:21 +00:00
CMOS.cpp
CMOS.h
CommandLine.cpp Kernel: Add CommandLine option to disable or enable the PC speaker 2022-01-23 00:40:54 +00:00
CommandLine.h Kernel: Add CommandLine option to disable or enable the PC speaker 2022-01-23 00:40:54 +00:00
Coredump.cpp Kernel: Convert CoreDump to KString using try_serialize_absolute_path 2022-01-12 16:09:09 +02:00
Coredump.h
Debug.h.in Kernel: Stop using HashMap in Mutex 2022-01-29 16:45:39 +01:00
DoubleBuffer.cpp
DoubleBuffer.h
embedmap.sh
Forward.h
FutexQueue.cpp
FutexQueue.h
GlobalProcessExposed.cpp Kernel: Switch process file descriptor table from spinlock to mutex 2022-01-29 02:17:09 +01:00
init.cpp Kernel: Perform DeviceManagement initialization after MM is initialized 2022-01-25 22:41:26 +02:00
KBuffer.h Kernel: Propagate overflow errors from Memory::page_round_up 2021-12-28 23:08:50 +01:00
KBufferBuilder.cpp Kernel+AK: Eliminate a couple of temporary String allocations 2021-12-30 14:16:03 +01:00
KBufferBuilder.h Kernel: Make Thread::backtrace() fallible using KString 2022-01-12 16:09:09 +02:00
KLexicalPath.cpp
KLexicalPath.h
kprintf.cpp Kernel: Simplify some if statements 2021-12-30 14:32:17 +01:00
kstdio.h
KString.cpp
KString.h Kernel: Make {Nonnull,}OwnPtr<KString> hash compatible with StringView 2022-01-29 23:01:23 +02:00
KSyms.cpp Kernel: Remove the kmalloc_eternal heap :^) 2021-12-28 21:02:38 +01:00
KSyms.h
linker.ld Kernel+Toolchain: Use .init_array section for global constructors 2022-01-24 10:41:47 +00:00
MiniStdLib.cpp
mkmap.sh Kernel: Use the toolchain's nm in mkmap.sh 2021-12-30 18:10:51 +01:00
Multiboot.h Kernel: Only use multiboot framebuffer details if present 2022-01-06 22:34:11 +01:00
Panic.cpp Kernel: Ensure that CommandLine is initialized before choosing PanicMode 2022-01-21 19:34:10 +02:00
Panic.h
PerformanceEventBuffer.cpp Kernel: Make PerformanceEventBuffer::add_process fallible with ErrorOr 2022-01-12 16:09:09 +02:00
PerformanceEventBuffer.h Kernel: Make PerformanceEventBuffer::add_process fallible with ErrorOr 2022-01-12 16:09:09 +02:00
PerformanceManager.h Kernel: Make PerformanceEventBuffer::add_process fallible with ErrorOr 2022-01-12 16:09:09 +02:00
PhysicalAddress.h
Process.cpp Kernel: Stop using HashMap in Mutex 2022-01-29 16:45:39 +01:00
Process.h Kernel: Stop using HashMap in Mutex 2022-01-29 16:45:39 +01:00
ProcessExposed.cpp Kernel: Add some implied auto qualifiers 2021-12-30 14:32:17 +01:00
ProcessExposed.h
ProcessGroup.cpp
ProcessGroup.h
ProcessProcFSTraits.cpp
ProcessSpecificExposed.cpp Kernel: Switch process file descriptor table from spinlock to mutex 2022-01-29 02:17:09 +01:00
Random.cpp Kernel: Make KernelRng not inherit from Lockable 2021-12-26 21:22:59 +01:00
Random.h Everywhere: Convert ByteBuffer factory methods from Optional -> ErrorOr 2022-01-24 22:36:09 +01:00
RTC.cpp Everywhere: Fix many spelling errors 2022-01-07 10:56:59 +01:00
RTC.h
SanCov.cpp Kernel: Add some implied auto qualifiers 2021-12-30 14:32:17 +01:00
Scheduler.cpp Kernel: Use kernelputstr instead of dbgln when printing backtraces 2022-01-16 01:01:08 +02:00
Scheduler.h
Sections.h Kernel: Move userspace virtual address range base to 0x10000 2021-12-22 00:02:36 -08:00
StdLib.cpp Kernel: Add some implied auto qualifiers 2021-12-30 14:32:17 +01:00
StdLib.h
Syscall.cpp Kernel: Add some implied auto qualifiers 2021-12-30 14:32:17 +01:00
Thread.cpp Kernel: Move Thread::block<BlockerType>() out of the Thread.h header 2022-01-30 16:21:59 +01:00
Thread.h Kernel: Move Thread::block<BlockerType>() out of the Thread.h header 2022-01-30 16:21:59 +01:00
ThreadBlockers.cpp Kernel: Move Thread::block<BlockerType>() out of the Thread.h header 2022-01-30 16:21:59 +01:00
ThreadTracer.cpp
ThreadTracer.h Kernel: Add missing includes in ThreadTracer and WorkQueue 2021-12-30 14:32:17 +01:00
TimerQueue.cpp
TimerQueue.h
UBSanitizer.cpp Kernel: Print KUBSAN backtrace to screen if KUBSAN is deadly 2021-12-29 17:58:44 +01:00
UnixTypes.h
UserOrKernelBuffer.cpp
UserOrKernelBuffer.h
VirtualAddress.h
WaitQueue.cpp
WaitQueue.h
WorkQueue.cpp
WorkQueue.h Kernel: Add missing includes in ThreadTracer and WorkQueue 2021-12-30 14:32:17 +01:00