[PATCH 0/3] Preparations for Linux on Apple Silicon

From: Mohamed Mediouni
Date: Wed Jan 20 2021 - 07:13:30 EST


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