ladybird/Kernel
Andreas Kling b59ce22fc5 Fix dumb-but-hard-to-find bug in paging.
This was the fix:

-process.m_page_directory[0] = m_kernel_page_directory[0];
-process.m_page_directory[1] = m_kernel_page_directory[1];
+process.m_page_directory->entries[0] = m_kernel_page_directory->entries[0];
+process.m_page_directory->entries[1] = m_kernel_page_directory->entries[1];

I spent a good two hours scratching my head, not being able to figure out why
user process page directories felt they had ownership of page tables in the
kernel page directory.

It was because I was copying the entire damn kernel page directory into
the process instead of only sharing the two first PDE's. Dang!
2018-11-03 00:35:57 +01:00
..
Boot Enable A20 line at boot. 2018-10-27 14:09:33 +02:00
.bochsrc Add gettimeofday() syscall and LibC wrappers gettimeofday() and time(). 2018-10-25 17:36:18 +02:00
.gitignore Stop committing changes to _fs_contents and generate it in the sync script. 2018-10-28 01:21:15 +02:00
_fs_contents.stock Stop committing changes to _fs_contents and generate it in the sync script. 2018-10-28 01:21:15 +02:00
_hello.cpp ELFLoader works inside the kernel! 2018-10-18 15:46:08 +02:00
_start.cpp Import the "gerbert" kernel I worked on earlier this year. 2018-10-16 11:02:00 +02:00
_test.cpp Tweak _test.o to use the putch() syscall. 2018-10-22 11:53:59 +02:00
Assertions.h Add a simple IDEDiskDevice class that implements DiskDevice from VFS. 2018-10-16 14:17:43 +02:00
CMOS.cpp Import the "gerbert" kernel I worked on earlier this year. 2018-10-16 11:02:00 +02:00
CMOS.h Import the "gerbert" kernel I worked on earlier this year. 2018-10-16 11:02:00 +02:00
Console.cpp Fix bug where Console::the() was initialized too late. 2018-10-30 23:02:06 +01:00
Console.h Add a kmalloc_eternal() for things that will never be destroyed. 2018-10-31 23:19:15 +01:00
Disk.cpp Process now maps regions immediately when they are allocated. 2018-11-01 13:15:46 +01:00
Disk.h Remove old DatBuffer class. 2018-10-25 10:50:30 +02:00
errno.h Add basic symlink support. 2018-10-28 14:11:51 +01:00
ext2fs.h Import the "gerbert" kernel I worked on earlier this year. 2018-10-16 11:02:00 +02:00
i386.cpp Add a simple /proc/cpuinfo that includes some info from CPUID. 2018-11-02 10:14:21 +01:00
i386.h Add a simple /proc/cpuinfo that includes some info from CPUID. 2018-11-02 10:14:21 +01:00
i8253.cpp Process now maps regions immediately when they are allocated. 2018-11-01 13:15:46 +01:00
i8253.h Import the "gerbert" kernel I worked on earlier this year. 2018-10-16 11:02:00 +02:00
IDEDiskDevice.cpp Snazz up the kprintf() output a bit by giving it its own color. 2018-10-31 20:14:23 +01:00
IDEDiskDevice.h Add a simple IDEDiskDevice class that implements DiskDevice from VFS. 2018-10-16 14:17:43 +02:00
init.cpp Free physical pages allocated for a process's page directory on exit. 2018-11-01 23:08:10 +01:00
InlineLinkedList.h Generate a basic /proc/summary file with some info about all tasks. 2018-10-23 12:44:46 +02:00
IO.h Make IO helpers inline and use immediate-encoded ports when possible. 2018-11-02 10:14:26 +01:00
IRQHandler.cpp Add IRQHandler class that can be subclasses to handle an IRQ. 2018-10-22 12:58:29 +02:00
IRQHandler.h Add IRQHandler class that can be subclasses to handle an IRQ. 2018-10-22 12:58:29 +02:00
kassert.h Fix broken SpinLock. 2018-10-29 22:04:26 +01:00
Keyboard.cpp Basic ^C interrupt implementation. 2018-11-02 14:06:48 +01:00
Keyboard.h Basic ^C interrupt implementation. 2018-11-02 14:06:48 +01:00
kmalloc.cpp Fix dumb-but-hard-to-find bug in paging. 2018-11-03 00:35:57 +01:00
kmalloc.h Give each task its own page directory. 2018-11-01 09:01:51 +01:00
kprintf.cpp Fix broken SpinLock. 2018-10-29 22:04:26 +01:00
kprintf.h Fix broken SpinLock. 2018-10-29 22:04:26 +01:00
kstdio.h Move kprintf to its own file. It has nothing to do with VGA anymore. 2018-10-22 13:20:35 +02:00
ktime.h Fix some minor build warnings. 2018-10-17 16:48:43 +02:00
linker.ld Import the "gerbert" kernel I worked on earlier this year. 2018-10-16 11:02:00 +02:00
Makefile Make IO helpers inline and use immediate-encoded ports when possible. 2018-11-02 10:14:26 +01:00
MemoryManager.cpp Fix dumb-but-hard-to-find bug in paging. 2018-11-03 00:35:57 +01:00
MemoryManager.h Fix dumb-but-hard-to-find bug in paging. 2018-11-03 00:35:57 +01:00
mkmap.sh Add a very hackish /proc/PID/stack. 2018-10-26 22:33:15 +02:00
PIC.cpp A lot of hacking: 2018-10-22 11:15:16 +02:00
PIC.h Add a PIC::getISR() helper. 2018-10-17 16:54:49 +02:00
Process.cpp Implement fork()! 2018-11-02 20:41:58 +01:00
Process.h Implement fork()! 2018-11-02 20:41:58 +01:00
ProcFileSystem.cpp Add tcsetpgrp()+tcgetpgrp(). 2018-11-02 13:14:25 +01:00
ProcFileSystem.h Process now maps regions immediately when they are allocated. 2018-11-01 13:15:46 +01:00
Queue.h Import the "gerbert" kernel I worked on earlier this year. 2018-10-16 11:02:00 +02:00
RefCounted.h Import the "gerbert" kernel I worked on earlier this year. 2018-10-16 11:02:00 +02:00
RefPtr.h Import the "gerbert" kernel I worked on earlier this year. 2018-10-16 11:02:00 +02:00
RTC.cpp Add assertion that RTC year is >= 2018. 2018-10-31 00:27:28 +01:00
RTC.h Add gettimeofday() syscall and LibC wrappers gettimeofday() and time(). 2018-10-25 17:36:18 +02:00
run Allow running in QEMU with "./run q" 2018-10-17 16:58:35 +02:00
StdLib.cpp Fix busted display of tty names in /proc/summary. 2018-10-31 22:43:49 +01:00
StdLib.h Fix busted display of tty names in /proc/summary. 2018-10-31 22:43:49 +01:00
sync-local.sh Enough compatibility work to make figlet build and run! 2018-10-31 17:52:59 +01:00
sync.sh Implement fork()! 2018-11-02 20:41:58 +01:00
Syscall.cpp Implement fork()! 2018-11-02 20:41:58 +01:00
Syscall.h Implement fork()! 2018-11-02 20:41:58 +01:00
system.h Add a kmalloc_eternal() for things that will never be destroyed. 2018-10-31 23:19:15 +01:00
TSS.h Import the "gerbert" kernel I worked on earlier this year. 2018-10-16 11:02:00 +02:00
TTY.cpp Basic ^C interrupt implementation. 2018-11-02 14:06:48 +01:00
TTY.h Basic ^C interrupt implementation. 2018-11-02 14:06:48 +01:00
types.h Fix dumb-but-hard-to-find bug in paging. 2018-11-03 00:35:57 +01:00
VGA.cpp Process now maps regions immediately when they are allocated. 2018-11-01 13:15:46 +01:00
VGA.h Virtual consoles kinda work! 2018-10-30 15:33:37 +01:00
VirtualConsole.cpp Basic ^C interrupt implementation. 2018-11-02 14:06:48 +01:00
VirtualConsole.h Basic ^C interrupt implementation. 2018-11-02 14:06:48 +01:00