ladybird/Kernel
Andreas Kling bf58241c11 Port the WindowServer and LibGUI to communicate through local sockets.
This is really cool! :^)

Apps currently refuse to start if the WindowServer isn't listening on the
socket in /wsportal. This makes sense, but I guess it would also be nice
to have some sort of "wait for server on startup" mode.

This has performance issues, and I'll work on those, but this stuff seems
to actually work and I'm very happy with that.
2019-02-14 17:18:35 +01:00
..
Boot Bootloader: Bump sector count once again. 2019-02-12 12:09:50 +01:00
_start.cpp Import the "gerbert" kernel I worked on earlier this year. 2018-10-16 11:02:00 +02: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
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 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 Ext2FS: Fix broken logic for accessing inode and block bitmaps. 2019-02-11 12:46:56 +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: Actually send things between the socket endpoints. 2019-02-14 16:01:45 +01:00
FileDescriptor.h Port the WindowServer and LibGUI to communicate through local sockets. 2019-02-14 17:18:35 +01:00
FileSystem.cpp Kernel: More work on sockets. Fleshing out connect(). 2019-02-14 15:55:19 +01:00
FileSystem.h Kernel: More work on sockets. Fleshing out connect(). 2019-02-14 15:55:19 +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 Rename GUI_Event to GUI_ServerMessage. 2019-02-13 17:59:38 +01:00
GUIEventDevice.h WindowServer: Begin refactoring towards a fully asynchronous protocol. 2019-02-13 17:54:30 +01:00
GUITypes.h WindowServer: Post error messages to clients on protocol failure. 2019-02-14 09:32:34 +01:00
i386.cpp Kernel: Put page fault logspam behind PAGE_FAULT_DEBUG. 2019-02-10 11:37:59 +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 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 WindowServer: Put a clock in the top right corner of the screen. 2019-02-13 09:27:08 +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
LocalSocket.cpp Port the WindowServer and LibGUI to communicate through local sockets. 2019-02-14 17:18:35 +01:00
LocalSocket.h Port the WindowServer and LibGUI to communicate through local sockets. 2019-02-14 17:18:35 +01:00
makeall.sh Let's have makeall.sh build with make -j2. 2019-02-12 16:34:19 +01:00
Makefile Kernel: Begin implementing UNIX domain sockets. 2019-02-14 14:17:38 +01:00
makeuserland.sh Move apps into a top-level Applications/ directory. 2019-02-10 08:35:01 +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: Put page fault logspam behind PAGE_FAULT_DEBUG. 2019-02-10 11:37:59 +01:00
MemoryManager.h Kernel: Break retain cycle between Inode and VMObject. 2019-02-08 16:40:48 +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: Make sure processes always start out with fds 0, 1 and 2 open. 2019-02-12 11:25:25 +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 Port the WindowServer and LibGUI to communicate through local sockets. 2019-02-14 17:18:35 +01:00
Process.h Port the WindowServer and LibGUI to communicate through local sockets. 2019-02-14 17:18:35 +01:00
ProcFS.cpp Fix some compilation warnings. 2019-02-12 12:11:22 +01:00
ProcFS.h Kernel: Use a Lockable<bool> for sysctl booleans as well. 2019-02-08 16:18:24 +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 WindowServer: Put a clock in the top right corner of the screen. 2019-02-13 09:27:08 +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: 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
Socket.cpp Port the WindowServer and LibGUI to communicate through local sockets. 2019-02-14 17:18:35 +01:00
Socket.h Port the WindowServer and LibGUI to communicate through local sockets. 2019-02-14 17:18:35 +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 WindowServer: Convert entire API to be message-based. 2019-02-14 01:21:32 +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 LibC: Add socket(), bind(), listen(), accept() and connect(). 2019-02-14 15:26:06 +01:00
Syscall.h Kernel: Begin implementing UNIX domain sockets. 2019-02-14 14:17:38 +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 Kernel: More sockets work. Fleshing out accept(). 2019-02-14 15:17:30 +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: Begin fleshing out bind() syscall. 2019-02-14 14:38:30 +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