public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [patch V2 00/29] Add a new library class RegisterFilterLib in edk2 to filter/trace port IO/MMIO/MSR access
@ 2021-03-22  8:09 Dandan Bi
  2021-03-22  8:09 ` [patch V2 01/29] MdePkg: Add RegisterFilterLib class and NULL instance Dandan Bi
                   ` (28 more replies)
  0 siblings, 29 replies; 55+ messages in thread
From: Dandan Bi @ 2021-03-22  8:09 UTC (permalink / raw)
  To: devel
  Cc: Andrew Fish, Leif Lindholm, Laszlo Ersek, Michael D Kinney,
	Liming Gao, Zhiguang Liu

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3246
RFC: https://edk2.groups.io/g/devel/message/72530

Patch 1 is to add RegisterFilterLib Library Class in edk2 to filter/trace port IO/MMIO/MSR access and add a RegisterFilterLibNull instance.
Patch 2 is to add the MdeLibs.dsc.inc file to MdePkg for some default libraries provided by MdePkg and add RegisterFilterLib into it as the first version of MdeLibs.dsc.inc.
Last 2 patches are to update APIs in IoLib and BaseLib to filter/trace port IO/MMIO/MSR access.
Remaining patches are to update related dsc files to consume MdeLibs.dsc.inc for RegisterFilterLib.

Will submit patch 1 and 2 firstly.
And then update related dsc files in edk2 and edk2platform repo to consume MdeLibs.dsc.inc for RegisterFilterLib.
At last will submit the patches to update IoLib and BaseLib to filter/trace port IO/MMIO/MSR access.

--
V2:
Introduce MdeLibs.dsc.inc and add RegisterFilterLib into it as the first version of MdeLibs.dsc.inc.
Update Platform dsc to consume the MdeLibs.dsc.inc.
Add the description for the return flag in FilterBeforeXXXX functions in header file source code.
Extend the years for Intel copyright.
Add mssing change the dsc files in OvmfPkg.

Cc: Andrew Fish <afish@apple.com>
Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com> 

Dandan Bi (29):
  MdePkg: Add RegisterFilterLib class and NULL instance
  MdePkg: Add MdeLibs.dsc.inc file to MdePkg
  ArmPkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
  ArmPlatformPkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
  ArmVirtPkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
  CryptoPkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
  DynamicTablesPkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
  EmbeddedPkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
  EmulatorPkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
  FatPkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
  FmpDevicePkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
  IntelFsp2Pkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
  IntelFsp2WrapperPkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
  MdeModulePkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
  MdePkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
  NetworkPkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
  OvmfPkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
  PcAtChipsetPkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
  RedfishPkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
  SecurityPkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
  ShellPkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
  SignedCapsulePkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
  SourceLevelDebugPkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
  StandaloneMmPkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
  UefiCpuPkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
  UefiPayloadPkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
  UnitTestFrameworkPkg: Consume MdeLibs.dsc.inc for RegisterFilterLib
  MdePkg/IoLib: Filter/trace port IO/MMIO access
  MdePkg/Baseib: Filter/trace MSR access for IA32/X64

 ArmPkg/ArmPkg.dsc                             |   2 +
 ArmPlatformPkg/ArmPlatformPkg.dsc             |   2 +
 ArmVirtPkg/ArmVirt.dsc.inc                    |   4 +-
 CryptoPkg/CryptoPkg.dsc                       |   4 +-
 DynamicTablesPkg/DynamicTablesPkg.dsc         |   2 +
 EmbeddedPkg/EmbeddedPkg.dsc                   |   4 +-
 EmulatorPkg/EmulatorPkg.dsc                   |   4 +-
 FatPkg/FatPkg.dsc                             |   4 +-
 FmpDevicePkg/FmpDevicePkg.dsc                 |   4 +-
 IntelFsp2Pkg/IntelFsp2Pkg.dsc                 |   4 +-
 IntelFsp2Pkg/Tools/Tests/QemuFspPkg.dsc       |   2 +
 IntelFsp2WrapperPkg/IntelFsp2WrapperPkg.dsc   |   4 +-
 MdeModulePkg/MdeModulePkg.dsc                 |   4 +-
 MdePkg/Include/Library/RegisterFilterLib.h    | 243 ++++++++++++++++
 .../BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf |   3 +-
 .../BaseIoLibIntrinsicArmVirt.inf             |   3 +-
 .../BaseIoLibIntrinsicInternal.h              |   3 +-
 .../BaseIoLibIntrinsicSev.inf                 |   3 +-
 MdePkg/Library/BaseIoLibIntrinsic/IoLib.c     |  95 ++++--
 .../Library/BaseIoLibIntrinsic/IoLibArmVirt.c |  82 +++++-
 MdePkg/Library/BaseIoLibIntrinsic/IoLibGcc.c  |  58 +++-
 MdePkg/Library/BaseIoLibIntrinsic/IoLibMsc.c  |  81 ++++--
 MdePkg/Library/BaseIoLibIntrinsic/IoLibNoIo.c |  74 ++++-
 MdePkg/Library/BaseLib/BaseLib.inf            |   5 +-
 MdePkg/Library/BaseLib/Ia32/GccInlinePriv.c   |  38 ++-
 MdePkg/Library/BaseLib/Ia32/ReadMsr64.c       |  38 ++-
 MdePkg/Library/BaseLib/Ia32/WriteMsr64.c      |  22 +-
 MdePkg/Library/BaseLib/X64/GccInlinePriv.c    |  43 ++-
 MdePkg/Library/BaseLib/X64/ReadMsr64.c        |  15 +-
 MdePkg/Library/BaseLib/X64/WriteMsr64.c       |  13 +-
 .../RegisterFilterLibNull.c                   | 271 ++++++++++++++++++
 .../RegisterFilterLibNull.inf                 |  23 ++
 .../RegisterFilterLibNull.uni                 |  13 +
 MdePkg/MdeLibs.dsc.inc                        |  14 +
 MdePkg/MdePkg.dec                             |   7 +-
 MdePkg/MdePkg.dsc                             |   6 +-
 NetworkPkg/NetworkPkg.dsc                     |   4 +-
 OvmfPkg/AmdSev/AmdSevX64.dsc                  |   4 +-
 OvmfPkg/Bhyve/BhyveX64.dsc                    |   4 +-
 OvmfPkg/OvmfPkgIa32.dsc                       |   4 +-
 OvmfPkg/OvmfPkgIa32X64.dsc                    |   4 +-
 OvmfPkg/OvmfPkgX64.dsc                        |   4 +-
 OvmfPkg/OvmfXen.dsc                           |   4 +-
 PcAtChipsetPkg/PcAtChipsetPkg.dsc             |   4 +-
 RedfishPkg/RedfishPkg.dsc                     |   4 +-
 SecurityPkg/SecurityPkg.dsc                   |   4 +-
 ShellPkg/ShellPkg.dsc                         |   4 +-
 SignedCapsulePkg/SignedCapsulePkg.dsc         |   4 +-
 SourceLevelDebugPkg/SourceLevelDebugPkg.dsc   |   4 +-
 StandaloneMmPkg/StandaloneMmPkg.dsc           |   4 +-
 UefiCpuPkg/UefiCpuPkg.dsc                     |   4 +-
 UefiPayloadPkg/UefiPayloadPkg.dsc             |   4 +-
 .../UnitTestFrameworkPkgTarget.dsc.inc        |   4 +-
 53 files changed, 1120 insertions(+), 145 deletions(-)
 create mode 100644 MdePkg/Include/Library/RegisterFilterLib.h
 create mode 100644 MdePkg/Library/RegisterFilterLibNull/RegisterFilterLibNull.c
 create mode 100644 MdePkg/Library/RegisterFilterLibNull/RegisterFilterLibNull.inf
 create mode 100644 MdePkg/Library/RegisterFilterLibNull/RegisterFilterLibNull.uni
 create mode 100644 MdePkg/MdeLibs.dsc.inc

-- 
2.18.0.windows.1


^ permalink raw reply	[flat|nested] 55+ messages in thread

end of thread, other threads:[~2021-03-26  7:39 UTC | newest]

Thread overview: 55+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-03-22  8:09 [patch V2 00/29] Add a new library class RegisterFilterLib in edk2 to filter/trace port IO/MMIO/MSR access Dandan Bi
2021-03-22  8:09 ` [patch V2 01/29] MdePkg: Add RegisterFilterLib class and NULL instance Dandan Bi
2021-03-23  2:24   ` [edk2-devel] " Abner Chang
2021-03-22  8:09 ` [patch V2 02/29] MdePkg: Add MdeLibs.dsc.inc file to MdePkg Dandan Bi
2021-03-22 17:46   ` Laszlo Ersek
2021-03-23  3:40     ` [edk2-devel] " Ni, Ray
2021-03-26  0:48   ` Michael D Kinney
2021-03-26  1:51     ` Dandan Bi
2021-03-26  7:39     ` Dandan Bi
2021-03-22  8:09 ` [patch V2 03/29] ArmPkg: Consume MdeLibs.dsc.inc for RegisterFilterLib Dandan Bi
2021-03-22  8:09 ` [patch V2 04/29] ArmPlatformPkg: " Dandan Bi
2021-03-22  8:09 ` [patch V2 05/29] ArmVirtPkg: " Dandan Bi
2021-03-22 18:30   ` Laszlo Ersek
2021-03-22  8:09 ` [patch V2 06/29] CryptoPkg: " Dandan Bi
2021-03-22  8:20   ` Yao, Jiewen
2021-03-22  8:09 ` [patch V2 07/29] DynamicTablesPkg: " Dandan Bi
2021-03-22  8:09 ` [patch V2 08/29] EmbeddedPkg: " Dandan Bi
2021-03-22  8:09 ` [patch V2 09/29] EmulatorPkg: " Dandan Bi
2021-03-25 23:29   ` Ni, Ray
2021-03-22  8:09 ` [patch V2 10/29] FatPkg: " Dandan Bi
2021-03-25 23:30   ` Ni, Ray
2021-03-22  8:09 ` [patch V2 11/29] FmpDevicePkg: " Dandan Bi
2021-03-22  8:09 ` [patch V2 12/29] IntelFsp2Pkg: " Dandan Bi
2021-03-22  8:09 ` [patch V2 13/29] IntelFsp2WrapperPkg: " Dandan Bi
2021-03-22  8:09 ` [patch V2 14/29] MdeModulePkg: " Dandan Bi
2021-03-23  1:01   ` Wu, Hao A
2021-03-22  8:09 ` [patch V2 15/29] MdePkg: " Dandan Bi
2021-03-22  8:09 ` [patch V2 16/29] NetworkPkg: " Dandan Bi
2021-03-22  8:09 ` [patch V2 17/29] OvmfPkg: " Dandan Bi
2021-03-22 18:31   ` Laszlo Ersek
2021-03-22  8:09 ` [patch V2 18/29] PcAtChipsetPkg: " Dandan Bi
2021-03-25 23:30   ` Ni, Ray
2021-03-22  8:09 ` [patch V2 19/29] RedfishPkg: " Dandan Bi
2021-03-23  2:17   ` Abner Chang
2021-03-23  2:32   ` Nickle Wang
2021-03-22  8:09 ` [patch V2 20/29] SecurityPkg: " Dandan Bi
2021-03-22  8:09 ` [patch V2 21/29] ShellPkg: " Dandan Bi
2021-03-22  8:09 ` [patch V2 22/29] SignedCapsulePkg: " Dandan Bi
2021-03-22  8:09 ` [patch V2 23/29] SourceLevelDebugPkg: " Dandan Bi
2021-03-23  1:02   ` Wu, Hao A
2021-03-22  8:09 ` [patch V2 24/29] StandaloneMmPkg: " Dandan Bi
2021-03-22  8:09 ` [patch V2 25/29] UefiCpuPkg: " Dandan Bi
2021-03-22 18:32   ` Laszlo Ersek
2021-03-25 23:32     ` [edk2-devel] " Ni, Ray
2021-03-26  0:32   ` Dong, Eric
2021-03-22  8:09 ` [patch V2 26/29] UefiPayloadPkg: " Dandan Bi
2021-03-22 14:03   ` Ma, Maurice
2021-03-23  5:20   ` Guo Dong
2021-03-22  8:09 ` [patch V2 27/29] UnitTestFrameworkPkg: " Dandan Bi
2021-03-22 18:25   ` [EXTERNAL] " Bret Barkelew
2021-03-23  1:52     ` Dandan Bi
2021-03-25 18:35       ` Bret Barkelew
2021-03-26  7:36         ` Dandan Bi
2021-03-22  8:09 ` [patch V2 28/29] MdePkg/IoLib: Filter/trace port IO/MMIO access Dandan Bi
2021-03-22  8:09 ` [patch V2 29/29] MdePkg/Baseib: Filter/trace MSR access for IA32/X64 Dandan Bi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox