Series Reviewed-by: Michael D Kinney <[email protected]> Mike
> -----Original Message----- > From: Bi, Dandan <[email protected]> > Sent: Sunday, March 28, 2021 5:02 AM > To: [email protected] > Cc: Kinney, Michael D <[email protected]>; Sean Brogan > <[email protected]>; Bret Barkelew > <[email protected]>; Leif Lindholm <[email protected]>; Ard > Biesheuvel <[email protected]>; Laszlo Ersek > <[email protected]>; Yao, Jiewen <[email protected]>; Wang, Jian J > <[email protected]>; Sami Mujawar > <[email protected]>; Alexei Fedorov <[email protected]>; Andrew Fish > <[email protected]>; Ni, Ray > <[email protected]>; Chiu, Chasel <[email protected]>; Desimone, Nathaniel > L <[email protected]>; Zeng, > Star <[email protected]>; Gao, Zhichao <[email protected]>; Wu, Hao A > <[email protected]>; Ma, Maurice > <[email protected]>; Dong, Guo <[email protected]>; You, Benjamin > <[email protected]>; Dong, Eric > <[email protected]>; Maciej Rabeda <[email protected]>; Wu, > Jiaxin <[email protected]>; Fu, Siyuan > <[email protected]>; Justen, Jordan L <[email protected]>; Supreeth > Venkatesh <[email protected]>; > Abner Chang <[email protected]>; Nickle Wang <[email protected]>; Liming > Gao <[email protected]>; Liu, Zhiguang > <[email protected]> > Subject: [patch V4 00/29] Add a new library class RegisterFilterLib in edk2 > to filter/trace port IO/MMIO/MSR access > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3246 > RFC: https://edk2.groups.io/g/devel/message/72530 > Branch for this change: > https://github.com/dandanbi/edk2/tree/RegisterFilterLibV3 > > 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. > > --- > V4: > Consume the MdeLibs.dsc.inc for RegisterFilterLibNull in dsc file rather than > in xxx.dsc.inc. > Following 2 patchws were updated for consuming MdeLibs.dsc.inc in platform > dsc file. > ArmVirtPkg: Consume MdeLibs.dsc.inc for RegisterFilterLib > UnitTestFrameworkPkg: Consume MdeLibs.dsc.inc for RegisterFilterLib > Other patches are the same with V3. > --- > V3: > 1. Don't assume Library instances in MdeLibs.dsc.inc are must in common > [LibraryClasses] section. > Can specify different [LibraryClasses] section for the libary instances in > MdeLibs.dsc.inc. > 2. Update plaftom dsc to consume the MdeLibs.dsc outside the [LibraryClasses] > section. > 3. Pick up the R-B for patch 1, patch 28, patch 29. > > Cc: Michael D Kinney <[email protected]> > Cc: Sean Brogan <[email protected]> > Cc: Bret Barkelew <[email protected]> > Cc: Leif Lindholm <[email protected]> > Cc: Ard Biesheuvel <[email protected]> > Cc: Laszlo Ersek <[email protected]> > Cc: Jiewen Yao <[email protected]> > Cc: Jian J Wang <[email protected]> > Cc: Sami Mujawar <[email protected]> > Cc: Alexei Fedorov <[email protected]> > Cc: Andrew Fish <[email protected]> > Cc: Ray Ni <[email protected]> > Cc: Chasel Chiu <[email protected]> > Cc: Nate DeSimone <[email protected]> > Cc: Star Zeng <[email protected]> > Cc: Zhichao Gao <[email protected]> > Cc: Hao A Wu <[email protected]> > Cc: Maurice Ma <[email protected]> > Cc: Guo Dong <[email protected]> > Cc: Benjamin You <[email protected]> > Cc: Eric Dong <[email protected]> > Cc: Maciej Rabeda <[email protected]> > Cc: Jiaxin Wu <[email protected]> > Cc: Siyuan Fu <[email protected]> > Cc: Jordan Justen <[email protected]> > Cc: Supreeth Venkatesh <[email protected]> > Cc: Abner Chang <[email protected]> > Cc: Nickle Wang <[email protected]> > Cc: Liming Gao <[email protected]> > Cc: Zhiguang Liu <[email protected]> > > 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 | 5 +- > DynamicTablesPkg/DynamicTablesPkg.dsc | 2 + > EmbeddedPkg/EmbeddedPkg.dsc | 5 +- > 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 | 15 + > MdePkg/MdePkg.dec | 7 +- > MdePkg/MdePkg.dsc | 6 +- > NetworkPkg/NetworkPkg.dsc | 4 +- > OvmfPkg/AmdSev/AmdSevX64.dsc | 5 +- > OvmfPkg/Bhyve/BhyveX64.dsc | 5 +- > OvmfPkg/OvmfPkgIa32.dsc | 5 +- > OvmfPkg/OvmfPkgIa32X64.dsc | 5 +- > OvmfPkg/OvmfPkgX64.dsc | 5 +- > OvmfPkg/OvmfXen.dsc | 5 +- > 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 | 5 +- > UefiCpuPkg/UefiCpuPkg.dsc | 4 +- > UefiPayloadPkg/UefiPayloadPkg.dsc | 5 +- > .../UnitTestFrameworkPkgTarget.dsc.inc | 4 +- > 53 files changed, 1131 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 (#73516): https://edk2.groups.io/g/devel/message/73516 Mute This Topic: https://groups.io/mt/81670678/21656 Group Owner: [email protected] Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
