public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Dandan Bi" <dandan.bi@intel.com>
To: "Chang, Abner (HPS SW/FW Technologist)" <abner.chang@hpe.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Kinney, Michael D" <michael.d.kinney@intel.com>,
	Liming Gao <gaoliming@byosoft.com.cn>,
	"Liu, Zhiguang" <zhiguang.liu@intel.com>
Subject: Re: [edk2-devel] [patch 01/28] MdePkg: Add RegisterFilterLib class and NULL instance
Date: Mon, 15 Mar 2021 12:03:04 +0000	[thread overview]
Message-ID: <SJ0PR11MB4862BE7FE819A1FB64065B62EA6C9@SJ0PR11MB4862.namprd11.prod.outlook.com> (raw)
In-Reply-To: <CS1PR8401MB114455C2001CA92E017CD266FF6C9@CS1PR8401MB1144.NAMPRD84.PROD.OUTLOOK.COM>

> -----Original Message-----
> From: Chang, Abner (HPS SW/FW Technologist) <abner.chang@hpe.com>
> Sent: Monday, March 15, 2021 1:21 PM
> To: devel@edk2.groups.io; Bi, Dandan <dandan.bi@intel.com>
> Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Liming Gao
> <gaoliming@byosoft.com.cn>; Liu, Zhiguang <zhiguang.liu@intel.com>
> Subject: RE: [edk2-devel] [patch 01/28] MdePkg: Add RegisterFilterLib class
> and NULL instance
> 
> 
> 
> > -----Original Message-----
> > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> > Dandan Bi
> > Sent: Monday, March 15, 2021 11:58 AM
> > To: devel@edk2.groups.io
> > Cc: Michael D Kinney <michael.d.kinney@intel.com>; Liming Gao
> > <gaoliming@byosoft.com.cn>; Zhiguang Liu <zhiguang.liu@intel.com>
> > Subject: [edk2-devel] [patch 01/28] MdePkg: Add RegisterFilterLib
> > class and NULL instance
> >
> > REF: https://urldefense.proofpoint.com/v2/url?u=https-
> > 3A__bugzilla.tianocore.org_show-5Fbug.cgi-3Fid-
> >
> 3D3246&d=DwIBAg&c=C5b8zRQO1miGmBeVZ2LFWg&r=_SN6FZBN4Vgi4Ulks
> >
> kz6qU3NYRO03nHp9P7Z5q59A3E&m=2NiPCGng1TEgIa1agqNkkCSJR3rLRI9362
> > Sft59aE3A&s=0NN1lyRHr9srqeFrm4i9O4Y31EP4QO7TRYz8Cl8-pI8&e=
> >
> > 1. Add a new library class (RegisterFilterLib) to filter and trace
> > port IO/MMIO/MSR access.
> > 2. Add a NULL instance (RegisterFilterLibNull) can be used to keep
> > current behavior.
> >
> > Cc: Michael D Kinney <michael.d.kinney@intel.com>
> > Cc: Liming Gao <gaoliming@byosoft.com.cn>
> > Cc: Zhiguang Liu <zhiguang.liu@intel.com>
> > Signed-off-by: Dandan Bi <dandan.bi@intel.com>
> > ---
> >  MdePkg/Include/Library/RegisterFilterLib.h    | 225 ++++++++++++++++
> >  .../RegisterFilterLibNull.c                   | 253 ++++++++++++++++++
> >  .../RegisterFilterLibNull.inf                 |  23 ++
> >  .../RegisterFilterLibNull.uni                 |  13 +
> >  MdePkg/MdePkg.dec                             |   7 +-
> >  MdePkg/MdePkg.dsc                             |   4 +-
> >  6 files changed, 523 insertions(+), 2 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
> >
> > diff --git a/MdePkg/Include/Library/RegisterFilterLib.h
> > b/MdePkg/Include/Library/RegisterFilterLib.h
> > new file mode 100644
> > index 0000000000..df0adb3a42
> > --- /dev/null
> > +++ b/MdePkg/Include/Library/RegisterFilterLib.h
> > @@ -0,0 +1,225 @@
> > +/** @file
> > +  Public include file for the Port IO/MMIO/MSR RegisterFilterLib.
> > +
> > +Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
> > +
> > +SPDX-License-Identifier: BSD-2-Clause-Patent
> > +
> > +**/
> > +
> > +#ifndef REGISTER_FILTER_LIB_H_
> > +#define REGISTER_FILTER_LIB_H_
> > +
> > +typedef enum {
> > +  FilterWidth8,
> > +  FilterWidth16,
> > +  FilterWidth32,
> > +  FilterWidth64
> > +} FILTER_IO_WIDTH;
> > +
> > +/**
> > +  Filter IO read operation before read IO port.
> > +  It is used to filter IO read operation.
> > +
> > +  It will return the flag to decide whether require read real IO port.
> > +  It can be used for emulation environment.
> Can we have the description of meaning of the return flag in @retval in both
> header and source files? Also for all of below functions.
Sure, thanks Abner. 
I will wait to see whether there is more comment and handle them together in later new patch version. 


Thanks,
Dandan
> 
> > +
> > +  @param[in]       Width    Signifies the width of the I/O operation.
> > +  @param[in]       Address  The base address of the I/O operation.
> > +  @param[in]       Buffer   The destination buffer to store the results.
> > +
> > +**/
> > +BOOLEAN
> > +EFIAPI
> > +FilterBeforeIoRead (
> > +  IN FILTER_IO_WIDTH   Width,
> > +  IN UINTN             Address,
> > +  IN OUT VOID          *Buffer
> > +  );
> > +
> > +/**
> > +  Trace IO read operation after read IO port.
> > +  It is used to trace IO operation.
> > +
> > +  @param[in]       Width    Signifies the width of the I/O operation.
> > +  @param[in]       Address  The base address of the I/O operation.
> > +  @param[in]       Buffer   The destination buffer to store the results.
> > +
> > +**/
> > +VOID
> > +EFIAPI
> > +FilterAfterIoRead (
> > +  IN FILTER_IO_WIDTH  Width,
> > +  IN UINTN            Address,
> > +  IN VOID             *Buffer
> > +  );
> > +/**
> > +  Filter IO Write operation before wirte IO port.
> > +  It is used to filter IO operation.
> > +
> > +  It will return the flag to decide whether require read write IO port.
> > +  It can be used for emulation environment.
> > +
> > +  @param[in]       Width    Signifies the width of the I/O operation.
> > +  @param[in]       Address  The base address of the I/O operation.
> > +  @param[in]       Buffer   The source buffer from which to BeforeWrite
> data.
> > +
> > +**/
> > +BOOLEAN
> > +EFIAPI
> > +FilterBeforeIoWrite (
> > +  IN FILTER_IO_WIDTH  Width,
> > +  IN UINTN            Address,
> > +  IN VOID             *Buffer
> > +  );
> > +
> > +  /**
> > +  Trace IO Write operation after wirte IO port.
> > +  It is used to trace IO operation.
> > +
> > +  @param[in]       Width    Signifies the width of the I/O operation.
> > +  @param[in]       Address  The base address of the I/O operation.
> > +  @param[in]       Buffer   The source buffer from which to BeforeWrite
> data.
> > +
> > +**/
> > +VOID
> > +EFIAPI
> > +FilterAfterIoWrite (
> > +  IN FILTER_IO_WIDTH  Width,
> > +  IN UINTN            Address,
> > +  IN VOID             *Buffer
> > +  );
> > +
> > +/**
> > +  Filter memory IO before Read operation.
> > +
> > +  It will return the flag to decide whether require read real MMIO.
> > +  It can be used for emulation environment.
> > +
> > +  @param[in]       Width    Signifies the width of the memory I/O operation.
> > +  @param[in]       Address  The base address of the memory I/O operation.
> > +  @param[in]       Buffer   The destination buffer to store the results.
> > +
> > +**/
> > +BOOLEAN
> > +EFIAPI
> > +FilterBeforeMmIoRead (
> > +  IN FILTER_IO_WIDTH  Width,
> > +  IN UINTN            Address,
> > +  IN OUT VOID         *Buffer
> > +  );
> > +
> > +/**
> > +  Tracer memory IO after read operation
> > +
> > +  @param[in]       Width    Signifies the width of the memory I/O operation.
> > +  @param[in]       Address  The base address of the memory I/O operation.
> > +  @param[in]       Buffer   The destination buffer to store the results.
> > +
> > +**/
> > +VOID
> > +EFIAPI
> > +FilterAfterMmIoRead (
> > +  IN FILTER_IO_WIDTH  Width,
> > +  IN UINTN            Address,
> > +  IN VOID             *Buffer
> > +  );
> > +
> > +/**
> > +  Filter memory IO before write operation
> > +
> > +  It will return the flag to decide whether require wirte real MMIO.
> > +  It can be used for emulation environment.
> > +
> > +  @param[in]       Width    Signifies the width of the memory I/O operation.
> > +  @param[in]       Address  The base address of the memory I/O operation.
> > +  @param[in]       Buffer   The source buffer from which to BeforeWrite
> data.
> > +
> > +**/
> > +BOOLEAN
> > +EFIAPI
> > +FilterBeforeMmIoWrite (
> > +  IN FILTER_IO_WIDTH  Width,
> > +  IN UINTN            Address,
> > +  IN VOID             *Buffer
> > +  );
> > +
> > +/**
> > +  Tracer memory IO after write operation
> > +
> > +  @param[in]       Width    Signifies the width of the memory I/O operation.
> > +  @param[in]       Address  The base address of the memory I/O operation.
> > +  @param[in]       Buffer   The source buffer from which to BeforeWrite
> data.
> > +
> > +**/
> > +VOID
> > +EFIAPI
> > +FilterAfterMmIoWrite (
> > +  IN FILTER_IO_WIDTH  Width,
> > +  IN UINTN            Address,
> > +  IN VOID             *Buffer
> > +  );
> > +
> > +/**
> > +  Filter MSR before read operation.
> > +
> > +  It will return the flag to decide whether require read real MSR.
> > +  It can be used for emulation environment.
> > +
> > +  @param  Index                     The 8-bit Machine Specific Register index to
> > BeforeWrite.
> > +  @param  Value                     The 64-bit value to BeforeRead from the
> > Machine Specific Register.
> > +
> > +**/
> > +BOOLEAN
> > +EFIAPI
> > +FilterBeforeMsrRead (
> > +  IN UINT32           Index,
> > +  IN OUT UINT64       *Value
> > +  );
> > +
> > +/**
> > +  Trace MSR after read operation
> > +
> > +  @param  Index                     The 8-bit Machine Specific Register index to
> > BeforeWrite.
> > +  @param  Value                     The 64-bit value to BeforeRead from the
> > Machine Specific Register.
> > +
> > +**/
> > +VOID
> > +EFIAPI
> > +FilterAfterMsrRead (
> > +  IN UINT32            Index,
> > +  IN UINT64            *Value
> > +  );
> > +
> > +/**
> > +  Filter MSR before write operation
> > +
> > +  It will return the flag to decide whether require write real MSR.
> > +  It can be used for emulation environment.
> > +
> > +  @param  Index                     The 8-bit Machine Specific Register index to
> > BeforeWrite.
> > +  @param  Value                     The 64-bit value to BeforeWrite to the Machine
> > Specific Register.
> > +
> > +**/
> > +BOOLEAN
> > +EFIAPI
> > +FilterBeforeMsrWrite (
> > +  IN UINT32           Index,
> > +  IN UINT64           *Value
> > +  );
> > +
> > +/**
> > +  Trace MSR after write operation
> > +
> > +  @param  Index                     The 8-bit Machine Specific Register index to
> > BeforeWrite.
> > +  @param  Value                     The 64-bit value to BeforeWrite to the Machine
> > Specific Register.
> > +
> > +**/
> > +VOID
> > +EFIAPI
> > +FilterAfterMsrWrite (
> > +  IN UINT32            Index,
> > +  IN UINT64            *Value
> > +  );
> > +
> > +#endif // REGISTER_FILTER_LIB_H_
> > diff --git
> > a/MdePkg/Library/RegisterFilterLibNull/RegisterFilterLibNull.c
> > b/MdePkg/Library/RegisterFilterLibNull/RegisterFilterLibNull.c
> > new file mode 100644
> > index 0000000000..5c2bc2864a
> > --- /dev/null
> > +++ b/MdePkg/Library/RegisterFilterLibNull/RegisterFilterLibNull.c
> > @@ -0,0 +1,253 @@
> > +/** @file
> > +  Null instance of RegisterFilterLib.
> > +
> > +  Copyright (c) 2021 Intel Corporation. All rights reserved.<BR>
> > +
> > +  SPDX-License-Identifier: BSD-2-Clause-Patent
> > +
> > +**/
> > +
> > +#include <Library/RegisterFilterLib.h>
> > +
> > +/**
> > +  Filter IO read operation before read IO port.
> > +  It is used to filter IO read operation.
> > +
> > +  It will return the flag to decide whether require read real IO port.
> > +  It can be used for emulation environment.
> > +
> > +  @param[in]       Width    Signifies the width of the I/O operation.
> > +  @param[in]       Address  The base address of the I/O operation.
> > +  @param[in,out]   Buffer   The destination buffer to store the results.
> > +
> > +**/
> > +BOOLEAN
> > +EFIAPI
> > +FilterBeforeIoRead (
> > +  IN FILTER_IO_WIDTH  Width,
> > +  IN UINTN            Address,
> > +  IN OUT VOID         *Buffer
> > +  )
> > +{
> > +  return TRUE;
> > +}
> > +
> > +/**
> > +  Trace IO read operation after read IO port.
> > +  It is used to trace IO operation.
> > +
> > +  @param[in]       Width    Signifies the width of the I/O operation.
> > +  @param[in]       Address  The base address of the I/O operation.
> > +  @param[in]       Buffer   The destination buffer to store the results.
> > +
> > +**/
> > +VOID
> > +EFIAPI
> > +FilterAfterIoRead (
> > +  IN FILTER_IO_WIDTH  Width,
> > +  IN UINTN            Address,
> > +  IN VOID             *Buffer
> > +  )
> > +{
> > +  return;
> > +}
> > +
> > +/**
> > +  Filter IO Write operation before wirte IO port.
> > +  It is used to filter IO operation.
> > +
> > +  It will return the flag to decide whether require read write IO port.
> > +  It can be used for emulation environment.
> > +
> > +  @param[in]       Width    Signifies the width of the I/O operation.
> > +  @param[in]       Address  The base address of the I/O operation.
> > +  @param[in]       Buffer   The source buffer from which to write data.
> > +
> > +**/
> > +BOOLEAN
> > +EFIAPI
> > +FilterBeforeIoWrite (
> > +  IN FILTER_IO_WIDTH  Width,
> > +  IN UINTN            Address,
> > +  IN VOID             *Buffer
> > +  )
> > +{
> > +  return TRUE;
> > +}
> > +
> > +  /**
> > +  Trace IO Write operation after wirte IO port.
> > +  It is used to trace IO operation.
> > +
> > +  @param[in]       Width    Signifies the width of the I/O operation.
> > +  @param[in]       Address  The base address of the I/O operation.
> > +  @param[in]       Buffer   The source buffer from which to Write data.
> > +
> > +**/
> > +VOID
> > +EFIAPI
> > +FilterAfterIoWrite (
> > +  IN FILTER_IO_WIDTH  Width,
> > +  IN UINTN            Address,
> > +  IN VOID             *Buffer
> > +  )
> > +{
> > +  return;
> > +}
> > +
> > +/**
> > +  Filter memory IO before Read operation.
> > +
> > +  It will return the flag to decide whether require read real MMIO.
> > +  It can be used for emulation environment.
> > +
> > +  @param[in]       Width    Signifies the width of the memory I/O operation.
> > +  @param[in]       Address  The base address of the memory I/O operation.
> > +  @param[in,out]   Buffer   The destination buffer to store the results.
> > +
> > +**/
> > +BOOLEAN
> > +EFIAPI
> > +FilterBeforeMmIoRead (
> > +  IN FILTER_IO_WIDTH  Width,
> > +  IN UINTN            Address,
> > +  IN OUT VOID         *Buffer
> > +  )
> > +{
> > +  return TRUE;
> > +}
> > +
> > +/**
> > +  Tracer memory IO after read operation.
> > +
> > +  @param[in]       Width    Signifies the width of the memory I/O operation.
> > +  @param[in]       Address  The base address of the memory I/O operation.
> > +  @param[in]       Buffer   The destination buffer to store the results.
> > +
> > +**/
> > +VOID
> > +EFIAPI
> > +FilterAfterMmIoRead (
> > +  IN FILTER_IO_WIDTH  Width,
> > +  IN UINTN            Address,
> > +  IN VOID             *Buffer
> > +  )
> > +{
> > +  return;
> > +}
> > +
> > +/**
> > +  Filter memory IO before write operation.
> > +
> > +  It will return the flag to decide whether require wirte real MMIO.
> > +  It can be used for emulation environment.
> > +
> > +  @param[in]       Width    Signifies the width of the memory I/O operation.
> > +  @param[in]       Address  The base address of the memory I/O operation.
> > +  @param[in]       Buffer   The source buffer from which to write data.
> > +
> > +**/
> > +BOOLEAN
> > +EFIAPI
> > +FilterBeforeMmIoWrite (
> > +  IN FILTER_IO_WIDTH  Width,
> > +  IN UINTN            Address,
> > +  IN VOID             *Buffer
> > +  )
> > +{
> > +  return TRUE;
> > +}
> > +
> > +/**
> > +  Tracer memory IO after write operation.
> > +
> > +  @param[in]       Width    Signifies the width of the memory I/O operation.
> > +  @param[in]       Address  The base address of the memory I/O operation.
> > +  @param[in]       Buffer   The source buffer from which to write data.
> > +
> > +**/
> > +VOID
> > +EFIAPI
> > +FilterAfterMmIoWrite (
> > +  IN FILTER_IO_WIDTH  Width,
> > +  IN UINTN            Address,
> > +  IN VOID             *Buffer
> > +  )
> > +{
> > +  return;
> > +}
> > +
> > +/**
> > +  Filter MSR before read operation.
> > +
> > +  It will return the flag to decide whether require read real MSR.
> > +  It can be used for emulation environment.
> > +
> > +  @param  Index                     The Register index of the MSR.
> > +  @param  Value                     Point to the data will be read from the MSR.
> > +
> > +**/
> > +BOOLEAN
> > +EFIAPI
> > +FilterBeforeMsrRead (
> > +  IN UINT32        Index,
> > +  IN OUT UINT64    *Value
> > +  )
> > +{
> > +  return TRUE;
> > +}
> > +
> > +/**
> > +  Trace MSR after read operation.
> > +
> > +  @param  Index                     The Register index of the MSR.
> > +  @param  Value                     Point to the data has been be read from the
> MSR.
> > +
> > +**/
> > +VOID
> > +EFIAPI
> > +FilterAfterMsrRead (
> > +  IN UINT32    Index,
> > +  IN UINT64    *Value
> > +  )
> > +{
> > +  return;
> > +}
> > +
> > +/**
> > +  Filter MSR before write operation.
> > +
> > +  It will return the flag to decide whether require write real MSR.
> > +  It can be used for emulation environment.
> > +
> > +  @param  Index                     The Register index of the MSR.
> > +  @param  Value                     Point to the data want to be written to the
> MSR.
> > +
> > +**/
> > +BOOLEAN
> > +EFIAPI
> > +FilterBeforeMsrWrite (
> > +  IN UINT32    Index,
> > +  IN UINT64    *Value
> > +  )
> > +{
> > +  return TRUE;
> > +}
> > +
> > +/**
> > +  Trace MSR after write operation.
> > +
> > +  @param  Index                     The Register index of the MSR.
> > +  @param  Value                     Point to the data has been be written to the
> MSR.
> > +
> > +**/
> > +VOID
> > +EFIAPI
> > +FilterAfterMsrWrite (
> > +  IN UINT32    Index,
> > +  IN UINT64    *Value
> > +  )
> > +{
> > +  return;
> > +}
> > +
> > diff --git
> > a/MdePkg/Library/RegisterFilterLibNull/RegisterFilterLibNull.inf
> > b/MdePkg/Library/RegisterFilterLibNull/RegisterFilterLibNull.inf
> > new file mode 100644
> > index 0000000000..a7fc7497ed
> > --- /dev/null
> > +++ b/MdePkg/Library/RegisterFilterLibNull/RegisterFilterLibNull.inf
> > @@ -0,0 +1,23 @@
> > +## @file
> > +#  Null instance of RegisterFilterLib.
> > +#
> > +#  Copyright (c) 2021, Intel Corporation. All rights reserved.<BR> #
> > +#
> > +SPDX-License-Identifier: BSD-2-Clause-Patent # ##
> > +
> > +[Defines]
> > +  INF_VERSION                    = 0x00010005
> > +  BASE_NAME                      = FilterLibNull
> > +  MODULE_UNI_FILE                = FilterLibNull.uni
> > +  FILE_GUID                      = 9F555194-A410-4AD6-B3FC-53F6E10FA793
> > +  MODULE_TYPE                    = BASE
> > +  VERSION_STRING                 = 1.0
> > +  LIBRARY_CLASS                  = RegisterFilterLib
> > +
> > +[Sources]
> > +  RegisterFilterLibNull.c
> > +
> > +[Packages]
> > +  MdePkg/MdePkg.dec
> > diff --git
> > a/MdePkg/Library/RegisterFilterLibNull/RegisterFilterLibNull.uni
> > b/MdePkg/Library/RegisterFilterLibNull/RegisterFilterLibNull.uni
> > new file mode 100644
> > index 0000000000..8a8f1c4a77
> > --- /dev/null
> > +++ b/MdePkg/Library/RegisterFilterLibNull/RegisterFilterLibNull.uni
> > @@ -0,0 +1,13 @@
> > +// /** @file
> > +// Null instance of RegisterFilterLib.
> > +//
> > +// Copyright (c) 2021, Intel Corporation. All rights reserved.<BR> //
> > +// SPDX-License-Identifier: BSD-2-Clause-Patent // // **/
> > +
> > +
> > +#string STR_MODULE_ABSTRACT              #language en-US "Null instance of
> > RegisterFilterLib.
> > +#string STR_MODULE_DESCRIPTION           #language en-US "Null instance
> of
> > RegisterFilterLib."
> > +
> > diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec index
> > 1d2637acc2..c437e2a065 100644
> > --- a/MdePkg/MdePkg.dec
> > +++ b/MdePkg/MdePkg.dec
> > @@ -2,11 +2,11 @@
> >  # This Package provides all definitions, library classes and libraries instances.
> >  #
> >  # It also provides the definitions(including PPIs/PROTOCOLs/GUIDs) of
> > # EFI1.10/UEFI2.7/PI1.7 and some Industry Standards.
> >  #
> > -# Copyright (c) 2007 - 2020, Intel Corporation. All rights
> > reserved.<BR>
> > +# Copyright (c) 2007 - 2021, Intel Corporation. All rights
> > +reserved.<BR>
> >  # Portions copyright (c) 2008 - 2009, Apple Inc. All rights
> > reserved.<BR>  # (C) Copyright 2016 - 2020 Hewlett Packard Enterprise
> > Development LP<BR>  #  # SPDX-License-Identifier: BSD-2-Clause-Patent
> > # @@ -255,10 +255,15 @@
> >    ## @libraryclass Extension to BaseLib for host based unit tests that allows
> a
> >    #                subset of BaseLib services to be hooked for emulation.
> >    #
> >
> > UnitTestHostBaseLib|Test/UnitTest/Include/Library/UnitTestHostBaseLib.
> > h
> >
> > +  ##  @libraryclass
> > +  #
> > +  #
> > +  RegisterFilterLib|Include/Library/RegisterFilterLib.h
> > +
> >    ##  @libraryclass  This library provides an interface to request
> > non-MMRAM pages to be mapped
> >    #                  or unblocked from inside MM environment.
> >    #
> >    MmUnblockMemoryLib|Include/Library/MmUnblockMemoryLib.h
> >
> > diff --git a/MdePkg/MdePkg.dsc b/MdePkg/MdePkg.dsc index
> > 79629e3f93..be89e28eef 100644
> > --- a/MdePkg/MdePkg.dsc
> > +++ b/MdePkg/MdePkg.dsc
> > @@ -1,9 +1,9 @@
> >  ## @file
> >  # EFI/PI MdePkg Package
> >  #
> > -# Copyright (c) 2007 - 2020, Intel Corporation. All rights
> > reserved.<BR>
> > +# Copyright (c) 2007 - 2021, Intel Corporation. All rights
> > +reserved.<BR>
> >  # Portions copyright (c) 2008 - 2009, Apple Inc. All rights
> > reserved.<BR>  # (C) Copyright 2020 Hewlett Packard Enterprise
> > Development LP<BR>  #
> >  #    SPDX-License-Identifier: BSD-2-Clause-Patent
> >  #
> > @@ -125,10 +125,12 @@
> >
> >
> MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionLib.
> > inf
> >
> >
> >
> MdePkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntry
> > Point.inf
> >
> >
> MdePkg/Library/StandaloneMmServicesTableLib/StandaloneMmServicesTab
> > leLib.inf
> >
> > +  MdePkg/Library/RegisterFilterLibNull/RegisterFilterLibNull.inf
> > +
> >  [Components.IA32, Components.X64, Components.ARM,
> Components.AARCH64]
> >    #
> >    # Add UEFI Target Based Unit Tests
> >    #
> >    MdePkg/Test/UnitTest/Library/BaseLib/BaseLibUnitTestsUefi.inf
> > --
> > 2.18.0.windows.1
> >
> >
> >
> > 
> >
> 


  reply	other threads:[~2021-03-15 12:03 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-15  3:58 [patch 00/28] Add a new library class RegisterFilterLib in edk2 to filter/trace port IO/MMIO/MSR access Dandan Bi
2021-03-15  3:58 ` [patch 01/28] MdePkg: Add RegisterFilterLib class and NULL instance Dandan Bi
2021-03-15  5:21   ` [edk2-devel] " Abner Chang
2021-03-15 12:03     ` Dandan Bi [this message]
2021-03-15  3:58 ` [patch 02/28] ArmPkg: Consume RegisterFilterLibNull instance Dandan Bi
2021-03-15  3:58 ` [patch 03/28] ArmPlatformPkg: " Dandan Bi
2021-03-15  3:58 ` [patch 04/28] ArmVirtPkg: " Dandan Bi
2021-03-16 16:38   ` Laszlo Ersek
2021-03-15  3:58 ` [patch 05/28] CryptoPkg: " Dandan Bi
2021-03-15  3:58 ` [patch 06/28] DynamicTablesPkg: " Dandan Bi
2021-03-15  3:58 ` [patch 07/28] EmbeddedPkg: " Dandan Bi
2021-03-15  3:58 ` [patch 08/28] EmulatorPkg: " Dandan Bi
2021-03-15  3:58 ` [patch 09/28] FatPkg: " Dandan Bi
2021-03-15  3:58 ` [patch 10/28] FmpDevicePkg: " Dandan Bi
2021-03-15  3:58 ` [patch 11/28] IntelFsp2Pkg: " Dandan Bi
2021-03-15  4:09   ` Chiu, Chasel
2021-03-15  3:58 ` [patch 12/28] IntelFsp2WrapperPkg: " Dandan Bi
2021-03-15  4:09   ` Chiu, Chasel
2021-03-15  3:58 ` [patch 13/28] MdeModulePkg: " Dandan Bi
2021-03-15  6:02   ` Wu, Hao A
2021-03-15  3:58 ` [patch 14/28] MdePkg: " Dandan Bi
2021-03-15  3:58 ` [patch 15/28] NetworkPkg: " Dandan Bi
2021-03-15  3:58 ` [patch 16/28] OvmfPkg: " Dandan Bi
2021-03-16 16:42   ` Laszlo Ersek
2021-03-15  3:58 ` [patch 17/28] PcAtChipsetPkg: " Dandan Bi
2021-03-15  3:58 ` [patch 18/28] RedfishPkg: " Dandan Bi
2021-03-15  5:21   ` Abner Chang
2021-03-15  5:27   ` Nickle Wang
2021-03-15  3:58 ` [patch 19/28] SecurityPkg: " Dandan Bi
2021-03-15  3:58 ` [patch 20/28] ShellPkg: " Dandan Bi
2021-03-16  8:08   ` Gao, Zhichao
2021-03-15  3:58 ` [patch 21/28] SignedCapsulePkg: " Dandan Bi
2021-03-15  3:58 ` [patch 22/28] SourceLevelDebugPkg: " Dandan Bi
2021-03-15  6:03   ` Wu, Hao A
2021-03-15  3:58 ` [patch 23/28] StandaloneMmPkg: " Dandan Bi
2021-03-15  3:58 ` [patch 24/28] UefiCpuPkg: " Dandan Bi
2021-03-16 16:42   ` Laszlo Ersek
2021-03-15  3:58 ` [patch 25/28] UefiPayloadPkg: " Dandan Bi
2021-03-15 16:06   ` Ma, Maurice
2021-03-15  3:58 ` [patch 26/28] UnitTestFrameworkPkg: " Dandan Bi
2021-03-15  3:58 ` [patch 27/28] MdePkg/IoLib: Filter/trace port IO/MMIO access Dandan Bi
2021-03-15  3:58 ` [patch 28/28] MdePkg/Baseib: Filter/trace MSR access for IA32/X64 Dandan Bi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=SJ0PR11MB4862BE7FE819A1FB64065B62EA6C9@SJ0PR11MB4862.namprd11.prod.outlook.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox