1 /** @file 2 3 Capsule format guid for Quark capsule image. 4 5 Copyright (c) 2013-2015 Intel Corporation. 6 7 This program and the accompanying materials 8 are licensed and made available under the terms and conditions of the BSD License 9 which accompanies this distribution. The full text of the license may be found at 10 http://opensource.org/licenses/bsd-license.php 11 12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 14 15 **/ 16 17 #ifndef _QUARK_CAPSULE_GUID_H_ 18 #define _QUARK_CAPSULE_GUID_H_ 19 20 #define QUARK_CAPSULE_GUID \ 21 { 0xd400d1e4, 0xa314, 0x442b, { 0x89, 0xed, 0xa9, 0x2e, 0x4c, 0x81, 0x97, 0xcb } } 22 23 #define SMI_INPUT_UPDATE_CAP 0x27 24 #define SMI_INPUT_GET_CAP 0x28 25 26 #define SMI_CAP_FUNCTION 0xEF 27 28 #pragma pack(1) 29 typedef struct { 30 UINT64 Address; 31 UINT32 BufferOffset; 32 UINT32 Size; 33 UINT32 Flags; 34 UINT32 Reserved; 35 } CAPSULE_FRAGMENT; 36 37 typedef struct { 38 UINTN CapsuleLocation; // Top of the capsule that point to structure CAPSULE_FRAGMENT 39 UINTN CapsuleSize; // Size of the capsule 40 EFI_STATUS Status; // Returned status 41 } CAPSULE_INFO_PACKET; 42 43 typedef struct { 44 UINTN BlocksCompleted; // # of blocks processed 45 UINTN TotalBlocks; // Total # of blocks to be processed 46 EFI_STATUS Status; // returned status 47 } UPDATE_STATUS_PACKET; 48 #pragma pack() 49 50 extern EFI_GUID gEfiQuarkCapsuleGuid; 51 52 #endif 53