ladybird/Kernel
Luke 3507397fed Kernel/Storage: Recover from fatal AHCI error on TFES, HBDS and HBFS
These errors are classed as fatal, so we need to recover from them.
Found while trying to debug AHCI boot on VMware Player,
where I got TFES.

From the spec: "Fatal errors (signified by the setting of PxIS.HBFS,
PxIS.HBDS, PxIS.IFS, or PxIS.TFES) will cause the HBA to enter
the ERR:Fatal state"

We were already recovering from IFS.
2021-03-18 07:52:15 +01:00
..
ACPI Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
API LibC+Kernel: Switch off_t to 64 bits 2021-03-17 23:22:42 +01:00
Arch Everywhere: Remove unnecessary whitespace at the end of some lines. 2021-03-08 09:20:53 +01:00
Devices Kernel: Refactor storage stack with u64 as file operations offset 2021-03-17 23:22:42 +01:00
FileSystem Kernel: Add 64 bit file size support to Ext2FS 2021-03-17 23:22:42 +01:00
Heap Kernel: Suppress logging during kmalloc heap expansion 2021-03-11 15:28:42 +01:00
Interrupts Kernel: Run clang-format on PIC.cpp 2021-03-12 17:38:49 +01:00
Modules Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
Net Kernel: Refactor storage stack with u64 as file operations offset 2021-03-17 23:22:42 +01:00
PCI Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
Storage Kernel/Storage: Recover from fatal AHCI error on TFES, HBDS and HBFS 2021-03-18 07:52:15 +01:00
Syscalls LibC+Kernel: Switch off_t to 64 bits 2021-03-17 23:22:42 +01:00
Tasks Kernel: Make Thread use AK::Time internally 2021-03-02 08:36:08 +01:00
Time Kernel: Convert klog() => AK::Format in a handful of places 2021-03-12 15:22:35 +01:00
TTY Kernel: Refactor storage stack with u64 as file operations offset 2021-03-17 23:22:42 +01:00
VM Kernel: Implement helper to find multiple Regions in a Range 2021-03-13 10:00:46 +01:00
.gitignore Meta: Expect sync-local.sh script at repository root 2021-01-30 09:18:46 +01:00
AddressSanitizer.cpp Kernel: Initial integration of Kernel Address Sanitizer (KASAN) 2021-02-15 11:41:53 +01:00
AddressSanitizer.h Kernel: Initial integration of Kernel Address Sanitizer (KASAN) 2021-02-15 11:41:53 +01:00
Assertions.h Everywhere: Remove unused RELEASE_ASSERT macro 2021-02-23 21:11:53 +01:00
CMakeLists.txt Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
CMOS.cpp Kernel: Absorb LibBareMetal back into the kernel 2020-05-16 12:00:04 +02:00
CMOS.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
CommandLine.cpp Kernel: Don't reset AHCI ports during boot unless requested 2021-03-13 09:52:31 +01:00
CommandLine.h Kernel: Don't reset AHCI ports during boot unless requested 2021-03-13 09:52:31 +01:00
Console.cpp Kernel: Refactor storage stack with u64 as file operations offset 2021-03-17 23:22:42 +01:00
Console.h Kernel: Refactor storage stack with u64 as file operations offset 2021-03-17 23:22:42 +01:00
CoreDump.cpp Kernel: Use default con/de-structors 2021-02-28 18:09:12 +01:00
CoreDump.h Kernel: Use default con/de-structors 2021-02-28 18:09:12 +01:00
Debug.h.in Kernel: Implement triply indirect block support in Ext2FSInode 2021-03-13 09:27:18 +01:00
DMI.cpp Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
DMI.h Kernel: Set file size for smbios_entry_point and DMI blobs in ProcFS 2021-02-01 17:13:23 +01:00
DoubleBuffer.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
DoubleBuffer.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
Forward.h Kernel: Factor address space management out of the Process class 2021-02-08 18:27:28 +01:00
FutexQueue.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
FutexQueue.h Kernel: Some futex improvements 2021-01-17 20:30:31 +01:00
init.cpp Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
IO.h Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
KBuffer.h Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
KBufferBuilder.cpp Kernel: Assert if rounding-up-to-page-size would wrap around to 0 2021-02-14 10:01:50 +01:00
KBufferBuilder.h Kernel: Use default con/de-structors 2021-02-28 18:09:12 +01:00
kprintf.cpp Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
KResult.h Everywhere: Remove unnecessary clang-format offs 2021-03-04 11:01:48 +01:00
kstdio.h Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
KSyms.cpp Kernel: Convert klog() => AK::Format in a handful of places 2021-03-12 15:22:35 +01:00
KSyms.h Kernel: Take some baby steps towards x86_64 2021-02-25 16:27:12 +01:00
linker.ld Kernel: Define a KERNEL_VIRTUAL_BASE in the linker script 2021-03-04 18:25:01 +01:00
Lock.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
Lock.h Kernel: Use default con/de-structors 2021-02-28 18:09:12 +01:00
LockMode.h Kernel: Fix Lock race causing infinite spinning between two threads 2020-12-16 23:38:17 +01:00
mkmap.sh Build: Switch to CMake :^) 2020-05-14 20:15:18 +02:00
Module.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
Multiboot.h Kernel: Parse boot modules from Multiboot specification 2021-01-22 22:17:39 +01:00
Panic.cpp Kernel: Add a PANIC() function 2021-02-14 09:36:58 +01:00
Panic.h Kernel: Add a PANIC() function 2021-02-14 09:36:58 +01:00
PerformanceEventBuffer.cpp Kernel+Profiler: Capture metadata about all profiled processes 2021-03-02 22:38:06 +01:00
PerformanceEventBuffer.h Kernel+Profiler: Capture metadata about all profiled processes 2021-03-02 22:38:06 +01:00
PhysicalAddress.h Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
Process.cpp Kernel: Always protect process data immediately after construction 2021-03-11 14:46:48 +01:00
Process.h LibC+Kernel: Switch off_t to 64 bits 2021-03-17 23:22:42 +01:00
ProcessGroup.cpp Kernel: Move block condition evaluation out of the Scheduler 2020-11-30 13:17:02 +01:00
ProcessGroup.h Kernel: Move block condition evaluation out of the Scheduler 2020-11-30 13:17:02 +01:00
Random.cpp Kernel: Convert klog() => dmesgln() in KernelRng 2021-03-09 22:10:41 +01:00
Random.h Kernel: Make clang(?) happy about templates(?) 2021-03-02 08:36:08 +01:00
RTC.cpp Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
RTC.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Scheduler.cpp Kernel+Profiler: Capture metadata about all profiled processes 2021-03-02 22:38:06 +01:00
Scheduler.h Kernel: Remove ancient unused Scheduler::beep() declaration 2021-02-07 20:45:09 +01:00
SpinLock.h AK+Kernel: Remove NO_DISCARD macro hack 2021-03-03 23:08:42 +01:00
StdLib.cpp Kernel: Convert klog() => AK::Format in StdLib 2021-03-12 12:28:27 +01:00
StdLib.h Kernel: Prevent using copy_from_user() for timespec/timeval 2021-03-02 08:36:08 +01:00
Syscall.cpp Kernel: Don't return -EFOO when return type is KResultOr<...> 2021-03-15 09:09:04 +01:00
Thread.cpp Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
Thread.h Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
ThreadBlockers.cpp Kernel: Fix sys$select() not marking fd's after blocking was avoided 2021-03-15 21:21:52 +01:00
ThreadTracer.cpp Kernel: Reorganize ptrace implementation a bit 2021-02-08 19:34:41 +01:00
ThreadTracer.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
TimerQueue.cpp Kernel: Make TimeManagement use AK::Time internally 2021-03-02 08:36:08 +01:00
TimerQueue.h Kernel: Make TimerQueue use AK::Time in interface 2021-03-02 08:36:08 +01:00
UBSanitizer.cpp Kernel: Expose sysctl 'ubsan_is_deadly' to panic the Kernel on UB 2021-03-07 17:31:25 +01:00
UBSanitizer.h Kernel: Expose sysctl 'ubsan_is_deadly' to panic the Kernel on UB 2021-03-07 17:31:25 +01:00
UnixTypes.h LibC+Kernel: Switch off_t to 64 bits 2021-03-17 23:22:42 +01:00
UnveilNode.h Everywhere: Remove a bunch of redundant 'AK::' namespace prefixes 2021-02-26 16:59:56 +01:00
UserOrKernelBuffer.cpp AK: Add StringBuilder::appendff using the new format. 2020-09-22 15:06:40 +02:00
UserOrKernelBuffer.h Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
VirtualAddress.h Everywhere: Remove klog(), dbg() and purge all LogStream usage :^) 2021-03-12 17:29:37 +01:00
WaitQueue.cpp Everywhere: Rename ASSERT => VERIFY 2021-02-23 20:56:54 +01:00
WaitQueue.h Kernel: Add WaitQueue::wait_forever and it use it for all infinite waits. 2021-02-15 08:28:57 +01:00