My suggestion is to move to implementation specific package.
> -----Original Message----- > From: edk2-devel [mailto:[email protected]] On Behalf Of > Jiewen Yao > Sent: Friday, September 30, 2016 5:21 AM > To: [email protected] > Cc: Michael D Kinney <[email protected]>; Feng Tian > <[email protected]>; Chao Zhang <[email protected]>; Liming Gao > <[email protected]>; Star Zeng <[email protected]> > Subject: [edk2] [PATCH V2 05/50] MdeModulePkg/Include: Add > PlatformFlashAccessLib header. > > This library is used to abstract platform flash access. > This library is consumed by a capsule update module. > It may cover SystemFirmware region and/or non-SystemFirmware region. > > Cc: Feng Tian <[email protected]> > Cc: Star Zeng <[email protected]> > Cc: Michael D Kinney <[email protected]> > Cc: Liming Gao <[email protected]> > Cc: Chao Zhang <[email protected]> > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Jiewen Yao <[email protected]> > Reviewed-by: Liming Gao <[email protected]> > --- > MdeModulePkg/Include/Library/PlatformFlashAccessLib.h | 59 > ++++++++++++++++++++ > 1 file changed, 59 insertions(+) > > diff --git a/MdeModulePkg/Include/Library/PlatformFlashAccessLib.h > b/MdeModulePkg/Include/Library/PlatformFlashAccessLib.h > new file mode 100644 > index 0000000..0ce7e29 > --- /dev/null > +++ b/MdeModulePkg/Include/Library/PlatformFlashAccessLib.h > @@ -0,0 +1,59 @@ > +/** @file > + Platform flash device access library. > + > + Copyright (c) 2016, Intel Corporation. All rights reserved.<BR> This > + program and the accompanying materials are licensed and made > + available under the terms and conditions of the BSD License which > + accompanies this distribution. The full text of the license may be > + found at http://opensource.org/licenses/bsd-license.php > + > + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" > BASIS, > + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER > EXPRESS OR IMPLIED. > + > +**/ > + > + > +#ifndef __PLATFORM_FLASH_ACCESS_LIB_H__ #define > +__PLATFORM_FLASH_ACCESS_LIB_H__ > + > +typedef enum { > + FlashAddressTypeRelativeAddress, > + FlashAddressTypeAbsoluteAddress, > + FlashAddressTypeMax, > +} FLASH_ADDRESS_TYPE; > + > +// > +// Type 0 ~ 0x7FFFFFFF is defined in this library. > +// Type 0x80000000 ~ 0xFFFFFFFF is reserved for OEM. > +// > +typedef enum { > + PlatformFirmwareTypeSystemFirmware, > + PlatformFirmwareTypeNvRam, > + PlatformFirmwareTypeMax, > +} PLATFORM_FIRMWARE_TYPE; > + > +/** > + Perform flash write opreation. > + > + @param FirmwareType The type of firmware. > + @param FlashAddress The address of flash device to be accessed. > + @param FlashAddressType The type of flash device address. > + @param Buffer The pointer to the data buffer. > + @param Length The length of data buffer in bytes. > + > + @retval EFI_SUCCESS The operation returns successfully. > + @retval EFI_WRITE_PROTECTED The flash device is read only. > + @retval EFI_UNSUPPORTED The flash device access is unsupported. > + @retval EFI_INVALID_PARAMETER The input parameter is not valid. > +**/ > +EFI_STATUS > +EFIAPI > +PerformFlashWrite ( > + IN PLATFORM_FIRMWARE_TYPE FirmwareType, > + IN EFI_PHYSICAL_ADDRESS FlashAddress, > + IN FLASH_ADDRESS_TYPE FlashAddressType, > + IN VOID *Buffer, > + IN UINTN Length > + ); > + > +#endif > -- > 2.7.4.windows.1 > > _______________________________________________ > edk2-devel mailing list > [email protected] > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

