From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751520AbbHOGpd (ORCPT ); Sat, 15 Aug 2015 02:45:33 -0400 Received: from mail-ob0-f181.google.com ([209.85.214.181]:34103 "EHLO mail-ob0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750852AbbHOGpb (ORCPT ); Sat, 15 Aug 2015 02:45:31 -0400 MIME-Version: 1.0 In-Reply-To: <55CE3313.8040407@codeaurora.org> References: <=fu.wei@linaro.org> <1439555753-11974-1-git-send-email-fu.wei@linaro.org> <55CE3313.8040407@codeaurora.org> Date: Sat, 15 Aug 2015 14:45:30 +0800 Message-ID: Subject: Re: [PATCH] acpi, apei, arm64: APEI initial support for aarch64. From: Fu Wei To: "Zhang, Jonathan Zhixiong" , Tomasz Nowicki Cc: Linaro ACPI Mailman List , linux-kernel@vger.kernel.org, "matt.fleming" , Wei Fu , G Gregory , Al Stone , Hanjun Guo , Jon Masters , Mark Rutland , Catalin Marinas , Will Deacon , Rafael Wysocki , bp , Tomasz Nowicki Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi all Add Tomasz Nowicki in the loop On 15 August 2015 at 02:27, Zhang, Jonathan Zhixiong wrote: > > On 8/14/2015 5:39 AM, Fu Wei wrote: >> >> Hi all, >> >> This patch depends on https://lkml.org/lkml/2015/8/8/169 >> [PATCH V11 4/5] arm64: apei: implement arch_apei_get_mem_attributes(), >> which has been in the "next" branch of >> git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi.git >> >> FYI >> Thanks >> >> On 14 August 2015 at 20:35, wrote: >>> >>> From: Tomasz Nowicki >>> >>> This commit provides APEI arch-specific bits for aarch64 >>> >>> Changelog: >>> Fu Wei: >>> Move arch_apei_flush_tlb_one() to arch/arm64/include/asm/apci.h. >>> Delete arch/arm64/kernel/apei.c. >>> Add "#ifdef CONFIG_ACPI_APEI" for "acpi_disable_cmcff". >>> >>> Signed-off-by: Tomasz Nowicki >>> Signed-off-by: Fu Wei >>> --- >>> arch/arm64/Kconfig | 1 + >>> arch/arm64/include/asm/acpi.h | 11 +++++++++++ >>> arch/arm64/kernel/acpi.c | 4 ++++ >>> 3 files changed, 16 insertions(+) >>> >>> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig >>> index 318175f..6144c9d 100644 >>> --- a/arch/arm64/Kconfig >>> +++ b/arch/arm64/Kconfig >>> @@ -3,6 +3,7 @@ config ARM64 >>> select ACPI_CCA_REQUIRED if ACPI >>> select ACPI_GENERIC_GSI if ACPI >>> select ACPI_REDUCED_HARDWARE_ONLY if ACPI >>> + select HAVE_ACPI_APEI if ACPI >>> select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE >>> select ARCH_HAS_ELF_RANDOMIZE >>> select ARCH_HAS_GCOV_PROFILE_ALL >>> diff --git a/arch/arm64/include/asm/acpi.h >>> b/arch/arm64/include/asm/acpi.h >>> index a17b623..ced6e25 100644 >>> --- a/arch/arm64/include/asm/acpi.h >>> +++ b/arch/arm64/include/asm/acpi.h >>> @@ -22,6 +22,7 @@ >>> #ifdef CONFIG_ACPI_APEI >>> #include >>> #include >>> +#include >>> #endif >>> >>> /* Macros for consistency checks of the GICC subtable of MADT */ >>> @@ -52,6 +53,9 @@ typedef u64 phys_cpuid_t; >>> extern int acpi_disabled; >>> extern int acpi_noirq; >>> extern int acpi_pci_disabled; >>> +#ifdef CONFIG_ACPI_APEI >>> +extern int acpi_disable_cmcff; >>> +#endif >>> >>> static inline void disable_acpi(void) >>> { >>> @@ -89,6 +93,13 @@ static inline bool acpi_has_cpu_in_madt(void) >>> static inline void arch_fix_phys_package_id(int num, u32 slot) { } >>> void __init acpi_init_cpus(void); >>> >>> +#ifdef CONFIG_ACPI_APEI >>> +static inline void arch_apei_flush_tlb_one(unsigned long addr) >>> +{ >>> + flush_tlb_kernel_range(addr, addr + PAGE_SIZE); >>> +} >>> +#endif >>> + >>> #else >>> static inline void acpi_init_cpus(void) { } >>> #endif /* CONFIG_ACPI */ >>> diff --git a/arch/arm64/kernel/acpi.c b/arch/arm64/kernel/acpi.c >>> index 19de753..bd1be9a 100644 >>> --- a/arch/arm64/kernel/acpi.c >>> +++ b/arch/arm64/kernel/acpi.c >>> @@ -36,6 +36,10 @@ EXPORT_SYMBOL(acpi_disabled); >>> int acpi_pci_disabled = 1; /* skip ACPI PCI scan and IRQ >>> initialization */ >>> EXPORT_SYMBOL(acpi_pci_disabled); >>> >>> +#ifdef CONFIG_ACPI_APEI >>> +int acpi_disable_cmcff; >>> +#endif >>> + >>> static bool param_acpi_off __initdata; >>> static bool param_acpi_force __initdata; >>> >>> -- >>> 1.9.1 >>> >> >> >> > I tested this patch on an arm64 platform, the APEI functionalities > work as expected. > Tested-by: Jonathan (Zhixiong) Zhang > > -- > Jonathan (Zhixiong) Zhang > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > a Linux Foundation Collaborative Project -- Best regards, Fu Wei Software Engineer Red Hat Software (Beijing) Co.,Ltd.Shanghai Branch Ph: +86 21 61221326(direct) Ph: +86 186 2020 4684 (mobile) Room 1512, Regus One Corporate Avenue,Level 15, One Corporate Avenue,222 Hubin Road,Huangpu District, Shanghai,China 200021