ladybird/Kernel
Ali Mohammad Pur 468ac11f29 Meta: Add an option to precompile some very common AK headers
Until we get the goodness that C++ modules are supposed to be, let's try
to shave off some parse time using precompiled headers.
This commit only adds some very common AK headers, only to binaries,
libraries and the kernel (tests are not covered due to incompatibility
with AK/TestSuite.h).
This option is on by default, but can be disabled by passing
`-DPRECOMPILE_COMMON_HEADERS=OFF` to cmake, which will disable all
header precompilations.
This makes the build about 30 seconds faster on my machine (about 7%).
2021-04-21 14:29:46 +02:00
..
ACPI Everything: Add -Wnon-virtual-dtor flag 2021-04-15 20:57:13 +02:00
API Kernel: Add a syscall to clear the profiling buffer 2021-04-19 18:30:37 +02:00
Arch Kernel: Add ptrace commands for reading/writing the debug registers 2021-04-18 17:02:40 +02:00
Devices Kernel: Add magic key combo (Alt+Shift+F12) to dump scheduler state 2021-04-18 20:00:10 +02:00
FileSystem Ext2FS: Put bg_used_dirs_count debug logging behind EXT2_DEBUG 2021-04-20 15:08:56 +02:00
Heap Kernel: Do some basic metadata integrity verification in kmalloc/kfree 2021-04-09 17:08:49 +02:00
Interrupts Everything: Add -Wnon-virtual-dtor flag 2021-04-15 20:57:13 +02:00
Modules Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
Net Kernel: Stop treating port 0 (ephemeral auto bind) as a privileged port 2021-04-19 23:28:02 +02:00
PCI Kernel: Add base support for VirtIO devices 2021-04-17 10:21:23 +02:00
Storage Everywhere: Fix a bunch of typos 2021-04-18 10:30:03 +02:00
Syscalls Kernel: Remove requirement for the thread entitlement for the futex syscall 2021-04-20 21:08:17 +02:00
Tasks Kernel: Make Thread use AK::Time internally 2021-03-02 08:36:08 +01:00
Time Kernel::CPU: Move headers into common directory 2021-03-21 09:35:23 +01:00
TTY Kernel: Introduce a new HID subsystem 2021-04-03 11:57:23 +02:00
VirtIO Kernel: Add kernel command line flag to disable VirtIO support 2021-04-18 22:06:42 +02:00
VM Kernel: Don't consider kernel memory regions for syscall origin check 2021-04-20 23:38:27 +02:00
.gitignore Meta: Expect sync-local.sh script at repository root 2021-01-30 09:18:46 +01:00
AddressSanitizer.cpp Kernel: Initial integration of Kernel Address Sanitizer (KASAN) 2021-02-15 11:41:53 +01:00
AddressSanitizer.h Kernel: Initial integration of Kernel Address Sanitizer (KASAN) 2021-02-15 11:41:53 +01:00
Assertions.h Kernel+LibC: Clean up how assertions work in the kernel and LibC 2021-04-18 11:11:15 +02:00
CMakeLists.txt Meta: Add an option to precompile some very common AK headers 2021-04-21 14:29:46 +02:00
CMOS.cpp Kernel: Absorb LibBareMetal back into the kernel 2020-05-16 12:00:04 +02:00
CMOS.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
CommandLine.cpp Kernel: Add kernel command line flag to disable VirtIO support 2021-04-18 22:06:42 +02:00
CommandLine.h Kernel: Add kernel command line flag to disable VirtIO support 2021-04-18 22:06:42 +02:00
Console.cpp Kernel: Refactor storage stack with u64 as file operations offset 2021-03-17 23:22:42 +01:00
Console.h Kernel: Refactor storage stack with u64 as file operations offset 2021-03-17 23:22:42 +01:00
CoreDump.cpp LibC+LibELF: Implement support for the dl_iterate_phdr helper 2021-04-18 10:55:25 +02:00
CoreDump.h LibC+LibELF: Implement support for the dl_iterate_phdr helper 2021-04-18 10:55:25 +02:00
Debug.h.in Kernel: Add base support for VirtIO devices 2021-04-17 10:21:23 +02:00
DMI.cpp Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
DMI.h Kernel: Set file size for smbios_entry_point and DMI blobs in ProcFS 2021-02-01 17:13:23 +01:00
DoubleBuffer.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
DoubleBuffer.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
Forward.h Kernel: Add simplistic work queues 2021-03-21 13:41:09 +01:00
FutexQueue.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
FutexQueue.h Kernel: Some futex improvements 2021-01-17 20:30:31 +01:00
init.cpp Kernel: Add base support for VirtIO devices 2021-04-17 10:21:23 +02:00
IO.h Kernel::CPU: Move headers into common directory 2021-03-21 09:35:23 +01:00
KBuffer.h Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
KBufferBuilder.cpp Kernel: Assert if rounding-up-to-page-size would wrap around to 0 2021-02-14 10:01:50 +01:00
KBufferBuilder.h Kernel: Use default con/de-structors 2021-02-28 18:09:12 +01:00
kprintf.cpp Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
KResult.h Everywhere: Remove unnecessary clang-format offs 2021-03-04 11:01:48 +01:00
kstdio.h Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
KSyms.cpp Kernel: Convert klog() => AK::Format in a handful of places 2021-03-12 15:22:35 +01:00
KSyms.h Kernel: Take some baby steps towards x86_64 2021-02-25 16:27:12 +01:00
linker.ld Kernel: Define a KERNEL_VIRTUAL_BASE in the linker script 2021-03-04 18:25:01 +01:00
Lock.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
Lock.h Kernel::CPU: Move headers into common directory 2021-03-21 09:35:23 +01:00
LockMode.h Kernel: Fix Lock race causing infinite spinning between two threads 2020-12-16 23:38:17 +01:00
mkmap.sh Build: Switch to CMake :^) 2020-05-14 20:15:18 +02:00
Module.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
Multiboot.h Kernel: Parse boot modules from Multiboot specification 2021-01-22 22:17:39 +01:00
Panic.cpp Kernel::CPU: Move headers into common directory 2021-03-21 09:35:23 +01:00
Panic.h Kernel: Add a PANIC() function 2021-02-14 09:36:58 +01:00
PerformanceEventBuffer.cpp Kernel: Replace process' regions vector with a Red Black tree 2021-04-12 18:03:44 +02:00
PerformanceEventBuffer.h Kernel+Profiler: Capture metadata about all profiled processes 2021-03-02 22:38:06 +01:00
PhysicalAddress.h Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
Process.cpp Kernel: Add a syscall to clear the profiling buffer 2021-04-19 18:30:37 +02:00
Process.h Kernel: Add a syscall to clear the profiling buffer 2021-04-19 18:30:37 +02:00
ProcessGroup.cpp Kernel: Move block condition evaluation out of the Scheduler 2020-11-30 13:17:02 +01:00
ProcessGroup.h Kernel: Move block condition evaluation out of the Scheduler 2020-11-30 13:17:02 +01:00
Random.cpp Kernel::CPU: Move headers into common directory 2021-03-21 09:35:23 +01:00
Random.h Kernel::CPU: Move headers into common directory 2021-03-21 09:35:23 +01:00
RTC.cpp Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
RTC.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Scheduler.cpp Kernel: Add magic key combo (Alt+Shift+F12) to dump scheduler state 2021-04-18 20:00:10 +02:00
Scheduler.h Kernel: Add magic key combo (Alt+Shift+F12) to dump scheduler state 2021-04-18 20:00:10 +02:00
SpinLock.h Kernel::CPU: Move headers into common directory 2021-03-21 09:35:23 +01:00
StdLib.cpp Kernel/LibC: Make memset implementations the same 2021-04-08 23:57:16 +02:00
StdLib.h AK+Everywhere: Make StdLibExtras templates less wrapper-y 2021-04-10 21:01:31 +02:00
Syscall.cpp Kernel: Don't consider kernel memory regions for syscall origin check 2021-04-20 23:38:27 +02:00
Thread.cpp Kernel: Send SIGCHLD to the parent process when changing stopped state 2021-03-31 23:49:26 +02:00
Thread.h Kernel: Add ptrace commands for reading/writing the debug registers 2021-04-18 17:02:40 +02:00
ThreadBlockers.cpp Kernel: Fix sys$select() not marking fd's after blocking was avoided 2021-03-15 21:21:52 +01:00
ThreadTracer.cpp Kernel::CPU: Move headers into common directory 2021-03-21 09:35:23 +01:00
ThreadTracer.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
TimerQueue.cpp Kernel: Make TimeManagement use AK::Time internally 2021-03-02 08:36:08 +01:00
TimerQueue.h Kernel: Make TimerQueue use AK::Time in interface 2021-03-02 08:36:08 +01:00
UBSanitizer.cpp Everywhere: Fix a bunch of typos 2021-04-18 10:30:03 +02:00
UBSanitizer.h Kernel: Expose sysctl 'ubsan_is_deadly' to panic the Kernel on UB 2021-03-07 17:31:25 +01:00
UnixTypes.h Kernel: Add ptrace commands for reading/writing the debug registers 2021-04-18 17:02:40 +02:00
UnveilNode.h Everywhere: Remove a bunch of redundant 'AK::' namespace prefixes 2021-02-26 16:59:56 +01:00
UserOrKernelBuffer.cpp AK: Add StringBuilder::appendff using the new format. 2020-09-22 15:06:40 +02:00
UserOrKernelBuffer.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
VirtualAddress.h Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
WaitQueue.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
WaitQueue.h Kernel: Add WaitQueue::wait_forever and it use it for all infinite waits. 2021-02-15 08:28:57 +01:00
WorkQueue.cpp Kernel: Remove unused WorkQueue::m_name. 2021-03-26 16:54:05 +01:00
WorkQueue.h AK+Kernel: Make IntrusiveList capable of holding non-raw pointers 2021-04-16 22:26:52 +02:00