ladybird/Kernel
Andreas Kling a685809e75 Waiters should be notified when a waitee is killed.
Ran into a horrendous bug where VirtualConsole would overrun its buffer
and scribble right into some other object if we were interrupted while
processing a character. Slapped an InterruptDisabler onto onChar for now.

This provokes an interesting question though.. if a process is killed
while its in kernel space, how the heck do we release any locks it held?
I'm sure there are many different solutions to this problem, but I'll
have to think about it.
2018-11-01 01:05:59 +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 Add SpinLock to IDE disk access. 2018-10-31 21:33:27 +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 kmalloc_eternal() for things that will never be destroyed. 2018-10-31 23:19:15 +01:00
i386.h Add an InterruptDisabler helper class and use that for kmalloc. 2018-10-24 11:07:53 +02:00
i8253.cpp Minor cleanup. 2018-10-31 00:26:22 +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 Add a kmalloc_eternal() for things that will never be destroyed. 2018-10-31 23:19:15 +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 Fuck it, add a 4th virtual console. :^) 2018-10-31 00:27:34 +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 Add a kmalloc_eternal() for things that will never be destroyed. 2018-10-31 23:19:15 +01:00
kmalloc.h Add a kmalloc_eternal() for things that will never be destroyed. 2018-10-31 23:19:15 +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 Start working on virtual consoles/TTYs. 2018-10-30 13:59:29 +01:00
MemoryManager.cpp Snazz up the kprintf() output a bit by giving it its own color. 2018-10-31 20:14:23 +01:00
MemoryManager.h Add a kmalloc_eternal() for things that will never be destroyed. 2018-10-31 23:19:15 +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
ProcFileSystem.cpp Add a kmalloc_eternal() for things that will never be destroyed. 2018-10-31 23:19:15 +01:00
ProcFileSystem.h Add a simple /proc/mounts that enumerates the current VFS mounts. 2018-10-26 18:43:25 +02: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 Enough compatibility work to make figlet build and run! 2018-10-31 17:52:59 +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
Task.cpp Waiters should be notified when a waitee is killed. 2018-11-01 01:05:59 +01:00
Task.h Waiters should be notified when a waitee is killed. 2018-11-01 01:05:59 +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 Minor VGA cleanup. 2018-10-30 23:49:06 +01:00
VGA.h Virtual consoles kinda work! 2018-10-30 15:33:37 +01:00
VirtualConsole.cpp Waiters should be notified when a waitee is killed. 2018-11-01 01:05:59 +01:00
VirtualConsole.h Add a kmalloc_eternal() for things that will never be destroyed. 2018-10-31 23:19:15 +01:00