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:
Liming Gao
2018-06-27 21:06:55 +08:00
parent 0a6f48249a
commit 1c2f052de2
77 changed files with 1808 additions and 1808 deletions

View File

@@ -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.
///

View File

@@ -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.

View File

@@ -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:

View File

@@ -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;

View File

@@ -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().
///

View File

@@ -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.

View File

@@ -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;
};

View File

@@ -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;
};

View File

@@ -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

View File

@@ -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.

View File

@@ -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.

View File

@@ -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:

View File

@@ -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.
///

View File

@@ -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;

View File

@@ -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:

View File

@@ -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:

View File

@@ -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.
**/

View File

@@ -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:

View File

@@ -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

View File

@@ -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

View File

@@ -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.

View File

@@ -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.

View File

@@ -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

View File

@@ -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:

View File

@@ -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.
///

View File

@@ -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.
**/

View File

@@ -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;\

View File

@@ -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 {

View File

@@ -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:

View File

@@ -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