From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mx.groups.io with SMTP id smtpd.web12.665.1635453971656037925 for ; Thu, 28 Oct 2021 13:46:11 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@linux.microsoft.com header.s=default header.b=N1uBD6A5; spf=pass (domain: linux.microsoft.com, ip: 13.77.154.182, mailfrom: mikuback@linux.microsoft.com) Received: from localhost.localdomain (c-73-27-179-174.hsd1.fl.comcast.net [73.27.179.174]) by linux.microsoft.com (Postfix) with ESMTPSA id E7946208F4E9; Thu, 28 Oct 2021 13:46:10 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com E7946208F4E9 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1635453971; bh=xgRbP43LQ0uGoZTMiI3XYcd9BtWhfRHwgzaIftw5gWs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=N1uBD6A5VM6T8gc4HiLqY3XjiG+tGqxITmhlZLq22H4thg78+EBPzpEGaqef+VZSm c4t8Kdp7zQCad4e2Qziz7ixAMyyWihDGTLuqiY4ZdOC3Q/1Wgdz+fvBGM5E71Iq45S tMjOlmSSEcf/RN81WwQZjuM2bVruiy38nj0sve48= From: "Michael Kubacki" To: devel@edk2.groups.io Cc: Sai Chaganty , Nate DeSimone , Heng Luo Subject: [PATCH v6 31/52] TigerlakeOpenBoardPkg: Remove SmmSpiFlashCommonLib Date: Thu, 28 Oct 2021 16:43:05 -0400 Message-Id: <20211028204326.645-32-mikuback@linux.microsoft.com> X-Mailer: git-send-email 2.28.0.windows.1 In-Reply-To: <20211028204326.645-1-mikuback@linux.microsoft.com> References: <20211028204326.645-1-mikuback@linux.microsoft.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Michael Kubacki REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3D3307 The library has been consolidated with instances in other Intel silicon packages as a single instance in IntelSiliconPkg Cc: Sai Chaganty Cc: Nate DeSimone Cc: Heng Luo Signed-off-by: Michael Kubacki Reviewed-by: Nate DeSimone Reviewed-by: Sai Chaganty --- Platform/Intel/TigerlakeOpenBoardPkg/Library/SmmSpiFlashCommonLib/SpiFla= shCommon.c | 210 -------------------- Platform/Intel/TigerlakeOpenBoardPkg/Library/SmmSpiFlashCommonLib/SpiFla= shCommonSmmLib.c | 58 ------ Platform/Intel/TigerlakeOpenBoardPkg/Library/SmmSpiFlashCommonLib/SmmSpi= FlashCommonLib.inf | 49 ----- 3 files changed, 317 deletions(-) diff --git a/Platform/Intel/TigerlakeOpenBoardPkg/Library/SmmSpiFlashComm= onLib/SpiFlashCommon.c b/Platform/Intel/TigerlakeOpenBoardPkg/Library/Smm= SpiFlashCommonLib/SpiFlashCommon.c deleted file mode 100644 index f86896dd1ff5..000000000000 --- a/Platform/Intel/TigerlakeOpenBoardPkg/Library/SmmSpiFlashCommonLib/S= piFlashCommon.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.
- SPDX-License-Identifier: BSD-2-Clause-Patent -**/ - -#include -#include -#include - -PCH_SPI_PROTOCOL *mSpiProtocol; - -// -// Variables for boottime and runtime usage. -// -UINTN mBiosAreaBaseAddress =3D 0; -UINTN mBiosSize =3D 0; -UINTN mBiosOffset =3D 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 rea= d. - @param[in,out] NumBytes On input, the number of bytes to read. O= n 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 !=3D NULL) && (Buffer !=3D NULL)); - if ((NumBytes =3D=3D NULL) || (Buffer =3D=3D 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 w= rite. - @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 !=3D NULL) && (Buffer !=3D NULL)); - if ((NumBytes =3D=3D NULL) || (Buffer =3D=3D NULL)) { - return EFI_INVALID_PARAMETER; - } - - ASSERT (Address >=3D mBiosAreaBaseAddress); - if (Address < mBiosAreaBaseAddress) { - return EFI_INVALID_PARAMETER; - } - - Offset =3D Address - mBiosAreaBaseAddress; - - ASSERT ((*NumBytes + Offset) <=3D mBiosSize); - if ((*NumBytes + Offset) > mBiosSize) { - return EFI_INVALID_PARAMETER; - } - - Status =3D EFI_SUCCESS; - RemainingBytes =3D *NumBytes; - - - while (RemainingBytes > 0) { - if (RemainingBytes > SECTOR_SIZE_4KB) { - Length =3D SECTOR_SIZE_4KB; - } else { - Length =3D RemainingBytes; - } - Status =3D mSpiProtocol->FlashWrite ( - mSpiProtocol, - FlashRegionBios, - (UINT32) Offset, - Length, - Buffer - ); - if (EFI_ERROR (Status)) { - break; - } - RemainingBytes -=3D Length; - Offset +=3D Length; - Buffer +=3D Length; - } - - // - // Actual number of bytes written - // - *NumBytes -=3D 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 t= hat the PAddress - is at the starting address of this block. - @param[in] NumBytes On input, the number of bytes of the logic= al block to be erased. - On output, the actual number of bytes eras= ed. - - @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 !=3D NULL); - if (NumBytes =3D=3D NULL) { - return EFI_INVALID_PARAMETER; - } - - ASSERT (Address >=3D mBiosAreaBaseAddress); - if (Address < mBiosAreaBaseAddress) { - return EFI_INVALID_PARAMETER; - } - - Offset =3D Address - mBiosAreaBaseAddress; - - ASSERT ((*NumBytes % SECTOR_SIZE_4KB) =3D=3D 0); - if ((*NumBytes % SECTOR_SIZE_4KB) !=3D 0) { - return EFI_INVALID_PARAMETER; - } - - ASSERT ((*NumBytes + Offset) <=3D mBiosSize); - if ((*NumBytes + Offset) > mBiosSize) { - return EFI_INVALID_PARAMETER; - } - - Status =3D EFI_SUCCESS; - RemainingBytes =3D *NumBytes; - - - Status =3D mSpiProtocol->FlashErase ( - mSpiProtocol, - FlashRegionBios, - (UINT32) Offset, - (UINT32) RemainingBytes - ); - return Status; -} - diff --git a/Platform/Intel/TigerlakeOpenBoardPkg/Library/SmmSpiFlashComm= onLib/SpiFlashCommonSmmLib.c b/Platform/Intel/TigerlakeOpenBoardPkg/Libra= ry/SmmSpiFlashCommonLib/SpiFlashCommonSmmLib.c deleted file mode 100644 index 7941b8f8720c..000000000000 --- a/Platform/Intel/TigerlakeOpenBoardPkg/Library/SmmSpiFlashCommonLib/S= piFlashCommonSmmLib.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.
- SPDX-License-Identifier: BSD-2-Clause-Patent -**/ - -#include -#include -#include - -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 UE= FI image. - @param[in] SystemTable A pointer to the EFI system table. - - @retval EFI_SUCCESS The function always return EFI_SUCCESS f= or now. - It will ASSERT on error for debug versio= n. - @retval EFI_ERROR Please reference LocateProtocol for erro= r code details. -**/ -EFI_STATUS -EFIAPI -SmmSpiFlashCommonLibConstructor ( - IN EFI_HANDLE ImageHandle, - IN EFI_SYSTEM_TABLE *SystemTable - ) -{ - EFI_STATUS Status; - UINT32 BaseAddr; - UINT32 RegionSize; - - mBiosAreaBaseAddress =3D (UINTN)PcdGet32 (PcdBiosAreaBaseAddress); - mBiosSize =3D (UINTN)PcdGet32 (PcdBiosSize); - - // - // Locate the SMM SPI protocol. - // - Status =3D gSmst->SmmLocateProtocol ( - &gPchSmmSpiProtocolGuid, - NULL, - (VOID **) &mSpiProtocol - ); - ASSERT_EFI_ERROR (Status); - - mSpiProtocol->GetRegionAddress (mSpiProtocol, FlashRegionBios, &BaseAd= dr, &RegionSize); - mBiosOffset =3D BaseAddr; - return Status; -} diff --git a/Platform/Intel/TigerlakeOpenBoardPkg/Library/SmmSpiFlashComm= onLib/SmmSpiFlashCommonLib.inf b/Platform/Intel/TigerlakeOpenBoardPkg/Lib= rary/SmmSpiFlashCommonLib/SmmSpiFlashCommonLib.inf deleted file mode 100644 index 374f5ea52b98..000000000000 --- a/Platform/Intel/TigerlakeOpenBoardPkg/Library/SmmSpiFlashCommonLib/S= mmSpiFlashCommonLib.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.
-# SPDX-License-Identifier: BSD-2-Clause-Patent -# -## - -[Defines] - INF_VERSION =3D 0x00010017 - BASE_NAME =3D SmmSpiFlashCommonLib - FILE_GUID =3D 9632D96E-E849-4217-9217-DC500B8AAE4= 7 - VERSION_STRING =3D 1.0 - MODULE_TYPE =3D DXE_SMM_DRIVER - LIBRARY_CLASS =3D SpiFlashCommonLib|DXE_SMM_DRIVER - CONSTRUCTOR =3D SmmSpiFlashCommonLibConstructor -# -# The following information is for reference only and not required by th= e build tools. -# -# VALID_ARCHITECTURES =3D 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 --=20 2.28.0.windows.1