Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-04-08 | Kernel: Support non-blocking connect(). | Andreas Kling | |
If connect() is called on a non-blocking socket, it will "fail" immediately with -EINPROGRESS. After that, you select() on the socket and wait for it to become writable. | |||
2019-04-07 | Kernel+Userland: Add the rename() syscall along with a basic /bin/mv. | Andreas Kling | |
2019-04-07 | Start working on a Downloader app and backing classes in LibGUI. | Andreas Kling | |
LibGUI is slowly becoming LibKitchensink but I'm okay with this for now. | |||
2019-04-06 | Kernel: Oops, also moved FileDescriptor into FileSystem/, fix Makefile. | Andreas Kling | |
2019-04-06 | Kernel: Move FIFO into FileSystem/ and Socket+LocalSocket into Net/. | Andreas Kling | |
2019-04-06 | Kernel: Use alloc_fd() more instead of walking fd list manually. | Andreas Kling | |
2019-04-06 | Kernel: Get rid of Kernel/types.h, separate LinearAddress/PhysicalAddress. | Andreas Kling | |
2019-04-05 | Hack sync.sh script to retry umount after a short delay if it fails. | Andreas Kling | |
I keep accumulated unwanted mounts because umount sometimes fails. | |||
2019-04-05 | NetworkTask: Add a combined alarm for the all network adapters. | Andreas Kling | |
This way we can go back to snoozing in the receiver task and stop chewing up the CPU. :^) | |||
2019-04-05 | AK: Revert Eternal<T> for now since it doesn't work as intended. | Andreas Kling | |
2019-04-05 | Kernel: Build with i686-pc-serenity-g++. | Andreas Kling | |
This works just fine, and now we only need one cross-compiler. :^) | |||
2019-04-04 | Kernel: Spawn /bin/Taskbar on startup. | Andreas Kling | |
I think it's good enough now to be there by default. :^) | |||
2019-04-03 | Kernel: Bump per-process file descriptor limit to 128. | Andreas Kling | |
2019-04-03 | Taskbar: Start working on a taskbar app. | Andreas Kling | |
I originally thought I would do this inside WindowServer, but let's try to make it as a standalone app that communicates with WindowServer instead. That will allow us to use LibGUI. :^) | |||
2019-04-03 | AK: Add Eternal<T> and use it in various places. | Andreas Kling | |
This is useful for static locals that never need to be destroyed: Thing& Thing::the() { static Eternal<Thing> the; return the; } The object will be allocated in data segment memory and will never have its destructor invoked. | |||
2019-04-03 | Kernel: Move VM-related files into Kernel/VM/. | Andreas Kling | |
Also break MemoryManager.{cpp,h} into one file per class. | |||
2019-04-03 | Kernel: Tidy up kmalloc.cpp a tiny bit. | Andreas Kling | |
2019-04-03 | Kernel: Remove unused Queue.h. | Andreas Kling | |
2019-04-03 | Kernel: Remove Limits.h | Andreas Kling | |
2019-04-03 | Kernel: Remove ancient nprocess and nblocked globals. | Andreas Kling | |
These were not in sync with reality, and not used anywhere anyway. | |||
2019-04-03 | Kernel: Remove unneeded kassert.h. | Andreas Kling | |
2019-04-03 | Kernel: Remove now-unused _start.cpp | Andreas Kling | |
2019-04-03 | Kernel: Move devices into Kernel/Devices/. | Andreas Kling | |
2019-04-03 | Kernel: Move ELF-related files into Kernel/ELF/. | Andreas Kling | |
2019-04-03 | Kernel: Move TTY-related files into Kernel/TTY/. | Andreas Kling | |
2019-04-03 | Kernel: Move FS-related files into Kernel/FileSystem/ | Andreas Kling | |
2019-04-03 | Kernel: Make LoopbackAdapter eternally allocated. | Andreas Kling | |
2019-04-03 | AK: Remove useless ktime.h | Andreas Kling | |
2019-04-03 | AK: Clean up some of the confusion that is AK/kmalloc.{cpp,h} | Andreas Kling | |
2019-04-03 | Kernel: Get rid of the GPL elf.h and import exec_elf.h from OpenBSD. | Andreas Kling | |
2019-04-02 | Move NetworkOrdered.h to AK/ since it's used in both kernel and userspace. | Andreas Kling | |
2019-04-02 | Kernel: Move networking related files into Kernel/Net/. | Andreas Kling | |
2019-04-02 | Kernel: Add a LoopbackAdapter for talking to yourself via 127.0.0.1. | Andreas Kling | |
Choosing adapter for transmit is done by adapter_for_route_to(IPv4Address). This is just hard-coded logic right now but can be expanded to support a proper routing table. Also start moving kernel networking code into Kernel/Net/. | |||
2019-04-01 | Kernel: Spawn the Launcher by default. | Andreas Kling | |
2019-04-01 | Kernel: Use a multiboot header instead of a convoluted two-part bootloader. | Andreas Kling | |
The old bootloader was hilariously complicated, requiring a floppy disk with the kernel on it, and a hard drive with the file system. This patch removes the floppy disk from the equation and replaces it with a multiboot header. This means the kernel can now be booted with qemu-system-i386 -kernel kernel | |||
2019-04-01 | Kernel: Add a blunt big process lock. | Andreas Kling | |
We can't have multiple threads in the same process running in the kernel at the same time, so let's have a per-process lock that threads have to acquire on syscall entry/exit (and yield while blocked.) | |||
2019-03-30 | Kernel: Add a bit of debug output in do_exec() to learn about thread counts. | Andreas Kling | |
2019-03-30 | Stopwatch: Print the result in decimal instead of hexadecimal. | Andreas Kling | |
2019-03-27 | Kernel: Add Inode::truncate(size). | Andreas Kling | |
- Use this to implement the O_TRUNC open flag. - Fix creat() to pass O_CREAT | O_TRUNC | O_WRONLY. - Make sure we truncate wherever appropriate. | |||
2019-03-27 | Kernel: Save/restore the SSE context on context switch. | Andreas Kling | |
2019-03-27 | Kernel: Put a bunch of debug spam behind #ifdefs. | Andreas Kling | |
2019-03-27 | Kernel: Don't disable interrupts during Process destruction. | Andreas Kling | |
2019-03-27 | Kernel: Don't disable interrupts during Thread destruction. | Andreas Kling | |
2019-03-27 | Ext2FS: Avoid a lot of redundant writes to inode block arrays. | Andreas Kling | |
2019-03-27 | Kernel: Initialize the CPU to allow SSE on startup. | Andreas Kling | |
I still need to add support for SSE to the context switching code, but now at least one process can use it. | |||
2019-03-27 | Give the emulator testing environments 128 MB of RAM. | Andreas Kling | |
I'm working on porting GCC and it needs a fair bit of memory to run. | |||
2019-03-27 | LibC: Run constructors on process startup. | Andreas Kling | |
Cooperate with the compiler to generate and execute the _init_array list of constructor functions on userspace program statup. This took two days to get working, my goodness. :^) | |||
2019-03-27 | Kernel: Load ELF executable pages lazily when possible. | Andreas Kling | |
This currently only works for "normal" processes created by fork(). It does not work for create_user_process() processes spawned by the kernel, as those are a bit special during construction. | |||
2019-03-27 | Kernel: Print an error when trying to load an incompatible ELF image. | Andreas Kling | |
2019-03-25 | LibGUI+Kernel: Add a GLock class (userspace mutex.) | Andreas Kling | |
It's basically a userspace port of the kernel's Lock class. Added gettid() and donate() syscalls to support the timeslice donation feature we already enjoyed in the kernel. |