• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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