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
next prev parent 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