This patch series contains the changes to common Linux kernel code that are required to boot Linux on Apple Silicon Mac computers.
The changes: - Support for FIQ interrupts in-kernel This is required for the timer and IPIs on Apple SoCs. - WFI hook Apple processors do not keep register state across WFI. As such, put a mechanism in cpu_ops to put a custom sleep function instead. - use nGnRnE instead of nGnRE on Apple processors Device-nGnRE writes go to nowhere on Apple processors, as such use MAIR to change those to Device-nGnRE writes. Mohamed Mediouni (1): arm64: mm: use nGnRnE instead of nGnRE on Apple processors Stan Skowronek (2): arm64/kernel: FIQ support arm64: kernel: Add a WFI hook. arch/arm64/include/asm/arch_gicv3.h | 2 +- arch/arm64/include/asm/assembler.h | 8 ++-- arch/arm64/include/asm/cpu_ops.h | 2 + arch/arm64/include/asm/daifflags.h | 4 +- arch/arm64/include/asm/irq.h | 4 ++ arch/arm64/include/asm/irqflags.h | 6 +-- arch/arm64/kernel/cpu_ops.c | 6 +++ arch/arm64/kernel/entry.S | 74 ++++++++++++++++++++++++++--- arch/arm64/kernel/irq.c | 14 ++++++ arch/arm64/kernel/process.c | 13 +++-- arch/arm64/mm/proc.S | 26 ++++++++++ 11 files changed, 140 insertions(+), 19 deletions(-) -- 2.29.2