Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-06-02 | CIODevice: Update m_error if a write() fails. | Andreas Kling | |
2019-06-02 | Kernel: Implement MBR partition loader (#168) | Conrad Pankoff | |
This implements a basic MBR partition loader, which removes the reliance on a hard-coded filesystem offset in the stage2 init. | |||
2019-06-02 | sync: Make this work for Fedora | Robin Burchell | |
Fedora has grub2-install (rather than grub-install), and it expects grub.cfg to be placed in boot/grub2/ rather than boot/grub/. | |||
2019-06-02 | Take StringView in more places | Robin Burchell | |
We should work towards a pattern where we take StringView as function arguments, and store String as member, to push the String construction to the last possible moment. | |||
2019-06-02 | AK: Add implicit String -> StringView conversion | Robin Burchell | |
And tidy up existing view() users. | |||
2019-06-02 | Userland: Use CFile in dmesg | Robin Burchell | |
2019-06-02 | Userland: Use CFile in mm | Robin Burchell | |
2019-06-02 | Userland: Use CFile in ps | Robin Burchell | |
2019-06-02 | Userland: Use CFile inside sysctl | Robin Burchell | |
Also add a StringView overload to CIODevice::write | |||
2019-06-02 | Boot: Let's start GRUB with no timeout. | Andreas Kling | |
2019-06-02 | FileSystem: Rename VFS::fchmod() -> chmod(). | Andreas Kling | |
2019-06-02 | FileSystem: Route chown() and fchown() through VFS for access control. | Andreas Kling | |
2019-06-02 | FileSystem: Only retrieve inode metadata once in VFS::chown(). | Andreas Kling | |
2019-06-02 | Userland: Add tee command (#166) | vger92 | |
2019-06-02 | Kernel: Rename OffsetDiskDevice to DiskPartition | Conrad Pankoff | |
2019-06-02 | Kernel: Rename offset parameter of OffsetDiskDevice to block_offset | Conrad Pankoff | |
2019-06-02 | Kernel: Add DISK_SIZE option to sync.sh | Conrad Pankoff | |
2019-06-02 | Kernel: Implement OffsetDiskDevice to prepare for partition support | Conrad Pankoff | |
This implements a passthrough disk driver that translates the read/write block addresses by a fixed offset. This could form the basis of MBR partition support if we were to parse the MBR table at boot and create that OffsetDiskDevice dynamically, rather than seeking to a fixed offset. This also introduces a dependency in the form of grub. You'll need to have 32-bit grub binaries installed to build the project now. As a bonus, divorcing Serenity from qemu's kernel loading means we can now *technically* boot on real hardware. It just... doesn't get very far yet. If you write the `_disk_image` file to an IDE hard drive and boot it in a machine that supports all the basic PC hardware, it *will* start loading the kernel. | |||
2019-06-02 | Kernel: Memory-mapped files now have the absolute path as their name. | Andreas Kling | |
It's generated when the mapping is first created, so it won't update if the file moves. Maybe that's something we should support, too. | |||
2019-06-02 | Kernel: Make better use of the multiboot info. | Andreas Kling | |
Define the multiboot info struct properly so we don't have to grab at byte offsets in the memory access checker code. Also print kernel command line in init(). | |||
2019-06-02 | Kernel: Add comment block about File, taking some from Device. | Andreas Kling | |
2019-06-02 | AK: Add a comment to String about the relationship with StringImpl. | Andreas Kling | |
2019-06-01 | Kernel: Add fchown() syscall. | Andreas Kling | |
2019-06-01 | WindowServer+LibGUI: Add a way to bring a window to the front. | Andreas Kling | |
GWindow::move_to_front() can now be used to move a window to the top of the window stack. We use this in Terminal to bring the settings window to the front if it already exists when it's requested, in case it's hiding behind something. | |||
2019-06-01 | WindowServer: Don't reach the end of mode_to_enum() without returning. | Andreas Kling | |
2019-06-01 | Kernel: Make File::absolute_path() const. | Andreas Kling | |
2019-06-01 | FileSystem: Don't create a temporary FileDescriptor every time we stat(). | Andreas Kling | |
Instead, move the stat buffer population into InodeMetadata so we can call it directly from VFS::stat() once we have an Inode. | |||
2019-06-01 | FileSystem: Make Inode::lookup() take a StringView. | Andreas Kling | |
This avoids a lot of String allocation during path resolution. | |||
2019-06-01 | VM: Get rid of KernelPagingScope. | Andreas Kling | |
Every page directory inherits the kernel page directory, so there's no need to explicitly enter the kernel's paging scope anymore. | |||
2019-06-01 | Kernel: Set the absolute path as name for executable regions. | Andreas Kling | |
2019-06-01 | FileSystem: Remove now-unused Inode::parent() and Inode::reverse_lookup(). | Andreas Kling | |
These were only used to implement the old path resolution algorithm. | |||
2019-06-01 | VM: Always flush TLB for kernel page directory changes. | Andreas Kling | |
Since the kernel page directory is inherited by all other page directories, we should always flush the TLB when it's updated. | |||
2019-06-01 | PNGLoader: Annotate the decompression buffer mmap with a name. | Andreas Kling | |
2019-06-01 | VM: Don't remap each Region page twice in page_in(). | Andreas Kling | |
page_in_from_inode() will map the page after reading it from disk, so we don't need to remap it once again. | |||
2019-06-01 | Userland: Improve head program | Conrad Pankoff | |
* allow specifying files as arguments, e.g. `head a b c` * support multiple files * print a filename header when multiple files are being printed * allow suppression or forcing of filename header via flags This change drops support for the legacy `-123` syntax in favour of the more widely-supported `-n 123` form. fixes #105 | |||
2019-06-01 | LibCore: CObjects without is<T> specialization shouldn't LARP as others. | Andreas Kling | |
2019-06-01 | ls: Show user name and group name if available. (#151) | Mustafa | |
Fixes #150 | |||
2019-06-01 | Userland: Add a /bin/yes program (fixes #110) | Conrad Pankoff | |
2019-06-01 | Terminal: Fix insufficient repaint after visual bell clears. | Andreas Kling | |
Also make the bell time a little shorter, 500ms kinda wears on you. :^) | |||
2019-06-01 | VisualBuilder: Add GRadioButton to the widget repertoire. | Andreas Kling | |
2019-06-01 | Terminal: Single settings window & consistant visual bell timing | Christopher Dumas | |
2019-06-01 | Terminal: Settings windows can be opened multiple times | Christopher Dumas | |
2019-06-01 | Terminal: Audible vs Visible beep option | Christopher Dumas | |
2019-05-31 | FileSystem: Pass mode_t to Inode::add_child(). | Andreas Kling | |
This way the Ext2FS code can update its directory entry "file type" fields correctly based on the file mode. This fixes some e2fsck whining. | |||
2019-05-31 | Update Badge<T> instantiations to simply be {}. | Andreas Kling | |
2019-05-31 | FileSystem: VFS should require Badge<Device> for device registration. | Andreas Kling | |
2019-05-31 | FileSystem: Don't expose VFS::root_inode(). | Andreas Kling | |
It seems like we don't need to expose this anymore, it's only used by VFS internally to construct the root custody. | |||
2019-05-31 | FileSystem: Rename VFS::resolve_path_to_custody() => resolve_path(). | Andreas Kling | |
2019-05-31 | FileSystem: Reuse existing custodies when possible, and keep them updated. | Andreas Kling | |
Walk the custody cache and try to reuse an existing one when possible. The VFS is responsible for updating them when something happens that would cause the described relationship to change. This is definitely not perfect but it does work for the basic scenarios like renaming and removing directory entries. | |||
2019-05-31 | Kernel: Discard a process's ELFLoader on finalization. | Andreas Kling | |
We don't need after that point, and throwing it out might free up some cached data used for backtraces. |