ladybird/Kernel
Andreas Kling 799177feda Kernel: Make BochsVGADevice a BlockDevice and support mmapping it.
Currently you can only mmap the entire framebuffer.
Using this when starting up the WindowServer gets us yet another step
closer towards it moving into userspace. :^)
2019-02-16 09:57:42 +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
BochsVGADevice.cpp Kernel: Make BochsVGADevice a BlockDevice and support mmapping it. 2019-02-16 09:57:42 +01:00
BochsVGADevice.h Kernel: Make BochsVGADevice a BlockDevice and support mmapping it. 2019-02-16 09:57:42 +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: Add Device base class for CharacterDevice. 2019-02-16 00:47:20 +01:00
Device.h Kernel: Make BochsVGADevice a BlockDevice and support mmapping it. 2019-02-16 09:57:42 +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: Make BochsVGADevice a BlockDevice and support mmapping it. 2019-02-16 09:57:42 +01:00
Ext2FileSystem.h Ext2FS: Fix various bugs in inode and block allocation. 2019-02-15 23:28:20 +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: Make BochsVGADevice a BlockDevice and support mmapping it. 2019-02-16 09:57:42 +01:00
FileDescriptor.h Kernel: Make BochsVGADevice a BlockDevice and support mmapping it. 2019-02-16 09:57:42 +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
i386.cpp Use modern C++ attributes instead of __attribute__ voodoo. 2019-02-15 12:30:48 +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: Make BochsVGADevice a BlockDevice and support mmapping it. 2019-02-16 09:57:42 +01:00
InodeIdentifier.h Big, possibly complete sweep of naming changes. 2019-01-31 17:31:23 +01:00
InodeMetadata.h Kernel: Make BochsVGADevice a BlockDevice and support mmapping it. 2019-02-16 09:57:42 +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
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 Use modern C++ attributes instead of __attribute__ voodoo. 2019-02-15 12:30:48 +01:00
KeyCode.h LibGUI: Start bringing up GTextBox in the standalone world. 2019-01-26 06:39:13 +01:00
kmalloc.cpp Use modern C++ attributes instead of __attribute__ voodoo. 2019-02-15 12:30:48 +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: Fix some broken debug log statements. 2019-02-14 17:43:47 +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: Add empty BlockDevice class. 2019-02-16 00:52:58 +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 Use modern C++ attributes instead of __attribute__ voodoo. 2019-02-15 12:30: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 Kernel: Make BochsVGADevice a BlockDevice and support mmapping it. 2019-02-16 09:57:42 +01:00
Process.h Kernel: Make BochsVGADevice a BlockDevice and support mmapping it. 2019-02-16 09:57:42 +01:00
ProcFS.cpp Fix some compilation warnings. 2019-02-12 12:11:22 +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 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: Add Device base class for CharacterDevice. 2019-02-16 00:47:20 +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: Fix some broken debug log statements. 2019-02-14 17:43:47 +01:00
Socket.h Port the WindowServer and LibGUI to communicate through local sockets. 2019-02-14 17:18: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: Make BochsVGADevice a BlockDevice and support mmapping it. 2019-02-16 09:57:42 +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 Use modern C++ attributes instead of __attribute__ voodoo. 2019-02-15 12:30:48 +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 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 Enable -Wimplicit-fallthrough. 2019-02-15 12:39:16 +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: Make BochsVGADevice a BlockDevice and support mmapping it. 2019-02-16 09:57:42 +01:00
VirtualFileSystem.h Kernel: Add Device base class for CharacterDevice. 2019-02-16 00:47:20 +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