Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932763AbbGUPI0 (ORCPT ); Tue, 21 Jul 2015 11:08:26 -0400 Received: from foss.arm.com ([217.140.101.70]:60391 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932517AbbGUPIZ (ORCPT ); Tue, 21 Jul 2015 11:08:25 -0400 Date: Tue, 21 Jul 2015 16:08:22 +0100 From: Will Deacon To: "Jonathan (Zhixiong) Zhang" Cc: Catalin Marinas , "fu.wei@linaro.org" , "al.stone@linaro.org" , "bp @ alien8 . de Matt Fleming" , "rjw@rjwysocki.net" , "linux-kernel@vger.kernel.org" , "linaro-acpi@lists.linaro.org" Subject: Re: [PATCH V6 3/4] arm64: apei: implement arch_apei_get_mem_attributes() Message-ID: <20150721150822.GJ31095@arm.com> References: <1437438759-3686-1-git-send-email-zjzhang@codeaurora.org> <1437438759-3686-4-git-send-email-zjzhang@codeaurora.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1437438759-3686-4-git-send-email-zjzhang@codeaurora.org> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2057 Lines: 60 On Tue, Jul 21, 2015 at 01:32:38AM +0100, Jonathan (Zhixiong) Zhang wrote: > From: "Jonathan (Zhixiong) Zhang" > > If the physical address has memory attributes defined by EFI > memmap as EFI_MEMORY_UC, the page protection type is > PROT_DEVICE_nGnRE. Otherwise, the page protection type is > PAGE_KERNEL. > > Signed-off-by: Jonathan (Zhixiong) Zhang > --- > This patch applies cleanly to efi-next-14364 of efi/next and > arm64-upstream-13521 of arm64/master, but needed slight change > to apply to next-20150720 of linux-next/master and > pm+acpi-4.2-rc3 of linux-pm/master. The later two branches > has newer arch/arm64/include/asm/acpi.h with following patch: > b6cfb277378e ACPI / ARM64: add BAD_MADT_GICC_ENTRY() macro > --- > arch/arm64/include/asm/acpi.h | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/arch/arm64/include/asm/acpi.h b/arch/arm64/include/asm/acpi.h > index 39248d3adf5d..42e4fd8aaf34 100644 > --- a/arch/arm64/include/asm/acpi.h > +++ b/arch/arm64/include/asm/acpi.h > @@ -19,6 +19,11 @@ > #include > #include > > +#ifdef CONFIG_ACPI_APEI > +#include > +#include > +#endif > + > /* Basic configuration for ACPI */ > #ifdef CONFIG_ACPI > /* ACPI table mapping after acpi_gbl_permanent_mmap is set */ > @@ -84,4 +89,15 @@ static inline const char *acpi_get_enable_method(int cpu) > { > return acpi_psci_present() ? "psci" : NULL; > } > + > +#ifdef CONFIG_ACPI_APEI > +static inline pgprot_t arch_apei_get_mem_attribute(phys_addr_t addr) > +{ > + if (efi_mem_attributes(addr) & EFI_MEMORY_UC) > + return PROT_DEVICE_nGnRE; The EFI spec says this should be nGnRnE afaict. > + > + return PAGE_KERNEL; About about about WC and WT? Will -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/