public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Leif Lindholm" <leif@nuviainc.com>
To: "Jiang, Guomin" <guomin.jiang@intel.com>
Cc: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	"pankaj.bansal@nxp.com" <pankaj.bansal@nxp.com>,
	"Ni, Ray" <ray.ni@intel.com>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	"Wang, Jian J" <jian.j.wang@intel.com>,
	"Wu, Hao A" <hao.a.wu@intel.com>,
	"Ma, Maurice" <maurice.ma@intel.com>,
	"Dong, Guo" <guo.dong@intel.com>,
	"You, Benjamin" <benjamin.you@intel.com>,
	Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>,
	Varun Sethi <V.Sethi@nxp.com>,
	Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>
Subject: Re: [edk2-devel] [PATCH 1/1] MdeModulePkg: UART Dynamic clock freq Support
Date: Mon, 30 Mar 2020 08:35:18 +0100	[thread overview]
Message-ID: <20200330073518.GU22097@bivouac.eciton.net> (raw)
In-Reply-To: <B1F5B0856690F44595CF70FED755C939550E7B@SHSMSX101.ccr.corp.intel.com>

Hi Jiang,

It is not a question of effort of copying a driver, it is a question
that copying drivers is something that should be avoided wherever
practically possible. I did not think this topic was still under
debate.

If the existing 16550 SerialPortLib is overspecialised to the point
where it only works on a subset of 16550 implementations, then it
should change. There are going to be more non-PC systems turning up
with 16550 UARTs - should they each copy/modify their drivers?

If there are better ways of solving that problem, please suggest.
But more duplicated drivers is not the answer.

/
    Leif

On Mon, Mar 30, 2020 at 01:20:03 +0000, Jiang, Guomin wrote:
> Hi Pankaj,
> 
> I know your consideration.
> 
> My consideration is that we provide an interface, it should be
> better for user, it not, the user won't use it and if no nobody use
> it, why provide it?
> In other word, the effort for copying the SerialPortLib and the
> effort for implementing SerialUartClockLib are same, why consumer
> should learn the new interface?
> 
> Thanks.
> > -----Original Message-----
> > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> > Pankaj Bansal
> > Sent: Saturday, March 28, 2020 8:37 PM
> > To: Jiang, Guomin <guomin.jiang@intel.com>; devel@edk2.groups.io; Pankaj
> > Bansal <pankaj.bansal@nxp.com>; Leif Lindholm <leif@nuviainc.com>; Ni,
> > Ray <ray.ni@intel.com>; Ard Biesheuvel <ard.biesheuvel@linaro.org>
> > Cc: Wang, Jian J <jian.j.wang@intel.com>; Wu, Hao A
> > <hao.a.wu@intel.com>; Ma, Maurice <maurice.ma@intel.com>; Dong, Guo
> > <guo.dong@intel.com>; You, Benjamin <benjamin.you@intel.com>;
> > Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>; Varun Sethi
> > <V.Sethi@nxp.com>; Samer El-Haj-Mahmoud <Samer.El-Haj-
> > Mahmoud@arm.com>
> > Subject: Re: [edk2-devel] [PATCH 1/1] MdeModulePkg: UART Dynamic clock
> > freq Support
> > 
> > Hello Jiang,
> > 
> > > -----Original Message-----
> > > From: Jiang, Guomin <guomin.jiang@intel.com>
> > > Sent: Thursday, March 26, 2020 7:44 PM
> > > To: devel@edk2.groups.io; Pankaj Bansal <pankaj.bansal@nxp.com>; Leif
> > > Lindholm <leif@nuviainc.com>; Ni, Ray <ray.ni@intel.com>
> > > Cc: Pankaj Bansal (OSS) <pankaj.bansal@oss.nxp.com>; Wang, Jian J
> > > <jian.j.wang@intel.com>; Wu, Hao A <hao.a.wu@intel.com>; Ma, Maurice
> > > <maurice.ma@intel.com>; Dong, Guo <guo.dong@intel.com>; You,
> > Benjamin
> > > <benjamin.you@intel.com>; Meenakshi Aggarwal
> > > <meenakshi.aggarwal@nxp.com>; Varun Sethi <V.Sethi@nxp.com>
> > > Subject: RE: [edk2-devel] [PATCH 1/1] MdeModulePkg: UART Dynamic
> > clock
> > > freq Support
> > >
> > > It is a good idea,
> > >
> > > I have a question:
> > > 1. When can detect the jumper signal or register?
> > 	-> This depends on platform. Ideally as early as possible in boot
> > process (in SEC phase), because PEI Core and onwards, all modules start
> > making call to DebugLib constructor.
> > > 2. If the jumper use GPIO, SerialUartClockLib will depend on GpioLib?
> > 	-> Yes, SerialUartClockLib can depend on other libraries as well. E.g. in
> > https://edk2.groups.io/g/devel/message/56009, SerialUartClockLib depends
> > on ArmPlatformLib
> > > 3. If the register is inside SIO, how to dispose the dependence?
> > 	-> I did not understand term SIO. Quick google search throws up Intel
> > Serial IO host controller driver. Intel Serial IO driver is required if you plan to
> > use the I2C, UART, or GPIO host controllers.
> > 	    Is that what you are referring to ? I assume you mean that what
> > happens if the SerialUartClockLib, tries to read registers that require
> > SerialPortLib ? i.e. circular dependency i.e deadlock ?
> > 	    In that case, some kind of intervention is required on Platform
> > owner part. May be implement a version of SerialUartClockLib for SEC phase
> > that doesn't depend on SerialPortLib, which lets
> > 	    the serial port to initialize. For all other module types, implement
> > another version of SerialUartClockLib.
> > >
> > > If it is too complex to implement the SerialUartClockLib, the project
> > > owner will choose use BaseSerialUartClockLib rather  implement it. and
> > > in this case, it make no sense after import complexity.
> > 
> > Complexity is platform specific. We have implemented
> > BaseSerialUartClockLib in https://edk2.groups.io/g/devel/message/56009.
> > 
> > >
> > > I have also reviewed the ArmPlatformPkg/Library/PL011UartClockLib
> > > code, it still use the fixed data rather than dynamically detect clock.
> > 
> > Right. As I said, making PcdSerialClockRate as Dynamic PCD, we cannot use
> > this in modules for which PcdLib is BasePcdLibNull.
> > It results in ASSERT.
> > 
> > >
> > > > -----Original Message-----
> > > > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of
> > > > Pankaj Bansal
> > > > Sent: Monday, March 23, 2020 1:31 PM
> > > > To: Leif Lindholm <leif@nuviainc.com>; Ni, Ray <ray.ni@intel.com>
> > > > Cc: Pankaj Bansal (OSS) <pankaj.bansal@oss.nxp.com>; Wang, Jian J
> > > > <jian.j.wang@intel.com>; Wu, Hao A <hao.a.wu@intel.com>; Ma,
> > Maurice
> > > > <maurice.ma@intel.com>; Dong, Guo <guo.dong@intel.com>; You,
> > > > Benjamin <benjamin.you@intel.com>; Meenakshi Aggarwal
> > > > <meenakshi.aggarwal@nxp.com>; Varun Sethi <V.Sethi@nxp.com>;
> > > > devel@edk2.groups.io
> > > > Subject: Re: [edk2-devel] [PATCH 1/1] MdeModulePkg: UART Dynamic
> > > > clock freq Support
> > > >
> > > > Hi Ray,
> > > >
> > > > I had thought of making PcdSerialClockRate as Dynamic PCD I had made
> > > > changes for it too.
> > > > But it doesn't work.
> > > > SerialPortInitalize, which uses PcdSerialClockRate, gets called from
> > > > DebugLib constructor.
> > > > DebugLib is used by every module to print any info onto console.
> > > > For DxeCore and PcdDxe, for which PcdLib instance is NULL, this
> > > > results in Assert :
> > > >
> > > >
> > https://github.com/tianocore/edk2/blob/master/MdePkg/Library/BasePcd
> > > > Li
> > > > bNull/PcdLib.c#L123
> > > >
> > > > The other approach that I thought of was, to copy
> > > > BaseSerialPortLib16550 for our platform and simply return EFI_SUCCESS
> > from SerialPortInitalize.
> > > > But as Leif pointed out, this results in code duplication.
> > > >
> > > > Regards,
> > > > Pankaj Bansal
> > > >
> > > > > -----Original Message-----
> > > > > From: Leif Lindholm <leif@nuviainc.com>
> > > > > Sent: Thursday, March 19, 2020 9:01 PM
> > > > > To: Ni, Ray <ray.ni@intel.com>
> > > > > Cc: Pankaj Bansal (OSS) <pankaj.bansal@oss.nxp.com>; Wang, Jian J
> > > > > <jian.j.wang@intel.com>; Wu, Hao A <hao.a.wu@intel.com>; Ma,
> > > > > Maurice <maurice.ma@intel.com>; Dong, Guo <guo.dong@intel.com>;
> > > > > You,
> > > > Benjamin
> > > > > <benjamin.you@intel.com>; Meenakshi Aggarwal
> > > > > <meenakshi.aggarwal@nxp.com>; Varun Sethi <V.Sethi@nxp.com>;
> > > > > devel@edk2.groups.io; Pankaj Bansal <pankaj.bansal@nxp.com>
> > > > > Subject: Re: [PATCH 1/1] MdeModulePkg: UART Dynamic clock freq
> > > > Support
> > > > >
> > > > > Hi Ray,
> > > > >
> > > > > I agree it would be nice, but if not - this lets us get rid of
> > > > > otherwise needless driver duplication. To me, that makes it worth
> > > > > a little trivial churn.
> > > > >
> > > > > /
> > > > >     Leif
> > > > >
> > > > > On Thu, Mar 19, 2020 at 15:09:19 +0000, Ni, Ray wrote:
> > > > > > It seems this change requires all platforms DSC to include the
> > > > > > new library
> > > > > class/instance.
> > > > > >
> > > > > > Is there a way that can avoid the platform impact?
> > > > > >
> > > > > > Thanks,
> > > > > > Ray
> > > > > >
> > > > > > > -----Original Message-----
> > > > > > > From: Pankaj Bansal <pankaj.bansal@oss.nxp.com>
> > > > > > > Sent: Wednesday, February 19, 2020 9:32 PM
> > > > > > > To: Wang, Jian J <jian.j.wang@intel.com>; Wu, Hao A
> > > > > <hao.a.wu@intel.com>; Ni, Ray <ray.ni@intel.com>; Ma, Maurice
> > > > > > > <maurice.ma@intel.com>; Dong, Guo <guo.dong@intel.com>; You,
> > > > > Benjamin <benjamin.you@intel.com>; Leif Lindholm
> > > > > > > <leif@nuviainc.com>; Meenakshi Aggarwal
> > > > > <meenakshi.aggarwal@nxp.com>; Varun Sethi <V.Sethi@nxp.com>
> > > > > > > Cc: devel@edk2.groups.io; Pankaj Bansal
> > > > > > > <pankaj.bansal@nxp.com>
> > > > > > > Subject: [PATCH 1/1] MdeModulePkg: UART Dynamic clock freq
> > > > Support
> > > > > > >
> > > > > > > From: Pankaj Bansal <pankaj.bansal@nxp.com>
> > > > > > >
> > > > > > > Some platform support dynamic clocking, which is controlled by
> > > > > > > some jumper setting or hardware registers. Result of that is
> > > > > > > that PCD PcdSerialClockRate would need to be updated for
> > > > > > > frequency
> > > > change.
> > > > > > >
> > > > > > > This patch implements support for dynamic frequency for Uart.
> > > > > > >
> > > > > > > This patch implements default lib, which is using Pcd.
> > > > > > > Platform which needs dynamic clocking needs implement
> > > > > > > SerialUartClockLib
> > > > > > >
> > > > > > > This patch is based on
> > > > > > > ArmPlatformPkg/Library/PL011UartClockLib
> > > > > > >
> > > > > > > Signed-off-by: Pankaj Bansal <pankaj.bansal@nxp.com>
> > > > > > > ---
> > > > > > >  .../Include/Library/SerialUartClockLib.h      | 21 +++++++++++++++
> > > > > > >  .../BaseSerialPortLib16550.c                  |  9 ++++---
> > > > > > >  .../BaseSerialPortLib16550.inf                |  2 +-
> > > > > > >  .../BaseSerialUartClockLib.c                  | 24 +++++++++++++++++
> > > > > > >  .../BaseSerialUartClockLib.inf                | 27 +++++++++++++++++++
> > > > > > >  MdeModulePkg/MdeModulePkg.dsc                 |  2 ++
> > > > > > >  SourceLevelDebugPkg/SourceLevelDebugPkg.dsc   |  1 +
> > > > > > >  UefiPayloadPkg/UefiPayloadPkgIa32.dsc         |  1 +
> > > > > > >  UefiPayloadPkg/UefiPayloadPkgIa32X64.dsc      |  1 +
> > > > > > >  9 files changed, 83 insertions(+), 5 deletions(-)  create
> > > > > > > mode
> > > > > > > 100644 MdeModulePkg/Include/Library/SerialUartClockLib.h
> > > > > > >  create mode 100644
> > > > > MdeModulePkg/Library/BaseSerialUartClockLib/BaseSerialUartClockLib
> > > > > .c
> > > > > > >  create mode 100644
> > > > > MdeModulePkg/Library/BaseSerialUartClockLib/BaseSerialUartClockLib
> > > > > .inf
> > > > > > >
> > > > > > > diff --git a/MdeModulePkg/Include/Library/SerialUartClockLib.h
> > > > > b/MdeModulePkg/Include/Library/SerialUartClockLib.h
> > > > > > > new file mode 100644
> > > > > > > index 000000000000..b6b16f71d4cf
> > > > > > > --- /dev/null
> > > > > > > +++ b/MdeModulePkg/Include/Library/SerialUartClockLib.h
> > > > > > > @@ -0,0 +1,21 @@
> > > > > > > +/** @file
> > > > > > > +*
> > > > > > > +*  Copyright 2020 NXP
> > > > > > > +*
> > > > > > > +*  SPDX-License-Identifier: BSD-2-Clause-Patent
> > > > > > > +*
> > > > > > > +**/
> > > > > > > +
> > > > > > > +#ifndef SERIAL_UART_CLOCK_LIB_H__ #define
> > > > > > > +SERIAL_UART_CLOCK_LIB_H__
> > > > > > > +
> > > > > > > +/**
> > > > > > > +  Return clock in for Uart IP **/
> > > > > > > +UINT32
> > > > > > > +EFIAPI
> > > > > > > +BaseSerialPortGetClock (
> > > > > > > +  VOID
> > > > > > > +  );
> > > > > > > +
> > > > > > > +#endif
> > > > > > > diff --git
> > > > >
> > > >
> > a/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550
> > > > .c
> > > > > > >
> > > > b/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib165
> > > > > > > 50.c index 9cb50dd80d56..2e0c05d5789e 100644
> > > > > > > ---
> > > > >
> > > >
> > a/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550
> > > > .c
> > > > > > > +++
> > > > >
> > > >
> > b/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550
> > > > .c
> > > > > > > @@ -16,6 +16,7 @@
> > > > > > >  #include <Library/IoLib.h>
> > > > > > >  #include <Library/PciLib.h>
> > > > > > >  #include <Library/PlatformHookLib.h>
> > > > > > > +#include <Library/SerialUartClockLib.h>
> > > > > > >  #include <Library/BaseLib.h>
> > > > > > >
> > > > > > >  //
> > > > > > > @@ -501,8 +502,8 @@ SerialPortInitialize (
> > > > > > >    // Calculate divisor for baud generator
> > > > > > >    //    Ref_Clk_Rate / Baud_Rate / 16
> > > > > > >    //
> > > > > > > -  Divisor = PcdGet32 (PcdSerialClockRate) / (PcdGet32
> > > > > > > (PcdSerialBaudRate) *
> > > > > 16);
> > > > > > > -  if ((PcdGet32 (PcdSerialClockRate) % (PcdGet32
> > > > > > > (PcdSerialBaudRate) *
> > > > > 16)) >= PcdGet32 (PcdSerialBaudRate) * 8) {
> > > > > > > +  Divisor = BaseSerialPortGetClock () / (PcdGet32
> > > > > > > + (PcdSerialBaudRate) * 16);  if ((BaseSerialPortGetClock () %
> > > > > > > + (PcdGet32 (PcdSerialBaudRate) * 16)) >=
> > > > > PcdGet32 (PcdSerialBaudRate) * 8) {
> > > > > > >      Divisor++;
> > > > > > >    }
> > > > > > >
> > > > > > > @@ -1080,8 +1081,8 @@ SerialPortSetAttributes (
> > > > > > >    // Calculate divisor for baud generator
> > > > > > >    //    Ref_Clk_Rate / Baud_Rate / 16
> > > > > > >    //
> > > > > > > -  Divisor = PcdGet32 (PcdSerialClockRate) / (SerialBaudRate *
> > > > > > > 16);
> > > > > > > -  if ((PcdGet32 (PcdSerialClockRate) % (SerialBaudRate * 16))
> > > > > > > >=
> > > > > SerialBaudRate * 8) {
> > > > > > > +  Divisor = BaseSerialPortGetClock () / (SerialBaudRate *
> > > > > > > + 16); if ((BaseSerialPortGetClock () % (SerialBaudRate * 16))
> > > > > > > + >= SerialBaudRate *
> > > > > 8) {
> > > > > > >      Divisor++;
> > > > > > >    }
> > > > > > >
> > > > > > > diff --git
> > > > > a/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib165
> > > > > 50.i
> > > > > nf
> > > > > > >
> > > > >
> > b/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib165
> > > > > 50.i
> > > > > nf
> > > > > > > index 8b4ae3f1d4ee..b4c16504f211 100644
> > > > > > > ---
> > > > > a/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib165
> > > > > 50.i
> > > > > nf
> > > > > > > +++
> > > > >
> > b/MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib165
> > > > > 50.i
> > > > > nf
> > > > > > > @@ -24,6 +24,7 @@ [LibraryClasses]
> > > > > > >    IoLib
> > > > > > >    PlatformHookLib
> > > > > > >    PciLib
> > > > > > > +  SerialUartClockLib
> > > > > > >
> > > > > > >  [Sources]
> > > > > > >    BaseSerialPortLib16550.c
> > > > > > > @@ -37,7 +38,6 @@ [Pcd]
> > > > > > >    gEfiMdeModulePkgTokenSpaceGuid.PcdSerialBaudRate                ##
> > > > > CONSUMES
> > > > > > >    gEfiMdeModulePkgTokenSpaceGuid.PcdSerialLineControl
> > ##
> > > > > CONSUMES
> > > > > > >    gEfiMdeModulePkgTokenSpaceGuid.PcdSerialFifoControl             ##
> > > > > CONSUMES
> > > > > > > -  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate               ##
> > > > > CONSUMES
> > > > > > >    gEfiMdeModulePkgTokenSpaceGuid.PcdSerialPciDeviceInfo
> > ##
> > > > > CONSUMES
> > > > > > >    gEfiMdeModulePkgTokenSpaceGuid.PcdSerialExtendedTxFifoSize
> > > > ##
> > > > > CONSUMES
> > > > > > >    gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride
> > ##
> > > > > CONSUMES
> > > > > > > diff --git
> > > > > a/MdeModulePkg/Library/BaseSerialUartClockLib/BaseSerialUartClockL
> > > > > ib.c
> > > > > > > b/MdeModulePkg/Library/BaseSerialUartClockLib/BaseSerialUartCl
> > > > > > > ockL
> > > > > > > ib.c
> > > > > > > new file mode 100644
> > > > > > > index 000000000000..7a0d0427cc4e
> > > > > > > --- /dev/null
> > > > > > > +++
> > > > > b/MdeModulePkg/Library/BaseSerialUartClockLib/BaseSerialUartClockL
> > > > > ib.c
> > > > > > > @@ -0,0 +1,24 @@
> > > > > > > +/** @file
> > > > > > > +*
> > > > > > > +*  Copyright 2020 NXP
> > > > > > > +*
> > > > > > > +*  SPDX-License-Identifier: BSD-2-Clause-Patent
> > > > > > > +*
> > > > > > > +**/
> > > > > > > +
> > > > > > > +#include <Base.h>
> > > > > > > +#include <Library/PcdLib.h>
> > > > > > > +
> > > > > > > +/**
> > > > > > > +  Return clock in for Uart IP
> > > > > > > +
> > > > > > > +  @return Pcd PcdSerialClockRate **/
> > > > > > > +UINT32
> > > > > > > +EFIAPI
> > > > > > > +BaseSerialPortGetClock (
> > > > > > > +  VOID
> > > > > > > +  )
> > > > > > > +{
> > > > > > > +  return PcdGet32 (PcdSerialClockRate); }
> > > > > > > diff --git
> > > > > a/MdeModulePkg/Library/BaseSerialUartClockLib/BaseSerialUartClockL
> > > > > ib.i
> > > > > nf
> > > > > > >
> > > > > b/MdeModulePkg/Library/BaseSerialUartClockLib/BaseSerialUartClockL
> > > > > ib.i
> > > > > nf
> > > > > > > new file mode 100644
> > > > > > > index 000000000000..91ba69436ed6
> > > > > > > --- /dev/null
> > > > > > > +++
> > > > > b/MdeModulePkg/Library/BaseSerialUartClockLib/BaseSerialUartClockL
> > > > > ib.i
> > > > > nf
> > > > > > > @@ -0,0 +1,27 @@
> > > > > > > +#/* @file
> > > > > > > +#  Copyright 2020 NXP
> > > > > > > +#
> > > > > > > +#  SPDX-License-Identifier: BSD-2-Clause-Patent # #*/
> > > > > > > +
> > > > > > > +[Defines]
> > > > > > > +  INF_VERSION                    = 0x0001001A
> > > > > > > +  BASE_NAME                      = BaseSerialUartClockLib
> > > > > > > +  FILE_GUID                      = fa65495e-d3c8-4ea3-9737-994e9ccbaf11
> > > > > > > +  MODULE_TYPE                    = BASE
> > > > > > > +  VERSION_STRING                 = 1.0
> > > > > > > +  LIBRARY_CLASS                  = SerialUartClockLib
> > > > > > > +
> > > > > > > +[Packages]
> > > > > > > +  MdePkg/MdePkg.dec
> > > > > > > +  MdeModulePkg/MdeModulePkg.dec
> > > > > > > +
> > > > > > > +[Sources.common]
> > > > > > > +  BaseSerialUartClockLib.c
> > > > > > > +
> > > > > > > +[LibraryClasses]
> > > > > > > +  PcdLib
> > > > > > > +
> > > > > > > +[Pcd]
> > > > > > > +  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate
> > ##
> > > > > CONSUMES
> > > > > > > diff --git a/MdeModulePkg/MdeModulePkg.dsc
> > > > > b/MdeModulePkg/MdeModulePkg.dsc
> > > > > > > index f7dbb27ce25d..d581ca797b3b 100644
> > > > > > > --- a/MdeModulePkg/MdeModulePkg.dsc
> > > > > > > +++ b/MdeModulePkg/MdeModulePkg.dsc
> > > > > > > @@ -65,6 +65,7 @@ [LibraryClasses]
> > > > > > >    UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
> > > > > > >
> > > > >
> > > >
> > SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementL
> > > > ib/D
> > > > > xeSecurityManagementLib.inf
> > > > > > >
> > > > >
> > > >
> > TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTem
> > > > pl
> > > > > TimerLib|at
> > > > > e.inf
> > > > > > > +
> > > > >
> > > > SerialUartClockLib|MdeModulePkg/Library/BaseSerialUartClockLib/BaseS
> > > > SerialUartClockLib|er
> > > > > SerialUartClockLib|ialU
> > > > > artClockLib.inf
> > > > > > >
> > > > > SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortL
> > > > > SerialPortLib|ibNu
> > > > > SerialPortLib|ll.inf
> > > > > > >
> > > > >
> > > >
> > CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.
> > > > CapsuleLib|i
> > > > n
> > > > > CapsuleLib|f
> > > > > > >    PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
> > > > > > > @@ -292,6 +293,7 @@ [Components]
> > > > > > >
> > > > >
> > > >
> > MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.
> > > > inf
> > > > > > >
> > > > >
> > > >
> > MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeRep
> > > > ortSt
> > > > > atusCodeLib.inf
> > > > > > >
> > > > >
> > > >
> > MdeModulePkg/Library/RuntimeResetSystemLib/RuntimeResetSystemLib.i
> > > > nf
> > > > > > > +
> > > > > MdeModulePkg/Library/BaseSerialUartClockLib/BaseSerialUartClockLib
> > > > > .inf
> > > > > > >
> > > > >
> > MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550
> > > > > .inf
> > > > > > >
> > > > >
> > > >
> > MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull
> > > > .i
> > > > > nf
> > > > > > >
> > > > >
> > > >
> > MdeModulePkg/Library/DxeDebugPrintErrorLevelLib/DxeDebugPrintErrorLe
> > > > ve
> > > > > lLi
> > > > > b.inf
> > > > > > > diff --git a/SourceLevelDebugPkg/SourceLevelDebugPkg.dsc
> > > > > b/SourceLevelDebugPkg/SourceLevelDebugPkg.dsc
> > > > > > > index a1a1b81d03cb..c0ad88f26341 100644
> > > > > > > --- a/SourceLevelDebugPkg/SourceLevelDebugPkg.dsc
> > > > > > > +++ b/SourceLevelDebugPkg/SourceLevelDebugPkg.dsc
> > > > > > > @@ -33,6 +33,7 @@ [LibraryClasses.common]
> > > > > > >
> > > > >
> > > >
> > SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchro
> > > > SynchronizationLib|ni
> > > > > SynchronizationLib|zati
> > > > > onLib.inf
> > > > > > >
> > > > > > > LocalApicLib|UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.inf
> > > > > > >
> > > > >
> > > >
> > PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/Bas
> > > > PeCoffGetEntryPointLib|e
> > > > P
> > > > > PeCoffGetEntryPointLib|eC
> > > > > offGetEntryPointLib.inf
> > > > > > > +
> > > > >
> > > > SerialUartClockLib|MdeModulePkg/Library/BaseSerialUartClockLib/BaseS
> > > > SerialUartClockLib|er
> > > > > SerialUartClockLib|ialU
> > > > > artClockLib.inf
> > > > > > >
> > > > > SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSeri
> > > > > SerialPortLib|alPo
> > > > > SerialPortLib|rtLib
> > > > > 16550.inf
> > > > > > >
> > > > >
> > > > PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLi
> > > > PeCoffExtraActionLib|bD
> > > > > PeCoffExtraActionLib|ebu
> > > > > g/PeCoffExtraActionLibDebug.inf
> > > > > > >
> > > > >
> > > >
> > TimerLib|UefiCpuPkg/Library/SecPeiDxeTimerLibUefiCpu/SecPeiDxeTimerL
> > > > TimerLib|i
> > > > b
> > > > > TimerLib|Ue
> > > > > fiCpu.inf
> > > > > > > diff --git a/UefiPayloadPkg/UefiPayloadPkgIa32.dsc
> > > > > b/UefiPayloadPkg/UefiPayloadPkgIa32.dsc
> > > > > > > index d52945442e0e..a556a32b272c 100644
> > > > > > > --- a/UefiPayloadPkg/UefiPayloadPkgIa32.dsc
> > > > > > > +++ b/UefiPayloadPkg/UefiPayloadPkgIa32.dsc
> > > > > > > @@ -174,6 +174,7 @@ [LibraryClasses]
> > > > > > >    #
> > > > > > >
> > > > > > > TimerLib|UefiPayloadPkg/Library/AcpiTimerLib/AcpiTimerLib.inf
> > > > > > >
> > > > >
> > > >
> > ResetSystemLib|UefiPayloadPkg/Library/ResetSystemLib/ResetSystemLib.
> > > > ResetSystemLib|in
> > > > > ResetSystemLib|f
> > > > > > > +
> > > > >
> > > > SerialUartClockLib|MdeModulePkg/Library/BaseSerialUartClockLib/BaseS
> > > > SerialUartClockLib|er
> > > > > SerialUartClockLib|ialU
> > > > > artClockLib.inf
> > > > > > >
> > > > > SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSeri
> > > > > SerialPortLib|alPo
> > > > > SerialPortLib|rtLib
> > > > > 16550.inf
> > > > > > >
> > > > >
> > > >
> > PlatformHookLib|UefiPayloadPkg/Library/PlatformHookLib/PlatformHookL
> > > > PlatformHookLib|ib
> > > > > PlatformHookLib|.in
> > > > > f
> > > > > > >
> > > > >
> > > >
> > PlatformBootManagerLib|UefiPayloadPkg/Library/PlatformBootManagerLib
> > > > PlatformBootManagerLib|/
> > > > P
> > > > > PlatformBootManagerLib|l
> > > > > atformBootManagerLib.inf
> > > > > > > diff --git a/UefiPayloadPkg/UefiPayloadPkgIa32X64.dsc
> > > > > b/UefiPayloadPkg/UefiPayloadPkgIa32X64.dsc
> > > > > > > index 0736cd995476..7e86375fe57d 100644
> > > > > > > --- a/UefiPayloadPkg/UefiPayloadPkgIa32X64.dsc
> > > > > > > +++ b/UefiPayloadPkg/UefiPayloadPkgIa32X64.dsc
> > > > > > > @@ -175,6 +175,7 @@ [LibraryClasses]
> > > > > > >    #
> > > > > > >
> > > > > > > TimerLib|UefiPayloadPkg/Library/AcpiTimerLib/AcpiTimerLib.inf
> > > > > > >
> > > > >
> > > >
> > ResetSystemLib|UefiPayloadPkg/Library/ResetSystemLib/ResetSystemLib.
> > > > ResetSystemLib|in
> > > > > ResetSystemLib|f
> > > > > > > +
> > > > >
> > > > SerialUartClockLib|MdeModulePkg/Library/BaseSerialUartClockLib/BaseS
> > > > SerialUartClockLib|er
> > > > > SerialUartClockLib|ialU
> > > > > artClockLib.inf
> > > > > > >
> > > > > SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSeri
> > > > > SerialPortLib|alPo
> > > > > SerialPortLib|rtLib
> > > > > 16550.inf
> > > > > > >
> > > > >
> > > >
> > PlatformHookLib|UefiPayloadPkg/Library/PlatformHookLib/PlatformHookL
> > > > PlatformHookLib|ib
> > > > > PlatformHookLib|.in
> > > > > f
> > > > > > >
> > > > >
> > > >
> > PlatformBootManagerLib|UefiPayloadPkg/Library/PlatformBootManagerLib
> > > > PlatformBootManagerLib|/
> > > > P
> > > > > PlatformBootManagerLib|l
> > > > > atformBootManagerLib.inf
> > > > > > > --
> > > > > > > 2.17.1
> > > > > >
> > > >
> > > >
> > 
> > 
> > 
> 

  reply	other threads:[~2020-03-30  7:35 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-19 13:31 [PATCH 0/1] UART Dynamic clock freq Support Pankaj Bansal
2020-02-19 13:31 ` [PATCH 1/1] MdeModulePkg: " Pankaj Bansal
2020-03-19 13:40   ` [edk2-devel] " Samer El-Haj-Mahmoud
2020-03-19 15:09   ` Ni, Ray
2020-03-19 15:30     ` Leif Lindholm
2020-03-23  5:31       ` Pankaj Bansal
2020-03-26 14:13         ` [edk2-devel] " Guomin Jiang
2020-03-28 12:36           ` Pankaj Bansal
2020-03-30  1:20             ` Guomin Jiang
2020-03-30  7:35               ` Leif Lindholm [this message]
2020-03-30  7:44                 ` Ard Biesheuvel
2020-03-31  1:53                   ` Ni, Ray
2020-03-31  9:22                     ` [edk2-devel] API breakages and their implications. Was: " Leif Lindholm
2020-03-31 12:11                       ` Ni, Ray
2020-03-31 12:59                         ` Leif Lindholm
2020-03-31 13:23                       ` Laszlo Ersek
2020-04-01 12:55                         ` Leif Lindholm
2020-04-11 11:54                     ` [edk2-devel] " Pankaj Bansal

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=20200330073518.GU22097@bivouac.eciton.net \
    --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