My suggestion is to move to implementation specific package. 

> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of
> Jiewen Yao
> Sent: Friday, September 30, 2016 5:21 AM
> To: edk2-devel@lists.01.org
> Cc: Michael D Kinney <michael.d.kin...@intel.com>; Feng Tian
> <feng.t...@intel.com>; Chao Zhang <chao.b.zh...@intel.com>; Liming Gao
> <liming....@intel.com>; Star Zeng <star.z...@intel.com>
> 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 <feng.t...@intel.com>
> Cc: Star Zeng <star.z...@intel.com>
> Cc: Michael D Kinney <michael.d.kin...@intel.com>
> Cc: Liming Gao <liming....@intel.com>
> Cc: Chao Zhang <chao.b.zh...@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Jiewen Yao <jiewen....@intel.com>
> Reviewed-by: Liming Gao <liming....@intel.com>
> ---
>  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
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to