summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-02-03LibWeb: Add Document.hasFocus() stubAndreas Kling
This always returns true for now. A proper implementation needs to check if the document is in the focused widget within an active window.
2022-02-03LibWeb: Add CanvasRenderingContext2D.bezierCurveTo()Andreas Kling
2022-02-03Revert "Kernel: Protect InodeWatcher internals with spinlock instead of mutex"Andreas Kling
This reverts commit 0bebf013e348f52f218535ebd3d82c9599ea5818. This caused a deadlock when handling a crashed process, so let's revert it until we can figure out what went wrong.
2022-02-03Kernel: Protect Inode flock list with spinlock instead of mutexAndreas Kling
2022-02-03Kernel: Remove unnecessary mutex for ubsan-is-deadly ProcFS nodeAndreas Kling
2022-02-03AK+Kernel+LibSanitizer: Store "ubsan-is-deadly" flag as Atomic<bool>Andreas Kling
2022-02-03Kernel: Protect InodeWatcher internals with spinlock instead of mutexAndreas Kling
2022-02-03Kernel: Protect PCI access with spinlock instead of mutexAndreas Kling
2022-02-03Kernel: Turn VirtIOGPU operation lock from mutex into spinlockAndreas Kling
2022-02-03Kernel: Protect FramebufferDevice with spinlock instead of mutexAndreas Kling
2022-02-03Kernel: Protect global device map with spinlock instead of mutxAndreas Kling
2022-02-03Kernel: Protect Inode's list of watchers with spinlock instead of mutexAndreas Kling
2022-02-03Kernel: Protect mounted filesystem list with spinlock instead of mutexAndreas Kling
2022-02-03Kernel: Protect network adapter list with spinlock instead of mutexAndreas Kling
2022-02-03Kernel: Protect PTYMultiplexer freelist with spinlock instead of mutexAndreas Kling
2022-02-03Kernel: Protect ARP table with spinlock instead of mutexAndreas Kling
2022-02-03Kernel: Convert OpenFileDescriptor from mutex to spinlockAndreas Kling
A mutex is useful when we need to be able to block the current thread until it's available. This is overkill for OpenFileDescriptor. First off, this patch wraps the main state member variables inside a SpinlockProtected<State> to enforce synchronized access. This also avoids "free locking" where figuring out which variables are guarded by which lock is left as an unamusing exercise for the reader. Then we remove mutex locking from the functions that simply call through to the underlying File or Inode, since those fields never change anyway, and the target objects perform their own synchronization.
2022-02-03Kernel: Move Spinlock lock/unlock functions out of lineAndreas Kling
I don't see why these have to be inlined everywhere in the kernel.
2022-02-03ClockSettings: Display a text bubble with extra time zone informationTimothy Flynn
2022-02-03ClockSettings: Display a map to show the current time zone's locationTimothy Flynn
2022-02-03LibGUI: Add a const accessor to ImageWidget's bitmapTimothy Flynn
2022-02-03LibGUI: Forward declare ImageWidgetTimothy Flynn
2022-02-03LibTimeZone: Parse and generate time zone coordinate dataTimothy Flynn
2022-02-03LibGUI: Set a fixed width for the SettingsWindow reset-to-default buttonTimothy Flynn
Otherwise, any subclass which increased the size of the window would see a very large reset button. The width chosen here is the same width as the other buttons in this window.
2022-02-03Documentation: Update reference to obsolete config optionRummskartoffel
2022-02-03KeyboardPreferenceLoader: Don't crash when "Keymaps" is emptyRummskartoffel
2022-02-03LibC: Add IN6_IS_ADDR_LINKLOCAL to in.hBrian Gianforcaro
I tried the OpenSSH port but it failed to compile due to a missing definition of this macro. It's simple enough to add, and it's addition allowed OpenSSH to compile once again. I also went ahead and added spec comments for these macros as well.
2022-02-03CrashReporter: Stop attempting to lockdown the process veilBrian Gianforcaro
The idea of locking the process veil in CrashReproter is well intentioned, but ultimately frought with issues. The fundamental premise is a bit flawed, as we are using the crashing program as input to dynamically add new paths to the process veil. This means that an attacker can potentially produce a custom or malformed binary to trick CrashReporter into allowing an arbitrary path to be read.
2022-02-03Base: Update keymap man page to include new functionalityTimur Sultanov
Adding examples on how to use keymap tool to set a list of keymaps
2022-02-03Base+WindowsServer+keymap: Store multiple keymaps in a configTimur Sultanov
2022-02-03Base: Start Keymap.Applet automaticallyTimur Sultanov
2022-02-03WindowServer+Keymap+LibGUI: Add widget to display current keymapTimur Sultanov
2022-02-03WindowManager: Basic support for system keymap switchingTimur Sultanov
2022-02-03LibWeb: Implement TransformationStyleValue::to_string()Sam Atkins
2022-02-03LibWeb: Allow comma- or space-separated StyleValueListsSam Atkins
This lets us produce valid CSS in its to_string() method, instead of always adding commas as before. :^) Also, finally added a Formatter for StyleValues.
2022-02-03LibWeb: Make StyleValue::to_string() output valid CSSSam Atkins
Having clear debug output was useful, but most places that use to_string () expect to get valid CSS, so let's do that. :^)
2022-02-03LibWeb: Move non-trivial StyleValue to_string() methods to cpp fileSam Atkins
Many of these will need to change in the future in order to include features we don't yet support, and touching StyleValue.h is a great way to have to wait for all of LibWeb to rebuild. I'm hoping this saves me time in the long run. :^)
2022-02-02mount: Do not print usage if executed without any argumentsKenneth Myhra
If 'mount' is executed without any arguments we should print the mount points and return early not printing the usage statement. This fixes a regression introduced in commit: 9d48406
2022-02-02Documentation: Add FAQ entry about running the systemsin-ack
2022-02-02LibJS: Consider calls of parse_iso_date_time() fallibleLinus Groh
See: https://github.com/tc39/proposal-temporal/pull/2027
2022-02-02LibWeb: Don't verify that a dimension unit isn't whitespaceSam Atkins
Raw whitespace is not allowed inside a name, but escaped whitespace is, for example `\9`, which is the tab character. This stops yakzz.com from crashing the Browser, since it was using `\9` in various places as a hack to only apply those properties to IE8/9.
2022-02-02Documentation: Update BareMetalInstallation's storage support sectionPankaj Raghav
NVMe drive has been tested on a BareMetal HW :^) . Update the BareMetalInstallation instruction to reflect the same.
2022-02-02Kernel: Add polling support to NVMePankaj Raghav
Add polling support to NVMe so that it does not use interrupt to complete a IO but instead actively polls for completion. This probably is not very efficient in terms of CPU usage but it does not use interrupts to complete a IO which is beneficial at the moment as there is no MSI(X) support and it can reduce the latency of an IO in a very fast NVMe device. The NVMeQueue class has been made the base class for NVMeInterruptQueue and NVMePollQueue. The factory function `NVMeQueue::try_create` will return the appropriate queue to the controller based on the polling boot parameter. The polling mode can be enabled by adding an extra boot parameter: `nvme_poll`.
2022-02-02Kernel: Add conditional call to disable_irq in IRQHandler constructorPankaj Raghav
There is no use in calling disable_irq function in the IRQHandler constructor if irq was not registered before. So add a condition where we call disable_irq only if the irq was registered before.
2022-02-02Kernel: Add nvme_poll command line parametersPankaj Raghav
As we don't currently support MSI(X) interrupts, it could be an issue to boot on some newer hardware. NVMe devices support polling mode where the driver actively polls for completion instead of waiting for an interrupt.
2022-02-02LibJS: Reject '-000000' as extended yearLinus Groh
This is a normative change in the Temporal spec. See: https://github.com/tc39/proposal-temporal/commit/e60ef9e
2022-02-02mount: Exit without error when handling mount all on system bootBrian Gianforcaro
At the point at which `mount -a` is executed by SystemServer, the /proc fs is not yet mounted. That means that opening /proc/fd in the `print_mounts()` function will always fail with an error. 0.976 mount(8:8): Exiting with runtime error: No such file or directory (errno=2) The fix is simple, just return gracefully after we execute mount all.
2022-02-02Revert "Kernel: Only update page tables for faulting region"Andreas Kling
This reverts commit 1c5ffaae41be4e67f81b46c3bfdce7f54a1dc8e0. This broke shared memory as used by OutOfProcessWebView. Let's do a revert until we can figure out what went wrong.
2022-02-02Kernel: Only update page tables for faulting regionAndreas Kling
When a page fault led to the mapping of a new physical page, we were updating the page tables for *every* region that shared the same underlying VMObject. Let's just not do that, avoiding a bunch of unnecessary page table updates and TLB invalidations.
2022-02-01Base: Add missing FileTypes for PixelPaintEaston Pillay
As mentioned in today's monthly update video, the Open With menu doesn't show Pixel Paint for most image file types. This commit brings it in sync with Image Viewer, since everything seems to open correctly anyway :)