audk/QuarkPlatformPkg/Include/Guid/QuarkCapsuleGuid.h

47 lines
1.1 KiB
C

/** @file
Capsule format guid for Quark capsule image.
Copyright (c) 2013-2015 Intel Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _QUARK_CAPSULE_GUID_H_
#define _QUARK_CAPSULE_GUID_H_
#define QUARK_CAPSULE_GUID \
{ 0xd400d1e4, 0xa314, 0x442b, { 0x89, 0xed, 0xa9, 0x2e, 0x4c, 0x81, 0x97, 0xcb } }
#define SMI_INPUT_UPDATE_CAP 0x27
#define SMI_INPUT_GET_CAP 0x28
#define SMI_CAP_FUNCTION 0xEF
#pragma pack(1)
typedef struct {
UINT64 Address;
UINT32 BufferOffset;
UINT32 Size;
UINT32 Flags;
UINT32 Reserved;
} CAPSULE_FRAGMENT;
typedef struct {
UINTN CapsuleLocation; // Top of the capsule that point to structure CAPSULE_FRAGMENT
UINTN CapsuleSize; // Size of the capsule
EFI_STATUS Status; // Returned status
} CAPSULE_INFO_PACKET;
typedef struct {
UINTN BlocksCompleted; // # of blocks processed
UINTN TotalBlocks; // Total # of blocks to be processed
EFI_STATUS Status; // returned status
} UPDATE_STATUS_PACKET;
#pragma pack()
extern EFI_GUID gEfiQuarkCapsuleGuid;
#endif