summaryrefslogtreecommitdiffstats
path: root/FmpDevicePkg/FmpDevicePkg.dec
blob: fb183cddff760d9b5b312dc1e64f8ad46bed0dd6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
## @file
# Firmware Management Protocol Device Package
#
# This package provides an implementation of a Firmware Management Protocol
# instance that supports the update of firmware storage devices using UEFI
# Capsules.  The behavior of the Firmware Management Protocol instance is
# customized using libraries and PCDs.
#
# Copyright (c) 2016, Microsoft Corporation. All rights reserved.<BR>
# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  DEC_SPECIFICATION = 0x00010005
  PACKAGE_NAME      = FmpDevicePkg
  PACKAGE_UNI_FILE  = FmpDevicePkg.uni
  PACKAGE_GUID      = 080b5b4f-27c6-11e8-84d1-f8597177a00a
  PACKAGE_VERSION   = 0.1

[Includes]
  Include

[LibraryClasses]
  ##  @libraryclass  Provides services to retrieve values from a capsule's FMP
  #                  Payload Header.  The structure is not included in the
  #                  library class.  Instead, services are provided to retrieve
  #                  information from the FMP Payload Header.  If information is
  #                  added to the FMP Payload Header, then new services may be
  #                  added to this library class to retrieve the new information.
  FmpPayloadHeaderLib|Include/Library/FmpPayloadHeaderLib.h

  ##  @libraryclass  Provides platform policy services used during a capsule
  #                  update.
  CapsuleUpdatePolicyLib|Include/Library/CapsuleUpdatePolicyLib.h

  ##  @libraryclass  Provides firmware device specific services to support
  #                  updates of a firmware image stored in a firmware device.
  FmpDeviceLib|Include/Library/FmpDeviceLib.h

[Guids]
  ## Firmware Management Protocol Device Package Token Space GUID
  gFmpDevicePkgTokenSpaceGuid = { 0x40b2d964, 0xfe11, 0x40dc, { 0x82, 0x83, 0x2e, 0xfb, 0xda, 0x29, 0x53, 0x56 } }

[PcdsFixedAtBuild]
  ## The SHA-256 hash of a PKCS7 test key that is used to detect if a test key
  #  is being used to authenticate capsules.  Test key detection is disabled by
  #  setting the value to {0}.
  # @Prompt SHA-256 hash of PKCS7 test key.
  gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceTestKeySha256Digest|{0x2E, 0x97, 0x89, 0x1B, 0xDB, 0xE7, 0x08, 0xAA,  0x8C, 0xB2, 0x8F, 0xAD, 0x20, 0xA9, 0x83, 0xC7,  0x84, 0x7D, 0x4F, 0xEE, 0x48, 0x25, 0xE9, 0x4D,  0x39, 0xFA, 0x34, 0x9A, 0xB8, 0xB1, 0xC4, 0x26}|VOID*|0x40000009

[PcdsFixedAtBuild, PcdsPatchableInModule]
  ## The color of the progress bar during a firmware update.  Each firmware
  #  device can set its own color.  The default color is white.<BR><BR>
  #  Bits  7..0  - Red<BR>
  #  Bits 15..8  - Green<BR>
  #  Bits 23..16 - Blue<BR>
  # @Prompt Firmware Device Progress Bar Color.
  gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceProgressColor|0x00FFFFFF|UINT32|0x40000004

  ## The Null-terminated Unicode string used to fill in the ImageIdName field of
  #  the EFI_FIRMWARE_IMAGE_DESCRIPTOR structure that is returned by the
  #  GetImageInfo() service of the Firmware Management Protocol for the firmware
  #  device.  An ImageIdName string must be provided for each firmware device.
  #  The default value is an empty string.
  # @Prompt Firmware Device ImageIdName string.
  gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceImageIdName|L""|VOID*|0x40000007

  ## The build time value used to fill in the LowestSupportedVersion field of
  #  the EFI_FIRMWARE_IMAGE_DESCRIPTOR structure that is returned by the
  #  GetImageInfo() service of the Firmware Management Protocol.  This value is
  #  only used if the firmware device does not provide a method to report the
  #  lowest supported version value from the current firmware image and the
  #  UEFI variable used to provide the lowest supported version value does not
  #  exist.  The default value is 0.
  # @Prompt Build Time Firmware Device Lowest Support Version.
  gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceBuildTimeLowestSupportedVersion|0x0|UINT32|0x4000000C

  ## The time in seconds to arm a watchdog timer during the update of a firmware
  #  device.  The watchdog is re-armed each time the FmpDeviceLib calls the
  #  Progress() function passed into FmpDeviceSetImage() function.  The
  #  FmpDeviceLib calls Progress() to update the percent completion of a
  #  firmware update.  If the watchdog timer expires, the system reboots.  A
  #  value of 0 disables the watchdog timer.  The default value is 0 (watchdog
  #  disabled).
  # @Prompt Firmware Device Watchdog Time in Seconds.
  gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceProgressWatchdogTimeInSeconds|0x0|UINT8|0x4000000D

[PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
  ## One or more PKCS7 certificates used to verify a firmware device capsule
  #  update image.  Encoded using the Variable-Length Opaque Data format of RFC
  #  4506 External Data Representation Standard (XDR).  The default value is
  #  empty with 0 certificates.
  # @Prompt One or more XDR encoded PKCS7 certificates used to verify firmware device capsule update images.
  gFmpDevicePkgTokenSpaceGuid.PcdFmpDevicePkcs7CertBufferXdr|{0x0}|VOID*|0x4000000E

  ## An event GUID that locks the firmware device when the event is signaled.
  #  If this PCD is not a valid GUID value, then the firmware device is locked
  #  when gEfiEndOfDxeEventGroupGuid (End of DXE Phase) is signaled.  The
  #  default value is empty, so by default the firmware device is locked at the
  #  end of the DXE phase.
  # @Prompt Firmware Device Lock Event GUID.
  gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceLockEventGuid|{0}|VOID*|0x4000000F

[UserExtensions.TianoCore."ExtraFiles"]
  FmpDevicePkgExtra.uni