From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from atlmailgw1.ami.com (atlmailgw1.ami.com [63.147.10.40]) by mx.groups.io with SMTP id smtpd.web10.183.1592257638849958314 for ; Mon, 15 Jun 2020 14:47:19 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: ami.com, ip: 63.147.10.40, mailfrom: oleksiyy@ami.com) X-AuditID: ac1060b2-ebbff70000003d78-35-5ee7ec65f0d4 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 atlmailgw1.ami.com (Symantec Messaging Gateway) with SMTP id A3.9B.15736.56CE7EE5; Mon, 15 Jun 2020 17:47:18 -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:45:48 -0400 From: "Oleksiy Yakovlev" To: CC: , , , , , Subject: [PATCH] UefiCpuPkg: Add New Memory Attributes Date: Mon, 15 Jun 2020 17:45:48 -0400 Message-ID: <20200615214548.43792-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+NgFlrKIsWRmVeSWpSXmKPExsWyRiBhgm7am+dxBkueM1m0T5jNZrH5RbDF smM7WCymb3ex+LL6PaMDq8f27xcYPRbvecnk8X7fVbYA5qgGRpvEvLz8ksSSVIWU1OJkW6WA osyyxORKJYXMFFslQyWFgpzE5NTc1LwSW6XEgoLUvBQlOy4FDGADVJaZp5Cal5yfkpmXbqvk Geyva2FhaqlrqGQXkpGqkJmXll+Um1iSmZ+nkJyfVwJUnZoCFFVI6ObM2L5gIUvBe/GKdasu MjYwThHqYuTkkBAwkXg0bzEjiC0ksItJYtaXrC5GLiB7C6PEkcc7wBJsApoSB45NAbNFBKQk phyYyQRSxCzQwigxq3EuWEJYwExiztZTbCA2i4CqxP/375lBbF4BU4kjRxezQmzTkJi25i4T RFxQ4uTMJywgNrOAhMTBFy+YIa6QlWg7/px9AiPvLCRls5CULWBkWsUolFiSk5uYmZNebqiX mJupl5yfu4kREkebdjC2XDQ/xMjEwXiIUYKDWUmE95D88zgh3pTEyqrUovz4otKc1OJDjE5A h05kluIGhRQw6OONDQykRGEcQxMzE3Mjc0NLE3NjYyVx3slr18QJCaQDozA7NbUgtQhmCBMH p1QD47XNHz13R3x/0sy3te5U5yGDKVf1nY63mkYI6AhtKfZiOGCdEszU3/NCVUzjzetcwaJz Dw5u+fj0mmLtvxufT14WZZHeEtj90OYrpyPP2orqjrdV6b9Ov+HiZ+PZZC6TmdJy9OyDY+2H LbdUcrxLUVJ+uunitCXsVZtulxR7BHyILzn/4Obm+0osxRmJhlrMRcWJAKiFl1K4AgAA 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 --- UefiCpuPkg/CpuDxe/CpuDxe.c | 2 +- UefiCpuPkg/CpuDxe/CpuDxe.h | 4 +++- UefiCpuPkg/CpuDxe/CpuPageTable.c | 2 +- UefiCpuPkg/PiSmmCpuDxeSmm/SmmCpuMemoryManagement.c | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/UefiCpuPkg/CpuDxe/CpuDxe.c b/UefiCpuPkg/CpuDxe/CpuDxe.c index a571fc3..55ca764 100644 --- a/UefiCpuPkg/CpuDxe/CpuDxe.c +++ b/UefiCpuPkg/CpuDxe/CpuDxe.c @@ -11,7 +11,7 @@ #include "CpuPageTable.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) // // Global Variables diff --git a/UefiCpuPkg/CpuDxe/CpuDxe.h b/UefiCpuPkg/CpuDxe/CpuDxe.h index 9299eaa..37fb38e 100644 --- a/UefiCpuPkg/CpuDxe/CpuDxe.h +++ b/UefiCpuPkg/CpuDxe/CpuDxe.h @@ -48,7 +48,9 @@ #define EFI_MEMORY_PAGETYPE_MASK (EFI_MEMORY_RP | \ EFI_MEMORY_XP | \ - EFI_MEMORY_RO \ + EFI_MEMORY_RO | \ + EFI_MEMORY_SP | \ + EFI_MEMORY_CPU_CRYPTO \ ) #define HEAP_GUARD_NONSTOP_MODE \ diff --git a/UefiCpuPkg/CpuDxe/CpuPageTable.c b/UefiCpuPkg/CpuDxe/CpuPageTable.c index 0a02cb3..d769e4a 100644 --- a/UefiCpuPkg/CpuDxe/CpuPageTable.c +++ b/UefiCpuPkg/CpuDxe/CpuPageTable.c @@ -717,7 +717,7 @@ ConvertMemoryPageAttributes ( return RETURN_INVALID_PARAMETER; } - if ((Attributes & ~(EFI_MEMORY_RP | EFI_MEMORY_RO | EFI_MEMORY_XP)) != 0) { + if ((Attributes & ~(EFI_MEMORY_RP | EFI_MEMORY_RO | EFI_MEMORY_XP | EFI_MEMORY_SP | EFI_MEMORY_CPU_CRYPTO)) != 0) { DEBUG ((DEBUG_ERROR, "Attributes(0x%lx) has unsupported bit\n", Attributes)); return EFI_UNSUPPORTED; } diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/SmmCpuMemoryManagement.c b/UefiCpuPkg/PiSmmCpuDxeSmm/SmmCpuMemoryManagement.c index 9c5a92a..94adf37 100644 --- a/UefiCpuPkg/PiSmmCpuDxeSmm/SmmCpuMemoryManagement.c +++ b/UefiCpuPkg/PiSmmCpuDxeSmm/SmmCpuMemoryManagement.c @@ -435,7 +435,7 @@ ConvertMemoryPageAttributes ( EFI_PHYSICAL_ADDRESS MaximumSupportMemAddress; ASSERT (Attributes != 0); - ASSERT ((Attributes & ~(EFI_MEMORY_RP | EFI_MEMORY_RO | EFI_MEMORY_XP)) == 0); + ASSERT ((Attributes & ~(EFI_MEMORY_RP | EFI_MEMORY_RO | EFI_MEMORY_XP | EFI_MEMORY_SP | EFI_MEMORY_CPU_CRYPTO)) == 0); ASSERT ((BaseAddress & (SIZE_4KB - 1)) == 0); ASSERT ((Length & (SIZE_4KB - 1)) == 0); -- 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.