From: Mohamed Mediouni <mohamed.mediouni@caramail.com>
To: linux-arm-kernel@lists.infradead.org
Cc: Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Marc Zyngier <maz@kernel.org>, Hector Martin <marcan@marcan.st>,
linux-kernel@vger.kernel.org,
Mohamed Mediouni <mohamed.mediouni@caramail.com>
Subject: [RFC PATCH 0/7] Linux on Apple Silicon
Date: Wed, 20 Jan 2021 14:27:10 +0100 [thread overview]
Message-ID: <20210120132717.395873-1-mohamed.mediouni@caramail.com> (raw)
This patch series contains the changes for a minimal
Linux on Apple Silicon boot, including SMP.
(sorry for the resubmission, I didn't attach the drivers
to the ones beforehand, and didn't submit it properly)
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.
- Apple AIC driver
Driver for the Apple AIC interrupt controller.
- Apple CPU start driver
On Apple Macs, RVBAR is locked by the bootloader.
And the hardware doesn't have EL3 to provide PSCI
as an option either. This also implements the workaround
for WFI on the hardware.
What is not present:
- Device tree, will be present in a future version of this
patchset
- More devices.
Thank you,
Mohamed Mediouni (1):
arm64: mm: use nGnRnE instead of nGnRE on Apple processors
Stan Skowronek (6):
arm64: kernel: FIQ support
arm64: kernel: Add a WFI hook.
irqchip/apple-aic: Add support for Apple AIC
arm64/Kconfig: Add Apple Silicon SoC platform
arm64: kernel: Apple CPU start driver
irqchip/apple-aic: add SMP support to the Apple AIC driver.
.../devicetree/bindings/arm/cpus.yaml | 1 +
.../interrupt-controller/apple,aic.yaml | 49 +++
MAINTAINERS | 6 +
arch/arm64/Kconfig.platforms | 7 +
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/Makefile | 1 +
arch/arm64/kernel/apple_cpustart.c | 153 ++++++++
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 ++
drivers/irqchip/Kconfig | 6 +
drivers/irqchip/Makefile | 1 +
drivers/irqchip/irq-apple-aic.c | 364 ++++++++++++++++++
20 files changed, 728 insertions(+), 19 deletions(-)
create mode 100644 Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml
create mode 100644 arch/arm64/kernel/apple_cpustart.c
create mode 100644 drivers/irqchip/irq-apple-aic.c
--
2.29.2
next reply other threads:[~2021-01-20 20:54 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-20 13:27 Mohamed Mediouni [this message]
2021-01-20 13:27 ` [RFC PATCH 1/7] arm64: kernel: FIQ support Mohamed Mediouni
2021-01-20 13:27 ` [RFC PATCH 2/7] arm64: kernel: Add a WFI hook Mohamed Mediouni
2021-01-20 16:46 ` Alexander Graf
[not found] ` <94C20F55-D3B8-4349-B26F-9EA8AAEBF639@caramail.com>
2021-01-21 12:33 ` Hector Martin 'marcan'
2021-01-21 10:52 ` Arnd Bergmann
2021-01-21 11:01 ` Mohamed Mediouni
2021-01-21 11:36 ` Arnd Bergmann
2021-01-20 13:27 ` [RFC PATCH 3/7] arm64: mm: use nGnRnE instead of nGnRE on Apple processors Mohamed Mediouni
2021-01-20 16:47 ` Alexander Graf
2021-01-20 18:06 ` Mohamed Mediouni
2021-01-20 18:10 ` Alexander Graf
2021-01-21 11:27 ` Will Deacon
2021-01-21 11:38 ` Arnd Bergmann
2021-01-21 11:44 ` Marc Zyngier
2021-01-21 12:47 ` Will Deacon
2021-01-21 15:12 ` Mohamed Mediouni
2021-01-21 16:25 ` Marc Zyngier
2021-01-21 17:55 ` Will Deacon
2021-01-21 18:15 ` Marc Zyngier
2021-01-21 18:22 ` Mohamed Mediouni
2021-01-21 18:22 ` Will Deacon
2021-01-20 13:27 ` [RFC PATCH 4/7] irqchip/apple-aic: Add support for Apple AIC Mohamed Mediouni
2021-01-20 17:11 ` Alexander Graf
2021-01-20 18:04 ` Mohamed Mediouni
2021-01-20 20:16 ` Andrew Lunn
2021-01-20 21:18 ` Stan Skowronek
2021-01-21 9:48 ` Linus Walleij
2021-01-21 10:37 ` Arnd Bergmann
2021-01-21 15:29 ` Hector Martin 'marcan'
2021-01-21 17:09 ` Rob Herring
2021-01-21 17:45 ` Rob Herring
2021-01-21 16:44 ` Rob Herring
2021-01-21 16:53 ` Hector Martin 'marcan'
2021-01-20 13:27 ` [RFC PATCH 5/7] arm64/Kconfig: Add Apple Silicon SoC platform Mohamed Mediouni
2021-01-20 13:27 ` [RFC PATCH 6/7] arm64: kernel: Apple CPU start driver Mohamed Mediouni
2021-01-21 11:14 ` Arnd Bergmann
2021-01-20 13:27 ` [RFC PATCH 7/7] irqchip/apple-aic: add SMP support to the Apple AIC driver Mohamed Mediouni
2021-01-21 12:44 ` Arnd Bergmann
2021-01-21 12:50 ` Mohamed Mediouni
2021-01-21 13:00 ` Arnd Bergmann
2021-01-21 13:01 ` Hector Martin 'marcan'
2021-01-21 13:22 ` Marc Zyngier
2021-01-21 13:32 ` Mark Rutland
2021-01-21 14:05 ` Marc Zyngier
2021-01-21 13:34 ` Mohamed Mediouni
2021-01-21 14:10 ` Marc Zyngier
2021-01-21 15:09 ` Arnd Bergmann
2021-01-21 15:18 ` Mohamed Mediouni
2021-01-21 16:40 ` Rob Herring
2021-01-21 16:43 ` Mohamed Mediouni
2021-01-21 17:37 ` Rob Herring
2021-01-21 18:08 ` Mohamed Mediouni
2021-01-21 18:57 ` Rob Herring
2021-02-02 19:15 ` Linus Walleij
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210120132717.395873-1-mohamed.mediouni@caramail.com \
--to=mohamed.mediouni@caramail.com \
--cc=catalin.marinas@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marcan@marcan.st \
--cc=mark.rutland@arm.com \
--cc=maz@kernel.org \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).