ladybird/Kernel
Timon Kruiper 6a8581855d Kernel/aarch64: Flush entire TLB cache when changing TTBR0_EL1
Setting the page table base register (ttbr0_el1) is not enough, and will
not flush the TLB caches, in contrary with x86_64 where setting the CR3
register will actually flush the caches. This commit adds the necessary
code to properly flush the TLB caches when context switching. This
commit also changes Processor::flush_tlb_local to use the vmalle1
variant, as previously we would be flushing the tlb's of all the cores
in the inner-shareable domain.
2023-04-06 21:19:58 +03:00
..
API Kernel: Mark sys$msync as not needing the big lock 2023-04-06 20:30:03 +03:00
Arch Kernel/aarch64: Flush entire TLB cache when changing TTBR0_EL1 2023-04-06 21:19:58 +03:00
Bus Kernel: Simplify Process factory functions 2023-04-04 10:33:42 +02:00
Devices Kernel: Stop using *LockRefPtr for TTY 2023-04-05 11:37:27 +02:00
FileSystem Kernel: Stop using *LockRefPtr for TTY 2023-04-05 11:37:27 +02:00
Firmware Kernel/PCI: Hold a reference to DeviceIdentifier in the Device class 2023-01-26 23:04:26 +01:00
Graphics Kernel: Stop using *LockRefPtr for Kernel::Timer 2023-04-04 10:33:42 +02:00
Heap Kernel+LibC: Move name length constants to Kernel/API from limits.h 2023-01-21 10:43:59 -07:00
Interrupts Everywhere: Use ReadonlySpan<T> instead of Span<T const> 2023-02-08 19:15:45 +00:00
Library Kernel: Switch LockRefPtr<Inode> to RefPtr<Inode> 2023-03-09 21:54:59 +01:00
Locking Kernel: Don't ref/unref the holder thread in Mutex 2023-04-04 10:33:42 +02:00
Memory Kernel: Extend the lifetime of Regions during page fault handling 2023-04-06 20:30:03 +03:00
Net Kernel: Simplify Process factory functions 2023-04-04 10:33:42 +02:00
Prekernel Kernel: Unify x86-64 assembly snippets naming for RDSEED & RDRAND 2023-01-25 23:17:36 +01:00
Storage Kernel/NVMeQueue: Use waitqueue in submit_sync_sqe 2023-04-05 12:45:27 +02:00
Syscalls Kernel: Store a pointer to the owner process in PageDirectory 2023-04-06 20:30:03 +03:00
Tasks Kernel: Simplify Process factory functions 2023-04-04 10:33:42 +02:00
Time Kernel: Implement TimeManagement::boot_time() for aarch64 2023-04-06 21:19:58 +03:00
TTY Kernel: Make SlavePTY store pointer to MasterPTY as NonnullRefPtr 2023-04-05 11:37:27 +02:00
AddressSanitizer.cpp
AddressSanitizer.h
Assertions.h
AtomicEdgeAction.h
BootInfo.h Kernel: Move Memory/PageDirectory.{cpp,h} to arch-specific directory 2023-01-27 11:41:43 +01:00
CMakeLists.txt Kernel: Merge x86_64 and aarch64 init.cpp files 2023-04-03 20:01:28 -06:00
CommandLine.cpp Everywhere: Stop using NonnullOwnPtrVector 2023-03-06 23:46:35 +01:00
CommandLine.h Everywhere: Remove NonnullOwnPtr.h includes 2023-03-06 23:46:35 +01:00
Coredump.cpp Kernel: Stop using *LockRefPtr for Process pointers 2023-04-04 10:33:42 +02:00
Coredump.h Kernel: Stop using *LockRefPtr for Process pointers 2023-04-04 10:33:42 +02:00
CrashHandler.cpp Kernel: Add optional userspace backtrace to Process::crash 2023-02-08 18:19:48 +00:00
Credentials.cpp Everywhere: Use ReadonlySpan<T> instead of Span<T const> 2023-02-08 19:15:45 +00:00
Credentials.h Everywhere: Use ReadonlySpan<T> instead of Span<T const> 2023-02-08 19:15:45 +00:00
Debug.h.in Kernel: Add support for Intel HDA 2023-03-25 21:27:03 +01:00
DoubleBuffer.cpp
DoubleBuffer.h
embedmap.sh
ExecutionMode.h Kernel: Factor our PreviousMode into RegisterState::previous_mode 2023-01-27 11:41:43 +01:00
Forward.h Kernel/FileSystem: Simplify the ProcFS significantly 2023-02-24 22:14:18 +01:00
FutexQueue.cpp
FutexQueue.h
generate-version-file.sh
InterruptDisabler.h
IOWindow.cpp Kernel/PCI: Hold a reference to DeviceIdentifier in the Device class 2023-01-26 23:04:26 +01:00
IOWindow.h Kernel: Remove declarations for non-existent methods 2023-01-27 20:33:18 +00:00
Jail.cpp Kernel: Make the Jails' internal design a lot more sane 2023-03-12 10:21:59 -06:00
Jail.h Kernel: Add missing include to Jail.h 2023-03-25 16:50:36 +00:00
KBuffer.h Everywhere: Remove string.h include from AK/Traits.h and resolve fallout 2023-01-21 10:43:59 -07:00
KBufferBuilder.cpp
KBufferBuilder.h Kernel: Remove includes to LibC stdarg definitions 2023-03-01 19:36:53 -07:00
KLexicalPath.cpp
KLexicalPath.h
kprintf.cpp Kernel: Remove includes to LibC stdarg definitions 2023-03-01 19:36:53 -07:00
kstdio.h Kernel: Remove includes to LibC stdarg definitions 2023-03-01 19:36:53 -07:00
KString.cpp
KString.h
KSyms.cpp Kernel: Add optional userspace backtrace to Process::crash 2023-02-08 18:19:48 +00:00
KSyms.h
MiniStdLib.cpp
mkmap.sh
Multiboot.h
Panic.cpp
Panic.h
PerformanceEventBuffer.cpp AK+Kernel: Add includes before removing Kernel/ProcessExposed.h 2023-02-24 22:14:18 +01:00
PerformanceEventBuffer.h Everywhere: Remove needless copies of Error / ErrorOr instances 2023-02-10 09:08:52 +00:00
PerformanceManager.h AK+Kernel: Add includes before removing Kernel/ProcessExposed.h 2023-02-24 22:14:18 +01:00
PhysicalAddress.h
Process.cpp Kernel: Store a pointer to the owner process in PageDirectory 2023-04-06 20:30:03 +03:00
Process.h Kernel: Restructure execve to ensure Process::m_space is always in use 2023-04-06 20:30:03 +03:00
ProcessGroup.cpp Kernel: Make ProcessGroup a ListedRefCounted and fix two races 2023-04-05 11:37:27 +02:00
ProcessGroup.h Kernel: Make ProcessGroup a ListedRefCounted and fix two races 2023-04-05 11:37:27 +02:00
ProcessList.cpp Kernel: Make the Jails' internal design a lot more sane 2023-03-12 10:21:59 -06:00
Random.cpp Kernel/aarch64: Add TimeManagement fallback entropy source to Random.cpp 2023-02-08 18:19:48 +00:00
Random.h
SanCov.cpp
Scheduler.cpp Kernel: Stop using *LockRefPtr for Thread 2023-04-04 10:33:42 +02:00
Scheduler.h
ScopedCritical.cpp
ScopedCritical.h
Sections.h Kernel/aarch64: Change base address of the kernel to 0x2000000000 2023-01-24 14:54:44 +00:00
StdLib.cpp
StdLib.h Kernel/StdLib: Change try_copy_n_to_user to copy_n_to_user 2023-03-24 18:25:12 +01:00
Syscall.cpp Kernel: Add optional userspace backtrace to Process::crash 2023-02-08 18:19:48 +00:00
Thread.cpp Kernel: Stop using *LockRefPtr for Kernel::Timer 2023-04-04 10:33:42 +02:00
Thread.h Kernel: Stop using *LockRefPtr for Kernel::Timer 2023-04-04 10:33:42 +02:00
ThreadBlockers.cpp Kernel: Stop using *LockRefPtr for ProcessGroup 2023-04-04 10:33:42 +02:00
ThreadTracer.cpp
ThreadTracer.h
TimerQueue.cpp Kernel: Stop using *LockRefPtr for Kernel::Timer 2023-04-04 10:33:42 +02:00
TimerQueue.h Kernel: Stop using *LockRefPtr for Kernel::Timer 2023-04-04 10:33:42 +02:00
UBSanitizer.cpp
UnixTypes.h
UserOrKernelBuffer.cpp
UserOrKernelBuffer.h
VirtualAddress.h
WaitQueue.cpp
WaitQueue.h
WorkQueue.cpp Kernel: Simplify Process factory functions 2023-04-04 10:33:42 +02:00
WorkQueue.h Kernel: Stop using *LockRefPtr for Thread 2023-04-04 10:33:42 +02:00