ladybird/Kernel
Andreas Kling 6d3e12899b Kernel: Pass process arguments directly on the stack.
Get rid of the convoluted get_arguments and get_environment syscalls.
This patch also adds a simple /bin/env that just prints its environment.
2019-02-22 01:55:22 +01:00
..
Boot Bootloader: Bump sector count once again. 2019-02-12 12:09:50 +01:00
.bochsrc Kernel: Much improved BochsVGA (BXVGA) support. 2019-02-06 10:17:26 +01:00
.gitignore Add basic automatic dependency management to Makefiles. 2019-02-02 04:41:59 +01:00
_start.cpp Import the "gerbert" kernel I worked on earlier this year. 2018-10-16 11:02:00 +02:00
Assertions.h Add a simple IDEDiskDevice class that implements DiskDevice from VFS. 2018-10-16 14:17:43 +02:00
BlockDevice.cpp Kernel: Add empty BlockDevice class. 2019-02-16 00:52:58 +01:00
BlockDevice.h Kernel: Make BochsVGADevice a BlockDevice and support mmapping it. 2019-02-16 09:57:42 +01:00
BXVGADevice.cpp Kernel: Rename BochsVGADevice to BXVGADevice. 2019-02-17 08:41:05 +01:00
BXVGADevice.h Kernel: Rename BochsVGADevice to BXVGADevice. 2019-02-17 08:41:05 +01:00
CharacterDevice.cpp Kernel: Add empty BlockDevice class. 2019-02-16 00:52:58 +01:00
CharacterDevice.h Kernel: Make BochsVGADevice a BlockDevice and support mmapping it. 2019-02-16 09:57:42 +01:00
CMOS.cpp Make bash-2.05b build with minimal changes. 2018-11-17 00:14:07 +01:00
CMOS.h Make bash-2.05b build with minimal changes. 2018-11-17 00:14:07 +01:00
Console.cpp Expose the kernel log buffer through /proc/dmesg. 2019-01-28 22:40:55 +01:00
Console.h Use modern C++ attributes instead of __attribute__ voodoo. 2019-02-15 12:30:48 +01:00
Device.cpp Kernel: Have devices automagically register themselves with the VFS. 2019-02-17 10:38:07 +01:00
Device.h Kernel: Have devices automagically register themselves with the VFS. 2019-02-17 10:38:07 +01:00
DevPtsFS.cpp Kernel: Add proper locking to SynthFS and stop disabling interrupts. 2019-02-07 10:47:11 +01:00
DevPtsFS.h Use modern C++ attributes instead of __attribute__ voodoo. 2019-02-15 12:30:48 +01:00
DiskBackedFileSystem.cpp Kernel: Update block cache on write. 2019-02-11 13:18:24 +01:00
DiskBackedFileSystem.h Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
DiskDevice.cpp Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
DiskDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
DoubleBuffer.cpp Catch anyone trying to use a DoubleBuffer with interrupts disabled. 2019-01-16 01:58:11 +01:00
DoubleBuffer.h Kernel: When a lock is busy, donate remaining process ticks to lock holder. 2019-02-07 11:14:58 +01:00
elf.h Make it possible to build the Kernel on a macOS host. 2018-12-02 23:34:50 +01:00
ELFImage.cpp Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
ELFImage.h Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
ELFLoader.cpp Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
ELFLoader.h Use the entry point address from the ELF header instead of looking up _start. 2018-12-29 03:28:55 +01:00
ext2_fs.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
ext2_types.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
Ext2FileSystem.cpp Kernel: Start adding various file system permission checks. 2019-02-21 15:45:31 +01:00
Ext2FileSystem.h Add a simple /bin/df which gathers its info from /proc/df. 2019-02-21 14:48:00 +01:00
FIFO.cpp Allow character devices to block write attempts until there is more space. 2019-01-15 09:17:22 +01:00
FIFO.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
FileBackedDiskDevice.cpp Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
FileBackedDiskDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
FileDescriptor.cpp Kernel: Give each FileDescriptor a chance to co-open sockets. 2019-02-17 11:00:35 +01:00
FileDescriptor.h Kernel: Give each FileDescriptor a chance to co-open sockets. 2019-02-17 11:00:35 +01:00
FileSystem.cpp Kernel: More work on sockets. Fleshing out connect(). 2019-02-14 15:55:19 +01:00
FileSystem.h Add a simple /bin/df which gathers its info from /proc/df. 2019-02-21 14:48:00 +01:00
FullDevice.cpp Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
FullDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
i386.cpp Kernel: Reduce code duplication in exception handlers. 2019-02-20 12:28:41 +01:00
i386.h Use modern C++ attributes instead of __attribute__ voodoo. 2019-02-15 12:30:48 +01:00
i8253.cpp Clean up some uninteresting log spam. 2019-02-06 11:32:23 +01:00
i8253.h Implement event loop timers. 2019-02-01 03:50:06 +01:00
IDEDiskDevice.cpp Fix some compilation warnings. 2019-02-12 12:11:22 +01:00
IDEDiskDevice.h IDEDiskDevice: Detect disk errors and report failure to clients. 2019-02-11 11:38:14 +01:00
init.cpp Kernel: Run the sync daemon once every second. 2019-02-17 15:18:35 +01:00
InodeIdentifier.h Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
InodeMetadata.h Kernel: Start adding various file system permission checks. 2019-02-21 15:45:31 +01:00
IO.h Kernel: Much improved BochsVGA (BXVGA) support. 2019-02-06 10:17:26 +01:00
IRQHandler.cpp More coding style changes. 2018-12-03 00:39:25 +01:00
IRQHandler.h More coding style changes. 2018-12-03 00:39:25 +01:00
kassert.h Use modern C++ attributes instead of __attribute__ voodoo. 2019-02-15 12:30:48 +01:00
KeyboardDevice.cpp Kernel: Rename Keyboard to KeyboardDevice. 2019-02-17 08:39:09 +01:00
KeyboardDevice.h Kernel: Rename Keyboard to KeyboardDevice. 2019-02-17 08:39:09 +01:00
KeyCode.h Move WindowServer to userspace. 2019-02-17 00:13:47 +01:00
kmalloc.cpp Kernel: Shrink kmalloc() chunk size from 128 to 64. 2019-02-17 13:41:15 +01:00
kmalloc.h Use modern C++ attributes instead of __attribute__ voodoo. 2019-02-15 12:30:48 +01:00
kprintf.cpp Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
kprintf.h Use modern C++ attributes instead of __attribute__ voodoo. 2019-02-15 12:30:48 +01:00
kstdio.h Fix Userland build. 2019-01-13 04:31:16 +01:00
KSyms.cpp Use modern C++ attributes instead of __attribute__ voodoo. 2019-02-15 12:30:48 +01:00
KSyms.h Use modern C++ attributes instead of __attribute__ voodoo. 2019-02-15 12:30:48 +01:00
ktime.h Fix some minor build warnings. 2018-10-17 16:48:43 +02:00
Limits.h Kernel: Get rid of Unix namespace. 2019-01-23 06:57:00 +01:00
linker.ld Import the "gerbert" kernel I worked on earlier this year. 2018-10-16 11:02:00 +02:00
LocalSocket.cpp Kernel: Process::cwd_inode() should return a reference. 2019-02-21 16:19:07 +01:00
LocalSocket.h Kernel: Give each FileDescriptor a chance to co-open sockets. 2019-02-17 11:00:35 +01:00
makeall.sh Move WindowServer to userspace. 2019-02-17 00:13:47 +01:00
Makefile Prune compiler flags a bit. Let's go with -march=i686 for now. 2019-02-17 15:17:21 +01:00
makeuserland.sh Move apps into a top-level Applications/ directory. 2019-02-10 08:35:01 +01:00
MasterPTY.cpp Support resizing the Terminal app. 2019-02-20 23:38:20 +01:00
MasterPTY.h Support resizing the Terminal app. 2019-02-20 23:38:20 +01:00
MemoryManager.cpp Kernel: If someone else zero-fills a shared VMO page, don't freak out. 2019-02-20 21:33:07 +01:00
MemoryManager.h Add ability to switch video modes from the system menu. 2019-02-17 13:12:59 +01:00
mkf.sh Start working on a simple graphical font editor. 2019-02-02 08:07:06 +01:00
mkmap.sh Omit duplicate lines from the ksyms map. 2018-12-03 02:23:49 +01:00
NullDevice.cpp Kernel: Make sure processes always start out with fds 0, 1 and 2 open. 2019-02-12 11:25:25 +01:00
NullDevice.h Kernel: Report the correct name for NullDevice. 2019-02-17 09:40:19 +01:00
PCI.cpp Kernel: Much improved BochsVGA (BXVGA) support. 2019-02-06 10:17:26 +01:00
PCI.h Kernel: Much improved BochsVGA (BXVGA) support. 2019-02-06 10:17:26 +01:00
PIC.cpp Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
PIC.h Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
Process.cpp Kernel: Pass process arguments directly on the stack. 2019-02-22 01:55:22 +01:00
Process.h Kernel: Pass process arguments directly on the stack. 2019-02-22 01:55:22 +01:00
ProcFS.cpp Kernel: Process::cwd_inode() should return a reference. 2019-02-21 16:19:07 +01:00
ProcFS.h Use modern C++ attributes instead of __attribute__ voodoo. 2019-02-15 12:30:48 +01:00
PS2MouseDevice.cpp PS2MouseDevice: Add current buffer size to debug logging. 2019-02-12 09:22:55 +01:00
PS2MouseDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
PTYMultiplexer.cpp Kernel: When a lock is busy, donate remaining process ticks to lock holder. 2019-02-07 11:14:58 +01:00
PTYMultiplexer.h Bootloader: Locate the kernel's data segment and clear it. 2019-02-06 16:02:10 +01:00
Queue.h Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
RandomDevice.cpp Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
RandomDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
RTC.cpp Kernel: Fix wrong calculation of current Unix timestamp. 2019-02-19 02:39:18 +01:00
RTC.h WindowServer: Put a clock in the top right corner of the screen. 2019-02-13 09:27:08 +01:00
run Add TIOCGWINSZ ioctl so userland can determine terminal geometry. 2018-11-29 03:45:23 +01:00
Scheduler.cpp Port the WindowServer and LibGUI to communicate through local sockets. 2019-02-14 17:18:35 +01:00
Scheduler.h Kernel: When a lock is busy, donate remaining process ticks to lock holder. 2019-02-07 11:14:58 +01:00
SlavePTY.cpp Kernel: Have devices automagically register themselves with the VFS. 2019-02-17 10:38:07 +01:00
SlavePTY.h Kernel: Writing to a slave PTY should yield EIO if the master is closed. 2019-02-05 13:09:01 +01:00
Socket.cpp Kernel: Give each FileDescriptor a chance to co-open sockets. 2019-02-17 11:00:35 +01:00
Socket.h Kernel: Give each FileDescriptor a chance to co-open sockets. 2019-02-17 11:00:35 +01:00
StdLib.cpp Use modern C++ attributes instead of __attribute__ voodoo. 2019-02-15 12:30:48 +01:00
StdLib.h Kernel: Don't disable interrupts to access the system hostname. 2019-02-07 10:29:26 +01:00
sync.sh Kernel: Pass process arguments directly on the stack. 2019-02-22 01:55:22 +01:00
SyntheticFileSystem.cpp Kernel: When a lock is busy, donate remaining process ticks to lock holder. 2019-02-07 11:14:58 +01:00
SyntheticFileSystem.h Kernel: Add proper locking to SynthFS and stop disabling interrupts. 2019-02-07 10:47:11 +01:00
Syscall.cpp Kernel: Pass process arguments directly on the stack. 2019-02-22 01:55:22 +01:00
Syscall.h Kernel: Pass process arguments directly on the stack. 2019-02-22 01:55:22 +01:00
system.h The syncd loop can just be a lambda. 2018-12-24 23:10:48 +01:00
TSS.h Use modern C++ attributes instead of __attribute__ voodoo. 2019-02-15 12:30:48 +01:00
TTY.cpp Support resizing the Terminal app. 2019-02-20 23:38:20 +01:00
TTY.h Kernel: Writing to a slave PTY should yield EIO if the master is closed. 2019-02-05 13:09:01 +01:00
types.h Use modern C++ attributes instead of __attribute__ voodoo. 2019-02-15 12:30:48 +01:00
UnixTypes.h Kernel: More sockets work. Fleshing out accept(). 2019-02-14 15:17:30 +01:00
VirtualConsole.cpp Kernel: Rename Keyboard to KeyboardDevice. 2019-02-17 08:39:09 +01:00
VirtualConsole.h Kernel: Rename Keyboard to KeyboardDevice. 2019-02-17 08:39:09 +01:00
VirtualFileSystem.cpp Kernel: Add file permission checks to link() syscall. 2019-02-21 17:05:32 +01:00
VirtualFileSystem.h Kernel: Add file permission checks to utime() syscall. 2019-02-21 16:37:41 +01:00
ZeroDevice.cpp Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
ZeroDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00