ladybird/Kernel
Andreas Kling 3a901ae36d Way tighter locking in process creation.
We no longer disable interrupts around the whole affair.
Since MM manages per-process data structures, this works quite smoothly now.
Only procfs had to be tweaked with an InterruptDisabler.
2018-11-01 14:41:49 +01:00
..
Boot Enable A20 line at boot. 2018-10-27 14:09:33 +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
.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
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 Process now maps regions immediately when they are allocated. 2018-11-01 13:15:46 +01:00
i386.h Add an InterruptDisabler helper class and use that for kmalloc. 2018-10-24 11:07:53 +02: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 Way tighter locking in process creation. 2018-11-01 14:41:49 +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.cpp Import the "gerbert" kernel I worked on earlier this year. 2018-10-16 11:02:00 +02:00
IO.h Import the "gerbert" kernel I worked on earlier this year. 2018-10-16 11:02:00 +02: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 Convert VirtualConsole to the new coding style. 2018-11-01 14:11:22 +01:00
Keyboard.h Add a kmalloc_eternal() for things that will never be destroyed. 2018-10-31 23:19:15 +01:00
kmalloc.cpp Implement address validation by querying the task's page directory. 2018-11-01 12:45:51 +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 Process now maps regions immediately when they are allocated. 2018-11-01 13:15:46 +01:00
MemoryManager.cpp Move Region and Subregion out of Process and make them free classes. 2018-11-01 13:21:02 +01:00
MemoryManager.h Move Region and Subregion out of Process and make them free classes. 2018-11-01 13:21:02 +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 Way tighter locking in process creation. 2018-11-01 14:41:49 +01:00
Process.h Allow processes to go into a BeingInspected state (used by procfs.) 2018-11-01 14:21:02 +01:00
ProcFileSystem.cpp Way tighter locking in process creation. 2018-11-01 14:41:49 +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 Fix busted display of tty names in /proc/summary. 2018-10-31 22:43:49 +01:00
Syscall.cpp Process now maps regions immediately when they are allocated. 2018-11-01 13:15:46 +01:00
Syscall.h Enough compatibility work to make figlet build and run! 2018-10-31 17:52:59 +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 Virtual consoles kinda work! 2018-10-30 15:33:37 +01:00
TTY.h Add sys$ttyname_r and ttyname_r() + ttyname(). 2018-10-30 22:03:02 +01:00
types.h Implement loading of linked ELF executables. 2018-10-27 14:56:52 +02: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 Convert VirtualConsole to the new coding style. 2018-11-01 14:11:22 +01:00
VirtualConsole.h Convert VirtualConsole to the new coding style. 2018-11-01 14:11:22 +01:00