From: hanjun.guo@linaro.org (Hanjun Guo)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 00/19] Introduce ACPI for ARM64 based on ACPI 5.1
Date: Fri, 25 Jul 2014 08:46:39 +0800 [thread overview]
Message-ID: <53D1A8EF.60807@linaro.org> (raw)
In-Reply-To: <1406206825-15590-1-git-send-email-hanjun.guo@linaro.org>
Hi folks,
I included the linaro-acpi-private mail list wrongly when I was sending them
out, it will cause Delivery Status Notification (Failure) when you are not
in that mail list, sorry for the messed up, it was a little bit late for me
last night, and little bit dottiness for me too, I must be tired :(
please remove the linaro-acpi-private mail list when you replied, Thanks.
Best Regards
Hanjun
On 2014-7-24 21:00, Hanjun Guo wrote:
> ACPI 5.1 was released [1] and it fixed some major gaps to run ACPI
> on ARM, this patch just follow the ACPI 5.1 spec and prepare the
> code to run ACPI on ARM64.
>
> ACPI 5.1 has some major changes for the following tables and
> method which are essential for ARM platforms:
>
> 1) MADT table updates.
> New fields were introduced to cover MPIDR and virtualization in
> GICC, and introduce GICR and GIC MSI frame structure to cover
> GICv3 and GICv2m (this patch set only cover GICv2).
>
> 2) FADT updates for PSCI
> New fields were introduced to cover PSCI and ACPI can use psci
> to boot SMP and other PSCI related functions.
>
> 3) GTDT
> GTDT was updated to support arch timer, memory-mapped tiemr,
> SBSA watchdog timer, in this patch, only arch timer tested on
> Juno board, so only arch timer init is available.
>
> 4) _DSD
> _DSD (Device Specific Data) will provide some key values which
> presented by FDT before, it makes possible that some devices can
> be emumerated in ACPI way, please refer to the document provided
> in this patch set for detail.
>
> This patch set is the ARM64 ACPI core patches covered MADT, FADT
> and GTDT, _DSD is not covered in this patch set. We first introduce
> acpi.c and its related head file which are needed by ACPI core, and
> then get RSDP to extract all the ACPI boot-time tables.
>
> When all the boot-time tables (FADT, MADT, GTDT) are ready, then
> parse them to init the sytem when booted. Specifically,
> a) we use FADT to init PSCI and use PSCI to boot SMP;
> b) Use MADT for GIC init and SMP init;
> c) GTDT for arch timer init.
>
> This patch set is based on the former ACPICA patches I sent, and I
> already compiled it OK with:
> a) each patch applied on ARM64 with CONFIG_ACPI=y;
> b) CONFIG_ACPI=n on ARM64;
> c) CONFIG_ACPI=y on x86.
>
> Also this patch set was tested by Graeme on ARM64 Juno platform, it
> boot successfully with ACPI only (no device tree).
>
> [1]
> You can download ACPI 5.1 from http://www.uefi.org/specifications
>
> Al Stone (3):
> ARM64 / ACPI: Get RSDP and ACPI boot-time tables
> ARM64 / ACPI: Introduce early_param for "acpi"
> ARM64 / ACPI: Select ACPI_REDUCED_HARDWARE_ONLY if ACPI is enabled on
> ARM64
>
> Ashwin Chaugule (1):
> ACPI / table: Add new function to get table entries
>
> Graeme Gregory (4):
> ARM64 / ACPI: Introduce lowlevel suspend function
> ARM64 / ACPI: If we chose to boot from acpi then disable FDT
> ARM64 / ACPI: Enable ARM64 in Kconfig
> Documentation: ACPI for ARM64
>
> Hanjun Guo (10):
> ARM64 / ACPI: Introduce arch_fix_phys_package_id() for cpu topology
> ARM64 / ACPI: Make PCI optional for ACPI on ARM64
> ARM64 / ACPI: Parse FADT table to get PSCI flags for PSCI init
> ARM64 / ACPI: Parse MADT to map logical cpu to MPIDR and get
> cpu_possible/present_map
> ACPI / table: Print GIC information when MADT is parsed
> ARM64 / ACPI: Move the initialization of cpu_logical_map(0) before
> acpi_boot_init()
> ARM64 / ACPI: Get the enable method for SMP initialization in ACPI
> way
> ACPI / processor: Make it possible to get CPU hardware ID via GICC
> ARM64 / ACPI: Introduce ACPI_IRQ_MODEL_GIC and register device's gsi
> ARM64 / ACPI: Parse GTDT to initialize arch timer
>
> Tomasz Nowicki (1):
> ARM64 / ACPI: Add GICv2 specific ACPI boot support
>
> Documentation/arm64/arm-acpi.txt | 240 ++++++++++++++++++++
> Documentation/kernel-parameters.txt | 3 +-
> arch/arm64/Kconfig | 3 +
> arch/arm64/include/asm/acenv.h | 18 ++
> arch/arm64/include/asm/acpi.h | 90 ++++++++
> arch/arm64/include/asm/cpu.h | 11 +
> arch/arm64/include/asm/cpu_ops.h | 9 +-
> arch/arm64/include/asm/pci.h | 11 +
> arch/arm64/include/asm/smp.h | 2 +-
> arch/arm64/include/asm/topology.h | 2 +
> arch/arm64/kernel/Makefile | 1 +
> arch/arm64/kernel/acpi.c | 403 ++++++++++++++++++++++++++++++++++
> arch/arm64/kernel/cpu_ops.c | 52 ++++-
> arch/arm64/kernel/irq.c | 5 +
> arch/arm64/kernel/psci.c | 95 +++++---
> arch/arm64/kernel/setup.c | 11 +-
> arch/arm64/kernel/smp.c | 39 +++-
> arch/arm64/kernel/time.c | 7 +
> arch/arm64/kernel/topology.c | 14 ++
> drivers/acpi/Kconfig | 6 +-
> drivers/acpi/Makefile | 2 +-
> drivers/acpi/bus.c | 3 +
> drivers/acpi/internal.h | 5 +
> drivers/acpi/processor_core.c | 36 +++
> drivers/acpi/tables.c | 109 +++++++--
> drivers/clocksource/arm_arch_timer.c | 117 ++++++++--
> drivers/irqchip/irq-gic.c | 114 ++++++++++
> include/linux/acpi.h | 5 +
> include/linux/clocksource.h | 6 +
> include/linux/irqchip/arm-gic-acpi.h | 36 +++
> include/linux/pci.h | 37 +++-
> 31 files changed, 1397 insertions(+), 95 deletions(-)
> create mode 100644 Documentation/arm64/arm-acpi.txt
> create mode 100644 arch/arm64/include/asm/acenv.h
> create mode 100644 arch/arm64/include/asm/acpi.h
> create mode 100644 arch/arm64/include/asm/cpu.h
> create mode 100644 arch/arm64/include/asm/pci.h
> create mode 100644 arch/arm64/kernel/acpi.c
> create mode 100644 include/linux/irqchip/arm-gic-acpi.h
>
prev parent reply other threads:[~2014-07-25 0:46 UTC|newest]
Thread overview: 131+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-24 13:00 [PATCH 00/19] Introduce ACPI for ARM64 based on ACPI 5.1 Hanjun Guo
2014-07-24 13:00 ` [PATCH 01/19] ARM64 / ACPI: Get RSDP and ACPI boot-time tables Hanjun Guo
2014-07-28 18:29 ` Sudeep Holla
2014-07-28 22:49 ` Graeme Gregory
2014-07-29 8:49 ` Sudeep Holla
2014-07-29 13:08 ` Hanjun Guo
2014-07-29 13:50 ` Sudeep Holla
2014-07-29 14:07 ` Hanjun Guo
2014-07-28 18:30 ` Sudeep Holla
2014-07-24 13:00 ` [PATCH 02/19] ARM64 / ACPI: Introduce early_param for "acpi" Hanjun Guo
2014-07-28 18:35 ` Sudeep Holla
2014-07-29 13:10 ` Hanjun Guo
2014-07-24 13:00 ` [PATCH 03/19] ARM64 / ACPI: Introduce lowlevel suspend function Hanjun Guo
2014-07-24 15:34 ` Mark Rutland
2014-07-25 10:42 ` Hanjun Guo
2014-07-28 18:28 ` Sudeep Holla
2014-07-29 13:00 ` Hanjun Guo
2014-07-24 13:00 ` [PATCH 04/19] ARM64 / ACPI: Introduce arch_fix_phys_package_id() for cpu topology Hanjun Guo
2014-07-24 14:43 ` Mark Brown
2014-07-25 10:32 ` Hanjun Guo
2014-07-28 18:51 ` Sudeep Holla
2014-08-01 6:35 ` Hanjun Guo
2014-08-01 10:48 ` Sudeep Holla
2014-07-24 13:00 ` [PATCH 05/19] ARM64 / ACPI: Make PCI optional for ACPI on ARM64 Hanjun Guo
2014-07-24 21:57 ` Naresh Bhat
2014-07-29 16:40 ` Sudeep Holla
2014-07-24 13:00 ` [PATCH 06/19] ARM64 / ACPI: Parse FADT table to get PSCI flags for PSCI init Hanjun Guo
2014-07-29 16:40 ` Sudeep Holla
2014-07-31 3:53 ` Hanjun Guo
2014-07-31 4:22 ` Olof Johansson
2014-07-31 10:23 ` Hanjun Guo
2014-08-20 15:02 ` Grant Likely
2014-08-20 15:00 ` Grant Likely
2014-08-20 15:29 ` Catalin Marinas
2014-08-20 15:43 ` graeme.gregory at linaro.org
2014-07-24 13:00 ` [PATCH 07/19] ARM64 / ACPI: Parse MADT to map logical cpu to MPIDR and get cpu_possible/present_map Hanjun Guo
2014-07-24 23:06 ` Naresh Bhat
2014-07-25 11:11 ` Hanjun Guo
2014-07-30 18:20 ` Sudeep Holla
2014-07-31 8:14 ` Hanjun Guo
2014-08-20 15:14 ` Grant Likely
2014-07-24 13:00 ` [PATCH 08/19] ACPI / table: Print GIC information when MADT is parsed Hanjun Guo
2014-07-30 18:21 ` Sudeep Holla
2014-07-31 8:15 ` Hanjun Guo
2014-07-24 13:00 ` [PATCH 09/19] ARM64 / ACPI: Move the initialization of cpu_logical_map(0) before acpi_boot_init() Hanjun Guo
2014-07-24 15:21 ` Mark Rutland
2014-07-25 10:39 ` Hanjun Guo
2014-07-25 12:18 ` Mark Rutland
2014-07-24 13:00 ` [PATCH 10/19] ARM64 / ACPI: Get the enable method for SMP initialization in ACPI way Hanjun Guo
2014-07-24 15:47 ` Mark Rutland
2014-07-25 10:51 ` Hanjun Guo
2014-07-25 12:24 ` Mark Rutland
2014-07-29 8:12 ` Hanjun Guo
2014-07-31 6:54 ` Olof Johansson
2014-07-31 10:57 ` Hanjun Guo
2014-08-04 9:56 ` Hanjun Guo
2014-07-31 18:52 ` Geoff Levand
2014-08-01 6:49 ` Hanjun Guo
2014-07-24 13:00 ` [PATCH 11/19] ACPI / processor: Make it possible to get CPU hardware ID via GICC Hanjun Guo
2014-07-24 13:00 ` [PATCH 12/19] ARM64 / ACPI: Introduce ACPI_IRQ_MODEL_GIC and register device's gsi Hanjun Guo
2014-07-24 13:00 ` [PATCH 13/19] ACPI / table: Add new function to get table entries Hanjun Guo
2014-07-24 13:00 ` [PATCH 14/19] ARM64 / ACPI: Add GICv2 specific ACPI boot support Hanjun Guo
2014-07-24 13:00 ` [PATCH 15/19] ARM64 / ACPI: Parse GTDT to initialize arch timer Hanjun Guo
2014-07-24 13:00 ` [PATCH 16/19] ARM64 / ACPI: Select ACPI_REDUCED_HARDWARE_ONLY if ACPI is enabled on ARM64 Hanjun Guo
2014-07-24 13:00 ` [PATCH 17/19] ARM64 / ACPI: If we chose to boot from acpi then disable FDT Hanjun Guo
2014-07-24 13:00 ` [PATCH 18/19] ARM64 / ACPI: Enable ARM64 in Kconfig Hanjun Guo
2014-07-24 13:00 ` [PATCH 19/19] Documentation: ACPI for ARM64 Hanjun Guo
2014-07-24 20:42 ` Randy Dunlap
2014-07-25 10:55 ` Hanjun Guo
[not found] ` <CAFoFrHaWWxRPRYM5+bWj0tGnz05SokqwVGejUCUi+U-KChFBdQ@mail.gmail.com>
2014-07-24 21:19 ` Randy Dunlap
2014-07-29 10:07 ` Christoffer Dall
2014-07-27 2:34 ` Olof Johansson
2014-07-28 8:42 ` Graeme Gregory
2014-07-28 16:23 ` Olof Johansson
2014-07-28 17:44 ` Mark Brown
2014-07-28 9:07 ` Arnd Bergmann
2014-07-28 9:23 ` Graeme Gregory
2014-07-28 10:46 ` Arnd Bergmann
2014-07-28 14:20 ` Andre Przywara
2014-07-28 15:23 ` Arnd Bergmann
2014-07-28 16:14 ` Andre Przywara
2014-07-29 9:17 ` Graeme Gregory
2014-07-29 10:07 ` Arnd Bergmann
2014-07-28 10:12 ` Mark Rutland
2014-07-28 16:33 ` Olof Johansson
2014-07-28 18:37 ` Mark Rutland
2014-07-28 18:44 ` Olof Johansson
2014-07-28 16:27 ` Olof Johansson
2014-07-28 17:00 ` Mark Rutland
2014-07-28 18:27 ` Olof Johansson
2014-08-12 18:23 ` Catalin Marinas
2014-08-13 23:41 ` Rafael J. Wysocki
2014-08-14 3:21 ` Hanjun Guo
2014-08-14 10:27 ` Catalin Marinas
2014-08-14 20:53 ` Arnd Bergmann
2014-08-15 1:02 ` Olof Johansson
2014-08-15 19:49 ` Arnd Bergmann
2014-08-15 23:19 ` Mark Brown
2014-08-16 12:51 ` graeme.gregory at linaro.org
2014-08-15 9:09 ` Hanjun Guo
2014-08-15 10:01 ` Catalin Marinas
2014-08-18 9:29 ` Hanjun Guo
2014-08-18 12:49 ` Mark Rutland
2014-08-20 22:17 ` Olof Johansson
2014-08-21 4:00 ` Hanjun Guo
2014-07-29 9:01 ` Hanjun Guo
2014-07-28 10:06 ` Mark Rutland
2014-07-28 16:44 ` Olof Johansson
2014-07-28 17:36 ` Mark Rutland
2014-07-28 18:34 ` Olof Johansson
2014-07-29 10:29 ` Christoffer Dall
2014-07-29 10:41 ` Arnd Bergmann
2014-07-29 10:55 ` Mark Rutland
2014-07-29 11:28 ` Mark Rutland
2014-07-29 12:37 ` Christoffer Dall
2014-07-29 12:52 ` Arnd Bergmann
2014-07-29 13:08 ` Mark Rutland
2014-07-29 13:31 ` Christoffer Dall
2014-07-29 14:04 ` Mark Rutland
2014-07-29 14:41 ` Arnd Bergmann
2014-07-29 15:01 ` Christoffer Dall
2014-07-30 6:47 ` Hanjun Guo
2014-07-30 7:14 ` Christoffer Dall
2014-07-30 9:36 ` Hanjun Guo
2014-07-29 13:33 ` Christoffer Dall
2014-07-29 7:58 ` Hanjun Guo
2014-07-29 10:30 ` Christoffer Dall
2014-08-15 22:43 ` Len Brown
2014-08-16 12:45 ` Graeme Gregory
2014-08-20 16:42 ` Grant Likely
2014-07-25 0:46 ` Hanjun Guo [this message]
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=53D1A8EF.60807@linaro.org \
--to=hanjun.guo@linaro.org \
--cc=linux-arm-kernel@lists.infradead.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).