[tip:core/efi] efi: Add support for EFI_MEMORY_RO attribute introduced by UEFIv2.5
Commit-ID: 87db73aebf4fefaa3eade0a28f282a1511b8 Gitweb: http://git.kernel.org/tip/87db73aebf4fefaa3eade0a28f282a1511b8 Author: Ard Biesheuvel AuthorDate: Fri, 7 Aug 2015 09:36:54 +0100 Committer: Ingo Molnar CommitDate: Sat, 8 Aug 2015 10:37:38 +0200 efi: Add support for EFI_MEMORY_RO attribute introduced by UEFIv2.5 The UEFI spec v2.5 introduces a new memory attribute EFI_MEMORY_RO, which is now the preferred attribute to convey that the nature of the contents of such a region allows it to be mapped read-only (i.e., it contains .text and .rodata only). The specification of the existing EFI_MEMORY_WP attribute has been updated to align more closely with its common use as a cacheability attribute rather than a permission attribute. Add the #define and add the attribute to the memory map dumping routine. Signed-off-by: Ard Biesheuvel Signed-off-by: Matt Fleming Reviewed-by: Laszlo Ersek Cc: H. Peter Anvin Cc: Thomas Gleixner Link: http://lkml.kernel.org/r/1438936621-5215-1-git-send-email-m...@codeblueprint.co.uk Signed-off-by: Ingo Molnar --- drivers/firmware/efi/efi.c | 8 +--- include/linux/efi.h| 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c index d6144e3..d7a9160 100644 --- a/drivers/firmware/efi/efi.c +++ b/drivers/firmware/efi/efi.c @@ -588,16 +588,18 @@ char * __init efi_md_typeattr_format(char *buf, size_t size, attr = md->attribute; if (attr & ~(EFI_MEMORY_UC | EFI_MEMORY_WC | EFI_MEMORY_WT | -EFI_MEMORY_WB | EFI_MEMORY_UCE | EFI_MEMORY_WP | -EFI_MEMORY_RP | EFI_MEMORY_XP | EFI_MEMORY_RUNTIME)) +EFI_MEMORY_WB | EFI_MEMORY_UCE | EFI_MEMORY_RO | +EFI_MEMORY_WP | EFI_MEMORY_RP | EFI_MEMORY_XP | +EFI_MEMORY_RUNTIME)) snprintf(pos, size, "|attr=0x%016llx]", (unsigned long long)attr); else - snprintf(pos, size, "|%3s|%2s|%2s|%2s|%3s|%2s|%2s|%2s|%2s]", + snprintf(pos, size, "|%3s|%2s|%2s|%2s|%2s|%3s|%2s|%2s|%2s|%2s]", attr & EFI_MEMORY_RUNTIME ? "RUN" : "", attr & EFI_MEMORY_XP ? "XP" : "", attr & EFI_MEMORY_RP ? "RP" : "", attr & EFI_MEMORY_WP ? "WP" : "", +attr & EFI_MEMORY_RO ? "RO" : "", attr & EFI_MEMORY_UCE ? "UCE" : "", attr & EFI_MEMORY_WB ? "WB" : "", attr & EFI_MEMORY_WT ? "WT" : "", diff --git a/include/linux/efi.h b/include/linux/efi.h index 85ef051..26ca9e2 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h @@ -99,6 +99,7 @@ typedef struct { #define EFI_MEMORY_XP ((u64)0x4000ULL)/* execute-protect */ #define EFI_MEMORY_MORE_RELIABLE \ ((u64)0x0001ULL)/* higher reliability */ +#define EFI_MEMORY_RO ((u64)0x0002ULL)/* read-only */ #define EFI_MEMORY_RUNTIME ((u64)0x8000ULL)/* range requires runtime mapping */ #define EFI_MEMORY_DESCRIPTOR_VERSION 1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[tip:core/efi] efi: Add support for EFI_MEMORY_RO attribute introduced by UEFIv2.5
Commit-ID: 87db73aebf4fefaa3eade0a28f282a1511b8 Gitweb: http://git.kernel.org/tip/87db73aebf4fefaa3eade0a28f282a1511b8 Author: Ard Biesheuvel ard.biesheu...@linaro.org AuthorDate: Fri, 7 Aug 2015 09:36:54 +0100 Committer: Ingo Molnar mi...@kernel.org CommitDate: Sat, 8 Aug 2015 10:37:38 +0200 efi: Add support for EFI_MEMORY_RO attribute introduced by UEFIv2.5 The UEFI spec v2.5 introduces a new memory attribute EFI_MEMORY_RO, which is now the preferred attribute to convey that the nature of the contents of such a region allows it to be mapped read-only (i.e., it contains .text and .rodata only). The specification of the existing EFI_MEMORY_WP attribute has been updated to align more closely with its common use as a cacheability attribute rather than a permission attribute. Add the #define and add the attribute to the memory map dumping routine. Signed-off-by: Ard Biesheuvel ard.biesheu...@linaro.org Signed-off-by: Matt Fleming matt.flem...@intel.com Reviewed-by: Laszlo Ersek ler...@redhat.com Cc: H. Peter Anvin h...@zytor.com Cc: Thomas Gleixner t...@linutronix.de Link: http://lkml.kernel.org/r/1438936621-5215-1-git-send-email-m...@codeblueprint.co.uk Signed-off-by: Ingo Molnar mi...@kernel.org --- drivers/firmware/efi/efi.c | 8 +--- include/linux/efi.h| 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c index d6144e3..d7a9160 100644 --- a/drivers/firmware/efi/efi.c +++ b/drivers/firmware/efi/efi.c @@ -588,16 +588,18 @@ char * __init efi_md_typeattr_format(char *buf, size_t size, attr = md-attribute; if (attr ~(EFI_MEMORY_UC | EFI_MEMORY_WC | EFI_MEMORY_WT | -EFI_MEMORY_WB | EFI_MEMORY_UCE | EFI_MEMORY_WP | -EFI_MEMORY_RP | EFI_MEMORY_XP | EFI_MEMORY_RUNTIME)) +EFI_MEMORY_WB | EFI_MEMORY_UCE | EFI_MEMORY_RO | +EFI_MEMORY_WP | EFI_MEMORY_RP | EFI_MEMORY_XP | +EFI_MEMORY_RUNTIME)) snprintf(pos, size, |attr=0x%016llx], (unsigned long long)attr); else - snprintf(pos, size, |%3s|%2s|%2s|%2s|%3s|%2s|%2s|%2s|%2s], + snprintf(pos, size, |%3s|%2s|%2s|%2s|%2s|%3s|%2s|%2s|%2s|%2s], attr EFI_MEMORY_RUNTIME ? RUN : , attr EFI_MEMORY_XP ? XP : , attr EFI_MEMORY_RP ? RP : , attr EFI_MEMORY_WP ? WP : , +attr EFI_MEMORY_RO ? RO : , attr EFI_MEMORY_UCE ? UCE : , attr EFI_MEMORY_WB ? WB : , attr EFI_MEMORY_WT ? WT : , diff --git a/include/linux/efi.h b/include/linux/efi.h index 85ef051..26ca9e2 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h @@ -99,6 +99,7 @@ typedef struct { #define EFI_MEMORY_XP ((u64)0x4000ULL)/* execute-protect */ #define EFI_MEMORY_MORE_RELIABLE \ ((u64)0x0001ULL)/* higher reliability */ +#define EFI_MEMORY_RO ((u64)0x0002ULL)/* read-only */ #define EFI_MEMORY_RUNTIME ((u64)0x8000ULL)/* range requires runtime mapping */ #define EFI_MEMORY_DESCRIPTOR_VERSION 1 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/