1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 02:57:42 +00:00
serenity/Kernel
Andreas Kling ca16d9d98e Kernel: Invalidate file-backed VMO's when inodes are written.
The current strategy is simply to nuke all physical pages and force
reload them from disk. This is obviously not optimal and should eventually
be optimized. It should be fairly straightforward.
2019-02-05 08:17:46 +01:00
..
Boot Switch into 1024x768x32bpp VESA LFB mode at boot. 2019-01-09 02:29:11 +01:00
.bochsrc .bochsrc: Toggle mouse grab with ctrl-alt (works nicer on 1-button mice.) 2019-01-28 02:34:09 +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
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 Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +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 Rename SpinLock to Lock. It hasn't been a SpinLock for some time. 2019-01-17 16:25:02 +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: Invalidate file-backed VMO's when inodes are written. 2019-02-05 08:17:46 +01:00
FileSystem.h Kernel: Invalidate file-backed VMO's when inodes are written. 2019-02-05 08:17:46 +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 Let userland retain the window backing store while drawing into it. 2019-01-24 23:44:19 +01:00
i386.cpp Kernel: Invalidate file-backed VMO's when inodes are written. 2019-02-05 08:17:46 +01:00
i386.h mmap all the font files! 2019-02-05 06:43:33 +01:00
i8253.cpp Implement event loop timers. 2019-02-01 03:50:06 +01:00
i8253.h Implement event loop timers. 2019-02-01 03:50:06 +01:00
IDEDiskDevice.cpp Ext2FS: Delete inodes when their link count goes to zero. 2019-01-22 16:34:24 +01:00
IDEDiskDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
init.cpp Kernel: Rewrite ProcFS. 2019-02-03 12:33:11 +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 Make IO helpers inline and use immediate-encoded ports when possible. 2018-11-02 10:14: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 Add support for keyboard arrow keys. 2019-01-30 21:18:13 +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: VFS::open/create should take base Inode& instead of InodeIdentifier. 2019-02-01 15:36:45 +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 Start working on a simple graphical font editor. 2019-02-02 08:07:06 +01:00
Makefile Kernel: Rewrite ProcFS. 2019-02-03 12:33:11 +01:00
makeuserland.sh Start bringing up LibGUI properly (formerly Widgets.) 2019-01-20 05:48:43 +01:00
MasterPTY.cpp Add uid and gid to CharacterDevices. 2019-01-31 05:55:30 +01:00
MasterPTY.h Deallocate PTY's when they close. 2019-01-30 18:47:18 +01:00
MemoryManager.cpp Kernel: Invalidate file-backed VMO's when inodes are written. 2019-02-05 08:17:46 +01:00
MemoryManager.h Kernel: Invalidate file-backed VMO's when inodes are written. 2019-02-05 08:17:46 +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
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: Invalidate file-backed VMO's when inodes are written. 2019-02-05 08:17:46 +01:00
Process.h mmap all the font files! 2019-02-05 06:43:33 +01:00
ProcessGUI.cpp Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
ProcFS.cpp ProcFS: Fix wrong linkage for /proc/cpuinfo inode. 2019-02-04 10:38:54 +01:00
ProcFS.h Kernel: Rewrite ProcFS. 2019-02-03 12:33:11 +01:00
PS2MouseDevice.cpp PS2MouseDevice: Try to synchronize the data reporting stream. 2019-01-17 02:13:21 +01:00
PS2MouseDevice.h Move VFS sources into Kernel/. 2019-01-23 05:14:00 +01:00
PTYMultiplexer.cpp Add uid and gid to CharacterDevices. 2019-01-31 05:55:30 +01:00
PTYMultiplexer.h Deallocate PTY's when they close. 2019-01-30 18:47:18 +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: Ignore SIGCHLD by default. 2019-02-04 14:06:38 +01:00
Scheduler.h Add a /bin/top program for process table monitoring. 2019-02-04 10:28:12 +01:00
SlavePTY.cpp Add uid and gid to CharacterDevices. 2019-01-31 05:55:30 +01:00
SlavePTY.h Let the slave PTY keep the master PTY alive. 2019-01-30 19:05:59 +01:00
StdLib.cpp Kernel: Rewrite ProcFS. 2019-02-03 12:33:11 +01:00
StdLib.h Make it possible to build the Kernel on a macOS host. 2018-12-02 23:34:50 +01:00
sync.sh Add a /bin/top program for process table monitoring. 2019-02-04 10:28:12 +01:00
SyntheticFileSystem.cpp Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
SyntheticFileSystem.h Add a /dev/pts filesystem and make PTY allocation dynamic. 2019-01-30 00:49:20 +01:00
Syscall.cpp Get nyancat nyanning in Serenity. 2019-02-03 16:11:28 +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: Get rid of Unix namespace. 2019-01-23 06:57:00 +01:00
TTY.h Kernel: Get rid of Unix namespace. 2019-01-23 06:57:00 +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 Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
VirtualConsole.h Flesh out keyboard event support a bit more. 2019-01-21 07:27:26 +01:00
VirtualFileSystem.cpp Kernel: VFS::open/create should take base Inode& instead of InodeIdentifier. 2019-02-01 15:36:45 +01:00
VirtualFileSystem.h Kernel: VFS::open/create should take base Inode& instead of InodeIdentifier. 2019-02-01 15:36:45 +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