mirror of https://github.com/acidanthera/audk.git
Some adjustment in ECP to make it compatible with EDK1.01(EDK1117) foundation in UEFI2.0+Framework0.9x build mode for silicon modules
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5418 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
03284334ae
commit
d850121ecd
|
@ -138,6 +138,11 @@ NextSupportedLanguage (
|
||||||
#ifdef LANGUAGE_RFC_3066 // LANGUAGE_RFC_3066
|
#ifdef LANGUAGE_RFC_3066 // LANGUAGE_RFC_3066
|
||||||
for (; (*Languages != 0) && (*Languages != ';'); Languages++)
|
for (; (*Languages != 0) && (*Languages != ';'); Languages++)
|
||||||
;
|
;
|
||||||
|
|
||||||
|
if (*Languages == ';') {
|
||||||
|
Languages++;
|
||||||
|
}
|
||||||
|
|
||||||
return Languages;
|
return Languages;
|
||||||
#else // LANGUAGE_ISO_639_2
|
#else // LANGUAGE_ISO_639_2
|
||||||
return (Languages + 3);
|
return (Languages + 3);
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*++
|
/*++
|
||||||
|
|
||||||
Copyright (c) 2004 - 2007, Intel Corporation
|
Copyright (c) 2004 - 2008, Intel Corporation
|
||||||
All rights reserved. This program and the accompanying materials
|
All rights reserved. This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
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
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
@ -72,17 +72,149 @@ Returns:
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EFI_STATUS
|
||||||
|
InstallAllDriverProtocolsWorker (
|
||||||
|
IN EFI_HANDLE ImageHandle,
|
||||||
|
IN EFI_SYSTEM_TABLE * SystemTable,
|
||||||
|
IN EFI_DRIVER_BINDING_PROTOCOL * DriverBinding,
|
||||||
|
IN EFI_HANDLE DriverBindingHandle,
|
||||||
|
IN EFI_COMPONENT_NAME_PROTOCOL * ComponentName, OPTIONAL
|
||||||
|
IN EFI_COMPONENT_NAME2_PROTOCOL * ComponentName2, OPTIONAL
|
||||||
|
IN EFI_DRIVER_CONFIGURATION_PROTOCOL * DriverConfiguration, OPTIONAL
|
||||||
|
IN EFI_DRIVER_CONFIGURATION2_PROTOCOL * DriverConfiguration2, OPTIONAL
|
||||||
|
IN EFI_DRIVER_DIAGNOSTICS_PROTOCOL * DriverDiagnostics, OPTIONAL
|
||||||
|
IN EFI_DRIVER_DIAGNOSTICS2_PROTOCOL * DriverDiagnostics2 OPTIONAL
|
||||||
|
)
|
||||||
|
/*++
|
||||||
|
|
||||||
|
Routine Description:
|
||||||
|
|
||||||
|
Intialize a driver by installing the Driver Binding Protocol onto the
|
||||||
|
driver's DriverBindingHandle. This is typically the same as the driver's
|
||||||
|
ImageHandle, but it can be different if the driver produces multiple
|
||||||
|
DriverBinding Protocols. This function also initializes the EFI Driver
|
||||||
|
Library that initializes the global variables gST, gBS, gRT.
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
|
ImageHandle - The image handle of the driver
|
||||||
|
|
||||||
|
SystemTable - The EFI System Table that was passed to the driver's entry point
|
||||||
|
|
||||||
|
DriverBinding - A Driver Binding Protocol instance that this driver is producing
|
||||||
|
|
||||||
|
DriverBindingHandle - The handle that DriverBinding is to be installe onto. If this
|
||||||
|
parameter is NULL, then a new handle is created.
|
||||||
|
|
||||||
|
ComponentName - A Component Name Protocol instance that this driver is producing
|
||||||
|
|
||||||
|
ComponentName2 - A Component Name2 Protocol instance that this driver is producing
|
||||||
|
|
||||||
|
DriverConfiguration - A Driver Configuration Protocol instance that this driver is producing
|
||||||
|
|
||||||
|
DriverConfiguration2- A Driver Configuration2 Protocol instance that this driver is producing
|
||||||
|
|
||||||
|
DriverDiagnostics - A Driver Diagnostics Protocol instance that this driver is producing
|
||||||
|
|
||||||
|
DriverDiagnostics2 - A Driver Diagnostics2 Protocol instance that this driver is producing
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
|
EFI_SUCCESS if all the protocols were installed onto DriverBindingHandle
|
||||||
|
|
||||||
|
Otherwise, then return status from gBS->InstallProtocolInterface()
|
||||||
|
|
||||||
|
--*/
|
||||||
|
{
|
||||||
|
EFI_STATUS Status;
|
||||||
|
|
||||||
|
Status = EfiLibInstallDriverBinding (ImageHandle, SystemTable, DriverBinding, DriverBindingHandle);
|
||||||
|
if (EFI_ERROR (Status)) {
|
||||||
|
return Status;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ComponentName != NULL) {
|
||||||
|
Status = gBS->InstallProtocolInterface (
|
||||||
|
&DriverBinding->DriverBindingHandle,
|
||||||
|
&gEfiComponentNameProtocolGuid,
|
||||||
|
EFI_NATIVE_INTERFACE,
|
||||||
|
ComponentName
|
||||||
|
);
|
||||||
|
if (EFI_ERROR (Status)) {
|
||||||
|
return Status;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ComponentName2 != NULL) {
|
||||||
|
Status = gBS->InstallProtocolInterface (
|
||||||
|
&DriverBinding->DriverBindingHandle,
|
||||||
|
&gEfiComponentName2ProtocolGuid,
|
||||||
|
EFI_NATIVE_INTERFACE,
|
||||||
|
ComponentName2
|
||||||
|
);
|
||||||
|
if (EFI_ERROR (Status)) {
|
||||||
|
return Status;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (DriverConfiguration != NULL) {
|
||||||
|
Status = gBS->InstallProtocolInterface (
|
||||||
|
&DriverBinding->DriverBindingHandle,
|
||||||
|
&gEfiDriverConfigurationProtocolGuid,
|
||||||
|
EFI_NATIVE_INTERFACE,
|
||||||
|
DriverConfiguration
|
||||||
|
);
|
||||||
|
if (EFI_ERROR (Status)) {
|
||||||
|
return Status;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (DriverConfiguration2 != NULL) {
|
||||||
|
Status = gBS->InstallProtocolInterface (
|
||||||
|
&DriverBinding->DriverBindingHandle,
|
||||||
|
&gEfiDriverConfiguration2ProtocolGuid,
|
||||||
|
EFI_NATIVE_INTERFACE,
|
||||||
|
DriverConfiguration2
|
||||||
|
);
|
||||||
|
if (EFI_ERROR (Status)) {
|
||||||
|
return Status;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (DriverDiagnostics != NULL) {
|
||||||
|
Status = gBS->InstallProtocolInterface (
|
||||||
|
&DriverBinding->DriverBindingHandle,
|
||||||
|
&gEfiDriverDiagnosticsProtocolGuid,
|
||||||
|
EFI_NATIVE_INTERFACE,
|
||||||
|
DriverDiagnostics
|
||||||
|
);
|
||||||
|
if (EFI_ERROR (Status)) {
|
||||||
|
return Status;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (DriverDiagnostics2 != NULL) {
|
||||||
|
Status = gBS->InstallProtocolInterface (
|
||||||
|
&DriverBinding->DriverBindingHandle,
|
||||||
|
&gEfiDriverDiagnostics2ProtocolGuid,
|
||||||
|
EFI_NATIVE_INTERFACE,
|
||||||
|
DriverDiagnostics2
|
||||||
|
);
|
||||||
|
if (EFI_ERROR (Status)) {
|
||||||
|
return Status;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return EFI_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
EfiLibInstallAllDriverProtocols (
|
EfiLibInstallAllDriverProtocols (
|
||||||
IN EFI_HANDLE ImageHandle,
|
IN EFI_HANDLE ImageHandle,
|
||||||
IN EFI_SYSTEM_TABLE * SystemTable,
|
IN EFI_SYSTEM_TABLE * SystemTable,
|
||||||
IN EFI_DRIVER_BINDING_PROTOCOL * DriverBinding,
|
IN EFI_DRIVER_BINDING_PROTOCOL * DriverBinding,
|
||||||
IN EFI_HANDLE DriverBindingHandle,
|
IN EFI_HANDLE DriverBindingHandle,
|
||||||
#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
|
|
||||||
IN EFI_COMPONENT_NAME2_PROTOCOL * ComponentName, OPTIONAL
|
|
||||||
#else
|
|
||||||
IN EFI_COMPONENT_NAME_PROTOCOL * ComponentName, OPTIONAL
|
IN EFI_COMPONENT_NAME_PROTOCOL * ComponentName, OPTIONAL
|
||||||
#endif
|
|
||||||
IN EFI_DRIVER_CONFIGURATION_PROTOCOL * DriverConfiguration, OPTIONAL
|
IN EFI_DRIVER_CONFIGURATION_PROTOCOL * DriverConfiguration, OPTIONAL
|
||||||
IN EFI_DRIVER_DIAGNOSTICS_PROTOCOL * DriverDiagnostics OPTIONAL
|
IN EFI_DRIVER_DIAGNOSTICS_PROTOCOL * DriverDiagnostics OPTIONAL
|
||||||
)
|
)
|
||||||
|
@ -121,54 +253,77 @@ Returns:
|
||||||
|
|
||||||
--*/
|
--*/
|
||||||
{
|
{
|
||||||
EFI_STATUS Status;
|
return InstallAllDriverProtocolsWorker (
|
||||||
|
ImageHandle,
|
||||||
Status = EfiLibInstallDriverBinding (ImageHandle, SystemTable, DriverBinding, DriverBindingHandle);
|
SystemTable,
|
||||||
if (EFI_ERROR (Status)) {
|
DriverBinding,
|
||||||
return Status;
|
DriverBindingHandle,
|
||||||
}
|
ComponentName,
|
||||||
|
NULL,
|
||||||
if (ComponentName != NULL) {
|
DriverConfiguration,
|
||||||
Status = gBS->InstallProtocolInterface (
|
NULL,
|
||||||
&DriverBinding->DriverBindingHandle,
|
DriverDiagnostics,
|
||||||
#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
|
NULL
|
||||||
&gEfiComponentName2ProtocolGuid,
|
|
||||||
#else
|
|
||||||
&gEfiComponentNameProtocolGuid,
|
|
||||||
#endif
|
|
||||||
EFI_NATIVE_INTERFACE,
|
|
||||||
ComponentName
|
|
||||||
);
|
);
|
||||||
if (EFI_ERROR (Status)) {
|
|
||||||
return Status;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (DriverConfiguration != NULL) {
|
EFI_STATUS
|
||||||
Status = gBS->InstallProtocolInterface (
|
EfiLibInstallAllDriverProtocols2 (
|
||||||
&DriverBinding->DriverBindingHandle,
|
IN EFI_HANDLE ImageHandle,
|
||||||
&gEfiDriverConfigurationProtocolGuid,
|
IN EFI_SYSTEM_TABLE * SystemTable,
|
||||||
EFI_NATIVE_INTERFACE,
|
IN EFI_DRIVER_BINDING_PROTOCOL * DriverBinding,
|
||||||
DriverConfiguration
|
IN EFI_HANDLE DriverBindingHandle,
|
||||||
|
IN EFI_COMPONENT_NAME2_PROTOCOL * ComponentName2, OPTIONAL
|
||||||
|
IN EFI_DRIVER_CONFIGURATION2_PROTOCOL * DriverConfiguration2, OPTIONAL
|
||||||
|
IN EFI_DRIVER_DIAGNOSTICS2_PROTOCOL * DriverDiagnostics2 OPTIONAL
|
||||||
|
)
|
||||||
|
/*++
|
||||||
|
|
||||||
|
Routine Description:
|
||||||
|
|
||||||
|
Intialize a driver by installing the Driver Binding Protocol onto the
|
||||||
|
driver's DriverBindingHandle. This is typically the same as the driver's
|
||||||
|
ImageHandle, but it can be different if the driver produces multiple
|
||||||
|
DriverBinding Protocols. This function also initializes the EFI Driver
|
||||||
|
Library that initializes the global variables gST, gBS, gRT.
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
|
ImageHandle - The image handle of the driver
|
||||||
|
|
||||||
|
SystemTable - The EFI System Table that was passed to the driver's entry point
|
||||||
|
|
||||||
|
DriverBinding - A Driver Binding Protocol instance that this driver is producing
|
||||||
|
|
||||||
|
DriverBindingHandle - The handle that DriverBinding is to be installe onto. If this
|
||||||
|
parameter is NULL, then a new handle is created.
|
||||||
|
|
||||||
|
ComponentName2 - A Component Name2 Protocol instance that this driver is producing
|
||||||
|
|
||||||
|
DriverConfiguration2- A Driver Configuration2 Protocol instance that this driver is producing
|
||||||
|
|
||||||
|
DriverDiagnostics2 - A Driver Diagnostics2 Protocol instance that this driver is producing
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
|
EFI_SUCCESS if all the protocols were installed onto DriverBindingHandle
|
||||||
|
|
||||||
|
Otherwise, then return status from gBS->InstallProtocolInterface()
|
||||||
|
|
||||||
|
--*/
|
||||||
|
{
|
||||||
|
return InstallAllDriverProtocolsWorker (
|
||||||
|
ImageHandle,
|
||||||
|
SystemTable,
|
||||||
|
DriverBinding,
|
||||||
|
DriverBindingHandle,
|
||||||
|
NULL,
|
||||||
|
ComponentName2,
|
||||||
|
NULL,
|
||||||
|
DriverConfiguration2,
|
||||||
|
NULL,
|
||||||
|
DriverDiagnostics2
|
||||||
);
|
);
|
||||||
if (EFI_ERROR (Status)) {
|
|
||||||
return Status;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (DriverDiagnostics != NULL) {
|
|
||||||
Status = gBS->InstallProtocolInterface (
|
|
||||||
&DriverBinding->DriverBindingHandle,
|
|
||||||
&gEfiDriverDiagnosticsProtocolGuid,
|
|
||||||
EFI_NATIVE_INTERFACE,
|
|
||||||
DriverDiagnostics
|
|
||||||
);
|
|
||||||
if (EFI_ERROR (Status)) {
|
|
||||||
return Status;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return EFI_SUCCESS;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*++
|
/*++
|
||||||
|
|
||||||
Copyright (c) 2004 - 2007, Intel Corporation
|
Copyright (c) 2004 - 2008, Intel Corporation
|
||||||
All rights reserved. This program and the accompanying materials
|
All rights reserved. This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
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
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
@ -28,6 +28,7 @@ Abstract:
|
||||||
#include "LinkedList.h"
|
#include "LinkedList.h"
|
||||||
#include "GetImage.h"
|
#include "GetImage.h"
|
||||||
#include "EfiImageFormat.h"
|
#include "EfiImageFormat.h"
|
||||||
|
#include "EfiCompNameSupport.h"
|
||||||
|
|
||||||
#include EFI_GUID_DEFINITION (DxeServices)
|
#include EFI_GUID_DEFINITION (DxeServices)
|
||||||
#include EFI_GUID_DEFINITION (EventGroup)
|
#include EFI_GUID_DEFINITION (EventGroup)
|
||||||
|
@ -40,7 +41,9 @@ Abstract:
|
||||||
#include EFI_PROTOCOL_DEFINITION (ComponentName)
|
#include EFI_PROTOCOL_DEFINITION (ComponentName)
|
||||||
#include EFI_PROTOCOL_DEFINITION (ComponentName2)
|
#include EFI_PROTOCOL_DEFINITION (ComponentName2)
|
||||||
#include EFI_PROTOCOL_DEFINITION (DriverConfiguration)
|
#include EFI_PROTOCOL_DEFINITION (DriverConfiguration)
|
||||||
|
#include EFI_PROTOCOL_DEFINITION (DriverConfiguration2)
|
||||||
#include EFI_PROTOCOL_DEFINITION (DriverDiagnostics)
|
#include EFI_PROTOCOL_DEFINITION (DriverDiagnostics)
|
||||||
|
#include EFI_PROTOCOL_DEFINITION (DriverDiagnostics2)
|
||||||
|
|
||||||
#include EFI_PROTOCOL_DEFINITION (DebugMask)
|
#include EFI_PROTOCOL_DEFINITION (DebugMask)
|
||||||
|
|
||||||
|
@ -166,13 +169,9 @@ EfiLibInstallAllDriverProtocols (
|
||||||
IN EFI_SYSTEM_TABLE *SystemTable,
|
IN EFI_SYSTEM_TABLE *SystemTable,
|
||||||
IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding,
|
IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding,
|
||||||
IN EFI_HANDLE DriverBindingHandle,
|
IN EFI_HANDLE DriverBindingHandle,
|
||||||
#if (EFI_SPECIFICATION_VERSION >= 0x00020000)
|
IN EFI_COMPONENT_NAME_PROTOCOL *ComponentName, OPTIONAL
|
||||||
IN EFI_COMPONENT_NAME2_PROTOCOL *ComponentName,
|
IN EFI_DRIVER_CONFIGURATION_PROTOCOL *DriverConfiguration, OPTIONAL
|
||||||
#else
|
IN EFI_DRIVER_DIAGNOSTICS_PROTOCOL *DriverDiagnostics OPTIONAL
|
||||||
IN EFI_COMPONENT_NAME_PROTOCOL *ComponentName,
|
|
||||||
#endif
|
|
||||||
IN EFI_DRIVER_CONFIGURATION_PROTOCOL *DriverConfiguration,
|
|
||||||
IN EFI_DRIVER_DIAGNOSTICS_PROTOCOL *DriverDiagnostics
|
|
||||||
)
|
)
|
||||||
/*++
|
/*++
|
||||||
|
|
||||||
|
@ -210,6 +209,52 @@ Returns:
|
||||||
--*/
|
--*/
|
||||||
;
|
;
|
||||||
|
|
||||||
|
EFI_STATUS
|
||||||
|
EfiLibInstallAllDriverProtocols2 (
|
||||||
|
IN EFI_HANDLE ImageHandle,
|
||||||
|
IN EFI_SYSTEM_TABLE *SystemTable,
|
||||||
|
IN EFI_DRIVER_BINDING_PROTOCOL *DriverBinding,
|
||||||
|
IN EFI_HANDLE DriverBindingHandle,
|
||||||
|
IN EFI_COMPONENT_NAME2_PROTOCOL *ComponentName2, OPTIONAL
|
||||||
|
IN EFI_DRIVER_CONFIGURATION2_PROTOCOL *DriverConfiguration2, OPTIONAL
|
||||||
|
IN EFI_DRIVER_DIAGNOSTICS2_PROTOCOL *DriverDiagnostics2 OPTIONAL
|
||||||
|
)
|
||||||
|
/*++
|
||||||
|
|
||||||
|
Routine Description:
|
||||||
|
|
||||||
|
Intialize a driver by installing the Driver Binding Protocol onto the
|
||||||
|
driver's DriverBindingHandle. This is typically the same as the driver's
|
||||||
|
ImageHandle, but it can be different if the driver produces multiple
|
||||||
|
DriverBinding Protocols. This function also initializes the EFI Driver
|
||||||
|
Library that initializes the global variables gST, gBS, gRT.
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
|
ImageHandle - The image handle of the driver
|
||||||
|
|
||||||
|
SystemTable - The EFI System Table that was passed to the driver's entry point
|
||||||
|
|
||||||
|
DriverBinding - A Driver Binding Protocol instance that this driver is producing
|
||||||
|
|
||||||
|
DriverBindingHandle - The handle that DriverBinding is to be installe onto. If this
|
||||||
|
parameter is NULL, then a new handle is created.
|
||||||
|
|
||||||
|
ComponentName2 - A Component Name2 Protocol instance that this driver is producing
|
||||||
|
|
||||||
|
DriverConfiguration2- A Driver Configuration2 Protocol instance that this driver is producing
|
||||||
|
|
||||||
|
DriverDiagnostics2 - A Driver Diagnostics2 Protocol instance that this driver is producing
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
|
||||||
|
EFI_SUCCESS if all the protocols were installed onto DriverBindingHandle
|
||||||
|
|
||||||
|
Otherwise, then return status from gBS->InstallProtocolInterface()
|
||||||
|
|
||||||
|
--*/
|
||||||
|
;
|
||||||
|
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
EfiLibGetSystemConfigurationTable (
|
EfiLibGetSystemConfigurationTable (
|
||||||
IN EFI_GUID *TableGuid,
|
IN EFI_GUID *TableGuid,
|
||||||
|
|
Loading…
Reference in New Issue