[edk2] [PATCH v2 00/15] rid PiSmmCpuDxeSmm of DB-encoded instructions

Laszlo Ersek posted 15 patches 6 years, 1 month ago
Failed in applying to current master (apply log)
MdePkg/Include/Library/BaseLib.h                 |  76 ++-
MdePkg/Library/BaseLib/BaseLib.inf               |   2 +
MdePkg/Library/BaseLib/X86PatchInstruction.c     |  89 +++
UefiCpuPkg/PiSmmCpuDxeSmm/CpuS3.c                |   4 +-
UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/MpFuncs.S         | 165 -----
UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/MpFuncs.asm       | 168 -----
UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.S        | 215 ------
UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.asm      | 223 ------
UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.nasm     |  25 +-
UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiException.S    | 696 -------------------
UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiException.asm  | 713 --------------------
UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiException.nasm |   8 +-
UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmInit.S         |  84 ---
UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmInit.asm       |  94 ---
UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmInit.nasm      |  30 +-
UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c       |  27 +-
UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h       |  21 +-
UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf     |  20 -
UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfile.c           |   7 +
UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfileInternal.h   |   1 +
UefiCpuPkg/PiSmmCpuDxeSmm/SmramSaveState.c       |  20 +-
UefiCpuPkg/PiSmmCpuDxeSmm/X64/MpFuncs.S          | 204 ------
UefiCpuPkg/PiSmmCpuDxeSmm/X64/MpFuncs.asm        | 206 ------
UefiCpuPkg/PiSmmCpuDxeSmm/X64/Semaphore.c        |  16 +-
UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiEntry.S         | 243 -------
UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiEntry.asm       | 242 -------
UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiEntry.nasm      |  31 +-
UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiException.S     | 365 ----------
UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiException.asm   | 383 -----------
UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiException.nasm  |   4 +-
UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmInit.S          | 141 ----
UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmInit.asm        | 132 ----
UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmInit.nasm       |  76 +--
33 files changed, 295 insertions(+), 4436 deletions(-)
create mode 100644 MdePkg/Library/BaseLib/X86PatchInstruction.c
delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/MpFuncs.S
delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/MpFuncs.asm
delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.S
delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.asm
delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiException.S
delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiException.asm
delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmInit.S
delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmInit.asm
delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/MpFuncs.S
delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/MpFuncs.asm
delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiEntry.S
delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiEntry.asm
delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiException.S
delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiException.asm
delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmInit.S
delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmInit.asm
[edk2] [PATCH v2 00/15] rid PiSmmCpuDxeSmm of DB-encoded instructions
Posted by Laszlo Ersek 6 years, 1 month ago
Repo:   https://github.com/lersek/edk2.git
Branch: patch_insn_x86_v2

This is version 2 of the series originally posted at
<https://lists.01.org/pipermail/edk2-devel/2018-February/020907.html>.
The changes are documented per patch.

I retested the test cases listed in the v1 blurb.

Cc: Eric Dong <eric.dong@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>

Thanks,
Laszlo

Laszlo Ersek (15):
  MdePkg/BaseLib.h: state preprocessing conditions in comments after
    #endifs
  MdePkg/BaseLib: add PatchInstructionX86()
  UefiCpuPkg/PiSmmCpuDxeSmm: remove *.S and *.asm assembly files
  UefiCpuPkg/PiSmmCpuDxeSmm: patch "gSmbase" with PatchInstructionX86()
  UefiCpuPkg/PiSmmCpuDxeSmm: patch "gSmiStack" with
    PatchInstructionX86()
  UefiCpuPkg/PiSmmCpuDxeSmm: patch "gSmiCr3" with PatchInstructionX86()
  UefiCpuPkg/PiSmmCpuDxeSmm: patch "XdSupported" with
    PatchInstructionX86()
  UefiCpuPkg/PiSmmCpuDxeSmm: remove unneeded DBs from X64 SmmStartup()
  UefiCpuPkg/PiSmmCpuDxeSmm: patch "gSmmCr3" with PatchInstructionX86()
  UefiCpuPkg/PiSmmCpuDxeSmm: patch "gSmmCr4" with PatchInstructionX86()
  UefiCpuPkg/PiSmmCpuDxeSmm: patch "gSmmCr0" with PatchInstructionX86()
  UefiCpuPkg/PiSmmCpuDxeSmm: eliminate "gSmmJmpAddr" and related DBs
  UefiCpuPkg/PiSmmCpuDxeSmm: patch "gSmmInitStack" with
    PatchInstructionX86()
  UefiCpuPkg/PiSmmCpuDxeSmm: remove DBs from
    SmmRelocationSemaphoreComplete32()
  UefiCpuPkg/PiSmmCpuDxeSmm: use mnemonics for FXSAVE(64)/FXRSTOR(64)

 MdePkg/Include/Library/BaseLib.h                 |  76 ++-
 MdePkg/Library/BaseLib/BaseLib.inf               |   2 +
 MdePkg/Library/BaseLib/X86PatchInstruction.c     |  89 +++
 UefiCpuPkg/PiSmmCpuDxeSmm/CpuS3.c                |   4 +-
 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/MpFuncs.S         | 165 -----
 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/MpFuncs.asm       | 168 -----
 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.S        | 215 ------
 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.asm      | 223 ------
 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.nasm     |  25 +-
 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiException.S    | 696 -------------------
 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiException.asm  | 713 --------------------
 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiException.nasm |   8 +-
 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmInit.S         |  84 ---
 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmInit.asm       |  94 ---
 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmInit.nasm      |  30 +-
 UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c       |  27 +-
 UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h       |  21 +-
 UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf     |  20 -
 UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfile.c           |   7 +
 UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfileInternal.h   |   1 +
 UefiCpuPkg/PiSmmCpuDxeSmm/SmramSaveState.c       |  20 +-
 UefiCpuPkg/PiSmmCpuDxeSmm/X64/MpFuncs.S          | 204 ------
 UefiCpuPkg/PiSmmCpuDxeSmm/X64/MpFuncs.asm        | 206 ------
 UefiCpuPkg/PiSmmCpuDxeSmm/X64/Semaphore.c        |  16 +-
 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiEntry.S         | 243 -------
 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiEntry.asm       | 242 -------
 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiEntry.nasm      |  31 +-
 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiException.S     | 365 ----------
 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiException.asm   | 383 -----------
 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiException.nasm  |   4 +-
 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmInit.S          | 141 ----
 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmInit.asm        | 132 ----
 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmInit.nasm       |  76 +--
 33 files changed, 295 insertions(+), 4436 deletions(-)
 create mode 100644 MdePkg/Library/BaseLib/X86PatchInstruction.c
 delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/MpFuncs.S
 delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/MpFuncs.asm
 delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.S
 delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.asm
 delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiException.S
 delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiException.asm
 delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmInit.S
 delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmInit.asm
 delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/MpFuncs.S
 delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/MpFuncs.asm
 delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiEntry.S
 delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiEntry.asm
 delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiException.S
 delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiException.asm
 delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmInit.S
 delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmInit.asm

-- 
2.14.1.3.gb7cf6e02401b

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v2 00/15] rid PiSmmCpuDxeSmm of DB-encoded instructions
Posted by Laszlo Ersek 6 years ago
Hi Mike, Liming, Eric,

On 03/23/18 22:14, Laszlo Ersek wrote:
> Repo:   https://github.com/lersek/edk2.git
> Branch: patch_insn_x86_v2
> 
> This is version 2 of the series originally posted at
> <https://lists.01.org/pipermail/edk2-devel/2018-February/020907.html>.
> The changes are documented per patch.
> 
> I retested the test cases listed in the v1 blurb.
> 
> Cc: Eric Dong <eric.dong@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>

do you have any comments?

Thank you!
Laszlo

> Laszlo Ersek (15):
>   MdePkg/BaseLib.h: state preprocessing conditions in comments after
>     #endifs
>   MdePkg/BaseLib: add PatchInstructionX86()
>   UefiCpuPkg/PiSmmCpuDxeSmm: remove *.S and *.asm assembly files
>   UefiCpuPkg/PiSmmCpuDxeSmm: patch "gSmbase" with PatchInstructionX86()
>   UefiCpuPkg/PiSmmCpuDxeSmm: patch "gSmiStack" with
>     PatchInstructionX86()
>   UefiCpuPkg/PiSmmCpuDxeSmm: patch "gSmiCr3" with PatchInstructionX86()
>   UefiCpuPkg/PiSmmCpuDxeSmm: patch "XdSupported" with
>     PatchInstructionX86()
>   UefiCpuPkg/PiSmmCpuDxeSmm: remove unneeded DBs from X64 SmmStartup()
>   UefiCpuPkg/PiSmmCpuDxeSmm: patch "gSmmCr3" with PatchInstructionX86()
>   UefiCpuPkg/PiSmmCpuDxeSmm: patch "gSmmCr4" with PatchInstructionX86()
>   UefiCpuPkg/PiSmmCpuDxeSmm: patch "gSmmCr0" with PatchInstructionX86()
>   UefiCpuPkg/PiSmmCpuDxeSmm: eliminate "gSmmJmpAddr" and related DBs
>   UefiCpuPkg/PiSmmCpuDxeSmm: patch "gSmmInitStack" with
>     PatchInstructionX86()
>   UefiCpuPkg/PiSmmCpuDxeSmm: remove DBs from
>     SmmRelocationSemaphoreComplete32()
>   UefiCpuPkg/PiSmmCpuDxeSmm: use mnemonics for FXSAVE(64)/FXRSTOR(64)
> 
>  MdePkg/Include/Library/BaseLib.h                 |  76 ++-
>  MdePkg/Library/BaseLib/BaseLib.inf               |   2 +
>  MdePkg/Library/BaseLib/X86PatchInstruction.c     |  89 +++
>  UefiCpuPkg/PiSmmCpuDxeSmm/CpuS3.c                |   4 +-
>  UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/MpFuncs.S         | 165 -----
>  UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/MpFuncs.asm       | 168 -----
>  UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.S        | 215 ------
>  UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.asm      | 223 ------
>  UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.nasm     |  25 +-
>  UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiException.S    | 696 -------------------
>  UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiException.asm  | 713 --------------------
>  UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiException.nasm |   8 +-
>  UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmInit.S         |  84 ---
>  UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmInit.asm       |  94 ---
>  UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmInit.nasm      |  30 +-
>  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c       |  27 +-
>  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h       |  21 +-
>  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf     |  20 -
>  UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfile.c           |   7 +
>  UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfileInternal.h   |   1 +
>  UefiCpuPkg/PiSmmCpuDxeSmm/SmramSaveState.c       |  20 +-
>  UefiCpuPkg/PiSmmCpuDxeSmm/X64/MpFuncs.S          | 204 ------
>  UefiCpuPkg/PiSmmCpuDxeSmm/X64/MpFuncs.asm        | 206 ------
>  UefiCpuPkg/PiSmmCpuDxeSmm/X64/Semaphore.c        |  16 +-
>  UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiEntry.S         | 243 -------
>  UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiEntry.asm       | 242 -------
>  UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiEntry.nasm      |  31 +-
>  UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiException.S     | 365 ----------
>  UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiException.asm   | 383 -----------
>  UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiException.nasm  |   4 +-
>  UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmInit.S          | 141 ----
>  UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmInit.asm        | 132 ----
>  UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmInit.nasm       |  76 +--
>  33 files changed, 295 insertions(+), 4436 deletions(-)
>  create mode 100644 MdePkg/Library/BaseLib/X86PatchInstruction.c
>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/MpFuncs.S
>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/MpFuncs.asm
>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.S
>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.asm
>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiException.S
>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiException.asm
>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmInit.S
>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmInit.asm
>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/MpFuncs.S
>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/MpFuncs.asm
>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiEntry.S
>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiEntry.asm
>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiException.S
>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiException.asm
>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmInit.S
>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmInit.asm
> 

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v2 00/15] rid PiSmmCpuDxeSmm of DB-encoded instructions
Posted by Gao, Liming 6 years ago
Laszlo:
  I have no other comments. The patch is good to me. Reviewed-by: Liming Gao <liming.gao@intel.com>

Thanks
Liming
>-----Original Message-----
>From: Laszlo Ersek [mailto:lersek@redhat.com]
>Sent: Tuesday, April 03, 2018 8:57 PM
>To: edk2-devel-01 <edk2-devel@lists.01.org>
>Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Dong, Eric
><eric.dong@intel.com>; Gao, Liming <liming.gao@intel.com>
>Subject: Re: [edk2] [PATCH v2 00/15] rid PiSmmCpuDxeSmm of DB-encoded
>instructions
>
>Hi Mike, Liming, Eric,
>
>On 03/23/18 22:14, Laszlo Ersek wrote:
>> Repo:   https://github.com/lersek/edk2.git
>> Branch: patch_insn_x86_v2
>>
>> This is version 2 of the series originally posted at
>> <https://lists.01.org/pipermail/edk2-devel/2018-February/020907.html>.
>> The changes are documented per patch.
>>
>> I retested the test cases listed in the v1 blurb.
>>
>> Cc: Eric Dong <eric.dong@intel.com>
>> Cc: Liming Gao <liming.gao@intel.com>
>> Cc: Michael D Kinney <michael.d.kinney@intel.com>
>
>do you have any comments?
>
>Thank you!
>Laszlo
>
>> Laszlo Ersek (15):
>>   MdePkg/BaseLib.h: state preprocessing conditions in comments after
>>     #endifs
>>   MdePkg/BaseLib: add PatchInstructionX86()
>>   UefiCpuPkg/PiSmmCpuDxeSmm: remove *.S and *.asm assembly files
>>   UefiCpuPkg/PiSmmCpuDxeSmm: patch "gSmbase" with
>PatchInstructionX86()
>>   UefiCpuPkg/PiSmmCpuDxeSmm: patch "gSmiStack" with
>>     PatchInstructionX86()
>>   UefiCpuPkg/PiSmmCpuDxeSmm: patch "gSmiCr3" with
>PatchInstructionX86()
>>   UefiCpuPkg/PiSmmCpuDxeSmm: patch "XdSupported" with
>>     PatchInstructionX86()
>>   UefiCpuPkg/PiSmmCpuDxeSmm: remove unneeded DBs from X64
>SmmStartup()
>>   UefiCpuPkg/PiSmmCpuDxeSmm: patch "gSmmCr3" with
>PatchInstructionX86()
>>   UefiCpuPkg/PiSmmCpuDxeSmm: patch "gSmmCr4" with
>PatchInstructionX86()
>>   UefiCpuPkg/PiSmmCpuDxeSmm: patch "gSmmCr0" with
>PatchInstructionX86()
>>   UefiCpuPkg/PiSmmCpuDxeSmm: eliminate "gSmmJmpAddr" and related
>DBs
>>   UefiCpuPkg/PiSmmCpuDxeSmm: patch "gSmmInitStack" with
>>     PatchInstructionX86()
>>   UefiCpuPkg/PiSmmCpuDxeSmm: remove DBs from
>>     SmmRelocationSemaphoreComplete32()
>>   UefiCpuPkg/PiSmmCpuDxeSmm: use mnemonics for
>FXSAVE(64)/FXRSTOR(64)
>>
>>  MdePkg/Include/Library/BaseLib.h                 |  76 ++-
>>  MdePkg/Library/BaseLib/BaseLib.inf               |   2 +
>>  MdePkg/Library/BaseLib/X86PatchInstruction.c     |  89 +++
>>  UefiCpuPkg/PiSmmCpuDxeSmm/CpuS3.c                |   4 +-
>>  UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/MpFuncs.S         | 165 -----
>>  UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/MpFuncs.asm       | 168 -----
>>  UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.S        | 215 ------
>>  UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.asm      | 223 ------
>>  UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.nasm     |  25 +-
>>  UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiException.S    | 696 -----------------
>--
>>  UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiException.asm  | 713 ---------------
>-----
>>  UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiException.nasm |   8 +-
>>  UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmInit.S         |  84 ---
>>  UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmInit.asm       |  94 ---
>>  UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmInit.nasm      |  30 +-
>>  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c       |  27 +-
>>  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h       |  21 +-
>>  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf     |  20 -
>>  UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfile.c           |   7 +
>>  UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfileInternal.h   |   1 +
>>  UefiCpuPkg/PiSmmCpuDxeSmm/SmramSaveState.c       |  20 +-
>>  UefiCpuPkg/PiSmmCpuDxeSmm/X64/MpFuncs.S          | 204 ------
>>  UefiCpuPkg/PiSmmCpuDxeSmm/X64/MpFuncs.asm        | 206 ------
>>  UefiCpuPkg/PiSmmCpuDxeSmm/X64/Semaphore.c        |  16 +-
>>  UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiEntry.S         | 243 -------
>>  UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiEntry.asm       | 242 -------
>>  UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiEntry.nasm      |  31 +-
>>  UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiException.S     | 365 ----------
>>  UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiException.asm   | 383 -----------
>>  UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiException.nasm  |   4 +-
>>  UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmInit.S          | 141 ----
>>  UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmInit.asm        | 132 ----
>>  UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmInit.nasm       |  76 +--
>>  33 files changed, 295 insertions(+), 4436 deletions(-)
>>  create mode 100644 MdePkg/Library/BaseLib/X86PatchInstruction.c
>>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/MpFuncs.S
>>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/MpFuncs.asm
>>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.S
>>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiEntry.asm
>>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiException.S
>>  delete mode 100644
>UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmiException.asm
>>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmInit.S
>>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/SmmInit.asm
>>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/MpFuncs.S
>>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/MpFuncs.asm
>>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiEntry.S
>>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiEntry.asm
>>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiException.S
>>  delete mode 100644
>UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmiException.asm
>>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmInit.S
>>  delete mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/X64/SmmInit.asm
>>

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v2 00/15] rid PiSmmCpuDxeSmm of DB-encoded instructions
Posted by Laszlo Ersek 6 years ago
On 04/04/18 10:56, Gao, Liming wrote:
> Laszlo:
>   I have no other comments. The patch is good to me. Reviewed-by: Liming Gao <liming.gao@intel.com>

Thank you Liming! I also thank Mike for the initial idea with the labels
after the instructions, and for his v1 review.

Commit range aae02dccf5b0..d22c995a4814.

Laszlo
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel