1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 07:48:11 +00:00
serenity/Kernel
Andreas Kling aa6d06b47e Use ELF program headers to load executables smarter.
This turned out way better than the old code. ELF loading is now quite
straightforward, and we don't need the weird concept of subregions anymore.

Next step is to respect the is_writable flag.
2018-11-03 11:29:30 +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 Share code between spawn() and exec() implementations. 2018-11-03 10:55:02 +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 Use ELF program headers to load executables smarter. 2018-11-03 11:29:30 +01:00
MemoryManager.h Use ELF program headers to load executables smarter. 2018-11-03 11:29:30 +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 Use ELF program headers to load executables smarter. 2018-11-03 11:29:30 +01:00
Process.h Use ELF program headers to load executables smarter. 2018-11-03 11:29:30 +01:00
ProcFileSystem.cpp Use ELF program headers to load executables smarter. 2018-11-03 11:29:30 +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 Share code between spawn() and exec() implementations. 2018-11-03 10:55:02 +01:00
Syscall.h Implemented sys$execve(). 2018-11-03 01:51:42 +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 Share code between spawn() and exec() implementations. 2018-11-03 10:55:02 +01: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 Use ELF program headers to load executables smarter. 2018-11-03 11:29:30 +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