TianoCore EDK2 master
|
#include <PiDxe.h>
#include <Library/BaseLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/HobLib.h>
#include <Library/LockBoxLib.h>
#include <Library/PcdLib.h>
#include <Library/DebugLib.h>
#include <Library/UefiLib.h>
#include <Guid/AcpiS3Context.h>
#include <IndustryStandard/Acpi.h>
#include <Protocol/LockBox.h>
Go to the source code of this file.
Macros | |
#define | EXTRA_PAGE_TABLE_PAGES 8 |
Functions | |
VOID * | AllocateMemoryBelow4G (IN EFI_MEMORY_TYPE MemoryType, IN UINTN Size) |
BOOLEAN | IsLongModeWakingVectorSupport (IN EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE *Facs) |
EFI_PHYSICAL_ADDRESS | S3AllocatePageTablesBuffer (IN BOOLEAN LongModeWakingVectorSupport) |
VOID EFIAPI | AcpiS3ContextSaveOnEndOfDxe (IN EFI_EVENT Event, IN VOID *Context) |
Variables | |
EFI_GUID | mAcpiS3IdtrProfileGuid |
This is the implementation to save ACPI S3 Context.
Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file AcpiS3ContextSave.c.
#define EXTRA_PAGE_TABLE_PAGES 8 |
Definition at line 26 of file AcpiS3ContextSave.c.
Callback function executed when the EndOfDxe event group is signaled.
[in] | Event | Event whose notification function is being invoked. |
[in] | Context | The pointer to the notification function's context, which is implementation-dependent. |
Definition at line 230 of file AcpiS3ContextSave.c.
VOID * AllocateMemoryBelow4G | ( | IN EFI_MEMORY_TYPE | MemoryType, |
IN UINTN | Size | ||
) |
Allocate memory below 4G memory address.
This function allocates memory below 4G memory address.
MemoryType | Memory type of memory to allocate. |
Size | Size of memory to allocate. |
Definition at line 44 of file AcpiS3ContextSave.c.
BOOLEAN IsLongModeWakingVectorSupport | ( | IN EFI_ACPI_4_0_FIRMWARE_ACPI_CONTROL_STRUCTURE * | Facs | ) |
The function will check if long mode waking vector is supported.
[in] | Facs | Pointer to FACS table. |
TRUE | Long mode waking vector is supported. |
FALSE | Long mode waking vector is not supported. |
Definition at line 81 of file AcpiS3ContextSave.c.
EFI_PHYSICAL_ADDRESS S3AllocatePageTablesBuffer | ( | IN BOOLEAN | LongModeWakingVectorSupport | ) |
Allocates page table buffer.
[in] | LongModeWakingVectorSupport | Support long mode waking vector or not. |
If BootScriptExecutor driver will run in 64-bit mode, this function will establish the 1:1 virtual to physical mapping page table when long mode waking vector is supported, otherwise create 4G page table when long mode waking vector is not supported and let PF handler to handle > 4G request. If BootScriptExecutor driver will not run in 64-bit mode, this function will do nothing.
Definition at line 123 of file AcpiS3ContextSave.c.
EFI_GUID mAcpiS3IdtrProfileGuid |
Definition at line 28 of file AcpiS3ContextSave.c.