public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Heng Luo" <heng.luo@intel.com>
To: "mikuback@linux.microsoft.com" <mikuback@linux.microsoft.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Chaganty, Rangasai V" <rangasai.v.chaganty@intel.com>,
	"Desimone, Nathaniel L" <nathaniel.l.desimone@intel.com>
Subject: Re: [PATCH v6 31/52] TigerlakeOpenBoardPkg: Remove SmmSpiFlashCommonLib
Date: Fri, 29 Oct 2021 03:03:45 +0000	[thread overview]
Message-ID: <SN6PR11MB275212C31B0D504E5F41692493879@SN6PR11MB2752.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20211028204326.645-32-mikuback@linux.microsoft.com>

Reviewed-by: Heng Luo <heng.luo@intel.com>

> -----Original Message-----
> From: mikuback@linux.microsoft.com <mikuback@linux.microsoft.com>
> Sent: Friday, October 29, 2021 4:43 AM
> To: devel@edk2.groups.io
> Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Desimone,
> Nathaniel L <nathaniel.l.desimone@intel.com>; Luo, Heng <heng.luo@intel.com>
> Subject: [PATCH v6 31/52] TigerlakeOpenBoardPkg: Remove
> SmmSpiFlashCommonLib
> 
> From: Michael Kubacki <michael.kubacki@microsoft.com>
> 
> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3307
> 
> The library has been consolidated with instances in other Intel silicon packages
> as a single instance in IntelSiliconPkg
> 
> Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Cc: Heng Luo <heng.luo@intel.com>
> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com>
> ---
> 
> Platform/Intel/TigerlakeOpenBoardPkg/Library/SmmSpiFlashCommonLib/SpiFla
> shCommon.c         | 210 --------------------
> 
> Platform/Intel/TigerlakeOpenBoardPkg/Library/SmmSpiFlashCommonLib/SpiFla
> shCommonSmmLib.c   |  58 ------
> 
> Platform/Intel/TigerlakeOpenBoardPkg/Library/SmmSpiFlashCommonLib/SmmS
> piFlashCommonLib.inf |  49 -----
>  3 files changed, 317 deletions(-)
> 
> diff --git
> a/Platform/Intel/TigerlakeOpenBoardPkg/Library/SmmSpiFlashCommonLib/SpiF
> lashCommon.c
> b/Platform/Intel/TigerlakeOpenBoardPkg/Library/SmmSpiFlashCommonLib/SpiF
> lashCommon.c
> deleted file mode 100644
> index f86896dd1ff5..000000000000
> ---
> a/Platform/Intel/TigerlakeOpenBoardPkg/Library/SmmSpiFlashCommonLib/SpiF
> lashCommon.c
> +++ /dev/null
> @@ -1,210 +0,0 @@
> -/** @file
> -  Wrap EFI_SPI_PROTOCOL to provide some library level interfaces
> -  for module use.
> -
> -  Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
> -  SPDX-License-Identifier: BSD-2-Clause-Patent -**/
> -
> -#include <Library/SpiFlashCommonLib.h>
> -#include <Library/IoLib.h>
> -#include <Protocol/Spi.h>
> -
> -PCH_SPI_PROTOCOL       *mSpiProtocol;
> -
> -//
> -// Variables for boottime and runtime usage.
> -//
> -UINTN mBiosAreaBaseAddress = 0;
> -UINTN mBiosSize            = 0;
> -UINTN mBiosOffset          = 0;
> -
> -/**
> -  Enable block protection on the Serial Flash device.
> -
> -  @retval     EFI_SUCCESS       Opertion is successful.
> -  @retval     EFI_DEVICE_ERROR  If there is any device errors.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -SpiFlashLock (
> -  VOID
> -  )
> -{
> -  return EFI_SUCCESS;
> -}
> -
> -/**
> -  Read NumBytes bytes of data from the address specified by
> -  PAddress into Buffer.
> -
> -  @param[in]      Address       The starting physical address of the read.
> -  @param[in,out]  NumBytes      On input, the number of bytes to read. On
> output, the number
> -                                of bytes actually read.
> -  @param[out]     Buffer        The destination data buffer for the read.
> -
> -  @retval         EFI_SUCCESS       Operation is successful.
> -  @retval         EFI_DEVICE_ERROR  If there is any device errors.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -SpiFlashRead (
> -  IN     UINTN                        Address,
> -  IN OUT UINT32                       *NumBytes,
> -     OUT UINT8                        *Buffer
> -  )
> -{
> -  ASSERT ((NumBytes != NULL) && (Buffer != NULL));
> -  if ((NumBytes == NULL) || (Buffer == NULL)) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  //
> -  // This function is implemented specifically for those platforms
> -  // at which the SPI device is memory mapped for read. So this
> -  // function just do a memory copy for Spi Flash Read.
> -  //
> -  CopyMem (Buffer, (VOID *) Address, *NumBytes);
> -
> -  return EFI_SUCCESS;
> -}
> -
> -/**
> -  Write NumBytes bytes of data from Buffer to the address specified by
> -  PAddresss.
> -
> -  @param[in]      Address         The starting physical address of the write.
> -  @param[in,out]  NumBytes        On input, the number of bytes to write. On
> output,
> -                                  the actual number of bytes written.
> -  @param[in]      Buffer          The source data buffer for the write.
> -
> -  @retval         EFI_SUCCESS            Operation is successful.
> -  @retval         EFI_DEVICE_ERROR       If there is any device errors.
> -  @retval         EFI_INVALID_PARAMETER  Invalid parameter.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -SpiFlashWrite (
> -  IN     UINTN                      Address,
> -  IN OUT UINT32                     *NumBytes,
> -  IN     UINT8                      *Buffer
> -  )
> -{
> -  EFI_STATUS                Status;
> -  UINTN                     Offset;
> -  UINT32                    Length;
> -  UINT32                    RemainingBytes;
> -
> -  ASSERT ((NumBytes != NULL) && (Buffer != NULL));
> -  if ((NumBytes == NULL) || (Buffer == NULL)) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  ASSERT (Address >= mBiosAreaBaseAddress);
> -  if (Address < mBiosAreaBaseAddress) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  Offset = Address - mBiosAreaBaseAddress;
> -
> -  ASSERT ((*NumBytes + Offset) <= mBiosSize);
> -  if ((*NumBytes + Offset) > mBiosSize) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  Status = EFI_SUCCESS;
> -  RemainingBytes = *NumBytes;
> -
> -
> -  while (RemainingBytes > 0) {
> -    if (RemainingBytes > SECTOR_SIZE_4KB) {
> -      Length = SECTOR_SIZE_4KB;
> -    } else {
> -      Length = RemainingBytes;
> -    }
> -    Status = mSpiProtocol->FlashWrite (
> -                             mSpiProtocol,
> -                             FlashRegionBios,
> -                             (UINT32) Offset,
> -                             Length,
> -                             Buffer
> -                             );
> -    if (EFI_ERROR (Status)) {
> -      break;
> -    }
> -    RemainingBytes -= Length;
> -    Offset += Length;
> -    Buffer += Length;
> -  }
> -
> -  //
> -  // Actual number of bytes written
> -  //
> -  *NumBytes -= RemainingBytes;
> -
> -  return Status;
> -}
> -
> -/**
> -  Erase the block starting at Address.
> -
> -  @param[in]  Address         The starting physical address of the block to be
> erased.
> -                              This library assume that caller garantee that the PAddress
> -                              is at the starting address of this block.
> -  @param[in]  NumBytes        On input, the number of bytes of the logical block
> to be erased.
> -                              On output, the actual number of bytes erased.
> -
> -  @retval     EFI_SUCCESS.           Operation is successful.
> -  @retval     EFI_DEVICE_ERROR       If there is any device errors.
> -  @retval     EFI_INVALID_PARAMETER  Invalid parameter.
> -
> -**/
> -EFI_STATUS
> -EFIAPI
> -SpiFlashBlockErase (
> -  IN    UINTN                     Address,
> -  IN    UINTN                     *NumBytes
> -  )
> -{
> -  EFI_STATUS          Status;
> -  UINTN               Offset;
> -  UINTN               RemainingBytes;
> -
> -  ASSERT (NumBytes != NULL);
> -  if (NumBytes == NULL) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  ASSERT (Address >= mBiosAreaBaseAddress);
> -  if (Address < mBiosAreaBaseAddress) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  Offset = Address - mBiosAreaBaseAddress;
> -
> -  ASSERT ((*NumBytes % SECTOR_SIZE_4KB) == 0);
> -  if ((*NumBytes % SECTOR_SIZE_4KB) != 0) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  ASSERT ((*NumBytes + Offset) <= mBiosSize);
> -  if ((*NumBytes + Offset) > mBiosSize) {
> -    return EFI_INVALID_PARAMETER;
> -  }
> -
> -  Status = EFI_SUCCESS;
> -  RemainingBytes = *NumBytes;
> -
> -
> -  Status = mSpiProtocol->FlashErase (
> -                           mSpiProtocol,
> -                           FlashRegionBios,
> -                           (UINT32) Offset,
> -                           (UINT32) RemainingBytes
> -                           );
> -  return Status;
> -}
> -
> diff --git
> a/Platform/Intel/TigerlakeOpenBoardPkg/Library/SmmSpiFlashCommonLib/SpiF
> lashCommonSmmLib.c
> b/Platform/Intel/TigerlakeOpenBoardPkg/Library/SmmSpiFlashCommonLib/SpiF
> lashCommonSmmLib.c
> deleted file mode 100644
> index 7941b8f8720c..000000000000
> ---
> a/Platform/Intel/TigerlakeOpenBoardPkg/Library/SmmSpiFlashCommonLib/SpiF
> lashCommonSmmLib.c
> +++ /dev/null
> @@ -1,58 +0,0 @@
> -/** @file
> -  SMM Library instance of SPI Flash Common Library Class
> -
> -  Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
> -  SPDX-License-Identifier: BSD-2-Clause-Patent -**/
> -
> -#include <Library/SmmServicesTableLib.h> -#include <Protocol/Spi.h> -#include
> <Library/DebugLib.h>
> -
> -extern PCH_SPI_PROTOCOL   *mSpiProtocol;
> -
> -extern UINTN mBiosAreaBaseAddress;
> -extern UINTN mBiosSize;
> -extern UINTN mBiosOffset;
> -
> -/**
> -  The library constructuor.
> -
> -  The function does the necessary initialization work for this library
> -  instance.
> -
> -  @param[in]  ImageHandle       The firmware allocated handle for the UEFI
> image.
> -  @param[in]  SystemTable       A pointer to the EFI system table.
> -
> -  @retval     EFI_SUCCESS       The function always return EFI_SUCCESS for now.
> -                                It will ASSERT on error for debug version.
> -  @retval     EFI_ERROR         Please reference LocateProtocol for error code
> details.
> -**/
> -EFI_STATUS
> -EFIAPI
> -SmmSpiFlashCommonLibConstructor (
> -  IN EFI_HANDLE        ImageHandle,
> -  IN EFI_SYSTEM_TABLE  *SystemTable
> -  )
> -{
> -  EFI_STATUS Status;
> -  UINT32     BaseAddr;
> -  UINT32     RegionSize;
> -
> -  mBiosAreaBaseAddress = (UINTN)PcdGet32 (PcdBiosAreaBaseAddress);
> -  mBiosSize            = (UINTN)PcdGet32 (PcdBiosSize);
> -
> -  //
> -  // Locate the SMM SPI protocol.
> -  //
> -  Status = gSmst->SmmLocateProtocol (
> -                    &gPchSmmSpiProtocolGuid,
> -                    NULL,
> -                    (VOID **) &mSpiProtocol
> -                    );
> -  ASSERT_EFI_ERROR (Status);
> -
> -  mSpiProtocol->GetRegionAddress (mSpiProtocol, FlashRegionBios, &BaseAddr,
> &RegionSize);
> -  mBiosOffset = BaseAddr;
> -  return Status;
> -}
> diff --git
> a/Platform/Intel/TigerlakeOpenBoardPkg/Library/SmmSpiFlashCommonLib/Sm
> mSpiFlashCommonLib.inf
> b/Platform/Intel/TigerlakeOpenBoardPkg/Library/SmmSpiFlashCommonLib/Sm
> mSpiFlashCommonLib.inf
> deleted file mode 100644
> index 374f5ea52b98..000000000000
> ---
> a/Platform/Intel/TigerlakeOpenBoardPkg/Library/SmmSpiFlashCommonLib/Sm
> mSpiFlashCommonLib.inf
> +++ /dev/null
> @@ -1,49 +0,0 @@
> -## @file
> -# SMM Library instance of Spi Flash Common Library Class -# -#  Copyright (c)
> 2021, Intel Corporation. All rights reserved.<BR> -#  SPDX-License-Identifier:
> BSD-2-Clause-Patent -# -##
> -
> -[Defines]
> -  INF_VERSION                    = 0x00010017
> -  BASE_NAME                      = SmmSpiFlashCommonLib
> -  FILE_GUID                      = 9632D96E-E849-4217-9217-DC500B8AAE47
> -  VERSION_STRING                 = 1.0
> -  MODULE_TYPE                    = DXE_SMM_DRIVER
> -  LIBRARY_CLASS                  = SpiFlashCommonLib|DXE_SMM_DRIVER
> -  CONSTRUCTOR                    = SmmSpiFlashCommonLibConstructor
> -#
> -# The following information is for reference only and not required by the build
> tools.
> -#
> -# VALID_ARCHITECTURES = IA32 X64
> -#
> -
> -[LibraryClasses]
> -  IoLib
> -  MemoryAllocationLib
> -  BaseLib
> -  UefiLib
> -  SmmServicesTableLib
> -  BaseMemoryLib
> -  DebugLib
> -
> -[Packages]
> -  MdePkg/MdePkg.dec
> -  MinPlatformPkg/MinPlatformPkg.dec
> -  TigerlakeSiliconPkg/SiPkg.dec
> -
> -[Pcd]
> -  gSiPkgTokenSpaceGuid.PcdBiosAreaBaseAddress   ## CONSUMES
> -  gSiPkgTokenSpaceGuid.PcdBiosSize              ## CONSUMES
> -
> -[Sources]
> -  SpiFlashCommonSmmLib.c
> -  SpiFlashCommon.c
> -
> -[Protocols]
> -  gPchSmmSpiProtocolGuid                        ## CONSUMES
> -
> -[Depex.X64.DXE_SMM_DRIVER]
> -  gPchSmmSpiProtocolGuid
> --
> 2.28.0.windows.1


  reply	other threads:[~2021-10-29  3:03 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-28 20:42 [PATCH v6 00/52] Consolidate SpiFlashCommonLib instances Michael Kubacki
2021-10-28 20:42 ` [PATCH v6 01/52] CometlakeOpenBoardPkg: Remove redundant IntelSiliconPkg.dec entry Michael Kubacki
2021-10-28 20:42 ` [PATCH v6 02/52] WhiskeylakeOpenBoardPkg: " Michael Kubacki
2021-10-28 20:42 ` [PATCH v6 03/52] CometlakeOpenBoardPkg/PeiPolicyUpdateLib: Add missing GUID to INF Michael Kubacki
2021-10-28 20:42 ` [PATCH v6 04/52] IntelSiliconPkg: Add BIOS area base address and size PCDs Michael Kubacki
2021-10-28 20:42 ` [PATCH v6 05/52] IntelSiliconPkg: Add microcode FV PCDs Michael Kubacki
2021-10-28 20:42 ` [PATCH v6 06/52] IntelSiliconPkg: Add PCH SPI PPI Michael Kubacki
2021-10-29 22:22   ` Nate DeSimone
2021-10-29 22:54     ` [edk2-devel] " Michael Kubacki
2021-10-28 20:42 ` [PATCH v6 07/52] IntelSiliconPkg: Add PCH SPI Protocol Michael Kubacki
2021-10-29 22:22   ` [edk2-devel] " Nate DeSimone
2021-10-28 20:42 ` [PATCH v6 08/52] IntelSiliconPkg: Add SpiFlashCommonLib Michael Kubacki
2021-10-28 20:42 ` [PATCH v6 09/52] IntelSiliconPkg: Add SmmSpiFlashCommonLib Michael Kubacki
2021-10-28 20:42 ` [PATCH v6 10/52] IntelSiliconPkg: Add MM SPI FVB services Michael Kubacki
2021-10-28 20:42 ` [PATCH v6 11/52] CometlakeOpenBoardPkg: Use IntelSiliconPkg BIOS area and ucode PCDs Michael Kubacki
2021-10-28 20:42 ` [PATCH v6 12/52] KabylakeOpenBoardPkg: " Michael Kubacki
2021-10-28 20:42 ` [PATCH v6 13/52] SimicsOpenBoardPkg: " Michael Kubacki
2021-10-28 20:42 ` [PATCH v6 14/52] TigerlakeOpenBoardPkg: " Michael Kubacki
2021-10-28 20:42 ` [PATCH v6 15/52] WhiskeylakeOpenBoardPkg: " Michael Kubacki
2021-10-28 20:42 ` [PATCH v6 16/52] CoffeelakeSiliconPkg: " Michael Kubacki
2021-10-28 20:42 ` [PATCH v6 17/52] KabylakeSiliconPkg: " Michael Kubacki
2021-10-28 20:42 ` [PATCH v6 18/52] SimicsIch10Pkg: " Michael Kubacki
2021-10-28 20:42 ` [PATCH v6 19/52] TigerlakeSiliconPkg: " Michael Kubacki
2021-10-29  3:02   ` [edk2-devel] " Heng Luo
2021-10-28 20:42 ` [PATCH v6 20/52] CometlakeOpenBoardPkg: Update SpiFvbService & SpiFlashCommonLib Michael Kubacki
2021-10-28 20:42 ` [PATCH v6 21/52] KabylakeOpenBoardPkg: " Michael Kubacki
2021-10-28 20:42 ` [PATCH v6 22/52] SimicsOpenBoardPkg: " Michael Kubacki
2021-10-28 20:42 ` [PATCH v6 23/52] TigerlakeOpenBoardPkg: " Michael Kubacki
2021-10-29  3:03   ` Heng Luo
2021-10-28 20:42 ` [PATCH v6 24/52] WhiskeylakeOpenBoardPkg: " Michael Kubacki
2021-10-28 20:42 ` [PATCH v6 25/52] PurleyOpenBoardPkg: Use IntelSiliconPkg SpiFvbServiceSmm Michael Kubacki
2021-11-02 23:11   ` Nate DeSimone
2021-10-28 20:43 ` [PATCH v6 26/52] WhitleyOpenBoardPkg: UseIntelSiliconPkg SpiFvbServiceSmm Michael Kubacki
2021-11-01 20:40   ` Oram, Isaac W
2021-11-02 23:12   ` Nate DeSimone
2021-10-28 20:43 ` [PATCH v6 27/52] MinPlatformPkg: Remove SpiFvbService modules Michael Kubacki
2021-10-28 20:43 ` [PATCH v6 28/52] CoffeelakeSiliconPkg: Remove SmmSpiFlashCommonLib Michael Kubacki
2021-10-28 20:43 ` [PATCH v6 29/52] KabylakeSiliconPkg: " Michael Kubacki
2021-10-28 20:43 ` [PATCH v6 30/52] SimicsIch10Pkg: " Michael Kubacki
2021-10-28 20:43 ` [PATCH v6 31/52] TigerlakeOpenBoardPkg: " Michael Kubacki
2021-10-29  3:03   ` Heng Luo [this message]
2021-10-28 20:43 ` [PATCH v6 32/52] MinPlatformPkg: Remove SpiFlashCommonLibNull Michael Kubacki
2021-10-28 20:43 ` [PATCH v6 33/52] PurleyOpenBoardPkg: Add SpiFlashCommonLib.h Michael Kubacki
2021-11-01 20:38   ` Oram, Isaac W
2021-11-01 21:01     ` Michael Kubacki
2021-11-02 23:18   ` Nate DeSimone
2021-10-28 20:43 ` [PATCH v6 34/52] KabylakeOpenBoardPkg/PeiSerialPortLibSpiFlash: Add IntelSiliconPkg.dec Michael Kubacki
2021-10-28 20:43 ` [PATCH v6 35/52] CoffeelakeSiliconPkg: Remove PCH SPI PPI and Protocol from package Michael Kubacki
2021-11-01 20:43 ` [edk2-devel] [PATCH v6 00/52] Consolidate SpiFlashCommonLib instances Oram, Isaac W
2021-11-01 21:13   ` Michael Kubacki
2021-11-02 23:39 ` Nate DeSimone

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=SN6PR11MB275212C31B0D504E5F41692493879@SN6PR11MB2752.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