ladybird/Kernel
Andreas Kling 8f3f5ac8ce Kernel: Automatically populate page tables with lazy kernel regions.
If we get an NP page fault in a process, and the fault address is in the
kernel address range (anywhere above 0xc0000000), we probably just need
to copy the page table info over from the kernel page directory.

The kernel doesn't allocate address space until it's needed, and when it
does allocate some, it only puts the info in the kernel page directory,
and any *new* page directories created from that point on. Existing page
directories need to be updated, and that's what this patch fixes.
2019-06-26 22:27:41 +02:00
..
Arch/i386 Kernel: Make the x86 paging code slightly less insane. 2019-06-26 21:45:56 +02:00
Boot Kernel: Make better use of the multiboot info. 2019-06-02 09:53:42 +02:00
Devices AK: Rename Retainable.h => RefCounted.h. 2019-06-21 18:58:45 +02:00
FileSystem Kernel: Fix all compiler warnings. 2019-06-22 16:22:34 +02:00
Net Kernel: Fix all compiler warnings. 2019-06-22 16:22:34 +02:00
TTY Change "retain" to "ref" in various comments. 2019-06-21 18:40:24 +02:00
VM Kernel: Automatically populate page tables with lazy kernel regions. 2019-06-26 22:27:41 +02:00
.bochsrc Give the emulator testing environments 128 MB of RAM. 2019-03-27 13:02:29 +01:00
.gitignore Terminal: Use Vectors and OwnPtrs for Terminal lines. Adjust scroll 2019-06-03 20:48:34 +02:00
Alarm.h Add clang-format file 2019-05-28 17:31:20 +02:00
Assertions.h Kernel: Move i386.{cpp,h} => Arch/i386/CPU.{cpp,h} 2019-06-07 20:02:01 +02:00
build-image-grub.sh Build: Remove grub from default build process 2019-06-04 07:15:44 -07:00
build-image-qemu.sh Build: Remove grub from default build process 2019-06-04 07:15:44 -07:00
build-root-filesystem.sh QuickShow: Allow panning and zooming the image instead of stretching it. 2019-06-23 16:35:43 +02:00
CMOS.cpp Kernel: Qualify a bunch of #include statements. 2019-06-07 19:29:34 +02:00
CMOS.h Kernel: Get rid of Kernel/types.h, separate LinearAddress/PhysicalAddress. 2019-04-06 14:29:29 +02:00
Console.cpp Kernel: Rename FileDescriptor to FileDescription. 2019-06-07 09:36:51 +02:00
Console.h Kernel: Rename FileDescriptor to FileDescription. 2019-06-07 09:36:51 +02:00
DoubleBuffer.cpp Kernel: DoubleBuffer can return early if read/write is called with !size. 2019-03-20 02:12:40 +01:00
DoubleBuffer.h Kernel: Assign Lock names in class member initializers. 2019-05-02 03:28:20 +02:00
File.cpp AK: Rename RetainPtr => RefPtr and Retained => NonnullRefPtr. 2019-06-21 18:37:47 +02:00
File.h AK: Rename Retainable.h => RefCounted.h. 2019-06-21 18:58:45 +02:00
grub.cfg Kernel: Parse cmdline for root filesystem e.g. root=/dev/hda1 2019-06-04 07:14:40 -07:00
i8253.cpp Kernel: Move i386.{cpp,h} => Arch/i386/CPU.{cpp,h} 2019-06-07 20:02:01 +02:00
i8253.h Add clang-format file 2019-05-28 17:31:20 +02:00
init.cpp AK: Rename RetainPtr => RefPtr and Retained => NonnullRefPtr. 2019-06-21 18:37:47 +02:00
install.sh Build: Install most headers to Root (and libcore.a/libgui.a) 2019-05-17 21:59:48 +02:00
IO.h Add clang-format file 2019-05-28 17:31:20 +02:00
IRQHandler.cpp Kernel: Move i386.{cpp,h} => Arch/i386/CPU.{cpp,h} 2019-06-07 20:02:01 +02:00
IRQHandler.h Add clang-format file 2019-05-28 17:31:20 +02:00
KeyCode.h Meta: Tweak .clang-format to not wrap braces after enums. 2019-06-07 17:13:23 +02:00
kmalloc.cpp Kernel: Use the Multiboot memory map info to inform our paging setup. 2019-06-09 11:48:58 +02:00
kmalloc.h Kernel: Make it possible to have kmalloc() dump call stacks. 2019-04-15 23:58:48 +02:00
KParams.cpp Kernel: Fix KParams parsing with trailing space in kernel cmdline 2019-06-04 07:08:07 -07:00
KParams.h Kernel: Run clang-format on everything. 2019-06-07 11:43:58 +02:00
kprintf.cpp Kernel: Colorize debugger output from the kernel. 2019-06-22 22:45:16 +02:00
KResult.h Kernel: Fix KResultOr move constructor not copying errors. 2019-06-14 06:24:02 +02:00
kstdio.h LibHTML: Make it possible to build LibHTML on the host. 2019-06-22 21:21:57 +02:00
KSyms.cpp Kernel: Rename "descriptor" to "description" where appropriate. 2019-06-13 22:03:04 +02:00
KSyms.h Kernel: Simplify dump_backtrace() API for clients. 2019-05-16 13:41:16 +02:00
linker.ld Kernel: Use a multiboot header instead of a convoluted two-part bootloader. 2019-04-01 21:43:07 +02:00
Lock.h Kernel: Move i386.{cpp,h} => Arch/i386/CPU.{cpp,h} 2019-06-07 20:02:01 +02:00
makeall.sh QuickShow: Allow panning and zooming the image instead of stretching it. 2019-06-23 16:35:43 +02:00
Makefile Kernel: Refactor MemoryManager to use a Bitmap rather than a Vector 2019-06-12 15:38:17 +02:00
mkmap.sh Kernel: Don't symbolicate symbol+offset for obvious non-kernel addresses. 2019-04-30 14:47:22 +02:00
MousePacket.h Kernel: Add support for the PS/2 mouse wheel if detected. 2019-05-13 19:48:14 +02:00
Multiboot.h Kernel: Use the Multiboot memory map info to inform our paging setup. 2019-06-09 11:48:58 +02:00
PCI.cpp Kernel: Run clang-format on everything. 2019-06-07 11:43:58 +02:00
PCI.h Add clang-format file 2019-05-28 17:31:20 +02:00
PhysicalAddress.h Kernel: Add some comparison operators to PhysicalAddress 2019-06-12 15:38:17 +02:00
PIC.cpp Kernel: Move i386.{cpp,h} => Arch/i386/CPU.{cpp,h} 2019-06-07 20:02:01 +02:00
PIC.h Add clang-format file 2019-05-28 17:31:20 +02:00
Process.cpp Kernel: Fix all compiler warnings. 2019-06-22 16:22:34 +02:00
Process.h AK: Rename RetainPtr => RefPtr and Retained => NonnullRefPtr. 2019-06-21 18:37:47 +02:00
ProcessTracer.cpp Kernel: Run clang-format on everything. 2019-06-07 11:43:58 +02:00
ProcessTracer.h AK: Rename RetainPtr => RefPtr and Retained => NonnullRefPtr. 2019-06-21 18:37:47 +02:00
RTC.cpp Kernel: Qualify a bunch of #include statements. 2019-06-07 19:29:34 +02:00
RTC.h Add clang-format file 2019-05-28 17:31:20 +02:00
run Kernel: Expose kernel command line to userspace through /proc/cmdline 2019-06-16 14:33:59 +02:00
Scheduler.cpp printf: Oops, '-' is the left padding modifier, not ' '. 2019-06-22 15:53:52 +02:00
Scheduler.h Add clang-format file 2019-05-28 17:31:20 +02:00
SharedMemory.cpp AK: Rename RetainPtr => RefPtr and Retained => NonnullRefPtr. 2019-06-21 18:37:47 +02:00
SharedMemory.h AK: Rename Retainable.h => RefCounted.h. 2019-06-21 18:58:45 +02:00
StdLib.cpp Kernel: The kernel will never call mmx_memcpy() so prune it. 2019-06-07 19:32:12 +02:00
StdLib.h Add clang-format file 2019-05-28 17:31:20 +02:00
sync.sh Build: Remove grub from default build process 2019-06-04 07:15:44 -07:00
Syscall.cpp Kernel/Userland: Add a halt syscall, and a shutdown binary to invoke it 2019-06-16 12:25:30 +02:00
Syscall.h Kernel/Userland: Add a halt syscall, and a shutdown binary to invoke it 2019-06-16 12:25:30 +02:00
Thread.cpp Kernel: Rename "descriptor" to "description" where appropriate. 2019-06-13 22:03:04 +02:00
Thread.h AK: Rename RetainPtr.h => RefPtr.h, Retained.h => NonnullRefPtr.h. 2019-06-21 18:45:59 +02:00
UnixTypes.h Kernel/LibC: Implement sched_* functionality to set/get process priority 2019-05-30 02:57:15 +02:00
VirtualAddress.h Kernel: Replace the last "linear" with "virtual". 2019-06-13 21:42:12 +02:00