Update ScsiIo protocol and ScsiPassThruExt protocol guid value to UEFI 2.1

And remove DriverHealth protocol file.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6099 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lgao4 2008-10-10 04:50:16 +00:00
parent 258cce1382
commit eecd469b10
8 changed files with 36 additions and 262 deletions

View File

@ -1,247 +0,0 @@
/** @file
EFI Driver Health Protocol
Copyright (c) 2006 - 2008, 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
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.
**/
#ifndef __EFI_DRIVER_HEALTH_H__
#define __EFI_DRIVER_HEALTH_H__
#define EFI_DRIVER_HEALTH_PROTOCOL_GUID \
{ \
0x2a534210, 0x9280, 0x41d8, { 0xae, 0x79, 0xca, 0xda, 0x1, 0xa2, 0xb1, 0x27 } \
}
typedef struct _EFI_DRIVER_HEALTH_PROTOCOL EFI_DRIVER_HEALTH_PROTOCOL;
///
/// EFI_DRIVER_HEALTH_HEALTH_STATUS
///
typedef enum {
EfiDriverHealthStatusHealthy,
EfiDriverHealthStatusRepairRequired,
EfiDriverHealthStatusConfigurationRequired,
EfiDriverHealthStatusFailed,
EfiDriverHealthStatusReconnectRequired,
EfiDriverHealthStatusRebootRequired
} EFI_DRIVER_HEALTH_HEALTH_STATUS;
///
/// EFI_DRIVER_HEALTH_HII_MESSAGE
///
typedef struct {
EFI_HII_HANDLE HiiHandle;
EFI_STRING_ID StringId;
UINT64 Reserved;
} EFI_DRIVER_HEALTH_HII_MESSAGE;
/**
Reports the progress of a repair operation
@param Value A value between 0 and Limit that identifies the current
progress of the repair operation.
@param Limit The maximum value of Value for the current repair operation.
For example, a driver that wants to specify progress in
percent would use a Limit value of 100.
**/
typedef
VOID
(EFIAPI *EFI_DRIVER_HEALTH_REPAIR_PROGRESS_NOTIFY)(
IN UINTN Value,
IN UINTN Limit
);
/**
Retrieves the health status of a controller in the platform. This function can also
optionally return warning messages, error messages, and a set of HII Forms that may
be repair a controller that is not proper configured.
@param This A pointer to the EFI_DRIVER_HEALTH_PROTOCOL instance.
@param ControllerHandle The handle of the controller to retrieve the health status
on. This is an optional parameter that may be NULL. If
this parameter is NULL, then the value of ChildHandle is
ignored, and the combined health status of all the devices
that the driver is managing is returned.
@param ChildHandle The handle of the child controller to retrieve the health
status on. This is an optional parameter that may be NULL.
This parameter is ignored of ControllerHandle is NULL. It
will be NULL for device drivers. It will also be NULL for
bus drivers when an attempt is made to collect the health
status of the bus controller. If will not be NULL when an
attempt is made to collect the health status for a child
controller produced by the driver.
@param HealthStatus A pointer to the health status that is returned by this
function. This is an optional parameter that may be NULL.
This parameter is ignored of ControllerHandle is NULL.
The health status for the controller specified by
ControllerHandle and ChildHandle is returned.
@param MessageList A pointer to an array of warning or error messages associated
with the controller specified by ControllerHandle and
ChildHandle. This is an optional parameter that may be NULL.
MessageList is allocated by this function with the EFI Boot
Service AllocatePool(), and it is the caller's responsibility
to free MessageList with the EFI Boot Service FreePool().
Each message is specified by tuple of an EFI_HII_HANDLE and
an EFI_STRING_ID. The array of messages is terminated by tuple
containing a EFI_HII_HANDLE with a value of NULL. The
EFI_HII_STRING_PROTOCOL.GetString() function can be used to
retrieve the warning or error message as a Null-terminated
Unicode string in a specific language. Messages may be
returned for any of the HealthStatus values except
EfiDriverHealthStatusReconnectRequired and
EfiDriverHealthStatusRebootRequired.
@param FormHiiHandle A pointer to the HII handle for an HII form associated with the
controller specified by ControllerHandle and ChildHandle.
This is an optional parameter that may be NULL. An HII form
is specified by a combination of an EFI_HII_HANDLE and an
EFI_GUID that identifies the Form Set GUID. The
EFI_FORM_BROWSER2_PROTOCOL.SendForm() function can be used
to display and allow the user to make configuration changes
to the HII Form. An HII form may only be returned with a
HealthStatus value of EfiDriverHealthStatusConfigurationRequired.
@param FormSetGuid A pointer to the GUID for an HII form associated with the
controller specified by ControllerHandle and ChildHandle.
This is an optional parameter that may be NULL. An HII form
is specified by a combination of an EFI_HII_HANDLE and an
EFI_GUID that identifies the Form Set GUID. The
EFI_FORM_BROWSER2_PROTOCOL.SendForm() function can be used
to display and allow the user to make configuration changes
to the HII Form. An HII form may only be returned with a
HealthStatus value of EfiDriverHealthStatusConfigurationRequired.
@retval EFI_SUCCESS ControllerHandle is NULL, and all the controllers
managed by this driver specified by This have a health
status of EfiDriverHealthStatusHealthy with no warning
messages to be returned. The ChildHandle, HealthStatus,
MessageList, and FormList parameters are ignored.
@retval EFI_DEVICE_ERROR ControllerHandle is NULL, and one or more of the
controllers managed by this driver specified by This
do not have a health status of EfiDriverHealthStatusHealthy.
The ChildHandle, HealthStatus, MessageList, and
FormList parameters are ignored.
@retval EFI_DEVICE_ERROR ControllerHandle is NULL, and one or more of the
controllers managed by this driver specified by This
have one or more warning and/or error messages.
The ChildHandle, HealthStatus, MessageList, and
FormList parameters are ignored.
@retval EFI_SUCCESS ControllerHandle is not NULL and the health status
of the controller specified by ControllerHandle and
ChildHandle was returned in HealthStatus. A list
of warning and error messages may be optionally
returned in MessageList, and a list of HII Forms
may be optionally returned in FormList.
@retval EFI_UNSUPPORTED ControllerHandle is not NULL, and the controller
specified by ControllerHandle and ChildHandle is not
currently being managed by the driver specified by This.
@retval EFI_INVALID_PARAMETER HealthStatus is NULL.
@retval EFI_OUT_OF_RESOURCES MessageList is not NULL, and there are not enough
resource available to allocate memory for MessageList.
**/
typedef
EFI_STATUS
(EFIAPI *EFI_DRIVER_HEALTH_GET_HEALTH_STATUS)(
IN EFI_DRIVER_HEALTH_PROTOCOL *This,
IN EFI_HANDLE ControllerHandle OPTIONAL,
IN EFI_HANDLE ChildHandle OPTIONAL,
OUT EFI_DRIVER_HEALTH_HEALTH_STATUS *HealthStatus,
OUT EFI_DRIVER_HEALTH_HII_MESSAGE **MessageList OPTIONAL,
OUT EFI_HII_HANDLE *FormHiiHandle OPTIONAL,
OUT EFI_GUID **FormSetGuid OPTIONAL
);
/**
Performs a repair operation on a controller in the platform. This function can
optionally report repair progress information back to the platform.
@param This A pointer to the EFI_DRIVER_HEALTH_PROTOCOL instance.
@param ControllerHandle The handle of the controller to repair.
@param ChildHandle The handle of the child controller to repair. This is
an optional parameter that may be NULL. It will be NULL
for device drivers. It will also be NULL for bus
drivers when an attempt is made to repair a bus controller.
If will not be NULL when an attempt is made to repair a
child controller produced by the driver.
@param ProgressNotification
A notification function that may be used by a driver to
report the progress of the repair operation. This is
an optional parameter that may be NULL.
@retval EFI_SUCCESS An attempt to repair the controller specified by
ControllerHandle and ChildHandle was performed.
The result of the repair operation can bet
determined by calling GetHealthStatus().
@retval EFI_UNSUPPORTED The driver specified by This is not currently
managing the controller specified by ControllerHandle
and ChildHandle.
@retval EFI_OUT_OF_RESOURCES There are not enough resources to perform the
repair operation.
*/
typedef
EFI_STATUS
(EFIAPI *EFI_DRIVER_HEALTH_REPAIR)(
IN EFI_DRIVER_HEALTH_PROTOCOL *This,
IN EFI_HANDLE ControllerHandle,
IN EFI_HANDLE ChildHandle OPTIONAL,
IN EFI_DRIVER_HEALTH_REPAIR_PROGRESS_NOTIFY ProgressNotification OPTIONAL
);
/**
When installed, the Driver Health Protocol produces a collection of services
that allow the health status for a controller to be retrieved. If a controller
is not in a usable state, status messages may be reported to the user, repair
operations can be invoked, and the user may be asked to make software and/or
hardware configuration changes.
@par Protocol Description:
The Driver Health Protocol is optionally produced by a driver that follows the
EFI Driver Model. If an EFI Driver needs to report health status to the platform,
provide warning or error messages to the user, perform length repair operations,
or request the user to make hardware or software configuration changes, then the
Driver Health Protocol must be produced.
A controller that is managed by driver that follows the EFI Driver Model and
produces the Driver Health Protocol must report the current health of the
controllers that the driver is currently managing. The controller can initially
be healthy, failed, require repair, or require configuration. If a controller
requires configuration, and the user make configuration changes, the controller
may then need to be reconnected or the system may need to be rebooted for the
configuration changes to take affect. Figure 2-1 below shows all the possible
health states of a controller and the legal transitions between the health states.
**/
struct _EFI_DRIVER_HEALTH_PROTOCOL {
EFI_DRIVER_HEALTH_GET_HEALTH_STATUS GetHealthStatus;
EFI_DRIVER_HEALTH_REPAIR Repair;
};
extern EFI_GUID gEfiDriverHealthProtocolGuid;
#endif

View File

@ -85,6 +85,7 @@ typedef UINT64 EFI_FV_ATTRIBUTES;
#define EFI_FV2_ALIGNMENT_2G 0x00000000001F0000ULL #define EFI_FV2_ALIGNMENT_2G 0x00000000001F0000ULL
/** /**
Returns the attributes and current settings of the firmware volume.
Because of constraints imposed by the underlying firmware Because of constraints imposed by the underlying firmware
storage, an instance of the Firmware Volume Protocol may not storage, an instance of the Firmware Volume Protocol may not
@ -116,6 +117,8 @@ EFI_STATUS
/** /**
Modifies the current settings of the firmware volume according to the input parameter.
The SetVolumeAttributes() function is used to set configurable The SetVolumeAttributes() function is used to set configurable
firmware volume attributes. Only EFI_FV_READ_STATUS, firmware volume attributes. Only EFI_FV_READ_STATUS,
EFI_FV_WRITE_STATUS, and EFI_FV_LOCK_STATUS may be modified, and EFI_FV_WRITE_STATUS, and EFI_FV_LOCK_STATUS may be modified, and
@ -209,11 +212,13 @@ EFI_STATUS
/** /**
Retrieves a file and/or file information from the firmware volume.
ReadFile() is used to retrieve any file from a firmware volume ReadFile() is used to retrieve any file from a firmware volume
during the DXE phase. The actual binary encoding of the file in during the DXE phase. The actual binary encoding of the file in
the firmware volume media may be in any arbitrary format as long the firmware volume media may be in any arbitrary format as long
as it does the following: ?It is accessed using the Firmware as it does the following: It is accessed using the Firmware
Volume Protocol. ?The image that is returned follows the image Volume Protocol. The image that is returned follows the image
format defined in Code Definitions: PI Firmware File Format. format defined in Code Definitions: PI Firmware File Format.
If the input value of Buffer==NULL, it indicates the caller is If the input value of Buffer==NULL, it indicates the caller is
requesting only that the type, attributes, and size of the requesting only that the type, attributes, and size of the
@ -308,12 +313,12 @@ EFI_STATUS
/** /**
Locates the requested section within a file and returns it in a buffer.
ReadSection() is used to retrieve a specific section from a file ReadSection() is used to retrieve a specific section from a file
within a firmware volume. The section returned is determined within a firmware volume. The section returned is determined
using a depth-first, left-to-right search algorithm through all using a depth-first, left-to-right search algorithm through all
sections found in the specified file. See sections found in the specified file. The output buffer is specified by a double indirection
????Firmware File Sections???? on page 9 for more details about
sections. The output buffer is specified by a double indirection
of the Buffer parameter. The input value of Buffer is used to of the Buffer parameter. The input value of Buffer is used to
determine if the output buffer is caller allocated or is determine if the output buffer is caller allocated or is
dynamically allocated by ReadSection(). If the input value of dynamically allocated by ReadSection(). If the input value of
@ -432,6 +437,8 @@ typedef struct {
} EFI_FV_WRITE_FILE_DATA; } EFI_FV_WRITE_FILE_DATA;
/** /**
Locates the requested section within a file and returns it in a buffer.
WriteFile() is used to write one or more files to a firmware WriteFile() is used to write one or more files to a firmware
volume. Each file to be written is described by an volume. Each file to be written is described by an
EFI_FV_WRITE_FILE_DATA structure. The caller must ensure that EFI_FV_WRITE_FILE_DATA structure. The caller must ensure that
@ -506,6 +513,9 @@ EFI_STATUS
/** /**
Retrieves information about the next file in the firmware volume store
that matches the search criteria.
GetNextFile() is the interface that is used to search a firmware GetNextFile() is the interface that is used to search a firmware
volume for a particular file. It is called successively until volume for a particular file. It is called successively until
the desired file is located or the function returns the desired file is located or the function returns
@ -589,6 +599,8 @@ EFI_STATUS
); );
/** /**
Return information about a firmware volume.
The GetInfo() function returns information of type The GetInfo() function returns information of type
InformationType for the requested firmware volume. If the volume InformationType for the requested firmware volume. If the volume
does not support the requested information type, then does not support the requested information type, then
@ -644,6 +656,7 @@ EFI_STATUS
/** /**
Sets information about a firmware volume.
The SetInfo() function sets information of type InformationType The SetInfo() function sets information of type InformationType
on the requested firmware volume. on the requested firmware volume.

View File

@ -139,6 +139,8 @@ EFI_STATUS
/** /**
Reads the specified number of bytes into a buffer from the specified block.
The Read() function reads the requested number of bytes from the The Read() function reads the requested number of bytes from the
requested block and stores them in the provided buffer. requested block and stores them in the provided buffer.
Implementations should be mindful that the firmware volume Implementations should be mindful that the firmware volume
@ -194,6 +196,8 @@ EFI_STATUS
); );
/** /**
Writes the specified number of bytes from the input buffer to the block.
The Write() function writes the specified number of bytes from The Write() function writes the specified number of bytes from
the provided buffer to the specified block and offset. If the the provided buffer to the specified block and offset. If the
firmware volume is sticky write, the caller must ensure that firmware volume is sticky write, the caller must ensure that
@ -270,6 +274,8 @@ EFI_STATUS
/** /**
Erases and initializes a firmware volume block.
The EraseBlocks() function erases one or more blocks as denoted The EraseBlocks() function erases one or more blocks as denoted
by the variable argument list. The entire parameter list of by the variable argument list. The entire parameter list of
blocks must be verified before erasing any blocks. If a block is blocks must be verified before erasing any blocks. If a block is

View File

@ -60,6 +60,8 @@ typedef UINTN EFI_BROWSER_ACTION_REQUEST;
/** /**
Initialize the browser to display the specified configuration forms.
This function is the primary interface to the internal forms-based browser. This function is the primary interface to the internal forms-based browser.
The forms browser will display forms associated with the specified Handles. The forms browser will display forms associated with the specified Handles.
The browser will select all forms in packages which have the specified Type The browser will select all forms in packages which have the specified Type
@ -68,7 +70,7 @@ typedef UINTN EFI_BROWSER_ACTION_REQUEST;
@param This A pointer to the EFI_FORM_BROWSER2_PROTOCOL instance @param This A pointer to the EFI_FORM_BROWSER2_PROTOCOL instance
@param Handles A pointer to an array of Handles. This value should correspond @param Handles A pointer to an array of Handles. This value should correspond
to the value of the HII form package that is required to be displayed. Type to the value of the HII form package that is required to be displayed.
@param HandleCount The number of Handles specified in Handle. @param HandleCount The number of Handles specified in Handle.
@ -107,6 +109,7 @@ EFI_STATUS
/** /**
This function is called by a callback handler to retrieve uncommitted state data from the browser.
This routine is called by a routine which was called by the This routine is called by a routine which was called by the
browser. This routine called this service in the browser to browser. This routine called this service in the browser to

View File

@ -20,7 +20,7 @@
#define EFI_SCSI_IO_PROTOCOL_GUID \ #define EFI_SCSI_IO_PROTOCOL_GUID \
{ \ { \
0x932f4736, 0x2362, 0x4002, {0x80, 0x3e, 0x3c, 0xd5, 0x4b, 0x13, 0x8f, 0x85 } \ 0x932f47e6, 0x2362, 0x4002, {0x80, 0x3e, 0x3c, 0xd5, 0x4b, 0x13, 0x8f, 0x85 } \
} }
/// ///

View File

@ -19,7 +19,7 @@
#define EFI_EXT_SCSI_PASS_THRU_PROTOCOL_GUID \ #define EFI_EXT_SCSI_PASS_THRU_PROTOCOL_GUID \
{ \ { \
0x1d3de7f0, 0x0807, 0x424f, {0xaa, 0x69, 0x11, 0xa5, 0x4e, 0x19, 0xa4, 0x6f } \ 0x143b7632, 0xb81b, 0x4cb7, {0xab, 0xd3, 0xb6, 0x25, 0xa5, 0xb9, 0xbf, 0xfe } \
} }
typedef struct _EFI_EXT_SCSI_PASS_THRU_PROTOCOL EFI_EXT_SCSI_PASS_THRU_PROTOCOL; typedef struct _EFI_EXT_SCSI_PASS_THRU_PROTOCOL EFI_EXT_SCSI_PASS_THRU_PROTOCOL;

View File

@ -213,7 +213,6 @@
gEfiPlatformDriverOverrideProtocolGuid = { 0x6b30c738, 0xa391, 0x11d4, {0x9a, 0x3b, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d } } gEfiPlatformDriverOverrideProtocolGuid = { 0x6b30c738, 0xa391, 0x11d4, {0x9a, 0x3b, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d } }
gEfiDriverFamilyOverrideProtocolGuid = {0x6b30c738, 0xa391, 0x11d4, {0x9a, 0x3b, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d }} gEfiDriverFamilyOverrideProtocolGuid = {0x6b30c738, 0xa391, 0x11d4, {0x9a, 0x3b, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d }}
gEfiBusSpecificDriverOverrideProtocolGuid = { 0x3BC1B285, 0x8A15, 0x4A82, { 0xAA, 0xBF, 0x4D, 0x7D, 0x13, 0xFB, 0x32, 0x65 }} gEfiBusSpecificDriverOverrideProtocolGuid = { 0x3BC1B285, 0x8A15, 0x4A82, { 0xAA, 0xBF, 0x4D, 0x7D, 0x13, 0xFB, 0x32, 0x65 }}
gEfiDriverHealthProtocolGuid = {0x2a534210, 0x9280, 0x41d8, { 0xae, 0x79, 0xca, 0xda, 0x1, 0xa2, 0xb1, 0x27 }}
gEfiDriverDiagnostics2ProtocolGuid = { 0x4D330321, 0x025F, 0x4AAC, { 0x90, 0xD8, 0x5E, 0xD9, 0x00, 0x17, 0x3B, 0x63 }} gEfiDriverDiagnostics2ProtocolGuid = { 0x4D330321, 0x025F, 0x4AAC, { 0x90, 0xD8, 0x5E, 0xD9, 0x00, 0x17, 0x3B, 0x63 }}
gEfiDriverDiagnosticsProtocolGuid = { 0x0784924F, 0xE296, 0x11D4, { 0x9A, 0x49, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }} gEfiDriverDiagnosticsProtocolGuid = { 0x0784924F, 0xE296, 0x11D4, { 0x9A, 0x49, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
gEfiComponentName2ProtocolGuid = { 0x6A7A5CFF, 0xE8D9, 0x4F70, { 0xBA, 0xDA, 0x75, 0xAB, 0x30, 0x25, 0xCE, 0x14 }} gEfiComponentName2ProtocolGuid = { 0x6A7A5CFF, 0xE8D9, 0x4F70, { 0xBA, 0xDA, 0x75, 0xAB, 0x30, 0x25, 0xCE, 0x14 }}
@ -245,8 +244,8 @@
gEfiUnicodeCollation2ProtocolGuid = {0xa4c751fc, 0x23ae, 0x4c3e, { 0x92, 0xe9, 0x49, 0x64, 0xcf, 0x63, 0xf3, 0x49 }} gEfiUnicodeCollation2ProtocolGuid = {0xa4c751fc, 0x23ae, 0x4c3e, { 0x92, 0xe9, 0x49, 0x64, 0xcf, 0x63, 0xf3, 0x49 }}
gEfiPciRootBridgeIoProtocolGuid = { 0x2F707EBB, 0x4A1A, 0x11D4, { 0x9A, 0x38, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }} gEfiPciRootBridgeIoProtocolGuid = { 0x2F707EBB, 0x4A1A, 0x11D4, { 0x9A, 0x38, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }}
gEfiPciIoProtocolGuid = { 0x4CF5B200, 0x68B8, 0x4CA5, { 0x9E, 0xEC, 0xB2, 0x3E, 0x3F, 0x50, 0x02, 0x9A }} gEfiPciIoProtocolGuid = { 0x4CF5B200, 0x68B8, 0x4CA5, { 0x9E, 0xEC, 0xB2, 0x3E, 0x3F, 0x50, 0x02, 0x9A }}
gEfiScsiIoProtocolGuid = { 0x932F4736, 0x2362, 0x4002, { 0x80, 0x3E, 0x3C, 0xD5, 0x4B, 0x13, 0x8F, 0x85 }} gEfiScsiIoProtocolGuid = { 0x932F47e6, 0x2362, 0x4002, { 0x80, 0x3E, 0x3C, 0xD5, 0x4B, 0x13, 0x8F, 0x85 }}
gEfiExtScsiPassThruProtocolGuid = { 0x143B7632, 0xB81B, 0x4CB7, { 0xAB, 0xD3, 0xB6, 0x25, 0xA5, 0xB9, 0xBF, 0xFE }} gEfiExtScsiPassThruProtocolGuid = { 0x143b7632, 0xb81b, 0x4cb7, {0xab, 0xd3, 0xb6, 0x25, 0xa5, 0xb9, 0xbf, 0xfe }}
gEfiScsiPassThruProtocolGuid = { 0xA59E8FCF, 0xBDA0, 0x43BB, { 0x90, 0xB1, 0xD3, 0x73, 0x2E, 0xCA, 0xA8, 0x77 }} gEfiScsiPassThruProtocolGuid = { 0xA59E8FCF, 0xBDA0, 0x43BB, { 0x90, 0xB1, 0xD3, 0x73, 0x2E, 0xCA, 0xA8, 0x77 }}
gEfiIScsiInitiatorNameProtocolGuid = { 0x59324945, 0xEC44, 0x4C0D, { 0xB1, 0xCD, 0x9D, 0xB1, 0x39, 0xDF, 0x07, 0x0C }} gEfiIScsiInitiatorNameProtocolGuid = { 0x59324945, 0xEC44, 0x4C0D, { 0xB1, 0xCD, 0x9D, 0xB1, 0x39, 0xDF, 0x07, 0x0C }}
gEfiUsb2HcProtocolGuid = { 0x3E745226, 0x9818, 0x45B6, { 0xA2, 0xAC, 0xD7, 0xCD, 0x0E, 0x8B, 0xA2, 0xBC }} gEfiUsb2HcProtocolGuid = { 0x3E745226, 0x9818, 0x45B6, { 0xA2, 0xAC, 0xD7, 0xCD, 0x0E, 0x8B, 0xA2, 0xBC }}