xref: /freebsd/sys/contrib/edk2/Include/Protocol/Capsule.h (revision f439973d6726c3be929c8fb3b1545b8b1744abc3)
1*f439973dSWarner Losh /** @file
2*f439973dSWarner Losh   Capsule Architectural Protocol as defined in PI1.0a Specification VOLUME 2 DXE
3*f439973dSWarner Losh 
4*f439973dSWarner Losh   The DXE Driver that produces this protocol must be a runtime driver.
5*f439973dSWarner Losh   The driver is responsible for initializing the CapsuleUpdate() and
6*f439973dSWarner Losh   QueryCapsuleCapabilities() fields of the UEFI Runtime Services Table.
7*f439973dSWarner Losh   After the two fields of the UEFI Runtime Services Table have been initialized,
8*f439973dSWarner Losh   the driver must install the EFI_CAPSULE_ARCH_PROTOCOL_GUID on a new handle
9*f439973dSWarner Losh   with a NULL interface pointer. The installation of this protocol informs
10*f439973dSWarner Losh   the DXE Foundation that the Capsule related services are now available and
11*f439973dSWarner Losh   that the DXE Foundation must update the 32-bit CRC of the UEFI Runtime Services Table.
12*f439973dSWarner Losh 
13*f439973dSWarner Losh Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
14*f439973dSWarner Losh SPDX-License-Identifier: BSD-2-Clause-Patent
15*f439973dSWarner Losh 
16*f439973dSWarner Losh **/
17*f439973dSWarner Losh 
18*f439973dSWarner Losh #ifndef __ARCH_PROTOCOL_CAPSULE_ARCH_H__
19*f439973dSWarner Losh #define __ARCH_PROTOCOL_CAPSULE_ARCH_H__
20*f439973dSWarner Losh 
21*f439973dSWarner Losh //
22*f439973dSWarner Losh // Global ID for the Capsule Architectural Protocol
23*f439973dSWarner Losh //
24*f439973dSWarner Losh #define EFI_CAPSULE_ARCH_PROTOCOL_GUID \
25*f439973dSWarner Losh   { 0x5053697e, 0x2cbc, 0x4819, {0x90, 0xd9, 0x05, 0x80, 0xde, 0xee, 0x57, 0x54 }}
26*f439973dSWarner Losh 
27*f439973dSWarner Losh extern EFI_GUID  gEfiCapsuleArchProtocolGuid;
28*f439973dSWarner Losh 
29*f439973dSWarner Losh #endif
30