summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiaxin Wu <jiaxin.wu@intel.com>2024-09-02 15:22:00 +0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2024-09-06 08:41:49 +0000
commitb437b5ca4c1a6725897dfd0740de6ef20cacd226 (patch)
tree46bec6035cac1e6fbc5ddbb00f9e1d504cac8736
parentb4820f2d6591357d7e6f35b5e5340300d3be790f (diff)
downloadedk2-b437b5ca4c1a6725897dfd0740de6ef20cacd226.tar.gz
edk2-b437b5ca4c1a6725897dfd0740de6ef20cacd226.tar.bz2
edk2-b437b5ca4c1a6725897dfd0740de6ef20cacd226.zip
UefiCpuPkg/PiSmmCpuDxeSmm: Remove RestrictedMemoryAccess check for MM CPU
The PcdCpuSmmRestrictedMemoryAccess is declared as either a dynamic or fixed PCD. It is not recommended for use in the MM CPU driver. Furthermore, IsRestrictedMemoryAccess() is only needed for SMM. Therefor, there is no need for MM to consume the PcdCpuSmmRestrictedMemoryAccess. So, this patch is to add the SMM specific file for its own functions, with the change, the dependency of the MM CPU driver on PcdCpuSmmRestrictedMemoryAccess can be removed. Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
-rw-r--r--UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/PageTbl.c14
-rw-r--r--UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmFuncsArchDxeSmm.c22
-rw-r--r--UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf2
-rw-r--r--UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuStandaloneMm.inf3
-rw-r--r--UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c14
-rw-r--r--UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmFuncsArchDxeSmm.c22
6 files changed, 46 insertions, 31 deletions
diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/PageTbl.c b/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/PageTbl.c
index 1294485c60..e1ce36bf78 100644
--- a/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/PageTbl.c
+++ b/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/PageTbl.c
@@ -229,17 +229,3 @@ RestoreCr2 (
{
return;
}
-
-/**
- Return whether access to non-SMRAM is restricted.
-
- @retval TRUE Access to non-SMRAM is restricted.
- @retval FALSE Access to non-SMRAM is not restricted.
-**/
-BOOLEAN
-IsRestrictedMemoryAccess (
- VOID
- )
-{
- return TRUE;
-}
diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmFuncsArchDxeSmm.c b/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmFuncsArchDxeSmm.c
new file mode 100644
index 0000000000..21f7992fd8
--- /dev/null
+++ b/UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmFuncsArchDxeSmm.c
@@ -0,0 +1,22 @@
+/** @file
+
+Copyright (c) 2024, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include "PiSmmCpuCommon.h"
+
+/**
+ Return whether access to non-SMRAM is restricted.
+
+ @retval TRUE Access to non-SMRAM is restricted.
+ @retval FALSE Access to non-SMRAM is not restricted.
+**/
+BOOLEAN
+IsRestrictedMemoryAccess (
+ VOID
+ )
+{
+ return TRUE;
+}
diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf b/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
index d8eda7825f..8c4be7e588 100644
--- a/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
+++ b/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
@@ -56,6 +56,7 @@
Ia32/SmiEntry.nasm
Ia32/SmiException.nasm
Ia32/Cet.nasm
+ Ia32/SmmFuncsArchDxeSmm.c
[Sources.X64]
X64/PageTbl.c
@@ -65,6 +66,7 @@
X64/SmiEntry.nasm
X64/SmiException.nasm
X64/Cet.nasm
+ X64/SmmFuncsArchDxeSmm.c
[Packages]
MdePkg/MdePkg.dec
diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuStandaloneMm.inf b/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuStandaloneMm.inf
index 13b8ce17bd..d0ae5e709d 100644
--- a/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuStandaloneMm.inf
+++ b/UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuStandaloneMm.inf
@@ -131,6 +131,3 @@
[Depex]
TRUE
-
-[Pcd.X64]
- gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmRestrictedMemoryAccess ## CONSUMES
diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c b/UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c
index 4043e26955..160e33b4ed 100644
--- a/UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c
+++ b/UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c
@@ -866,17 +866,3 @@ RestoreCr2 (
{
AsmWriteCr2 (Cr2);
}
-
-/**
- Return whether access to non-SMRAM is restricted.
-
- @retval TRUE Access to non-SMRAM is restricted.
- @retval FALSE Access to non-SMRAM is not restricted.
-**/
-BOOLEAN
-IsRestrictedMemoryAccess (
- VOID
- )
-{
- return PcdGetBool (PcdCpuSmmRestrictedMemoryAccess);
-}
diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmFuncsArchDxeSmm.c b/UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmFuncsArchDxeSmm.c
new file mode 100644
index 0000000000..e812a43312
--- /dev/null
+++ b/UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmFuncsArchDxeSmm.c
@@ -0,0 +1,22 @@
+/** @file
+
+Copyright (c) 2024, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include "PiSmmCpuCommon.h"
+
+/**
+ Return whether access to non-SMRAM is restricted.
+
+ @retval TRUE Access to non-SMRAM is restricted.
+ @retval FALSE Access to non-SMRAM is not restricted.
+**/
+BOOLEAN
+IsRestrictedMemoryAccess (
+ VOID
+ )
+{
+ return PcdGetBool (PcdCpuSmmRestrictedMemoryAccess);
+}