From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from atlmailgw2.ami.com (atlmailgw2.ami.com [63.147.10.42]) by mx.groups.io with SMTP id smtpd.web11.175.1592257572634963925 for ; Mon, 15 Jun 2020 14:46:12 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: ami.com, ip: 63.147.10.42, mailfrom: oleksiyy@ami.com) X-AuditID: ac10606f-4dbff70000003ed3-b2-5ee7ec2104ce Received: from atlms1.us.megatrends.com (atlms1.us.megatrends.com [172.16.96.144]) (using TLS with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (Client did not present a certificate) by atlmailgw2.ami.com (Symantec Messaging Gateway) with SMTP id 72.2B.16083.12CE7EE5; Mon, 15 Jun 2020 17:46:09 -0400 (EDT) Received: from Oleksiy77.us.megatrends.com (172.16.97.158) by atlms1.us.megatrends.com (172.16.96.144) with Microsoft SMTP Server id 14.3.468.0; Mon, 15 Jun 2020 17:44:40 -0400 From: "Oleksiy Yakovlev" To: CC: , , , Subject: [PATCH] MdeModulePkg: Add New Memory Attributes Date: Mon, 15 Jun 2020 17:44:40 -0400 Message-ID: <20200615214440.49464-1-oleksiyy@ami.com> X-Mailer: git-send-email 2.9.0.windows.1 MIME-Version: 1.0 Return-Path: oleksiyy@ami.com X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprOIsWRmVeSWpSXmKPExsWyRiBhgq7im+dxBp2n1C22blO3aJ8wm81i xb0N7A7MHtu/X2D0WLznJVMAU1QDo01iXl5+SWJJqkJKanGyrVJAUWZZYnKlkkJmiq2SoZJC QU5icmpual6JrVJiQUFqXoqSHZcCBrABKsvMU0jNS85PycxLt1XyDPbXtbAwtdQ1VLILyUhV yMxLyy/KTSzJzM9TSM7PKwGqTk0BiiokdHNmtGxbwlQwQ6Vi54N3TA2MR6S7GDk5JARMJFZc OcbWxcjFISSwi0ni1bLzzBDOFkaJMw+2M4FUsQloShw4NoURxBYRkJKYcmAmWJxZIFLi/tS5 7CC2sICFRPezB2wgNouAqsTTWf9ZQWxeAVOJBYffMEJs05CYtuYuE0RcUOLkzCcsEHMkJA6+ eMEMYgsJyEq0HX/OPoGRdxaSsllIyhYwMq1iFEosyclNzMxJLzfSS8zN1EvOz93ECImV/B2M Hz+aH2Jk4mA8xCjBwawkwntI/nmcEG9KYmVValF+fFFpTmrxIUYnoEMnMktxg0IKGPTxxgYG UqIwjqGJmYm5kbmhpYm5sbGSOO+ktWvihATSgVGYnZpakFoEM4SJg1OqgXFVzNIY09TiW35d MRVzg5s1DYx5NjsqNL+J9b8vutKkuKxD7Pja4+LLOed8PN+/WeCVk+iLY7nne5fnditK2Kxq 3n7z05/Ff2ao2HokL2X6xtp/ef9v80NMFb8DriW+1a4+9J8j6XbJ+W8pFgu0jLb8LA3d254V fpJHplOizD0oYs5DG+ewpUosxRmJhlrMRcWJAGKdyI+qAgAA Content-Type: text/plain Add usage of EFI_MEMORY_SP and EFI_MEMORY_CPU_CRYPTO attributes introduced in UEFI 2.8 (UEFI 2.8, mantis 1919 and 1872) Signed-off-by: Oleksiy Yakovlev --- MdeModulePkg/Core/Dxe/Gcd/Gcd.c | 3 ++- MdeModulePkg/Core/Dxe/Mem/Page.c | 6 +++--- MdeModulePkg/Core/Dxe/Misc/MemoryProtection.c | 2 +- MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/MdeModulePkg/Core/Dxe/Gcd/Gcd.c b/MdeModulePkg/Core/Dxe/Gcd/Gcd.c index 74f3b1b..d7a65ef 100644 --- a/MdeModulePkg/Core/Dxe/Gcd/Gcd.c +++ b/MdeModulePkg/Core/Dxe/Gcd/Gcd.c @@ -40,7 +40,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent EFI_MEMORY_WP | EFI_MEMORY_UCE) #define NONEXCLUSIVE_MEMORY_ATTRIBUTES (EFI_MEMORY_XP | EFI_MEMORY_RP | \ - EFI_MEMORY_RO) + EFI_MEMORY_RO | EFI_MEMORY_SP | \ + EFI_MEMORY_CPU_CRYPTO) // // Module Variables diff --git a/MdeModulePkg/Core/Dxe/Mem/Page.c b/MdeModulePkg/Core/Dxe/Mem/Page.c index 1f0e3d9..13876a6 100644 --- a/MdeModulePkg/Core/Dxe/Mem/Page.c +++ b/MdeModulePkg/Core/Dxe/Mem/Page.c @@ -1858,7 +1858,7 @@ CoreGetMemoryMap ( MemoryMap->NumberOfPages = RShiftU64 ((MergeGcdMapEntry.EndAddress - MergeGcdMapEntry.BaseAddress + 1), EFI_PAGE_SHIFT); MemoryMap->Attribute = (MergeGcdMapEntry.Attributes & ~EFI_MEMORY_PORT_IO) | (MergeGcdMapEntry.Capabilities & (EFI_MEMORY_RP | EFI_MEMORY_WP | EFI_MEMORY_XP | EFI_MEMORY_RO | - EFI_MEMORY_UC | EFI_MEMORY_UCE | EFI_MEMORY_WC | EFI_MEMORY_WT | EFI_MEMORY_WB)); + EFI_MEMORY_UC | EFI_MEMORY_UCE | EFI_MEMORY_WC | EFI_MEMORY_WT | EFI_MEMORY_WB | EFI_MEMORY_SP | EFI_MEMORY_CPU_CRYPTO)); if (MergeGcdMapEntry.GcdMemoryType == EfiGcdMemoryTypeReserved) { MemoryMap->Type = EfiReservedMemoryType; @@ -1893,7 +1893,7 @@ CoreGetMemoryMap ( MemoryMap->NumberOfPages = RShiftU64 ((MergeGcdMapEntry.EndAddress - MergeGcdMapEntry.BaseAddress + 1), EFI_PAGE_SHIFT); MemoryMap->Attribute = MergeGcdMapEntry.Attributes | EFI_MEMORY_NV | (MergeGcdMapEntry.Capabilities & (EFI_MEMORY_RP | EFI_MEMORY_WP | EFI_MEMORY_XP | EFI_MEMORY_RO | - EFI_MEMORY_UC | EFI_MEMORY_UCE | EFI_MEMORY_WC | EFI_MEMORY_WT | EFI_MEMORY_WB)); + EFI_MEMORY_UC | EFI_MEMORY_UCE | EFI_MEMORY_WC | EFI_MEMORY_WT | EFI_MEMORY_WB | EFI_MEMORY_SP | EFI_MEMORY_CPU_CRYPTO)); MemoryMap->Type = EfiPersistentMemory; // @@ -1936,7 +1936,7 @@ CoreGetMemoryMap ( MemoryMap = MemoryMapStart; while (MemoryMap < MemoryMapEnd) { MemoryMap->Attribute &= ~(UINT64)(EFI_MEMORY_RP | EFI_MEMORY_RO | - EFI_MEMORY_XP); + EFI_MEMORY_XP | EFI_MEMORY_SP | EFI_MEMORY_CPU_CRYPTO); MemoryMap = NEXT_MEMORY_DESCRIPTOR (MemoryMap, Size); } MergeMemoryMap (MemoryMapStart, &BufferSize, Size); diff --git a/MdeModulePkg/Core/Dxe/Misc/MemoryProtection.c b/MdeModulePkg/Core/Dxe/Misc/MemoryProtection.c index 92a442f..51bc999 100644 --- a/MdeModulePkg/Core/Dxe/Misc/MemoryProtection.c +++ b/MdeModulePkg/Core/Dxe/Misc/MemoryProtection.c @@ -43,7 +43,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #include "Mem/HeapGuard.h" #define CACHE_ATTRIBUTE_MASK (EFI_MEMORY_UC | EFI_MEMORY_WC | EFI_MEMORY_WT | EFI_MEMORY_WB | EFI_MEMORY_UCE | EFI_MEMORY_WP) -#define MEMORY_ATTRIBUTE_MASK (EFI_MEMORY_RP | EFI_MEMORY_XP | EFI_MEMORY_RO) +#define MEMORY_ATTRIBUTE_MASK (EFI_MEMORY_RP | EFI_MEMORY_XP | EFI_MEMORY_RO | EFI_MEMORY_SP | EFI_MEMORY_CPU_CRYPTO) // // Image type definitions diff --git a/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c b/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c index 0385f1d..59a7c03 100644 --- a/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c +++ b/MdeModulePkg/Core/PiSmmCore/PiSmmIpl.c @@ -43,7 +43,7 @@ EFI_MEMORY_WT | EFI_MEMORY_WB | \ EFI_MEMORY_WP | EFI_MEMORY_UCE) -#define MEMORY_PAGE_ATTRIBUTES (EFI_MEMORY_XP | EFI_MEMORY_RP | EFI_MEMORY_RO) +#define MEMORY_PAGE_ATTRIBUTES (EFI_MEMORY_XP | EFI_MEMORY_RP | EFI_MEMORY_RO | EFI_MEMORY_SP | EFI_MEMORY_CPU_CRYPTO) // // Function prototypes from produced protocols -- 2.9.0.windows.1 Please consider the environment before printing this email. The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.