efi: Add definition of EFI_MEMORY_CPU_CRYPTO and ability to report it
Incorporate the definition of EFI_MEMORY_CPU_CRYPTO from the UEFI specification v2.8, and wire it into our memory map dumping routine as well. To make a bit of space in the output buffer, which is provided by the various callers, shorten the descriptive names of the memory types. Reviewed-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
This commit is contained in:
@@ -714,7 +714,7 @@ void __init efi_systab_report_header(const efi_table_hdr_t *systab_hdr,
|
|||||||
vendor);
|
vendor);
|
||||||
}
|
}
|
||||||
|
|
||||||
static __initdata char memory_type_name[][20] = {
|
static __initdata char memory_type_name[][13] = {
|
||||||
"Reserved",
|
"Reserved",
|
||||||
"Loader Code",
|
"Loader Code",
|
||||||
"Loader Data",
|
"Loader Data",
|
||||||
@@ -722,14 +722,14 @@ static __initdata char memory_type_name[][20] = {
|
|||||||
"Boot Data",
|
"Boot Data",
|
||||||
"Runtime Code",
|
"Runtime Code",
|
||||||
"Runtime Data",
|
"Runtime Data",
|
||||||
"Conventional Memory",
|
"Conventional",
|
||||||
"Unusable Memory",
|
"Unusable",
|
||||||
"ACPI Reclaim Memory",
|
"ACPI Reclaim",
|
||||||
"ACPI Memory NVS",
|
"ACPI Mem NVS",
|
||||||
"Memory Mapped I/O",
|
"MMIO",
|
||||||
"MMIO Port Space",
|
"MMIO Port",
|
||||||
"PAL Code",
|
"PAL Code",
|
||||||
"Persistent Memory",
|
"Persistent",
|
||||||
};
|
};
|
||||||
|
|
||||||
char * __init efi_md_typeattr_format(char *buf, size_t size,
|
char * __init efi_md_typeattr_format(char *buf, size_t size,
|
||||||
@@ -756,26 +756,27 @@ char * __init efi_md_typeattr_format(char *buf, size_t size,
|
|||||||
if (attr & ~(EFI_MEMORY_UC | EFI_MEMORY_WC | EFI_MEMORY_WT |
|
if (attr & ~(EFI_MEMORY_UC | EFI_MEMORY_WC | EFI_MEMORY_WT |
|
||||||
EFI_MEMORY_WB | EFI_MEMORY_UCE | EFI_MEMORY_RO |
|
EFI_MEMORY_WB | EFI_MEMORY_UCE | EFI_MEMORY_RO |
|
||||||
EFI_MEMORY_WP | EFI_MEMORY_RP | EFI_MEMORY_XP |
|
EFI_MEMORY_WP | EFI_MEMORY_RP | EFI_MEMORY_XP |
|
||||||
EFI_MEMORY_NV | EFI_MEMORY_SP |
|
EFI_MEMORY_NV | EFI_MEMORY_SP | EFI_MEMORY_CPU_CRYPTO |
|
||||||
EFI_MEMORY_RUNTIME | EFI_MEMORY_MORE_RELIABLE))
|
EFI_MEMORY_RUNTIME | EFI_MEMORY_MORE_RELIABLE))
|
||||||
snprintf(pos, size, "|attr=0x%016llx]",
|
snprintf(pos, size, "|attr=0x%016llx]",
|
||||||
(unsigned long long)attr);
|
(unsigned long long)attr);
|
||||||
else
|
else
|
||||||
snprintf(pos, size,
|
snprintf(pos, size,
|
||||||
"|%3s|%2s|%2s|%2s|%2s|%2s|%2s|%2s|%3s|%2s|%2s|%2s|%2s]",
|
"|%3s|%2s|%2s|%2s|%2s|%2s|%2s|%2s|%2s|%3s|%2s|%2s|%2s|%2s]",
|
||||||
attr & EFI_MEMORY_RUNTIME ? "RUN" : "",
|
attr & EFI_MEMORY_RUNTIME ? "RUN" : "",
|
||||||
attr & EFI_MEMORY_MORE_RELIABLE ? "MR" : "",
|
attr & EFI_MEMORY_MORE_RELIABLE ? "MR" : "",
|
||||||
attr & EFI_MEMORY_SP ? "SP" : "",
|
attr & EFI_MEMORY_CPU_CRYPTO ? "CC" : "",
|
||||||
attr & EFI_MEMORY_NV ? "NV" : "",
|
attr & EFI_MEMORY_SP ? "SP" : "",
|
||||||
attr & EFI_MEMORY_XP ? "XP" : "",
|
attr & EFI_MEMORY_NV ? "NV" : "",
|
||||||
attr & EFI_MEMORY_RP ? "RP" : "",
|
attr & EFI_MEMORY_XP ? "XP" : "",
|
||||||
attr & EFI_MEMORY_WP ? "WP" : "",
|
attr & EFI_MEMORY_RP ? "RP" : "",
|
||||||
attr & EFI_MEMORY_RO ? "RO" : "",
|
attr & EFI_MEMORY_WP ? "WP" : "",
|
||||||
attr & EFI_MEMORY_UCE ? "UCE" : "",
|
attr & EFI_MEMORY_RO ? "RO" : "",
|
||||||
attr & EFI_MEMORY_WB ? "WB" : "",
|
attr & EFI_MEMORY_UCE ? "UCE" : "",
|
||||||
attr & EFI_MEMORY_WT ? "WT" : "",
|
attr & EFI_MEMORY_WB ? "WB" : "",
|
||||||
attr & EFI_MEMORY_WC ? "WC" : "",
|
attr & EFI_MEMORY_WT ? "WT" : "",
|
||||||
attr & EFI_MEMORY_UC ? "UC" : "");
|
attr & EFI_MEMORY_WC ? "WC" : "",
|
||||||
|
attr & EFI_MEMORY_UC ? "UC" : "");
|
||||||
return buf;
|
return buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -122,6 +122,7 @@ typedef struct {
|
|||||||
((u64)0x0000000000010000ULL) /* higher reliability */
|
((u64)0x0000000000010000ULL) /* higher reliability */
|
||||||
#define EFI_MEMORY_RO ((u64)0x0000000000020000ULL) /* read-only */
|
#define EFI_MEMORY_RO ((u64)0x0000000000020000ULL) /* read-only */
|
||||||
#define EFI_MEMORY_SP ((u64)0x0000000000040000ULL) /* soft reserved */
|
#define EFI_MEMORY_SP ((u64)0x0000000000040000ULL) /* soft reserved */
|
||||||
|
#define EFI_MEMORY_CPU_CRYPTO ((u64)0x0000000000080000ULL) /* supports encryption */
|
||||||
#define EFI_MEMORY_RUNTIME ((u64)0x8000000000000000ULL) /* range requires runtime mapping */
|
#define EFI_MEMORY_RUNTIME ((u64)0x8000000000000000ULL) /* range requires runtime mapping */
|
||||||
#define EFI_MEMORY_DESCRIPTOR_VERSION 1
|
#define EFI_MEMORY_DESCRIPTOR_VERSION 1
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user