summaryrefslogtreecommitdiff
path: root/Kernel
AgeCommit message (Collapse)Author
2021-03-17Kernel: Refactor storage stack with u64 as block indexJean-Baptiste Boric
2021-03-17Kernel: Refactor storage stack with u64 as number of blocksJean-Baptiste Boric
2021-03-17Kernel: Rationalize logs inside Ext2FsJean-Baptiste Boric
2021-03-16Kernel: sysconf(_SC_CLK_TCK): Use TimeManagement::ticks_per_second()thatdutchguy
2021-03-16Kernel: Add _SC_CLK_TCK to sysconf.thatdutchguy
Unbreaks the hatari port.
2021-03-15Kernel: Fix sys$select() not marking fd's after blocking was avoidedAndreas Kling
In case multiple file descriptors in the `fd_set` were already readable and/or writable when calling Thread::block<SelectBlocker>(), we would only mark the first fd in the output sets instead of all relevant fd's. The short-circuit code path when blocking isn't necessary must ensure that unblock flags are collected for all file descriptors, not just the first one encountered. Fixes #5795.
2021-03-15Kernel/Storage: Add SATA error disambiguationLuke
2021-03-15Kernel: Don't return -EFOO when return type is KResultOr<...>Andreas Kling
2021-03-15Kernel: Return 0 to indicate EOF when reading from end-of-file of deviceLiav A
If we happen to read with offset that is after the end of file of a device, return 0 to indicate EOF. If we return a negative value, userspace will think that something bad happened when it's really not the case.
2021-03-15Kernel: Fix race conditions processing async device requestsTom
2021-03-15Kernel: Fix race condition completing IDEChannel async requestTom
2021-03-15Kernel: When writing to device node, use can_write for checkingLiav A
Instead of can_read which is wrong, use can_write.
2021-03-13Kernel: Make munmap more posix compliantHendiadyoin1
In case someone tries to unmap a not mapped region (fallback) we should not return an error, but silently do nothing
2021-03-13Kernel: munmap multiple regions at a timeHendiadyoin1
This implements a fallback to munmap that unmaps multiple regions at a time, with splitting some when needed. The way it is implemented is possibly not optimal, due to it searching without looking into the cache
2021-03-13Kernel: Implement helper to find multiple Regions in a RangeHendiadyoin1
2021-03-13Kernel: Add a Range::intersect(other) helperHendiadyoin1
2021-03-13Kernel: Don't reset AHCI ports during boot unless requestedLiav A
Instead of blindly resetting every AHCI port, let's just reset only the controller by default. The user can still request to reset everything with a new kernel boot argument called ahci_reset_mode which is set by default to "controller", so the code will only invoke an HBA reset. This kernel boot argument can be set to 3 different values: 1. "controller" - reset the HBA and skip resetting AHCI ports 2. "none" - don't reset anything, so we rely on the firmware to initialize the AHCI HBA and ports for us. 3. "complete" - reset the AHCI HBA and ports.
2021-03-13Kernel: Don't wait for AHCI port to reset the signatureLiav A
Instead of waiting for the AHCI HBA to reset the signature after SATA reset sequence, let's just check if the Port x Serial ATA Status register was set to value 3, indicating that device was detected and phy communication was established.
2021-03-13Kernel: Change the timings when initiating AHCI port resetLiav A
The intention is to make the boot to be faster, therefore we should decrease the time deltas in timeout loops to allow earlier break from these. Also, there's no need to wait 10 milliseconds before setting the interface state to "no action request" during the reset sequence.
2021-03-13Kernel: Implement triply indirect block support in Ext2FSInodeJean-Baptiste Boric
2021-03-13Kernel: Modify block lists in place for Ext2FSInode::resize()Jean-Baptiste Boric
This significantly reduces the number of allocations/deallocations inside the kernel when growing files as well as reducing spam in the kernel logs.
2021-03-12Kernel: Run clang-format on PIC.cppAndreas Kling
2021-03-12Everywhere: Remove klog(), dbg() and purge all LogStream usage :^)Andreas Kling
Good-bye LogStream. Long live AK::Format!
2021-03-12Kernel: Fix rounding of PT_LOAD mappings in sys$execve()Andreas Kling
We were not rounding the mappings down/up correctly, which could lead to executables missing the last 4 KB of text and/or data.
2021-03-12Kernel: Convert klog() => AK::Format in UHCIControllerAndreas Kling
2021-03-12Kernel: Convert klog() => AK::Format in SB16Andreas Kling
2021-03-12Kernel: Convert klog() => AK::Format in TestModuleAndreas Kling
2021-03-12Kernel: Convert klog() => AK::Format in a handful of placesAndreas Kling
2021-03-12Kernel: Convert klog() => AK::Format in InterruptManagementAndreas Kling
2021-03-12Kernel: Convert klog() => AK::Format in StorageAndreas Kling
2021-03-12Kernel: Convert klog() => AK::Format in PCIAndreas Kling
2021-03-12Kernel: Convert klog() => AK::Format in IOAPICAndreas Kling
2021-03-12Kernel: Convert klog() => AK::Format in DMIAndreas Kling
2021-03-12Kernel: Convert klog() => AK::Format in TimeManagementAndreas Kling
2021-03-12Kernel: Convert klog() => AK::Format in SharedIRQHandlerAndreas Kling
2021-03-12Kernel: Convert klog() => AK::Format in MultiProcessorParserAndreas Kling
2021-03-12Kernel: Convert klog() => AK::Format in StdLibAndreas Kling
2021-03-12Kernel: Convert klog() => AK::Format in APICAndreas Kling
2021-03-12Kernel: Convert klog() => AK::Format in IDEChannelAndreas Kling
2021-03-12Kernel: Convert klog() => AK::Format in DiskPartitionAndreas Kling
2021-03-12Kernel: Convert klog() => AK::Format in NetworkTaskAndreas Kling
2021-03-12Kernel: Convert klog() => dbgln() in BXVGADeviceAndreas Kling
2021-03-12Kernel: Convert klog() => AK::Format in PurgeablePageRangesAndreas Kling
2021-03-12Kernel: Convert klog() => AK::Format in APICTimerAndreas Kling
2021-03-12Kernel: Convert klog() => AK::Format in ACPI::ParserAndreas Kling
2021-03-12Kernel: Convert klog() => AK::Format in RTL8139NetworkAdapterAndreas Kling
2021-03-12Kernel: Remove debug spam in DevFSAndreas Kling
2021-03-11Everywhere: Rename "logo" key to "super" keyAndreas Kling
This seems to be the most common way to refer to this key, so let's call it what people actually call it.
2021-03-11Kernel: Suppress logging during kmalloc heap expansionAndreas Kling
The system is extremely sensitive to heap allocations during heap expansion. This was causing frequent OOM panics under various loads. Work around the issue for now by putting the logging behind KMALLOC_DEBUG. Ideally dmesgln() & friends would not reqiure any heap allocations, but we're not there right now. Fixes #5724.
2021-03-11Kernel: Always protect process data immediately after constructionAndreas Kling