[edk2-devel] [patch V2 00/29] Add a new library class RegisterFilterLib in edk2 to filter/trace port IO/MMIO/MSR access

Dandan Bi posted 29 patches 3 years, 1 month ago
Failed in applying to current master (apply log)
There is a newer version of this series
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
[edk2-devel] [patch V2 00/29] Add a new library class RegisterFilterLib in edk2 to filter/trace port IO/MMIO/MSR access
Posted by Dandan Bi 3 years, 1 month ago
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



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#73071): https://edk2.groups.io/g/devel/message/73071
Mute This Topic: https://groups.io/mt/81519233/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-