[patch v11 14/23] ACPI / processor: Make it possible to get CPU hardware ID via GICC
Catalin Marinas
catalin.marinas at arm.com
Wed Mar 25 10:25:52 PDT 2015
On Tue, Mar 24, 2015 at 10:02:47PM +0800, Hanjun Guo wrote:
> Introduce a new function map_gicc_mpidr() to allow MPIDRs to be obtained
> from the GICC Structure introduced by ACPI 5.1, since MPIDR for ARM64 is
> 64-bit, so typedef u64 for phys_cpuid_t.
>
> The ARM architecture defines the MPIDR register as the CPU hardware
> identifier. This patch adds the code infrastructure to retrieve the MPIDR
> values from the ARM ACPI GICC structure in order to look-up the kernel CPU
> hardware ids required by the ACPI core code to identify CPUs.
>
> CC: Rafael J. Wysocki <rjw at rjwysocki.net>
> CC: Catalin Marinas <catalin.marinas at arm.com>
> CC: Will Deacon <will.deacon at arm.com>
> Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit at amd.com>
> Tested-by: Yijing Wang <wangyijing at huawei.com>
> Tested-by: Mark Langsdorf <mlangsdo at redhat.com>
> Tested-by: Jon Masters <jcm at redhat.com>
> Tested-by: Timur Tabi <timur at codeaurora.org>
> Tested-by: Robert Richter <rrichter at cavium.com>
> Acked-by: Robert Richter <rrichter at cavium.com>
> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
> Acked-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
> Reviewed-by: Grant Likely <grant.likely at linaro.org>
> Signed-off-by: Hanjun Guo <hanjun.guo at linaro.org>
> ---
> arch/arm64/include/asm/acpi.h | 12 ++++++++++++
> drivers/acpi/processor_core.c | 30 ++++++++++++++++++++++++++++++
> 2 files changed, 42 insertions(+)
>
> diff --git a/arch/arm64/include/asm/acpi.h b/arch/arm64/include/asm/acpi.h
> index 9719921..eea0bc3 100644
> --- a/arch/arm64/include/asm/acpi.h
> +++ b/arch/arm64/include/asm/acpi.h
> @@ -13,6 +13,8 @@
> #define _ASM_ACPI_H
>
> #include <linux/mm.h>
> +#include <asm/cputype.h>
> +#include <asm/smp_plat.h>
>
> /* Basic configuration for ACPI */
> #ifdef CONFIG_ACPI
> @@ -27,6 +29,9 @@ static inline void __iomem *acpi_os_ioremap(acpi_physical_address phys,
> }
> #define acpi_os_ioremap acpi_os_ioremap
>
> +typedef u64 phys_cpuid_t;
> +#define PHYS_CPUID_INVALID INVALID_HWID
> +
This should have been defined in the previous patch (though it defaults
to -1, so not too bad).
Reviewed-by: Catalin Marinas <catalin.marinas at arm.com>
More information about the linux-arm-kernel
mailing list