diff --git a/include/efi.h b/include/efi.h
index 83de2d479e9a98b003c83039acbe8bb6c6d95d54..5a3b8cf69ac101b87b53bcb23d67b79b4b3584d4 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 df3547c47f7e83498068b3c1b0d4d713a7da53b3..80e4e26e05ea266f182d545eb6491a4d9f7810d5 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;