Re: [PATCH V7 4/5] arm64: apei: implement arch_apei_get_mem_attributes()

From: Will Deacon
Date: Fri Jul 24 2015 - 10:57:13 EST


On Tue, Jul 21, 2015 at 10:59:19PM +0100, Jonathan (Zhixiong) Zhang wrote:
> From: "Jonathan (Zhixiong) Zhang" <zjzhang@xxxxxxxxxxxxxx>
>
> 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 <zjzhang@xxxxxxxxxxxxxx>
> ---
> 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 | 26 ++++++++++++++++++++++++++
> 1 file changed, 26 insertions(+)

[...]

> diff --git a/arch/arm64/include/asm/acpi.h b/arch/arm64/include/asm/acpi.h
> +static inline pgprot_t arch_apei_get_mem_attribute(phys_addr_t addr)
> +{
> + pgprot_t prot;
> +
> + prot = efi_mem_attributes(addr);
> + if (prot & EFI_MEMORY_UC)
> + return PROT_DEVICE_nGnRnE;
> + if (prot & EFI_MEMORY_WC)
> + return PROT_NORMAL_NC;

Can we not use pgprot_noncached and pgprot_writecombine for these two?

> + if (prot & EFI_MEMORY_WT)
> + return PROT_NORMAL_WT;

Then you could add pgprot_writethrough for this guy.

Will
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/