\r
/**\r
Block IO read only mode data and updated only via members of BlockIO\r
- \r
- @param MediaId\r
- The curent media Id. If the media changes, this value is changed.\r
- \r
- @param RemovableMedia\r
- TRUE if the media is removable; otherwise, FALSE.\r
- \r
- @param MediaPresent\r
- TRUE if there is a media currently present in the device;\r
- othersise, FALSE. THis field shows the media present status\r
- as of the most recent ReadBlocks() or WriteBlocks() call.\r
-\r
- @param LogicalPartition\r
- TRUE if LBA 0 is the first block of a partition; otherwise\r
- FALSE. For media with only one partition this would be TRUE.\r
- \r
- @param ReadOnly\r
- TRUE if the media is marked read-only otherwise, FALSE.\r
- This field shows the read-only status as of the most recent WriteBlocks () call.\r
- \r
- @param WriteCaching\r
- TRUE if the WriteBlock () function caches write data.\r
-\r
- @param BlockSize\r
- The intrinsic block size of the device. If the media changes, then\r
- this field is updated. \r
-\r
- @param IoAlign\r
- Supplies the alignment requirement for any buffer to read or write block(s).\r
- \r
- @param LastBlock\r
- The last logical block address on the device.\r
- If the media changes, then this field is updated. \r
-\r
**/\r
typedef struct {\r
- UINT32 MediaId; \r
+ ///\r
+ /// The curent media Id. If the media changes, this value is changed.\r
+ ///\r
+ UINT32 MediaId; \r
+ \r
+ ///\r
+ /// TRUE if the media is removable; otherwise, FALSE.\r
+ /// \r
BOOLEAN RemovableMedia;\r
+ \r
+ ///\r
+ /// TRUE if there is a media currently present in the device;\r
+ /// othersise, FALSE. THis field shows the media present status\r
+ /// as of the most recent ReadBlocks() or WriteBlocks() call. \r
+ ///\r
BOOLEAN MediaPresent;\r
+\r
+ ///\r
+ /// TRUE if LBA 0 is the first block of a partition; otherwise\r
+ /// FALSE. For media with only one partition this would be TRUE.\r
+ ///\r
BOOLEAN LogicalPartition;\r
+ \r
+ ///\r
+ /// TRUE if the media is marked read-only otherwise, FALSE.\r
+ /// This field shows the read-only status as of the most recent WriteBlocks () call.\r
+ ///\r
BOOLEAN ReadOnly;\r
+ \r
+ ///\r
+ /// TRUE if the WriteBlock () function caches write data.\r
+ ///\r
BOOLEAN WriteCaching; \r
+ \r
+ ///\r
+ /// The intrinsic block size of the device. If the media changes, then\r
+ /// this field is updated. \r
+ ///\r
UINT32 BlockSize; \r
+ \r
+ ///\r
+ /// Supplies the alignment requirement for any buffer to read or write block(s).\r
+ ///\r
UINT32 IoAlign; \r
+ \r
+ ///\r
+ /// The last logical block address on the device.\r
+ /// If the media changes, then this field is updated. \r
+ ///\r
EFI_LBA LastBlock; \r
} EFI_BLOCK_IO_MEDIA;\r
\r
#define EFI_BLOCK_IO_PROTOCOL_REVISION 0x00010000\r
-//\r
-// Revision defined in EFI1.1.\r
-// \r
+\r
+///\r
+/// Revision defined in EFI1.1.\r
+/// \r
#define EFI_BLOCK_IO_INTERFACE_REVISION EFI_BLOCK_IO_PROTOCOL_REVISION\r
\r
/**\r
@par Protocol Description:\r
This protocol provides control over block devices.\r
-\r
- @param Revision \r
- The revision to which the block IO interface adheres. All future\r
- revisions must be backwards compatible. If a future version is not\r
- back wards compatible, it is not the same GUID.\r
- \r
- @param Media \r
- A pointer to the EFI_BLOCK_IO_MEDIA data for this device.\r
-\r
- @param Reset \r
- Resets the block device hardware.\r
-\r
- @param ReadBlocks \r
- Reads the requested number of blocks from the device. \r
-\r
- @param WriteBlocks \r
- Writes the requested number of blocks to the device. \r
-\r
- @param FlushBlocks \r
- Flushes and cache blocks. This function is optional and only\r
- needs to be supported on block devices that cache writes. \r
**/\r
struct _EFI_BLOCK_IO_PROTOCOL {\r
+ ///\r
+ /// The revision to which the block IO interface adheres. All future\r
+ /// revisions must be backwards compatible. If a future version is not\r
+ /// back wards compatible, it is not the same GUID.\r
+ ///\r
UINT64 Revision;\r
\r
EFI_BLOCK_IO_MEDIA *Media;\r
This protocol matches one or more drivers to a controller. This protocol is produced by a bus driver,\r
and it is installed on the child handles of buses that require a bus specific algorithm for matching\r
drivers to controllers.\r
-\r
- @param GetDriver\r
- Uses a bus specific algorithm to retrieve a driver image handle for a controller.\r
- \r
**/\r
struct _EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL {\r
EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_GET_DRIVER GetDriver;\r
@par Protocol Description:\r
This protocol is used to retrieve user readable names of drivers \r
and controllers managed by UEFI Drivers.\r
-\r
- @param GetDriverName\r
- Retrieves a Unicode string that is the user readable name of the driver.\r
- \r
- @param GetControllerName\r
- Retrieves a Unicode string that is the user readable name of a\r
- controller that is being managed by a driver.\r
- \r
- @param SupportedLanguages \r
- A Null-terminated ASCII string that contains one or more\r
- ISO 639-2 language codes. This is the list of language codes\r
- that this protocol supports.\r
- \r
**/\r
struct _EFI_COMPONENT_NAME_PROTOCOL {\r
EFI_COMPONENT_NAME_GET_DRIVER_NAME GetDriverName;\r
EFI_COMPONENT_NAME_GET_CONTROLLER_NAME GetControllerName;\r
+ ///\r
+ /// A Null-terminated ASCII string that contains one or more\r
+ /// ISO 639-2 language codes. This is the list of language codes\r
+ /// that this protocol supports. \r
+ ///\r
CHAR8 *SupportedLanguages;\r
};\r
\r
@par Protocol Description:\r
This protocol is used to retrieve user readable names of drivers \r
and controllers managed by UEFI Drivers.\r
-\r
- @param GetDriverName\r
- Retrieves a Unicode string that is the user readable name of the driver.\r
- \r
- @param GetControllerName\r
- Retrieves a Unicode string that is the user readable name of a\r
- controller that is being managed by a driver.\r
- \r
- @param SupportedLanguages \r
- A Null-terminated ASCII string array that contains one or more\r
- supported language codes. This is the list of language codes that\r
- this protocol supports. The number of languages supported by a\r
- driver is up to the driver writer. SupportedLanguages is\r
- specified in RFC 3066 format.\r
- \r
**/\r
struct _EFI_COMPONENT_NAME2_PROTOCOL {\r
EFI_COMPONENT_NAME2_GET_DRIVER_NAME GetDriverName;\r
EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME GetControllerName;\r
+\r
+ ///\r
+ /// A Null-terminated ASCII string array that contains one or more\r
+ /// supported language codes. This is the list of language codes that\r
+ /// this protocol supports. The number of languages supported by a\r
+ /// driver is up to the driver writer. SupportedLanguages is\r
+ /// specified in RFC 3066 format. \r
+ ///\r
CHAR8 *SupportedLanguages;\r
};\r
\r
Foundation. This includes flushing caches, enabling and disabling interrupts, hooking interrupt\r
vectors and exception vectors, reading internal processor timers, resetting the processor, and\r
determining the processor frequency.\r
-\r
- @param FlushDataCache\r
- Flushes a range of the processor's data cache. If the processor does \r
- not contain a data cache, or the data cache is fully coherent, then this \r
- function can just return EFI_SUCCESS. If the processor does not support \r
- flushing a range of addresses from the data cache, then the entire data \r
- cache must be flushed. \r
-\r
- @param EnableInterrupt \r
- Enables interrupt processing by the processor.\r
-\r
- @param DisableInterrupt \r
- Disables interrupt processing by the processor.\r
-\r
- @param GetInterruptState \r
- Retrieves the processor's current interrupt state.\r
-\r
- @param Init\r
- Generates an INIT on the processor. If a processor cannot programmatically \r
- generate an INIT without help from external hardware, then this function \r
- returns EFI_UNSUPPORTED.\r
-\r
- @param RegisterInterruptHandler\r
- Associates an interrupt service routine with one of the processor's interrupt \r
- vectors. This function is typically used by the EFI_TIMER_ARCH_PROTOCOL to \r
- hook the timer interrupt in a system. It can also be used by the debugger to \r
- hook exception vectors.\r
-\r
- @param GetTimerValue \r
- Returns the value of one of the processor's internal timers.\r
-\r
- @param SetMemoryAttributes \r
- Attempts to set the attributes of a memory region.\r
-\r
- @param NumberOfTimers\r
- The number of timers that are available in a processor. The value in this \r
- field is a constant that must not be modified after the CPU Architectural \r
- Protocol is installed. All consumers must treat this as a read-only field.\r
-\r
- @param DmaBufferAlignment\r
- The size, in bytes, of the alignment required for DMA buffer allocations. \r
- This is typically the size of the largest data cache line in the platform. \r
- The value in this field is a constant that must not be modified after the \r
- CPU Architectural Protocol is installed. All consumers must treat this as \r
- a read-only field.\r
-\r
**/\r
struct _EFI_CPU_ARCH_PROTOCOL {\r
EFI_CPU_FLUSH_DATA_CACHE FlushDataCache;\r
EFI_CPU_REGISTER_INTERRUPT_HANDLER RegisterInterruptHandler;\r
EFI_CPU_GET_TIMER_VALUE GetTimerValue;\r
EFI_CPU_SET_MEMORY_ATTRIBUTES SetMemoryAttributes;\r
+ ///\r
+ /// The number of timers that are available in a processor. The value in this \r
+ /// field is a constant that must not be modified after the CPU Architectural \r
+ /// Protocol is installed. All consumers must treat this as a read-only field.\r
+ ///\r
UINT32 NumberOfTimers;\r
+ ///\r
+ /// The size, in bytes, of the alignment required for DMA buffer allocations. \r
+ /// This is typically the size of the largest data cache line in the platform. \r
+ /// The value in this field is a constant that must not be modified after the \r
+ /// CPU Architectural Protocol is installed. All consumers must treat this as \r
+ /// a read-only field. \r
+ ///\r
UINT32 DmaBufferAlignment;\r
};\r
\r
/**\r
@par Protocol Description:\r
This protocol provides the communication link between the debug agent and the remote host.\r
-\r
- @param Reset\r
- Resets the debugport hardware.\r
- \r
- @param Write\r
- Send a buffer of characters to the debugport device.\r
-\r
- @param Read \r
- Receive a buffer of characters from the debugport device.\r
-\r
- @param Poll \r
- Determine if there is any data available to be read from the debugport device.\r
**/ \r
struct _EFI_DEBUGPORT_PROTOCOL {\r
EFI_DEBUGPORT_RESET Reset;\r
#define EXCEPT_IA32_MACHINE_CHECK 18\r
#define EXCEPT_IA32_SIMD 19\r
\r
-//\r
-// IA-32 processor context definition\r
-//\r
-//\r
-// FXSAVE_STATE\r
-// FP / MMX / XMM registers (see fxrstor instruction definition)\r
-//\r
+///\r
+/// IA-32 processor context definition\r
+///\r
+///\r
+/// FXSAVE_STATE\r
+/// FP / MMX / XMM registers (see fxrstor instruction definition)\r
+///\r
typedef struct {\r
UINT16 Fcw;\r
UINT16 Fsw;\r
#define EXCEPT_X64_MACHINE_CHECK 18\r
#define EXCEPT_X64_SIMD 19\r
\r
-//\r
-// X64 processor context definition\r
-//\r
-// FXSAVE_STATE\r
-// FP / MMX / XMM registers (see fxrstor instruction definition)\r
-//\r
+///\r
+/// X64 processor context definition\r
+///\r
+/// FXSAVE_STATE\r
+/// FP / MMX / XMM registers (see fxrstor instruction definition)\r
+///\r
typedef struct {\r
UINT16 Fcw;\r
UINT16 Fsw;\r
#define EXCEPT_IPF_IA32_INTERCEPT 46\r
#define EXCEPT_IPF_IA32_INTERRUPT 47\r
\r
-//\r
-// IPF processor context definition\r
-//\r
+///\r
+/// IPF processor context definition\r
+///\r
typedef struct {\r
//\r
// The first reserved field is necessary to preserve alignment for the correct\r
IN OUT EFI_SYSTEM_CONTEXT SystemContext\r
);\r
\r
-//\r
-// Machine type definition\r
-//\r
+///\r
+/// Machine type definition\r
+///\r
typedef enum {\r
- IsaIa32 = IMAGE_FILE_MACHINE_I386, // 0x014C\r
- IsaX64 = IMAGE_FILE_MACHINE_X64, // 0x8664\r
- IsaIpf = IMAGE_FILE_MACHINE_IA64, // 0x0200\r
- IsaEbc = IMAGE_FILE_MACHINE_EBC // 0x0EBC\r
+ IsaIa32 = IMAGE_FILE_MACHINE_I386, ///< 0x014C\r
+ IsaX64 = IMAGE_FILE_MACHINE_X64, ///< 0x8664\r
+ IsaIpf = IMAGE_FILE_MACHINE_IA64, ///< 0x0200\r
+ IsaEbc = IMAGE_FILE_MACHINE_EBC ///< 0x0EBC\r
} EFI_INSTRUCTION_SET_ARCHITECTURE;\r
\r
\r
This protocol provides the services to allow the debug agent to register \r
callback functions that are called either periodically or when specific \r
processor exceptions occur.\r
-\r
- @param Isa\r
- Declares the processor architecture for this instance of the EFI\r
- Debug Support protocol.\r
-\r
- @param GetMaximumProcessorIndex\r
- Returns the maximum processor index value that may be used.\r
-\r
- @param RegisterPeriodicCallback\r
- Registers a callback function that will be invoked periodically\r
- and asynchronously to the execution of EFI.\r
-\r
- @param RegisterExceptionCallback\r
- Registers a callback function that will be called each time the\r
- specified processor exception occurs.\r
-\r
- @param InvalidateInstructionCache\r
- Invalidate the instruction cache of the processor. This is required\r
- by processor architectures where instruction and data caches are\r
- not coherent when instructions in the code under debug has been\r
- modified by the debug agent.\r
**/\r
struct _EFI_DEBUG_SUPPORT_PROTOCOL {\r
EFI_INSTRUCTION_SET_ARCHITECTURE Isa;\r