Add capsule > 4GB support. When capsule data is put above 4GB, IA32 PEI transfers to long mode to get capsule data.
Signed-off-by: li-elvin Reviewed-by: lgao4, mdkinney git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12264 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
@par Note: EDKII implementation of capsule updating has discarded this capsule GUID HOB data
|
||||
structure and used one UEFI Capsule HOB (defined in PI Specification 1.2) instead.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
The full text of the license may be found at
|
||||
@@ -48,6 +48,18 @@ typedef struct {
|
||||
UINT32 Length; ///< Length of capsule data.
|
||||
} CAPSULE_HOB_INFO;
|
||||
|
||||
//
|
||||
// The variable describes the long mode buffer used by IA32 Capsule PEIM
|
||||
// to call X64 CapsuleCoalesce code to handle >4GB capsule blocks.
|
||||
//
|
||||
#define EFI_CAPSULE_LONG_MODE_BUFFER_NAME L"CapsuleLongModeBuffer"
|
||||
|
||||
typedef struct {
|
||||
EFI_PHYSICAL_ADDRESS PageTableAddress;
|
||||
EFI_PHYSICAL_ADDRESS StackBaseAddress;
|
||||
UINT64 StackSize;
|
||||
} EFI_CAPSULE_LONG_MODE_BUFFER;
|
||||
|
||||
extern EFI_GUID gEfiCapsuleVendorGuid;
|
||||
|
||||
#endif // #ifndef _EFI_CAPSULE_VENDOR_GUID_H_
|
||||
|
Reference in New Issue
Block a user