1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 13:07:46 +00:00
serenity/Kernel
Andreas Kling 2c5a378ccc Kernel+Userland: Add symlink() syscall and add "-s" flag to /bin/ln.
It's now possible to create symbolic links! :^)

This exposed an issue in Ext2FS where we'd write uninitialized data past
the end of an inode's content. Fix this by zeroing out the tail end of
the last block in a file.
2019-03-02 01:52:24 +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: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +01:00
BXVGADevice.h Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +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 Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +01:00
Console.h Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +01:00
Device.cpp Kernel: Have devices automagically register themselves with the VFS. 2019-02-17 10:38:07 +01:00
Device.h Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +01:00
DevPtsFS.cpp AK: Add Retained<T>, like RetainPtr, but never null. 2019-02-25 12:43:52 +01:00
DevPtsFS.h AK: Add Retained<T>, like RetainPtr, but never null. 2019-02-25 12:43:52 +01:00
DiskBackedFileSystem.cpp AK: Add Retained<T>, like RetainPtr, but never null. 2019-02-25 12:43:52 +01:00
DiskBackedFileSystem.h More moving towards using signed types. 2019-02-25 22:06:55 +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 Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +01:00
DoubleBuffer.h Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +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 Kernel: Simplify ELF loading a bit. 2019-02-26 15:52:06 +01:00
ELFLoader.cpp Kernel: Simplify ELF loading a bit. 2019-02-26 15:52:06 +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+Userland: Add symlink() syscall and add "-s" flag to /bin/ln. 2019-03-02 01:52:24 +01:00
Ext2FileSystem.h Kernel: Make a copy of the dirty inode list before iterating in sync(). 2019-02-28 21:51:59 +01:00
FIFO.cpp Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +01:00
FIFO.h Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +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: Port stat() to KResult/KResultOr<T>. 2019-03-02 00:11:27 +01:00
FileDescriptor.h Kernel: Port stat() to KResult/KResultOr<T>. 2019-03-02 00:11:27 +01:00
FileSystem.cpp Kernel: Oops, fix Vector assertion in FS::Sync. 2019-02-28 22:33:00 +01:00
FileSystem.h Kernel: Make a copy of the dirty inode list before iterating in sync(). 2019-02-28 21:51:59 +01:00
FullDevice.cpp Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +01:00
FullDevice.h Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +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 AK: Add Retained<T>, like RetainPtr, but never null. 2019-02-25 12:43:52 +01:00
IDEDiskDevice.h AK: Add Retained<T>, like RetainPtr, but never null. 2019-02-25 12:43:52 +01:00
init.cpp ProcessManager: Start working on a graphical process manager. 2019-02-28 01:43:50 +01:00
InodeIdentifier.h Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
InodeMetadata.h Kernel: Allow uid 0 to read/write/execute any file. 2019-02-27 17:08:13 +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: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +01:00
KeyboardDevice.h Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +01:00
KeyCode.h Move WindowServer to userspace. 2019-02-17 00:13:47 +01:00
kmalloc.cpp LibC: Enough compat work to make binutils-2.32 build and run. 2019-02-23 17:24:50 +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
KResult.h Kernel: Use KResult in unlink() and rmdir(). 2019-02-27 14:11:25 +01:00
kstdio.h Fix Userland build. 2019-01-13 04:31:16 +01:00
KSyms.cpp Kernel: Make dump_backtrace() kinda sorta work. 2019-02-24 14:51:48 +01:00
KSyms.h Kernel: Make dump_backtrace() kinda sorta work. 2019-02-24 14:51:48 +01:00
ktime.h Fix some minor build warnings. 2018-10-17 16:48:43 +02:00
Limits.h Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +01:00
linker.ld Import the "gerbert" kernel I worked on earlier this year. 2018-10-16 11:02:00 +02:00
LocalSocket.cpp Put miscellaneous debug spam behind #ifdefs. 2019-03-01 10:51:58 +01:00
LocalSocket.h Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +01:00
makeall.sh ProcessManager: Start working on a graphical process manager. 2019-02-28 01:43:50 +01:00
Makefile AK: Add Retained<T>, like RetainPtr, but never null. 2019-02-25 12:43:52 +01:00
MasterPTY.cpp Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +01:00
MasterPTY.h Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +01:00
MemoryManager.cpp Compat work towards porting vim. 2019-02-26 15:57:59 +01:00
MemoryManager.h More moving towards using signed types. 2019-02-25 22:06:55 +01:00
mkmap.sh Omit duplicate lines from the ksyms map. 2018-12-03 02:23:49 +01:00
NullDevice.cpp Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +01:00
NullDevice.h Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +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+Userland: Add symlink() syscall and add "-s" flag to /bin/ln. 2019-03-02 01:52:24 +01:00
Process.h Kernel+Userland: Add symlink() syscall and add "-s" flag to /bin/ln. 2019-03-02 01:52:24 +01:00
ProcFS.cpp Kernel: Use KResult in link(). 2019-02-27 15:31:26 +01:00
ProcFS.h Kernel: Use KResult in link(). 2019-02-27 15:31:26 +01:00
PS2MouseDevice.cpp Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +01:00
PS2MouseDevice.h Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +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 Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +01:00
Queue.h Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
RandomDevice.cpp Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +01:00
RandomDevice.h Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +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 Kernel: Don't send SIGCHLD to parent process if he has SA_NOCLDWAIT set. 2019-03-01 15:52:05 +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: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +01:00
SlavePTY.h Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +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: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +01:00
StdLib.cpp Start fixing things up to build with a proper cross-compiler. 2019-02-22 10:23:28 +01:00
StdLib.h Start fixing things up to build with a proper cross-compiler. 2019-02-22 10:23:28 +01:00
sync.sh ProcessManager: Start working on a graphical process manager. 2019-02-28 01:43:50 +01:00
SyntheticFileSystem.cpp Kernel: Make a copy of the dirty inode list before iterating in sync(). 2019-02-28 21:51:59 +01:00
SyntheticFileSystem.h Kernel: Make a copy of the dirty inode list before iterating in sync(). 2019-02-28 21:51:59 +01:00
Syscall.cpp Kernel+Userland: Add symlink() syscall and add "-s" flag to /bin/ln. 2019-03-02 01:52:24 +01:00
Syscall.h Kernel+Userland: Add symlink() syscall and add "-s" flag to /bin/ln. 2019-03-02 01:52:24 +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 Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +01:00
TTY.h Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +01:00
types.h Use modern C++ attributes instead of __attribute__ voodoo. 2019-02-15 12:30:48 +01:00
UnixTypes.h Compat work towards porting vim. 2019-02-26 15:57:59 +01:00
VirtualConsole.cpp Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +01:00
VirtualConsole.h Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +01:00
VirtualFileSystem.cpp Kernel+Userland: Add symlink() syscall and add "-s" flag to /bin/ln. 2019-03-02 01:52:24 +01:00
VirtualFileSystem.h Kernel+Userland: Add symlink() syscall and add "-s" flag to /bin/ln. 2019-03-02 01:52:24 +01:00
ZeroDevice.cpp Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +01:00
ZeroDevice.h Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t. 2019-02-25 21:21:12 +01:00