MdeModulePkg: Clean up source files
1. Do not use tab characters 2. No trailing white space in one line 3. All files must end with CRLF Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
**/
|
||||
|
||||
#include <PiDxe.h>
|
||||
|
||||
|
@@ -3,13 +3,13 @@
|
||||
//
|
||||
// Sample ACPI Platform Driver
|
||||
//
|
||||
// Copyright (c) 2008 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2008 - 2018, 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
|
||||
// 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.
|
||||
//
|
||||
|
@@ -1,15 +1,15 @@
|
||||
## @file
|
||||
# Sample ACPI Platform Driver
|
||||
#
|
||||
# Copyright (c) 2008 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2008 - 2018, 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
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
##
|
||||
|
||||
[Defines]
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// AcpiPlatform Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2013 - 2018, 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
|
||||
@@ -13,8 +13,8 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
"ACPI Platform Sample DXE Driver"
|
||||
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
ACPI Sdt Protocol Driver
|
||||
|
||||
Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved. <BR>
|
||||
Copyright (c) 2010 - 2018, 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
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -196,7 +196,7 @@ SdtNotifyAcpiList (
|
||||
|
||||
/**
|
||||
Returns a requested ACPI table.
|
||||
|
||||
|
||||
The GetAcpiTable() function returns a pointer to a buffer containing the ACPI table associated
|
||||
with the Index that was input. The following structures are not considered elements in the list of
|
||||
ACPI tables:
|
||||
@@ -206,19 +206,19 @@ SdtNotifyAcpiList (
|
||||
Version is updated with a bit map containing all the versions of ACPI of which the table is a
|
||||
member. For tables installed via the EFI_ACPI_TABLE_PROTOCOL.InstallAcpiTable() interface,
|
||||
the function returns the value of EFI_ACPI_STD_PROTOCOL.AcpiVersion.
|
||||
|
||||
|
||||
@param[in] Index The zero-based index of the table to retrieve.
|
||||
@param[out] Table Pointer for returning the table buffer.
|
||||
@param[out] Version On return, updated with the ACPI versions to which this table belongs. Type
|
||||
EFI_ACPI_TABLE_VERSION is defined in "Related Definitions" in the
|
||||
EFI_ACPI_SDT_PROTOCOL.
|
||||
EFI_ACPI_SDT_PROTOCOL.
|
||||
@param[out] TableKey On return, points to the table key for the specified ACPI system definition table.
|
||||
This is identical to the table key used in the EFI_ACPI_TABLE_PROTOCOL.
|
||||
The TableKey can be passed to EFI_ACPI_TABLE_PROTOCOL.UninstallAcpiTable()
|
||||
to uninstall the table.
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_NOT_FOUND The requested index is too large and a table was not found.
|
||||
**/
|
||||
@retval EFI_NOT_FOUND The requested index is too large and a table was not found.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
GetAcpiTable2 (
|
||||
@@ -278,9 +278,9 @@ GetAcpiTable2 (
|
||||
|
||||
/**
|
||||
Register a callback when an ACPI table is installed.
|
||||
|
||||
|
||||
This function registers a function which will be called whenever a new ACPI table is installed.
|
||||
|
||||
|
||||
@param[in] Notification Points to the callback function to be registered
|
||||
**/
|
||||
VOID
|
||||
@@ -318,13 +318,13 @@ SdtRegisterNotify (
|
||||
|
||||
/**
|
||||
Unregister a callback when an ACPI table is installed.
|
||||
|
||||
|
||||
This function unregisters a function which will be called whenever a new ACPI table is installed.
|
||||
|
||||
|
||||
@param[in] Notification Points to the callback function to be unregistered.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Callback successfully unregistered.
|
||||
@retval EFI_INVALID_PARAMETER Notification does not match a known registration function.
|
||||
@retval EFI_INVALID_PARAMETER Notification does not match a known registration function.
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdtUnregisterNotify (
|
||||
@@ -371,17 +371,17 @@ SdtUnregisterNotify (
|
||||
|
||||
/**
|
||||
Register or unregister a callback when an ACPI table is installed.
|
||||
|
||||
|
||||
This function registers or unregisters a function which will be called whenever a new ACPI table is
|
||||
installed.
|
||||
|
||||
|
||||
@param[in] Register If TRUE, then the specified function will be registered. If FALSE, then the specified
|
||||
function will be unregistered.
|
||||
@param[in] Notification Points to the callback function to be registered or unregistered.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Callback successfully registered or unregistered.
|
||||
@retval EFI_INVALID_PARAMETER Notification is NULL
|
||||
@retval EFI_INVALID_PARAMETER Register is FALSE and Notification does not match a known registration function.
|
||||
@retval EFI_INVALID_PARAMETER Register is FALSE and Notification does not match a known registration function.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -413,12 +413,12 @@ RegisterNotify (
|
||||
|
||||
/**
|
||||
Create a handle for the first ACPI opcode in an ACPI system description table.
|
||||
|
||||
|
||||
@param[in] TableKey The table key for the ACPI table, as returned by GetTable().
|
||||
@param[out] Handle On return, points to the newly created ACPI handle.
|
||||
|
||||
@retval EFI_SUCCESS Handle created successfully.
|
||||
@retval EFI_NOT_FOUND TableKey does not refer to a valid ACPI table.
|
||||
@retval EFI_NOT_FOUND TableKey does not refer to a valid ACPI table.
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdtOpenSdtTable (
|
||||
@@ -466,12 +466,12 @@ SdtOpenSdtTable (
|
||||
|
||||
/**
|
||||
Create a handle for the first ACPI opcode in an ACPI system description table.
|
||||
|
||||
|
||||
@param[in] TableKey The table key for the ACPI table, as returned by GetTable().
|
||||
@param[out] Handle On return, points to the newly created ACPI handle.
|
||||
|
||||
@retval EFI_SUCCESS Handle created successfully.
|
||||
@retval EFI_NOT_FOUND TableKey does not refer to a valid ACPI table.
|
||||
@retval EFI_NOT_FOUND TableKey does not refer to a valid ACPI table.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -489,21 +489,21 @@ OpenSdt (
|
||||
|
||||
/**
|
||||
Create a handle from an ACPI opcode
|
||||
|
||||
|
||||
@param[in] Buffer Points to the ACPI opcode.
|
||||
@param[in] BufferSize Max buffer size.
|
||||
@param[out] Handle Upon return, holds the handle.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Success
|
||||
@retval EFI_INVALID_PARAMETER Buffer is NULL or Handle is NULL or Buffer points to an
|
||||
invalid opcode.
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdtOpenEx (
|
||||
IN VOID *Buffer,
|
||||
IN UINTN BufferSize,
|
||||
OUT EFI_ACPI_HANDLE *Handle
|
||||
OUT EFI_ACPI_HANDLE *Handle
|
||||
)
|
||||
{
|
||||
AML_BYTE_ENCODING *AmlByteEncoding;
|
||||
@@ -526,7 +526,7 @@ SdtOpenEx (
|
||||
//
|
||||
AmlHandle = AllocatePool (sizeof(*AmlHandle));
|
||||
ASSERT (AmlHandle != NULL);
|
||||
|
||||
|
||||
AmlHandle->Signature = EFI_AML_HANDLE_SIGNATURE;
|
||||
AmlHandle->Buffer = Buffer;
|
||||
AmlHandle->AmlByteEncoding = AmlByteEncoding;
|
||||
@@ -545,20 +545,20 @@ SdtOpenEx (
|
||||
|
||||
/**
|
||||
Create a handle from an ACPI opcode
|
||||
|
||||
|
||||
@param[in] Buffer Points to the ACPI opcode.
|
||||
@param[out] Handle Upon return, holds the handle.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Success
|
||||
@retval EFI_INVALID_PARAMETER Buffer is NULL or Handle is NULL or Buffer points to an
|
||||
invalid opcode.
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
Open (
|
||||
IN VOID *Buffer,
|
||||
OUT EFI_ACPI_HANDLE *Handle
|
||||
OUT EFI_ACPI_HANDLE *Handle
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
@@ -583,11 +583,11 @@ Open (
|
||||
|
||||
/**
|
||||
Close an ACPI handle.
|
||||
|
||||
|
||||
@param[in] Handle Returns the handle.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Success
|
||||
@retval EFI_INVALID_PARAMETER Handle is NULL or does not refer to a valid ACPI object.
|
||||
@retval EFI_INVALID_PARAMETER Handle is NULL or does not refer to a valid ACPI object.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -628,7 +628,7 @@ Close (
|
||||
|
||||
/**
|
||||
Retrieve information about an ACPI object.
|
||||
|
||||
|
||||
@param[in] Handle ACPI object handle.
|
||||
@param[in] Index Index of the data to retrieve from the object. In general, indexes read from left-to-right
|
||||
in the ACPI encoding, with index 0 always being the ACPI opcode.
|
||||
@@ -636,7 +636,7 @@ Close (
|
||||
for the specified index.
|
||||
@param[out] Data Upon return, points to the pointer to the data.
|
||||
@param[out] DataSize Upon return, points to the size of Data.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Success.
|
||||
@retval EFI_INVALID_PARAMETER Handle is NULL or does not refer to a valid ACPI object.
|
||||
**/
|
||||
@@ -692,7 +692,7 @@ GetOption (
|
||||
|
||||
/**
|
||||
Change information about an ACPI object.
|
||||
|
||||
|
||||
@param[in] Handle ACPI object handle.
|
||||
@param[in] Index Index of the data to retrieve from the object. In general, indexes read from left-to-right
|
||||
in the ACPI encoding, with index 0 always being the ACPI opcode.
|
||||
@@ -769,14 +769,14 @@ SetOption (
|
||||
|
||||
/**
|
||||
Return the child ACPI objects.
|
||||
|
||||
|
||||
@param[in] ParentHandle Parent handle.
|
||||
@param[in, out] Handle On entry, points to the previously returned handle or NULL to start with the first
|
||||
handle. On return, points to the next returned ACPI handle or NULL if there are no
|
||||
child objects.
|
||||
|
||||
@retval EFI_SUCCESS Success
|
||||
@retval EFI_INVALID_PARAMETER ParentHandle is NULL or does not refer to a valid ACPI object.
|
||||
@retval EFI_INVALID_PARAMETER ParentHandle is NULL or does not refer to a valid ACPI object.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -834,14 +834,14 @@ GetChild (
|
||||
|
||||
/**
|
||||
Returns the handle of the ACPI object representing the specified ACPI path
|
||||
|
||||
|
||||
@param[in] HandleIn Points to the handle of the object representing the starting point for the path search.
|
||||
@param[in] AmlPath Points to the AML path.
|
||||
@param[out] HandleOut On return, points to the ACPI object which represents AcpiPath, relative to
|
||||
HandleIn.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Success
|
||||
@retval EFI_INVALID_PARAMETER HandleIn is NULL or does not refer to a valid ACPI object.
|
||||
@retval EFI_INVALID_PARAMETER HandleIn is NULL or does not refer to a valid ACPI object.
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdtFindPathFromNonRoot (
|
||||
@@ -873,9 +873,9 @@ SdtFindPathFromNonRoot (
|
||||
|
||||
/**
|
||||
Duplicate AML handle.
|
||||
|
||||
|
||||
@param[in] AmlHandle Handle to be duplicated.
|
||||
|
||||
|
||||
@return Duplicated AML handle.
|
||||
**/
|
||||
EFI_AML_HANDLE *
|
||||
@@ -894,14 +894,14 @@ SdtDuplicateHandle (
|
||||
|
||||
/**
|
||||
Returns the handle of the ACPI object representing the specified ACPI path
|
||||
|
||||
|
||||
@param[in] HandleIn Points to the handle of the object representing the starting point for the path search.
|
||||
@param[in] AmlPath Points to the AML path.
|
||||
@param[out] HandleOut On return, points to the ACPI object which represents AcpiPath, relative to
|
||||
HandleIn.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Success
|
||||
@retval EFI_INVALID_PARAMETER HandleIn is NULL or does not refer to a valid ACPI object.
|
||||
@retval EFI_INVALID_PARAMETER HandleIn is NULL or does not refer to a valid ACPI object.
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdtFindPathFromRoot (
|
||||
@@ -977,14 +977,14 @@ SdtFindPathFromRoot (
|
||||
|
||||
/**
|
||||
Returns the handle of the ACPI object representing the specified ACPI path
|
||||
|
||||
|
||||
@param[in] HandleIn Points to the handle of the object representing the starting point for the path search.
|
||||
@param[in] AcpiPath Points to the ACPI path, which conforms to the ACPI encoded path format.
|
||||
@param[out] HandleOut On return, points to the ACPI object which represents AcpiPath, relative to
|
||||
HandleIn.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Success
|
||||
@retval EFI_INVALID_PARAMETER HandleIn is NULL or does not refer to a valid ACPI object.
|
||||
@retval EFI_INVALID_PARAMETER HandleIn is NULL or does not refer to a valid ACPI object.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -1006,7 +1006,7 @@ FindPath (
|
||||
}
|
||||
|
||||
AmlHandle = (EFI_AML_HANDLE *)HandleIn;
|
||||
|
||||
|
||||
//
|
||||
// Convert ASL path to AML path
|
||||
//
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
ACPI Sdt Protocol Driver
|
||||
|
||||
Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved. <BR>
|
||||
Copyright (c) 2010 - 2018, 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
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -130,7 +130,7 @@ typedef UINT32 AML_OP_ATTRIBUTE;
|
||||
#define AML_HAS_CHILD_OBJ 0x4 // it is ACPI attribute - if OpCode has Child Object.
|
||||
#define AML_IN_NAMESPACE 0x10000 // It is UEFI SDT attribute - if OpCode will be in NameSpace
|
||||
// NOTE; Not all OBJECT will be in NameSpace
|
||||
// For example, BankField | CreateBitField | CreateByteField | CreateDWordField |
|
||||
// For example, BankField | CreateBitField | CreateByteField | CreateDWordField |
|
||||
// CreateField | CreateQWordField | CreateWordField | Field | IndexField.
|
||||
|
||||
struct _AML_BYTE_ENCODING {
|
||||
@@ -147,7 +147,7 @@ struct _AML_BYTE_ENCODING {
|
||||
|
||||
/**
|
||||
Returns a requested ACPI table.
|
||||
|
||||
|
||||
The GetAcpiTable() function returns a pointer to a buffer containing the ACPI table associated
|
||||
with the Index that was input. The following structures are not considered elements in the list of
|
||||
ACPI tables:
|
||||
@@ -157,20 +157,20 @@ struct _AML_BYTE_ENCODING {
|
||||
Version is updated with a bit map containing all the versions of ACPI of which the table is a
|
||||
member. For tables installed via the EFI_ACPI_TABLE_PROTOCOL.InstallAcpiTable() interface,
|
||||
the function returns the value of EFI_ACPI_STD_PROTOCOL.AcpiVersion.
|
||||
|
||||
|
||||
@param[in] Index The zero-based index of the table to retrieve.
|
||||
@param[out] Table Pointer for returning the table buffer.
|
||||
@param[out] Version On return, updated with the ACPI versions to which this table belongs. Type
|
||||
EFI_ACPI_TABLE_VERSION is defined in "Related Definitions" in the
|
||||
EFI_ACPI_SDT_PROTOCOL.
|
||||
EFI_ACPI_SDT_PROTOCOL.
|
||||
@param[out] TableKey On return, points to the table key for the specified ACPI system definition table.
|
||||
This is identical to the table key used in the EFI_ACPI_TABLE_PROTOCOL.
|
||||
The TableKey can be passed to EFI_ACPI_TABLE_PROTOCOL.UninstallAcpiTable()
|
||||
to uninstall the table.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_NOT_FOUND The requested index is too large and a table was not found.
|
||||
**/
|
||||
@retval EFI_NOT_FOUND The requested index is too large and a table was not found.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
GetAcpiTable2 (
|
||||
@@ -182,17 +182,17 @@ GetAcpiTable2 (
|
||||
|
||||
/**
|
||||
Register or unregister a callback when an ACPI table is installed.
|
||||
|
||||
|
||||
This function registers or unregisters a function which will be called whenever a new ACPI table is
|
||||
installed.
|
||||
|
||||
|
||||
@param[in] Register If TRUE, then the specified function will be registered. If FALSE, then the specified
|
||||
function will be unregistered.
|
||||
@param[in] Notification Points to the callback function to be registered or unregistered.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Callback successfully registered or unregistered.
|
||||
@retval EFI_INVALID_PARAMETER Notification is NULL
|
||||
@retval EFI_INVALID_PARAMETER Register is FALSE and Notification does not match a known registration function.
|
||||
@retval EFI_INVALID_PARAMETER Register is FALSE and Notification does not match a known registration function.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -203,12 +203,12 @@ RegisterNotify (
|
||||
|
||||
/**
|
||||
Create a handle for the first ACPI opcode in an ACPI system description table.
|
||||
|
||||
|
||||
@param[in] TableKey The table key for the ACPI table, as returned by GetTable().
|
||||
@param[out] Handle On return, points to the newly created ACPI handle.
|
||||
|
||||
@retval EFI_SUCCESS Handle created successfully.
|
||||
@retval EFI_NOT_FOUND TableKey does not refer to a valid ACPI table.
|
||||
@retval EFI_NOT_FOUND TableKey does not refer to a valid ACPI table.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -219,29 +219,29 @@ OpenSdt (
|
||||
|
||||
/**
|
||||
Create a handle from an ACPI opcode
|
||||
|
||||
|
||||
@param[in] Buffer Points to the ACPI opcode.
|
||||
@param[out] Handle Upon return, holds the handle.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Success
|
||||
@retval EFI_INVALID_PARAMETER Buffer is NULL or Handle is NULL or Buffer points to an
|
||||
invalid opcode.
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
Open (
|
||||
IN VOID *Buffer,
|
||||
OUT EFI_ACPI_HANDLE *Handle
|
||||
OUT EFI_ACPI_HANDLE *Handle
|
||||
);
|
||||
|
||||
/**
|
||||
Close an ACPI handle.
|
||||
|
||||
|
||||
@param[in] Handle Returns the handle.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Success
|
||||
@retval EFI_INVALID_PARAMETER Handle is NULL or does not refer to a valid ACPI object.
|
||||
@retval EFI_INVALID_PARAMETER Handle is NULL or does not refer to a valid ACPI object.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -251,7 +251,7 @@ Close (
|
||||
|
||||
/**
|
||||
Retrieve information about an ACPI object.
|
||||
|
||||
|
||||
@param[in] Handle ACPI object handle.
|
||||
@param[in] Index Index of the data to retrieve from the object. In general, indexes read from left-to-right
|
||||
in the ACPI encoding, with index 0 always being the ACPI opcode.
|
||||
@@ -259,7 +259,7 @@ Close (
|
||||
for the specified index.
|
||||
@param[out] Data Upon return, points to the pointer to the data.
|
||||
@param[out] DataSize Upon return, points to the size of Data.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Success.
|
||||
@retval EFI_INVALID_PARAMETER Handle is NULL or does not refer to a valid ACPI object.
|
||||
**/
|
||||
@@ -275,7 +275,7 @@ GetOption (
|
||||
|
||||
/**
|
||||
Change information about an ACPI object.
|
||||
|
||||
|
||||
@param[in] Handle ACPI object handle.
|
||||
@param[in] Index Index of the data to retrieve from the object. In general, indexes read from left-to-right
|
||||
in the ACPI encoding, with index 0 always being the ACPI opcode.
|
||||
@@ -299,14 +299,14 @@ SetOption (
|
||||
|
||||
/**
|
||||
Return the child ACPI objects.
|
||||
|
||||
|
||||
@param[in] ParentHandle Parent handle.
|
||||
@param[in, out] Handle On entry, points to the previously returned handle or NULL to start with the first
|
||||
handle. On return, points to the next returned ACPI handle or NULL if there are no
|
||||
child objects.
|
||||
|
||||
@retval EFI_SUCCESS Success
|
||||
@retval EFI_INVALID_PARAMETER ParentHandle is NULL or does not refer to a valid ACPI object.
|
||||
@retval EFI_INVALID_PARAMETER ParentHandle is NULL or does not refer to a valid ACPI object.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -317,14 +317,14 @@ GetChild (
|
||||
|
||||
/**
|
||||
Returns the handle of the ACPI object representing the specified ACPI path
|
||||
|
||||
|
||||
@param[in] HandleIn Points to the handle of the object representing the starting point for the path search.
|
||||
@param[in] AcpiPath Points to the ACPI path, which conforms to the ACPI encoded path format.
|
||||
@param[out] HandleOut On return, points to the ACPI object which represents AcpiPath, relative to
|
||||
HandleIn.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Success
|
||||
@retval EFI_INVALID_PARAMETER HandleIn is NULL or does not refer to a valid ACPI object.
|
||||
@retval EFI_INVALID_PARAMETER HandleIn is NULL or does not refer to a valid ACPI object.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -340,21 +340,21 @@ FindPath (
|
||||
|
||||
/**
|
||||
Create a handle from an ACPI opcode
|
||||
|
||||
|
||||
@param[in] Buffer Points to the ACPI opcode.
|
||||
@param[in] BufferSize Max buffer size.
|
||||
@param[out] Handle Upon return, holds the handle.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Success
|
||||
@retval EFI_INVALID_PARAMETER Buffer is NULL or Handle is NULL or Buffer points to an
|
||||
invalid opcode.
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
SdtOpenEx (
|
||||
IN VOID *Buffer,
|
||||
IN UINTN BufferSize,
|
||||
OUT EFI_ACPI_HANDLE *Handle
|
||||
OUT EFI_ACPI_HANDLE *Handle
|
||||
);
|
||||
|
||||
//
|
||||
@@ -365,8 +365,8 @@ SdtOpenEx (
|
||||
Get AML NameString size.
|
||||
|
||||
@param[in] Buffer AML NameString.
|
||||
@param[out] BufferSize AML NameString size
|
||||
|
||||
@param[out] BufferSize AML NameString size
|
||||
|
||||
@retval EFI_SUCCESS Success.
|
||||
@retval EFI_INVALID_PARAMETER Buffer does not refer to a valid AML NameString.
|
||||
**/
|
||||
@@ -416,11 +416,11 @@ AmlSearchByOpByte (
|
||||
|
||||
/**
|
||||
Return object size.
|
||||
|
||||
|
||||
@param[in] AmlByteEncoding AML Byte Encoding.
|
||||
@param[in] Buffer AML object buffer.
|
||||
@param[in] MaxBufferSize AML object buffer MAX size. The parser can not parse any data exceed this region.
|
||||
|
||||
|
||||
@return Size of the object.
|
||||
**/
|
||||
UINTN
|
||||
@@ -432,9 +432,9 @@ AmlGetObjectSize (
|
||||
|
||||
/**
|
||||
Return object name.
|
||||
|
||||
|
||||
@param[in] AmlHandle AML handle.
|
||||
|
||||
|
||||
@return Name of the object.
|
||||
**/
|
||||
CHAR8 *
|
||||
@@ -444,7 +444,7 @@ AmlGetObjectName (
|
||||
|
||||
/**
|
||||
Retrieve information according to AmlHandle
|
||||
|
||||
|
||||
@param[in] AmlHandle AML handle.
|
||||
@param[in] Index Index of the data to retrieve from the object. In general, indexes read from left-to-right
|
||||
in the ACPI encoding, with index 0 always being the ACPI opcode.
|
||||
@@ -452,7 +452,7 @@ AmlGetObjectName (
|
||||
for the specified index.
|
||||
@param[out] Data Upon return, points to the pointer to the data.
|
||||
@param[out] DataSize Upon return, points to the size of Data.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Success.
|
||||
@retval EFI_INVALID_PARAMETER AmlHandle does not refer to a valid ACPI object.
|
||||
**/
|
||||
@@ -467,10 +467,10 @@ AmlParseOptionHandleCommon (
|
||||
|
||||
/**
|
||||
Return offset of last option.
|
||||
|
||||
|
||||
@param[in] AmlHandle AML Handle.
|
||||
@param[out] Buffer Upon return, points to the offset after last option.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Success.
|
||||
@retval EFI_INVALID_PARAMETER AmlHandle does not refer to a valid ACPI object.
|
||||
**/
|
||||
@@ -482,14 +482,14 @@ AmlGetOffsetAfterLastOption (
|
||||
|
||||
/**
|
||||
Return the child ACPI objects from Root Handle.
|
||||
|
||||
|
||||
@param[in] AmlParentHandle Parent handle. It is Root Handle.
|
||||
@param[in] AmlHandle The previously returned handle or NULL to start with the first handle.
|
||||
@param[out] Buffer On return, points to the next returned ACPI handle or NULL if there are no
|
||||
child objects.
|
||||
|
||||
@retval EFI_SUCCESS Success
|
||||
@retval EFI_INVALID_PARAMETER ParentHandle is NULL or does not refer to a valid ACPI object.
|
||||
@retval EFI_INVALID_PARAMETER ParentHandle is NULL or does not refer to a valid ACPI object.
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlGetChildFromRoot (
|
||||
@@ -500,14 +500,14 @@ AmlGetChildFromRoot (
|
||||
|
||||
/**
|
||||
Return the child ACPI objects from Non-Root Handle.
|
||||
|
||||
|
||||
@param[in] AmlParentHandle Parent handle. It is Non-Root Handle.
|
||||
@param[in] AmlHandle The previously returned handle or NULL to start with the first handle.
|
||||
@param[out] Buffer On return, points to the next returned ACPI handle or NULL if there are no
|
||||
child objects.
|
||||
|
||||
@retval EFI_SUCCESS Success
|
||||
@retval EFI_INVALID_PARAMETER ParentHandle is NULL or does not refer to a valid ACPI object.
|
||||
@retval EFI_INVALID_PARAMETER ParentHandle is NULL or does not refer to a valid ACPI object.
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlGetChildFromNonRoot (
|
||||
@@ -531,16 +531,16 @@ AmlNameFromAslName (
|
||||
|
||||
/**
|
||||
Returns the handle of the ACPI object representing the specified ACPI AML path
|
||||
|
||||
|
||||
@param[in] AmlHandle Points to the handle of the object representing the starting point for the path search.
|
||||
@param[in] AmlPath Points to the ACPI AML path.
|
||||
@param[out] Buffer On return, points to the ACPI object which represents AcpiPath, relative to
|
||||
HandleIn.
|
||||
@param[in] FromRoot TRUE means to find AML path from \ (Root) Node.
|
||||
FALSE means to find AML path from this Node (The HandleIn).
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Success
|
||||
@retval EFI_INVALID_PARAMETER HandleIn does not refer to a valid ACPI object.
|
||||
@retval EFI_INVALID_PARAMETER HandleIn does not refer to a valid ACPI object.
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlFindPath (
|
||||
@@ -574,7 +574,7 @@ AmlPrintNameSeg (
|
||||
Check if it is AML Root name
|
||||
|
||||
@param[in] Buffer AML path.
|
||||
|
||||
|
||||
@retval TRUE AML path is root.
|
||||
@retval FALSE AML path is not root.
|
||||
**/
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
ACPI Table Protocol Driver
|
||||
|
||||
Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, 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
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -150,14 +150,14 @@ AcpiTableAcpiTableConstructor (
|
||||
|
||||
/**
|
||||
Entry point of the ACPI table driver.
|
||||
Creates and initializes an instance of the ACPI Table
|
||||
Creates and initializes an instance of the ACPI Table
|
||||
Protocol and installs it on a new handle.
|
||||
|
||||
@param ImageHandle A handle for the image that is initializing this driver
|
||||
@param SystemTable A pointer to the EFI system table
|
||||
|
||||
@return EFI_SUCCESS Driver initialized successfully
|
||||
@return EFI_LOAD_ERROR Failed to Initialize or has been loaded
|
||||
@return EFI_LOAD_ERROR Failed to Initialize or has been loaded
|
||||
@return EFI_OUT_OF_RESOURCES Could not allocate needed resources
|
||||
|
||||
**/
|
||||
@@ -176,7 +176,7 @@ InitializeAcpiTableDxe (
|
||||
|
||||
@param[in] Handle Table to find.
|
||||
@param[in] TableList Table list to search
|
||||
@param[out] Table Pointer to table found.
|
||||
@param[out] Table Pointer to table found.
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_NOT_FOUND No table found matching the handle specified.
|
||||
|
@@ -1,16 +1,16 @@
|
||||
## @file
|
||||
# ACPI Table Protocol Driver
|
||||
#
|
||||
# This driver initializes ACPI tables (Rsdp, Rsdt and Xsdt) and produces UEFI/PI
|
||||
# This driver initializes ACPI tables (Rsdp, Rsdt and Xsdt) and produces UEFI/PI
|
||||
# services to install/uninstall/manage ACPI tables.
|
||||
#
|
||||
# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>
|
||||
# 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.
|
||||
#
|
||||
|
@@ -1,13 +1,13 @@
|
||||
// /** @file
|
||||
// AcpiTableDxe Module Localized Abstract and Description Content
|
||||
//
|
||||
// Copyright (c) 2012 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2012 - 2018, 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
|
||||
// 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.
|
||||
//
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// AcpiTableDxe Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2013 - 2018, 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
|
||||
@@ -13,8 +13,8 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
"ACPI Table DXE Driver"
|
||||
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
ACPI Table Protocol Implementation
|
||||
|
||||
Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -18,9 +18,9 @@
|
||||
//
|
||||
#include "AcpiTable.h"
|
||||
//
|
||||
// The maximum number of tables that pre-allocated.
|
||||
// The maximum number of tables that pre-allocated.
|
||||
//
|
||||
UINTN mEfiAcpiMaxNumTables = EFI_ACPI_MAX_NUM_TABLES;
|
||||
UINTN mEfiAcpiMaxNumTables = EFI_ACPI_MAX_NUM_TABLES;
|
||||
|
||||
//
|
||||
// Allocation strategy to use for AllocatePages ().
|
||||
@@ -196,7 +196,7 @@ PublishTables (
|
||||
@param TableKey Reurns a key to refer to the ACPI table.
|
||||
|
||||
@return EFI_SUCCESS The table was successfully inserted.
|
||||
@return EFI_INVALID_PARAMETER Either AcpiTableBuffer is NULL, TableKey is NULL, or AcpiTableBufferSize
|
||||
@return EFI_INVALID_PARAMETER Either AcpiTableBuffer is NULL, TableKey is NULL, or AcpiTableBufferSize
|
||||
and the size field embedded in the ACPI table pointed to by AcpiTableBuffer
|
||||
are not in sync.
|
||||
@return EFI_OUT_OF_RESOURCES Insufficient resources exist to complete the request.
|
||||
@@ -253,7 +253,7 @@ InstallAcpiTable (
|
||||
);
|
||||
}
|
||||
FreePool (AcpiTableBufferConst);
|
||||
|
||||
|
||||
//
|
||||
// Add a new table successfully, notify registed callback
|
||||
//
|
||||
@@ -342,8 +342,8 @@ ReallocateAcpiTableBuffer (
|
||||
EFI_ACPI_TABLE_INSTANCE TempPrivateData;
|
||||
EFI_STATUS Status;
|
||||
UINT64 CurrentData;
|
||||
|
||||
CopyMem (&TempPrivateData, AcpiTableInstance, sizeof (EFI_ACPI_TABLE_INSTANCE));
|
||||
|
||||
CopyMem (&TempPrivateData, AcpiTableInstance, sizeof (EFI_ACPI_TABLE_INSTANCE));
|
||||
//
|
||||
// Enlarge the max table number from mEfiAcpiMaxNumTables to mEfiAcpiMaxNumTables + EFI_ACPI_MAX_NUM_TABLES
|
||||
//
|
||||
@@ -384,7 +384,7 @@ ReallocateAcpiTableBuffer (
|
||||
|
||||
Pointer = (UINT8 *) (UINTN) PageAddress;
|
||||
ZeroMem (Pointer, TotalSize);
|
||||
|
||||
|
||||
AcpiTableInstance->Rsdt1 = (EFI_ACPI_DESCRIPTION_HEADER *) Pointer;
|
||||
if ((PcdGet32 (PcdAcpiExposedTableVersions) & EFI_ACPI_TABLE_VERSION_1_0B) != 0) {
|
||||
Pointer += (sizeof (EFI_ACPI_DESCRIPTION_HEADER) + NewMaxTableNumber * sizeof (UINT32));
|
||||
@@ -404,14 +404,14 @@ ReallocateAcpiTableBuffer (
|
||||
CopyMem (&AcpiTableInstance->Rsdp3->XsdtAddress, &CurrentData, sizeof (UINT64));
|
||||
|
||||
//
|
||||
// copy the original Rsdt1, Rsdt3 and Xsdt structure to new buffer
|
||||
// copy the original Rsdt1, Rsdt3 and Xsdt structure to new buffer
|
||||
//
|
||||
if ((PcdGet32 (PcdAcpiExposedTableVersions) & EFI_ACPI_TABLE_VERSION_1_0B) != 0) {
|
||||
CopyMem (AcpiTableInstance->Rsdt1, TempPrivateData.Rsdt1, (sizeof (EFI_ACPI_DESCRIPTION_HEADER) + mEfiAcpiMaxNumTables * sizeof (UINT32)));
|
||||
CopyMem (AcpiTableInstance->Rsdt3, TempPrivateData.Rsdt3, (sizeof (EFI_ACPI_DESCRIPTION_HEADER) + mEfiAcpiMaxNumTables * sizeof (UINT32)));
|
||||
CopyMem (AcpiTableInstance->Rsdt1, TempPrivateData.Rsdt1, (sizeof (EFI_ACPI_DESCRIPTION_HEADER) + mEfiAcpiMaxNumTables * sizeof (UINT32)));
|
||||
CopyMem (AcpiTableInstance->Rsdt3, TempPrivateData.Rsdt3, (sizeof (EFI_ACPI_DESCRIPTION_HEADER) + mEfiAcpiMaxNumTables * sizeof (UINT32)));
|
||||
}
|
||||
CopyMem (AcpiTableInstance->Xsdt, TempPrivateData.Xsdt, (sizeof (EFI_ACPI_DESCRIPTION_HEADER) + mEfiAcpiMaxNumTables * sizeof (UINT64)));
|
||||
|
||||
|
||||
//
|
||||
// Calculate orignal ACPI table buffer size
|
||||
//
|
||||
@@ -426,10 +426,10 @@ ReallocateAcpiTableBuffer (
|
||||
}
|
||||
|
||||
gBS->FreePages ((EFI_PHYSICAL_ADDRESS)(UINTN)TempPrivateData.Rsdt1, EFI_SIZE_TO_PAGES (TotalSize));
|
||||
|
||||
|
||||
//
|
||||
// Update the Max ACPI table number
|
||||
//
|
||||
//
|
||||
mEfiAcpiMaxNumTables = NewMaxTableNumber;
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
@@ -508,7 +508,7 @@ AddTableToList (
|
||||
//
|
||||
// Allocation memory type depends on the type of the table
|
||||
//
|
||||
if ((CurrentTableSignature == EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE) ||
|
||||
if ((CurrentTableSignature == EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE) ||
|
||||
(CurrentTableSignature == EFI_ACPI_4_0_UEFI_ACPI_DATA_TABLE_SIGNATURE)) {
|
||||
//
|
||||
// Allocate memory for the FACS. This structure must be aligned
|
||||
@@ -634,7 +634,7 @@ AddTableToList (
|
||||
|
||||
//
|
||||
// Update pointers in FADT. If tables don't exist this will put NULL pointers there.
|
||||
// Note: If the FIRMWARE_CTRL is non-zero, then X_FIRMWARE_CTRL must be zero, and
|
||||
// Note: If the FIRMWARE_CTRL is non-zero, then X_FIRMWARE_CTRL must be zero, and
|
||||
// vice-versa.
|
||||
//
|
||||
if ((UINT64)(UINTN)AcpiTableInstance->Facs3 < BASE_4GB) {
|
||||
@@ -682,7 +682,7 @@ AddTableToList (
|
||||
&AcpiTableInstance->Fadt3->Header.OemId,
|
||||
6
|
||||
);
|
||||
|
||||
|
||||
if ((PcdGet32 (PcdAcpiExposedTableVersions) & EFI_ACPI_TABLE_VERSION_1_0B) != 0) {
|
||||
//
|
||||
// RSDT OEM information is updated to match FADT OEM information.
|
||||
@@ -714,7 +714,7 @@ AddTableToList (
|
||||
sizeof (UINT64)
|
||||
);
|
||||
AcpiTableInstance->Xsdt->OemRevision = AcpiTableInstance->Fadt3->Header.OemRevision;
|
||||
}
|
||||
}
|
||||
//
|
||||
// Checksum the table
|
||||
//
|
||||
@@ -782,7 +782,7 @@ AddTableToList (
|
||||
//
|
||||
if (AcpiTableInstance->Fadt3 != NULL) {
|
||||
//
|
||||
// Note: If the FIRMWARE_CTRL is non-zero, then X_FIRMWARE_CTRL must be zero, and
|
||||
// Note: If the FIRMWARE_CTRL is non-zero, then X_FIRMWARE_CTRL must be zero, and
|
||||
// vice-versa.
|
||||
//
|
||||
if ((UINT64)(UINTN)AcpiTableInstance->Facs3 < BASE_4GB) {
|
||||
@@ -854,7 +854,7 @@ AddTableToList (
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((Version & ACPI_TABLE_VERSION_GTE_2_0) != 0) {
|
||||
//
|
||||
// Save a pointer to the table
|
||||
@@ -900,7 +900,7 @@ AddTableToList (
|
||||
Checksum)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
//
|
||||
// Checksum the table
|
||||
//
|
||||
@@ -1050,7 +1050,7 @@ AddTableToList (
|
||||
|
||||
@param Handle Table to find.
|
||||
@param TableList Table list to search
|
||||
@param Table Pointer to table found.
|
||||
@param Table Pointer to table found.
|
||||
|
||||
@return EFI_SUCCESS The function completed successfully.
|
||||
@return EFI_NOT_FOUND No table found matching the handle specified.
|
||||
@@ -1100,7 +1100,7 @@ FindTableByHandle (
|
||||
For Acpi 1.0 tables, pass in the Rsdt.
|
||||
For Acpi 2.0 tables, pass in both Rsdt and Xsdt.
|
||||
|
||||
@param Table Pointer to table found.
|
||||
@param Table Pointer to table found.
|
||||
@param NumberOfTableEntries Current number of table entries in the RSDT/XSDT
|
||||
@param Rsdt Pointer to the RSDT to remove from
|
||||
@param Xsdt Pointer to the Xsdt to remove from
|
||||
@@ -1320,7 +1320,7 @@ DeleteTable (
|
||||
// Remove this version from the table
|
||||
//
|
||||
Table->Version = Table->Version &~(Version & ACPI_TABLE_VERSION_GTE_2_0);
|
||||
|
||||
|
||||
//
|
||||
// Remove from Rsdt and Xsdt. We don't care about the return value
|
||||
// because it is acceptable for the table to not exist in Rsdt/Xsdt.
|
||||
@@ -1334,7 +1334,7 @@ DeleteTable (
|
||||
AcpiTableInstance->Xsdt
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
//
|
||||
// Free the table, clean up any dependent tables and our private data pointers.
|
||||
//
|
||||
@@ -1392,7 +1392,7 @@ DeleteTable (
|
||||
Checksum)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case EFI_ACPI_3_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE:
|
||||
@@ -1417,7 +1417,7 @@ DeleteTable (
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if ((Version & ACPI_TABLE_VERSION_GTE_2_0) != 0) {
|
||||
AcpiTableInstance->Dsdt3 = NULL;
|
||||
|
||||
@@ -1640,7 +1640,7 @@ ChecksumCommonTables (
|
||||
OFFSET_OF (EFI_ACPI_DESCRIPTION_HEADER,
|
||||
Checksum)
|
||||
);
|
||||
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
ACPI Sdt Protocol Driver
|
||||
|
||||
Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved. <BR>
|
||||
Copyright (c) 2010 - 2018, 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
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -209,7 +209,7 @@ AmlSearchByOpByte (
|
||||
return &mAmlByteEncoding[Index];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -250,7 +250,7 @@ AmlGetPkgLength (
|
||||
UINT8 ByteCount;
|
||||
UINTN RealLength;
|
||||
UINTN Offset;
|
||||
|
||||
|
||||
//
|
||||
// <bit 7-6: ByteData count that follows (0-3)>
|
||||
// <bit 5-4: Only used if PkgLength < 63>
|
||||
@@ -265,8 +265,8 @@ AmlGetPkgLength (
|
||||
// package length value. The next ByteData will become the next least significant 8 bits
|
||||
// of the resulting value and so on, up to 3 ByteData bytes. Thus, the maximum package
|
||||
// length is 2**28.
|
||||
//
|
||||
|
||||
//
|
||||
|
||||
LeadByte = *Buffer;
|
||||
ByteCount = (UINT8)((LeadByte >> 6) & 0x03);
|
||||
Offset = ByteCount + 1;
|
||||
@@ -295,7 +295,7 @@ AmlGetPkgLength (
|
||||
ASSERT (0);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
*PkgLength = RealLength;
|
||||
return Offset;
|
||||
}
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
ACPI Sdt Protocol Driver
|
||||
|
||||
Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved. <BR>
|
||||
Copyright (c) 2010 - 2018, 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
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -16,14 +16,14 @@
|
||||
|
||||
/**
|
||||
Return the child objects buffer from AML Handle's buffer.
|
||||
|
||||
|
||||
@param[in] AmlParentHandle Parent handle.
|
||||
@param[in] CurrentBuffer The current child buffer.
|
||||
@param[out] Buffer On return, points to the next returned child buffer or NULL if there are no
|
||||
child buffer.
|
||||
|
||||
@retval EFI_SUCCESS Success
|
||||
@retval EFI_INVALID_PARAMETER AmlParentHandle does not refer to a valid ACPI object.
|
||||
@retval EFI_INVALID_PARAMETER AmlParentHandle does not refer to a valid ACPI object.
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlGetChildFromObjectBuffer (
|
||||
@@ -72,14 +72,14 @@ AmlGetChildFromObjectBuffer (
|
||||
|
||||
/**
|
||||
Return the child ACPI objects from Root Handle.
|
||||
|
||||
|
||||
@param[in] AmlParentHandle Parent handle. It is Root Handle.
|
||||
@param[in] AmlHandle The previously returned handle or NULL to start with the first handle.
|
||||
@param[out] Buffer On return, points to the next returned ACPI handle or NULL if there are no
|
||||
child objects.
|
||||
|
||||
@retval EFI_SUCCESS Success
|
||||
@retval EFI_INVALID_PARAMETER ParentHandle is NULL or does not refer to a valid ACPI object.
|
||||
@retval EFI_INVALID_PARAMETER ParentHandle is NULL or does not refer to a valid ACPI object.
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlGetChildFromRoot (
|
||||
@@ -104,14 +104,14 @@ AmlGetChildFromRoot (
|
||||
|
||||
/**
|
||||
Return the child objects buffer from AML Handle's option list.
|
||||
|
||||
|
||||
@param[in] AmlParentHandle Parent handle.
|
||||
@param[in] AmlHandle The current child handle.
|
||||
@param[out] Buffer On return, points to the next returned child buffer or NULL if there are no
|
||||
child buffer.
|
||||
|
||||
@retval EFI_SUCCESS Success
|
||||
@retval EFI_INVALID_PARAMETER AmlParentHandle does not refer to a valid ACPI object.
|
||||
@retval EFI_INVALID_PARAMETER AmlParentHandle does not refer to a valid ACPI object.
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlGetChildFromOptionList (
|
||||
@@ -170,14 +170,14 @@ AmlGetChildFromOptionList (
|
||||
|
||||
/**
|
||||
Return the child objects buffer from AML Handle's object child list.
|
||||
|
||||
|
||||
@param[in] AmlParentHandle Parent handle.
|
||||
@param[in] AmlHandle The current child handle.
|
||||
@param[out] Buffer On return, points to the next returned child buffer or NULL if there are no
|
||||
child buffer.
|
||||
|
||||
@retval EFI_SUCCESS Success
|
||||
@retval EFI_INVALID_PARAMETER AmlParentHandle does not refer to a valid ACPI object.
|
||||
@retval EFI_INVALID_PARAMETER AmlParentHandle does not refer to a valid ACPI object.
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlGetChildFromObjectChildList (
|
||||
@@ -237,14 +237,14 @@ AmlGetChildFromObjectChildList (
|
||||
|
||||
/**
|
||||
Return the child ACPI objects from Non-Root Handle.
|
||||
|
||||
|
||||
@param[in] AmlParentHandle Parent handle. It is Non-Root Handle.
|
||||
@param[in] AmlHandle The previously returned handle or NULL to start with the first handle.
|
||||
@param[out] Buffer On return, points to the next returned ACPI handle or NULL if there are no
|
||||
child objects.
|
||||
|
||||
@retval EFI_SUCCESS Success
|
||||
@retval EFI_INVALID_PARAMETER ParentHandle is NULL or does not refer to a valid ACPI object.
|
||||
@retval EFI_INVALID_PARAMETER ParentHandle is NULL or does not refer to a valid ACPI object.
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlGetChildFromNonRoot (
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
ACPI Sdt Protocol Driver
|
||||
|
||||
Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved. <BR>
|
||||
Copyright (c) 2010 - 2018, 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
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -16,11 +16,11 @@
|
||||
|
||||
/**
|
||||
Construct node list according to the AML handle.
|
||||
|
||||
|
||||
@param[in] AmlHandle AML handle.
|
||||
@param[in] AmlRootNodeList AML root node list.
|
||||
@param[in] AmlParentNodeList AML parent node list.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Success.
|
||||
@retval EFI_INVALID_PARAMETER AML handle does not refer to a valid ACPI object.
|
||||
**/
|
||||
@@ -33,11 +33,11 @@ AmlConstructNodeList (
|
||||
|
||||
/**
|
||||
Create AML Node.
|
||||
|
||||
|
||||
@param[in] NameSeg AML NameSeg.
|
||||
@param[in] Parent AML parent node list.
|
||||
@param[in] AmlByteEncoding AML Byte Encoding.
|
||||
|
||||
|
||||
@return AML Node.
|
||||
**/
|
||||
EFI_AML_NODE_LIST *
|
||||
@@ -66,11 +66,11 @@ AmlCreateNode (
|
||||
|
||||
/**
|
||||
Find the AML NameSeg in the children of AmlParentNodeList.
|
||||
|
||||
|
||||
@param[in] NameSeg AML NameSeg.
|
||||
@param[in] AmlParentNodeList AML parent node list.
|
||||
@param[in] Create TRUE means to create node if not found.
|
||||
|
||||
|
||||
@return AmlChildNode whoes name is same as NameSeg.
|
||||
**/
|
||||
EFI_AML_NODE_LIST *
|
||||
@@ -120,12 +120,12 @@ AmlFindNodeInThis (
|
||||
|
||||
/**
|
||||
Find the AML NameString in the children of AmlParentNodeList or AmlRootNodeList.
|
||||
|
||||
|
||||
@param[in] NameString AML NameString.
|
||||
@param[in] AmlRootNodeList AML root node list.
|
||||
@param[in] AmlParentNodeList AML parent node list.
|
||||
@param[in] Create TRUE means to create node if not found.
|
||||
|
||||
|
||||
@return AmlChildNode whoes name is same as NameSeg.
|
||||
**/
|
||||
EFI_AML_NODE_LIST *
|
||||
@@ -166,7 +166,7 @@ AmlFindNodeInTheTree (
|
||||
} else {
|
||||
AmlCurrentNodeList = AmlParentNodeList;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Handle name segment
|
||||
//
|
||||
@@ -206,13 +206,13 @@ AmlFindNodeInTheTree (
|
||||
|
||||
/**
|
||||
Insert the NameString to the AmlNodeList.
|
||||
|
||||
|
||||
@param[in] NameString AML NameString.
|
||||
@param[in] Buffer Buffer for the Node.
|
||||
@param[in] Size Size for the Node.
|
||||
@param[in] AmlRootNodeList AML root node list.
|
||||
@param[in] AmlParentNodeList AML parent node list.
|
||||
|
||||
|
||||
@return AmlChildNode whoes name is NameString.
|
||||
**/
|
||||
EFI_AML_NODE_LIST *
|
||||
@@ -278,11 +278,11 @@ AmlInsertNodeToTree (
|
||||
|
||||
/**
|
||||
Construct child node list according to the AML handle.
|
||||
|
||||
|
||||
@param[in] AmlHandle AML handle.
|
||||
@param[in] AmlRootNodeList AML root node list.
|
||||
@param[in] AmlParentNodeList AML parent node list.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Success.
|
||||
@retval EFI_INVALID_PARAMETER AML handle does not refer to a valid ACPI object.
|
||||
**/
|
||||
@@ -369,11 +369,11 @@ AmlConstructNodeListForChild (
|
||||
|
||||
/**
|
||||
Construct node list according to the AML handle.
|
||||
|
||||
|
||||
@param[in] AmlHandle AML handle.
|
||||
@param[in] AmlRootNodeList AML root node list.
|
||||
@param[in] AmlParentNodeList AML parent node list.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Success.
|
||||
@retval EFI_INVALID_PARAMETER AML handle does not refer to a valid ACPI object.
|
||||
**/
|
||||
@@ -420,7 +420,7 @@ AmlConstructNodeList (
|
||||
|
||||
/**
|
||||
Destruct node list
|
||||
|
||||
|
||||
@param[in] AmlParentNodeList AML parent node list.
|
||||
**/
|
||||
VOID
|
||||
@@ -465,7 +465,7 @@ AmlDestructNodeList (
|
||||
|
||||
/**
|
||||
Dump node list
|
||||
|
||||
|
||||
@param[in] AmlParentNodeList AML parent node list.
|
||||
@param[in] Level Output debug level.
|
||||
**/
|
||||
@@ -502,16 +502,16 @@ AmlDumpNodeInfo (
|
||||
|
||||
/**
|
||||
Returns the handle of the ACPI object representing the specified ACPI AML path
|
||||
|
||||
|
||||
@param[in] AmlHandle Points to the handle of the object representing the starting point for the path search.
|
||||
@param[in] AmlPath Points to the ACPI AML path.
|
||||
@param[out] Buffer On return, points to the ACPI object which represents AcpiPath, relative to
|
||||
HandleIn.
|
||||
@param[in] FromRoot TRUE means to find AML path from \ (Root) Node.
|
||||
FALSE means to find AML path from this Node (The HandleIn).
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Success
|
||||
@retval EFI_INVALID_PARAMETER HandleIn does not refer to a valid ACPI object.
|
||||
@retval EFI_INVALID_PARAMETER HandleIn does not refer to a valid ACPI object.
|
||||
**/
|
||||
EFI_STATUS
|
||||
AmlFindPath (
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
ACPI Sdt Protocol Driver
|
||||
|
||||
Copyright (c) 2010, Intel Corporation. All rights reserved. <BR>
|
||||
Copyright (c) 2010 - 2018, 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
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
/**
|
||||
Retrieve option term according to AmlByteEncoding and Buffer.
|
||||
|
||||
|
||||
@param[in] AmlByteEncoding AML Byte Encoding.
|
||||
@param[in] Buffer AML buffer.
|
||||
@param[in] MaxBufferSize AML buffer MAX size. The parser can not parse any data exceed this region.
|
||||
@@ -25,7 +25,7 @@
|
||||
for the specified index.
|
||||
@param[out] Data Upon return, points to the pointer to the data.
|
||||
@param[out] DataSize Upon return, points to the size of Data.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Success.
|
||||
@retval EFI_INVALID_PARAMETER Buffer does not refer to a valid ACPI object.
|
||||
**/
|
||||
@@ -125,7 +125,7 @@ AmlParseOptionTerm (
|
||||
|
||||
/**
|
||||
Retrieve information according to AmlByteEncoding and Buffer.
|
||||
|
||||
|
||||
@param[in] AmlByteEncoding AML Byte Encoding.
|
||||
@param[in] Buffer AML buffer.
|
||||
@param[in] MaxBufferSize AML buffer MAX size. The parser can not parse any data exceed this region.
|
||||
@@ -135,7 +135,7 @@ AmlParseOptionTerm (
|
||||
for the specified index.
|
||||
@param[out] Data Upon return, points to the pointer to the data.
|
||||
@param[out] DataSize Upon return, points to the size of Data.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Success.
|
||||
@retval EFI_INVALID_PARAMETER Buffer does not refer to a valid ACPI object.
|
||||
**/
|
||||
@@ -286,11 +286,11 @@ AmlParseOptionCommon (
|
||||
|
||||
/**
|
||||
Return object size.
|
||||
|
||||
|
||||
@param[in] AmlByteEncoding AML Byte Encoding.
|
||||
@param[in] Buffer AML object buffer.
|
||||
@param[in] MaxBufferSize AML object buffer MAX size. The parser can not parse any data exceed this region.
|
||||
|
||||
|
||||
@return Size of the object.
|
||||
**/
|
||||
UINTN
|
||||
@@ -321,9 +321,9 @@ AmlGetObjectSize (
|
||||
|
||||
/**
|
||||
Return object name.
|
||||
|
||||
|
||||
@param[in] AmlHandle AML handle.
|
||||
|
||||
|
||||
@return Name of the object.
|
||||
**/
|
||||
CHAR8 *
|
||||
@@ -374,10 +374,10 @@ AmlGetObjectName (
|
||||
|
||||
/**
|
||||
Return offset of last option.
|
||||
|
||||
|
||||
@param[in] AmlHandle AML Handle.
|
||||
@param[out] Buffer Upon return, points to the offset after last option.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Success.
|
||||
@retval EFI_INVALID_PARAMETER AmlHandle does not refer to a valid ACPI object.
|
||||
**/
|
||||
@@ -419,7 +419,7 @@ AmlGetOffsetAfterLastOption (
|
||||
|
||||
/**
|
||||
Retrieve information according to AmlHandle
|
||||
|
||||
|
||||
@param[in] AmlHandle AML handle.
|
||||
@param[in] Index Index of the data to retrieve from the object. In general, indexes read from left-to-right
|
||||
in the ACPI encoding, with index 0 always being the ACPI opcode.
|
||||
@@ -427,7 +427,7 @@ AmlGetOffsetAfterLastOption (
|
||||
for the specified index.
|
||||
@param[out] Data Upon return, points to the pointer to the data.
|
||||
@param[out] DataSize Upon return, points to the size of Data.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS Success.
|
||||
@retval EFI_INVALID_PARAMETER AmlHandle does not refer to a valid ACPI object.
|
||||
**/
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
ACPI Sdt Protocol Driver
|
||||
|
||||
Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved. <BR>
|
||||
Copyright (c) 2010 - 2018, 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
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -18,7 +18,7 @@
|
||||
Check if it is AML Root name
|
||||
|
||||
@param[in] Buffer AML path.
|
||||
|
||||
|
||||
@retval TRUE AML path is root.
|
||||
@retval FALSE AML path is not root.
|
||||
**/
|
||||
@@ -38,7 +38,7 @@ AmlIsRootPath (
|
||||
Check if it is AML LeadName.
|
||||
|
||||
@param[in] Ch Char.
|
||||
|
||||
|
||||
@retval TRUE Char is AML LeadName.
|
||||
@retval FALSE Char is not AML LeadName.
|
||||
**/
|
||||
@@ -58,7 +58,7 @@ AmlIsLeadName (
|
||||
Check if it is AML Name.
|
||||
|
||||
@param[in] Ch Char.
|
||||
|
||||
|
||||
@retval TRUE Char is AML Name.
|
||||
@retval FALSE Char is not AML Name.
|
||||
**/
|
||||
@@ -78,7 +78,7 @@ AmlIsName (
|
||||
Return is buffer is AML NameSeg.
|
||||
|
||||
@param[in] Buffer AML NameSement.
|
||||
|
||||
|
||||
@retval TRUE It is AML NameSegment.
|
||||
@retval FALSE It is not AML NameSegment.
|
||||
**/
|
||||
@@ -103,8 +103,8 @@ AmlIsNameSeg (
|
||||
Get AML NameString size.
|
||||
|
||||
@param[in] Buffer AML NameString.
|
||||
@param[out] BufferSize AML NameString size
|
||||
|
||||
@param[out] BufferSize AML NameString size
|
||||
|
||||
@retval EFI_SUCCESS Success.
|
||||
@retval EFI_INVALID_PARAMETER Buffer does not refer to a valid AML NameString.
|
||||
**/
|
||||
@@ -183,7 +183,7 @@ AmlGetNameStringSize (
|
||||
Check if it is ASL LeadName.
|
||||
|
||||
@param[in] Ch Char.
|
||||
|
||||
|
||||
@retval TRUE Char is ASL LeadName.
|
||||
@retval FALSE Char is not ASL LeadName.
|
||||
**/
|
||||
@@ -203,7 +203,7 @@ AmlIsAslLeadName (
|
||||
Check if it is ASL Name.
|
||||
|
||||
@param[in] Ch Char.
|
||||
|
||||
|
||||
@retval TRUE Char is ASL Name.
|
||||
@retval FALSE Char is not ASL Name.
|
||||
**/
|
||||
@@ -223,7 +223,7 @@ AmlIsAslName (
|
||||
Get ASL NameString size.
|
||||
|
||||
@param[in] Buffer ASL NameString.
|
||||
|
||||
|
||||
@return ASL NameString size.
|
||||
**/
|
||||
UINTN
|
||||
@@ -237,7 +237,7 @@ AmlGetAslNameSegLength (
|
||||
if (*Buffer == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Length = 0;
|
||||
//
|
||||
// 1st
|
||||
@@ -275,7 +275,7 @@ AmlGetAslNameSegLength (
|
||||
@param[out] Root On return, points to Root char number.
|
||||
@param[out] Parent On return, points to Parent char number.
|
||||
@param[out] SegCount On return, points to Segment count.
|
||||
|
||||
|
||||
@return ASL NameString size.
|
||||
**/
|
||||
UINTN
|
||||
@@ -532,7 +532,7 @@ AmlPrintNameString (
|
||||
//
|
||||
SegCount = 1;
|
||||
}
|
||||
|
||||
|
||||
AmlPrintNameSeg (Buffer);
|
||||
Buffer += AML_NAME_SEG_SIZE;
|
||||
for (Index = 0; Index < SegCount - 1; Index++) {
|
||||
|
@@ -7,10 +7,10 @@
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
##
|
||||
|
||||
[Defines]
|
||||
|
@@ -3,13 +3,13 @@
|
||||
//
|
||||
// This module installs the ACPI Boot Graphics Resource Table (BGRT).
|
||||
//
|
||||
// Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2011 - 2018, 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
|
||||
// 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.
|
||||
//
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// BootGraphicsResourceTableDxe Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2013 - 2018, 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
|
||||
@@ -13,8 +13,8 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
"ACPI Boot Graphics Resource Table DXE Driver"
|
||||
|
||||
|
||||
|
@@ -38,11 +38,11 @@
|
||||
ScriptExecute.c
|
||||
|
||||
[Sources.X64]
|
||||
X64/SetIdtEntry.c
|
||||
X64/SetIdtEntry.c
|
||||
X64/S3Asm.nasm
|
||||
|
||||
|
||||
[Sources.Ia32]
|
||||
IA32/SetIdtEntry.c
|
||||
IA32/SetIdtEntry.c
|
||||
IA32/S3Asm.nasm
|
||||
|
||||
[Packages]
|
||||
|
@@ -4,13 +4,13 @@
|
||||
// This is a standalone Boot Script Executor. Standalone means it does not
|
||||
// depends on any PEI or DXE service.
|
||||
//
|
||||
// Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2006 - 2018, 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
|
||||
// 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.
|
||||
//
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// BootScriptExecutorDxe Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2013 - 2018, 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
|
||||
@@ -13,8 +13,8 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
"Boot Script Execution DXE Driver"
|
||||
|
||||
|
||||
|
@@ -4,7 +4,7 @@
|
||||
This driver is dispatched by Dxe core and the driver will reload itself to ACPI reserved memory
|
||||
in the entry point. The functionality is to interpret and restore the S3 boot script
|
||||
|
||||
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
@@ -72,12 +72,12 @@ S3BootScriptExecutorEntryFunction (
|
||||
// for that parameter.
|
||||
//
|
||||
Status = S3BootScriptExecute ();
|
||||
|
||||
|
||||
//
|
||||
// If invalid script table or opcode in S3 boot script table.
|
||||
//
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
|
||||
|
||||
if (EFI_ERROR (Status)) {
|
||||
CpuDeadLoop ();
|
||||
return Status;
|
||||
@@ -95,7 +95,7 @@ S3BootScriptExecutorEntryFunction (
|
||||
//
|
||||
if (PeiS3ResumeState != 0) {
|
||||
//
|
||||
// Need report status back to S3ResumePeim.
|
||||
// Need report status back to S3ResumePeim.
|
||||
// If boot script execution is failed, S3ResumePeim wil report the error status code.
|
||||
//
|
||||
PeiS3ResumeState->ReturnStatus = (UINT64)(UINTN)Status;
|
||||
@@ -145,7 +145,7 @@ S3BootScriptExecutorEntryFunction (
|
||||
CpuDeadLoop();
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// S3ResumePeim does not provide a way to jump back to itself, so resume to OS here directly
|
||||
//
|
||||
@@ -254,9 +254,9 @@ RegisterMemoryProfileImage (
|
||||
/**
|
||||
This is the Event notification function to reload BootScriptExecutor image
|
||||
to RESERVED mem and save it to LockBox.
|
||||
|
||||
|
||||
@param Event Pointer to this event
|
||||
@param Context Event handler private data
|
||||
@param Context Event handler private data
|
||||
**/
|
||||
VOID
|
||||
EFIAPI
|
||||
|
@@ -1,10 +1,10 @@
|
||||
/** @file
|
||||
The header file for Boot Script Executer module.
|
||||
|
||||
This driver is dispatched by Dxe core and the driver will reload itself to ACPI reserved memory
|
||||
in the entry point. The functionality is to interpret and restore the S3 boot script
|
||||
|
||||
Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This driver is dispatched by Dxe core and the driver will reload itself to ACPI reserved memory
|
||||
in the entry point. The functionality is to interpret and restore the S3 boot script
|
||||
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
@@ -51,9 +51,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
/**
|
||||
a ASM function to transfer control to OS.
|
||||
|
||||
|
||||
@param S3WakingVector The S3 waking up vector saved in ACPI Facs table
|
||||
@param AcpiLowMemoryBase a buffer under 1M which could be used during the transfer
|
||||
@param AcpiLowMemoryBase a buffer under 1M which could be used during the transfer
|
||||
**/
|
||||
VOID
|
||||
AsmTransferControl (
|
||||
@@ -62,9 +62,9 @@ AsmTransferControl (
|
||||
);
|
||||
/**
|
||||
a 32bit ASM function to transfer control to OS.
|
||||
|
||||
|
||||
@param S3WakingVector The S3 waking up vector saved in ACPI Facs table
|
||||
@param AcpiLowMemoryBase a buffer under 1M which could be used during the transfer
|
||||
@param AcpiLowMemoryBase a buffer under 1M which could be used during the transfer
|
||||
**/
|
||||
VOID
|
||||
AsmTransferControl32 (
|
||||
@@ -79,13 +79,13 @@ AsmTransferControl16 (
|
||||
VOID
|
||||
);
|
||||
/**
|
||||
Set a IDT entry for interrupt vector 3 for debug purpose.
|
||||
|
||||
@param AcpiS3Context a pointer to a structure of ACPI_S3_CONTEXT
|
||||
|
||||
Set a IDT entry for interrupt vector 3 for debug purpose.
|
||||
|
||||
@param AcpiS3Context a pointer to a structure of ACPI_S3_CONTEXT
|
||||
|
||||
**/
|
||||
VOID
|
||||
SetIdtEntry (
|
||||
SetIdtEntry (
|
||||
IN ACPI_S3_CONTEXT *AcpiS3Context
|
||||
);
|
||||
|
||||
|
@@ -3,7 +3,7 @@
|
||||
|
||||
Set a IDT entry for interrupt vector 3 for debug purpose for x64 platform
|
||||
|
||||
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
|
||||
|
||||
|
||||
@@ -218,7 +218,7 @@ AcquirePage (
|
||||
|
||||
/**
|
||||
The page fault handler that on-demand read >4G memory/MMIO.
|
||||
|
||||
|
||||
@retval TRUE The page fault is correctly handled.
|
||||
@retval FALSE The page fault is not handled and is passed through to original handler.
|
||||
|
||||
|
@@ -2,7 +2,7 @@
|
||||
This module install ACPI Firmware Performance Data Table (FPDT).
|
||||
|
||||
This module register report status code listener to collect performance data
|
||||
for Firmware Basic Boot Performance Record and other boot performance records,
|
||||
for Firmware Basic Boot Performance Record and other boot performance records,
|
||||
and install FPDT to ACPI table.
|
||||
|
||||
Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
@@ -438,7 +438,7 @@ FpdtStatusCodeListenerDxe (
|
||||
if ((CodeType & EFI_STATUS_CODE_TYPE_MASK) != EFI_PROGRESS_CODE) {
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
|
||||
|
||||
if (Value == (EFI_SOFTWARE_DXE_CORE | EFI_SW_DXE_CORE_PC_HANDOFF_TO_NEXT)) {
|
||||
//
|
||||
// DxeCore ReportStatusCode Enable so that the capability can be supported.
|
||||
@@ -552,7 +552,7 @@ FpdtExitBootServicesEventNotify (
|
||||
{
|
||||
if (!mDxeCoreReportStatusCodeEnable) {
|
||||
//
|
||||
// When DxeCore Report Status Code is disabled,
|
||||
// When DxeCore Report Status Code is disabled,
|
||||
// Unregister boot time report status code listener at ExitBootService Event.
|
||||
//
|
||||
mRscHandlerProtocol->Unregister (FpdtStatusCodeListenerDxe);
|
||||
|
@@ -2,7 +2,7 @@
|
||||
# This module installs ACPI Firmware Performance Data Table (FPDT).
|
||||
#
|
||||
# This module registers report status code listener to collect performance data
|
||||
# for Firmware Basic Boot Performance Record and other boot performance records,
|
||||
# for Firmware Basic Boot Performance Record and other boot performance records,
|
||||
# and install FPDT to ACPI table.
|
||||
#
|
||||
# Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
@@ -10,7 +10,7 @@
|
||||
# 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.
|
||||
#
|
||||
|
@@ -5,13 +5,13 @@
|
||||
// for Firmware Basic Boot Performance Record and other boot performance records,
|
||||
// and install FPDT to ACPI table.
|
||||
//
|
||||
// Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2011 - 2018, 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
|
||||
// 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.
|
||||
//
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// FirmwarePerformanceDxe Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2013 - 2018, 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
|
||||
@@ -13,8 +13,8 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
"ACPI Firmware Performance DXE Driver"
|
||||
|
||||
|
||||
|
@@ -11,7 +11,7 @@
|
||||
# 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.
|
||||
#
|
||||
|
@@ -2,17 +2,17 @@
|
||||
// Firmware Performance Pei Module.
|
||||
//
|
||||
// In S3 resume boot mode, it updates S3 Resume Performance Record in ACPI Firmware Performance Data Table.
|
||||
//
|
||||
//
|
||||
// This module register report status code listener to collect performance data
|
||||
// for S3 Resume Performance Record on S3 resume boot path.
|
||||
//
|
||||
// Copyright (c) 2011 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2011 - 2018, 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
|
||||
// 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.
|
||||
//
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// FirmwarePerformancePei Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2013 - 2018, 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
|
||||
@@ -13,8 +13,8 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
"Firmware Performance PEI Module"
|
||||
|
||||
|
||||
|
@@ -11,7 +11,7 @@
|
||||
|
||||
FpdtSmiHandler() will receive untrusted input and do basic validation.
|
||||
|
||||
Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2011 - 2018, 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
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -90,7 +90,7 @@ FpdtStatusCodeListenerSmm (
|
||||
if ((CodeType & EFI_STATUS_CODE_TYPE_MASK) != EFI_PROGRESS_CODE) {
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Collect one or more Boot records in boot time
|
||||
//
|
||||
@@ -163,7 +163,7 @@ FpdtStatusCodeListenerSmm (
|
||||
/**
|
||||
Communication service SMI Handler entry.
|
||||
|
||||
This SMI handler provides services for report SMM boot records.
|
||||
This SMI handler provides services for report SMM boot records.
|
||||
|
||||
Caution: This function may receive untrusted input.
|
||||
Communicate buffer and buffer size are external input, so this function will do basic validation.
|
||||
@@ -175,11 +175,11 @@ FpdtStatusCodeListenerSmm (
|
||||
be conveyed from a non-SMM environment into an SMM environment.
|
||||
@param[in, out] CommBufferSize The size of the CommBuffer.
|
||||
|
||||
@retval EFI_SUCCESS The interrupt was handled and quiesced. No other handlers
|
||||
@retval EFI_SUCCESS The interrupt was handled and quiesced. No other handlers
|
||||
should still be called.
|
||||
@retval EFI_WARN_INTERRUPT_SOURCE_QUIESCED The interrupt has been quiesced but other handlers should
|
||||
@retval EFI_WARN_INTERRUPT_SOURCE_QUIESCED The interrupt has been quiesced but other handlers should
|
||||
still be called.
|
||||
@retval EFI_WARN_INTERRUPT_SOURCE_PENDING The interrupt is still pending and other handlers should still
|
||||
@retval EFI_WARN_INTERRUPT_SOURCE_PENDING The interrupt is still pending and other handlers should still
|
||||
be called.
|
||||
@retval EFI_INTERRUPT_PENDING The interrupt could not be quiesced.
|
||||
|
||||
@@ -212,7 +212,7 @@ FpdtSmiHandler (
|
||||
if(TempCommBufferSize < sizeof (SMM_BOOT_RECORD_COMMUNICATE)) {
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
if (!SmmIsBufferOutsideSmmValid ((UINTN)CommBuffer, TempCommBufferSize)) {
|
||||
DEBUG ((EFI_D_ERROR, "FpdtSmiHandler: SMM communication data buffer in SMRAM or overflow!\n"));
|
||||
return EFI_SUCCESS;
|
||||
@@ -242,7 +242,7 @@ FpdtSmiHandler (
|
||||
Status = EFI_INVALID_PARAMETER;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Sanity check
|
||||
//
|
||||
@@ -255,10 +255,10 @@ FpdtSmiHandler (
|
||||
Status = EFI_ACCESS_DENIED;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
CopyMem (
|
||||
(UINT8*)BootRecordData,
|
||||
mBootRecordBuffer + BootRecordOffset,
|
||||
(UINT8*)BootRecordData,
|
||||
mBootRecordBuffer + BootRecordOffset,
|
||||
BootRecordSize
|
||||
);
|
||||
break;
|
||||
@@ -268,7 +268,7 @@ FpdtSmiHandler (
|
||||
}
|
||||
|
||||
SmmCommData->ReturnStatus = Status;
|
||||
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -295,8 +295,8 @@ FirmwarePerformanceSmmEntryPoint (
|
||||
//
|
||||
// Initialize spin lock
|
||||
//
|
||||
InitializeSpinLock (&mSmmFpdtLock);
|
||||
|
||||
InitializeSpinLock (&mSmmFpdtLock);
|
||||
|
||||
//
|
||||
// Get SMM Report Status Code Handler Protocol.
|
||||
//
|
||||
|
@@ -4,12 +4,12 @@
|
||||
# This module registers report status code listener to collect performance data
|
||||
# for SMM boot performance records and S3 Suspend Performance Record.
|
||||
#
|
||||
# Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2011 - 2018, 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
|
||||
# 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.
|
||||
#
|
||||
|
@@ -4,13 +4,13 @@
|
||||
// This module registers report status code listener to collect performance data
|
||||
// for SMM boot performance records and S3 Suspend Performance Record.
|
||||
//
|
||||
// Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2011 - 2018, 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
|
||||
// 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.
|
||||
//
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// FirmwarePerformanceSmm Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2013 - 2018, 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
|
||||
@@ -13,8 +13,8 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
"SMM Firmware Performance Driver"
|
||||
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
This is the implementation to save ACPI S3 Context.
|
||||
|
||||
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions
|
||||
@@ -43,7 +43,7 @@ EFI_GUID mAcpiS3IdtrProfileGuid = {
|
||||
|
||||
@param MemoryType Memory type of memory to allocate.
|
||||
@param Size Size of memory to allocate.
|
||||
|
||||
|
||||
@return Allocated address for output.
|
||||
|
||||
**/
|
||||
@@ -101,7 +101,7 @@ ScanTableInRSDT (
|
||||
}
|
||||
|
||||
EntryCount = (Rsdt->Length - sizeof (EFI_ACPI_DESCRIPTION_HEADER)) / sizeof(UINT32);
|
||||
|
||||
|
||||
EntryPtr = (UINT32 *)(Rsdt + 1);
|
||||
for (Index = 0; Index < EntryCount; Index ++, EntryPtr ++) {
|
||||
Table = (EFI_ACPI_DESCRIPTION_HEADER *)((UINTN)(*EntryPtr));
|
||||
@@ -109,7 +109,7 @@ ScanTableInRSDT (
|
||||
return Table;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -140,7 +140,7 @@ ScanTableInXSDT (
|
||||
}
|
||||
|
||||
EntryCount = (Xsdt->Length - sizeof (EFI_ACPI_DESCRIPTION_HEADER)) / sizeof(UINT64);
|
||||
|
||||
|
||||
BasePtr = (UINTN)(Xsdt + 1);
|
||||
for (Index = 0; Index < EntryCount; Index ++) {
|
||||
CopyMem (&EntryPtr, (VOID *)(BasePtr + Index * sizeof(UINT64)), sizeof(UINT64));
|
||||
@@ -149,7 +149,7 @@ ScanTableInXSDT (
|
||||
return Table;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -157,7 +157,7 @@ ScanTableInXSDT (
|
||||
To find Facs in FADT.
|
||||
|
||||
@param Fadt FADT table pointer
|
||||
|
||||
|
||||
@return Facs table pointer.
|
||||
**/
|
||||
EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE *
|
||||
@@ -187,12 +187,12 @@ FindAcpiFacsFromFadt (
|
||||
|
||||
/**
|
||||
To find Facs in Acpi tables.
|
||||
|
||||
To find Firmware ACPI control strutcure in Acpi Tables since the S3 waking vector is stored
|
||||
|
||||
To find Firmware ACPI control strutcure in Acpi Tables since the S3 waking vector is stored
|
||||
in the table.
|
||||
|
||||
@param AcpiTableGuid The guid used to find ACPI table in UEFI ConfigurationTable.
|
||||
|
||||
|
||||
@return Facs table pointer.
|
||||
**/
|
||||
EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE *
|
||||
@@ -256,10 +256,10 @@ FindAcpiFacsTableByAcpiGuid (
|
||||
|
||||
/**
|
||||
To find Facs in Acpi tables.
|
||||
|
||||
To find Firmware ACPI control strutcure in Acpi Tables since the S3 waking vector is stored
|
||||
|
||||
To find Firmware ACPI control strutcure in Acpi Tables since the S3 waking vector is stored
|
||||
in the table.
|
||||
|
||||
|
||||
@return Facs table pointer.
|
||||
**/
|
||||
EFI_ACPI_2_0_FIRMWARE_ACPI_CONTROL_STRUCTURE *
|
||||
@@ -315,20 +315,20 @@ IsLongModeWakingVectorSupport (
|
||||
|
||||
@param[in] LongModeWakingVectorSupport Support long mode waking vector or not.
|
||||
|
||||
If BootScriptExector driver will run in 64-bit mode, this function will establish the 1:1
|
||||
If BootScriptExector 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 BootScriptExector driver will not run in 64-bit mode, this function will do nothing.
|
||||
|
||||
@return Page table base address.
|
||||
If BootScriptExector driver will not run in 64-bit mode, this function will do nothing.
|
||||
|
||||
@return Page table base address.
|
||||
|
||||
**/
|
||||
EFI_PHYSICAL_ADDRESS
|
||||
S3AllocatePageTablesBuffer (
|
||||
IN BOOLEAN LongModeWakingVectorSupport
|
||||
)
|
||||
{
|
||||
{
|
||||
if (FeaturePcdGet (PcdDxeIplSwitchToLongMode)) {
|
||||
UINTN ExtraPageTablePages;
|
||||
UINT32 RegEax;
|
||||
@@ -419,7 +419,7 @@ S3AllocatePageTablesBuffer (
|
||||
//
|
||||
// If DXE is running 32-bit mode, no need to establish page table.
|
||||
//
|
||||
return (EFI_PHYSICAL_ADDRESS) 0;
|
||||
return (EFI_PHYSICAL_ADDRESS) 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Internal header file for S3 Boot Script Saver state driver.
|
||||
|
||||
Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions
|
||||
@@ -48,25 +48,25 @@ AcpiS3ContextSaveOnEndOfDxe (
|
||||
Adds a record into S3 boot script table.
|
||||
|
||||
This function is used to store a boot script record into a given boot
|
||||
script table. If the table specified by TableName is nonexistent in the
|
||||
system, a new table will automatically be created and then the script record
|
||||
will be added into the new table. This function is responsible for allocating
|
||||
script table. If the table specified by TableName is nonexistent in the
|
||||
system, a new table will automatically be created and then the script record
|
||||
will be added into the new table. This function is responsible for allocating
|
||||
necessary memory for the script.
|
||||
|
||||
This function has a variable parameter list. The exact parameter list depends on
|
||||
the OpCode that is passed into the function. If an unsupported OpCode or illegal
|
||||
This function has a variable parameter list. The exact parameter list depends on
|
||||
the OpCode that is passed into the function. If an unsupported OpCode or illegal
|
||||
parameter list is passed in, this function returns EFI_INVALID_PARAMETER.
|
||||
If there are not enough resources available for storing more scripts, this function returns
|
||||
EFI_OUT_OF_RESOURCES.
|
||||
|
||||
@param This A pointer to the EFI_S3_SAVE_STATE_PROTOCOL instance.
|
||||
@param OpCode The operation code (opcode) number.
|
||||
@param ... Argument list that is specific to each opcode.
|
||||
@param ... Argument list that is specific to each opcode.
|
||||
|
||||
@retval EFI_SUCCESS The operation succeeded. A record was added into the
|
||||
specified script table.
|
||||
@retval EFI_INVALID_PARAMETER The parameter is illegal or the given boot script is not supported.
|
||||
If the opcode is unknow or not supported because of the PCD
|
||||
If the opcode is unknow or not supported because of the PCD
|
||||
Feature Flags.
|
||||
@retval EFI_OUT_OF_RESOURCES There is insufficient memory to store the boot script.
|
||||
|
||||
@@ -98,7 +98,7 @@ BootScriptWrite (
|
||||
inserted, either before or after, depending on BeforeOrAfter. On exit, specifies
|
||||
the position of the inserted opcode in the boot script table.
|
||||
@param OpCode The operation code (opcode) number.
|
||||
@param ... Argument list that is specific to each opcode.
|
||||
@param ... Argument list that is specific to each opcode.
|
||||
|
||||
@retval EFI_SUCCESS The operation succeeded. A record was added into the
|
||||
specified script table.
|
||||
@@ -139,7 +139,7 @@ BootScriptInsert (
|
||||
|
||||
@retval EFI_SUCCESS The label already exists or was inserted.
|
||||
@retval EFI_INVALID_PARAMETER The Opcode is an invalid opcode value or the Position is not a valid position in the boot script table..
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -152,27 +152,27 @@ BootScriptLabel (
|
||||
);
|
||||
/**
|
||||
Compare two positions in the boot script table and return their relative position.
|
||||
|
||||
|
||||
This function compares two positions in the boot script table and returns their relative positions. If
|
||||
Position1 is before Position2, then -1 is returned. If Position1 is equal to Position2,
|
||||
then 0 is returned. If Position1 is after Position2, then 1 is returned.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_S3_SAVE_STATE_PROTOCOL instance.
|
||||
@param Position1 The positions in the boot script table to compare
|
||||
@param Position2 The positions in the boot script table to compare
|
||||
@param RelativePosition On return, points to the result of the comparison
|
||||
|
||||
@retval EFI_SUCCESS The operation succeeded.
|
||||
@retval EFI_SUCCESS The operation succeeded.
|
||||
@retval EFI_INVALID_PARAMETER The Position1 or Position2 is not a valid position in the boot script table.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
EFIAPI
|
||||
BootScriptCompare (
|
||||
IN CONST EFI_S3_SAVE_STATE_PROTOCOL *This,
|
||||
IN EFI_S3_BOOT_SCRIPT_POSITION Position1,
|
||||
IN EFI_S3_BOOT_SCRIPT_POSITION Position2,
|
||||
OUT UINTN *RelativePosition
|
||||
);
|
||||
|
||||
|
||||
#endif //_INTERNAL_S3_SAVE_STATE_H_
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Implementation for S3 Boot Script Saver state driver.
|
||||
|
||||
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions
|
||||
@@ -46,7 +46,7 @@ BootScriptWriteIoWrite (
|
||||
Address = VA_ARG (Marker, UINT64);
|
||||
Count = VA_ARG (Marker, UINTN);
|
||||
Buffer = VA_ARG (Marker, UINT8 *);
|
||||
|
||||
|
||||
return S3BootScriptSaveIoWrite (Width, Address, Count, Buffer);
|
||||
}
|
||||
/**
|
||||
@@ -68,12 +68,12 @@ BootScriptWriteIoReadWrite (
|
||||
UINT64 Address;
|
||||
UINT8 *Data;
|
||||
UINT8 *DataMask;
|
||||
|
||||
|
||||
Width = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);
|
||||
Address = VA_ARG (Marker, UINT64);
|
||||
Data = VA_ARG (Marker, UINT8 *);
|
||||
DataMask = VA_ARG (Marker, UINT8 *);
|
||||
|
||||
|
||||
return S3BootScriptSaveIoReadWrite (Width, Address, Data, DataMask);
|
||||
}
|
||||
|
||||
@@ -96,7 +96,7 @@ BootScriptWriteMemWrite (
|
||||
UINT64 Address;
|
||||
UINTN Count;
|
||||
UINT8 *Buffer;
|
||||
|
||||
|
||||
Width = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);
|
||||
Address = VA_ARG (Marker, UINT64);
|
||||
Count = VA_ARG (Marker, UINTN);
|
||||
@@ -124,7 +124,7 @@ BootScriptWriteMemReadWrite (
|
||||
UINT64 Address;
|
||||
UINT8 *Data;
|
||||
UINT8 *DataMask;
|
||||
|
||||
|
||||
Width = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);
|
||||
Address = VA_ARG (Marker, UINT64);
|
||||
Data = VA_ARG (Marker, UINT8 *);
|
||||
@@ -238,13 +238,13 @@ BootScriptWritePciCfg2ReadWrite (
|
||||
UINT64 Address;
|
||||
UINT8 *Data;
|
||||
UINT8 *DataMask;
|
||||
|
||||
|
||||
Width = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);
|
||||
Segment = VA_ARG (Marker, UINT16);
|
||||
Address = VA_ARG (Marker, UINT64);
|
||||
Data = VA_ARG (Marker, UINT8 *);
|
||||
DataMask = VA_ARG (Marker, UINT8 *);
|
||||
|
||||
|
||||
return S3BootScriptSavePciCfg2ReadWrite (Width, Segment, Address, Data, DataMask);
|
||||
}
|
||||
/**
|
||||
@@ -269,15 +269,15 @@ BootScriptWriteSmbusExecute (
|
||||
VOID *Buffer;
|
||||
UINTN *DataSize;
|
||||
UINTN SmBusAddress;
|
||||
|
||||
|
||||
SlaveAddress.SmbusDeviceAddress = VA_ARG (Marker, UINTN);
|
||||
Command = VA_ARG (Marker, EFI_SMBUS_DEVICE_COMMAND);
|
||||
Operation = VA_ARG (Marker, EFI_SMBUS_OPERATION);
|
||||
PecCheck = VA_ARG (Marker, BOOLEAN);
|
||||
SmBusAddress = SMBUS_LIB_ADDRESS (SlaveAddress.SmbusDeviceAddress,Command,0,PecCheck);
|
||||
DataSize = VA_ARG (Marker, UINTN *);
|
||||
DataSize = VA_ARG (Marker, UINTN *);
|
||||
Buffer = VA_ARG (Marker, VOID *);
|
||||
|
||||
|
||||
return S3BootScriptSaveSmbusExecute (SmBusAddress, Operation, DataSize, Buffer);
|
||||
}
|
||||
/**
|
||||
@@ -303,7 +303,7 @@ BootScriptWriteStall (
|
||||
}
|
||||
|
||||
/**
|
||||
Internal function to add Save jmp address according to DISPATCH_OPCODE.
|
||||
Internal function to add Save jmp address according to DISPATCH_OPCODE.
|
||||
We ignore "Context" parameter
|
||||
|
||||
@param Marker The variable argument list to get the opcode
|
||||
@@ -325,8 +325,8 @@ BootScriptWriteDispatch (
|
||||
}
|
||||
|
||||
/**
|
||||
Internal function to add memory pool operation to the table.
|
||||
|
||||
Internal function to add memory pool operation to the table.
|
||||
|
||||
@param Marker The variable argument list to get the opcode
|
||||
and associated attributes.
|
||||
|
||||
@@ -339,18 +339,18 @@ BootScriptWriteMemPoll (
|
||||
IN VA_LIST Marker
|
||||
)
|
||||
{
|
||||
S3_BOOT_SCRIPT_LIB_WIDTH Width;
|
||||
UINT64 Address;
|
||||
VOID *Data;
|
||||
VOID *DataMask;
|
||||
S3_BOOT_SCRIPT_LIB_WIDTH Width;
|
||||
UINT64 Address;
|
||||
VOID *Data;
|
||||
VOID *DataMask;
|
||||
UINT64 Delay;
|
||||
UINT64 LoopTimes;
|
||||
UINT32 Remainder;
|
||||
|
||||
Width = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);
|
||||
Address = VA_ARG (Marker, UINT64);
|
||||
Data = VA_ARG (Marker, VOID *);
|
||||
DataMask = VA_ARG (Marker, VOID *);
|
||||
Width = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);
|
||||
Address = VA_ARG (Marker, UINT64);
|
||||
Data = VA_ARG (Marker, VOID *);
|
||||
DataMask = VA_ARG (Marker, VOID *);
|
||||
Delay = VA_ARG (Marker, UINT64);
|
||||
//
|
||||
// According to the spec, the interval between 2 polls is 100ns,
|
||||
@@ -375,7 +375,7 @@ BootScriptWriteMemPoll (
|
||||
}
|
||||
|
||||
/**
|
||||
Internal function to add Save jmp address according to DISPATCH_OPCODE2.
|
||||
Internal function to add Save jmp address according to DISPATCH_OPCODE2.
|
||||
The "Context" parameter is not ignored.
|
||||
|
||||
@param Marker The variable argument list to get the opcode
|
||||
@@ -391,7 +391,7 @@ BootScriptWriteDispatch2 (
|
||||
)
|
||||
{
|
||||
VOID *EntryPoint;
|
||||
VOID *Context;
|
||||
VOID *Context;
|
||||
|
||||
EntryPoint = (VOID*)(UINTN)VA_ARG (Marker, EFI_PHYSICAL_ADDRESS);
|
||||
Context = (VOID*)(UINTN)VA_ARG (Marker, EFI_PHYSICAL_ADDRESS);
|
||||
@@ -414,7 +414,7 @@ BootScriptWriteInformation (
|
||||
)
|
||||
{
|
||||
UINT32 InformationLength;
|
||||
EFI_PHYSICAL_ADDRESS Information;
|
||||
EFI_PHYSICAL_ADDRESS Information;
|
||||
|
||||
InformationLength = VA_ARG (Marker, UINT32);
|
||||
Information = VA_ARG (Marker, EFI_PHYSICAL_ADDRESS);
|
||||
@@ -435,17 +435,17 @@ BootScriptWriteIoPoll (
|
||||
)
|
||||
{
|
||||
S3_BOOT_SCRIPT_LIB_WIDTH Width;
|
||||
UINT64 Address;
|
||||
VOID *Data;
|
||||
VOID *DataMask;
|
||||
UINT64 Delay;
|
||||
|
||||
Width = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);
|
||||
Address = VA_ARG (Marker, UINT64);
|
||||
Data = VA_ARG (Marker, VOID *);
|
||||
DataMask = VA_ARG (Marker, VOID *);
|
||||
Delay = (UINT64)VA_ARG (Marker, UINT64);
|
||||
|
||||
UINT64 Address;
|
||||
VOID *Data;
|
||||
VOID *DataMask;
|
||||
UINT64 Delay;
|
||||
|
||||
Width = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);
|
||||
Address = VA_ARG (Marker, UINT64);
|
||||
Data = VA_ARG (Marker, VOID *);
|
||||
DataMask = VA_ARG (Marker, VOID *);
|
||||
Delay = (UINT64)VA_ARG (Marker, UINT64);
|
||||
|
||||
return S3BootScriptSaveIoPoll (Width, Address, Data, DataMask, Delay);
|
||||
}
|
||||
/**
|
||||
@@ -469,13 +469,13 @@ BootScriptWritePciConfigPoll (
|
||||
VOID *DataMask;
|
||||
UINT64 Delay;
|
||||
|
||||
|
||||
Width = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);
|
||||
Address = VA_ARG (Marker, UINT64);
|
||||
Data = VA_ARG (Marker, VOID *);
|
||||
DataMask = VA_ARG (Marker, VOID *);
|
||||
Delay = (UINT64)VA_ARG (Marker, UINT64);
|
||||
|
||||
|
||||
Width = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);
|
||||
Address = VA_ARG (Marker, UINT64);
|
||||
Data = VA_ARG (Marker, VOID *);
|
||||
DataMask = VA_ARG (Marker, VOID *);
|
||||
Delay = (UINT64)VA_ARG (Marker, UINT64);
|
||||
|
||||
return S3BootScriptSavePciPoll (Width, Address, Data, DataMask, Delay);
|
||||
}
|
||||
/**
|
||||
@@ -499,14 +499,14 @@ BootScriptWritePciConfig2Poll (
|
||||
VOID *Data;
|
||||
VOID *DataMask;
|
||||
UINT64 Delay;
|
||||
|
||||
Width = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);
|
||||
Segment = VA_ARG (Marker, UINT16);
|
||||
Address = VA_ARG (Marker, UINT64);
|
||||
Data = VA_ARG (Marker, VOID *);
|
||||
DataMask = VA_ARG (Marker, VOID *);
|
||||
Delay = (UINT64)VA_ARG (Marker, UINT64);
|
||||
|
||||
|
||||
Width = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);
|
||||
Segment = VA_ARG (Marker, UINT16);
|
||||
Address = VA_ARG (Marker, UINT64);
|
||||
Data = VA_ARG (Marker, VOID *);
|
||||
DataMask = VA_ARG (Marker, VOID *);
|
||||
Delay = (UINT64)VA_ARG (Marker, UINT64);
|
||||
|
||||
return S3BootScriptSavePci2Poll (Width, Segment, Address, Data, DataMask, Delay);
|
||||
}
|
||||
|
||||
@@ -515,25 +515,25 @@ BootScriptWritePciConfig2Poll (
|
||||
Adds a record into S3 boot script table.
|
||||
|
||||
This function is used to store a boot script record into a given boot
|
||||
script table. If the table specified by TableName is nonexistent in the
|
||||
system, a new table will automatically be created and then the script record
|
||||
will be added into the new table. This function is responsible for allocating
|
||||
script table. If the table specified by TableName is nonexistent in the
|
||||
system, a new table will automatically be created and then the script record
|
||||
will be added into the new table. This function is responsible for allocating
|
||||
necessary memory for the script.
|
||||
|
||||
This function has a variable parameter list. The exact parameter list depends on
|
||||
the OpCode that is passed into the function. If an unsupported OpCode or illegal
|
||||
This function has a variable parameter list. The exact parameter list depends on
|
||||
the OpCode that is passed into the function. If an unsupported OpCode or illegal
|
||||
parameter list is passed in, this function returns EFI_INVALID_PARAMETER.
|
||||
If there are not enough resources available for storing more scripts, this function returns
|
||||
EFI_OUT_OF_RESOURCES.
|
||||
|
||||
@param This A pointer to the EFI_S3_SAVE_STATE_PROTOCOL instance.
|
||||
@param OpCode The operation code (opcode) number.
|
||||
@param ... Argument list that is specific to each opcode.
|
||||
|
||||
@param ... Argument list that is specific to each opcode.
|
||||
|
||||
@retval EFI_SUCCESS The operation succeeded. A record was added into the
|
||||
specified script table.
|
||||
@retval EFI_INVALID_PARAMETER The parameter is illegal or the given boot script is not supported.
|
||||
If the opcode is unknow or not supported because of the PCD
|
||||
If the opcode is unknow or not supported because of the PCD
|
||||
Feature Flags.
|
||||
@retval EFI_OUT_OF_RESOURCES There is insufficient memory to store the boot script.
|
||||
|
||||
@@ -547,7 +547,7 @@ BootScriptWrite (
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
VA_LIST Marker;
|
||||
VA_LIST Marker;
|
||||
//
|
||||
// Build script according to opcode
|
||||
//
|
||||
@@ -568,7 +568,7 @@ BootScriptWrite (
|
||||
case EFI_BOOT_SCRIPT_MEM_WRITE_OPCODE:
|
||||
VA_START (Marker, OpCode);
|
||||
Status = BootScriptWriteMemWrite (Marker);
|
||||
VA_END (Marker);
|
||||
VA_END (Marker);
|
||||
break;
|
||||
|
||||
case EFI_BOOT_SCRIPT_MEM_READ_WRITE_OPCODE:
|
||||
@@ -599,7 +599,7 @@ BootScriptWrite (
|
||||
VA_START (Marker, OpCode);
|
||||
Status = BootScriptWriteStall (Marker);
|
||||
VA_END (Marker);
|
||||
|
||||
|
||||
break;
|
||||
|
||||
case EFI_BOOT_SCRIPT_DISPATCH_OPCODE:
|
||||
@@ -638,23 +638,23 @@ BootScriptWrite (
|
||||
VA_END (Marker);
|
||||
break;
|
||||
|
||||
case EFI_BOOT_SCRIPT_IO_POLL_OPCODE:
|
||||
case EFI_BOOT_SCRIPT_IO_POLL_OPCODE:
|
||||
VA_START (Marker, OpCode);
|
||||
Status = BootScriptWriteIoPoll (Marker);
|
||||
VA_END (Marker);
|
||||
break;
|
||||
|
||||
case EFI_BOOT_SCRIPT_PCI_CONFIG_POLL_OPCODE:
|
||||
break;
|
||||
|
||||
case EFI_BOOT_SCRIPT_PCI_CONFIG_POLL_OPCODE:
|
||||
VA_START (Marker, OpCode);
|
||||
Status = BootScriptWritePciConfigPoll (Marker);
|
||||
VA_END (Marker);
|
||||
break;
|
||||
|
||||
break;
|
||||
|
||||
case EFI_BOOT_SCRIPT_PCI_CONFIG2_POLL_OPCODE:
|
||||
VA_START (Marker, OpCode);
|
||||
Status = BootScriptWritePciConfig2Poll (Marker);
|
||||
VA_END (Marker);
|
||||
break;
|
||||
break;
|
||||
|
||||
default:
|
||||
Status = EFI_INVALID_PARAMETER;
|
||||
@@ -683,7 +683,7 @@ BootScriptWrite (
|
||||
inserted, either before or after, depending on BeforeOrAfter. On exit, specifies
|
||||
the position of the inserted opcode in the boot script table.
|
||||
@param OpCode The operation code (opcode) number.
|
||||
@param ... Argument list that is specific to each opcode.
|
||||
@param ... Argument list that is specific to each opcode.
|
||||
|
||||
@retval EFI_SUCCESS The operation succeeded. A record was added into the
|
||||
specified script table.
|
||||
@@ -702,7 +702,7 @@ BootScriptInsert (
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
VA_LIST Marker;
|
||||
VA_LIST Marker;
|
||||
//
|
||||
// Build script according to opcode
|
||||
//
|
||||
@@ -723,7 +723,7 @@ BootScriptInsert (
|
||||
case EFI_BOOT_SCRIPT_MEM_WRITE_OPCODE:
|
||||
VA_START (Marker, OpCode);
|
||||
Status = BootScriptWriteMemWrite (Marker);
|
||||
VA_END (Marker);
|
||||
VA_END (Marker);
|
||||
break;
|
||||
|
||||
case EFI_BOOT_SCRIPT_MEM_READ_WRITE_OPCODE:
|
||||
@@ -754,7 +754,7 @@ BootScriptInsert (
|
||||
VA_START (Marker, OpCode);
|
||||
Status = BootScriptWriteStall (Marker);
|
||||
VA_END (Marker);
|
||||
|
||||
|
||||
break;
|
||||
|
||||
case EFI_BOOT_SCRIPT_DISPATCH_OPCODE:
|
||||
@@ -792,30 +792,30 @@ BootScriptInsert (
|
||||
Status = BootScriptWritePciCfg2ReadWrite (Marker);
|
||||
VA_END (Marker);
|
||||
break;
|
||||
|
||||
case EFI_BOOT_SCRIPT_IO_POLL_OPCODE:
|
||||
|
||||
case EFI_BOOT_SCRIPT_IO_POLL_OPCODE:
|
||||
VA_START (Marker, OpCode);
|
||||
Status = BootScriptWriteIoPoll (Marker);
|
||||
VA_END (Marker);
|
||||
break;
|
||||
|
||||
case EFI_BOOT_SCRIPT_PCI_CONFIG_POLL_OPCODE:
|
||||
break;
|
||||
|
||||
case EFI_BOOT_SCRIPT_PCI_CONFIG_POLL_OPCODE:
|
||||
VA_START (Marker, OpCode);
|
||||
Status = BootScriptWritePciConfigPoll (Marker);
|
||||
VA_END (Marker);
|
||||
break;
|
||||
|
||||
break;
|
||||
|
||||
case EFI_BOOT_SCRIPT_PCI_CONFIG2_POLL_OPCODE:
|
||||
VA_START (Marker, OpCode);
|
||||
Status = BootScriptWritePciConfig2Poll (Marker);
|
||||
VA_END (Marker);
|
||||
break;
|
||||
break;
|
||||
|
||||
default:
|
||||
Status = EFI_INVALID_PARAMETER;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
if (!EFI_ERROR (Status)) {
|
||||
Status = S3BootScriptMoveLastOpcode (BeforeOrAfter, Position);
|
||||
}
|
||||
@@ -846,7 +846,7 @@ BootScriptInsert (
|
||||
@retval EFI_SUCCESS The label already exists or was inserted.
|
||||
@retval EFI_INVALID_PARAMETER The Label is NULL or points to an empty string.
|
||||
@retval EFI_INVALID_PARAMETER The Position is not a valid position in the boot script table.
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -858,27 +858,27 @@ BootScriptLabel (
|
||||
IN CONST CHAR8 *Label
|
||||
)
|
||||
{
|
||||
return S3BootScriptLabel (BeforeOrAfter, CreateIfNotFound, Position, Label);
|
||||
return S3BootScriptLabel (BeforeOrAfter, CreateIfNotFound, Position, Label);
|
||||
}
|
||||
/**
|
||||
Compare two positions in the boot script table and return their relative position.
|
||||
|
||||
|
||||
This function compares two positions in the boot script table and returns their relative positions. If
|
||||
Position1 is before Position2, then -1 is returned. If Position1 is equal to Position2,
|
||||
then 0 is returned. If Position1 is after Position2, then 1 is returned.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_S3_SAVE_STATE_PROTOCOL instance.
|
||||
@param Position1 The positions in the boot script table to compare
|
||||
@param Position2 The positions in the boot script table to compare
|
||||
@param RelativePosition On return, points to the result of the comparison
|
||||
|
||||
@retval EFI_SUCCESS The operation succeeded.
|
||||
@retval EFI_SUCCESS The operation succeeded.
|
||||
@retval EFI_INVALID_PARAMETER The Position1 or Position2 is not a valid position in the boot script table.
|
||||
@retval EFI_INVALID_PARAMETER The RelativePosition is NULL.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
EFIAPI
|
||||
BootScriptCompare (
|
||||
IN CONST EFI_S3_SAVE_STATE_PROTOCOL *This,
|
||||
IN EFI_S3_BOOT_SCRIPT_POSITION Position1,
|
||||
@@ -886,7 +886,7 @@ BootScriptCompare (
|
||||
OUT UINTN *RelativePosition
|
||||
)
|
||||
{
|
||||
return S3BootScriptCompare (Position1, Position2, RelativePosition);
|
||||
return S3BootScriptCompare (Position1, Position2, RelativePosition);
|
||||
}
|
||||
/**
|
||||
This routine is entry point of ScriptSave driver.
|
||||
|
@@ -3,7 +3,7 @@
|
||||
#
|
||||
# It will install S3 Save State protocol to store or record various IO operations to be replayed during an S3 resume.
|
||||
#
|
||||
# Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2009 - 2018, 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
|
||||
@@ -74,4 +74,4 @@
|
||||
TRUE
|
||||
|
||||
[UserExtensions.TianoCore."ExtraFiles"]
|
||||
S3SaveStateDxeExtra.uni
|
||||
S3SaveStateDxeExtra.uni
|
||||
|
@@ -3,13 +3,13 @@
|
||||
//
|
||||
// It will install S3 Save State protocol to store or record various IO operations to be replayed during an S3 resume.
|
||||
//
|
||||
// Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2009 - 2018, 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
|
||||
// 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.
|
||||
//
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// S3SaveStateDxe Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2013 - 2018, 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
|
||||
@@ -13,8 +13,8 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
"S3 Save State DXE Driver"
|
||||
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Internal header file for SMM S3 Boot Script Saver state driver.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions
|
||||
@@ -31,25 +31,25 @@
|
||||
Adds a record into S3 boot script table.
|
||||
|
||||
This function is used to store a boot script record into a given boot
|
||||
script table. If the table specified by TableName is nonexistent in the
|
||||
system, a new table will automatically be created and then the script record
|
||||
will be added into the new table. This function is responsible for allocating
|
||||
script table. If the table specified by TableName is nonexistent in the
|
||||
system, a new table will automatically be created and then the script record
|
||||
will be added into the new table. This function is responsible for allocating
|
||||
necessary memory for the script.
|
||||
|
||||
This function has a variable parameter list. The exact parameter list depends on
|
||||
the OpCode that is passed into the function. If an unsupported OpCode or illegal
|
||||
This function has a variable parameter list. The exact parameter list depends on
|
||||
the OpCode that is passed into the function. If an unsupported OpCode or illegal
|
||||
parameter list is passed in, this function returns EFI_INVALID_PARAMETER.
|
||||
If there are not enough resources available for storing more scripts, this function returns
|
||||
EFI_OUT_OF_RESOURCES.
|
||||
|
||||
@param This A pointer to the EFI_S3_SAVE_STATE_PROTOCOL instance.
|
||||
@param OpCode The operation code (opcode) number.
|
||||
@param ... Argument list that is specific to each opcode.
|
||||
@param ... Argument list that is specific to each opcode.
|
||||
|
||||
@retval EFI_SUCCESS The operation succeeded. A record was added into the
|
||||
specified script table.
|
||||
@retval EFI_INVALID_PARAMETER The parameter is illegal or the given boot script is not supported.
|
||||
If the opcode is unknow or not supported because of the PCD
|
||||
If the opcode is unknow or not supported because of the PCD
|
||||
Feature Flags.
|
||||
@retval EFI_OUT_OF_RESOURCES There is insufficient memory to store the boot script.
|
||||
|
||||
@@ -81,7 +81,7 @@ BootScriptWrite (
|
||||
inserted, either before or after, depending on BeforeOrAfter. On exit, specifies
|
||||
the position of the inserted opcode in the boot script table.
|
||||
@param OpCode The operation code (opcode) number.
|
||||
@param ... Argument list that is specific to each opcode.
|
||||
@param ... Argument list that is specific to each opcode.
|
||||
|
||||
@retval EFI_SUCCESS The operation succeeded. A record was added into the
|
||||
specified script table.
|
||||
@@ -122,7 +122,7 @@ BootScriptInsert (
|
||||
|
||||
@retval EFI_SUCCESS The label already exists or was inserted.
|
||||
@retval EFI_INVALID_PARAMETER The Opcode is an invalid opcode value or the Position is not a valid position in the boot script table..
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -135,27 +135,27 @@ BootScriptLabel (
|
||||
);
|
||||
/**
|
||||
Compare two positions in the boot script table and return their relative position.
|
||||
|
||||
|
||||
This function compares two positions in the boot script table and returns their relative positions. If
|
||||
Position1 is before Position2, then -1 is returned. If Position1 is equal to Position2,
|
||||
then 0 is returned. If Position1 is after Position2, then 1 is returned.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_S3_SAVE_STATE_PROTOCOL instance.
|
||||
@param Position1 The positions in the boot script table to compare
|
||||
@param Position2 The positions in the boot script table to compare
|
||||
@param RelativePosition On return, points to the result of the comparison
|
||||
|
||||
@retval EFI_SUCCESS The operation succeeded.
|
||||
@retval EFI_SUCCESS The operation succeeded.
|
||||
@retval EFI_INVALID_PARAMETER The Position1 or Position2 is not a valid position in the boot script table.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
EFIAPI
|
||||
BootScriptCompare (
|
||||
IN CONST EFI_S3_SAVE_STATE_PROTOCOL *This,
|
||||
IN EFI_S3_BOOT_SCRIPT_POSITION Position1,
|
||||
IN EFI_S3_BOOT_SCRIPT_POSITION Position2,
|
||||
OUT UINTN *RelativePosition
|
||||
);
|
||||
|
||||
|
||||
#endif //_INTERNAL_SMM_S3_SAVE_STATE_H_
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Implementation for S3 SMM Boot Script Saver state driver.
|
||||
|
||||
Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions
|
||||
@@ -45,7 +45,7 @@ BootScriptWriteIoWrite (
|
||||
Address = VA_ARG (Marker, UINT64);
|
||||
Count = VA_ARG (Marker, UINTN);
|
||||
Buffer = VA_ARG (Marker, UINT8 *);
|
||||
|
||||
|
||||
return S3BootScriptSaveIoWrite (Width, Address, Count, Buffer);
|
||||
}
|
||||
/**
|
||||
@@ -67,12 +67,12 @@ BootScriptWriteIoReadWrite (
|
||||
UINT64 Address;
|
||||
UINT8 *Data;
|
||||
UINT8 *DataMask;
|
||||
|
||||
|
||||
Width = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);
|
||||
Address = VA_ARG (Marker, UINT64);
|
||||
Data = VA_ARG (Marker, UINT8 *);
|
||||
DataMask = VA_ARG (Marker, UINT8 *);
|
||||
|
||||
|
||||
return S3BootScriptSaveIoReadWrite (Width, Address, Data, DataMask);
|
||||
}
|
||||
|
||||
@@ -95,7 +95,7 @@ BootScriptWriteMemWrite (
|
||||
UINT64 Address;
|
||||
UINTN Count;
|
||||
UINT8 *Buffer;
|
||||
|
||||
|
||||
Width = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);
|
||||
Address = VA_ARG (Marker, UINT64);
|
||||
Count = VA_ARG (Marker, UINTN);
|
||||
@@ -123,7 +123,7 @@ BootScriptWriteMemReadWrite (
|
||||
UINT64 Address;
|
||||
UINT8 *Data;
|
||||
UINT8 *DataMask;
|
||||
|
||||
|
||||
Width = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);
|
||||
Address = VA_ARG (Marker, UINT64);
|
||||
Data = VA_ARG (Marker, UINT8 *);
|
||||
@@ -237,13 +237,13 @@ BootScriptWritePciCfg2ReadWrite (
|
||||
UINT64 Address;
|
||||
UINT8 *Data;
|
||||
UINT8 *DataMask;
|
||||
|
||||
|
||||
Width = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);
|
||||
Segment = VA_ARG (Marker, UINT16);
|
||||
Address = VA_ARG (Marker, UINT64);
|
||||
Data = VA_ARG (Marker, UINT8 *);
|
||||
DataMask = VA_ARG (Marker, UINT8 *);
|
||||
|
||||
|
||||
return S3BootScriptSavePciCfg2ReadWrite (Width, Segment, Address, Data, DataMask);
|
||||
}
|
||||
/**
|
||||
@@ -268,15 +268,15 @@ BootScriptWriteSmbusExecute (
|
||||
VOID *Buffer;
|
||||
UINTN *DataSize;
|
||||
UINTN SmBusAddress;
|
||||
|
||||
|
||||
SlaveAddress.SmbusDeviceAddress = VA_ARG (Marker, UINTN);
|
||||
Command = VA_ARG (Marker, EFI_SMBUS_DEVICE_COMMAND);
|
||||
Operation = VA_ARG (Marker, EFI_SMBUS_OPERATION);
|
||||
PecCheck = VA_ARG (Marker, BOOLEAN);
|
||||
SmBusAddress = SMBUS_LIB_ADDRESS (SlaveAddress.SmbusDeviceAddress,Command,0,PecCheck);
|
||||
DataSize = VA_ARG (Marker, UINTN *);
|
||||
DataSize = VA_ARG (Marker, UINTN *);
|
||||
Buffer = VA_ARG (Marker, VOID *);
|
||||
|
||||
|
||||
return S3BootScriptSaveSmbusExecute (SmBusAddress, Operation, DataSize, Buffer);
|
||||
}
|
||||
/**
|
||||
@@ -302,7 +302,7 @@ BootScriptWriteStall (
|
||||
}
|
||||
|
||||
/**
|
||||
Internal function to add Save jmp address according to DISPATCH_OPCODE.
|
||||
Internal function to add Save jmp address according to DISPATCH_OPCODE.
|
||||
We ignore "Context" parameter
|
||||
|
||||
@param Marker The variable argument list to get the opcode
|
||||
@@ -324,8 +324,8 @@ BootScriptWriteDispatch (
|
||||
}
|
||||
|
||||
/**
|
||||
Internal function to add memory pool operation to the table.
|
||||
|
||||
Internal function to add memory pool operation to the table.
|
||||
|
||||
@param Marker The variable argument list to get the opcode
|
||||
and associated attributes.
|
||||
|
||||
@@ -338,18 +338,18 @@ BootScriptWriteMemPoll (
|
||||
IN VA_LIST Marker
|
||||
)
|
||||
{
|
||||
S3_BOOT_SCRIPT_LIB_WIDTH Width;
|
||||
UINT64 Address;
|
||||
VOID *Data;
|
||||
VOID *DataMask;
|
||||
S3_BOOT_SCRIPT_LIB_WIDTH Width;
|
||||
UINT64 Address;
|
||||
VOID *Data;
|
||||
VOID *DataMask;
|
||||
UINT64 Delay;
|
||||
UINT64 LoopTimes;
|
||||
UINT32 Remainder;
|
||||
|
||||
Width = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);
|
||||
Address = VA_ARG (Marker, UINT64);
|
||||
Data = VA_ARG (Marker, VOID *);
|
||||
DataMask = VA_ARG (Marker, VOID *);
|
||||
Width = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);
|
||||
Address = VA_ARG (Marker, UINT64);
|
||||
Data = VA_ARG (Marker, VOID *);
|
||||
DataMask = VA_ARG (Marker, VOID *);
|
||||
Delay = VA_ARG (Marker, UINT64);
|
||||
//
|
||||
// According to the spec, the interval between 2 polls is 100ns,
|
||||
@@ -369,12 +369,12 @@ BootScriptWriteMemPoll (
|
||||
//
|
||||
LoopTimes +=1;
|
||||
}
|
||||
return S3BootScriptSaveMemPoll (Width, Address, DataMask, Data, 1, LoopTimes);
|
||||
return S3BootScriptSaveMemPoll (Width, Address, DataMask, Data, 1, LoopTimes);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
Internal function to add Save jmp address according to DISPATCH_OPCODE2.
|
||||
Internal function to add Save jmp address according to DISPATCH_OPCODE2.
|
||||
The "Context" parameter is not ignored.
|
||||
|
||||
@param Marker The variable argument list to get the opcode
|
||||
@@ -390,7 +390,7 @@ BootScriptWriteDispatch2 (
|
||||
)
|
||||
{
|
||||
VOID *EntryPoint;
|
||||
VOID *Context;
|
||||
VOID *Context;
|
||||
|
||||
EntryPoint = (VOID*)(UINTN)VA_ARG (Marker, EFI_PHYSICAL_ADDRESS);
|
||||
Context = (VOID*)(UINTN)VA_ARG (Marker, EFI_PHYSICAL_ADDRESS);
|
||||
@@ -413,7 +413,7 @@ BootScriptWriteInformation (
|
||||
)
|
||||
{
|
||||
UINT32 InformationLength;
|
||||
EFI_PHYSICAL_ADDRESS Information;
|
||||
EFI_PHYSICAL_ADDRESS Information;
|
||||
|
||||
InformationLength = VA_ARG (Marker, UINT32);
|
||||
Information = VA_ARG (Marker, EFI_PHYSICAL_ADDRESS);
|
||||
@@ -433,18 +433,18 @@ BootScriptWriteIoPoll (
|
||||
IN VA_LIST Marker
|
||||
)
|
||||
{
|
||||
S3_BOOT_SCRIPT_LIB_WIDTH Width;
|
||||
UINT64 Address;
|
||||
VOID *Data;
|
||||
VOID *DataMask;
|
||||
UINT64 Delay;
|
||||
|
||||
Width = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);
|
||||
Address = VA_ARG (Marker, UINT64);
|
||||
Data = VA_ARG (Marker, VOID *);
|
||||
DataMask = VA_ARG (Marker, VOID *);
|
||||
Delay = (UINT64)VA_ARG (Marker, UINT64);
|
||||
|
||||
S3_BOOT_SCRIPT_LIB_WIDTH Width;
|
||||
UINT64 Address;
|
||||
VOID *Data;
|
||||
VOID *DataMask;
|
||||
UINT64 Delay;
|
||||
|
||||
Width = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);
|
||||
Address = VA_ARG (Marker, UINT64);
|
||||
Data = VA_ARG (Marker, VOID *);
|
||||
DataMask = VA_ARG (Marker, VOID *);
|
||||
Delay = (UINT64)VA_ARG (Marker, UINT64);
|
||||
|
||||
return S3BootScriptSaveIoPoll (Width, Address, Data, DataMask, Delay);
|
||||
}
|
||||
/**
|
||||
@@ -468,13 +468,13 @@ BootScriptWritePciConfigPoll (
|
||||
VOID *DataMask;
|
||||
UINT64 Delay;
|
||||
|
||||
|
||||
Width = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);
|
||||
Address = VA_ARG (Marker, UINT64);
|
||||
Data = VA_ARG (Marker, VOID *);
|
||||
DataMask = VA_ARG (Marker, VOID *);
|
||||
Delay = (UINT64)VA_ARG (Marker, UINT64);
|
||||
|
||||
|
||||
Width = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);
|
||||
Address = VA_ARG (Marker, UINT64);
|
||||
Data = VA_ARG (Marker, VOID *);
|
||||
DataMask = VA_ARG (Marker, VOID *);
|
||||
Delay = (UINT64)VA_ARG (Marker, UINT64);
|
||||
|
||||
return S3BootScriptSavePciPoll (Width, Address, Data, DataMask, Delay);
|
||||
}
|
||||
/**
|
||||
@@ -498,14 +498,14 @@ BootScriptWritePciConfig2Poll (
|
||||
VOID *Data;
|
||||
VOID *DataMask;
|
||||
UINT64 Delay;
|
||||
|
||||
Width = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);
|
||||
Segment = VA_ARG (Marker, UINT16);
|
||||
Address = VA_ARG (Marker, UINT64);
|
||||
Data = VA_ARG (Marker, VOID *);
|
||||
DataMask = VA_ARG (Marker, VOID *);
|
||||
Delay = (UINT64)VA_ARG (Marker, UINT64);
|
||||
|
||||
|
||||
Width = VA_ARG (Marker, S3_BOOT_SCRIPT_LIB_WIDTH);
|
||||
Segment = VA_ARG (Marker, UINT16);
|
||||
Address = VA_ARG (Marker, UINT64);
|
||||
Data = VA_ARG (Marker, VOID *);
|
||||
DataMask = VA_ARG (Marker, VOID *);
|
||||
Delay = (UINT64)VA_ARG (Marker, UINT64);
|
||||
|
||||
return S3BootScriptSavePci2Poll (Width, Segment, Address, Data, DataMask, Delay);
|
||||
}
|
||||
|
||||
@@ -513,25 +513,25 @@ BootScriptWritePciConfig2Poll (
|
||||
Adds a record into S3 boot script table.
|
||||
|
||||
This function is used to store a boot script record into a given boot
|
||||
script table. If the table specified by TableName is nonexistent in the
|
||||
system, a new table will automatically be created and then the script record
|
||||
will be added into the new table. This function is responsible for allocating
|
||||
script table. If the table specified by TableName is nonexistent in the
|
||||
system, a new table will automatically be created and then the script record
|
||||
will be added into the new table. This function is responsible for allocating
|
||||
necessary memory for the script.
|
||||
|
||||
This function has a variable parameter list. The exact parameter list depends on
|
||||
the OpCode that is passed into the function. If an unsupported OpCode or illegal
|
||||
This function has a variable parameter list. The exact parameter list depends on
|
||||
the OpCode that is passed into the function. If an unsupported OpCode or illegal
|
||||
parameter list is passed in, this function returns EFI_INVALID_PARAMETER.
|
||||
If there are not enough resources available for storing more scripts, this function returns
|
||||
EFI_OUT_OF_RESOURCES.
|
||||
|
||||
@param This A pointer to the EFI_S3_SAVE_STATE_PROTOCOL instance.
|
||||
@param OpCode The operation code (opcode) number.
|
||||
@param ... Argument list that is specific to each opcode.
|
||||
|
||||
@param ... Argument list that is specific to each opcode.
|
||||
|
||||
@retval EFI_SUCCESS The operation succeeded. A record was added into the
|
||||
specified script table.
|
||||
@retval EFI_INVALID_PARAMETER The parameter is illegal or the given boot script is not supported.
|
||||
If the opcode is unknow or not supported because of the PCD
|
||||
If the opcode is unknow or not supported because of the PCD
|
||||
Feature Flags.
|
||||
@retval EFI_OUT_OF_RESOURCES There is insufficient memory to store the boot script.
|
||||
|
||||
@@ -545,7 +545,7 @@ BootScriptWrite (
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
VA_LIST Marker;
|
||||
VA_LIST Marker;
|
||||
//
|
||||
// Build script according to opcode
|
||||
//
|
||||
@@ -566,7 +566,7 @@ BootScriptWrite (
|
||||
case EFI_BOOT_SCRIPT_MEM_WRITE_OPCODE:
|
||||
VA_START (Marker, OpCode);
|
||||
Status = BootScriptWriteMemWrite (Marker);
|
||||
VA_END (Marker);
|
||||
VA_END (Marker);
|
||||
break;
|
||||
|
||||
case EFI_BOOT_SCRIPT_MEM_READ_WRITE_OPCODE:
|
||||
@@ -597,7 +597,7 @@ BootScriptWrite (
|
||||
VA_START (Marker, OpCode);
|
||||
Status = BootScriptWriteStall (Marker);
|
||||
VA_END (Marker);
|
||||
|
||||
|
||||
break;
|
||||
|
||||
case EFI_BOOT_SCRIPT_DISPATCH_OPCODE:
|
||||
@@ -636,23 +636,23 @@ BootScriptWrite (
|
||||
VA_END (Marker);
|
||||
break;
|
||||
|
||||
case EFI_BOOT_SCRIPT_IO_POLL_OPCODE:
|
||||
case EFI_BOOT_SCRIPT_IO_POLL_OPCODE:
|
||||
VA_START (Marker, OpCode);
|
||||
Status = BootScriptWriteIoPoll (Marker);
|
||||
VA_END (Marker);
|
||||
break;
|
||||
|
||||
case EFI_BOOT_SCRIPT_PCI_CONFIG_POLL_OPCODE:
|
||||
break;
|
||||
|
||||
case EFI_BOOT_SCRIPT_PCI_CONFIG_POLL_OPCODE:
|
||||
VA_START (Marker, OpCode);
|
||||
Status = BootScriptWritePciConfigPoll (Marker);
|
||||
VA_END (Marker);
|
||||
break;
|
||||
|
||||
break;
|
||||
|
||||
case EFI_BOOT_SCRIPT_PCI_CONFIG2_POLL_OPCODE:
|
||||
VA_START (Marker, OpCode);
|
||||
Status = BootScriptWritePciConfig2Poll (Marker);
|
||||
VA_END (Marker);
|
||||
break;
|
||||
break;
|
||||
|
||||
default:
|
||||
Status = EFI_INVALID_PARAMETER;
|
||||
@@ -681,7 +681,7 @@ BootScriptWrite (
|
||||
inserted, either before or after, depending on BeforeOrAfter. On exit, specifies
|
||||
the position of the inserted opcode in the boot script table.
|
||||
@param OpCode The operation code (opcode) number.
|
||||
@param ... Argument list that is specific to each opcode.
|
||||
@param ... Argument list that is specific to each opcode.
|
||||
|
||||
@retval EFI_SUCCESS The operation succeeded. A record was added into the
|
||||
specified script table.
|
||||
@@ -700,7 +700,7 @@ BootScriptInsert (
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
VA_LIST Marker;
|
||||
VA_LIST Marker;
|
||||
//
|
||||
// Build script according to opcode
|
||||
//
|
||||
@@ -721,7 +721,7 @@ BootScriptInsert (
|
||||
case EFI_BOOT_SCRIPT_MEM_WRITE_OPCODE:
|
||||
VA_START (Marker, OpCode);
|
||||
Status = BootScriptWriteMemWrite (Marker);
|
||||
VA_END (Marker);
|
||||
VA_END (Marker);
|
||||
break;
|
||||
|
||||
case EFI_BOOT_SCRIPT_MEM_READ_WRITE_OPCODE:
|
||||
@@ -752,7 +752,7 @@ BootScriptInsert (
|
||||
VA_START (Marker, OpCode);
|
||||
Status = BootScriptWriteStall (Marker);
|
||||
VA_END (Marker);
|
||||
|
||||
|
||||
break;
|
||||
|
||||
case EFI_BOOT_SCRIPT_DISPATCH_OPCODE:
|
||||
@@ -790,30 +790,30 @@ BootScriptInsert (
|
||||
Status = BootScriptWritePciCfg2ReadWrite (Marker);
|
||||
VA_END (Marker);
|
||||
break;
|
||||
|
||||
case EFI_BOOT_SCRIPT_IO_POLL_OPCODE:
|
||||
|
||||
case EFI_BOOT_SCRIPT_IO_POLL_OPCODE:
|
||||
VA_START (Marker, OpCode);
|
||||
Status = BootScriptWriteIoPoll (Marker);
|
||||
VA_END (Marker);
|
||||
break;
|
||||
|
||||
case EFI_BOOT_SCRIPT_PCI_CONFIG_POLL_OPCODE:
|
||||
break;
|
||||
|
||||
case EFI_BOOT_SCRIPT_PCI_CONFIG_POLL_OPCODE:
|
||||
VA_START (Marker, OpCode);
|
||||
Status = BootScriptWritePciConfigPoll (Marker);
|
||||
VA_END (Marker);
|
||||
break;
|
||||
|
||||
break;
|
||||
|
||||
case EFI_BOOT_SCRIPT_PCI_CONFIG2_POLL_OPCODE:
|
||||
VA_START (Marker, OpCode);
|
||||
Status = BootScriptWritePciConfig2Poll (Marker);
|
||||
VA_END (Marker);
|
||||
break;
|
||||
break;
|
||||
|
||||
default:
|
||||
Status = EFI_INVALID_PARAMETER;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
if (!EFI_ERROR (Status)) {
|
||||
Status = S3BootScriptMoveLastOpcode (BeforeOrAfter, Position);
|
||||
}
|
||||
@@ -844,7 +844,7 @@ BootScriptInsert (
|
||||
@retval EFI_SUCCESS The label already exists or was inserted.
|
||||
@retval EFI_INVALID_PARAMETER The Label is NULL or points to an empty string.
|
||||
@retval EFI_INVALID_PARAMETER The Position is not a valid position in the boot script table.
|
||||
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -856,27 +856,27 @@ BootScriptLabel (
|
||||
IN CONST CHAR8 *Label
|
||||
)
|
||||
{
|
||||
return S3BootScriptLabel (BeforeOrAfter, CreateIfNotFound, Position, Label);
|
||||
return S3BootScriptLabel (BeforeOrAfter, CreateIfNotFound, Position, Label);
|
||||
}
|
||||
/**
|
||||
Compare two positions in the boot script table and return their relative position.
|
||||
|
||||
|
||||
This function compares two positions in the boot script table and returns their relative positions. If
|
||||
Position1 is before Position2, then -1 is returned. If Position1 is equal to Position2,
|
||||
then 0 is returned. If Position1 is after Position2, then 1 is returned.
|
||||
|
||||
|
||||
@param This A pointer to the EFI_S3_SAVE_STATE_PROTOCOL instance.
|
||||
@param Position1 The positions in the boot script table to compare
|
||||
@param Position2 The positions in the boot script table to compare
|
||||
@param RelativePosition On return, points to the result of the comparison
|
||||
|
||||
@retval EFI_SUCCESS The operation succeeded.
|
||||
@retval EFI_SUCCESS The operation succeeded.
|
||||
@retval EFI_INVALID_PARAMETER The Position1 or Position2 is not a valid position in the boot script table.
|
||||
@retval EFI_INVALID_PARAMETER The RelativePosition is NULL.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
EFIAPI
|
||||
BootScriptCompare (
|
||||
IN CONST EFI_S3_SAVE_STATE_PROTOCOL *This,
|
||||
IN EFI_S3_BOOT_SCRIPT_POSITION Position1,
|
||||
@@ -884,7 +884,7 @@ BootScriptCompare (
|
||||
OUT UINTN *RelativePosition
|
||||
)
|
||||
{
|
||||
return S3BootScriptCompare (Position1, Position2, RelativePosition);
|
||||
return S3BootScriptCompare (Position1, Position2, RelativePosition);
|
||||
}
|
||||
/**
|
||||
This routine is entry point of ScriptSave driver.
|
||||
|
@@ -3,7 +3,7 @@
|
||||
#
|
||||
# It will install S3 SMM Save State protocol to store or record various IO operations to be replayed during an S3 resume.
|
||||
#
|
||||
# Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2009 - 2018, 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
|
||||
@@ -23,7 +23,7 @@
|
||||
MODULE_TYPE = DXE_SMM_DRIVER
|
||||
VERSION_STRING = 1.0
|
||||
PI_SPECIFICATION_VERSION = 0x0001000A
|
||||
|
||||
|
||||
ENTRY_POINT = InitializeSmmS3SaveState
|
||||
|
||||
#
|
||||
|
@@ -3,13 +3,13 @@
|
||||
//
|
||||
// It will install S3 SMM Save State protocol to store or record various IO operations to be replayed during an S3 resume.
|
||||
//
|
||||
// Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2009 - 2018, 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
|
||||
// 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.
|
||||
//
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// /** @file
|
||||
// SmmS3SaveState Localized Strings and Content
|
||||
//
|
||||
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
|
||||
// Copyright (c) 2013 - 2018, 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
|
||||
@@ -13,8 +13,8 @@
|
||||
//
|
||||
// **/
|
||||
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
#string STR_PROPERTIES_MODULE_NAME
|
||||
#language en-US
|
||||
"SMM S3 Save State Driver"
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user