Add the capsule API.
Signed-off-by: Peter Jones <pjones@redhat.com> Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
This commit is contained in:
parent
ef08b655d1
commit
60efb7a293
@ -585,6 +585,42 @@ EFI_STATUS
|
||||
OUT UINT32 *HighCount
|
||||
);
|
||||
|
||||
typedef struct {
|
||||
UINT64 Length;
|
||||
union {
|
||||
EFI_PHYSICAL_ADDRESS DataBlock;
|
||||
EFI_PHYSICAL_ADDRESS ContinuationPointer;
|
||||
} Union;
|
||||
} EFI_CAPSULE_BLOCK_DESCRIPTOR;
|
||||
|
||||
typedef struct {
|
||||
EFI_GUID CapsuleGuid;
|
||||
UINT32 HeaderSize;
|
||||
UINT32 Flags;
|
||||
UINT32 CapsuleImageSize;
|
||||
} EFI_CAPSULE_HEADER;
|
||||
|
||||
#define CAPSULE_FLAGS_PERSIST_ACROSS_RESET 0x00010000
|
||||
#define CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE 0x00020000
|
||||
#define CAPSULE_FLAGS_INITIATE_RESET 0x00040000
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_UPDATE_CAPSULE) (
|
||||
IN EFI_CAPSULE_HEADER **CapsuleHeaderArray,
|
||||
IN UINTN CapsuleCount,
|
||||
IN EFI_PHYSICAL_ADDRESS ScatterGatherList OPTIONAL
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_QUERY_CAPSULE_CAPABILITIES) (
|
||||
IN EFI_CAPSULE_HEADER **CapsuleHeaderArray,
|
||||
IN UINTN CapsuleCount,
|
||||
OUT UINT64 *MaximumCapsuleSize,
|
||||
OUT EFI_RESET_TYPE *ResetType
|
||||
);
|
||||
|
||||
//
|
||||
// Protocol handler functions
|
||||
//
|
||||
@ -720,6 +756,8 @@ typedef struct {
|
||||
EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount;
|
||||
EFI_RESET_SYSTEM ResetSystem;
|
||||
|
||||
EFI_UPDATE_CAPSULE UpdateCapsule;
|
||||
EFI_QUERY_CAPSULE_CAPABILITIES QueryCapsuleCapabilities;
|
||||
} EFI_RUNTIME_SERVICES;
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user