Branch: refs/heads/master
Home: https://github.com/tianocore/edk2
Commit: 897284d47deec28a3f88a7694cfc899856b897b9
https://github.com/tianocore/edk2/commit/897284d47deec28a3f88a7694cfc899856b897b9
Author: Jiaxin Wu <[email protected]>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M UefiCpuPkg/PiSmmCpuDxeSmm/NonMmramMapDxeSmm.c
M UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c
Log Message:
-----------
UefiCpuPkg/PiSmmCpuDxeSmm: Fix IsSmmCommBufferForbiddenAddress check
SmiPFHandler depends on the IsSmmCommBufferForbiddenAddress() to do
the forbidden address check:
For SMM, verifying whether an address is forbidden is necessary only
when RestrictedMemoryAccess is enabled.
For MM, all accessible address is recorded in the ResourceDescriptor
HOB, so no need check the RestrictedMemoryAccess is enabled or not.
This patch is to move RestrictedMemoryAccess check into SMM
IsSmmCommBufferForbiddenAddress to align with above behavior. With
the change, SmiPFHandler doesn't need to check the
RestrictedMemoryAccess enable or not.
Signed-off-by: Jiaxin Wu <[email protected]>
Commit: c8ce84d06785ee7e7a3e1a8ab7c0af42ccbe3aa8
https://github.com/tianocore/edk2/commit/c8ce84d06785ee7e7a3e1a8ab7c0af42ccbe3aa8
Author: Jiaxin Wu <[email protected]>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c
Log Message:
-----------
UefiCpuPkg/PiSmmCpuDxeSmm: Always save and restore CR2
Following the commit 9f29fbd3, full mapping SMM page table is always
created regardless the value of the PcdCpuSmmRestrictedMemoryAccess.
Consequently, a page fault (#PF) that triggers an update to the page
table occurs only when SmiProfile is enabled. Therefore, it is
necessary to save and restore the CR2 register when SmiProfile is
configured to be enabled.
And the operation of saving and restoring CR2 is considered to be
not heavy operation compared to the saving and restoring of CR3.
As a result, the condition check for SmiProfile has been removed,
and CR2 is now saved and restored unconditionally, without the need
for additional condition checks.
Signed-off-by: Jiaxin Wu <[email protected]>
Commit: f6eb069e1719a6203814846bd953d85518bc4f21
https://github.com/tianocore/edk2/commit/f6eb069e1719a6203814846bd953d85518bc4f21
Author: Jiaxin Wu <[email protected]>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c
Log Message:
-----------
UefiCpuPkg/PiSmmCpuDxeSmm: Deadloop if PFAddr is not supported by system
Deadloop if PFAddr is not supported by system, no need check SMM CPU
RestrictedMemory access enable or not.
Signed-off-by: Jiaxin Wu <[email protected]>
Commit: 4f6614fc180c3f24a72ac3234daba8575f13cbad
https://github.com/tianocore/edk2/commit/4f6614fc180c3f24a72ac3234daba8575f13cbad
Author: Jiaxin Wu <[email protected]>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c
M UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuStandaloneMm.c
Log Message:
-----------
UefiCpuPkg/PiSmmCpuDxeSmm: Correct SetPageTableAttributes func usage
SetPageTableAttributes() will use the IfReadOnlyPageTableNeeded() to
determine whether it is necessary to set the page table itself to
read-only. And IfReadOnlyPageTableNeeded() has already token into
account the status of IsRestrictedMemoryAccess(). Therefore, there
is no need for an additional call to IsRestrictedMemoryAccess()
before calling the SetPageTableAttributes().
Signed-off-by: Jiaxin Wu <[email protected]>
Commit: 633a755d99d8f889c4e3ed74cf558b16e6a67251
https://github.com/tianocore/edk2/commit/633a755d99d8f889c4e3ed74cf558b16e6a67251
Author: Jiaxin Wu <[email protected]>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M UefiCpuPkg/PiSmmCpuDxeSmm/SmmCpuMemoryManagement.c
Log Message:
-----------
UefiCpuPkg/PiSmmCpuDxeSmm: Update IfReadOnlyPageTableNeeded
After the 9f29fbd3, full mapping SMM page table is always created
regardless the value of the PcdCpuSmmRestrictedMemoryAccess. If so,
SMM PageTable Attributes can be set to ready-only since there is no
need to update it. So, this patch is to remove restricted memory
access check when setting the SMM PageTable attributes.
Signed-off-by: Jiaxin Wu <[email protected]>
Commit: b4820f2d6591357d7e6f35b5e5340300d3be790f
https://github.com/tianocore/edk2/commit/b4820f2d6591357d7e6f35b5e5340300d3be790f
Author: Jiaxin Wu <[email protected]>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c
Log Message:
-----------
UefiCpuPkg/PiSmmCpuDxeSmm: Clean mCpuSmmRestrictedMemoryAccess
Currently, mCpuSmmRestrictedMemoryAccess is only used by the
IsRestrictedMemoryAccess(). And IsRestrictedMemoryAccess() can
consume the PcdCpuSmmRestrictedMemoryAccess directly. Therefore,
mCpuSmmRestrictedMemoryAccess can be cleaned to simply the code
logic.
Signed-off-by: Jiaxin Wu <[email protected]>
Commit: b437b5ca4c1a6725897dfd0740de6ef20cacd226
https://github.com/tianocore/edk2/commit/b437b5ca4c1a6725897dfd0740de6ef20cacd226
Author: Jiaxin Wu <[email protected]>
Date: 2024-09-06 (Fri, 06 Sep 2024)
Changed paths:
M UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/PageTbl.c
A UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmFuncsArchDxeSmm.c
M UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
M UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuStandaloneMm.inf
M UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c
A UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmFuncsArchDxeSmm.c
Log Message:
-----------
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 <[email protected]>
Compare: https://github.com/tianocore/edk2/compare/c047353a1244...b437b5ca4c1a
To unsubscribe from these emails, change your notification settings at
https://github.com/tianocore/edk2/settings/notifications
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits