X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=MdeModulePkg%2FUniversal%2FCapsuleRuntimeDxe%2FCapsuleService.h;h=787c70c1957dedfc7720ae2187d9e9f42ed1caf5;hb=4e8ee0a08eb2750f89d43d8c53bd896edd2578be;hp=5d73810f3db3d26151693c37e6405171350f2a21;hpb=3cfb790c9499ef62eb8908255f5d7648f2de8d28;p=mirror_edk2.git diff --git a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleService.h b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleService.h index 5d73810f3d..787c70c195 100644 --- a/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleService.h +++ b/MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleService.h @@ -1,60 +1,76 @@ -/*++ +/** @file + Capsule Runtime Driver produces two UEFI capsule runtime services. + (UpdateCapsule, QueryCapsuleCapabilities) + It installs the Capsule Architectural Protocol defined in PI1.0a to signify + the capsule runtime services are ready. -Copyright (c) 2006, 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 + Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
+ Copyright (c) 2018, Linaro, Ltd. All rights reserved.
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + 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 -Module Name: + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - CapsuleService.h +**/ -Abstract: +#ifndef _CAPSULE_SERVICE_H_ +#define _CAPSULE_SERVICE_H_ - Capsule Runtime Service - ---*/ - -#ifndef _CAPSULE_RUNTIME_H_ -#define _CAPSULE_RUNTIME_H_ - - -#include +#include #include #include +#include -#include -#include -#include #include #include -#include -#include +#include +#include #include +#include +#include +#include +#include +#include -extern EFI_GUID gEfiCapsuleGuid; +/** + Create the variable to save the base address of page table and stack + for transferring into long mode in IA32 PEI. +**/ +VOID +SaveLongModeContext ( + VOID + ); -EFI_STATUS -EFIAPI -UpdateCapsule( - IN EFI_CAPSULE_HEADER **CapsuleHeaderArray, - IN UINTN CapsuleCount, - IN EFI_PHYSICAL_ADDRESS ScatterGatherList OPTIONAL +/** + Whether the platform supports capsules that persist across reset. Note that + some platforms only support such capsules at boot time. + + @return TRUE if a PersistAcrossReset capsule may be passed to UpdateCapsule() + at this time + FALSE otherwise +**/ +BOOLEAN +IsPersistAcrossResetCapsuleSupported ( + VOID ); -EFI_STATUS -EFIAPI -QueryCapsuleCapabilities( - IN EFI_CAPSULE_HEADER **CapsuleHeaderArray, - IN UINTN CapsuleCount, - OUT UINT64 *MaxiumCapsuleSize, - OUT EFI_RESET_TYPE *ResetType +/** + Writes Back a range of data cache lines covering a set of capsules in memory. + + Writes Back the data cache lines specified by ScatterGatherList. + + @param ScatterGatherList Physical address of the data structure that + describes a set of capsules in memory + +**/ +VOID +CapsuleCacheWriteBack ( + IN EFI_PHYSICAL_ADDRESS ScatterGatherList ); #endif -