Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753693AbcLFTTm (ORCPT ); Tue, 6 Dec 2016 14:19:42 -0500 Received: from mga06.intel.com ([134.134.136.31]:42111 "EHLO mga06.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751495AbcLFTT3 (ORCPT ); Tue, 6 Dec 2016 14:19:29 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,310,1477983600"; d="scan'208";a="199717892" From: Sai Praneeth Prakhya To: linux-efi@vger.kernel.org, linux-kernel@vger.kernel.org Cc: jlee@suse.com, bp@alien8.de, ricardo.neri@intel.com, matt@codeblueprint.co.uk, ard.biesheuvel@linaro.org, ravi.v.shankar@intel.com, fenghua.yu@intel.com, Sai Praneeth Subject: [PATCH 0/4] UEFI: EFI_MEMORY_ATTRIBUTES_TABLE support for x86 Date: Tue, 6 Dec 2016 11:15:59 -0800 Message-Id: <1481051763-8705-1-git-send-email-sai.praneeth.prakhya@intel.com> X-Mailer: git-send-email 2.1.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1916 Lines: 48 From: Sai Praneeth UEFI v2.6 introduces EFI_MEMORY_ATTRIBUTES_TABLE which describes memory protections that may be applied to EFI Runtime code and data regions by kernel. This helps kernel to map efi runtime regions more strictly and hence allowing only appropriate accesses to these regions. Please refer to "EFI_MEMORY_ATTRIBUTES_TABLE" in section 4.6 of UEFI specification v2.6 for more information on this table. This patch set relies on commit a604af075a32 ("efi: Add support for the EFI_MEMORY_ATTRIBUTES_TABLE config table"), commit 10f0d2f57705 ("efi: Implement generic support for the Memory Attributes table") and hence implements support for only x86. Since the above commits have already implemented early discovery and validation of table, the following patches implement a call back function for x86 which is called only when EFI_MEMORY_ATTRIBUTES_TABLE is detected. Patch #1 makes the efi_memory_attributes table detection code generic across all architectures Patch #2 adds EFI_MEM_ATTR bit to keep track of this feature Patch #3 Implements call back function that does stricter mappings based on this table Patch #4 Skip parsing of EFI_PROPERTIES_TABLE if EFI_MEMORY_ATTRIBUTES_TABLE is detected Sai Praneeth (4): efi: Make EFI_MEMORY_ATTRIBUTES_TABLE initialization common across all architectures efi: Introduce EFI_MEM_ATTR bit and set it from memory attributes table x86/efi: Add support for EFI_MEMORY_ATTRIBUTES_TABLE efi: Skip parsing of EFI_PROPERTIES_TABLE if EFI_MEMORY_ATTRIBUTES_TABLE is detected arch/x86/platform/efi/efi_64.c | 64 ++++++++++++++++++++++++++++++++++------- drivers/firmware/efi/arm-init.c | 1 - drivers/firmware/efi/efi.c | 13 +++++++++ drivers/firmware/efi/memattr.c | 6 +++- include/linux/efi.h | 1 + 5 files changed, 73 insertions(+), 12 deletions(-) -- 2.1.4