[tip:core/efi] efi: Add support for EFI_MEMORY_RO attribute introduced by UEFIv2.5

2015-08-09 Thread tip-bot for Ard Biesheuvel
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

2015-08-09 Thread tip-bot for Ard Biesheuvel
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/