Correct the structure's comments to follow doxygen format.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8721 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
klu2
2009-07-02 07:40:24 +00:00
parent d97286f4b3
commit 2bbaeb0d62
38 changed files with 648 additions and 700 deletions

View File

@@ -95,7 +95,6 @@ EFI_STATUS
);
/**
@par Protocol Description:
The EFI_ACPI_S3_SAVE_PROTOCOL is responsible for preparing all the information that the
Framework needs to restore the platform's preboot state during an S3 resume boot. This
information can include the following:
@@ -114,16 +113,16 @@ EFI_STATUS
that the target platform supports an S3 resume and then call EFI_ACPI_S3_SAVE_PROTOCOL
to save the S3 resume information. The entire Framework boot script table will then be generated,
assuming the platform currently is in the preboot state.
@param GetLegacyMemorySize
Gets the size of legacy memory below 1 MB that is required for S3 resume.
@param S3Save
Prepare all information for an S3 resume.
**/
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.
///
EFI_ACPI_S3_SAVE S3Save;
};

View File

@@ -149,17 +149,19 @@ EFI_STATUS
to publish a set of tables.
**/
struct _EFI_ACPI_SUPPORT_PROTOCOL {
///
/// Returns a table specified by an index if it exists.
///
///
/// Returns a table specified by an index if it exists.
///
EFI_ACPI_GET_ACPI_TABLE GetAcpiTable;
///
/// Adds, removes, or updates ACPI tables
///
///
/// Adds, removes, or updates ACPI tables
///
EFI_ACPI_SET_ACPI_TABLE SetAcpiTable;
///
/// Publishes the ACPI tables.
///
///
/// Publishes the ACPI tables.
///
EFI_ACPI_PUBLISH_TABLES PublishTables;
};

View File

@@ -2,7 +2,7 @@
This protocol is used to store or record various boot scripts into boot
script tables.
Copyright (c) 2007, Intel Corporation
Copyright (c) 2007 - 2009, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -85,20 +85,12 @@ EFI_STATUS
// S3 Save Protocol data structure
//
/**
@par Protocol Description:
The EFI_BOOT_SCRIPT_SAVE_PROTOCOL publishes the Framework boot script abstractions
to store or record various boot scripts into boot script tables.
@param Write
Writes various boot scripts to a boot script table.
@param CloseTable
Retrieves and closes a script table.
**/
struct _EFI_BOOT_SCRIPT_SAVE_PROTOCOL {
EFI_BOOT_SCRIPT_WRITE Write;
EFI_BOOT_SCRIPT_CLOSE_TABLE CloseTable;
EFI_BOOT_SCRIPT_WRITE Write; ///< Writes various boot scripts to a boot script table.
EFI_BOOT_SCRIPT_CLOSE_TABLE CloseTable; ///< Retrieves and closes a script table.
};
extern EFI_GUID gEfiBootScriptSaveProtocolGuid;

View File

@@ -7,7 +7,7 @@
Volume Protocol also provides mechanisms for determining and modifying some
attributes of the firmware volume.
Copyright (c) 2007, Intel Corporation
Copyright (c) 2007 - 2009, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -288,38 +288,45 @@ EFI_STATUS
// Protocol interface structure
//
struct _EFI_FIRMWARE_VOLUME_PROTOCOL {
///
/// Retrieves volume capabilities and current settings.
///
///
/// Retrieves volume capabilities and current settings.
///
FRAMEWORK_EFI_FV_GET_ATTRIBUTES GetVolumeAttributes;
///
/// Modifies the current settings of the firmware volume.
///
///
/// Modifies the current settings of the firmware volume.
///
FRAMEWORK_EFI_FV_SET_ATTRIBUTES SetVolumeAttributes;
///
/// Reads an entire file from the firmware volume.
///
///
/// Reads an entire file from the firmware volume.
///
FRAMEWORK_EFI_FV_READ_FILE ReadFile;
///
/// Reads a single section from a file into a buffer.
///
///
/// Reads a single section from a file into a buffer.
///
FRAMEWORK_EFI_FV_READ_SECTION ReadSection;
///
/// Writes an entire file into the firmware volume.
///
///
/// Writes an entire file into the firmware volume.
///
FRAMEWORK_EFI_FV_WRITE_FILE WriteFile;
///
/// Provides service to allow searching the firmware volume.
///
///
/// Provides service to allow searching the firmware volume.
///
FRAMEWORK_EFI_FV_GET_NEXT_FILE GetNextFile;
///
/// Data field that indicates the size in bytes of the Key input buffer for
/// the GetNextFile() API.
///
UINT32 KeySize;
///
/// Handle of the parent firmware volume.
///
///
/// Data field that indicates the size in bytes of the Key input buffer for
/// the GetNextFile() API.
///
UINT32 KeySize;
///
/// Handle of the parent firmware volume.
///
EFI_HANDLE ParentHandle;
};

View File

@@ -5,7 +5,7 @@
in packet of data. This will also allow the caller to post messages
into the configuration drivers internal mailbox.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2009, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -143,22 +143,21 @@ EFI_STATUS
);
/**
@par Protocol Description:
The EFI_FORM_BROWSER_PROTOCOL is the interface to call for drivers to
leverage the EFI configuration driver interface.
@param SendForm
Provides direction to the configuration driver whether to use the HII
database or to use a passed-in set of data. This functions also establishes
a pointer to the calling driver's callback interface.
@param CreatePopUp
Routine used to abstract a generic dialog interface and return the
selected key or string.
**/
struct _EFI_FORM_BROWSER_PROTOCOL {
///
/// Provides direction to the configuration driver whether to use the HII
/// database or to use a passed-in set of data. This functions also establishes
/// 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.
///
EFI_CREATE_POP_UP CreatePopUp;
};

View File

@@ -5,7 +5,7 @@
specific drivers which want to export access to custom hardware storage or
publish IFR which has a requirement to call back the original driver.
Copyright (c) 2006, Intel Corporation
Copyright (c) 2006 - 2009, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -183,27 +183,16 @@ EFI_STATUS
);
/**
@par Protocol Description:
The EFI_FORM_CALLBACK_PROTOCOL is the defined interface for access to
custom NVS devices as well as communication of user selections in a more
interactive environment. This protocol should be published by hardware-specific
drivers that want to export access to custom hardware storage or publish IFR
that has a requirement to call back the original driver.
@param NvRead
The read operation to access the NV data serviced by a hardware-specific driver.
@param NvWrite
The write operation to access the NV data serviced by a hardware-specific driver.
@param Callback
The function that is called from the configuration browser to communicate key value pairs.
**/
struct _EFI_FORM_CALLBACK_PROTOCOL {
EFI_NV_READ NvRead;
EFI_NV_WRITE NvWrite;
EFI_FORM_CALLBACK Callback;
EFI_NV_READ NvRead; ///< The read operation to access the NV data serviced by a hardware-specific driver.
EFI_NV_WRITE NvWrite; ///< The write operation to access the NV data serviced by a hardware-specific driver.
EFI_FORM_CALLBACK Callback; ///< The function that is called from the configuration browser to communicate key value pairs.
};
extern EFI_GUID gEfiFormCallbackProtocolGuid;

View File

@@ -751,87 +751,98 @@ EFI_STATUS
);
/**
@par Protocol Description:
The HII Protocol manages the HII database, which is a repository for data
having to do with fonts, strings, forms, keyboards, and other future human
interface items.
@param NewPack
Extracts the various packs from a package list.
@param RemovePack
Removes a package from the HII database.
@param FindHandles
Determines the handles that are currently active in the database.
@param ExportDatabase
Export the entire contents of the database to a buffer.
@param TestString
Tests if all of the characters in a string have corresponding font characters.
@param GetGlyph
Translates a Unicode character into the corresponding font glyph.
@param GlyphToBlt
Converts a glyph value into a format that is ready for a UGA BLT command.
@param NewString
Allows a new string to be added to an already existing string package.
@param GetPrimaryLanguages
Allows a program to determine the primary languages that are supported
on a given handle.
@param GetSecondaryLanguages
Allows a program to determine which secondary languages are supported
on a given handle for a given primary language.
@param GetString
Extracts a string from a package that is already registered with the
EFI HII database.
@param ResetString
Remove any new strings that were added after the initial string export
for this handle.
@param GetLine
Allows a program to extract a part of a string of not more than a given width.
@param GetForms
Allows a program to extract a form or form package that has been previously registered.
@param GetDefaultImage
Allows a program to extract the nonvolatile image that represents the default storage image.
@param UpdateForm
Allows a program to update a previously registered form.
@param GetKeyboardLayout
Allows a program to extract the current keyboard layout.
**/
struct _EFI_HII_PROTOCOL {
///
/// Extracts the various packs from a package list.
///
FRAMEWORK_EFI_HII_NEW_PACK NewPack;
///
/// Removes a package from the HII database.
///
FRAMEWORK_EFI_HII_REMOVE_PACK RemovePack;
///
/// Determines the handles that are currently active in the database.
///
FRAMEWORK_EFI_HII_FIND_HANDLES FindHandles;
///
/// Export the entire contents of the database to a buffer.
///
FRAMEWORK_EFI_HII_EXPORT ExportDatabase;
///
/// Tests if all of the characters in a string have corresponding font characters.
///
FRAMEWORK_EFI_HII_TEST_STRING TestString;
///
/// Translates a Unicode character into the corresponding font glyph.
///
FRAMEWORK_EFI_HII_GET_GLYPH GetGlyph;
///
/// Converts a glyph value into a format that is ready for a UGA BLT command.
///
FRAMEWORK_EFI_HII_GLYPH_TO_BLT GlyphToBlt;
///
/// Allows a new string to be added to an already existing string package.
///
FRAMEWORK_EFI_HII_NEW_STRING NewString;
///
/// Allows a program to determine the primary languages that are supported
/// on a given handle.
///
FRAMEWORK_EFI_HII_GET_PRI_LANGUAGES GetPrimaryLanguages;
///
/// Allows a program to determine which secondary languages are supported
/// on a given handle for a given primary language.
///
FRAMEWORK_EFI_HII_GET_SEC_LANGUAGES GetSecondaryLanguages;
///
/// Extracts a string from a package that is already registered with the
/// EFI HII database.
///
FRAMEWORK_EFI_HII_GET_STRING GetString;
///
/// Remove any new strings that were added after the initial string export
/// for this handle.
///
FRAMEWORK_EFI_HII_RESET_STRINGS ResetStrings;
///
/// Allows a program to extract a part of a string of not more than a given width.
///
FRAMEWORK_EFI_HII_GET_LINE GetLine;
///
/// Allows a program to extract a form or form package that has been previously registered.
///
FRAMEWORK_EFI_HII_GET_FORMS GetForms;
///
/// Allows a program to extract the nonvolatile image that represents the default storage image.
///
FRAMEWORK_EFI_HII_GET_DEFAULT_IMAGE GetDefaultImage;
///
/// Allows a program to update a previously registered form.
///
FRAMEWORK_EFI_HII_UPDATE_FORM UpdateForm;
///
/// Allows a program to extract the current keyboard layout.
///
FRAMEWORK_EFI_HII_GET_KEYBOARD_LAYOUT GetKeyboardLayout;
};

View File

@@ -9,7 +9,7 @@
retrieve the EFI_IDE_CONTROLLER_INIT_PROTOCOL instance that is associated with the
controller to be managed.
Copyright (c) 2007, Intel Corporation
Copyright (c) 2007 - 2009, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -31,15 +31,15 @@
#include <PiDxe.h>
//
// Global ID for the EFI Platform IDE Protocol GUID
//
///
/// Global ID for the EFI Platform IDE Protocol GUID
///
#define EFI_IDE_CONTROLLER_INIT_PROTOCOL_GUID \
{ 0xa1e37052, 0x80d9, 0x4e65, {0xa3, 0x17, 0x3e, 0x9a, 0x55, 0xc4, 0x3e, 0xc9 } }
//
// Forward reference for pure ANSI compatability
//
///
/// Forward reference for pure ANSI compatability
///
typedef struct _EFI_IDE_CONTROLLER_INIT_PROTOCOL EFI_IDE_CONTROLLER_INIT_PROTOCOL;
//
@@ -133,19 +133,19 @@ typedef struct {
#pragma pack(1)
typedef struct {
UINT16 config; // General Configuration
UINT16 cylinders; // Number of Cylinders
UINT16 config; ///< General Configuration
UINT16 cylinders; ///< Number of Cylinders
UINT16 reserved_2;
UINT16 heads; //Number of logical heads
UINT16 heads; ///< Number of logical heads
UINT16 vendor_data1;
UINT16 vendor_data2;
UINT16 sectors_per_track;
UINT16 vendor_specific_7_9[3];
CHAR8 SerialNo[20]; // ASCII
CHAR8 SerialNo[20]; ///< ASCII
UINT16 vendor_specific_20_21[2];
UINT16 ecc_bytes_available;
CHAR8 FirmwareVer[8]; // ASCII
CHAR8 ModelName[40]; // ASCII
CHAR8 FirmwareVer[8]; ///< ASCII
CHAR8 ModelName[40]; ///< ASCII
UINT16 multi_sector_cmd_max_sct_cnt;
UINT16 reserved_48;
UINT16 capabilities;
@@ -171,23 +171,23 @@ typedef struct {
UINT16 reserved_69_79[11];
UINT16 major_version_no;
UINT16 minor_version_no;
UINT16 command_set_supported_82; // word 82
UINT16 command_set_supported_83; // word 83
UINT16 command_set_feature_extn; // word 84
UINT16 command_set_feature_enb_85; // word 85
UINT16 command_set_feature_enb_86; // word 86
UINT16 command_set_feature_default; // word 87
UINT16 ultra_dma_mode; // word 88
UINT16 command_set_supported_82; ///< word 82
UINT16 command_set_supported_83; ///< word 83
UINT16 command_set_feature_extn; ///< word 84
UINT16 command_set_feature_enb_85; ///< word 85
UINT16 command_set_feature_enb_86; ///< word 86
UINT16 command_set_feature_default; ///< word 87
UINT16 ultra_dma_mode; ///< word 88
UINT16 reserved_89_105[17];
UINT16 phy_logic_sector_support; // word 106
UINT16 phy_logic_sector_support; ///< word 106
UINT16 reserved_107_116[10];
UINT16 logic_sector_size_lo; // word 117
UINT16 logic_sector_size_hi; // word 118
UINT16 logic_sector_size_lo; ///< word 117
UINT16 logic_sector_size_hi; ///< word 118
UINT16 reserved_119_127[9];
UINT16 security_status;
UINT16 vendor_data_129_159[31];
UINT16 reserved_160_208[49];
UINT16 alignment_logic_in_phy_blocks; // word 209
UINT16 alignment_logic_in_phy_blocks; ///< word 209
UINT16 reserved_210_255[46];
} EFI_ATA_IDENTIFY_DATA;
@@ -199,7 +199,7 @@ typedef struct {
//
#pragma pack(1)
typedef struct {
UINT16 config; // General Configuration
UINT16 config; ///< General Configuration
UINT16 obsolete_1;
UINT16 specific_config;
UINT16 obsolete_3;
@@ -207,11 +207,11 @@ typedef struct {
UINT16 obsolete_6;
UINT16 cfa_reserved_7_8[2];
UINT16 retired_9;
CHAR8 SerialNo[20]; // ASCII
CHAR8 SerialNo[20]; ///< ASCII
UINT16 retired_20_21[2];
UINT16 obsolete_22;
CHAR8 FirmwareVer[8]; // ASCII
CHAR8 ModelName[40]; // ASCII
CHAR8 FirmwareVer[8]; ///< ASCII
CHAR8 ModelName[40]; ///< ASCII
UINT16 multi_sector_cmd_max_sct_cnt;
UINT16 reserved_48;
UINT16 capabilities_49;
@@ -425,46 +425,51 @@ EFI_STATUS
// EFI_IDE_CONTROLLER_INIT_PROTOCOL instances.
//
/**
@par Protocol Description:
Provides the basic interfaces to abstract an IDE controller.
@param GetChannelInfo
Returns the information about a specific channel.
@param NotifyPhase
The notification that the IDE bus driver is about to enter the
specified phase during the enumeration process.
@param SubmitData
Submits the Drive Identify data that was returned by the device.
@param DisqualifyMode
Submits information about modes that should be disqualified.
@param CalculateMode
Calculates and returns the optimum mode for a particular IDE device.
@param SetTiming
Programs the IDE controller hardware to the default timing or per the modes
that were returned by the last call to CalculateMode().
@param EnumAll
Set to TRUE if the enumeration group includes all the channels that are
produced by this controller. FALSE if an enumeration group consists of
only one channel.
@param ChannelCount
The number of channels that are produced by this controller.
**/
struct _EFI_IDE_CONTROLLER_INIT_PROTOCOL {
///
/// Returns the information about a specific channel.
///
EFI_IDE_CONTROLLER_GET_CHANNEL_INFO GetChannelInfo;
///
/// The notification that the IDE bus driver is about to enter the
/// specified phase during the enumeration process.
///
EFI_IDE_CONTROLLER_NOTIFY_PHASE NotifyPhase;
///
/// Submits the Drive Identify data that was returned by the device.
///
EFI_IDE_CONTROLLER_SUBMIT_DATA SubmitData;
///
/// Submits information about modes that should be disqualified.
///
EFI_IDE_CONTROLLER_DISQUALIFY_MODE DisqualifyMode;
///
/// Calculates and returns the optimum mode for a particular IDE device.
///
EFI_IDE_CONTROLLER_CALCULATE_MODE CalculateMode;
///
/// Programs the IDE controller hardware to the default timing or per the modes
/// that were returned by the last call to CalculateMode().
///
EFI_IDE_CONTROLLER_SET_TIMING SetTiming;
///
/// Set to TRUE if the enumeration group includes all the channels that are
/// produced by this controller. FALSE if an enumeration group consists of
/// only one channel.
///
BOOLEAN EnumAll;
///
/// The number of channels that are produced by this controller.
///
UINT8 ChannelCount;
};

View File

@@ -15,7 +15,7 @@
(DXE) driver and must be made available before the Boot Device Selection (BDS) phase. The PCI
bus driver will look for the presence of this protocol before it begins PCI enumeration.
Copyright (c) 2007, Intel Corporation
Copyright (c) 2007 - 2009, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -71,15 +71,15 @@ EFI_STATUS
);
//
// Interface structure for the Incompatible PCI Device Support Protocol
//
///
/// Interface structure for the Incompatible PCI Device Support Protocol
///
struct _EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_PROTOCOL {
///
/// Returns a list of ACPI resource descriptors that detail any special
/// resource configuration requirements if the specified device is a recognized
/// incompatible PCI device.
///
///
/// Returns a list of ACPI resource descriptors that detail any special
/// resource configuration requirements if the specified device is a recognized
/// incompatible PCI device.
///
EFI_INCOMPATIBLE_PCI_DEVICE_SUPPORT_CHECK_DEVICE CheckDevice;
};

View File

@@ -12,7 +12,7 @@
You most likely should not use this protocol! Find the EFI way to solve the
problem to make your code portable
Copyright (c) 2007, Intel Corporation
Copyright (c) 2007 - 2009, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -470,62 +470,71 @@ EFI_STATUS
);
/**
@par Protocol Description:
Abstracts the traditional BIOS from the rest of EFI. The LegacyBoot()
member function allows the BDS to support booting a traditional OS.
EFI thunks drivers that make EFI bindings for BIOS INT services use
all the other member functions.
@param Int86
Performs traditional software INT. See the Int86() function description.
@param FarCall86
Performs a far call into Compatibility16 or traditional OpROM code.
@param CheckPciRom
Checks if a traditional OpROM exists for this device.
@param InstallPciRom
Loads a traditional OpROM in traditional OpROM address space.
@param LegacyBoot
Boots a traditional OS.
@param UpdateKeyboardLedStatus
Updates BDA to reflect the current EFI keyboard LED status.
@param GetBbsInfo
Allows an external agent, such as BIOS Setup, to get the BBS data.
@param ShadowAllLegacyOproms
Causes all legacy OpROMs to be shadowed.
@param PrepareToBootEfi
Performs all actions prior to boot. Used when booting an EFI-aware OS
rather than a legacy OS.
@param GetLegacyRegion
Allows EFI to reserve an area in the 0xE0000 or 0xF0000 block.
@param CopyLegacyRegion
Allows EFI to copy data to the area specified by GetLegacyRegion.
@param BootUnconventionalDevice
Allows the user to boot off an unconventional device such as a PARTIES partition.
**/
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.
///
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.
///
EFI_LEGACY_BIOS_BOOT_UNCONVENTIONAL_DEVICE BootUnconventionalDevice;
};

View File

@@ -1,7 +1,7 @@
/** @file
This protocol abstracts the PIRQ programming from the generic EFI Compatibility Support Modules (CSMs).
Copyright (c) 2007, Intel Corporation
Copyright (c) 2007 - 2009, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -103,21 +103,24 @@ EFI_STATUS
);
struct _EFI_LEGACY_INTERRUPT_PROTOCOL {
///
/// Gets the number of PIRQs supported.
///
///
/// Gets the number of PIRQs supported.
///
EFI_LEGACY_INTERRUPT_GET_NUMBER_PIRQS GetNumberPirqs;
///
/// Gets the PCI bus, device, and function that associated with this protocol.
///
///
/// Gets the PCI bus, device, and function that associated with this protocol.
///
EFI_LEGACY_INTERRUPT_GET_LOCATION GetLocation;
///
/// Reads the indicated PIRQ register.
///
///
/// Reads the indicated PIRQ register.
///
EFI_LEGACY_INTERRUPT_READ_PIRQ ReadPirq;
///
/// Writes to the indicated PIRQ register.
///
///
/// Writes to the indicated PIRQ register.
///
EFI_LEGACY_INTERRUPT_WRITE_PIRQ WritePirq;
};

View File

@@ -1,7 +1,7 @@
/** @file
This protocol manages the legacy memory regions between 0xc0000 - 0xfffff
Copyright (c) 2007, Intel Corporation
Copyright (c) 2007 - 2009, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -112,29 +112,15 @@ EFI_STATUS
);
/**
@par Protocol Description:
Abstracts the hardware control of the physical address region 0xC0000-C0xFFFFF
for the traditional BIOS.
@param Decode
Specifies a region for the chipset to decode
@param Lock
Makes the specified OpROM region read only or locked.
@param BootLock
Sets a region to read only and ensures tat flash is locked from
inadvertent modification.
@param Unlock
Makes the specified OpROM region read-write or unlocked.
**/
struct _EFI_LEGACY_REGION_PROTOCOL {
EFI_LEGACY_REGION_DECODE Decode;
EFI_LEGACY_REGION_LOCK Lock;
EFI_LEGACY_REGION_BOOT_LOCK BootLock;
EFI_LEGACY_REGION_UNLOCK UnLock;
EFI_LEGACY_REGION_DECODE Decode; ///< Specifies a region for the chipset to decode
EFI_LEGACY_REGION_LOCK Lock; ///< Makes the specified OpROM region read only or locked.
EFI_LEGACY_REGION_BOOT_LOCK BootLock; ///< Sets a region to read only and ensures tat flash is locked from
///< inadvertent modification.
EFI_LEGACY_REGION_UNLOCK UnLock; ///< Makes the specified OpROM region read-write or unlocked.
};
extern EFI_GUID gEfiLegacyRegionProtocolGuid;

View File

@@ -3,7 +3,7 @@
Provides the basic interfaces to abstract a PCI host bridge resource allocation. This protocol is
mandatory if the system includes PCI devices.
Copyright (c) 2007, Intel Corporation
Copyright (c) 2007 - 2009, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -35,19 +35,19 @@ typedef struct _EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL EFI_PCI_HOST_BR
// EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_ATTRIBUTES
//
// If this bit is set, then the PCI Root Bridge does not
// support separate windows for Non-prefetchable and Prefetchable
// memory. A PCI bus driver needs to include requests for Prefetchable
// memory in the Non-prefetchable memory pool.
//
/// If this bit is set, then the PCI Root Bridge does not
/// support separate windows for Non-prefetchable and Prefetchable
/// memory. A PCI bus driver needs to include requests for Prefetchable
/// memory in the Non-prefetchable memory pool.
///
#define EFI_PCI_HOST_BRIDGE_COMBINE_MEM_PMEM 1
//
// If this bit is set, then the PCI Root Bridge supports
// 64 bit memory windows. If this bit is not set,
// the PCI bus driver needs to include requests for 64 bit
// memory address in the corresponding 32 bit memory pool.
//
///
/// If this bit is set, then the PCI Root Bridge supports
/// 64 bit memory windows. If this bit is not set,
/// the PCI bus driver needs to include requests for 64 bit
/// memory address in the corresponding 32 bit memory pool.
///
#define EFI_PCI_HOST_BRIDGE_MEM64_DECODE 2
typedef UINT64 EFI_RESOURCE_ALLOCATION_STATUS;
@@ -63,79 +63,81 @@ typedef UINT64 EFI_RESOURCE_ALLOCATION_STATUS;
// EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PHASE
//
typedef enum {
///
/// Reset the host bridge PCI apertures and internal data structures.
/// PCI enumerator should issue this notification before starting fresh
/// enumeration process. Enumeration cannot be restarted after sending
/// any other notification such as EfiPciHostBridgeBeginBusAllocation.
///
EfiPciHostBridgeBeginEnumeration,
///
/// The bus allocation phase is about to begin. No specific action
/// is required here. This notification can be used to perform any
/// chipset specific programming.
///
EfiPciHostBridgeBeginBusAllocation,
///
/// The bus allocation and bus programming phase is complete. No specific
/// action is required here. This notification can be used to perform any
/// chipset specific programming.
///
EfiPciHostBridgeEndBusAllocation,
///
/// The resource allocation phase is about to begin.No specific action is
/// required here. This notification can be used to perform any chipset specific programming.
///
EfiPciHostBridgeBeginResourceAllocation,
///
/// Allocate resources per previously submitted requests for all the PCI Root
/// Bridges. These resource settings are returned on the next call to
/// GetProposedResources().
///
EfiPciHostBridgeAllocateResources,
///
/// Program the Host Bridge hardware to decode previously allocated resources
/// (proposed resources) for all the PCI Root Bridges.
///
EfiPciHostBridgeSetResources,
///
/// De-allocate previously allocated resources previously for all the PCI
/// Root Bridges and reset the I/O and memory apertures to initial state.
///
EfiPciHostBridgeFreeResources,
///
/// The resource allocation phase is completed. No specific action is required
/// here. This notification can be used to perform any chipset specific programming.
///
EfiPciHostBridgeEndResourceAllocation
} EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PHASE;
//
// EfiPciHostBridgeBeginEnumeration
// Reset the host bridge PCI apertures and internal data structures.
// PCI enumerator should issue this notification before starting fresh
// enumeration process. Enumeration cannot be restarted after sending
// any other notification such as EfiPciHostBridgeBeginBusAllocation.
//
// EfiPciHostBridgeBeginBusAllocation
// The bus allocation phase is about to begin. No specific action
// is required here. This notification can be used to perform any
// chipset specific programming.
//
// EfiPciHostBridgeEndBusAllocation
// The bus allocation and bus programming phase is complete. No specific
// action is required here. This notification can be used to perform any
// chipset specific programming.
//
// EfiPciHostBridgeBeginResourceAllocation
// The resource allocation phase is about to begin.No specific action is
// required here. This notification can be used to perform any chipset specific programming.
//
// EfiPciHostBridgeAllocateResources
// Allocate resources per previously submitted requests for all the PCI Root
// Bridges. These resource settings are returned on the next call to
// GetProposedResources().
//
// EfiPciHostBridgeSetResources
// Program the Host Bridge hardware to decode previously allocated resources
// (proposed resources) for all the PCI Root Bridges.
//
// EfiPciHostBridgeFreeResources
// De-allocate previously allocated resources previously for all the PCI
// Root Bridges and reset the I/O and memory apertures to initial state.
//
// EfiPciHostBridgeEndResourceAllocation
// The resource allocation phase is completed. No specific action is required
// here. This notification can be used to perform any chipset specific programming.
//
// EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE
//
///
/// EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE
///
typedef enum {
///
/// This notification is only applicable to PCI-PCI bridges and
/// indicates that the PCI enumerator is about to begin enumerating
/// the bus behind the PCI-PCI Bridge. This notification is sent after
/// the primary bus number, the secondary bus number and the subordinate
/// bus number registers in the PCI-PCI Bridge are programmed to valid
/// (not necessary final) values
///
EfiPciBeforeChildBusEnumeration,
///
/// This notification is sent before the PCI enumerator probes BAR registers
/// for every valid PCI function.
///
EfiPciBeforeResourceCollection
} EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE;
//
// EfiPciBeforeChildBusEnumeration
// This notification is only applicable to PCI-PCI bridges and
// indicates that the PCI enumerator is about to begin enumerating
// the bus behind the PCI-PCI Bridge. This notification is sent after
// the primary bus number, the secondary bus number and the subordinate
// bus number registers in the PCI-PCI Bridge are programmed to valid
// (not necessary final) values
//
// EfiPciBeforeResourceCollection
// This notification is sent before the PCI enumerator probes BAR registers
// for every valid PCI function.
//
/**
Enter a certain phase of the PCI enumeration process
@@ -327,47 +329,52 @@ EFI_STATUS
);
/**
@par Protocol Description:
Provides the basic interfaces to abstract a PCI host bridge resource allocation.
@param NotifyPhase
The notification from the PCI bus enumerator that it is about to enter
a certain phase during the enumeration process.
@param GetNextRootBridge
Retrieves the device handle for the next PCI root bridge that is produced by the
host bridge to which this instance of the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL is attached.
@param GetAllocAttributes
Retrieves the allocation-related attributes of a PCI root bridge.
@param StartBusEnumeration
Sets up a PCI root bridge for bus enumeration.
@param SetBusNumbers
Sets up the PCI root bridge so that it decodes a specific range of bus numbers.
@param SubmitResources
Submits the resource requirements for the specified PCI root bridge.
@param GetProposedResources
Returns the proposed resource assignment for the specified PCI root bridges.
@param PreprocessController
Provides hooks from the PCI bus driver to every PCI controller
(device/function) at various stages of the PCI enumeration process that
allow the host bridge driver to preinitialize individual PCI controllers
before enumeration.
**/
struct _EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL {
///
/// The notification from the PCI bus enumerator that it is about to enter
/// a certain phase during the enumeration process.
///
EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_NOTIFY_PHASE NotifyPhase;
///
/// Retrieves the device handle for the next PCI root bridge that is produced by the
/// host bridge to which this instance of the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL is attached.
///
EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_GET_NEXT_ROOT_BRIDGE GetNextRootBridge;
///
/// Retrieves the allocation-related attributes of a PCI root bridge.
///
EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_GET_ATTRIBUTES GetAllocAttributes;
///
/// Sets up a PCI root bridge for bus enumeration.
///
EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_START_BUS_ENUMERATION StartBusEnumeration;
///
/// Sets up the PCI root bridge so that it decodes a specific range of bus numbers.
///
EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_SET_BUS_NUMBERS SetBusNumbers;
///
/// Submits the resource requirements for the specified PCI root bridge.
///
EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_SUBMIT_RESOURCES SubmitResources;
///
/// Returns the proposed resource assignment for the specified PCI root bridges.
///
EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_GET_PROPOSED_RESOURCES GetProposedResources;
///
/// Provides hooks from the PCI bus driver to every PCI controller
/// (device/function) at various stages of the PCI enumeration process that
/// allow the host bridge driver to preinitialize individual PCI controllers
/// before enumeration.
///
EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL_PREPROCESS_CONTROLLER PreprocessController;
};

View File

@@ -3,7 +3,7 @@
This protocol provides the necessary functionality to initialize the Hot Plug Controllers (HPCs) and
the buses that they control. This protocol also provides information regarding resource padding.
Copyright (c) 2007, Intel Corporation
Copyright (c) 2007 - 2009, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -143,24 +143,24 @@ EFI_STATUS
//
/**
@par Protocol Description:
This protocol provides the necessary functionality to initialize the
Hot Plug Controllers (HPCs) and the buses that they control. This protocol
also provides information regarding resource padding.
@param GetRootHpcList
Returns a list of root HPCs and the buses that they control.
@param InitializeRootHpc
Initializes the specified root HPC.
@param GetResourcePadding
Returns the resource padding that is required by the HPC.
**/
struct _EFI_PCI_HOT_PLUG_INIT_PROTOCOL {
///
/// Returns a list of root HPCs and the buses that they control.
///
EFI_GET_ROOT_HPC_LIST GetRootHpcList;
///
/// Initializes the specified root HPC.
///
EFI_INITIALIZE_ROOT_HPC InitializeRootHpc;
///
/// Returns the resource padding that is required by the HPC.
///
EFI_GET_PCI_HOT_PLUG_PADDING GetResourcePadding;
};

View File

@@ -4,7 +4,7 @@
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 - 2007, Intel Corporation
Copyright (c) 2006 - 2009, Intel Corporation
All rights reserved. This program and the accompanying
materials are licensed and made available under the terms and
conditions of the BSD License which accompanies this
@@ -140,18 +140,20 @@ EFI_STATUS
// Protocol definition
//
struct _EFI_SECTION_EXTRACTION_PROTOCOL {
///
/// Takes a bounded stream of sections and returns a section stream handle.
///
///
/// Takes a bounded stream of sections and returns a section stream handle.
///
EFI_OPEN_SECTION_STREAM OpenSectionStream;
///
/// Given a section stream handle, retrieves the requested section and
/// meta-data from the section stream.
///
///
/// Given a section stream handle, retrieves the requested section and
/// meta-data from the section stream.
///
EFI_GET_SECTION GetSection;
///
/// Given a section stream handle, closes the section stream.
///
///
/// Given a section stream handle, closes the section stream.
///
EFI_CLOSE_SECTION_STREAM CloseSectionStream;
};

View File

@@ -6,7 +6,7 @@
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, Intel Corporation
Copyright (c) 2007 - 2009, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -128,35 +128,15 @@ EFI_STATUS
);
/**
@par Protocol Description:
This protocol is used to control the visibility of the SMRAM on the platform.
@param Open
Opens the SMRAM.
@param Close
Closes the SMRAM.
@param Lock
Locks the SMRAM.
@param GetCapabilities
Gets information on possible SMRAM regions.
@param LockState
Indicates the current state of the SMRAM. Set to TRUE if any region is locked.
@param OpenState
Indicates the current state of the SMRAM. Set to TRUE if any region is open.
**/
struct _EFI_SMM_ACCESS_PROTOCOL {
EFI_SMM_OPEN Open;
EFI_SMM_CLOSE Close;
EFI_SMM_LOCK Lock;
EFI_SMM_CAPABILITIES GetCapabilities;
BOOLEAN LockState;
BOOLEAN OpenState;
EFI_SMM_OPEN Open; ///< Opens the SMRAM.
EFI_SMM_CLOSE Close; ///< Closes the SMRAM.
EFI_SMM_LOCK Lock; ///< Locks the SMRAM.
EFI_SMM_CAPABILITIES GetCapabilities; ///< Gets information on possible SMRAM regions.
BOOLEAN LockState; ///< Indicates the current state of the SMRAM. Set to TRUE if any region is locked.
BOOLEAN OpenState; ///< Indicates the current state of the SMRAM. Set to TRUE if any region is open.
};
extern EFI_GUID gEfiSmmAccessProtocolGuid;

View File

@@ -3,7 +3,7 @@
The EFI_SMM_ICHN_DISPATCH_PROTOCOL provides the ability to install child handlers for
the given event types.
Copyright (c) 2008, Intel Corporation
Copyright (c) 2008 - 2009, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -180,19 +180,11 @@ EFI_STATUS
// Interface structure for the SMM ICHN specific SMI Dispatch Protocol
//
/**
@par Protocol Description:
Provides the parent dispatch service for a given SMI source generator.
@param Register
Installs a child service to be dispatched by this protocol.
@param UnRegister
Removes a child service dispatched by this protocol.
**/
struct _EFI_SMM_ICHN_DISPATCH_PROTOCOL {
EFI_SMM_ICHN_REGISTER Register;
EFI_SMM_ICHN_UNREGISTER UnRegister;
EFI_SMM_ICHN_REGISTER Register; ///< Installs a child service to be dispatched by this protocol.
EFI_SMM_ICHN_UNREGISTER UnRegister; ///< Removes a child service dispatched by this protocol.
};
extern EFI_GUID gEfiSmmIchnDispatchProtocolGuid;

View File

@@ -156,22 +156,22 @@ EFI_STATUS
// Interface structure for the SMM Periodic Timer Dispatch Protocol
//
/**
@par Protocol Description:
Provides the parent dispatch service for the periodical timer SMI source generator.
@param Register
Installs a child service to be dispatched by this protocol.
@param UnRegister
Removes a child service dispatched by this protocol.
@param GetNextShorterInterval
Returns the next SMI tick period that is supported by the chipset.
**/
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.
///
EFI_SMM_PERIODIC_TIMER_INTERVAL GetNextShorterInterval;
};

View File

@@ -1,7 +1,7 @@
/** @file
Provides the parent dispatch service for a given SMI source generator.
Copyright (c) 2007, Intel Corporation
Copyright (c) 2007 - 2009, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -123,23 +123,24 @@ EFI_STATUS
// Interface structure for the SMM Software SMI Dispatch Protocol
//
/**
@par Protocol Description:
Provides the parent dispatch service for a given SMI source generator.
**/
struct _EFI_SMM_SW_DISPATCH_PROTOCOL {
///
/// Installs a child service to be dispatched by this protocol.
///
///
/// Installs a child service to be dispatched by this protocol.
///
EFI_SMM_SW_REGISTER Register;
///
/// Removes a child service dispatched by this protocol.
///
///
/// Removes a child service dispatched by this protocol.
///
EFI_SMM_SW_UNREGISTER UnRegister;
///
/// A read-only field that describes the maximum value that can be used
/// in the EFI_SMM_SW_DISPATCH_PROTOCOL.Register() service.
///
UINTN MaximumSwiValue;
///
/// A read-only field that describes the maximum value that can be used
/// in the EFI_SMM_SW_DISPATCH_PROTOCOL.Register() service.
///
UINTN MaximumSwiValue;
};
extern EFI_GUID gEfiSmmSwDispatchProtocolGuid;

View File

@@ -1,7 +1,7 @@
/** @file
Provides the parent dispatch service for a given Sx-state source generator.
Copyright (c) 2007, Intel Corporation
Copyright (c) 2007 - 2009, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -140,19 +140,11 @@ EFI_STATUS
// Interface structure for the SMM Child Dispatch Protocol
//
/**
@par Protocol Description:
Provides the parent dispatch service for a given Sx-state source generator.
@param Register
Installs a child service to be dispatched by this protocol.
@param UnRegister
Removes a child service dispatched by this protocol.
**/
struct _EFI_SMM_SX_DISPATCH_PROTOCOL {
EFI_SMM_SX_REGISTER Register;
EFI_SMM_SX_UNREGISTER UnRegister;
EFI_SMM_SX_REGISTER Register; ///< Installs a child service to be dispatched by this protocol.
EFI_SMM_SX_UNREGISTER UnRegister; ///< Removes a child service dispatched by this protocol.
};
extern EFI_GUID gEfiSmmSxDispatchProtocolGuid;