summaryrefslogtreecommitdiff
path: root/Kernel
AgeCommit message (Collapse)Author
2019-04-18LibGUI: Start working on GTableView inline editing.Andreas Kling
This is pretty shaky still, but the basic idea is that you subclass GModel and return true for editable indices. The table view also needs to have its editable flag set.
2019-04-18Kernel+LibC: Add a DebugLogDevice that forwards everything to I/O port 0xe9.Andreas Kling
This is then used to implement the userspace dbgprintf() in a far more efficient way than what we had before. :^)
2019-04-17Kernel+ProcessManager: Show per-process syscall counts.Andreas Kling
Added a simple syscall counter to the /proc/all contents. :^)
2019-04-17Kernel: Scheduler donations need to verify that the beneficiary is valid.Andreas Kling
Add a Thread::is_thread(void*) helper that we can use to check that the incoming donation beneficiary is a valid thread. The O(n) here is a bit sad and we should eventually rethink the process/thread table data structures.
2019-04-17Kernel: Lock::unlock_if_locked() should never donate to holder.Andreas Kling
Since we're not interested in taking the lock if it's already held, there's no need to donate the remainder of our time slice to the holder.
2019-04-16AK: Try to use StringViews more for substrings and splitting.Andreas Kling
2019-04-16Kernel: Reduce kmallocing in all_processes() and all_pids().Andreas Kling
2019-04-16Kernel: Reduce kmallocing in /proc/all and /proc/memstat.Andreas Kling
2019-04-16Kernel: Have TTY subclasses cache their tty_name/pts_name.Andreas Kling
2019-04-15Kernel: Make it possible to have kmalloc() dump call stacks.Andreas Kling
This can be enabled at any time using a sysctl: sysctl kmalloc_stacks=1 The stacks will go to the debugger output only.
2019-04-15Kernel: Make symbolication callable from kmalloc().Andreas Kling
It wasn't possible to symbolicate from kmalloc(), since symbolication would call kmalloc(). :^)
2019-04-15Kernel: Make validate_read_from_kernel() return early for nullptr checks.Andreas Kling
Null pointers are always invalid, so don't bother going through all the various checks for them.
2019-04-15Kernel+ProcessManager: Expose the number of kmalloc/kfree calls.Andreas Kling
This will be very helpful in tracking down unwanted kmalloc traffic. :^)
2019-04-15Kernel: Start using StringView in the VFS class.Andreas Kling
The less kmalloc() we can do, the better. Calling kmalloc() disables all interrupts while it runs, so it's directly affecting responsiveness.
2019-04-15Userland: Make sync.sh copy all executables from ../UserlandAndreas Kling
2019-04-14Kernel: Add /proc/uptime file (number of seconds since boot.)Andreas Kling
Also added a simple /bin/uptime to pretty-print this information. :^)
2019-04-14Kernel: Merge TSS.h into i386.h.Andreas Kling
2019-04-14AK: Improve smart pointer ergonomics a bit.Andreas Kling
2019-04-14Kernel: Remove system.h and make the uptime global a qword.Andreas Kling
2019-04-13Minesweeper: Add some menus.Andreas Kling
2019-04-13Fix typo in makeall.shAndreas Kling
2019-04-13Minesweeper: Start working on a simple minesweeper game. :^)Andreas Kling
2019-04-12VisualBuilder: Add some more GWidget default properties.Andreas Kling
2019-04-12Kernel: Spawn text editor by default while I work on it.Andreas Kling
2019-04-11GGroupBox: Improve appearance with new FrameShape::Box style.Andreas Kling
2019-04-11VisualBuilder: Start working on an interface builder application.Andreas Kling
It's tedious making interfaces programmatically. Let's make a program to help us with this. :^)
2019-04-10Kernel: Remove two unneeded headers.Andreas Kling
2019-04-10Introduce LibCore and move GElapsedTimer => CElapsedTimer.Andreas Kling
I need a layer somewhere between AK (usable both by userspace and kernel) and LibGUI (usable by userspace except WindowServer.) So here's LibCore.
2019-04-09Kernel: Yet more work on bringing up POSIX SHM.Andreas Kling
2019-04-09Kernel: More work towards POSIX SHM, also add ftruncate().Andreas Kling
2019-04-08Kernel+LibC: Add stubs for POSIX shared memory API.Andreas Kling
Specifically shm_open() and shm_unlink(). This patch just adds stubs.
2019-04-08Kernel: 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-07Kernel+Userland: Add the rename() syscall along with a basic /bin/mv.Andreas Kling
2019-04-07Start 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-06Kernel: Oops, also moved FileDescriptor into FileSystem/, fix Makefile.Andreas Kling
2019-04-06Kernel: Move FIFO into FileSystem/ and Socket+LocalSocket into Net/.Andreas Kling
2019-04-06Kernel: Use alloc_fd() more instead of walking fd list manually.Andreas Kling
2019-04-06Kernel: Get rid of Kernel/types.h, separate LinearAddress/PhysicalAddress.Andreas Kling
2019-04-05Hack 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-05NetworkTask: 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-05AK: Revert Eternal<T> for now since it doesn't work as intended.Andreas Kling
2019-04-05Kernel: Build with i686-pc-serenity-g++.Andreas Kling
This works just fine, and now we only need one cross-compiler. :^)
2019-04-04Kernel: Spawn /bin/Taskbar on startup.Andreas Kling
I think it's good enough now to be there by default. :^)
2019-04-03Kernel: Bump per-process file descriptor limit to 128.Andreas Kling
2019-04-03Taskbar: 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-03AK: 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-03Kernel: Move VM-related files into Kernel/VM/.Andreas Kling
Also break MemoryManager.{cpp,h} into one file per class.
2019-04-03Kernel: Tidy up kmalloc.cpp a tiny bit.Andreas Kling
2019-04-03Kernel: Remove unused Queue.h.Andreas Kling
2019-04-03Kernel: Remove Limits.hAndreas Kling