ladybird/Kernel
Nick Johnson 08e4a1a4dc AK+Everywhere: Replace __builtin bit functions
In order to reduce our reliance on __builtin_{ffs, clz, ctz, popcount},
this commit removes all calls to these functions and replaces them with
the equivalent functions in AK/BuiltinWrappers.h.
2021-12-21 22:13:51 +01:00
..
API Kernel: Implement sysconf(_SC_SYMLOOP_MAX) 2021-12-21 12:54:11 -08:00
Arch AK+Everywhere: Replace __builtin bit functions 2021-12-21 22:13:51 +01:00
Bus Kernel/SysFS: Prevent allocation for component name during construction 2021-12-14 09:01:33 +01:00
Devices Kernel+LibC: Move errno definitions to Kernel/API/POSIX 2021-12-16 22:21:35 +03:30
FileSystem Kernel: Move symlink recursion limit to .h, increase it to 8 2021-12-21 12:54:11 -08:00
Firmware Kernel/SysFS: Don't allocate ACPISysFS components in constructors 2021-12-14 09:01:33 +01:00
Graphics Kernel: Use copy_typed_from_user() in more places :^) 2021-12-18 11:30:10 +01:00
Heap Kernel: Add missing include to SlabAllocator 2021-12-09 22:53:42 -08:00
Interrupts Kernel: Ensure SMP mode is not enabled if IOAPIC mode is disabled 2021-12-20 11:00:31 -08:00
Library Kernel: Mark kernel smart-pointer classes as [[nodiscard]] 2021-12-05 15:31:03 +01:00
Locking Kernel: Collapse blocking logic for exclusive Mutex' restore_lock() 2021-12-15 23:34:11 -08:00
Memory AK+Everywhere: Replace __builtin bit functions 2021-12-21 22:13:51 +01:00
Net Kernel: Make File::stat() & friends return Error<struct stat> 2021-12-18 11:30:10 +01:00
Prekernel Kernel: Do not do integer to pointer conversion in constexpr functions 2021-12-04 11:59:59 -08:00
Storage AK+Everywhere: Replace __builtin bit functions 2021-12-21 22:13:51 +01:00
Syscalls Kernel: Implement sysconf(_SC_SYMLOOP_MAX) 2021-12-21 12:54:11 -08:00
Tasks Kernel: Mark kernel smart-pointer classes as [[nodiscard]] 2021-12-05 15:31:03 +01:00
Time Kernel: Remove unused String.h includes 2021-12-11 13:15:26 -08:00
TTY Kernel: Use copy_typed_from_user() in more places :^) 2021-12-18 11:30:10 +01:00
AddressSanitizer.cpp Everywhere: Use bgianf@serenityos.org for my copyright attribution 2021-04-22 21:15:54 +02:00
AddressSanitizer.h Everywhere: Use bgianf@serenityos.org for my copyright attribution 2021-04-22 21:15:54 +02:00
Assertions.h Kernel: Remove ASM_Wrapper include from platform independent processor.h 2021-12-01 11:22:04 -08:00
AtomicEdgeAction.h Kernel: Add per platform Processor.h headers 2021-10-14 01:23:08 +01:00
BootInfo.h Kernel: Add an x86 include check+error in x86/PageDirectory.h 2021-12-01 11:22:04 -08:00
CMakeLists.txt Kernel: Build with -O2 by default 2021-12-16 22:48:16 +01:00
CMOS.cpp Kernel: Move x86 IO instructions code into the x86 specific folder 2021-10-01 12:27:20 +02:00
CMOS.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CommandLine.cpp Kernel: Ensure SMP mode is not enabled if IOAPIC mode is disabled 2021-12-20 11:00:31 -08:00
CommandLine.h Kernel: Ensure SMP mode is not enabled if IOAPIC mode is disabled 2021-12-20 11:00:31 -08:00
Coredump.cpp Kernel: Avoid repeated memory zeroing while generating coredumps 2021-11-21 20:22:48 +01:00
Coredump.h Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T> 2021-11-08 01:10:53 +01:00
Debug.h.in Kernel: Add AC97_DEBUG macro 2021-11-28 19:26:22 +02:00
DoubleBuffer.cpp Kernel: Share code between DoubleBuffer's read() and peek() 2021-11-21 20:22:48 +01:00
DoubleBuffer.h Kernel: Share code between DoubleBuffer's read() and peek() 2021-11-21 20:22:48 +01:00
embedmap.sh Kernel: Make new kernel build process work on macOS 2021-07-15 11:04:30 +02:00
Forward.h Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T> 2021-11-08 01:10:53 +01:00
FutexQueue.cpp Kernel: Don't register thread as custom data for FutexBlocker 2021-08-24 01:57:11 +02:00
FutexQueue.h Kernel: Don't register thread as custom data for FutexBlocker 2021-08-24 01:57:11 +02:00
GlobalProcessExposed.cpp Kernel: Handle string format errors in SlabAllocator stats :^) 2021-11-30 11:16:35 +01:00
init.cpp Kernel: Use ksyms in-place instead of duplicating them into eternal heap 2021-12-18 11:30:10 +01:00
KBuffer.h Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T> 2021-11-08 01:10:53 +01:00
KBufferBuilder.cpp Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
KBufferBuilder.h AK: Convert AK::Format formatting helpers to returning ErrorOr<void> 2021-11-17 00:21:13 +01:00
KLexicalPath.cpp Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
KLexicalPath.h Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
kprintf.cpp Kernel+UE+LibC: Remove unused dbgputch syscall 2021-11-24 22:56:39 +01:00
kstdio.h Kernel+UE+LibC: Remove unused dbgputch syscall 2021-11-24 22:56:39 +01:00
KString.cpp Kernel: Add an error propagating KString::format(..) API :^) 2021-11-30 11:16:35 +01:00
KString.h Kernel: Add an error propagating KString::format(..) API :^) 2021-11-30 11:16:35 +01:00
KSyms.cpp Kernel: Use ksyms in-place instead of duplicating them into eternal heap 2021-12-18 11:30:10 +01:00
KSyms.h Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
linker.ld Kernel: Support split data sections 2021-10-17 17:09:58 +01:00
MiniStdLib.cpp Kernel: Build MiniStdLib.cpp in aarch64 builds 2021-09-07 20:15:15 +01:00
mkmap.sh Kernel: Use our toolchain's c++filt tool for the kernel map 2021-07-29 10:38:31 +02:00
Multiboot.h Prekernel: Export some multiboot parameters in our own BootInfo struct 2021-07-27 13:15:16 +02:00
Panic.cpp Kernel: Separate panic behavior from bootmode 2021-10-25 23:38:28 +02:00
Panic.h Kernel/Graphics + SystemServer: Support text mode properly 2021-05-16 19:58:33 +02:00
PerformanceEventBuffer.cpp Kernel: Mask kernel addresses in perf event streams for non-superuser 2021-12-19 18:18:38 +01:00
PerformanceEventBuffer.h Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
PerformanceManager.h Kernel: Resolve clang-tidy readability-qualified-auto warning 2021-11-14 22:52:35 +01:00
PhysicalAddress.h AK: Convert AK::Format formatting helpers to returning ErrorOr<void> 2021-11-17 00:21:13 +01:00
Process.cpp Kernel: Make perfcore files owned by UID=0, GID=0 2021-12-19 18:18:38 +01:00
Process.h Kernel: Make sys${ftruncate,pread} take off_t as const pointer 2021-12-18 11:30:10 +01:00
ProcessExposed.cpp Kernel: Use DistinctNumeric for filesystem ID's 2021-11-18 21:11:30 +01:00
ProcessExposed.h Kernel+SystemServer: Add /dev/tty 2021-12-12 22:32:35 +01:00
ProcessGroup.cpp Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T> 2021-11-08 01:10:53 +01:00
ProcessGroup.h Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T> 2021-11-08 01:10:53 +01:00
ProcessProcFSTraits.cpp Kernel+SystemServer: Add /dev/tty 2021-12-12 22:32:35 +01:00
ProcessSpecificExposed.cpp Kernel+SystemServer: Add /dev/tty 2021-12-12 22:32:35 +01:00
Random.cpp Kernel: Add per platform Processor.h headers 2021-10-14 01:23:08 +01:00
Random.h Everywhere: Make ByteBuffer::{create_*,copy}() OOM-safe 2021-09-06 01:53:26 +02:00
RTC.cpp Kernel: Move x86 IO instructions code into the x86 specific folder 2021-10-01 12:27:20 +02:00
RTC.h Kernel: Ensure we read valid values from the RTC CMOS registers 2021-08-04 19:53:04 +02:00
SanCov.cpp Kernel/KCOV: Bring closer to typical SerenityOS coding style 2021-09-06 01:55:27 +02:00
Scheduler.cpp AK+Everywhere: Replace __builtin bit functions 2021-12-21 22:13:51 +01:00
Scheduler.h Kernel: Rename SpinLock => Spinlock 2021-08-22 03:34:10 +02:00
Sections.h Kernel: Support loading the kernel at almost arbitrary virtual addresses 2021-07-27 13:15:16 +02:00
StdLib.cpp Kernel: Remove unused String.h includes 2021-12-11 13:15:26 -08:00
StdLib.h Kernel: Remove unused forward declaration of Syscall::StringArgument 2021-11-14 22:52:35 +01:00
Syscall.cpp Kernel: Enable SMAP protection earlier during syscall entry 2021-12-18 11:30:10 +01:00
Thread.cpp Kernel+LibC: Implement sigtimedwait() 2021-12-12 08:34:19 +02:00
Thread.h Kernel+LibC: Implement sigtimedwait() 2021-12-12 08:34:19 +02:00
ThreadBlockers.cpp AK+Everywhere: Replace __builtin bit functions 2021-12-21 22:13:51 +01:00
ThreadTracer.cpp Kernel: Add cross platform RegisterState header and Aarch64 version 2021-10-15 21:48:45 +01:00
ThreadTracer.h Kernel: Resolve clang-tidy readability-implicit-bool-conversion warnings 2021-11-14 22:52:35 +01:00
TimerQueue.cpp Kernel: Remove a bunch of unused TimerQueue functions 2021-09-07 22:16:25 +02:00
TimerQueue.h AK+Everywhere: Reduce the number of template parameters of IntrusiveList 2021-09-10 18:05:46 +03:00
UBSanitizer.cpp Kernel: Add per platform Processor.h headers 2021-10-14 01:23:08 +01:00
UnixTypes.h Kernel: Move {Process,Thread,Session,ProcessGroup}ID to Kernel/Forward.h 2021-08-14 19:58:11 +02:00
UserOrKernelBuffer.cpp Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T> 2021-11-08 01:10:53 +01:00
UserOrKernelBuffer.h Kernel+LibC: Move errno definitions to Kernel/API/POSIX 2021-12-16 22:21:35 +03:30
VirtualAddress.h AK: Convert AK::Format formatting helpers to returning ErrorOr<void> 2021-11-17 00:21:13 +01:00
WaitQueue.cpp Kernel: Don't register thread as custom data for WaitQueueBlocker 2021-08-24 01:57:11 +02:00
WaitQueue.h Kernel: Don't register thread as custom data for WaitQueueBlocker 2021-08-24 01:57:11 +02:00
WorkQueue.cpp Kernel: Mark kernel smart-pointer classes as [[nodiscard]] 2021-12-05 15:31:03 +01:00
WorkQueue.h Kernel: Make WorkQueue::WorkItem slab allocated 2021-10-26 10:50:44 +02:00