Messages in this thread | | | Date | Sat, 15 Aug 2015 14:45:30 +0800 | Subject | Re: [PATCH] acpi, apei, arm64: APEI initial support for aarch64. | From | Fu Wei <> |
| |
Hi all Add Tomasz Nowicki <tn@semihalf.com> in the loop
On 15 August 2015 at 02:27, Zhang, Jonathan Zhixiong <zjzhang@codeaurora.org> 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, <fu.wei@linaro.org> wrote: >>> >>> From: Tomasz Nowicki <tomasz.nowicki@linaro.org> >>> >>> 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 <tomasz.nowicki@linaro.org> >>> Signed-off-by: Fu Wei <fu.wei@linaro.org> >>> --- >>> 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 <linux/efi.h> >>> #include <asm/pgtable.h> >>> +#include <asm/tlbflush.h> >>> #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 <zjzhang@codeaurora.org> > > -- > 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
| |