From nobody Thu Dec 18 20:00:30 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+77125+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+77125+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=linux.microsoft.com ARC-Seal: i=1; a=rsa-sha256; t=1624656165; cv=none; d=zohomail.com; s=zohoarc; b=QHsZWlUDWshZU9QBghHZ+wVuW1kJWF2HgqTmg20LMbHRDxD6C0IMNVYMbaaDQ8wZTDFh1mj/g/GTem9zzKWmvuyvXxIntr6jEDA54V2gpTpZMrlqtY4+IXhg+4k5XU04uNoRTKn4yGVln+E5Ux4GD5QMf9PmCaRoVqxN8ujrGQA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1624656165; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=ymwtbac/NxOAmxkoLYeRoLnuDN/MjczIhxXAumUBbtM=; b=nFo7KaLrGdgQMNnHpBN1/3Xe3ST+pmypmgt42wgPPmKjEnctcLhHN5IX1eofijbUF1T7UfO0Bp5khq21XYj08h0fSFzra/XGLhZ+ByKJiul4sSe64g4U5lMGOg5Lx3rUTGfHSY/vVgjIW2dZxcisnBdKXvhZt3tYuWxgC04CBjk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+77125+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1624656165643612.0511576062464; Fri, 25 Jun 2021 14:22:45 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id MH3VYY1788612xNA7axUF7qJ; Fri, 25 Jun 2021 14:22:45 -0700 X-Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mx.groups.io with SMTP id smtpd.web10.419.1624656164744555197 for ; Fri, 25 Jun 2021 14:22:44 -0700 X-Received: from localhost.localdomain (unknown [167.220.2.74]) by linux.microsoft.com (Postfix) with ESMTPSA id 81FD720B83DE; Fri, 25 Jun 2021 14:22:44 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 81FD720B83DE From: "Michael Kubacki" To: devel@edk2.groups.io Cc: Agyeman Prince , Nate DeSimone Subject: [edk2-devel] [edk2-platforms][PATCH v4 28/41] SimicsIch10Pkg: Remove SmmSpiFlashCommonLib Date: Fri, 25 Jun 2021 17:21:07 -0400 Message-Id: <20210625212120.235-29-mikuback@linux.microsoft.com> In-Reply-To: <20210625212120.235-1-mikuback@linux.microsoft.com> References: <20210625212120.235-1-mikuback@linux.microsoft.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,mikuback@linux.microsoft.com X-Gm-Message-State: LQLcxXCQXkjgvMUbaTV1gaU1x1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1624656165; bh=HXIsek/xpsxt7SiZmLnjMwHdfalbU3665ZTmfE9fBvg=; h=Cc:Date:From:Reply-To:Subject:To; b=qjXAYAR9JAoNFn4mYpPjq1xUSvrCOx8FYB4mtq4dMtXzt+iVXenvL9fspyqC4OFLphf 2bBLSw/+KdpAARxNbiZSXL3kmloZO6JiZ4PoqVusN1yZqvx3sLkgam3rC02WKMM1m6Lpf MTXlUfkkHouiwHzphWSTP/4k8jpvgymVEtM= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" 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: Agyeman Prince Signed-off-by: Michael Kubacki Reviewed-by: Nate DeSimone --- Silicon/Intel/SimicsIch10Pkg/Library/SmmSpiFlashCommonLib/SpiFlashCommon.c= | 194 -------------------- Silicon/Intel/SimicsIch10Pkg/Library/SmmSpiFlashCommonLib/SpiFlashCommonSm= mLib.c | 54 ------ Silicon/Intel/SimicsIch10Pkg/Include/Library/SpiFlashCommonLib.h = | 98 ---------- Silicon/Intel/SimicsIch10Pkg/Library/SmmSpiFlashCommonLib/SmmSpiFlashCommo= nLib.inf | 50 ----- 4 files changed, 396 deletions(-) diff --git a/Silicon/Intel/SimicsIch10Pkg/Library/SmmSpiFlashCommonLib/SpiF= lashCommon.c b/Silicon/Intel/SimicsIch10Pkg/Library/SmmSpiFlashCommonLib/Sp= iFlashCommon.c deleted file mode 100644 index 9e3461cbd600..000000000000 --- a/Silicon/Intel/SimicsIch10Pkg/Library/SmmSpiFlashCommonLib/SpiFlashCom= mon.c +++ /dev/null @@ -1,194 +0,0 @@ -/** @file - Wrap EFI_SPI_PROTOCOL to provide some library level interfaces - for module use. - - Copyright (c) 2019 Intel Corporation. All rights reserved.
- - SPDX-License-Identifier: BSD-2-Clause-Patent -**/ - -#include -#include -#include -#include - - -EFI_SPI_PROTOCOL *mSpiProtocol; - -// -// FlashAreaBaseAddress and Size for boottime and runtime usage. -// -UINTN mFlashAreaBaseAddress =3D 0; -UINTN mFlashAreaSize =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 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 Opertion 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 wri= te. - @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 Opertion is successful. - @retval EFI_DEVICE_ERROR If there is any device errors. - -**/ -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 mFlashAreaBaseAddress); - - Offset =3D Address - mFlashAreaBaseAddress; - - ASSERT ((*NumBytes + Offset) <=3D mFlashAreaSize); - - 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 t= o be erased. - This library assume that caller garantee tha= t 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. Opertion is successful. - @retval EFI_DEVICE_ERROR If there is any device errors. - -**/ -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 mFlashAreaBaseAddress); - - Offset =3D Address - mFlashAreaBaseAddress; - - ASSERT ((*NumBytes % SECTOR_SIZE_4KB) =3D=3D 0); - ASSERT ((*NumBytes + Offset) <=3D mFlashAreaSize); - - Status =3D EFI_SUCCESS; - RemainingBytes =3D *NumBytes; - - - Status =3D mSpiProtocol->FlashErase ( - mSpiProtocol, - FlashRegionBios, - (UINT32) Offset, - (UINT32) RemainingBytes - ); - return Status; -} - diff --git a/Silicon/Intel/SimicsIch10Pkg/Library/SmmSpiFlashCommonLib/SpiF= lashCommonSmmLib.c b/Silicon/Intel/SimicsIch10Pkg/Library/SmmSpiFlashCommon= Lib/SpiFlashCommonSmmLib.c deleted file mode 100644 index 984b7733c6b9..000000000000 --- a/Silicon/Intel/SimicsIch10Pkg/Library/SmmSpiFlashCommonLib/SpiFlashCom= monSmmLib.c +++ /dev/null @@ -1,54 +0,0 @@ -/** @file - SMM Library instance of SPI Flash Common Library Class - - Copyright (c) 2019 Intel Corporation. All rights reserved.
- - SPDX-License-Identifier: BSD-2-Clause-Patent -**/ - -#include -#include -#include - -extern EFI_SPI_PROTOCOL *mSpiProtocol; - -extern UINTN mFlashAreaBaseAddress; -extern UINTN mFlashAreaSize; - -/** - 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; - - mFlashAreaBaseAddress =3D (UINTN)PcdGet32 (PcdFlashAreaBaseAddress); - mFlashAreaSize =3D (UINTN)PcdGet32 (PcdFlashAreaSize); - - // - // Locate the SMM SPI protocol. - // - Status =3D gSmst->SmmLocateProtocol ( - &gEfiSmmSpiProtocolGuid, - NULL, - (VOID **) &mSpiProtocol - ); - ASSERT_EFI_ERROR (Status); - - return Status; -} diff --git a/Silicon/Intel/SimicsIch10Pkg/Include/Library/SpiFlashCommonLib= .h b/Silicon/Intel/SimicsIch10Pkg/Include/Library/SpiFlashCommonLib.h deleted file mode 100644 index 53c11bb59ac6..000000000000 --- a/Silicon/Intel/SimicsIch10Pkg/Include/Library/SpiFlashCommonLib.h +++ /dev/null @@ -1,98 +0,0 @@ -/** @file - The header file includes the common header files, defines - internal structure and functions used by SpiFlashCommonLib. - - Copyright (c) 2019 Intel Corporation. All rights reserved.
- - SPDX-License-Identifier: BSD-2-Clause-Patent -**/ - -#ifndef __SPI_FLASH_COMMON_LIB_H__ -#define __SPI_FLASH_COMMON_LIB_H__ - -#include -#include -#include -#include -#include -#include -#include -#include - -#define SECTOR_SIZE_4KB 0x1000 // Common 4kBytes sector size -/** - 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 - ); - -/** - 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 Opertion 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 - ); - -/** - Write NumBytes bytes of data from Buffer to the address specified by - PAddresss. - - @param[in] Address The starting physical address of the wri= te. - @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 Opertion is successful. - @retval EFI_DEVICE_ERROR If there is any device errors. - -**/ -EFI_STATUS -EFIAPI -SpiFlashWrite ( - IN UINTN Address, - IN OUT UINT32 *NumBytes, - IN UINT8 *Buffer - ); - -/** - Erase the block starting at Address. - - @param[in] Address The starting physical address of the block t= o be erased. - This library assume that caller garantee tha= t 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. Opertion is successful. - @retval EFI_DEVICE_ERROR If there is any device errors. - -**/ -EFI_STATUS -EFIAPI -SpiFlashBlockErase ( - IN UINTN Address, - IN UINTN *NumBytes - ); - -#endif diff --git a/Silicon/Intel/SimicsIch10Pkg/Library/SmmSpiFlashCommonLib/SmmS= piFlashCommonLib.inf b/Silicon/Intel/SimicsIch10Pkg/Library/SmmSpiFlashComm= onLib/SmmSpiFlashCommonLib.inf deleted file mode 100644 index 23b334a080e7..000000000000 --- a/Silicon/Intel/SimicsIch10Pkg/Library/SmmSpiFlashCommonLib/SmmSpiFlash= CommonLib.inf +++ /dev/null @@ -1,50 +0,0 @@ -## @file -# SMM Library instance of Spi Flash Common Library Class -# -# Copyright (c) 2019 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-DC500B8AAE47 - 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 the = build tools. -# -# VALID_ARCHITECTURES =3D IA32 X64 -# - -[LibraryClasses] - PciLib - IoLib - MemoryAllocationLib - BaseLib - UefiLib - SmmServicesTableLib - BaseMemoryLib - DebugLib - -[Packages] - MdePkg/MdePkg.dec - SimicsIch10Pkg/Ich10Pkg.dec - -[Pcd] - gEfiPchTokenSpaceGuid.PcdFlashAreaBaseAddress ## CONSUMES - gEfiPchTokenSpaceGuid.PcdFlashAreaSize ## CONSUMES - -[Sources] - SpiFlashCommonSmmLib.c - SpiFlashCommon.c - -[Protocols] - gEfiSmmSpiProtocolGuid ## CONSUMES - -[Depex.X64.DXE_SMM_DRIVER] - gEfiSmmSpiProtocolGuid --=20 2.28.0.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#77125): https://edk2.groups.io/g/devel/message/77125 Mute This Topic: https://groups.io/mt/83794815/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-