mirror of https://github.com/acidanthera/audk.git
MdePkg:
1. Add AcpiTable & ComponentName2 Protocol definitions. 2. Add HardwareErrorVariable GUID definition. EdkModulePkg: 1. Update DxeCore to let InsatllConfigurationTable() signal the event group whenever a table entry is inserted, modified or deleted. 2. Update ConPlatform to let Simple Text In and Out not share a stop function . git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2625 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
dabd48785b
commit
06fb8ffd07
|
@ -125,6 +125,12 @@ Returns:
|
||||||
// Modify the table enty and return.
|
// Modify the table enty and return.
|
||||||
//
|
//
|
||||||
gDxeCoreST->ConfigurationTable[Index].VendorTable = Table;
|
gDxeCoreST->ConfigurationTable[Index].VendorTable = Table;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Signal Configuration Table change
|
||||||
|
//
|
||||||
|
CoreNotifySignalList (Guid);
|
||||||
|
|
||||||
return EFI_SUCCESS;
|
return EFI_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -210,5 +216,10 @@ Returns:
|
||||||
//
|
//
|
||||||
CalculateEfiHdrCrc (&gDxeCoreST->Hdr);
|
CalculateEfiHdrCrc (&gDxeCoreST->Hdr);
|
||||||
|
|
||||||
|
//
|
||||||
|
// Signal Configuration Table change
|
||||||
|
//
|
||||||
|
CoreNotifySignalList (Guid);
|
||||||
|
|
||||||
return EFI_SUCCESS;
|
return EFI_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,15 +17,20 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
#define VARIABLE_STORE_SIGNATURE EFI_SIGNATURE_32 ('$', 'V', 'S', 'S')
|
#define VARIABLE_STORE_SIGNATURE EFI_SIGNATURE_32 ('$', 'V', 'S', 'S')
|
||||||
|
|
||||||
#define MAX_VARIABLE_SIZE 1024
|
#define MAX_VARIABLE_SIZE 1024
|
||||||
|
|
||||||
#define VARIABLE_DATA 0x55AA
|
//
|
||||||
|
// Enlarges the hardware error record maximum variable size to 32K bytes
|
||||||
|
//
|
||||||
|
#define MAX_HARDWARE_ERROR_VARIABLE_SIZE 0x8000
|
||||||
|
|
||||||
|
#define VARIABLE_DATA 0x55AA
|
||||||
|
|
||||||
//
|
//
|
||||||
// Variable Store Header flags
|
// Variable Store Header flags
|
||||||
//
|
//
|
||||||
#define VARIABLE_STORE_FORMATTED 0x5a
|
#define VARIABLE_STORE_FORMATTED 0x5a
|
||||||
#define VARIABLE_STORE_HEALTHY 0xfe
|
#define VARIABLE_STORE_HEALTHY 0xfe
|
||||||
|
|
||||||
//
|
//
|
||||||
// The alignment of variable's start offset.
|
// The alignment of variable's start offset.
|
||||||
|
|
|
@ -22,7 +22,7 @@ Abstract:
|
||||||
EFI_DRIVER_BINDING_PROTOCOL gConPlatformTextInDriverBinding = {
|
EFI_DRIVER_BINDING_PROTOCOL gConPlatformTextInDriverBinding = {
|
||||||
ConPlatformTextInDriverBindingSupported,
|
ConPlatformTextInDriverBindingSupported,
|
||||||
ConPlatformTextInDriverBindingStart,
|
ConPlatformTextInDriverBindingStart,
|
||||||
ConPlatformDriverBindingStop,
|
ConPlatformTextInDriverBindingStop,
|
||||||
0xa,
|
0xa,
|
||||||
NULL,
|
NULL,
|
||||||
NULL
|
NULL
|
||||||
|
@ -31,7 +31,7 @@ EFI_DRIVER_BINDING_PROTOCOL gConPlatformTextInDriverBinding = {
|
||||||
EFI_DRIVER_BINDING_PROTOCOL gConPlatformTextOutDriverBinding = {
|
EFI_DRIVER_BINDING_PROTOCOL gConPlatformTextOutDriverBinding = {
|
||||||
ConPlatformTextOutDriverBindingSupported,
|
ConPlatformTextOutDriverBindingSupported,
|
||||||
ConPlatformTextOutDriverBindingStart,
|
ConPlatformTextOutDriverBindingStart,
|
||||||
ConPlatformDriverBindingStop,
|
ConPlatformTextOutDriverBindingStop,
|
||||||
0xa,
|
0xa,
|
||||||
NULL,
|
NULL,
|
||||||
NULL
|
NULL
|
||||||
|
@ -287,7 +287,6 @@ Returns:
|
||||||
EFI_STATUS Status;
|
EFI_STATUS Status;
|
||||||
EFI_DEVICE_PATH_PROTOCOL *DevicePath;
|
EFI_DEVICE_PATH_PROTOCOL *DevicePath;
|
||||||
EFI_SIMPLE_TEXT_OUT_PROTOCOL *TextOut;
|
EFI_SIMPLE_TEXT_OUT_PROTOCOL *TextOut;
|
||||||
|
|
||||||
BOOLEAN NeedClose;
|
BOOLEAN NeedClose;
|
||||||
|
|
||||||
NeedClose = TRUE;
|
NeedClose = TRUE;
|
||||||
|
@ -360,6 +359,7 @@ Returns:
|
||||||
DevicePath,
|
DevicePath,
|
||||||
CHECK
|
CHECK
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!EFI_ERROR (Status)) {
|
if (!EFI_ERROR (Status)) {
|
||||||
NeedClose = FALSE;
|
NeedClose = FALSE;
|
||||||
Status = gBS->InstallMultipleProtocolInterfaces (
|
Status = gBS->InstallMultipleProtocolInterfaces (
|
||||||
|
@ -403,7 +403,7 @@ Returns:
|
||||||
|
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
EFIAPI
|
EFIAPI
|
||||||
ConPlatformDriverBindingStop (
|
ConPlatformTextInDriverBindingStop (
|
||||||
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
||||||
IN EFI_HANDLE ControllerHandle,
|
IN EFI_HANDLE ControllerHandle,
|
||||||
IN UINTN NumberOfChildren,
|
IN UINTN NumberOfChildren,
|
||||||
|
@ -443,13 +443,81 @@ Returns:
|
||||||
);
|
);
|
||||||
if (!EFI_ERROR (Status)) {
|
if (!EFI_ERROR (Status)) {
|
||||||
//
|
//
|
||||||
// Remove DevicePath from ConInDev, ConOutDev, and StdErrDev
|
// Remove DevicePath from ConInDev
|
||||||
//
|
//
|
||||||
ConPlatformUpdateDeviceVariable (
|
ConPlatformUpdateDeviceVariable (
|
||||||
VarConsoleInpDev,
|
VarConsoleInpDev,
|
||||||
DevicePath,
|
DevicePath,
|
||||||
DELETE
|
DELETE
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// Uninstall the Console Device GUIDs from Controller Handle
|
||||||
|
//
|
||||||
|
ConPlatformUnInstallProtocol (
|
||||||
|
This,
|
||||||
|
ControllerHandle,
|
||||||
|
&gEfiConsoleInDeviceGuid
|
||||||
|
);
|
||||||
|
|
||||||
|
//
|
||||||
|
// Close the Simple Input Protocol
|
||||||
|
//
|
||||||
|
gBS->CloseProtocol (
|
||||||
|
ControllerHandle,
|
||||||
|
&gEfiSimpleTextInProtocolGuid,
|
||||||
|
This->DriverBindingHandle,
|
||||||
|
ControllerHandle
|
||||||
|
);
|
||||||
|
|
||||||
|
return EFI_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
EFI_STATUS
|
||||||
|
EFIAPI
|
||||||
|
ConPlatformTextOutDriverBindingStop (
|
||||||
|
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
||||||
|
IN EFI_HANDLE ControllerHandle,
|
||||||
|
IN UINTN NumberOfChildren,
|
||||||
|
IN EFI_HANDLE *ChildHandleBuffer
|
||||||
|
)
|
||||||
|
/*++
|
||||||
|
|
||||||
|
Routine Description:
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
(Standard DriverBinding Protocol Stop() function)
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
--*/
|
||||||
|
{
|
||||||
|
EFI_STATUS Status;
|
||||||
|
EFI_DEVICE_PATH_PROTOCOL *DevicePath;
|
||||||
|
|
||||||
|
//
|
||||||
|
// hot plug device is not included into the console associated variables,
|
||||||
|
// so no need to check variable for those hot plug devices.
|
||||||
|
//
|
||||||
|
if (!IsHotPlugDevice (This->DriverBindingHandle, ControllerHandle)) {
|
||||||
|
//
|
||||||
|
// Get the Device Path Protocol so the environment variables can be updated
|
||||||
|
//
|
||||||
|
Status = gBS->OpenProtocol (
|
||||||
|
ControllerHandle,
|
||||||
|
&gEfiDevicePathProtocolGuid,
|
||||||
|
(VOID **) &DevicePath,
|
||||||
|
This->DriverBindingHandle,
|
||||||
|
ControllerHandle,
|
||||||
|
EFI_OPEN_PROTOCOL_GET_PROTOCOL
|
||||||
|
);
|
||||||
|
if (!EFI_ERROR (Status)) {
|
||||||
|
//
|
||||||
|
// Remove DevicePath from ConOutDev, and StdErrDev
|
||||||
|
//
|
||||||
ConPlatformUpdateDeviceVariable (
|
ConPlatformUpdateDeviceVariable (
|
||||||
VarConsoleOutDev,
|
VarConsoleOutDev,
|
||||||
DevicePath,
|
DevicePath,
|
||||||
|
@ -465,12 +533,6 @@ Returns:
|
||||||
//
|
//
|
||||||
// Uninstall the Console Device GUIDs from Controller Handle
|
// Uninstall the Console Device GUIDs from Controller Handle
|
||||||
//
|
//
|
||||||
ConPlatformUnInstallProtocol (
|
|
||||||
This,
|
|
||||||
ControllerHandle,
|
|
||||||
&gEfiConsoleInDeviceGuid
|
|
||||||
);
|
|
||||||
|
|
||||||
ConPlatformUnInstallProtocol (
|
ConPlatformUnInstallProtocol (
|
||||||
This,
|
This,
|
||||||
ControllerHandle,
|
ControllerHandle,
|
||||||
|
@ -484,15 +546,8 @@ Returns:
|
||||||
);
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Close the Simple Input and Simple Text Output Protocols
|
// Close the Simple Text Output Protocol
|
||||||
//
|
//
|
||||||
gBS->CloseProtocol (
|
|
||||||
ControllerHandle,
|
|
||||||
&gEfiSimpleTextInProtocolGuid,
|
|
||||||
This->DriverBindingHandle,
|
|
||||||
ControllerHandle
|
|
||||||
);
|
|
||||||
|
|
||||||
gBS->CloseProtocol (
|
gBS->CloseProtocol (
|
||||||
ControllerHandle,
|
ControllerHandle,
|
||||||
&gEfiSimpleTextOutProtocolGuid,
|
&gEfiSimpleTextOutProtocolGuid,
|
||||||
|
@ -503,6 +558,7 @@ Returns:
|
||||||
return EFI_SUCCESS;
|
return EFI_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
ConPlatformUnInstallProtocol (
|
ConPlatformUnInstallProtocol (
|
||||||
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
||||||
|
|
|
@ -75,7 +75,16 @@ ConPlatformTextOutDriverBindingStart (
|
||||||
|
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
EFIAPI
|
EFIAPI
|
||||||
ConPlatformDriverBindingStop (
|
ConPlatformTextInDriverBindingStop (
|
||||||
|
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
||||||
|
IN EFI_HANDLE Handle,
|
||||||
|
IN UINTN NumberOfChildren,
|
||||||
|
IN EFI_HANDLE *ChildHandleBuffer
|
||||||
|
);
|
||||||
|
|
||||||
|
EFI_STATUS
|
||||||
|
EFIAPI
|
||||||
|
ConPlatformTextOutDriverBindingStop (
|
||||||
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
||||||
IN EFI_HANDLE Handle,
|
IN EFI_HANDLE Handle,
|
||||||
IN UINTN NumberOfChildren,
|
IN UINTN NumberOfChildren,
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
/** @file
|
||||||
|
GUID for hardware error record variables.
|
||||||
|
|
||||||
|
Copyright (c) 2007, 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.
|
||||||
|
|
||||||
|
Module Name: HardwareErrorVariable.h
|
||||||
|
|
||||||
|
@par Revision Reference:
|
||||||
|
GUID defined in UEFI 2.1.
|
||||||
|
|
||||||
|
**/
|
||||||
|
|
||||||
|
#ifndef _HARDWARE_ERROR_VARIABLE_GUID_H_
|
||||||
|
#define _HARDWARE_ERROR_VARIABLE_GUID_H_
|
||||||
|
|
||||||
|
#define EFI_HARDWARE_ERROR_VARIABLE_GUID \
|
||||||
|
{ \
|
||||||
|
0x414E6BDD, 0xE47B, 0x47cc, {0xB2, 0x44, 0xBB, 0x61, 0x02, 0x0C, 0xF5, 0x16} \
|
||||||
|
}
|
||||||
|
|
||||||
|
extern EFI_GUID gEfiHardwareErrorVariableGuid;
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,97 @@
|
||||||
|
/** @file
|
||||||
|
This protocol may be used to install or remove an ACPI table from a platform.
|
||||||
|
|
||||||
|
Copyright (c) 2007, 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.
|
||||||
|
|
||||||
|
Module Name: AcpiTable.h
|
||||||
|
|
||||||
|
@par Revision Reference:
|
||||||
|
ACPI Table Protocol from the UEFI 2.1 specification.
|
||||||
|
|
||||||
|
**/
|
||||||
|
|
||||||
|
#ifndef __ACPI_TABLE_H__
|
||||||
|
#define __ACPI_TABLE_H__
|
||||||
|
|
||||||
|
//
|
||||||
|
// Global ID for the Acpi Table Protocol
|
||||||
|
//
|
||||||
|
#define EFI_ACPI_TABLE_PROTOCOL_GUID \
|
||||||
|
{ \
|
||||||
|
0xffe06bdd, 0x6107, 0x46a6, {0x7b, 0xb2, 0x5a, 0x9c, 0x7e, 0xc5, 0x27, 0x5c} \
|
||||||
|
}
|
||||||
|
|
||||||
|
typedef struct _EFI_ACPI_TABLE_PROTOCOL EFI_ACPI_TABLE_PROTOCOL;
|
||||||
|
|
||||||
|
#define UEFI_ACPI_TABLE_SIGNATURE EFI_SIGNATURE_32 ('U', 'E', 'F', 'I')
|
||||||
|
|
||||||
|
/**
|
||||||
|
Installs an ACPI table into the RSDT/XSDT.
|
||||||
|
|
||||||
|
@param This Protocol instance pointer.
|
||||||
|
@param AcpiTableBuffer A pointer to a buffer containing the ACPI table
|
||||||
|
to be installed.
|
||||||
|
@param AcpiTableBufferSize Specifies the size, in bytes, of the
|
||||||
|
AcpiTableBuffer buffer.
|
||||||
|
@param TableKey Reurns a key to refer to the ACPI table.
|
||||||
|
|
||||||
|
@retval EFI_SUCCESS The table was successfully inserted.
|
||||||
|
@retval EFI_INVALID_PARAMETER Either AcpiTableBuffer is NULL, TableKey is
|
||||||
|
NULL, or AcpiTableBufferSize and the size field
|
||||||
|
embedded in the ACPI table pointed to by
|
||||||
|
AcpiTableBuffer are not in sync.
|
||||||
|
@retval EFI_OUT_OF_RESOURCES Insufficient resources exist to complete the
|
||||||
|
request.
|
||||||
|
|
||||||
|
**/
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_ACPI_TABLE_INSTALL_ACPI_TABLE) (
|
||||||
|
IN EFI_ACPI_TABLE_PROTOCOL *This,
|
||||||
|
IN VOID *AcpiTableBuffer,
|
||||||
|
IN UINTN AcpiTableBufferSize,
|
||||||
|
OUT UINTN *TableKey
|
||||||
|
)
|
||||||
|
;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Removes an ACPI table from the RSDT/XSDT.
|
||||||
|
|
||||||
|
@param This Protocol instance pointer.
|
||||||
|
@param TableKey Specifies the table to uninstall. The key was
|
||||||
|
returned from InstallAcpiTable().
|
||||||
|
|
||||||
|
@retval EFI_SUCCESS The table was successfully uninstalled.
|
||||||
|
@retval EFI_NOT_FOUND TableKey does not refer to a valid key for a
|
||||||
|
table entry.
|
||||||
|
|
||||||
|
**/
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_ACPI_TABLE_UNINSTALL_ACPI_TABLE) (
|
||||||
|
IN EFI_ACPI_TABLE_PROTOCOL *This,
|
||||||
|
IN UINTN TableKey
|
||||||
|
)
|
||||||
|
;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Interface structure for the ACPI Table Protocol
|
||||||
|
//
|
||||||
|
struct _EFI_ACPI_TABLE_PROTOCOL {
|
||||||
|
EFI_ACPI_TABLE_INSTALL_ACPI_TABLE InstallAcpiTable;
|
||||||
|
EFI_ACPI_TABLE_UNINSTALL_ACPI_TABLE UninstallAcpiTable;
|
||||||
|
};
|
||||||
|
|
||||||
|
//
|
||||||
|
// Extern the GUID for protocol users.
|
||||||
|
//
|
||||||
|
extern EFI_GUID gEfiAcpiTableProtocolGuid;
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,136 @@
|
||||||
|
/** @file
|
||||||
|
EFI Component Name 2 Protocol
|
||||||
|
|
||||||
|
Copyright (c) 2007, 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.
|
||||||
|
|
||||||
|
Module Name: ComponentName2.h
|
||||||
|
|
||||||
|
@par Revision Reference:
|
||||||
|
Component Name 2 Protocol from the UEFI 2.1 specification.
|
||||||
|
|
||||||
|
**/
|
||||||
|
|
||||||
|
#ifndef _EFI_COMPONENT_NAME2_H_
|
||||||
|
#define _EFI_COMPONENT_NAME2_H_
|
||||||
|
|
||||||
|
//
|
||||||
|
// Global ID for the Component Name Protocol
|
||||||
|
//
|
||||||
|
|
||||||
|
#define EFI_COMPONENT_NAME2_PROTOCOL_GUID \
|
||||||
|
{ \
|
||||||
|
0x6a7a5cff, 0xe8d9, 0x4f70, {0xba, 0xda, 0x75, 0xab, 0x30, 0x25, 0xce, 0x14} \
|
||||||
|
}
|
||||||
|
|
||||||
|
typedef struct _EFI_COMPONENT_NAME2_PROTOCOL EFI_COMPONENT_NAME2_PROTOCOL;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Retrieves a Unicode string that is the user readable name of the EFI Driver.
|
||||||
|
|
||||||
|
@param This A pointer to the EFI_COMPONENT_NAME_PROTOCOL
|
||||||
|
instance.
|
||||||
|
@param Language A pointer to a Null-terminated ASCII string array indicating the
|
||||||
|
language. This is the language of the driver name that the caller
|
||||||
|
is requesting, and it must match one of the languages specified in
|
||||||
|
SupportedLanguages. The number of languages supported by a
|
||||||
|
driver is up to the driver writer. Language is specified in RFC
|
||||||
|
3066 language code format.
|
||||||
|
@param DriverName A pointer to the Unicode string to return. This
|
||||||
|
Unicode string is the name of the driver
|
||||||
|
specified by This in the language specified by
|
||||||
|
Language.
|
||||||
|
|
||||||
|
@retval EFI_SUCCESS The Unicode string for the Driver specified by
|
||||||
|
This and the language specified by Language was
|
||||||
|
returned in DriverName.
|
||||||
|
@retval EFI_INVALID_PARAMETER Language is NULL or DriverName is NULL.
|
||||||
|
@retval EFI_UNSUPPORTED The driver specified by This does not support
|
||||||
|
the language specified by Language.
|
||||||
|
|
||||||
|
**/
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_COMPONENT_NAME2_GET_DRIVER_NAME) (
|
||||||
|
IN EFI_COMPONENT_NAME2_PROTOCOL *This,
|
||||||
|
IN CHAR8 *Language,
|
||||||
|
OUT CHAR16 **DriverName
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
Retrieves a Unicode string that is the user readable name of the controller
|
||||||
|
that is being managed by an EFI Driver.
|
||||||
|
|
||||||
|
@param This A pointer to the EFI_COMPONENT_NAME_PROTOCOL
|
||||||
|
instance.
|
||||||
|
@param ControllerHandle The handle of a controller that the driver
|
||||||
|
specified by This is managing. This handle
|
||||||
|
specifies the controller whose name is to be
|
||||||
|
returned.
|
||||||
|
@param ChildHandle The handle of the child controller to retrieve
|
||||||
|
the name of. This is an optional parameter
|
||||||
|
that may be NULL. It will be NULL for device
|
||||||
|
drivers. It will also be NULL for a bus
|
||||||
|
drivers that wish to retrieve the name of the
|
||||||
|
bus controller. It will not be NULL for a bus
|
||||||
|
driver that wishes to retrieve the name of a
|
||||||
|
child controller.
|
||||||
|
@param Language A pointer to a Null- terminated ASCII string array indicating the
|
||||||
|
language. This is the language of the controller name that the
|
||||||
|
caller is requesting, and it must match one of the languages
|
||||||
|
specified in SupportedLanguages. The number of languages
|
||||||
|
supported by a driver is up to the driver writer. Language is
|
||||||
|
specified in RFC 3066 language code format.
|
||||||
|
@param ControllerName A pointer to the Unicode string to return. This
|
||||||
|
Unicode string is the name of the controller
|
||||||
|
specified by ControllerHandle and ChildHandle
|
||||||
|
in the language specified by Language from the
|
||||||
|
point of view of the driver specified by This.
|
||||||
|
|
||||||
|
@retval EFI_SUCCESS The Unicode string for the user readable name in
|
||||||
|
the language specified by Language for the
|
||||||
|
driver specified by This was returned in
|
||||||
|
DriverName.
|
||||||
|
@retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE;
|
||||||
|
ChildHandle is not NULL and it is not a valid
|
||||||
|
EFI_HANDLE;Language is NULL;ControllerName is
|
||||||
|
NULL.
|
||||||
|
@retval EFI_UNSUPPORTED The driver specified by This is not currently
|
||||||
|
managing the controller specified by
|
||||||
|
ControllerHandle and ChildHandle;The driver
|
||||||
|
specified by This does not support the language
|
||||||
|
specified by Language.
|
||||||
|
|
||||||
|
**/
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME) (
|
||||||
|
IN EFI_COMPONENT_NAME2_PROTOCOL *This,
|
||||||
|
IN EFI_HANDLE ControllerHandle,
|
||||||
|
IN EFI_HANDLE ChildHandle OPTIONAL,
|
||||||
|
IN CHAR8 *Language,
|
||||||
|
OUT CHAR16 **ControllerName
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Interface structure for the Component Name 2 Protocol
|
||||||
|
//
|
||||||
|
struct _EFI_COMPONENT_NAME2_PROTOCOL {
|
||||||
|
EFI_COMPONENT_NAME2_GET_DRIVER_NAME GetDriverName;
|
||||||
|
EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME GetControllerName;
|
||||||
|
CHAR8 *SupportedLanguages;
|
||||||
|
};
|
||||||
|
|
||||||
|
//
|
||||||
|
// Extern the GUID for protocol users.
|
||||||
|
//
|
||||||
|
extern EFI_GUID gEfiComponentName2ProtocolGuid;
|
||||||
|
|
||||||
|
#endif
|
|
@ -580,9 +580,10 @@ VOID
|
||||||
//
|
//
|
||||||
// Variable attributes
|
// Variable attributes
|
||||||
//
|
//
|
||||||
#define EFI_VARIABLE_NON_VOLATILE 0x00000001
|
#define EFI_VARIABLE_NON_VOLATILE 0x00000001
|
||||||
#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002
|
#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002
|
||||||
#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004
|
#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004
|
||||||
|
#define EFI_VARIABLE_HARDWARE_ERROR_RECORD 0x00000008
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Returns the value of a variable.
|
Returns the value of a variable.
|
||||||
|
@ -2329,7 +2330,7 @@ typedef enum {
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Protocols from EFI 1.10 that got thier names fixed in UEFI 2.0
|
// Protocols from EFI 1.10 that got their names fixed in UEFI 2.0
|
||||||
//
|
//
|
||||||
#include <Protocol/LoadedImage.h>
|
#include <Protocol/LoadedImage.h>
|
||||||
#include <Protocol/SimpleTextIn.h>
|
#include <Protocol/SimpleTextIn.h>
|
||||||
|
@ -2409,8 +2410,11 @@ typedef enum {
|
||||||
#include <Protocol/Mtftp4.h>
|
#include <Protocol/Mtftp4.h>
|
||||||
#include <Protocol/ServiceBinding.h>
|
#include <Protocol/ServiceBinding.h>
|
||||||
#include <Protocol/Hash.h>
|
#include <Protocol/Hash.h>
|
||||||
|
#include <Protocol/AcpiTable.h>
|
||||||
|
#include <Protocol/ComponentName2.h>
|
||||||
|
|
||||||
#include <Guid/EventGroup.h>
|
#include <Guid/EventGroup.h>
|
||||||
|
#include <Guid/HardwareErrorVariable.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -352,6 +352,10 @@
|
||||||
<IncludeHeader>Include/Guid/EventGroup.h</IncludeHeader>
|
<IncludeHeader>Include/Guid/EventGroup.h</IncludeHeader>
|
||||||
<HelpText/>
|
<HelpText/>
|
||||||
</IndustryStdHeader>
|
</IndustryStdHeader>
|
||||||
|
<IndustryStdHeader Name="HardwareErrorVariable">
|
||||||
|
<IncludeHeader>Include/Guid/HardwareErrorVariable.h</IncludeHeader>
|
||||||
|
<HelpText/>
|
||||||
|
</IndustryStdHeader>
|
||||||
<IndustryStdHeader Name="EventLegacyBios">
|
<IndustryStdHeader Name="EventLegacyBios">
|
||||||
<IncludeHeader>Include/Guid/EventLegacyBios.h</IncludeHeader>
|
<IncludeHeader>Include/Guid/EventLegacyBios.h</IncludeHeader>
|
||||||
<HelpText/>
|
<HelpText/>
|
||||||
|
@ -708,6 +712,10 @@
|
||||||
<IncludeHeader>Include/Protocol/AcpiSupport.h</IncludeHeader>
|
<IncludeHeader>Include/Protocol/AcpiSupport.h</IncludeHeader>
|
||||||
<HelpText/>
|
<HelpText/>
|
||||||
</IndustryStdHeader>
|
</IndustryStdHeader>
|
||||||
|
<IndustryStdHeader Name="AcpiTable">
|
||||||
|
<IncludeHeader>Include/Protocol/AcpiTable.h</IncludeHeader>
|
||||||
|
<HelpText/>
|
||||||
|
</IndustryStdHeader>
|
||||||
<IndustryStdHeader Name="Arp">
|
<IndustryStdHeader Name="Arp">
|
||||||
<IncludeHeader>Include/Protocol/Arp.h</IncludeHeader>
|
<IncludeHeader>Include/Protocol/Arp.h</IncludeHeader>
|
||||||
<HelpText/>
|
<HelpText/>
|
||||||
|
@ -736,6 +744,10 @@
|
||||||
<IncludeHeader>Include/Protocol/ComponentName.h</IncludeHeader>
|
<IncludeHeader>Include/Protocol/ComponentName.h</IncludeHeader>
|
||||||
<HelpText/>
|
<HelpText/>
|
||||||
</IndustryStdHeader>
|
</IndustryStdHeader>
|
||||||
|
<IndustryStdHeader Name="ComponentName2">
|
||||||
|
<IncludeHeader>Include/Protocol/ComponentName2.h</IncludeHeader>
|
||||||
|
<HelpText/>
|
||||||
|
</IndustryStdHeader>
|
||||||
<IndustryStdHeader Name="CpuIo">
|
<IndustryStdHeader Name="CpuIo">
|
||||||
<IncludeHeader>Include/Protocol/CpuIo.h</IncludeHeader>
|
<IncludeHeader>Include/Protocol/CpuIo.h</IncludeHeader>
|
||||||
<HelpText/>
|
<HelpText/>
|
||||||
|
@ -1305,6 +1317,11 @@
|
||||||
<GuidValue>1BA0062E-C779-4582-8566-336AE8F78F09</GuidValue>
|
<GuidValue>1BA0062E-C779-4582-8566-336AE8F78F09</GuidValue>
|
||||||
<HelpText/>
|
<HelpText/>
|
||||||
</Entry>
|
</Entry>
|
||||||
|
<Entry Name="HardwareErrorVariable">
|
||||||
|
<C_Name>gEfiHardwareErrorVariableGuid</C_Name>
|
||||||
|
<GuidValue>414E6BDD-E47B-47CC-B244-BB61020CF516</GuidValue>
|
||||||
|
<HelpText/>
|
||||||
|
</Entry>
|
||||||
<Entry Name="HobList">
|
<Entry Name="HobList">
|
||||||
<C_Name>gEfiHobListGuid</C_Name>
|
<C_Name>gEfiHobListGuid</C_Name>
|
||||||
<GuidValue>7739F24C-93D7-11D4-9A3A-0090273FC14D</GuidValue>
|
<GuidValue>7739F24C-93D7-11D4-9A3A-0090273FC14D</GuidValue>
|
||||||
|
@ -1657,6 +1674,11 @@
|
||||||
<GuidValue>107A772C-D5E1-11D4-9A46-0090273FC14D</GuidValue>
|
<GuidValue>107A772C-D5E1-11D4-9A46-0090273FC14D</GuidValue>
|
||||||
<HelpText/>
|
<HelpText/>
|
||||||
</Entry>
|
</Entry>
|
||||||
|
<Entry Name="ComponentName2">
|
||||||
|
<C_Name>gEfiComponentName2ProtocolGuid</C_Name>
|
||||||
|
<GuidValue>6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14</GuidValue>
|
||||||
|
<HelpText/>
|
||||||
|
</Entry>
|
||||||
<Entry Name="DebugPort">
|
<Entry Name="DebugPort">
|
||||||
<C_Name>gEfiDebugPortProtocolGuid</C_Name>
|
<C_Name>gEfiDebugPortProtocolGuid</C_Name>
|
||||||
<GuidValue>EBA4E8D2-3858-41EC-A281-2647BA9660D0</GuidValue>
|
<GuidValue>EBA4E8D2-3858-41EC-A281-2647BA9660D0</GuidValue>
|
||||||
|
@ -1997,6 +2019,11 @@
|
||||||
<GuidValue>DBFF9D55-89B7-46DA-BDDF-677D3DC0241D</GuidValue>
|
<GuidValue>DBFF9D55-89B7-46DA-BDDF-677D3DC0241D</GuidValue>
|
||||||
<HelpText/>
|
<HelpText/>
|
||||||
</Entry>
|
</Entry>
|
||||||
|
<Entry Name="AcpiSupport">
|
||||||
|
<C_Name>gEfiAcpiTableProtocolGuid</C_Name>
|
||||||
|
<GuidValue>FFE06BDD-6107-46A6-7BB2-5A9C7EC5275C</GuidValue>
|
||||||
|
<HelpText/>
|
||||||
|
</Entry>
|
||||||
<Entry Name="BootScriptSave">
|
<Entry Name="BootScriptSave">
|
||||||
<C_Name>gEfiBootScriptSaveProtocolGuid</C_Name>
|
<C_Name>gEfiBootScriptSaveProtocolGuid</C_Name>
|
||||||
<GuidValue>470E1529-B79E-4E32-A0FE-6A156D29F9B2</GuidValue>
|
<GuidValue>470E1529-B79E-4E32-A0FE-6A156D29F9B2</GuidValue>
|
||||||
|
|
Loading…
Reference in New Issue