1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2026-01-15 19:41:00 +00:00
serenity/Kernel
Andreas Kling 5582a0a254 Kernel: When a lock is busy, donate remaining process ticks to lock holder.
Since we know who's holding the lock, and we're gonna have to yield anyway,
we can just ask the scheduler to donate any remaining ticks to that process.
2019-02-07 11:14:58 +01:00
..
Boot Bootloader: Locate the kernel's data segment and clear it. 2019-02-06 16:02:10 +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
_fs_contents.stock Unbreak ksym loading and make reading /proc/PID/stack not crash. 2019-01-01 02:20:01 +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
BochsVGADevice.cpp WindowServer: Coordinate double-buffering with the BochsVGA card. 2019-02-07 08:56:26 +01:00
BochsVGADevice.h WindowServer: Coordinate double-buffering with the BochsVGA card. 2019-02-07 08:56:26 +01:00
CharacterDevice.cpp Deallocate PTY's when they close. 2019-01-30 18:47:18 +01:00
CharacterDevice.h Add uid and gid to CharacterDevices. 2019-01-31 05:55:30 +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 Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
DevPtsFS.cpp Kernel: Add proper locking to SynthFS and stop disabling interrupts. 2019-02-07 10:47:11 +01:00
DevPtsFS.h Deallocate PTY's when they close. 2019-01-30 18:47:18 +01:00
DiskBackedFileSystem.cpp Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +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: Invalidate file-backed VMO's when inodes are written. 2019-02-05 08:17:46 +01:00
Ext2FileSystem.h Ext2FS: Avoid a kmallocation every time we fetch an inode from disk. 2019-02-03 04:05:30 +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: Oops, I mixed up st_dev and st_rdev in struct stat. 2019-02-03 06:23:10 +01:00
FileDescriptor.h Make stat() work on device files again. 2019-01-31 05:05:57 +01:00
FileSystem.cpp Kernel: When a lock is busy, donate remaining process ticks to lock holder. 2019-02-07 11:14:58 +01:00
FileSystem.h Bootloader: Locate the kernel's data segment and clear it. 2019-02-06 16:02:10 +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
GUIEventDevice.cpp Tear out or duplicate what's unique for WindowServer from Widgets. 2019-01-16 16:03:50 +01:00
GUIEventDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
GUITypes.h Add a simple close button ("X") to windows. 2019-02-05 10:31:37 +01:00
i386.cpp Kernel: Invalidate file-backed VMO's when inodes are written. 2019-02-05 08:17:46 +01:00
i386.h Kernel: Add an InterruptFlagSaver helper class. 2019-02-05 11:14:09 +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 Kernel: When a lock is busy, donate remaining process ticks to lock holder. 2019-02-07 11:14:58 +01:00
IDEDiskDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
init.cpp Kernel: Remove some unnecessary zero initialization now that BSS is cleared. 2019-02-07 10:31:32 +01:00
InodeIdentifier.h Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
InodeMetadata.h Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +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 More coding style changes. 2018-12-03 00:39:25 +01:00
Keyboard.cpp Kernel: Drivers for PS/2 mouse and keyboard kept stealing from each other. 2019-02-07 07:58:26 +01:00
Keyboard.h LibGUI: Start bringing up GTextBox in the standalone world. 2019-01-26 06:39:13 +01:00
KeyCode.h LibGUI: Start bringing up GTextBox in the standalone world. 2019-01-26 06:39:13 +01:00
kmalloc.cpp Kernel: Unbreak symbolication yet another time. 2019-01-27 10:17:56 +01:00
kmalloc.h Kernel: Unbreak symbolication yet another time. 2019-01-27 10:17:56 +01:00
kprintf.cpp Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
kprintf.h Build Painter & friends into LibC. Use it in the GUI test app. 2019-01-14 20:02:51 +01:00
kstdio.h Fix Userland build. 2019-01-13 04:31:16 +01:00
KSyms.cpp Kernel: Stop spamming the kernel log buffer when loading ksyms. 2019-02-06 18:52:12 +01:00
KSyms.h Unbreak ksym loading and make reading /proc/PID/stack not crash. 2019-01-01 02:20:01 +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
makeall.sh Clock: Turns the clock window from guitest2 into a separate program. 2019-02-05 09:44:13 +01:00
Makefile Add a fast memcpy() using MMX when we're moving >= 1KB. 2019-02-07 08:46:52 +01:00
makeuserland.sh Clock: Turns the clock window from guitest2 into a separate program. 2019-02-05 09:44:13 +01:00
MasterPTY.cpp Kernel: Writing to a slave PTY should yield EIO if the master is closed. 2019-02-05 13:09:01 +01:00
MasterPTY.h Kernel: Writing to a slave PTY should yield EIO if the master is closed. 2019-02-05 13:09:01 +01:00
MemoryManager.cpp Kernel: Let's try disabling the CPU's page-level caching for framebuffers. 2019-02-07 09:24:41 +01:00
MemoryManager.h Kernel: Let's try disabling the CPU's page-level caching for framebuffers. 2019-02-07 09:24:41 +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 Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
NullDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +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: When a lock is busy, donate remaining process ticks to lock holder. 2019-02-07 11:14:58 +01:00
Process.h Kernel: When a lock is busy, donate remaining process ticks to lock holder. 2019-02-07 11:14:58 +01:00
ProcessGUI.cpp WindowServer: Coordinate double-buffering with the BochsVGA card. 2019-02-07 08:56:26 +01:00
ProcFS.cpp Kernel: When a lock is busy, donate remaining process ticks to lock holder. 2019-02-07 11:14:58 +01:00
ProcFS.h Kernel: Rewrite ProcFS. 2019-02-03 12:33:11 +01:00
PS2MouseDevice.cpp Kernel: Drivers for PS/2 mouse and keyboard kept stealing from each other. 2019-02-07 07:58:26 +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 Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
RTC.h Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
run Add TIOCGWINSZ ioctl so userland can determine terminal geometry. 2018-11-29 03:45:23 +01:00
Scheduler.cpp Kernel: When a lock is busy, donate remaining process ticks to lock holder. 2019-02-07 11:14:58 +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: Writing to a slave PTY should yield EIO if the master is closed. 2019-02-05 13:09:01 +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
StdLib.cpp Kernel: Don't disable interrupts to access the system hostname. 2019-02-07 10:29:26 +01:00
StdLib.h Kernel: Don't disable interrupts to access the system hostname. 2019-02-07 10:29:26 +01:00
sync.sh Clock: Turns the clock window from guitest2 into a separate program. 2019-02-05 09:44:13 +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 Clean up some uninteresting log spam. 2019-02-06 11:32:23 +01:00
Syscall.h Get nyancat nyanning in Serenity. 2019-02-03 16:11:28 +01:00
system.h The syncd loop can just be a lambda. 2018-12-24 23:10:48 +01:00
TSS.h Share code between spawn() and exec() implementations. 2018-11-03 10:55:02 +01:00
TTY.cpp Kernel: Closing a MasterPTY should generate a TTY hangup. 2019-02-05 12:55:19 +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 Get nyancat nyanning in Serenity. 2019-02-03 16:11:28 +01:00
UnixTypes.h LibC: Add mktime(). 2019-01-31 16:51:27 +01:00
VirtualConsole.cpp Kernel: Writing to a slave PTY should yield EIO if the master is closed. 2019-02-05 13:09:01 +01:00
VirtualConsole.h Kernel: Writing to a slave PTY should yield EIO if the master is closed. 2019-02-05 13:09:01 +01:00
VirtualFileSystem.cpp Kernel: Fix some broken debugging code in VFS. 2019-02-06 17:34:27 +01:00
VirtualFileSystem.h Bootloader: Locate the kernel's data segment and clear it. 2019-02-06 16:02:10 +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