From 0c8a18cc5146243175144bc68efcb10407d33026 Mon Sep 17 00:00:00 2001 From: bxing Date: Wed, 4 Jul 2007 12:27:48 +0000 Subject: [PATCH] Added Capsule.h for capsule related definitions in Framework spec. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3053 6f19259b-4bc3-4df7-8a09-765794883524 --- IntelFrameworkPkg/Include/Framework/Capsule.h | 69 +++++++++++++++++++ IntelFrameworkPkg/Include/FrameworkPei.h | 3 +- 2 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 IntelFrameworkPkg/Include/Framework/Capsule.h diff --git a/IntelFrameworkPkg/Include/Framework/Capsule.h b/IntelFrameworkPkg/Include/Framework/Capsule.h new file mode 100644 index 0000000000..84579343a4 --- /dev/null +++ b/IntelFrameworkPkg/Include/Framework/Capsule.h @@ -0,0 +1,69 @@ +/** @file + Defines for the EFI Capsule functionality. + + Copyright (c) 2007, Intel Corporation + All rights reserved. This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + + Module Name: Capsule.h + + @par Revision Reference: + These definitions are from Capsule Spec Version 0.9. + +**/ + +#ifndef _EFI_CAPSULE_H_ +#define _EFI_CAPSULE_H_ + +#include + +// +// Bits in the flags field of the capsule header +// +#define EFI_CAPSULE_HEADER_FLAG_SETUP 0x00000001 // supports setup changes + + +#define CAPSULE_BLOCK_DESCRIPTOR_SIGNATURE EFI_SIGNATURE_32 ('C', 'B', 'D', 'S') + +// +// An array of these describe the blocks that make up a capsule for +// a capsule update. +// +typedef struct { + UINT64 Length; // length of the data block + EFI_PHYSICAL_ADDRESS Data; // physical address of the data block + UINT32 Signature; // CBDS + UINT32 CheckSum; // to sum this structure to 0 +} FRAMEWORK_EFI_CAPSULE_BLOCK_DESCRIPTOR; + +typedef struct { + EFI_GUID OemGuid; + UINT32 HeaderSize; + // + // UINT8 OemHdrData[]; + // +} EFI_CAPSULE_OEM_HEADER; + +typedef struct { + EFI_GUID CapsuleGuid; + UINT32 HeaderSize; + UINT32 Flags; + UINT32 CapsuleImageSize; + UINT32 SequenceNumber; + EFI_GUID InstanceId; + UINT32 OffsetToSplitInformation; + UINT32 OffsetToCapsuleBody; + UINT32 OffsetToOemDefinedHeader; + UINT32 OffsetToAuthorInformation; + UINT32 OffsetToRevisionInformation; + UINT32 OffsetToShortDescription; + UINT32 OffsetToLongDescription; + UINT32 OffsetToApplicableDevices; +} FRAMEWORK_EFI_CAPSULE_HEADER; + +#endif // #ifndef _EFI_CAPSULE_H_ diff --git a/IntelFrameworkPkg/Include/FrameworkPei.h b/IntelFrameworkPkg/Include/FrameworkPei.h index 6719db37be..f7255bb4e8 100644 --- a/IntelFrameworkPkg/Include/FrameworkPei.h +++ b/IntelFrameworkPkg/Include/FrameworkPei.h @@ -22,12 +22,13 @@ #include +#include +#include #include #include #include #include #include -#include #include #include -- 2.39.5