diff mbox

[U-Boot] efi_loader: provide efi_mem_desc version

Message ID 1473112762-3137-1-git-send-email-yousaf.kaukab@gmail.com
State Accepted
Commit 4c02c11de89388db29ac413b09d1ab5ae63f3ecb
Delegated to: Tom Rini
Headers show

Commit Message

Mian Yousaf Kaukab Sept. 5, 2016, 9:59 p.m. UTC
Provide version of struct efi_mem_desc in efi_get_memory_map().

EFI_BOOT_SERVICES.GetMemoryMap() in UEFI specification v2.6 defines
memory descriptor version to 1. Linux kernel also expects descriptor
version to be 1 and prints following warning during boot if its not:

Unexpected EFI_MEMORY_DESCRIPTOR version 0

Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@gmail.com>
---
 include/efi.h               | 2 ++
 lib/efi_loader/efi_memory.c | 3 +++
 2 files changed, 5 insertions(+)

Comments

Tom Rini Sept. 7, 2016, 6 p.m. UTC | #1
On Mon, Sep 05, 2016 at 11:59:22PM +0200, Mian Yousaf Kaukab wrote:

> Provide version of struct efi_mem_desc in efi_get_memory_map().
> 
> EFI_BOOT_SERVICES.GetMemoryMap() in UEFI specification v2.6 defines
> memory descriptor version to 1. Linux kernel also expects descriptor
> version to be 1 and prints following warning during boot if its not:
> 
> Unexpected EFI_MEMORY_DESCRIPTOR version 0
> 
> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@gmail.com>

Applied to u-boot/master, thanks!
diff mbox

Patch

diff --git a/include/efi.h b/include/efi.h
index 83de2d4..5a3b8cf 100644
--- a/include/efi.h
+++ b/include/efi.h
@@ -159,6 +159,8 @@  struct efi_mem_desc {
 	u64 attribute;
 };
 
+#define EFI_MEMORY_DESCRIPTOR_VERSION 1
+
 /* Allocation types for calls to boottime->allocate_pages*/
 #define EFI_ALLOCATE_ANY_PAGES		0
 #define EFI_ALLOCATE_MAX_ADDRESS	1
diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c
index df3547c..80e4e26 100644
--- a/lib/efi_loader/efi_memory.c
+++ b/lib/efi_loader/efi_memory.c
@@ -339,6 +339,9 @@  efi_status_t efi_get_memory_map(unsigned long *memory_map_size,
 	if (descriptor_size)
 		*descriptor_size = sizeof(struct efi_mem_desc);
 
+	if (descriptor_version)
+		*descriptor_version = EFI_MEMORY_DESCRIPTOR_VERSION;
+
 	if (*memory_map_size < map_size)
 		return EFI_BUFFER_TOO_SMALL;