IntelFrameworkPkg: 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>
This commit is contained in:
@@ -1,20 +1,20 @@
|
||||
/** @file
|
||||
This protocol is used to prepare all information that is needed for the S3 resume boot path. This
|
||||
protocol is not required for all platforms.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
|
||||
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 that 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,
|
||||
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.
|
||||
|
||||
@par Revision Reference:
|
||||
This Protocol is defined in Framework of S3 Resume Boot Path Spec.
|
||||
Version 0.9.
|
||||
|
||||
|
||||
**/
|
||||
|
||||
#ifndef _ACPI_S3_SAVE_PROTOCOL_H_
|
||||
@@ -38,14 +38,14 @@ typedef struct _EFI_ACPI_S3_SAVE_PROTOCOL EFI_ACPI_S3_SAVE_PROTOCOL;
|
||||
//
|
||||
|
||||
/**
|
||||
This function is used to:
|
||||
|
||||
This function is used to:
|
||||
|
||||
- Prepare all information that is needed in the S3 resume boot path. This information can include
|
||||
the following:
|
||||
-- Framework boot script table
|
||||
-- RSDT pointer
|
||||
-- Reserved memory for the S3 resume
|
||||
|
||||
|
||||
- Get the minimum legacy memory length (meaning below 1 MB) that is required for the S3 resume boot path.
|
||||
If LegacyMemoryAddress is NULL, the firmware will be unable to jump into a real-mode
|
||||
waking vector. However, it might still be able to jump into a flat-mode waking vector as long as the
|
||||
@@ -59,7 +59,7 @@ typedef struct _EFI_ACPI_S3_SAVE_PROTOCOL EFI_ACPI_S3_SAVE_PROTOCOL;
|
||||
@retval EFI_SUCCESS All information was saved successfully.
|
||||
@retval EFI_INVALID_PARAMETER The memory range is not located below 1 MB.
|
||||
@retval EFI_OUT_OF_RESOURCES Resources were insufficient to save all the information.
|
||||
@retval EFI_NOT_FOUND Some necessary information cannot be found.
|
||||
@retval EFI_NOT_FOUND Some necessary information cannot be found.
|
||||
|
||||
**/
|
||||
typedef
|
||||
@@ -79,11 +79,11 @@ EFI_STATUS
|
||||
scope of this specification.
|
||||
|
||||
@param This A pointer to the EFI_ACPI_S3_SAVE_PROTOCOL instance.
|
||||
@param Size The returned size of legacy memory below 1MB.
|
||||
@param Size The returned size of legacy memory below 1MB.
|
||||
|
||||
@retval EFI_SUCCESS Size was successfully returned.
|
||||
@retval EFI_INVALID_PARAMETER The pointer Size is NULL.
|
||||
|
||||
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -100,7 +100,7 @@ EFI_STATUS
|
||||
- ACPI table information, such as RSDT, through which the OS waking vector can be located.
|
||||
- The range of reserved memory that can be used on the S3 resume boot path.
|
||||
This protocol can be used after the Framework makes sure that the boot process is complete and
|
||||
that no hardware has been left unconfigured. Where to call this protocol to save information is implementation-specific.
|
||||
that no hardware has been left unconfigured. Where to call this protocol to save information is implementation-specific.
|
||||
In the case of an EFI-aware OS, ExitBootServices() can be a choice to provide this hook.
|
||||
The currently executing EFI OS loader image calls ExitBootServices()to terminate all boot
|
||||
services. After ExitBootServices() successfully completes, the loader becomes responsible
|
||||
@@ -116,7 +116,7 @@ struct _EFI_ACPI_S3_SAVE_PROTOCOL {
|
||||
/// Gets the size of legacy memory below 1 MB that is required for S3 resume.
|
||||
///
|
||||
EFI_ACPI_GET_LEGACY_MEMORY_SIZE GetLegacyMemorySize;
|
||||
|
||||
|
||||
///
|
||||
/// Prepare all information for an S3 resume.
|
||||
///
|
||||
|
@@ -3,18 +3,18 @@
|
||||
services handle many of the more mundane tasks that are required to publish a set of tables. The
|
||||
services will:
|
||||
- Generate common tables.
|
||||
- Update the table links.
|
||||
- Ensure that tables are properly aligned and use correct types of memory.
|
||||
- Update checksum values and IDs.
|
||||
- Complete the final installation of the tables.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
- Update the table links.
|
||||
- Ensure that tables are properly aligned and use correct types of memory.
|
||||
- Update checksum values and IDs.
|
||||
- Complete the final installation of the tables.
|
||||
|
||||
Copyright (c) 2007 - 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 that 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,
|
||||
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.
|
||||
|
||||
@par Revision Reference:
|
||||
@@ -95,10 +95,10 @@ EFI_STATUS
|
||||
Causes one or more versions of the ACPI tables to be published in
|
||||
the EFI system configuration tables.
|
||||
|
||||
The PublishTables() function installs the ACPI tables for the versions that are specified in
|
||||
Version. No tables are published for Version equal to EFI_ACPI_VERSION_NONE. Once
|
||||
published, tables will continue to be updated as tables are modified with
|
||||
EFI_ACPI_SUPPORT_PROTOCOL.SetAcpiTable().
|
||||
The PublishTables() function installs the ACPI tables for the versions that are specified in
|
||||
Version. No tables are published for Version equal to EFI_ACPI_VERSION_NONE. Once
|
||||
published, tables will continue to be updated as tables are modified with
|
||||
EFI_ACPI_SUPPORT_PROTOCOL.SetAcpiTable().
|
||||
|
||||
@param This A pointer to the EFI_ACPI_SUPPORT_PROTOCOL instance.
|
||||
@param Version Indicates to which version(s) of ACPI the table should be published.
|
||||
|
@@ -1,14 +1,14 @@
|
||||
/** @file
|
||||
This protocol is used to store or record various boot scripts into boot
|
||||
This protocol is used to store or record various boot scripts into boot
|
||||
script tables.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 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 that 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,
|
||||
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.
|
||||
|
||||
@par Revision Reference:
|
||||
|
@@ -1,18 +1,18 @@
|
||||
/** @file
|
||||
This code abstracts the CPU IO Protocol which installed by some platform or chipset-specific
|
||||
PEIM that abstracts the processor-visible I/O operations.
|
||||
|
||||
This code abstracts the CPU IO Protocol which installed by some platform or chipset-specific
|
||||
PEIM that abstracts the processor-visible I/O operations.
|
||||
|
||||
Note: This is a runtime protocol and can be used by runtime drivers after ExitBootServices().
|
||||
It is different from the PI 1.2 CPU I/O 2 Protocol, which is a boot services only protocol
|
||||
and may not be used by runtime drivers after ExitBootServices().
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 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 that 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,
|
||||
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.
|
||||
|
||||
@par Revision Reference:
|
||||
@@ -32,13 +32,13 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
}
|
||||
|
||||
//
|
||||
// Framework CPU IO protocol structure is the same as CPU IO 2 protocol defined in PI 1.2 spec.
|
||||
// Framework CPU IO protocol structure is the same as CPU IO 2 protocol defined in PI 1.2 spec.
|
||||
// However, there is a significant different between the Framework CPU I/O
|
||||
// Protocol and the PI 1.2 CPU I/O 2 Protocol. The Framework one is a runtime
|
||||
// protocol, which means it can be used by runtime drivers after ExitBootServices().
|
||||
// The PI one is not runtime safe, so it is a boot services only protocol and may
|
||||
// not be used by runtime drivers after ExitBootServices().
|
||||
//
|
||||
//
|
||||
typedef EFI_CPU_IO2_PROTOCOL EFI_CPU_IO_PROTOCOL;
|
||||
|
||||
extern EFI_GUID gEfiCpuIoProtocolGuid;
|
||||
|
@@ -3,13 +3,13 @@
|
||||
data and those wishing to be made aware of all information that
|
||||
has been logged. This protocol may only be called <= TPL_NOTIFY.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 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 that 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,
|
||||
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.
|
||||
|
||||
@par Revision Reference:
|
||||
@@ -33,7 +33,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
// data. The format of the data is defined by the DataRecordGuid.
|
||||
//
|
||||
// If EFI_DATA_RECORD_HEADER is extended in the future, the Version number and HeaderSize must
|
||||
// change.
|
||||
// change.
|
||||
//
|
||||
// The logger is responcible for initializing:
|
||||
// Version, HeaderSize, RecordSize, DataRecordGuid, DataRecordClass
|
||||
@@ -99,27 +99,27 @@ EFI_STATUS
|
||||
|
||||
@param This The EFI_DATA_HUB_PROTOCOL instance.
|
||||
@param MonotonicCount On input, it specifies the Record to return.
|
||||
An input of zero means to return the first record,
|
||||
An input of zero means to return the first record,
|
||||
as does an input of one.
|
||||
@param FilterDriver If FilterDriver is not passed in a MonotonicCount
|
||||
of zero, it means to return the first data record.
|
||||
If FilterDriver is passed in, then a MonotonicCount
|
||||
of zero, it means to return the first data record.
|
||||
If FilterDriver is passed in, then a MonotonicCount
|
||||
of zero means to return the first data not yet read
|
||||
by FilterDriver.
|
||||
@param Record Returns a dynamically allocated memory buffer with
|
||||
@param Record Returns a dynamically allocated memory buffer with
|
||||
a data record that matches MonotonicCount.
|
||||
|
||||
@retval EFI_SUCCESS Data was returned in Record.
|
||||
@retval EFI_INVALID_PARAMETER FilterDriver was passed in but does not exist.
|
||||
@retval EFI_NOT_FOUND MonotonicCount does not match any data record
|
||||
in the system. If a MonotonicCount of zero was
|
||||
in the system. If a MonotonicCount of zero was
|
||||
passed in, then no data records exist in the system.
|
||||
@retval EFI_OUT_OF_RESOURCES Record was not returned due to lack
|
||||
of system resources.
|
||||
@note Inconsistent with specification here:
|
||||
In Framework for EFI Data Hub Specification, Version 0.9, This definition
|
||||
is named as EFI_DATA_HUB_GET_NEXT_DATA_RECORD. The inconsistency is
|
||||
maintained for backward compatibility.
|
||||
@note Inconsistent with specification here:
|
||||
In Framework for EFI Data Hub Specification, Version 0.9, This definition
|
||||
is named as EFI_DATA_HUB_GET_NEXT_DATA_RECORD. The inconsistency is
|
||||
maintained for backward compatibility.
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -136,28 +136,28 @@ EFI_STATUS
|
||||
@param This The EFI_DATA_HUB_PROTOCOL instance.
|
||||
@param FilterEvent The EFI_EVENT to signal whenever data that matches
|
||||
FilterClass is logged in the system.
|
||||
@param FilterTpl The maximum EFI_TPL at which FilterEvent can be
|
||||
signaled. It is strongly recommended that you use
|
||||
the lowest EFI_TPL possible.
|
||||
@param FilterTpl The maximum EFI_TPL at which FilterEvent can be
|
||||
signaled. It is strongly recommended that you use
|
||||
the lowest EFI_TPL possible.
|
||||
@param FilterClass FilterEvent will be signaled whenever a bit
|
||||
in EFI_DATA_RECORD_HEADER.DataRecordClass is also
|
||||
set in FilterClass. If FilterClass is zero, no
|
||||
in EFI_DATA_RECORD_HEADER.DataRecordClass is also
|
||||
set in FilterClass. If FilterClass is zero, no
|
||||
class-based filtering will be performed.
|
||||
@param FilterDataRecordGuid FilterEvent will be signaled whenever
|
||||
FilterDataRecordGuid matches
|
||||
EFI_DATA_RECORD_HEADER.DataRecordGuid.
|
||||
If FilterDataRecordGuid is NULL, then no GUID-based
|
||||
FilterDataRecordGuid matches
|
||||
EFI_DATA_RECORD_HEADER.DataRecordGuid.
|
||||
If FilterDataRecordGuid is NULL, then no GUID-based
|
||||
filtering will be performed.
|
||||
|
||||
@retval EFI_SUCCESS The filter driver event was registered
|
||||
@retval EFI_ALREADY_STARTED FilterEvent was previously registered and cannot
|
||||
@retval EFI_ALREADY_STARTED FilterEvent was previously registered and cannot
|
||||
be registered again.
|
||||
@retval EFI_OUT_OF_RESOURCES The filter driver event was not registered
|
||||
due to lack of system resources.
|
||||
@note Inconsistent with specification here:
|
||||
In Framework for EFI Data Hub Specification, Version 0.9, This definition
|
||||
is named as EFI_DATA_HUB_REGISTER_DATA_FILTER_DRIVER. The inconsistency
|
||||
is maintained for backward compatibility.
|
||||
@note Inconsistent with specification here:
|
||||
In Framework for EFI Data Hub Specification, Version 0.9, This definition
|
||||
is named as EFI_DATA_HUB_REGISTER_DATA_FILTER_DRIVER. The inconsistency
|
||||
is maintained for backward compatibility.
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -178,10 +178,10 @@ EFI_STATUS
|
||||
|
||||
@retval EFI_SUCCESS The filter driver represented by FilterEvent was shut off.
|
||||
@retval EFI_NOT_FOUND FilterEvent did not exist.
|
||||
@note Inconsistent with specification here:
|
||||
In Framework for EFI Data Hub Specification, Version 0.9, This definition
|
||||
is named as EFI_DATA_HUB_UNREGISTER_DATA_FILTER_DRIVER. The inconsistency
|
||||
is maintained for backward compatibility.
|
||||
@note Inconsistent with specification here:
|
||||
In Framework for EFI Data Hub Specification, Version 0.9, This definition
|
||||
is named as EFI_DATA_HUB_UNREGISTER_DATA_FILTER_DRIVER. The inconsistency
|
||||
is maintained for backward compatibility.
|
||||
**/
|
||||
typedef
|
||||
EFI_STATUS
|
||||
@@ -198,19 +198,19 @@ struct _EFI_DATA_HUB_PROTOCOL {
|
||||
///
|
||||
/// Logs a data record.
|
||||
///
|
||||
EFI_DATA_HUB_LOG_DATA LogData;
|
||||
|
||||
EFI_DATA_HUB_LOG_DATA LogData;
|
||||
|
||||
///
|
||||
/// Gets a data record. Used both to view the memory-based log and to
|
||||
/// get information about which data records have been consumed by a filter driver.
|
||||
///
|
||||
EFI_DATA_HUB_GET_NEXT_RECORD GetNextRecord;
|
||||
|
||||
|
||||
///
|
||||
/// Allows the registration of an EFI event to act as a filter driver for all data records that are logged.
|
||||
///
|
||||
EFI_DATA_HUB_REGISTER_FILTER_DRIVER RegisterFilterDriver;
|
||||
|
||||
|
||||
///
|
||||
/// Used to remove a filter driver that was added with RegisterFilterDriver().
|
||||
///
|
||||
|
@@ -1,19 +1,19 @@
|
||||
/** @file
|
||||
This file declares the Firmware Volume Protocol.
|
||||
|
||||
|
||||
The Firmware Volume Protocol provides file-level access to the firmware volume.
|
||||
Each firmware volume driver must produce an instance of the Firmware Volume
|
||||
Protocol if the firmware volume is to be visible to the system. The Firmware
|
||||
Volume Protocol also provides mechanisms for determining and modifying some
|
||||
attributes of the firmware volume.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 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 that 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,
|
||||
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.
|
||||
|
||||
@par Revision Reference:
|
||||
@@ -102,18 +102,18 @@ EFI_STATUS
|
||||
Sets volume attributes
|
||||
|
||||
@param This Indicates the EFI_FIRMWARE_VOLUME_PROTOCOL instance.
|
||||
@param Attributes On input, Attributes is a pointer to an
|
||||
EFI_FV_ATTRIBUTES containing the desired firmware
|
||||
volume settings. On successful return, it contains
|
||||
the new settings of the firmware volume. On
|
||||
unsuccessful return, Attributes is not modified
|
||||
@param Attributes On input, Attributes is a pointer to an
|
||||
EFI_FV_ATTRIBUTES containing the desired firmware
|
||||
volume settings. On successful return, it contains
|
||||
the new settings of the firmware volume. On
|
||||
unsuccessful return, Attributes is not modified
|
||||
and the firmware volume settings are not changed.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER A bit in Attributes was invalid.
|
||||
@retval EFI_SUCCESS The requested firmware volume attributes were set
|
||||
@retval EFI_SUCCESS The requested firmware volume attributes were set
|
||||
and the resulting EFI_FV_ATTRIBUTES is returned in
|
||||
Attributes.
|
||||
@retval EFI_ACCESS_DENIED The Device is locked and does not permit modification.
|
||||
@retval EFI_ACCESS_DENIED The Device is locked and does not permit modification.
|
||||
|
||||
**/
|
||||
typedef
|
||||
@@ -124,26 +124,26 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
Read the requested file (NameGuid) or file information from the firmware volume
|
||||
Read the requested file (NameGuid) or file information from the firmware volume
|
||||
and returns data in Buffer.
|
||||
|
||||
@param This The EFI_FIRMWARE_VOLUME_PROTOCOL instance.
|
||||
@param NameGuid The pointer to EFI_GUID, which is the filename of
|
||||
@param NameGuid The pointer to EFI_GUID, which is the filename of
|
||||
the file to read.
|
||||
@param Buffer The pointer to pointer to buffer in which contents of file are returned.
|
||||
<br>
|
||||
If Buffer is NULL, only type, attributes, and size
|
||||
If Buffer is NULL, only type, attributes, and size
|
||||
are returned as there is no output buffer.
|
||||
<br>
|
||||
If Buffer != NULL and *Buffer == NULL, the output
|
||||
If Buffer != NULL and *Buffer == NULL, the output
|
||||
buffer is allocated from BS pool by ReadFile.
|
||||
<br>
|
||||
If Buffer != NULL and *Buffer != NULL, the output
|
||||
buffer has been allocated by the caller and is being
|
||||
If Buffer != NULL and *Buffer != NULL, the output
|
||||
buffer has been allocated by the caller and is being
|
||||
passed in.
|
||||
@param BufferSize On input: The buffer size. On output: The size
|
||||
required to complete the read.
|
||||
@param FoundType The pointer to the type of the file whose data
|
||||
@param FoundType The pointer to the type of the file whose data
|
||||
is returned.
|
||||
@param FileAttributes The pointer to attributes of the file whose data
|
||||
is returned.
|
||||
@@ -153,7 +153,7 @@ EFI_STATUS
|
||||
@retval EFI_WARN_BUFFER_TOO_SMALL The buffer is too small to contain the requested output.
|
||||
The buffer filled, and the output is truncated.
|
||||
@retval EFI_NOT_FOUND NameGuid was not found in the firmware volume.
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred when attempting to
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred when attempting to
|
||||
access the firmware volume.
|
||||
@retval EFI_ACCESS_DENIED The firmware volume is configured to disallow reads.
|
||||
@retval EFI_OUT_OF_RESOURCES An allocation failure occurred.
|
||||
@@ -178,28 +178,28 @@ EFI_STATUS
|
||||
@param NameGuid Filename identifying the file from which to read.
|
||||
@param SectionType The section type to retrieve.
|
||||
@param SectionInstance The instance of SectionType to retrieve.
|
||||
@param Buffer Pointer to pointer to buffer in which contents of
|
||||
@param Buffer Pointer to pointer to buffer in which contents of
|
||||
a file are returned.
|
||||
<br>
|
||||
If Buffer is NULL, only type, attributes, and size
|
||||
are returned as there is no output buffer.
|
||||
<br>
|
||||
If Buffer != NULL and *Buffer == NULL, the output
|
||||
If Buffer != NULL and *Buffer == NULL, the output
|
||||
buffer is allocated from BS pool by ReadFile.
|
||||
<br>
|
||||
If Buffer != NULL and *Buffer != NULL, the output
|
||||
buffer has been allocated by the caller and is being
|
||||
If Buffer != NULL and *Buffer != NULL, the output
|
||||
buffer has been allocated by the caller and is being
|
||||
passed in.
|
||||
@param BufferSize The pointer to the buffer size passed in, and on
|
||||
@param BufferSize The pointer to the buffer size passed in, and on
|
||||
output the size required to complete the read.
|
||||
@param AuthenticationStatus The pointer to the authentication status of the data.
|
||||
|
||||
@retval EFI_SUCCESS The call completed successfully.
|
||||
@retval EFI_WARN_BUFFER_TOO_SMALL The buffer is too small to contain the requested output.
|
||||
@retval EFI_WARN_BUFFER_TOO_SMALL The buffer is too small to contain the requested output.
|
||||
The buffer is filled and the output is truncated.
|
||||
@retval EFI_OUT_OF_RESOURCES An allocation failure occurred.
|
||||
@retval EFI_NOT_FOUND The name was not found in the firmware volume.
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred when attempting to
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred when attempting to
|
||||
access the firmware volume.
|
||||
@retval EFI_ACCESS_DENIED The firmware volume is configured to disallow reads.
|
||||
|
||||
@@ -233,22 +233,22 @@ typedef struct {
|
||||
Write the supplied file (NameGuid) to the FV.
|
||||
|
||||
@param This Indicates the EFI_FIRMWARE_VOLUME_PROTOCOL instance.
|
||||
@param NumberOfFiles Indicates the number of file records pointed to
|
||||
@param NumberOfFiles Indicates the number of file records pointed to
|
||||
by FileData.
|
||||
@param WritePolicy Indicates the level of reliability of the write
|
||||
@param WritePolicy Indicates the level of reliability of the write
|
||||
with respect to things like power failure events.
|
||||
@param FileData A pointer to an array of EFI_FV_WRITE_FILE_DATA
|
||||
structures. Each element in the array indicates
|
||||
@param FileData A pointer to an array of EFI_FV_WRITE_FILE_DATA
|
||||
structures. Each element in the array indicates
|
||||
a file to write, and there are NumberOfFiles
|
||||
elements in the input array.
|
||||
|
||||
@retval EFI_SUCCESS The write completed successfully.
|
||||
@retval EFI_OUT_OF_RESOURCES The firmware volume does not have enough free
|
||||
@retval EFI_OUT_OF_RESOURCES The firmware volume does not have enough free
|
||||
space to store file(s).
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred when attempting to
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred when attempting to
|
||||
access the firmware volume.
|
||||
@retval EFI_WRITE_PROTECTED The firmware volume is configured to disallow writes.
|
||||
@retval EFI_NOT_FOUND A delete was requested, but the requested file was
|
||||
@retval EFI_NOT_FOUND A delete was requested, but the requested file was
|
||||
not found in the firmware volume.
|
||||
@retval EFI_INVALID_PARAMETER A delete was requested with a multiple file write.
|
||||
An unsupported WritePolicy was requested.
|
||||
@@ -268,18 +268,18 @@ EFI_STATUS
|
||||
Given the input key, search for the next matching file in the volume.
|
||||
|
||||
@param This Indicates the EFI_FIRMWARE_VOLUME_PROTOCOL instance.
|
||||
@param Key Pointer to a caller allocated buffer that contains
|
||||
an implementation-specific key that is used to track
|
||||
@param Key Pointer to a caller allocated buffer that contains
|
||||
an implementation-specific key that is used to track
|
||||
where to begin searching on successive calls.
|
||||
@param FileType The pointer to the file type to filter for.
|
||||
@param NameGuid The pointer to Guid filename of the file found.
|
||||
@param Attributes The pointer to Attributes of the file found.
|
||||
@param Size The pointer to Size in bytes of the file found.
|
||||
|
||||
@retval EFI_SUCCESS The output parameters are filled with data obtained from
|
||||
@retval EFI_SUCCESS The output parameters are filled with data obtained from
|
||||
the first matching file that was found.
|
||||
@retval EFI_NOT_FOUND No files of type FileType were found.
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred when attempting to access
|
||||
@retval EFI_DEVICE_ERROR A hardware error occurred when attempting to access
|
||||
the firmware volume.
|
||||
@retval EFI_ACCESS_DENIED The firmware volume is configured to disallow reads.
|
||||
|
||||
|
@@ -1,16 +1,16 @@
|
||||
/** @file
|
||||
This file provides control over block-oriented firmware devices.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
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 that 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.
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
@par Revision Reference:
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
@par Revision Reference:
|
||||
This protocol is defined in framework spec: Firmware Volume Block Specification.
|
||||
|
||||
**/
|
||||
@@ -24,18 +24,18 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
typedef struct _FRAMEWORK_EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL FRAMEWORK_EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL;
|
||||
///
|
||||
/// The type of EFI FVB attribute per the Framework specification.
|
||||
///
|
||||
///
|
||||
typedef UINT32 EFI_FVB_ATTRIBUTES;
|
||||
|
||||
/**
|
||||
The GetAttributes() function retrieves the attributes and
|
||||
current settings of the block.
|
||||
current settings of the block.
|
||||
|
||||
@param This Indicates the FRAMEWORK_EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.
|
||||
|
||||
@param Attributes Pointer to EFI_FVB_ATTRIBUTES in which the
|
||||
attributes and current settings are
|
||||
returned.
|
||||
returned.
|
||||
|
||||
@retval EFI_SUCCESS The firmware volume attributes were
|
||||
returned.
|
||||
@@ -59,8 +59,8 @@ EFI_STATUS
|
||||
EFI_FVB_ATTRIBUTES that contains the
|
||||
desired firmware volume settings. On
|
||||
successful return, it contains the new
|
||||
settings of the firmware volume.
|
||||
|
||||
settings of the firmware volume.
|
||||
|
||||
@retval EFI_SUCCESS The firmware volume attributes were returned.
|
||||
|
||||
@retval EFI_INVALID_PARAMETER The attributes requested are in
|
||||
@@ -83,14 +83,14 @@ EFI_STATUS
|
||||
only for memory-mapped firmware volumes.
|
||||
|
||||
@param This Indicates the FRAMEWORK_EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.
|
||||
|
||||
|
||||
@param Address Pointer to a caller-allocated
|
||||
EFI_PHYSICAL_ADDRESS that, on successful
|
||||
return from GetPhysicalAddress(), contains the
|
||||
base address of the firmware volume.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The firmware volume base address is returned.
|
||||
|
||||
|
||||
@retval EFI_NOT_SUPPORTED The firmware volume is not memory mapped.
|
||||
|
||||
**/
|
||||
@@ -121,9 +121,9 @@ EFI_STATUS
|
||||
blocks in this range have a size of
|
||||
BlockSize.
|
||||
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The firmware volume base address was returned.
|
||||
|
||||
|
||||
@retval EFI_INVALID_PARAMETER The requested LBA is out of range.
|
||||
|
||||
**/
|
||||
@@ -154,7 +154,7 @@ EFI_STATUS
|
||||
aware that a read may be partially completed.
|
||||
|
||||
@param This Indicates the FRAMEWORK_EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.
|
||||
|
||||
|
||||
@param Lba The starting logical block index
|
||||
from which to read.
|
||||
|
||||
@@ -170,15 +170,15 @@ EFI_STATUS
|
||||
|
||||
@retval EFI_SUCCESS The firmware volume was read successfully
|
||||
and contents are in Buffer.
|
||||
|
||||
|
||||
@retval EFI_BAD_BUFFER_SIZE A read was attempted across an LBA
|
||||
boundary. On output, NumBytes
|
||||
contains the total number of bytes
|
||||
returned in Buffer.
|
||||
|
||||
|
||||
@retval EFI_ACCESS_DENIED The firmware volume is in the
|
||||
ReadDisabled state.
|
||||
|
||||
|
||||
@retval EFI_DEVICE_ERROR The block device is not
|
||||
functioning correctly and could
|
||||
not be read.
|
||||
@@ -210,7 +210,7 @@ EFI_STATUS
|
||||
EraseBlocks() function first to erase the specified block to
|
||||
write. A block erase cycle will transition bits from the
|
||||
(NOT)EFI_FVB_ERASE_POLARITY state back to the
|
||||
EFI_FVB_ERASE_POLARITY state. Implementors should note
|
||||
EFI_FVB_ERASE_POLARITY state. Implementors should note
|
||||
that the firmware volume might be in the WriteDisabled
|
||||
state. If it is in this state, the Write() function must
|
||||
return the status code EFI_ACCESS_DENIED without modifying the
|
||||
@@ -225,27 +225,27 @@ EFI_STATUS
|
||||
returns.
|
||||
|
||||
@param This Indicates the FRAMEWORK_EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL instance.
|
||||
|
||||
|
||||
@param Lba The starting logical block index to write to.
|
||||
|
||||
|
||||
@param Offset Offset into the block at which to begin writing.
|
||||
|
||||
|
||||
@param NumBytes The pointer to a UINTN. Input: the total size of the buffer.
|
||||
Output: the total number of bytes actually written.
|
||||
|
||||
|
||||
@param Buffer The pointer to a caller-allocated buffer that
|
||||
contains the source for the write.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS The firmware volume was written successfully.
|
||||
|
||||
|
||||
@retval EFI_BAD_BUFFER_SIZE The write was attempted across an
|
||||
LBA boundary. On output, NumBytes
|
||||
contains the total number of bytes
|
||||
actually written.
|
||||
|
||||
|
||||
@retval EFI_ACCESS_DENIED The firmware volume is in the
|
||||
WriteDisabled state.
|
||||
|
||||
|
||||
@retval EFI_DEVICE_ERROR The block device is malfunctioning
|
||||
and could not be written.
|
||||
|
||||
@@ -306,7 +306,7 @@ EFI_STATUS
|
||||
|
||||
@retval EFI_SUCCESS The erase request successfully
|
||||
completed.
|
||||
|
||||
|
||||
@retval EFI_ACCESS_DENIED The firmware volume is in the
|
||||
WriteDisabled state.
|
||||
@retval EFI_DEVICE_ERROR The block device is not functioning
|
||||
@@ -315,7 +315,7 @@ EFI_STATUS
|
||||
partially erased.
|
||||
@retval EFI_INVALID_PARAMETER One or more of the LBAs listed
|
||||
in the variable argument list do
|
||||
not exist in the firmware volume.
|
||||
not exist in the firmware volume.
|
||||
|
||||
**/
|
||||
typedef
|
||||
@@ -344,7 +344,7 @@ struct _FRAMEWORK_EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL {
|
||||
FRAMEWORK_EFI_FVB_ERASE_BLOCKS EraseBlocks;
|
||||
///
|
||||
/// The handle of the parent firmware volume.
|
||||
///
|
||||
///
|
||||
EFI_HANDLE ParentHandle;
|
||||
};
|
||||
|
||||
|
@@ -5,13 +5,13 @@
|
||||
packet of data. This will also allow the caller to post messages
|
||||
into the configuration drivers internal mailbox.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
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 that 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,
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name: FrameworkFormBrowser.h
|
||||
@@ -64,36 +64,36 @@ typedef struct {
|
||||
|
||||
@param This A pointer to the EFI_FORM_BROWSER_PROTOCOL instance.
|
||||
@param UseDatabase Determines whether the HII database is to be
|
||||
used to gather information. If the value is FALSE,
|
||||
the configuration driver will get the information
|
||||
used to gather information. If the value is FALSE,
|
||||
the configuration driver will get the information
|
||||
provided in the passed-in Packet parameters.
|
||||
@param Handle A pointer to an array of HII handles to display.
|
||||
This value should correspond to the value of the
|
||||
@param Handle A pointer to an array of HII handles to display.
|
||||
This value should correspond to the value of the
|
||||
HII form package that is required to be displayed.
|
||||
@param HandleCount The number of handles in the array specified by Handle.
|
||||
@param Packet A pointer to a set of data containing pointers to IFR
|
||||
and/or string data.
|
||||
@param CallbackHandle The handle to the driver's callback interface.
|
||||
This parameter is used only when the UseDatabase
|
||||
parameter is FALSE and an application wants to
|
||||
This parameter is used only when the UseDatabase
|
||||
parameter is FALSE and an application wants to
|
||||
register a callback with the browser.
|
||||
@param NvMapOverride This buffer is used only when there is no NV variable
|
||||
to define the current settings and the caller needs
|
||||
to provide to the browser the current settings for
|
||||
to define the current settings and the caller needs
|
||||
to provide to the browser the current settings for
|
||||
the "fake" NV variable.
|
||||
@param ScreenDimensions Allows the browser to be called so that it occupies
|
||||
a portion of the physical screen instead of dynamically
|
||||
a portion of the physical screen instead of dynamically
|
||||
determining the screen dimensions.
|
||||
@param ResetRequired This BOOLEAN value denotes whether a reset is required
|
||||
based on the data that might have been changed.
|
||||
The ResetRequired parameter is primarily applicable
|
||||
based on the data that might have been changed.
|
||||
The ResetRequired parameter is primarily applicable
|
||||
for configuration applications, and is an
|
||||
optional parameter.
|
||||
|
||||
@retval EFI_SUCCESS The function completed successfully.
|
||||
@retval EFI_NOT_FOUND The variable was not found.
|
||||
@retval EFI_BUFFER_TOO_SMALL The DataSize is too small for the result.
|
||||
DataSize has been updated with the size needed to
|
||||
DataSize has been updated with the size needed to
|
||||
complete the request.
|
||||
@retval EFI_INVALID_PARAMETER One of the parameters has an invalid value.
|
||||
@retval EFI_DEVICE_ERROR The variable could not be saved due to a hardware failure.
|
||||
@@ -119,10 +119,10 @@ EFI_STATUS
|
||||
|
||||
@param NumberOfLines The number of lines for the dialog box.
|
||||
@param HotKey Defines whether a single character is parsed (TRUE)
|
||||
and returned in KeyValue, or if a string is returned
|
||||
and returned in KeyValue, or if a string is returned
|
||||
in StringBuffer.
|
||||
@param MaximumStringSize The maximum size in bytes of a typed-in string.
|
||||
Because each character is a CHAR16, the minimum
|
||||
Because each character is a CHAR16, the minimum
|
||||
string returned is two bytes.
|
||||
@param StringBuffer The passed-in pointer to the buffer that will hold
|
||||
the typed in string if HotKey is FALSE.
|
||||
@@ -160,10 +160,10 @@ struct _EFI_FORM_BROWSER_PROTOCOL {
|
||||
/// a pointer to the calling driver's callback interface.
|
||||
///
|
||||
EFI_SEND_FORM SendForm;
|
||||
|
||||
|
||||
///
|
||||
/// Routine used to abstract a generic dialog interface and return the
|
||||
/// selected key or string.
|
||||
/// selected key or string.
|
||||
///
|
||||
EFI_CREATE_POP_UP CreatePopUp;
|
||||
};
|
||||
|
@@ -5,13 +5,13 @@
|
||||
specific drivers that want to export access to custom hardware storage or
|
||||
publish IFR that need to call back the original driver.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
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 that 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,
|
||||
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.
|
||||
|
||||
@par Revision Reference:
|
||||
@@ -36,14 +36,14 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
typedef struct _EFI_FORM_CALLBACK_PROTOCOL EFI_FORM_CALLBACK_PROTOCOL;
|
||||
|
||||
///
|
||||
/// Inconsistent with specification here:
|
||||
/// RESET_REQUIRED, EXIT_REQUIRED, SAVE_REQUIRED, NV_CHANGED and NV_NOT_CHANGED are not
|
||||
/// Inconsistent with specification here:
|
||||
/// RESET_REQUIRED, EXIT_REQUIRED, SAVE_REQUIRED, NV_CHANGED and NV_NOT_CHANGED are not
|
||||
/// defined in HII specification. These Flags of EFI_IFR_DATA_ENTRY should be defined
|
||||
/// to describe the standard behavior of the browser after the callback.
|
||||
///
|
||||
/// If this flag is set, the browser will exit and reset after processing callback results.
|
||||
///
|
||||
#define RESET_REQUIRED 1
|
||||
#define RESET_REQUIRED 1
|
||||
///
|
||||
/// If this flag is set, the browser will exit after processing callback results.
|
||||
///
|
||||
@@ -143,12 +143,12 @@ EFI_STATUS
|
||||
|
||||
@param This A pointer to the EFI_FORM_CALLBACK_PROTOCOL instance.
|
||||
@param VariableName A NULL-terminated Unicode string that is the
|
||||
name of the vendor's variable. Each VariableName
|
||||
is unique for each VendorGuid.
|
||||
name of the vendor's variable. Each VariableName
|
||||
is unique for each VendorGuid.
|
||||
@param VendorGuid A unique identifier for the vendor.
|
||||
@param Attributes Attributes bit-mask to set for the variable.
|
||||
Inconsistent with specification here:
|
||||
Attributes data type has been changed from
|
||||
Inconsistent with specification here:
|
||||
Attributes data type has been changed from
|
||||
UINT32 * to UINT32, because the input parameter is
|
||||
not necessary to use a pointer date type.
|
||||
@param DataSize The size in bytes of the Buffer. A size of zero causes
|
||||
@@ -185,8 +185,8 @@ EFI_STATUS
|
||||
|
||||
@param This A pointer to the EFI_FORM_CALLBACK_PROTOCOL instance.
|
||||
@param KeyValue A unique value which is sent to the original exporting
|
||||
driver so that it can identify the type of data
|
||||
to expect. The format of the data tends to vary based
|
||||
driver so that it can identify the type of data
|
||||
to expect. The format of the data tends to vary based
|
||||
on the opcode that generated the callback.
|
||||
@param Data A pointer to the data being sent to the original exporting driver.
|
||||
@param Packet A pointer to a packet of information that a driver passes
|
||||
|
@@ -3,13 +3,13 @@
|
||||
used by resources that want to publish IFR/Font/String data and have it
|
||||
collected by the Configuration engine.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 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 that 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,
|
||||
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.
|
||||
|
||||
@par Revision Reference:
|
||||
@@ -473,7 +473,7 @@ EFI_STATUS
|
||||
Removes a package from the HII database.
|
||||
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param Handle The handle that was registered to the data that
|
||||
@param Handle The handle that was registered to the data that
|
||||
is requested for removal.
|
||||
|
||||
@retval EFI_SUCCESS The data associated with the Handle was removed
|
||||
@@ -560,14 +560,14 @@ EFI_STATUS
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param StringToTest A pointer to a Unicode string.
|
||||
@param FirstMissing A pointer to an index into the string. On input,
|
||||
the index of the first character in the StringToTest
|
||||
to examine. On exit, the index of the first character
|
||||
the index of the first character in the StringToTest
|
||||
to examine. On exit, the index of the first character
|
||||
encountered for which a glyph is unavailable.
|
||||
If all glyphs in the string are available, the
|
||||
If all glyphs in the string are available, the
|
||||
index is the index of the terminator of the string.
|
||||
@param GlyphBufferSize A pointer to a value. On output, if the function
|
||||
returns EFI_SUCCESS, it contains the amount of
|
||||
memory that is required to store the string's
|
||||
returns EFI_SUCCESS, it contains the amount of
|
||||
memory that is required to store the string's
|
||||
glyph equivalent.
|
||||
|
||||
@retval EFI_SUCCESS All glyphs are available. Note that an empty string
|
||||
@@ -592,23 +592,23 @@ EFI_STATUS
|
||||
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param Source A pointer to a Unicode string.
|
||||
@param Index On input, the offset into the string from which to
|
||||
fetch the character. On successful completion, the
|
||||
index is updated to the first character past the
|
||||
@param Index On input, the offset into the string from which to
|
||||
fetch the character. On successful completion, the
|
||||
index is updated to the first character past the
|
||||
character(s) making up the just extracted glyph.
|
||||
@param GlyphBuffer Pointer to an array where the glyphs corresponding
|
||||
to the characters in the source may be stored.
|
||||
GlyphBuffer is assumed to be wide enough to accept
|
||||
to the characters in the source may be stored.
|
||||
GlyphBuffer is assumed to be wide enough to accept
|
||||
a wide glyph character.
|
||||
@param BitWidth If EFI_SUCCESS was returned, the UINT16 pointed to by
|
||||
this value is filled with the length of the glyph in
|
||||
pixels. It is unchanged if the call was unsuccessful.
|
||||
@param InternalStatus The cell pointed to by this parameter must be
|
||||
initialized to zero prior to invoking the call the
|
||||
initialized to zero prior to invoking the call the
|
||||
first time for any string.
|
||||
|
||||
@retval EFI_SUCCESS Found the corresponding font glyph for a Unicode
|
||||
character.
|
||||
@retval EFI_SUCCESS Found the corresponding font glyph for a Unicode
|
||||
character.
|
||||
@retval EFI_NOT_FOUND A glyph for a character was not found.
|
||||
|
||||
**/
|
||||
@@ -639,7 +639,7 @@ EFI_STATUS
|
||||
@param BltBuffer A pointer to the buffer that contains the data that is
|
||||
ready to be used by the UGA BLT routines.
|
||||
|
||||
@retval EFI_SUCCESS Successfully translated a glyph into the required
|
||||
@retval EFI_SUCCESS Successfully translated a glyph into the required
|
||||
format for input to UGA BLT routines.
|
||||
@retval EFI_NOT_FOUND A glyph for a character was not found.
|
||||
@note Inconsistent with specification here:
|
||||
@@ -666,15 +666,15 @@ EFI_STATUS
|
||||
to avoid name confict with EFI_HII_NEW_STRING defined in the UEFI 2.1d specification.
|
||||
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param Pointer to a NULL-terminated string containing a single
|
||||
ISO 639-2 language identifier, indicating the language
|
||||
in which the string is translated.
|
||||
@param Handle The handle of the language pack to which the string
|
||||
@param Pointer to a NULL-terminated string containing a single
|
||||
ISO 639-2 language identifier, indicating the language
|
||||
in which the string is translated.
|
||||
@param Handle The handle of the language pack to which the string
|
||||
is to be added.
|
||||
@param Reference The identifier of the string to be added. If the
|
||||
reference value is zero, then the string will be
|
||||
@param Reference The identifier of the string to be added. If the
|
||||
reference value is zero, then the string will be
|
||||
assigned a new identifier on that handle for
|
||||
the language specified. Otherwise, the string will
|
||||
the language specified. Otherwise, the string will
|
||||
be updated with the NewString Value.
|
||||
@param NewString The string to be added.
|
||||
|
||||
@@ -699,7 +699,7 @@ EFI_STATUS
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param Handle The handle on which the strings reside.
|
||||
@param LanguageString A string allocated by GetPrimaryLanguages() that
|
||||
contains a list of all primary languages registered
|
||||
contains a list of all primary languages registered
|
||||
on the handle.
|
||||
|
||||
@retval EFI_SUCCESS LanguageString was correctly returned.
|
||||
@@ -720,11 +720,11 @@ EFI_STATUS
|
||||
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param Handle The handle on which the strings reside.
|
||||
@param PrimaryLanguage Pointer to a NULL-terminated string containing a
|
||||
single ISO 639-2 language identifier, indicating
|
||||
@param PrimaryLanguage Pointer to a NULL-terminated string containing a
|
||||
single ISO 639-2 language identifier, indicating
|
||||
the primary language.
|
||||
@param LanguageString A string allocated by GetSecondaryLanguages()
|
||||
containing a list of all secondary languages
|
||||
containing a list of all secondary languages
|
||||
registered on the handle.
|
||||
|
||||
@retval EFI_SUCCESS LanguageString was correctly returned.
|
||||
@@ -749,14 +749,14 @@ EFI_STATUS
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param Handle The handle on which the string resides.
|
||||
@param Token The string token assigned to the string.
|
||||
@param Raw If TRUE, the string is returned unedited in the
|
||||
internal storage format. If false, the string
|
||||
returned is edited by replacing <cr> with <space>
|
||||
@param Raw If TRUE, the string is returned unedited in the
|
||||
internal storage format. If false, the string
|
||||
returned is edited by replacing <cr> with <space>
|
||||
and by removing special characters such as the
|
||||
<wide> prefix.
|
||||
@param LanguageString Pointer to a NULL-terminated string containing a
|
||||
single ISO 639-2 language identifier, indicating
|
||||
the language to print. If the LanguageString is
|
||||
single ISO 639-2 language identifier, indicating
|
||||
the language to print. If the LanguageString is
|
||||
empty (starts with a NULL), the default system
|
||||
language will be used to determine the language.
|
||||
@param BufferLength Length of the StringBuffer.
|
||||
@@ -786,19 +786,19 @@ EFI_STATUS
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param Handle The handle on which the string resides.
|
||||
@param Token The string token assigned to the string.
|
||||
@param Index On input, the offset into the string where the
|
||||
line is to start. On output, the index is updated
|
||||
to point beyond the last character returned in
|
||||
@param Index On input, the offset into the string where the
|
||||
line is to start. On output, the index is updated
|
||||
to point beyond the last character returned in
|
||||
the call.
|
||||
@param LineWidth The maximum width of the line in units of narrow glyphs.
|
||||
@param LanguageString The pointer to a NULL-terminated string containing a
|
||||
single ISO 639-2 language identifier, indicating
|
||||
single ISO 639-2 language identifier, indicating
|
||||
the language to print.
|
||||
@param BufferLength The pointer to the length of the StringBuffer.
|
||||
@param StringBuffer The buffer designed to receive the characters in
|
||||
@param StringBuffer The buffer designed to receive the characters in
|
||||
the string.
|
||||
|
||||
@retval EFI_SUCCESS StringBuffer filled with characters that will fit
|
||||
@retval EFI_SUCCESS StringBuffer filled with characters that will fit
|
||||
on the line.
|
||||
@retval EFI_NOT_FOUND The font glyph for at least one of the characters in
|
||||
the string is not in the font database.
|
||||
@@ -855,9 +855,9 @@ EFI_STATUS
|
||||
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param Handle The HII handle from which will have default data retrieved.
|
||||
@param DefaultMask The mask used to specify some type of default
|
||||
@param DefaultMask The mask used to specify some type of default
|
||||
override when extracting the default image data.
|
||||
@param VariablePackList An indirect pointer to the first entry of a link
|
||||
@param VariablePackList An indirect pointer to the first entry of a link
|
||||
list with type EFI_HII_VARIABLE_PACK_LIST.
|
||||
|
||||
@retval EFI_SUCCESS The VariablePackList was populated with the appropriate
|
||||
@@ -912,8 +912,8 @@ EFI_STATUS
|
||||
@param This A pointer to the EFI_HII_PROTOCOL instance.
|
||||
@param DescriptorCount A pointer to the number of Descriptor entries being
|
||||
described in the keyboard layout being retrieved.
|
||||
@param Descriptor A pointer to a buffer containing an array of
|
||||
FRAMEWORK_EFI_KEY_DESCRIPTOR entries. Each entry
|
||||
@param Descriptor A pointer to a buffer containing an array of
|
||||
FRAMEWORK_EFI_KEY_DESCRIPTOR entries. Each entry
|
||||
will reflect the definition of a specific physical key.
|
||||
|
||||
@retval EFI_SUCCESS The keyboard layout was retrieved successfully.
|
||||
|
@@ -1,10 +1,10 @@
|
||||
/** @file
|
||||
When installed, the Framework MP Services Protocol produces a collection of
|
||||
services that are needed for MP management, such as initialization and management
|
||||
of application processors.
|
||||
|
||||
@par Note:
|
||||
This protocol has been deprecated and has been replaced by the MP Services
|
||||
When installed, the Framework MP Services Protocol produces a collection of
|
||||
services that are needed for MP management, such as initialization and management
|
||||
of application processors.
|
||||
|
||||
@par Note:
|
||||
This protocol has been deprecated and has been replaced by the MP Services
|
||||
Protocol from the UEFI Platform Initialization Specification 1.2, Volume 2:
|
||||
Driver Execution Environment Core Interface.
|
||||
|
||||
@@ -20,26 +20,26 @@
|
||||
The Protocol is available only during boot time.
|
||||
|
||||
MP Services Protocol is hardware-independent. Most of the logic of this protocol
|
||||
is architecturally neutral. It abstracts the multi-processor environment and
|
||||
status of processors, and provides interfaces to retrieve information, maintain,
|
||||
is architecturally neutral. It abstracts the multi-processor environment and
|
||||
status of processors, and provides interfaces to retrieve information, maintain,
|
||||
and dispatch.
|
||||
|
||||
MP Services Protocol may be consumed by ACPI module. The ACPI module may use this
|
||||
MP Services Protocol may be consumed by ACPI module. The ACPI module may use this
|
||||
protocol to retrieve data that are needed for an MP platform and report them to OS.
|
||||
MP Services Protocol may also be used to program and configure processors, such
|
||||
MP Services Protocol may also be used to program and configure processors, such
|
||||
as MTRR synchronization for memory space attributes setting in DXE Services.
|
||||
MP Services Protocol may be used by non-CPU DXE drivers to speed up platform boot
|
||||
by taking advantage of the processing capabilities of the APs, for example, using
|
||||
MP Services Protocol may be used by non-CPU DXE drivers to speed up platform boot
|
||||
by taking advantage of the processing capabilities of the APs, for example, using
|
||||
APs to help test system memory in parallel with other device initialization.
|
||||
Diagnostics applications may also use this protocol for multi-processor.
|
||||
|
||||
Copyright (c) 1999 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 1999 - 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 that 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,
|
||||
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.
|
||||
|
||||
**/
|
||||
@@ -68,27 +68,27 @@ typedef struct _FRAMEWORK_EFI_MP_SERVICES_PROTOCOL FRAMEWORK_EFI_MP_SERVICES_PRO
|
||||
#define DELIVERY_MODE_FIXED 0x0
|
||||
|
||||
///
|
||||
/// Lowest priority delivery mode that may be used as the DeliveryMode parameter in SendIpi().
|
||||
/// Lowest priority delivery mode that may be used as the DeliveryMode parameter in SendIpi().
|
||||
///
|
||||
#define DELIVERY_MODE_LOWEST_PRIORITY 0x1
|
||||
|
||||
///
|
||||
/// SMI delivery mode that may be used as the DeliveryMode parameter in SendIpi().
|
||||
/// SMI delivery mode that may be used as the DeliveryMode parameter in SendIpi().
|
||||
///
|
||||
#define DELIVERY_MODE_SMI 0x2
|
||||
|
||||
///
|
||||
/// Remote read delivery mode that may be used as the DeliveryMode parameter in SendIpi().
|
||||
/// Remote read delivery mode that may be used as the DeliveryMode parameter in SendIpi().
|
||||
///
|
||||
#define DELIVERY_MODE_REMOTE_READ 0x3
|
||||
|
||||
///
|
||||
/// NMI delivery mode that may be used as the DeliveryMode parameter in SendIpi().
|
||||
/// NMI delivery mode that may be used as the DeliveryMode parameter in SendIpi().
|
||||
///
|
||||
#define DELIVERY_MODE_NMI 0x4
|
||||
|
||||
///
|
||||
/// INIT delivery mode that may be used as the DeliveryMode parameter in SendIpi().
|
||||
/// INIT delivery mode that may be used as the DeliveryMode parameter in SendIpi().
|
||||
///
|
||||
#define DELIVERY_MODE_INIT 0x5
|
||||
|
||||
@@ -119,7 +119,7 @@ typedef struct _FRAMEWORK_EFI_MP_SERVICES_PROTOCOL FRAMEWORK_EFI_MP_SERVICES_PRO
|
||||
|
||||
typedef union {
|
||||
///
|
||||
/// Bitfield structure for the IPF Self Test State Parameter.
|
||||
/// Bitfield structure for the IPF Self Test State Parameter.
|
||||
///
|
||||
struct {
|
||||
UINT32 Status:2;
|
||||
@@ -143,8 +143,8 @@ typedef struct {
|
||||
/// BIST (built-in self-test) data of the processor.
|
||||
///
|
||||
/// @par IPF:
|
||||
/// Lower 32 bits of the self-test state parameter. For definition of self-test
|
||||
/// state parameter, please refer to Intel(R) Itanium(R) Architecture Software
|
||||
/// Lower 32 bits of the self-test state parameter. For definition of self-test
|
||||
/// state parameter, please refer to Intel(R) Itanium(R) Architecture Software
|
||||
/// Developer's Manual, Volume 2: System Architecture.
|
||||
///
|
||||
EFI_MP_HEALTH_FLAGS Flags;
|
||||
@@ -170,35 +170,35 @@ typedef struct {
|
||||
/// The lower 8 bits contains local APIC ID, and higher bits are reserved.
|
||||
///
|
||||
/// @par IPF:
|
||||
/// The lower 16 bits contains id/eid as physical address of local SAPIC
|
||||
/// The lower 16 bits contains id/eid as physical address of local SAPIC
|
||||
/// unit, and higher bits are reserved.
|
||||
///
|
||||
UINT32 ApicID;
|
||||
///
|
||||
/// This field indicates whether the processor is enabled. If the value is
|
||||
/// This field indicates whether the processor is enabled. If the value is
|
||||
/// TRUE, then the processor is enabled. Otherwise, it is disabled.
|
||||
///
|
||||
BOOLEAN Enabled;
|
||||
///
|
||||
/// This field indicates whether the processor is playing the role of BSP.
|
||||
/// If the value is EfiCpuAP, then the processor is AP. If the value is
|
||||
/// If the value is EfiCpuAP, then the processor is AP. If the value is
|
||||
/// EfiCpuBSP, then the processor is BSP.
|
||||
///
|
||||
EFI_CPU_DESIGNATION Designation;
|
||||
///
|
||||
/// @par IA32, X64:
|
||||
/// The Flags field of this EFI_MP_HEALTH data structure holds BIST (built-in
|
||||
/// self test) data of the processor. The TestStatus field is not used, and
|
||||
/// The Flags field of this EFI_MP_HEALTH data structure holds BIST (built-in
|
||||
/// self test) data of the processor. The TestStatus field is not used, and
|
||||
/// the value is always zero.
|
||||
///
|
||||
/// @par IPF:
|
||||
/// Bit format of this field is the same as the definition of self-test state
|
||||
/// parameter, in Intel(R) Itanium(R) Architecture Software Developer's Manual,
|
||||
/// Bit format of this field is the same as the definition of self-test state
|
||||
/// parameter, in Intel(R) Itanium(R) Architecture Software Developer's Manual,
|
||||
/// Volume 2: System Architecture.
|
||||
///
|
||||
EFI_MP_HEALTH Health;
|
||||
///
|
||||
/// Zero-based physical package number that identifies the cartridge of the
|
||||
/// Zero-based physical package number that identifies the cartridge of the
|
||||
/// processor.
|
||||
///
|
||||
UINTN PackageNumber;
|
||||
@@ -219,7 +219,7 @@ typedef struct {
|
||||
/// This field is not used, and the value is always zero.
|
||||
///
|
||||
/// @par IPF:
|
||||
/// This field is a mask number that is handed off by the PAL about which
|
||||
/// This field is a mask number that is handed off by the PAL about which
|
||||
/// processor tests are performed and which are masked.
|
||||
///
|
||||
UINT64 ProcessorTestMask;
|
||||
@@ -237,22 +237,22 @@ typedef struct {
|
||||
|
||||
@param[in] This The pointer to the FRAMEWORK_EFI_MP_SERVICES_PROTOCOL
|
||||
instance.
|
||||
@param[out] NumberOfCPUs The pointer to the total number of logical processors
|
||||
in the system, including the BSP and disabled
|
||||
@param[out] NumberOfCPUs The pointer to the total number of logical processors
|
||||
in the system, including the BSP and disabled
|
||||
APs. If NULL, this parameter is ignored.
|
||||
@param[out] MaximumNumberOfCPUs Pointer to the maximum number of processors
|
||||
supported by the system. If NULL, this
|
||||
@param[out] MaximumNumberOfCPUs Pointer to the maximum number of processors
|
||||
supported by the system. If NULL, this
|
||||
parameter is ignored.
|
||||
@param[out] NumberOfEnabledCPUs The pointer to the number of enabled logical
|
||||
processors that exist in system, including
|
||||
@param[out] NumberOfEnabledCPUs The pointer to the number of enabled logical
|
||||
processors that exist in system, including
|
||||
the BSP. If NULL, this parameter is ignored.
|
||||
@param[out] RendezvousIntNumber This parameter is only meaningful for IPF.
|
||||
- IA32, X64: The returned value is zero.
|
||||
- IA32, X64: The returned value is zero.
|
||||
If NULL, this parameter is ignored.
|
||||
- IPF: Pointer to the rendezvous interrupt
|
||||
- IPF: Pointer to the rendezvous interrupt
|
||||
number that is used for AP wake-up.
|
||||
@param[out] RendezvousProcLength The pointer to the length of rendezvous procedure.
|
||||
- IA32, X64: The returned value is 0x1000.
|
||||
@param[out] RendezvousProcLength The pointer to the length of rendezvous procedure.
|
||||
- IA32, X64: The returned value is 0x1000.
|
||||
If NULL, this parameter is ignored.
|
||||
- IPF: The returned value is zero.
|
||||
|
||||
@@ -273,42 +273,42 @@ EFI_STATUS
|
||||
/**
|
||||
This service gets detailed MP-related information of the requested processor.
|
||||
|
||||
This service gets detailed MP-related information of the requested processor
|
||||
This service gets detailed MP-related information of the requested processor
|
||||
at the instant this call is made. Note the following:
|
||||
- The processor information may change during the course of a boot session.
|
||||
- The data of information presented here is entirely MP related.
|
||||
- The processor information may change during the course of a boot session.
|
||||
- The data of information presented here is entirely MP related.
|
||||
Information regarding the number of caches and their sizes, frequency of operation,
|
||||
slot numbers is all considered platform-related information and will not be
|
||||
presented here.
|
||||
slot numbers is all considered platform-related information and will not be
|
||||
presented here.
|
||||
|
||||
@param[in] This The pointer to the FRAMEWORK_EFI_MP_SERVICES_PROTOCOL
|
||||
instance.
|
||||
@param[in] ProcessorNumber The handle number of the processor. The range
|
||||
is from 0 to the total number of logical
|
||||
processors minus 1. The total number of
|
||||
logical processors can be retrieved by
|
||||
is from 0 to the total number of logical
|
||||
processors minus 1. The total number of
|
||||
logical processors can be retrieved by
|
||||
GetGeneralMPInfo().
|
||||
@param[in,out] BufferLength On input, pointer to the size in bytes of
|
||||
ProcessorContextBuffer. On output, if the
|
||||
size of ProcessorContextBuffer is not large
|
||||
enough, the value pointed by this parameter
|
||||
is updated to size in bytes that is needed.
|
||||
If the size of ProcessorContextBuffer is
|
||||
sufficient, the value is not changed from
|
||||
@param[in,out] BufferLength On input, pointer to the size in bytes of
|
||||
ProcessorContextBuffer. On output, if the
|
||||
size of ProcessorContextBuffer is not large
|
||||
enough, the value pointed by this parameter
|
||||
is updated to size in bytes that is needed.
|
||||
If the size of ProcessorContextBuffer is
|
||||
sufficient, the value is not changed from
|
||||
input.
|
||||
@param[out] ProcessorContextBuffer The pointer to the buffer where the data of
|
||||
requested processor will be deposited.
|
||||
The buffer is allocated by caller.
|
||||
@param[out] ProcessorContextBuffer The pointer to the buffer where the data of
|
||||
requested processor will be deposited.
|
||||
The buffer is allocated by caller.
|
||||
|
||||
@retval EFI_SUCCESS Processor information was successfully returned.
|
||||
@retval EFI_BUFFER_TOO_SMALL The size of ProcessorContextBuffer is too small.
|
||||
The value pointed by BufferLength has been updated
|
||||
@retval EFI_BUFFER_TOO_SMALL The size of ProcessorContextBuffer is too small.
|
||||
The value pointed by BufferLength has been updated
|
||||
to size in bytes that is needed.
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64:BufferLength is NULL.
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64:ProcessorContextBuffer is NULL.
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64:Processor with the handle specified by
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64:Processor with the handle specified by
|
||||
ProcessorNumber does not exist.
|
||||
@retval EFI_NOT_FOUND IPF: Processor with the handle specified by
|
||||
@retval EFI_NOT_FOUND IPF: Processor with the handle specified by
|
||||
ProcessorNumber does not exist.
|
||||
|
||||
**/
|
||||
@@ -322,112 +322,112 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
This function is used to dispatch all enabled APs to the function specified
|
||||
by Procedure. APs can run either simultaneously or one by one. The caller can
|
||||
also configure the BSP to either wait for APs or just proceed with the next
|
||||
task. It is the responsibility of the caller of the StartupAllAPs() to make
|
||||
sure that the nature of the code that will be run on the BSP and the dispatched
|
||||
APs is well controlled. The MP Services Protocol does not guarantee that the
|
||||
function that either processor is executing is MP-safe. Hence, the tasks that
|
||||
This function is used to dispatch all enabled APs to the function specified
|
||||
by Procedure. APs can run either simultaneously or one by one. The caller can
|
||||
also configure the BSP to either wait for APs or just proceed with the next
|
||||
task. It is the responsibility of the caller of the StartupAllAPs() to make
|
||||
sure that the nature of the code that will be run on the BSP and the dispatched
|
||||
APs is well controlled. The MP Services Protocol does not guarantee that the
|
||||
function that either processor is executing is MP-safe. Hence, the tasks that
|
||||
can be run in parallel are limited to certain independent tasks and well-
|
||||
controlled exclusive code. EFI services and protocols may not be called by APs
|
||||
controlled exclusive code. EFI services and protocols may not be called by APs
|
||||
unless otherwise specified.
|
||||
|
||||
@param[in] This The pointer to the FRAMEWORK_EFI_MP_SERVICES_PROTOCOL
|
||||
instance.
|
||||
@param[in] Procedure A pointer to the function to be run on enabled
|
||||
APs of the system.
|
||||
@param[in] SingleThread Flag that requests APs to execute one at a
|
||||
@param[in] Procedure A pointer to the function to be run on enabled
|
||||
APs of the system.
|
||||
@param[in] SingleThread Flag that requests APs to execute one at a
|
||||
time or simultaneously.
|
||||
- IA32, X64:
|
||||
If TRUE, then all the enabled APs execute
|
||||
the function specified by Procedure one by
|
||||
one, in ascending order of processor handle
|
||||
number. If FALSE, then all the enabled APs
|
||||
execute the function specified by Procedure
|
||||
If TRUE, then all the enabled APs execute
|
||||
the function specified by Procedure one by
|
||||
one, in ascending order of processor handle
|
||||
number. If FALSE, then all the enabled APs
|
||||
execute the function specified by Procedure
|
||||
simultaneously.
|
||||
- IPF:
|
||||
If TRUE, then all the enabled APs execute
|
||||
If TRUE, then all the enabled APs execute
|
||||
the function specified by Procedure simultaneously.
|
||||
If FALSE, then all the enabled APs execute the
|
||||
function specified by Procedure one by one, in
|
||||
ascending order of processor handle number. The
|
||||
time interval of AP dispatching is determined
|
||||
If FALSE, then all the enabled APs execute the
|
||||
function specified by Procedure one by one, in
|
||||
ascending order of processor handle number. The
|
||||
time interval of AP dispatching is determined
|
||||
by WaitEvent and TimeoutInMicrosecs.
|
||||
@param[in] WaitEvent Event to signal when APs have finished.
|
||||
- IA32, X64:
|
||||
If not NULL, when all APs finish after timeout
|
||||
expires, the event will be signaled. If NULL,
|
||||
If not NULL, when all APs finish after timeout
|
||||
expires, the event will be signaled. If NULL,
|
||||
the parameter is ignored.
|
||||
- IPF:
|
||||
If SingleThread is TRUE, this parameter
|
||||
is ignored. If SingleThread is FALSE (i.e.
|
||||
dispatch APs one by one), this parameter
|
||||
determines whether the BSP waits after each
|
||||
AP is dispatched. If it is NULL, the BSP
|
||||
does not wait after each AP is dispatched.
|
||||
If it is not NULL, the BSP waits after each
|
||||
AP is dispatched, and the time interval is
|
||||
determined by TimeoutInMicrosecs. Type
|
||||
EFI_EVENT is defined in CreateEvent() in
|
||||
the Unified Extensible Firmware Interface
|
||||
If SingleThread is TRUE, this parameter
|
||||
is ignored. If SingleThread is FALSE (i.e.
|
||||
dispatch APs one by one), this parameter
|
||||
determines whether the BSP waits after each
|
||||
AP is dispatched. If it is NULL, the BSP
|
||||
does not wait after each AP is dispatched.
|
||||
If it is not NULL, the BSP waits after each
|
||||
AP is dispatched, and the time interval is
|
||||
determined by TimeoutInMicrosecs. Type
|
||||
EFI_EVENT is defined in CreateEvent() in
|
||||
the Unified Extensible Firmware Interface
|
||||
Specification.
|
||||
@param[in] TimeoutInMicrosecsond Time to wait for APs to finish.
|
||||
- IA32, X64:
|
||||
If the value is zero, it means no timeout
|
||||
limit. The BSP waits until all APs finish.
|
||||
If the value is not zero, the BSP waits
|
||||
until all APs finish or timeout expires.
|
||||
If the value is zero, it means no timeout
|
||||
limit. The BSP waits until all APs finish.
|
||||
If the value is not zero, the BSP waits
|
||||
until all APs finish or timeout expires.
|
||||
If timeout expires, EFI_TIMEOUT is returned,
|
||||
and the BSP will then check APs?status
|
||||
periodically, with time interval of 16
|
||||
and the BSP will then check APs?status
|
||||
periodically, with time interval of 16
|
||||
microseconds.
|
||||
- IPF:
|
||||
If SingleThread is TRUE and FailedCPUList
|
||||
is NULL, this parameter is ignored. If
|
||||
SingleThread is TRUE and FailedCPUList is
|
||||
not NULL, this parameter determines whether
|
||||
the BSP waits until all APs finish their
|
||||
procedure. If it is zero, the BSP does not
|
||||
wait for APs. If it is non-zero, it waits
|
||||
until all APs finish. If SingleThread is
|
||||
FALSE and WaitEvent is NULL, this parameter
|
||||
is ignored. If SingleThread is FALSE and
|
||||
WaitEvent is not NULL, the BSP waits after
|
||||
each AP is dispatched and this value
|
||||
determines time interval. If the value is
|
||||
zero, the length of time interval is 10ms.
|
||||
If the value is non-zero, the BSP waits
|
||||
until dispatched AP finishes and then
|
||||
If SingleThread is TRUE and FailedCPUList
|
||||
is NULL, this parameter is ignored. If
|
||||
SingleThread is TRUE and FailedCPUList is
|
||||
not NULL, this parameter determines whether
|
||||
the BSP waits until all APs finish their
|
||||
procedure. If it is zero, the BSP does not
|
||||
wait for APs. If it is non-zero, it waits
|
||||
until all APs finish. If SingleThread is
|
||||
FALSE and WaitEvent is NULL, this parameter
|
||||
is ignored. If SingleThread is FALSE and
|
||||
WaitEvent is not NULL, the BSP waits after
|
||||
each AP is dispatched and this value
|
||||
determines time interval. If the value is
|
||||
zero, the length of time interval is 10ms.
|
||||
If the value is non-zero, the BSP waits
|
||||
until dispatched AP finishes and then
|
||||
dispatch the next.
|
||||
@param[in] ProcedureArgument The pointer to the optional parameter of the
|
||||
@param[in] ProcedureArgument The pointer to the optional parameter of the
|
||||
function specified by Procedure.
|
||||
@param[out] FailedCPUList List of APs that did not finish.
|
||||
- IA32, X64:
|
||||
If not NULL, it records handle numbers of
|
||||
all logical processors that fail to accept
|
||||
If not NULL, it records handle numbers of
|
||||
all logical processors that fail to accept
|
||||
caller-provided function (busy or disabled).
|
||||
If NULL, this parameter is ignored.
|
||||
- IPF:
|
||||
If not NULL, it records status of all
|
||||
logical processors, with processor handle
|
||||
number as index. If a logical processor
|
||||
fails to accept caller-provided function
|
||||
because it is busy, the status is EFI_NOT_READY.
|
||||
If it fails to accept function due to other
|
||||
reasons, the status is EFI_NOT_AVAILABLE_YET.
|
||||
If not NULL, it records status of all
|
||||
logical processors, with processor handle
|
||||
number as index. If a logical processor
|
||||
fails to accept caller-provided function
|
||||
because it is busy, the status is EFI_NOT_READY.
|
||||
If it fails to accept function due to other
|
||||
reasons, the status is EFI_NOT_AVAILABLE_YET.
|
||||
If timeout expires, the status is EFI_TIMEOUT.
|
||||
Otherwise, the value is EFI_SUCCESS. If NULL,
|
||||
Otherwise, the value is EFI_SUCCESS. If NULL,
|
||||
this parameter is ignored.
|
||||
|
||||
@retval EFI_SUCCESS IA32, X64: All dispatched APs have finished
|
||||
@retval EFI_SUCCESS IA32, X64: All dispatched APs have finished
|
||||
before the timeout expires.
|
||||
@retval EFI_SUCCESS IA32, X64: Only 1 logical processor exists
|
||||
@retval EFI_SUCCESS IA32, X64: Only 1 logical processor exists
|
||||
in system.
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64: Procedure is NULL.
|
||||
@retval EFI_TIMEOUT IA32, X64: The timeout expires before all
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64: Procedure is NULL.
|
||||
@retval EFI_TIMEOUT IA32, X64: The timeout expires before all
|
||||
dispatched APs have finished.
|
||||
@retval EFI_SUCCESS IPF: This function always returns EFI_SUCCESS.
|
||||
@retval EFI_SUCCESS IPF: This function always returns EFI_SUCCESS.
|
||||
|
||||
**/
|
||||
typedef
|
||||
@@ -437,63 +437,63 @@ EFI_STATUS
|
||||
IN FRAMEWORK_EFI_AP_PROCEDURE Procedure,
|
||||
IN BOOLEAN SingleThread,
|
||||
IN EFI_EVENT WaitEvent OPTIONAL,
|
||||
IN UINTN TimeoutInMicroSecs,
|
||||
IN UINTN TimeoutInMicroSecs,
|
||||
IN VOID *ProcArguments OPTIONAL,
|
||||
OUT UINTN *FailedCPUList OPTIONAL
|
||||
);
|
||||
|
||||
/**
|
||||
This function is used to dispatch one enabled AP to the function provided by
|
||||
the caller. The caller can request the BSP to either wait for the AP or just
|
||||
This function is used to dispatch one enabled AP to the function provided by
|
||||
the caller. The caller can request the BSP to either wait for the AP or just
|
||||
proceed with the next task.
|
||||
|
||||
@param[in] This The pointer to the FRAMEWORK_EFI_MP_SERVICES_PROTOCOL
|
||||
instance.
|
||||
@param[in] Procedure A pointer to the function to be run on the
|
||||
designated AP.
|
||||
@param[in] ProcessorNumber The handle number of AP. The range is from
|
||||
0 to the total number of logical processors
|
||||
minus 1. The total number of logical
|
||||
@param[in] Procedure A pointer to the function to be run on the
|
||||
designated AP.
|
||||
@param[in] ProcessorNumber The handle number of AP. The range is from
|
||||
0 to the total number of logical processors
|
||||
minus 1. The total number of logical
|
||||
processors can be retrieved by GetGeneralMPInfo().
|
||||
@param[in] WaitEvent Event to signal when APs have finished.
|
||||
- IA32, X64:
|
||||
If not NULL, when the AP finishes after timeout
|
||||
expires, the event will be signaled. If NULL,
|
||||
If not NULL, when the AP finishes after timeout
|
||||
expires, the event will be signaled. If NULL,
|
||||
the parameter is ignored.
|
||||
- IPF:
|
||||
This parameter determines whether the BSP
|
||||
waits after the AP is dispatched. If it is
|
||||
NULL, the BSP does not wait after the AP
|
||||
is dispatched. If it is not NULL, the BSP
|
||||
waits after the AP is dispatched, and the
|
||||
This parameter determines whether the BSP
|
||||
waits after the AP is dispatched. If it is
|
||||
NULL, the BSP does not wait after the AP
|
||||
is dispatched. If it is not NULL, the BSP
|
||||
waits after the AP is dispatched, and the
|
||||
time interval is determined by TimeoutInMicrosecs.
|
||||
Type EFI_EVENT is defined in CreateEvent()
|
||||
in the Unified Extensible Firmware Interface
|
||||
Type EFI_EVENT is defined in CreateEvent()
|
||||
in the Unified Extensible Firmware Interface
|
||||
Specification.
|
||||
@param[in] TimeoutInMicrosecsond Time to wait for APs to finish.
|
||||
- IA32, X64:
|
||||
If the value is zero, it means no timeout
|
||||
limit. The BSP waits until the AP finishes.
|
||||
If the value is not zero, the BSP waits until
|
||||
the AP finishes or timeout expires. If timeout
|
||||
expires, EFI_TIMEOUT is returned, and the
|
||||
BSP will then check the AP's status periodically,
|
||||
If the value is zero, it means no timeout
|
||||
limit. The BSP waits until the AP finishes.
|
||||
If the value is not zero, the BSP waits until
|
||||
the AP finishes or timeout expires. If timeout
|
||||
expires, EFI_TIMEOUT is returned, and the
|
||||
BSP will then check the AP's status periodically,
|
||||
with time interval of 16 microseconds.
|
||||
- IPF:
|
||||
If WaitEvent is NULL, this parameter is ignored.
|
||||
If WaitEvent is not NULL, the BSP waits after
|
||||
the AP is dispatched and this value determines
|
||||
time interval. If the value is zero, the length
|
||||
of time interval is 10ms. If the value is
|
||||
If WaitEvent is not NULL, the BSP waits after
|
||||
the AP is dispatched and this value determines
|
||||
time interval. If the value is zero, the length
|
||||
of time interval is 10ms. If the value is
|
||||
non-zero, the BSP waits until the AP finishes.
|
||||
@param[in] ProcedureArgument The pointer to the optional parameter of the
|
||||
@param[in] ProcedureArgument The pointer to the optional parameter of the
|
||||
function specified by Procedure.
|
||||
|
||||
@retval EFI_SUCCESS Specified AP has finished before the timeout
|
||||
@retval EFI_SUCCESS Specified AP has finished before the timeout
|
||||
expires.
|
||||
@retval EFI_TIMEOUT The timeout expires before specified AP has
|
||||
@retval EFI_TIMEOUT The timeout expires before specified AP has
|
||||
finished.
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64: Processor with the handle specified
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64: Processor with the handle specified
|
||||
by ProcessorNumber does not exist.
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64: Specified AP is busy or disabled.
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64: Procedure is NULL.
|
||||
@@ -516,22 +516,22 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
This service switches the requested AP to be the BSP from that point onward.
|
||||
The new BSP can take over the execution of the old BSP and continue seamlessly
|
||||
from where the old one left off. This call can only be performed by the
|
||||
This service switches the requested AP to be the BSP from that point onward.
|
||||
The new BSP can take over the execution of the old BSP and continue seamlessly
|
||||
from where the old one left off. This call can only be performed by the
|
||||
current BSP.
|
||||
|
||||
@param[in] This The pointer to the FRAMEWORK_EFI_MP_SERVICES_PROTOCOL
|
||||
instance.
|
||||
@param[in] ProcessorNumber The handle number of AP. The range is from 0 to
|
||||
the total number of logical processors minus 1.
|
||||
The total number of logical processors can be
|
||||
@param[in] ProcessorNumber The handle number of AP. The range is from 0 to
|
||||
the total number of logical processors minus 1.
|
||||
The total number of logical processors can be
|
||||
retrieved by GetGeneralMPInfo().
|
||||
@param[in] EnableOldBSP If TRUE, then the old BSP will be listed as an
|
||||
@param[in] EnableOldBSP If TRUE, then the old BSP will be listed as an
|
||||
enabled AP. Otherwise, it will be disabled.
|
||||
|
||||
@retval EFI_SUCCESS BSP successfully switched.
|
||||
@retval EFI_INVALID_PARAMETER The processor with the handle specified by
|
||||
@retval EFI_INVALID_PARAMETER The processor with the handle specified by
|
||||
ProcessorNumber does not exist.
|
||||
@retval EFI_INVALID_PARAMETER ProcessorNumber specifies the BSP.
|
||||
@retval EFI_NOT_READY IA32, X64: Specified AP is busy or disabled.
|
||||
@@ -549,26 +549,26 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
This service sends an IPI to a specified AP. Caller can specify vector number
|
||||
This service sends an IPI to a specified AP. Caller can specify vector number
|
||||
and delivery mode of the interrupt.
|
||||
|
||||
@param[in] This The pointer to the FRAMEWORK_EFI_MP_SERVICES_PROTOCOL
|
||||
instance.
|
||||
@param[in] ProcessorNumber The handle number of AP. The range is from 0 to
|
||||
the total number of logical processors minus 1.
|
||||
The total number of logical processors can be
|
||||
@param[in] ProcessorNumber The handle number of AP. The range is from 0 to
|
||||
the total number of logical processors minus 1.
|
||||
The total number of logical processors can be
|
||||
retrieved by GetGeneralMPInfo().
|
||||
@param[in] VectorNumber The vector number of the interrupt.
|
||||
@param[in] DeliveryMode The delivery mode of the interrupt.
|
||||
|
||||
@retval EFI_SUCCESS IPI was successfully sent.
|
||||
@retval EFI_INVALID_PARAMETER ProcessorNumber specifies the BSP.
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64: Processor with the handle specified
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64: Processor with the handle specified
|
||||
by ProcessorNumber does not exist.
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64: VectorNumber is greater than 255.
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64: DeliveryMode is greater than or equal
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64: DeliveryMode is greater than or equal
|
||||
to DELIVERY_MODE_MAX.
|
||||
@retval EFI_NOT_READY IA32, X64: IPI is not accepted by the target
|
||||
@retval EFI_NOT_READY IA32, X64: IPI is not accepted by the target
|
||||
processor within 10 microseconds.
|
||||
@retval EFI_INVALID_PARAMETER IPF: Specified AP is disabled.
|
||||
@retval EFI_INVALID_PARAMETER IPF: Specified AP is unhealthy or untested.
|
||||
@@ -585,28 +585,28 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
This service lets the caller enable or disable an AP. The caller can optionally
|
||||
specify the health status of the AP by Health. It is usually used to update the
|
||||
This service lets the caller enable or disable an AP. The caller can optionally
|
||||
specify the health status of the AP by Health. It is usually used to update the
|
||||
health status of the processor after some processor test.
|
||||
|
||||
@param[in] This The pointer to the FRAMEWORK_EFI_MP_SERVICES_PROTOCOL
|
||||
instance.
|
||||
@param[in] ProcessorNumber The handle number of AP. The range is from 0 to
|
||||
the total number of logical processors minus 1.
|
||||
The total number of logical processors can be
|
||||
@param[in] ProcessorNumber The handle number of AP. The range is from 0 to
|
||||
the total number of logical processors minus 1.
|
||||
The total number of logical processors can be
|
||||
retrieved by GetGeneralMPInfo().
|
||||
@param[in] NewAPState Indicates whether the new, desired state of the
|
||||
AP is enabled or disabled. TRUE for enabling,
|
||||
@param[in] NewAPState Indicates whether the new, desired state of the
|
||||
AP is enabled or disabled. TRUE for enabling,
|
||||
FALSE otherwise.
|
||||
@param[in] HealthState If not NULL, it points to the value that specifies
|
||||
the new health status of the AP. If it is NULL,
|
||||
this parameter is ignored.
|
||||
@param[in] HealthState If not NULL, it points to the value that specifies
|
||||
the new health status of the AP. If it is NULL,
|
||||
this parameter is ignored.
|
||||
|
||||
@retval EFI_SUCCESS AP successfully enabled or disabled.
|
||||
@retval EFI_INVALID_PARAMETER ProcessorNumber specifies the BSP.
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64: Processor with the handle specified
|
||||
@retval EFI_INVALID_PARAMETER IA32, X64: Processor with the handle specified
|
||||
by ProcessorNumber does not exist.
|
||||
@retval EFI_INVALID_PARAMETER IPF: If an unhealthy or untested AP is to be
|
||||
@retval EFI_INVALID_PARAMETER IPF: If an unhealthy or untested AP is to be
|
||||
enabled.
|
||||
|
||||
**/
|
||||
@@ -620,17 +620,17 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
This service lets the caller processor get its handle number, with which any
|
||||
processor in the system can be uniquely identified. The range is from 0 to the
|
||||
total number of logical processors minus 1. The total number of logical
|
||||
processors can be retrieved by GetGeneralMPInfo(). This service may be called
|
||||
This service lets the caller processor get its handle number, with which any
|
||||
processor in the system can be uniquely identified. The range is from 0 to the
|
||||
total number of logical processors minus 1. The total number of logical
|
||||
processors can be retrieved by GetGeneralMPInfo(). This service may be called
|
||||
from the BSP and APs.
|
||||
|
||||
@param[in] This The pointer to the FRAMEWORK_EFI_MP_SERVICES_PROTOCOL
|
||||
instance.
|
||||
@param[out] ProcessorNumber A pointer to the handle number of AP. The range is
|
||||
from 0 to the total number of logical processors
|
||||
minus 1. The total number of logical processors
|
||||
@param[out] ProcessorNumber A pointer to the handle number of AP. The range is
|
||||
from 0 to the total number of logical processors
|
||||
minus 1. The total number of logical processors
|
||||
can be retrieved by GetGeneralMPInfo().
|
||||
|
||||
@retval EFI_SUCCESS This function always returns EFI_SUCCESS.
|
||||
|
@@ -2,13 +2,13 @@
|
||||
This protocol abstracts the 8259 interrupt controller. This includes
|
||||
PCI IRQ routing needed to program the PCI Interrupt Line register.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 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 that 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,
|
||||
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.
|
||||
|
||||
@par Revision Reference:
|
||||
|
@@ -7,15 +7,15 @@
|
||||
well known naming conventions.
|
||||
|
||||
Thunk is the code that switches from 32-bit protected environment into the 16-bit real-mode
|
||||
environment. Reverse thunk is the code that does the opposite.
|
||||
environment. Reverse thunk is the code that does the opposite.
|
||||
|
||||
Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 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 that 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,
|
||||
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.
|
||||
|
||||
@par Revision Reference:
|
||||
@@ -28,7 +28,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#define _EFI_LEGACY_BIOS_H_
|
||||
|
||||
///
|
||||
///
|
||||
///
|
||||
///
|
||||
#pragma pack(1)
|
||||
|
||||
@@ -51,75 +51,75 @@ typedef struct {
|
||||
/// 1 is "F," byte 2 is "E," and byte 3 is "$" and is normally accessed as a DWORD or UINT32.
|
||||
///
|
||||
UINT32 Signature;
|
||||
|
||||
|
||||
///
|
||||
/// The value required such that byte checksum of TableLength equals zero.
|
||||
///
|
||||
UINT8 TableChecksum;
|
||||
|
||||
|
||||
///
|
||||
/// The length of this table.
|
||||
///
|
||||
UINT8 TableLength;
|
||||
|
||||
|
||||
///
|
||||
/// The major EFI revision for which this table was generated.
|
||||
///
|
||||
///
|
||||
UINT8 EfiMajorRevision;
|
||||
|
||||
|
||||
///
|
||||
/// The minor EFI revision for which this table was generated.
|
||||
///
|
||||
UINT8 EfiMinorRevision;
|
||||
|
||||
|
||||
///
|
||||
/// The major revision of this table.
|
||||
///
|
||||
UINT8 TableMajorRevision;
|
||||
|
||||
|
||||
///
|
||||
/// The minor revision of this table.
|
||||
///
|
||||
UINT8 TableMinorRevision;
|
||||
|
||||
|
||||
///
|
||||
/// Reserved for future usage.
|
||||
///
|
||||
UINT16 Reserved;
|
||||
|
||||
|
||||
///
|
||||
/// The segment of the entry point within the traditional BIOS for Compatibility16 functions.
|
||||
///
|
||||
UINT16 Compatibility16CallSegment;
|
||||
|
||||
|
||||
///
|
||||
/// The offset of the entry point within the traditional BIOS for Compatibility16 functions.
|
||||
///
|
||||
UINT16 Compatibility16CallOffset;
|
||||
|
||||
|
||||
///
|
||||
/// The segment of the entry point within the traditional BIOS for EfiCompatibility
|
||||
/// The segment of the entry point within the traditional BIOS for EfiCompatibility
|
||||
/// to invoke the PnP installation check.
|
||||
///
|
||||
UINT16 PnPInstallationCheckSegment;
|
||||
|
||||
|
||||
///
|
||||
/// The Offset of the entry point within the traditional BIOS for EfiCompatibility
|
||||
/// The Offset of the entry point within the traditional BIOS for EfiCompatibility
|
||||
/// to invoke the PnP installation check.
|
||||
///
|
||||
UINT16 PnPInstallationCheckOffset;
|
||||
|
||||
|
||||
///
|
||||
/// EFI system resources table. Type EFI_SYSTEM_TABLE is defined in the IntelPlatform
|
||||
/// EFI system resources table. Type EFI_SYSTEM_TABLE is defined in the IntelPlatform
|
||||
///Innovation Framework for EFI Driver Execution Environment Core Interface Specification (DXE CIS).
|
||||
///
|
||||
UINT32 EfiSystemTable;
|
||||
|
||||
UINT32 EfiSystemTable;
|
||||
|
||||
///
|
||||
/// The address of an OEM-provided identifier string. The string is null terminated.
|
||||
///
|
||||
UINT32 OemIdStringPointer;
|
||||
|
||||
|
||||
///
|
||||
/// The 32-bit physical address where ACPI RSD PTR is stored within the traditional
|
||||
/// BIOS. The remained of the ACPI tables are located at their EFI addresses. The size
|
||||
@@ -127,93 +127,93 @@ typedef struct {
|
||||
/// RSD PTR with either the ACPI 1.0b or 2.0 values.
|
||||
///
|
||||
UINT32 AcpiRsdPtrPointer;
|
||||
|
||||
|
||||
///
|
||||
/// The OEM revision number. Usage is undefined but provided for OEM module usage.
|
||||
///
|
||||
UINT16 OemRevision;
|
||||
|
||||
|
||||
///
|
||||
/// The 32-bit physical address where INT15 E820 data is stored within the traditional
|
||||
/// BIOS. The EfiCompatibility code will fill in the E820Pointer value and copy the
|
||||
/// data to the indicated area.
|
||||
///
|
||||
UINT32 E820Pointer;
|
||||
|
||||
|
||||
///
|
||||
/// The length of the E820 data and is filled in by the EfiCompatibility code.
|
||||
///
|
||||
UINT32 E820Length;
|
||||
|
||||
|
||||
///
|
||||
/// The 32-bit physical address where the $PIR table is stored in the traditional BIOS.
|
||||
/// The EfiCompatibility code will fill in the IrqRoutingTablePointer value and
|
||||
/// copy the data to the indicated area.
|
||||
///
|
||||
UINT32 IrqRoutingTablePointer;
|
||||
|
||||
|
||||
///
|
||||
/// The length of the $PIR table and is filled in by the EfiCompatibility code.
|
||||
///
|
||||
UINT32 IrqRoutingTableLength;
|
||||
|
||||
|
||||
///
|
||||
/// The 32-bit physical address where the MP table is stored in the traditional BIOS.
|
||||
/// The EfiCompatibility code will fill in the MpTablePtr value and copy the data
|
||||
/// The EfiCompatibility code will fill in the MpTablePtr value and copy the data
|
||||
/// to the indicated area.
|
||||
///
|
||||
UINT32 MpTablePtr;
|
||||
|
||||
|
||||
///
|
||||
/// The length of the MP table and is filled in by the EfiCompatibility code.
|
||||
///
|
||||
UINT32 MpTableLength;
|
||||
|
||||
|
||||
///
|
||||
/// The segment of the OEM-specific INT table/code.
|
||||
///
|
||||
///
|
||||
UINT16 OemIntSegment;
|
||||
|
||||
|
||||
///
|
||||
/// The offset of the OEM-specific INT table/code.
|
||||
///
|
||||
UINT16 OemIntOffset;
|
||||
|
||||
|
||||
///
|
||||
/// The segment of the OEM-specific 32-bit table/code.
|
||||
///
|
||||
UINT16 Oem32Segment;
|
||||
|
||||
|
||||
///
|
||||
/// The offset of the OEM-specific 32-bit table/code.
|
||||
///
|
||||
UINT16 Oem32Offset;
|
||||
|
||||
|
||||
///
|
||||
/// The segment of the OEM-specific 16-bit table/code.
|
||||
///
|
||||
UINT16 Oem16Segment;
|
||||
|
||||
|
||||
///
|
||||
/// The offset of the OEM-specific 16-bit table/code.
|
||||
///
|
||||
UINT16 Oem16Offset;
|
||||
|
||||
|
||||
///
|
||||
/// The segment of the TPM binary passed to 16-bit CSM.
|
||||
///
|
||||
UINT16 TpmSegment;
|
||||
|
||||
|
||||
///
|
||||
/// The offset of the TPM binary passed to 16-bit CSM.
|
||||
///
|
||||
UINT16 TpmOffset;
|
||||
|
||||
|
||||
///
|
||||
/// A pointer to a string identifying the independent BIOS vendor.
|
||||
///
|
||||
UINT32 IbvPointer;
|
||||
|
||||
|
||||
///
|
||||
/// This field is NULL for all systems not supporting PCI Express. This field is the base
|
||||
/// value of the start of the PCI Express memory-mapped configuration registers and
|
||||
@@ -223,7 +223,7 @@ typedef struct {
|
||||
/// Functions.
|
||||
///
|
||||
UINT32 PciExpressBase;
|
||||
|
||||
|
||||
///
|
||||
/// Maximum PCI bus number assigned.
|
||||
///
|
||||
@@ -256,12 +256,12 @@ typedef struct {
|
||||
} EFI_COMPATIBILITY16_TABLE;
|
||||
|
||||
///
|
||||
/// Functions provided by the CSM binary which communicate between the EfiCompatibility
|
||||
/// Functions provided by the CSM binary which communicate between the EfiCompatibility
|
||||
/// and Compatability16 code.
|
||||
///
|
||||
/// Inconsistent with the specification here:
|
||||
/// The member's name started with "Compatibility16" [defined in Intel Framework
|
||||
/// Compatibility Support Module Specification / 0.97 version]
|
||||
/// Inconsistent with the specification here:
|
||||
/// The member's name started with "Compatibility16" [defined in Intel Framework
|
||||
/// Compatibility Support Module Specification / 0.97 version]
|
||||
/// has been changed to "Legacy16" since keeping backward compatible.
|
||||
///
|
||||
typedef enum {
|
||||
@@ -274,7 +274,7 @@ typedef enum {
|
||||
/// AX = Return Status codes
|
||||
///
|
||||
Legacy16InitializeYourself = 0x0000,
|
||||
|
||||
|
||||
///
|
||||
/// Causes the Compatibility16 BIOS to perform any drive number translations to match the boot sequence.
|
||||
/// Input:
|
||||
@@ -284,18 +284,18 @@ typedef enum {
|
||||
/// AX = Returned status codes
|
||||
///
|
||||
Legacy16UpdateBbs = 0x0001,
|
||||
|
||||
|
||||
///
|
||||
/// Allows the Compatibility16 code to perform any final actions before booting. The Compatibility16
|
||||
/// code is read/write.
|
||||
/// Input:
|
||||
/// AX = Compatibility16PrepareToBoot
|
||||
/// ES:BX = Pointer to EFI_TO_COMPATIBILITY16_BOOT_TABLE structure
|
||||
/// ES:BX = Pointer to EFI_TO_COMPATIBILITY16_BOOT_TABLE structure
|
||||
/// Return:
|
||||
/// AX = Returned status codes
|
||||
///
|
||||
Legacy16PrepareToBoot = 0x0002,
|
||||
|
||||
|
||||
///
|
||||
/// Causes the Compatibility16 BIOS to boot. The Compatibility16 code is Read/Only.
|
||||
/// Input:
|
||||
@@ -304,7 +304,7 @@ typedef enum {
|
||||
/// AX = Returned status codes
|
||||
///
|
||||
Legacy16Boot = 0x0003,
|
||||
|
||||
|
||||
///
|
||||
/// Allows the Compatibility16 code to get the last device from which a boot was attempted. This is
|
||||
/// stored in CMOS and is the priority number of the last attempted boot device.
|
||||
@@ -315,7 +315,7 @@ typedef enum {
|
||||
/// BX = Priority number of the boot device.
|
||||
///
|
||||
Legacy16RetrieveLastBootDevice = 0x0004,
|
||||
|
||||
|
||||
///
|
||||
/// Allows the Compatibility16 code rehook INT13, INT18, and/or INT19 after dispatching a legacy OpROM.
|
||||
/// Input:
|
||||
@@ -326,7 +326,7 @@ typedef enum {
|
||||
/// BX = Number of non-BBS-compliant devices found. Equals 0 if BBS compliant.
|
||||
///
|
||||
Legacy16DispatchOprom = 0x0005,
|
||||
|
||||
|
||||
///
|
||||
/// Finds a free area in the 0xFxxxx or 0xExxxx region of the specified length and returns the address
|
||||
/// of that region.
|
||||
@@ -343,7 +343,7 @@ typedef enum {
|
||||
/// DS:BX = Address of the region
|
||||
///
|
||||
Legacy16GetTableAddress = 0x0006,
|
||||
|
||||
|
||||
///
|
||||
/// Enables the EfiCompatibility module to do any nonstandard processing of keyboard LEDs or state.
|
||||
/// Input:
|
||||
@@ -356,7 +356,7 @@ typedef enum {
|
||||
/// AX = Returned status codes
|
||||
///
|
||||
Legacy16SetKeyboardLeds = 0x0007,
|
||||
|
||||
|
||||
///
|
||||
/// Enables the EfiCompatibility module to install an interrupt handler for PCI mass media devices that
|
||||
/// do not have an OpROM associated with them. An example is SATA.
|
||||
@@ -385,8 +385,8 @@ typedef struct {
|
||||
UINT32 BbsTablePointer; ///< A pointer to the BBS table.
|
||||
UINT16 RuntimeSegment; ///< The segment where the OpROM can be relocated to. If this value is 0x0000, this
|
||||
///< means that the relocation of this run time code is not supported.
|
||||
///< Inconsistent with specification here:
|
||||
///< The member's name "OpromDestinationSegment" [defined in Intel Framework Compatibility Support Module Specification / 0.97 version]
|
||||
///< Inconsistent with specification here:
|
||||
///< The member's name "OpromDestinationSegment" [defined in Intel Framework Compatibility Support Module Specification / 0.97 version]
|
||||
///< has been changed to "RuntimeSegment" since keeping backward compatible.
|
||||
|
||||
} EFI_DISPATCH_OPROM_TABLE;
|
||||
@@ -399,52 +399,52 @@ typedef struct {
|
||||
/// Starting address of memory under 1 MB. The ending address is assumed to be 640 KB or 0x9FFFF.
|
||||
///
|
||||
UINT32 BiosLessThan1MB;
|
||||
|
||||
|
||||
///
|
||||
/// The starting address of the high memory block.
|
||||
///
|
||||
UINT32 HiPmmMemory;
|
||||
|
||||
|
||||
///
|
||||
/// The length of high memory block.
|
||||
///
|
||||
UINT32 HiPmmMemorySizeInBytes;
|
||||
|
||||
|
||||
///
|
||||
/// The segment of the reverse thunk call code.
|
||||
///
|
||||
UINT16 ReverseThunkCallSegment;
|
||||
|
||||
|
||||
///
|
||||
/// The offset of the reverse thunk call code.
|
||||
///
|
||||
UINT16 ReverseThunkCallOffset;
|
||||
|
||||
|
||||
///
|
||||
/// The number of E820 entries copied to the Compatibility16 BIOS.
|
||||
///
|
||||
UINT32 NumberE820Entries;
|
||||
|
||||
|
||||
///
|
||||
/// The amount of usable memory above 1 MB, e.g., E820 type 1 memory.
|
||||
///
|
||||
UINT32 OsMemoryAbove1Mb;
|
||||
|
||||
|
||||
///
|
||||
/// The start of thunk code in main memory. Memory cannot be used by BIOS or PMM.
|
||||
///
|
||||
UINT32 ThunkStart;
|
||||
|
||||
|
||||
///
|
||||
/// The size of the thunk code.
|
||||
///
|
||||
UINT32 ThunkSizeInBytes;
|
||||
|
||||
|
||||
///
|
||||
/// Starting address of memory under 1 MB.
|
||||
///
|
||||
UINT32 LowPmmMemory;
|
||||
|
||||
|
||||
///
|
||||
/// The length of low Memory block.
|
||||
///
|
||||
@@ -535,40 +535,40 @@ typedef struct {
|
||||
/// per IDE controller. The IdentifyDrive is per drive. Index 0 is master and index
|
||||
/// 1 is slave.
|
||||
///
|
||||
UINT16 Status;
|
||||
|
||||
UINT16 Status;
|
||||
|
||||
///
|
||||
/// PCI bus of IDE controller.
|
||||
///
|
||||
UINT32 Bus;
|
||||
|
||||
|
||||
///
|
||||
/// PCI device of IDE controller.
|
||||
///
|
||||
UINT32 Device;
|
||||
|
||||
|
||||
///
|
||||
/// PCI function of IDE controller.
|
||||
///
|
||||
UINT32 Function;
|
||||
|
||||
|
||||
///
|
||||
/// Command ports base address.
|
||||
///
|
||||
UINT16 CommandBaseAddress;
|
||||
|
||||
|
||||
///
|
||||
/// Control ports base address.
|
||||
///
|
||||
UINT16 ControlBaseAddress;
|
||||
|
||||
|
||||
///
|
||||
/// Bus master address.
|
||||
///
|
||||
UINT16 BusMasterAddress;
|
||||
|
||||
|
||||
UINT8 HddIrq;
|
||||
|
||||
|
||||
///
|
||||
/// Data that identifies the drive data; one per possible attached drive.
|
||||
///
|
||||
@@ -596,7 +596,7 @@ typedef struct {
|
||||
UINT16 Enabled : 1; ///< If 0, ignore this entry.
|
||||
UINT16 Failed : 1; ///< 0 = Not known if boot failure occurred.
|
||||
///< 1 = Boot attempted failed.
|
||||
|
||||
|
||||
///
|
||||
/// State of media present.
|
||||
/// 00 = No bootable media is present in the device.
|
||||
@@ -616,64 +616,64 @@ typedef struct {
|
||||
/// The boot priority for this boot device. Values are defined below.
|
||||
///
|
||||
UINT16 BootPriority;
|
||||
|
||||
|
||||
///
|
||||
/// The PCI bus for this boot device.
|
||||
///
|
||||
UINT32 Bus;
|
||||
|
||||
|
||||
///
|
||||
/// The PCI device for this boot device.
|
||||
///
|
||||
UINT32 Device;
|
||||
|
||||
|
||||
///
|
||||
/// The PCI function for the boot device.
|
||||
///
|
||||
UINT32 Function;
|
||||
|
||||
|
||||
///
|
||||
/// The PCI class for this boot device.
|
||||
///
|
||||
UINT8 Class;
|
||||
|
||||
|
||||
///
|
||||
/// The PCI Subclass for this boot device.
|
||||
///
|
||||
UINT8 SubClass;
|
||||
|
||||
|
||||
///
|
||||
/// Segment:offset address of an ASCIIZ description string describing the manufacturer.
|
||||
///
|
||||
UINT16 MfgStringOffset;
|
||||
|
||||
|
||||
///
|
||||
/// Segment:offset address of an ASCIIZ description string describing the manufacturer.
|
||||
///
|
||||
///
|
||||
UINT16 MfgStringSegment;
|
||||
|
||||
|
||||
///
|
||||
/// BBS device type. BBS device types are defined below.
|
||||
///
|
||||
UINT16 DeviceType;
|
||||
|
||||
|
||||
///
|
||||
/// Status of this boot device. Type BBS_STATUS_FLAGS is defined below.
|
||||
///
|
||||
BBS_STATUS_FLAGS StatusFlags;
|
||||
|
||||
|
||||
///
|
||||
/// Segment:Offset address of boot loader for IPL devices or install INT13 handler for
|
||||
/// BCV devices.
|
||||
///
|
||||
UINT16 BootHandlerOffset;
|
||||
|
||||
|
||||
///
|
||||
/// Segment:Offset address of boot loader for IPL devices or install INT13 handler for
|
||||
/// BCV devices.
|
||||
///
|
||||
///
|
||||
UINT16 BootHandlerSegment;
|
||||
|
||||
|
||||
///
|
||||
/// Segment:offset address of an ASCIIZ description string describing this device.
|
||||
///
|
||||
@@ -683,38 +683,38 @@ typedef struct {
|
||||
/// Segment:offset address of an ASCIIZ description string describing this device.
|
||||
///
|
||||
UINT16 DescStringSegment;
|
||||
|
||||
|
||||
///
|
||||
/// Reserved.
|
||||
///
|
||||
UINT32 InitPerReserved;
|
||||
|
||||
|
||||
///
|
||||
/// The use of these fields is IBV dependent. They can be used to flag that an OpROM
|
||||
/// has hooked the specified IRQ. The OpROM may be BBS compliant as some SCSI
|
||||
/// BBS-compliant OpROMs also hook IRQ vectors in order to run their BIOS Setup
|
||||
///
|
||||
UINT32 AdditionalIrq13Handler;
|
||||
|
||||
|
||||
///
|
||||
/// The use of these fields is IBV dependent. They can be used to flag that an OpROM
|
||||
/// has hooked the specified IRQ. The OpROM may be BBS compliant as some SCSI
|
||||
/// BBS-compliant OpROMs also hook IRQ vectors in order to run their BIOS Setup
|
||||
///
|
||||
///
|
||||
UINT32 AdditionalIrq18Handler;
|
||||
|
||||
|
||||
///
|
||||
/// The use of these fields is IBV dependent. They can be used to flag that an OpROM
|
||||
/// has hooked the specified IRQ. The OpROM may be BBS compliant as some SCSI
|
||||
/// BBS-compliant OpROMs also hook IRQ vectors in order to run their BIOS Setup
|
||||
///
|
||||
///
|
||||
UINT32 AdditionalIrq19Handler;
|
||||
|
||||
|
||||
///
|
||||
/// The use of these fields is IBV dependent. They can be used to flag that an OpROM
|
||||
/// has hooked the specified IRQ. The OpROM may be BBS compliant as some SCSI
|
||||
/// BBS-compliant OpROMs also hook IRQ vectors in order to run their BIOS Setup
|
||||
///
|
||||
///
|
||||
UINT32 AdditionalIrq40Handler;
|
||||
UINT8 AssignedDriveNumber;
|
||||
UINT32 AdditionalIrq41Handler;
|
||||
@@ -754,17 +754,17 @@ typedef struct {
|
||||
/// values are reserved for future usage.
|
||||
///
|
||||
UINT16 Type : 3;
|
||||
|
||||
|
||||
///
|
||||
/// The size of "port" in bits. Defined values are below.
|
||||
///
|
||||
UINT16 PortGranularity : 3;
|
||||
|
||||
|
||||
///
|
||||
/// The size of data in bits. Defined values are below.
|
||||
///
|
||||
UINT16 DataGranularity : 3;
|
||||
|
||||
|
||||
///
|
||||
/// Reserved for future use.
|
||||
///
|
||||
@@ -829,17 +829,17 @@ typedef struct {
|
||||
/// SMM_ATTRIBUTES is defined below.
|
||||
///
|
||||
SMM_ATTRIBUTES SmmAttributes;
|
||||
|
||||
|
||||
///
|
||||
/// Function Soft SMI is to perform. Type SMM_FUNCTION is defined below.
|
||||
///
|
||||
SMM_FUNCTION SmmFunction;
|
||||
|
||||
|
||||
///
|
||||
/// SmmPort size depends upon SmmAttributes and ranges from2 bytes to 16 bytes.
|
||||
///
|
||||
UINT8 SmmPort;
|
||||
|
||||
|
||||
///
|
||||
/// SmmData size depends upon SmmAttributes and ranges from2 bytes to 16 bytes.
|
||||
///
|
||||
@@ -862,18 +862,18 @@ typedef struct {
|
||||
/// This bit set indicates that the ServiceAreaData is valid.
|
||||
///
|
||||
UINT8 DirectoryServiceValidity : 1;
|
||||
|
||||
|
||||
///
|
||||
/// This bit set indicates to use the Reserve Area Boot Code Address (RACBA) only if
|
||||
/// DirectoryServiceValidity is 0.
|
||||
///
|
||||
UINT8 RabcaUsedFlag : 1;
|
||||
|
||||
|
||||
///
|
||||
/// This bit set indicates to execute hard disk diagnostics.
|
||||
///
|
||||
UINT8 ExecuteHddDiagnosticsFlag : 1;
|
||||
|
||||
|
||||
///
|
||||
/// Reserved for future use. Set to 0.
|
||||
///
|
||||
@@ -889,35 +889,35 @@ typedef struct {
|
||||
/// UDC_ATTRIBUTES is defined below.
|
||||
///
|
||||
UDC_ATTRIBUTES Attributes;
|
||||
|
||||
|
||||
///
|
||||
/// This field contains the zero-based device on which the selected
|
||||
/// ServiceDataArea is present. It is 0 for master and 1 for the slave device.
|
||||
/// ServiceDataArea is present. It is 0 for master and 1 for the slave device.
|
||||
///
|
||||
UINT8 DeviceNumber;
|
||||
|
||||
|
||||
///
|
||||
/// This field contains the zero-based index into the BbsTable for the parent device.
|
||||
/// This index allows the user to reference the parent device information such as PCI
|
||||
/// bus, device function.
|
||||
///
|
||||
UINT8 BbsTableEntryNumberForParentDevice;
|
||||
|
||||
|
||||
///
|
||||
/// This field contains the zero-based index into the BbsTable for the boot entry.
|
||||
///
|
||||
UINT8 BbsTableEntryNumberForBoot;
|
||||
|
||||
|
||||
///
|
||||
/// This field contains the zero-based index into the BbsTable for the HDD diagnostics entry.
|
||||
///
|
||||
UINT8 BbsTableEntryNumberForHddDiag;
|
||||
|
||||
|
||||
///
|
||||
/// The raw Beer data.
|
||||
///
|
||||
UINT8 BeerData[128];
|
||||
|
||||
|
||||
///
|
||||
/// The raw data of selected service area.
|
||||
///
|
||||
@@ -1008,8 +1008,8 @@ typedef struct _EFI_LEGACY_BIOS_PROTOCOL EFI_LEGACY_BIOS_PROTOCOL;
|
||||
#define ROM_WITH_CONFIG 0x04 ///< Not defined in the Framework CSM Specification.
|
||||
|
||||
///
|
||||
/// The following macros do not appear in the Framework CSM Specification and
|
||||
/// are kept for backward compatibility only. They convert 32-bit address (_Adr)
|
||||
/// The following macros do not appear in the Framework CSM Specification and
|
||||
/// are kept for backward compatibility only. They convert 32-bit address (_Adr)
|
||||
/// to Segment:Offset 16-bit form.
|
||||
///
|
||||
///@{
|
||||
@@ -1147,7 +1147,7 @@ typedef union {
|
||||
@param[in,out] Reg Register contexted passed into (and returned) from thunk to
|
||||
16-bit mode.
|
||||
|
||||
@retval TRUE Thunk completed with no BIOS errors in the target code. See Regs for status.
|
||||
@retval TRUE Thunk completed with no BIOS errors in the target code. See Regs for status.
|
||||
@retval FALSE There was a BIOS error in the target code.
|
||||
**/
|
||||
typedef
|
||||
@@ -1292,8 +1292,8 @@ EFI_STATUS
|
||||
);
|
||||
|
||||
/**
|
||||
This function takes the Leds input parameter and sets/resets the BDA accordingly.
|
||||
Leds is also passed to Compatibility16 code, in case any special processing is required.
|
||||
This function takes the Leds input parameter and sets/resets the BDA accordingly.
|
||||
Leds is also passed to Compatibility16 code, in case any special processing is required.
|
||||
This function is normally called from EFI Setup drivers that handle user-selectable
|
||||
keyboard options such as boot with NUM LOCK on/off. This function does not
|
||||
touch the keyboard or keyboard LEDs but only the BDA.
|
||||
@@ -1386,9 +1386,9 @@ EFI_STATUS
|
||||
Warning: Use this with caution. This routine disconnects all EFI
|
||||
drivers. If used externally, then the caller must re-connect EFI
|
||||
drivers.
|
||||
|
||||
|
||||
@param[in] This The protocol instance pointer.
|
||||
|
||||
|
||||
@retval EFI_SUCCESS OPROMs were shadowed.
|
||||
|
||||
**/
|
||||
@@ -1460,58 +1460,58 @@ struct _EFI_LEGACY_BIOS_PROTOCOL {
|
||||
/// Performs traditional software INT. See the Int86() function description.
|
||||
///
|
||||
EFI_LEGACY_BIOS_INT86 Int86;
|
||||
|
||||
|
||||
///
|
||||
/// Performs a far call into Compatibility16 or traditional OpROM code.
|
||||
///
|
||||
EFI_LEGACY_BIOS_FARCALL86 FarCall86;
|
||||
|
||||
|
||||
///
|
||||
/// Checks if a traditional OpROM exists for this device.
|
||||
///
|
||||
EFI_LEGACY_BIOS_CHECK_ROM CheckPciRom;
|
||||
|
||||
|
||||
///
|
||||
/// Loads a traditional OpROM in traditional OpROM address space.
|
||||
///
|
||||
EFI_LEGACY_BIOS_INSTALL_ROM InstallPciRom;
|
||||
|
||||
|
||||
///
|
||||
/// Boots a traditional OS.
|
||||
///
|
||||
EFI_LEGACY_BIOS_BOOT LegacyBoot;
|
||||
|
||||
|
||||
///
|
||||
/// Updates BDA to reflect the current EFI keyboard LED status.
|
||||
///
|
||||
EFI_LEGACY_BIOS_UPDATE_KEYBOARD_LED_STATUS UpdateKeyboardLedStatus;
|
||||
|
||||
|
||||
///
|
||||
/// Allows an external agent, such as BIOS Setup, to get the BBS data.
|
||||
///
|
||||
EFI_LEGACY_BIOS_GET_BBS_INFO GetBbsInfo;
|
||||
|
||||
|
||||
///
|
||||
/// Causes all legacy OpROMs to be shadowed.
|
||||
///
|
||||
EFI_LEGACY_BIOS_SHADOW_ALL_LEGACY_OPROMS ShadowAllLegacyOproms;
|
||||
|
||||
|
||||
///
|
||||
/// Performs all actions prior to boot. Used when booting an EFI-aware OS
|
||||
/// rather than a legacy OS.
|
||||
/// rather than a legacy OS.
|
||||
///
|
||||
EFI_LEGACY_BIOS_PREPARE_TO_BOOT_EFI PrepareToBootEfi;
|
||||
|
||||
|
||||
///
|
||||
/// Allows EFI to reserve an area in the 0xE0000 or 0xF0000 block.
|
||||
///
|
||||
EFI_LEGACY_BIOS_GET_LEGACY_REGION GetLegacyRegion;
|
||||
|
||||
|
||||
///
|
||||
/// Allows EFI to copy data to the area specified by GetLegacyRegion.
|
||||
///
|
||||
EFI_LEGACY_BIOS_COPY_LEGACY_REGION CopyLegacyRegion;
|
||||
|
||||
|
||||
///
|
||||
/// Allows the user to boot off an unconventional device such as a PARTIES partition.
|
||||
///
|
||||
|
@@ -4,13 +4,13 @@
|
||||
the Legacy BIOS protocol is generic and consumes this protocol.
|
||||
A driver that matches the Legacy16 produces this protocol
|
||||
|
||||
Copyright (c) 2007 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 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 that 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,
|
||||
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.
|
||||
|
||||
@par Revision Reference:
|
||||
@@ -59,7 +59,7 @@ typedef enum {
|
||||
/// Bit 1 = 1 0xE0000 64 KB block.
|
||||
/// Multiple bits can be set.
|
||||
///
|
||||
/// Alignment Bit-mapped address alignment granularity.
|
||||
/// Alignment Bit-mapped address alignment granularity.
|
||||
/// The first nonzero bit from the right is the address granularity.
|
||||
///
|
||||
// LegacySegment Segment in which EfiCompatibility code will place the MP table.
|
||||
@@ -97,7 +97,7 @@ typedef enum {
|
||||
/// Bit 1 = 1 0xE0000 64 KB block.
|
||||
/// Multiple bits can be set.
|
||||
///
|
||||
/// Alignment Bit mapped address alignment granularity.
|
||||
/// Alignment Bit mapped address alignment granularity.
|
||||
/// The first nonzero bit from the right is the address granularity.
|
||||
///
|
||||
/// LegacySegment Segment in which EfiCompatibility code will place the table or data.
|
||||
@@ -116,7 +116,7 @@ typedef enum {
|
||||
/// IBVs normally use this mode for nonstandard Compatibility16 runtime 16 bit routines. It
|
||||
/// is the responsibility of this routine to coalesce multiple OEM 16 bit functions, if they
|
||||
/// exist, into one coherent package that is understandable by the Compatibility16 code.
|
||||
///
|
||||
///
|
||||
/// Example usage: A legacy mobile BIOS that has a pre-existing runtime
|
||||
/// interface to return the battery status to calling applications.
|
||||
///
|
||||
@@ -139,7 +139,7 @@ typedef enum {
|
||||
/// Bit 1 = 1 0xE0000 64 KB block.
|
||||
/// Multiple bits can be set.
|
||||
///
|
||||
/// Alignment Bit mapped address alignment granularity.
|
||||
/// Alignment Bit mapped address alignment granularity.
|
||||
/// The first nonzero bit from the right is the address granularity.
|
||||
///
|
||||
/// LegacySegment Segment in which EfiCompatibility code will place the table or data.
|
||||
@@ -158,13 +158,13 @@ typedef enum {
|
||||
/// IBVs normally use this mode for nonstandard Compatibility16 runtime 32 bit routines. It
|
||||
/// is the responsibility of this routine to coalesce multiple OEM 32 bit functions, if they
|
||||
/// exist, into one coherent package that is understandable by the Compatibility16 code.
|
||||
///
|
||||
///
|
||||
/// Example usage: A legacy mobile BIOS that has a pre existing runtime
|
||||
/// interface to return the battery status to calling applications.
|
||||
///
|
||||
/// This mode is invoked twice. The first invocation has LegacySegment and
|
||||
/// LegacyOffset set to 0. The mode returns the table address in EFI memory and its size.
|
||||
///
|
||||
///
|
||||
/// The second invocation has LegacySegment and LegacyOffset set to the location
|
||||
/// in the 0xF0000 or 0xE0000 block to which the table is to be copied. The second
|
||||
/// invocation allows any table address fix ups to occur in the EFI memory copy of the table.
|
||||
@@ -191,7 +191,7 @@ typedef enum {
|
||||
/// Bit 1 = 1 0xE0000 64 KB block.
|
||||
/// Multiple bits can be set.
|
||||
///
|
||||
/// Alignment Bit mapped address alignment granularity.
|
||||
/// Alignment Bit mapped address alignment granularity.
|
||||
/// The first nonzero bit from the right is the address granularity.
|
||||
///
|
||||
/// LegacySegment Segment in which EfiCompatibility code will place the table or data.
|
||||
@@ -217,7 +217,7 @@ EfiGetPlatformBinaryOem32Data = 3,
|
||||
/// Bit 1 = 1 0xE0000 64 KB block.
|
||||
/// Multiple bits can be set.
|
||||
///
|
||||
/// Alignment Bit mapped address alignment granularity.
|
||||
/// Alignment Bit mapped address alignment granularity.
|
||||
/// The first nonzero bit from the right is the address granularity.
|
||||
///
|
||||
/// LegacySegment Segment in which EfiCompatibility code will place the table or data.
|
||||
@@ -239,21 +239,21 @@ EfiGetPlatformBinaryOem32Data = 3,
|
||||
/// The function parameters associated with this mode are:
|
||||
///
|
||||
/// System ROM image for the platform.
|
||||
///
|
||||
///
|
||||
/// TableSize Size of Table in bytes.
|
||||
///
|
||||
///
|
||||
/// Location Ignored.
|
||||
///
|
||||
///
|
||||
/// Alignment Ignored.
|
||||
///
|
||||
///
|
||||
/// LegacySegment Ignored.
|
||||
///
|
||||
///
|
||||
/// LegacyOffset Ignored.
|
||||
///
|
||||
/// The return values associated with this mode are:
|
||||
///
|
||||
/// EFI_SUCCESS ROM image found.
|
||||
///
|
||||
///
|
||||
/// EFI_NOT_FOUND ROM not found.
|
||||
///
|
||||
EfiGetPlatformBinarySystemRom = 5,
|
||||
@@ -264,15 +264,15 @@ EfiGetPlatformBinaryOem32Data = 3,
|
||||
/// The function parameters associated with this mode are:
|
||||
///
|
||||
/// Table System ROM image for the platform.
|
||||
///
|
||||
///
|
||||
/// TableSize Size of Table in bytes.
|
||||
///
|
||||
///
|
||||
/// Location Ignored.
|
||||
///
|
||||
///
|
||||
/// Alignment Ignored.
|
||||
///
|
||||
///
|
||||
/// LegacySegment Ignored.
|
||||
///
|
||||
///
|
||||
/// LegacyOffset Ignored.
|
||||
///
|
||||
/// The return values associated with this mode are:
|
||||
@@ -306,7 +306,7 @@ typedef enum {
|
||||
/// HandleCount Number of VGA handles found.
|
||||
///
|
||||
/// AdditionalData NULL.
|
||||
///
|
||||
///
|
||||
EfiGetPlatformVgaHandle = 0,
|
||||
///
|
||||
/// This mode returns the Compatibility16 policy for the device that should be the IDE
|
||||
@@ -368,7 +368,7 @@ typedef enum {
|
||||
///
|
||||
/// Type 0.
|
||||
///
|
||||
/// DeviceHandle Handle of device OpROM is associated with.
|
||||
/// DeviceHandle Handle of device OpROM is associated with.
|
||||
///
|
||||
/// ShadowAddress Address where OpROM is shadowed.
|
||||
///
|
||||
@@ -402,14 +402,14 @@ typedef enum {
|
||||
///
|
||||
/// Type 0.
|
||||
///
|
||||
/// DeviceHandle Handle of device OpROM is associated with.
|
||||
/// DeviceHandle Handle of device OpROM is associated with.
|
||||
///
|
||||
/// ShadowAddress Address where OpROM is shadowed.
|
||||
///
|
||||
/// Compatibility16Table NULL.
|
||||
///
|
||||
/// AdditionalData NULL.
|
||||
///
|
||||
///
|
||||
EfiPlatformHookAfterRomInit = 2
|
||||
} EFI_GET_PLATFORM_HOOK_MODE;
|
||||
|
||||
@@ -419,7 +419,7 @@ typedef enum {
|
||||
#define PCI_UNUSED 0x00
|
||||
///
|
||||
/// This IRQ has been assigned to PCI.
|
||||
///
|
||||
///
|
||||
#define PCI_USED 0xFF
|
||||
///
|
||||
/// This IRQ has been used by an SIO legacy device and cannot be used by PCI.
|
||||
@@ -546,8 +546,8 @@ typedef struct {
|
||||
@param This The protocol instance pointer.
|
||||
@param Mode Specifies what data to return. See See EFI_GET_PLATFORM_INFO_MODE enum.
|
||||
@param Table Mode specific. See EFI_GET_PLATFORM_INFO_MODE enum.
|
||||
@param TableSize Mode specific. See EFI_GET_PLATFORM_INFO_MODE enum.
|
||||
@param Location Mode specific. See EFI_GET_PLATFORM_INFO_MODE enum.
|
||||
@param TableSize Mode specific. See EFI_GET_PLATFORM_INFO_MODE enum.
|
||||
@param Location Mode specific. See EFI_GET_PLATFORM_INFO_MODE enum.
|
||||
@param Alignment Mode specific. See EFI_GET_PLATFORM_INFO_MODE enum.
|
||||
@param LegacySegment Mode specific. See EFI_GET_PLATFORM_INFO_MODE enum.
|
||||
@param LegacyOffset Mode specific. See EFI_GET_PLATFORM_INFO_MODE enum.
|
||||
@@ -649,7 +649,7 @@ EFI_STATUS
|
||||
* A list of PCI IRQs and the priority order to assign them.
|
||||
|
||||
@param This The protocol instance pointer.
|
||||
@param RoutingTable The pointer to PCI IRQ Routing table.
|
||||
@param RoutingTable The pointer to PCI IRQ Routing table.
|
||||
This location is the $PIR table minus the header.
|
||||
@param RoutingTableEntries The number of entries in table.
|
||||
@param LocalPirqTable $PIR table.
|
||||
@@ -674,7 +674,7 @@ EFI_STATUS
|
||||
|
||||
/**
|
||||
Translates the given PIRQ accounting for bridge.
|
||||
This function translates the given PIRQ back through all buses, if required,
|
||||
This function translates the given PIRQ back through all buses, if required,
|
||||
and returns the true PIRQ and associated IRQ.
|
||||
|
||||
@param This The protocol instance pointer.
|
||||
@@ -746,7 +746,7 @@ struct _EFI_LEGACY_BIOS_PLATFORM_PROTOCOL {
|
||||
///
|
||||
/// Gets $PIR table.
|
||||
EFI_LEGACY_BIOS_PLATFORM_GET_ROUTING_TABLE GetRoutingTable;
|
||||
///
|
||||
///
|
||||
/// Translates the given PIRQ to the final value after traversing any PCI bridges.
|
||||
///
|
||||
EFI_LEGACY_BIOS_PLATFORM_TRANSLATE_PIRQ TranslatePirq;
|
||||
|
@@ -1,13 +1,13 @@
|
||||
/** @file
|
||||
This protocol abstracts the PIRQ programming from the generic EFI Compatibility Support Modules (CSMs).
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 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 that 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,
|
||||
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.
|
||||
|
||||
@par Revision Reference:
|
||||
|
@@ -1,13 +1,13 @@
|
||||
/** @file
|
||||
This protocol manages the legacy memory regions between 0xc0000 - 0xfffff.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 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 that 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,
|
||||
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.
|
||||
|
||||
@par Revision Reference:
|
||||
|
@@ -4,13 +4,13 @@
|
||||
This interface provides a means of decoding a set of sections into a linked list of
|
||||
leaf sections. This provides for an extensible and flexible file format.
|
||||
|
||||
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
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 that 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,
|
||||
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.
|
||||
|
||||
@par Revision Reference:
|
||||
@@ -66,15 +66,15 @@ EFI_STATUS
|
||||
|
||||
@param This Indicates the EFI_SECTION_EXTRACTION_PROTOCOL instance.
|
||||
@param SectionStreamHandle Indicates from which section stream to read.
|
||||
@param SectionType The pointer to an EFI_SECTION_TYPE. If SectionType == NULL,
|
||||
the contents of the entire section stream are returned
|
||||
in Buffer. If SectionType is not NULL, only the
|
||||
requested section is returned. EFI_SECTION_ALL
|
||||
matches all section types and can be used as a
|
||||
@param SectionType The pointer to an EFI_SECTION_TYPE. If SectionType == NULL,
|
||||
the contents of the entire section stream are returned
|
||||
in Buffer. If SectionType is not NULL, only the
|
||||
requested section is returned. EFI_SECTION_ALL
|
||||
matches all section types and can be used as a
|
||||
wild card to extract all sections in order.
|
||||
@param SectionDefinitionGuid The pointer to an EFI_GUID. If SectionType ==
|
||||
EFI_SECTION_GUID_DEFINED, SectionDefinitionGuid
|
||||
indicates what section GUID to search for. If
|
||||
EFI_SECTION_GUID_DEFINED, SectionDefinitionGuid
|
||||
indicates what section GUID to search for. If
|
||||
SectionType !=EFI_SECTION_GUID_DEFINED, then
|
||||
SectionDefinitionGuid is unused and is ignored.
|
||||
@param SectionInstance Indicates which instance of the requested section
|
||||
@@ -85,23 +85,23 @@ EFI_STATUS
|
||||
contents are returned.
|
||||
@param BufferSize A pointer to a caller-allocated UINTN.
|
||||
@param AuthenticationStatus A pointer to a caller-allocated UINT32 in
|
||||
which any meta-data from encapsulation GUID-defined
|
||||
which any meta-data from encapsulation GUID-defined
|
||||
sections is returned.
|
||||
|
||||
@retval EFI_SUCCESS The SectionStream was successfully processed and
|
||||
the section contents were returned in Buffer.
|
||||
@retval EFI_PROTOCOL_ERROR A GUID-defined section was encountered inthe section
|
||||
stream with its EFI_GUIDED_SECTION_PROCESSING_REQUIRED
|
||||
bit set, but there was no corresponding GUIDed
|
||||
stream with its EFI_GUIDED_SECTION_PROCESSING_REQUIRED
|
||||
bit set, but there was no corresponding GUIDed
|
||||
Section Extraction Protocol in the handle database.
|
||||
@retval EFI_NOT_FOUND An error was encountered when parsing the SectionStream,
|
||||
which indicates that the SectionStream is not
|
||||
which indicates that the SectionStream is not
|
||||
correctly formatted. Or, the requested section does not exist.
|
||||
@retval EFI_OUT_OF_RESOURCES The system has insufficient resources to process
|
||||
the request.
|
||||
@retval EFI_INVALID_PARAMETER The SectionStreamHandle does not exist.
|
||||
@retval EFI_WARN_BUFFER_TOO_SMALL The size of the input buffer is insufficient
|
||||
to contain the requested section. The input
|
||||
@retval EFI_WARN_BUFFER_TOO_SMALL The size of the input buffer is insufficient
|
||||
to contain the requested section. The input
|
||||
buffer is filled and section contents are truncated.
|
||||
|
||||
**/
|
||||
|
@@ -1,18 +1,18 @@
|
||||
/** @file
|
||||
This file declares the SMM SMRAM Access abstraction protocol, which is used to control
|
||||
This file declares the SMM SMRAM Access abstraction protocol, which is used to control
|
||||
the visibility of the SMRAM on the platform. The expectation is
|
||||
that the north bridge or memory controller would publish this protocol.
|
||||
For example, the Memory Controller Hub (MCH) has the hardware provision for this
|
||||
type of control. Because of the protected, distinguished class of memory for IA-32
|
||||
that the north bridge or memory controller would publish this protocol.
|
||||
For example, the Memory Controller Hub (MCH) has the hardware provision for this
|
||||
type of control. Because of the protected, distinguished class of memory for IA-32
|
||||
systems, the expectation is that this protocol would be supported only on IA-32 systems.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 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 that 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,
|
||||
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.
|
||||
|
||||
@par Revision Reference:
|
||||
|
@@ -2,7 +2,7 @@
|
||||
This file declares SMM Base abstraction protocol.
|
||||
This protocol is used to install SMM handlers for support of subsequent SMI/PMI activations. This
|
||||
protocol is available on both IA-32 and Itanium-based systems.
|
||||
|
||||
|
||||
The EFI_SMM_BASE_PROTOCOL is a set of services that is exported by a processor device. It is
|
||||
a required protocol for the platform processor. This protocol can be used in both boot services and
|
||||
runtime mode. However, only the following member functions need to exist during runtime:
|
||||
@@ -19,13 +19,13 @@
|
||||
workarounds for the century rollover in CMOS should provide commensurate services throughout
|
||||
preboot and OS runtime.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 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 that 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,
|
||||
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.
|
||||
|
||||
@par Revision Reference:
|
||||
@@ -72,9 +72,9 @@ typedef struct _EFI_SMM_BASE_PROTOCOL EFI_SMM_BASE_PROTOCOL;
|
||||
@param[in] SmmImageHandle A handle allocated by the SMM infrastructure code
|
||||
to uniquely designate a specific DXE SMM driver.
|
||||
@param[in] CommunicationBuffer A pointer to a collection of data in memory
|
||||
that will be conveyed from a non-SMM environment
|
||||
into an SMM environment. The buffer must be
|
||||
contiguous and physically mapped, and must be
|
||||
that will be conveyed from a non-SMM environment
|
||||
into an SMM environment. The buffer must be
|
||||
contiguous and physically mapped, and must be
|
||||
a physical address.
|
||||
@param[in] SourceSize The size of the CommunicationBuffer.
|
||||
|
||||
@@ -101,10 +101,10 @@ EFI_STATUS
|
||||
@param[in] SourceBuffer An optional source buffer in case the image file
|
||||
is in memory.
|
||||
@param[in] SourceSize The size of the source image file, if in memory.
|
||||
@param[out] ImageHandle The handle that the base driver uses to decode
|
||||
the handler. Unique among SMM handlers only;
|
||||
@param[out] ImageHandle The handle that the base driver uses to decode
|
||||
the handler. Unique among SMM handlers only;
|
||||
not unique across DXE/EFI.
|
||||
@param[in] LegacyIA32Binary An optional parameter specifying that the associated
|
||||
@param[in] LegacyIA32Binary An optional parameter specifying that the associated
|
||||
file is a real-mode IA-32 binary.
|
||||
|
||||
@retval EFI_SUCCESS The operation was successful.
|
||||
@@ -177,7 +177,7 @@ EFI_STATUS
|
||||
@param[in] This Protocol instance pointer.
|
||||
@param[in] SmmImageHandle Handle of the callback service.
|
||||
@param[in] CallbackAddress Address of the callback service.
|
||||
@param[in] MakeLast If present, will stipulate that the handler is posted to
|
||||
@param[in] MakeLast If present, will stipulate that the handler is posted to
|
||||
be executed last in the dispatch table.
|
||||
@param[in] FloatingPointSave An optional parameter that informs the
|
||||
EFI_SMM_ACCESS_PROTOCOL Driver core if it needs to save
|
||||
@@ -209,8 +209,8 @@ EFI_STATUS
|
||||
@param[in] This Protocol instance pointer.
|
||||
@param[in] PoolType The type of pool to allocate.
|
||||
The only supported type is EfiRuntimeServicesData;
|
||||
the interface will internally map this runtime request to
|
||||
SMRAM for IA-32 and leave as this type for the Itanium
|
||||
the interface will internally map this runtime request to
|
||||
SMRAM for IA-32 and leave as this type for the Itanium
|
||||
processor family. Other types can be ignored.
|
||||
@param[in] Size The number of bytes to allocate from the pool.
|
||||
@param[out] Buffer A pointer to a pointer to the allocated buffer if the call
|
||||
|
@@ -8,13 +8,13 @@
|
||||
event from a platform chipset agent is an optional capability for both IA-32 and Itanium-based
|
||||
systems.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 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 that 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,
|
||||
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.
|
||||
|
||||
@par Revision Reference:
|
||||
@@ -37,9 +37,9 @@ typedef struct _EFI_SMM_CONTROL_PROTOCOL EFI_SMM_CONTROL_PROTOCOL;
|
||||
// SMM Access specification Data Structures
|
||||
//
|
||||
typedef struct {
|
||||
///
|
||||
///
|
||||
/// Describes the I/O location of the particular port that engendered the synchronous
|
||||
/// SMI. For example, this location can include but is not limited to the traditional
|
||||
/// SMI. For example, this location can include but is not limited to the traditional
|
||||
/// PCAT* APM port of 0B2h.
|
||||
///
|
||||
UINT8 SmiTriggerRegister;
|
||||
@@ -82,7 +82,7 @@ EFI_STATUS
|
||||
Clears any system state that was created in response to the Active call.
|
||||
|
||||
@param This The EFI_SMM_CONTROL_PROTOCOL instance.
|
||||
@param Periodic Optional parameter to repeat at this period one
|
||||
@param Periodic Optional parameter to repeat at this period one
|
||||
time or, if the Periodic Boolean is set, periodically.
|
||||
|
||||
@retval EFI_SUCCESS The SMI/PMI has been engendered.
|
||||
@@ -138,12 +138,12 @@ EFI_STATUS
|
||||
// SMM Control Protocol
|
||||
//
|
||||
/**
|
||||
This protocol is used to initiate SMI/PMI activations.
|
||||
This protocol is used to initiate SMI/PMI activations.
|
||||
This protocol could be published by either:
|
||||
- A processor driver to abstract the SMI/PMI IPI.
|
||||
- The driver that abstracts the ASIC that is supporting the APM port, such as the ICH in an Intel chipset.
|
||||
Because of the possibility of performing SMI or PMI IPI transactions, the ability to generate this.
|
||||
|
||||
|
||||
The EFI_SMM_CONTROL_PROTOCOL is used by the platform chipset or processor driver. This
|
||||
protocol is usable both in boot services and at runtime. The runtime aspect enables an
|
||||
implementation of EFI_SMM_BASE_PROTOCOL.Communicate() to layer upon this service
|
||||
|
@@ -3,13 +3,13 @@
|
||||
|
||||
This protocol provides CPU I/O and memory access within SMM.
|
||||
|
||||
Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
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 that 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,
|
||||
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.
|
||||
|
||||
**/
|
||||
@@ -29,17 +29,17 @@ typedef struct _EFI_SMM_CPU_IO_INTERFACE EFI_SMM_CPU_IO_INTERFACE;
|
||||
/**
|
||||
Provides the basic memory and I/O interfaces used to abstract accesses to devices.
|
||||
|
||||
The I/O operations are carried out exactly as requested. The caller is
|
||||
responsible for any alignment and I/O width issues that the bus, device,
|
||||
The I/O operations are carried out exactly as requested. The caller is
|
||||
responsible for any alignment and I/O width issues that the bus, device,
|
||||
platform, or type of I/O might require.
|
||||
|
||||
@param[in] This The EFI_SMM_CPU_IO_INTERFACE instance.
|
||||
@param[in] Width Signifies the width of the I/O operations.
|
||||
@param[in] Address The base address of the I/O operations. The caller is
|
||||
responsible for aligning the Address, if required.
|
||||
@param[in] Address The base address of the I/O operations. The caller is
|
||||
responsible for aligning the Address, if required.
|
||||
@param[in] Count The number of I/O operations to perform.
|
||||
@param[in,out] Buffer For read operations, the destination buffer to store
|
||||
the results. For write operations, the source buffer
|
||||
@param[in,out] Buffer For read operations, the destination buffer to store
|
||||
the results. For write operations, the source buffer
|
||||
from which to write data.
|
||||
|
||||
@retval EFI_SUCCESS The data was read from or written to the device.
|
||||
|
@@ -2,13 +2,13 @@
|
||||
This file declares the SMM CPU Save State protocol, which provides the processor
|
||||
save-state information for IA-32 and Itanium processors.
|
||||
|
||||
Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
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 that 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,
|
||||
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.
|
||||
|
||||
@par Revision Reference:
|
||||
@@ -30,19 +30,19 @@ typedef struct _EFI_SMM_CPU_SAVE_STATE_PROTOCOL EFI_SMM_CPU_SAVE_STATE_PROTOCOL
|
||||
|
||||
#pragma pack (1)
|
||||
|
||||
///
|
||||
///
|
||||
/// CPU save-state strcuture for IA32 and X64.
|
||||
///
|
||||
/// This struct declaration does not exctly match the Framework SMM CIS 0.91 because the
|
||||
/// union in the Framework SMM CIS 0.91 contains an unnamed union member that causes build
|
||||
/// breaks on many compilers with high warning levels. Instead, the UINT8 Reserved[0x200]
|
||||
/// breaks on many compilers with high warning levels. Instead, the UINT8 Reserved[0x200]
|
||||
/// field has been moved into EFI_SMM_CPU_STATE32. This maintains binary compatibility for
|
||||
/// the layout and also maintains source comaptibility for access of all fields in this
|
||||
/// union.
|
||||
///
|
||||
/// This struct declaration does not exctly match the Framework SMM CIS 0.91 because
|
||||
/// This struct declaration does not exctly match the Framework SMM CIS 0.91 because
|
||||
/// the Framework SMM CIS 0.91 uses ASM_XXX for base types in this structure. These
|
||||
/// have been changed to use the base types defined in the UEFI Specification.
|
||||
/// have been changed to use the base types defined in the UEFI Specification.
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Reserved[0x200];
|
||||
@@ -80,9 +80,9 @@ typedef struct {
|
||||
} EFI_SMM_CPU_STATE32;
|
||||
|
||||
///
|
||||
/// This struct declaration does not exctly match the Framework SMM CIS 0.91 because
|
||||
/// This struct declaration does not exctly match the Framework SMM CIS 0.91 because
|
||||
/// the Framework SMM CIS 0.91 uses ASM_XXX for base types in this structure. These
|
||||
/// have been changed to use the base types defined in the UEFI Specification.
|
||||
/// have been changed to use the base types defined in the UEFI Specification.
|
||||
///
|
||||
typedef struct {
|
||||
UINT8 Reserved1[0x1d0]; // fc00h
|
||||
@@ -148,7 +148,7 @@ typedef struct {
|
||||
///
|
||||
/// This union declaration does not exctly match the Framework SMM CIS 0.91 because the
|
||||
/// union in the Framework SMM CIS 0.91 contains an unnamed union member that causes build
|
||||
/// breaks on many compilers with high warning levels. Instead, the UINT8 Reserved[0x200]
|
||||
/// breaks on many compilers with high warning levels. Instead, the UINT8 Reserved[0x200]
|
||||
/// field has been moved into EFI_SMM_CPU_STATE32. This maintains binary compatibility for
|
||||
/// the layout and also maintains source comaptibility for access of all fields in this
|
||||
/// union.
|
||||
|
@@ -1,18 +1,18 @@
|
||||
/** @file
|
||||
This file declares the Smm Gpi Smi Child Protocol.
|
||||
|
||||
|
||||
The EFI_SMM_GPI_DISPATCH_PROTOCOL is defined in Framework of EFI SMM Core Interface Spec
|
||||
Version 0.9. It provides the ability to install child handlers for the given event types.
|
||||
Several inputs can be enabled. This purpose of this interface is to generate an
|
||||
SMI in response to any of these inputs having a true value provided.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
|
||||
Copyright (c) 2007 - 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 that 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,
|
||||
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.
|
||||
|
||||
**/
|
||||
@@ -36,7 +36,7 @@ typedef struct _EFI_SMM_GPI_DISPATCH_PROTOCOL EFI_SMM_GPI_DISPATCH_PROTOCOL;
|
||||
//
|
||||
|
||||
//
|
||||
// GpiMask is a bit mask of 32 possible general purpose inputs that can generate
|
||||
// GpiMask is a bit mask of 32 possible general purpose inputs that can generate
|
||||
// an SMI. Bit 0 corresponds to logical GPI[0], 1 corresponds to logical GPI[1], and so on.
|
||||
//
|
||||
// The logical GPI index to physical pin on device is described by the GPI device name
|
||||
@@ -56,8 +56,8 @@ typedef struct {
|
||||
|
||||
@param DispatchHandle The handle of this dispatch function.
|
||||
@param DispatchContext The pointer to the dispatch function's context.
|
||||
The DispatchContext fields are filled in by the
|
||||
dispatching driver prior to invoking this dispatch
|
||||
The DispatchContext fields are filled in by the
|
||||
dispatching driver prior to invoking this dispatch
|
||||
function.
|
||||
**/
|
||||
typedef
|
||||
@@ -76,7 +76,7 @@ VOID
|
||||
Indicates to the register
|
||||
function the GPI(s) for which the dispatch function
|
||||
should be invoked.
|
||||
@param DispatchHandle The handle generated by the dispatcher to track the
|
||||
@param DispatchHandle The handle generated by the dispatcher to track the
|
||||
function instance.
|
||||
|
||||
@retval EFI_SUCCESS The dispatch function has been successfully
|
||||
|
@@ -3,13 +3,13 @@
|
||||
The EFI_SMM_ICHN_DISPATCH_PROTOCOL provides the ability to install child handlers for
|
||||
the given event types.
|
||||
|
||||
Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
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 that 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,
|
||||
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.
|
||||
|
||||
@par Revision Reference:
|
||||
|
@@ -1,13 +1,13 @@
|
||||
/** @file
|
||||
Provides the parent dispatch service for the periodical timer SMI source generator.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 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 that 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,
|
||||
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.
|
||||
|
||||
@par Revision Reference:
|
||||
@@ -159,12 +159,12 @@ struct _EFI_SMM_PERIODIC_TIMER_DISPATCH_PROTOCOL {
|
||||
/// Installs a child service to be dispatched by this protocol.
|
||||
///
|
||||
EFI_SMM_PERIODIC_TIMER_REGISTER Register;
|
||||
|
||||
|
||||
///
|
||||
/// Removes a child service dispatched by this protocol.
|
||||
///
|
||||
EFI_SMM_PERIODIC_TIMER_UNREGISTER UnRegister;
|
||||
|
||||
|
||||
///
|
||||
/// Returns the next SMI tick period that is supported by the chipset.
|
||||
///
|
||||
|
@@ -1,13 +1,13 @@
|
||||
/** @file
|
||||
Provides the parent dispatch service for the power button SMI source generator.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 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 that 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,
|
||||
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.
|
||||
|
||||
@par Revision Reference:
|
||||
@@ -70,14 +70,14 @@ VOID
|
||||
/**
|
||||
Provides the parent dispatch service for a given SMI source generator
|
||||
|
||||
@param[in] This The pointer to the
|
||||
@param[in] This The pointer to the
|
||||
EFI_SMM_POWER_BUTTON_DISPATCH_PROTOCOL instance.
|
||||
@param[in] DispatchFunction The function to install.
|
||||
@param[in] DispatchContext The pointer to the dispatch function's context.
|
||||
Indicates to the register
|
||||
function the Power Button SMI phase for which
|
||||
function the Power Button SMI phase for which
|
||||
to invoke the dispatch function.
|
||||
@param[out] DispatchHandle Handle generated by the dispatcher to track
|
||||
@param[out] DispatchHandle Handle generated by the dispatcher to track
|
||||
the function instance.
|
||||
|
||||
@retval EFI_SUCCESS The dispatch function has been successfully
|
||||
@@ -106,9 +106,9 @@ EFI_STATUS
|
||||
|
||||
@retval EFI_SUCCESS The dispatch function has been successfully
|
||||
unregistered, and the SMI source has been
|
||||
disabled, if there are no other registered
|
||||
child dispatch functions for this SMI
|
||||
source.
|
||||
disabled, if there are no other registered
|
||||
child dispatch functions for this SMI
|
||||
source.
|
||||
@retval EFI_INVALID_PARAMETER The handle is invalid.
|
||||
|
||||
**/
|
||||
|
@@ -1,17 +1,17 @@
|
||||
/** @file
|
||||
Provides the parent dispatch service for the standby button SMI source generator.
|
||||
|
||||
The SMM Standby Button Dispatch Protocol is defined in
|
||||
The SMM Standby Button Dispatch Protocol is defined in
|
||||
the Intel Platform Innovation Framework for EFI SMM Core Interface Specification
|
||||
(SMM CIS) Version 0.9.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 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 that 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,
|
||||
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.
|
||||
|
||||
@par Revision Reference:
|
||||
@@ -76,10 +76,10 @@ VOID
|
||||
@param This The pointer to the EFI_SMM_STANDBY_BUTTON_DISPATCH_PROTOCOL instance.
|
||||
@param DispatchFunction The function to install.
|
||||
@param DispatchContext The pointer to the dispatch function's context.
|
||||
Indicates to the register function the Standby
|
||||
Indicates to the register function the Standby
|
||||
Button SMI phase for which to invoke the dispatch
|
||||
function.
|
||||
@param DispatchHandle The handle generated by the dispatcher to track the
|
||||
@param DispatchHandle The handle generated by the dispatcher to track the
|
||||
function instance.
|
||||
|
||||
@retval EFI_SUCCESS The dispatch function has been successfully
|
||||
@@ -128,7 +128,7 @@ EFI_STATUS
|
||||
Provides the ability to install child handlers for the given event types.
|
||||
**/
|
||||
struct _EFI_SMM_STANDBY_BUTTON_DISPATCH_PROTOCOL {
|
||||
///
|
||||
///
|
||||
/// Installs a child service to be dispatched by this protocol.
|
||||
///
|
||||
EFI_SMM_STANDBY_BUTTON_REGISTER Register;\
|
||||
|
@@ -1,13 +1,13 @@
|
||||
/** @file
|
||||
Provides the parent dispatch service for a given SMI source generator.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 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 that 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,
|
||||
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.
|
||||
|
||||
@par Revision Reference:
|
||||
@@ -73,9 +73,9 @@ VOID
|
||||
@param DispatchFunction The function to install.
|
||||
@param DispatchContext The pointer to the dispatch function's context.
|
||||
Indicates to the register
|
||||
function the Software SMI input value for which
|
||||
function the Software SMI input value for which
|
||||
to invoke the dispatch function.
|
||||
@param DispatchHandle The handle generated by the dispatcher to track
|
||||
@param DispatchHandle The handle generated by the dispatcher to track
|
||||
the function instance.
|
||||
|
||||
@retval EFI_SUCCESS The dispatch function has been successfully
|
||||
@@ -125,7 +125,7 @@ EFI_STATUS
|
||||
**/
|
||||
///
|
||||
/// Inconsistent with the specification here:
|
||||
/// In The Framework specification SmmCis, this definition is named as
|
||||
/// In The Framework specification SmmCis, this definition is named as
|
||||
/// _EFI_SMM_ICHN_DISPATCH_PROTOCOL by mistake.
|
||||
///
|
||||
struct _EFI_SMM_SW_DISPATCH_PROTOCOL {
|
||||
|
@@ -1,13 +1,13 @@
|
||||
/** @file
|
||||
Provides the parent dispatch service for a given Sx-state source generator.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 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 that 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,
|
||||
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.
|
||||
|
||||
@par Revision Reference:
|
||||
|
@@ -1,13 +1,13 @@
|
||||
/** @file
|
||||
Provides the parent dispatch service for the USB SMI source generator.
|
||||
|
||||
Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available under
|
||||
the terms and conditions of the BSD License that accompanies this distribution.
|
||||
Copyright (c) 2007 - 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 that 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,
|
||||
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.
|
||||
|
||||
@par Revision Reference:
|
||||
@@ -38,14 +38,14 @@ typedef struct {
|
||||
///
|
||||
/// Describes whether this child handler will be invoked in response to a USB legacy
|
||||
/// emulation event, such as port-trap on the PS/2* keyboard control registers, or to a
|
||||
/// USB wake event, such as resumption from a sleep state.
|
||||
/// USB wake event, such as resumption from a sleep state.
|
||||
///
|
||||
EFI_USB_SMI_TYPE Type;
|
||||
///
|
||||
/// The device path is part of the context structure and describes the location of the
|
||||
/// particular USB host controller in the system for which this register event will occur.
|
||||
/// This location is important because of the possible integration of several USB host
|
||||
/// controllers in a system.
|
||||
/// controllers in a system.
|
||||
///
|
||||
EFI_DEVICE_PATH_PROTOCOL *Device;
|
||||
} EFI_SMM_USB_DISPATCH_CONTEXT;
|
||||
@@ -74,14 +74,14 @@ VOID
|
||||
Register a child SMI source dispatch function with a parent SMM driver.
|
||||
|
||||
@param[in] This The pointer to the EFI_SMM_USB_DISPATCH_PROTOCOL instance.
|
||||
@param[in] DispatchFunction The pointer to dispatch function to be invoked
|
||||
@param[in] DispatchFunction The pointer to dispatch function to be invoked
|
||||
for this SMI source.
|
||||
@param[in] DispatchContext The pointer to the dispatch function's context.
|
||||
The caller fills this context in before calling
|
||||
the register function to indicate to the register
|
||||
function the USB SMI types for which the dispatch
|
||||
function should be invoked.
|
||||
@param[out] DispatchHandle The handle generated by the dispatcher to track the
|
||||
@param[out] DispatchHandle The handle generated by the dispatcher to track the
|
||||
function instance.
|
||||
|
||||
@retval EFI_SUCCESS The dispatch function has been successfully
|
||||
|
Reference in New Issue
Block a user