mirror of https://github.com/acidanthera/audk.git
Clear up network stack to use R9 MdeLib:
1.Use driver model APIs in UefiLib 2.Register Unload Image in INF/MSA to be included in autogen code. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3962 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
ba7e162ec1
commit
da1d02010d
|
@ -475,41 +475,12 @@ NetLibGetNicHandle (
|
|||
IN EFI_GUID *ProtocolGuid
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *NET_LIB_DRIVER_UNLOAD) (
|
||||
IN EFI_HANDLE ImageHandle
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
NetLibDefaultUnload (
|
||||
IN EFI_HANDLE ImageHandle
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
NetLibInstallAllDriverProtocolsWithUnload (
|
||||
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_DRIVER_CONFIGURATION_PROTOCOL *DriverConfiguration, OPTIONAL
|
||||
IN EFI_DRIVER_DIAGNOSTICS_PROTOCOL *DriverDiagnostics, OPTIONAL
|
||||
IN NET_LIB_DRIVER_UNLOAD CustomizedUnload
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
NetLibInstallAllDriverProtocols (
|
||||
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_DRIVER_CONFIGURATION_PROTOCOL *DriverConfiguration, OPTIONAL
|
||||
IN EFI_DRIVER_DIAGNOSTICS_PROTOCOL *DriverDiagnostics OPTIONAL
|
||||
);
|
||||
|
||||
enum {
|
||||
//
|
||||
//Various signatures
|
||||
|
|
|
@ -1276,143 +1276,3 @@ NetLibGetNicHandle (
|
|||
return Handle;
|
||||
}
|
||||
|
||||
EFI_STATUS
|
||||
NetLibInstallAllDriverProtocols (
|
||||
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_DRIVER_CONFIGURATION_PROTOCOL *DriverConfiguration, OPTIONAL
|
||||
IN EFI_DRIVER_DIAGNOSTICS_PROTOCOL *DriverDiagnostics 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.
|
||||
DriverConfiguration - A Driver Configuration Protocol instance that this
|
||||
driver is producing.
|
||||
DriverDiagnostics - A Driver Diagnostics 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 NetLibInstallAllDriverProtocolsWithUnload (
|
||||
ImageHandle,
|
||||
SystemTable,
|
||||
DriverBinding,
|
||||
DriverBindingHandle,
|
||||
ComponentName,
|
||||
DriverConfiguration,
|
||||
DriverDiagnostics,
|
||||
NetLibDefaultUnload
|
||||
);
|
||||
}
|
||||
|
||||
EFI_STATUS
|
||||
NetLibInstallAllDriverProtocolsWithUnload (
|
||||
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_DRIVER_CONFIGURATION_PROTOCOL *DriverConfiguration, OPTIONAL
|
||||
IN EFI_DRIVER_DIAGNOSTICS_PROTOCOL *DriverDiagnostics, OPTIONAL
|
||||
IN NET_LIB_DRIVER_UNLOAD Unload
|
||||
)
|
||||
/*++
|
||||
|
||||
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.
|
||||
DriverConfiguration - A Driver Configuration Protocol instance that this
|
||||
driver is producing.
|
||||
DriverDiagnostics - A Driver Diagnostics Protocol instance that this
|
||||
driver is producing.
|
||||
Unload - The customized unload to install.
|
||||
|
||||
Returns:
|
||||
|
||||
EFI_SUCCESS if all the protocols were installed onto DriverBindingHandle
|
||||
Otherwise, then return status from gBS->InstallProtocolInterface()
|
||||
|
||||
--*/
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
EFI_LOADED_IMAGE_PROTOCOL *LoadedImage;
|
||||
|
||||
Status = EfiLibInstallAllDriverProtocols (
|
||||
ImageHandle,
|
||||
SystemTable,
|
||||
DriverBinding,
|
||||
DriverBindingHandle,
|
||||
ComponentName,
|
||||
DriverConfiguration,
|
||||
DriverDiagnostics
|
||||
);
|
||||
|
||||
if (EFI_ERROR (Status)) {
|
||||
return Status;
|
||||
}
|
||||
|
||||
//
|
||||
// Retrieve the Loaded Image Protocol from Image Handle
|
||||
//
|
||||
Status = gBS->OpenProtocol (
|
||||
ImageHandle,
|
||||
&gEfiLoadedImageProtocolGuid,
|
||||
(VOID **) &LoadedImage,
|
||||
ImageHandle,
|
||||
ImageHandle,
|
||||
EFI_OPEN_PROTOCOL_GET_PROTOCOL
|
||||
);
|
||||
|
||||
if (EFI_ERROR (Status)) {
|
||||
return Status;
|
||||
}
|
||||
|
||||
//
|
||||
// Fill in the Unload() service of the Loaded Image Protocol
|
||||
//
|
||||
LoadedImage->Unload = (Unload == NULL) ? NetLibDefaultUnload : Unload;
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
|
|
|
@ -749,7 +749,7 @@ Returns:
|
|||
|
||||
--*/
|
||||
{
|
||||
return NetLibInstallAllDriverProtocols (
|
||||
return EfiLibInstallAllDriverProtocols (
|
||||
ImageHandle,
|
||||
SystemTable,
|
||||
&gArpDriverBinding,
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
EFI_SPECIFICATION_VERSION = 0x00020000
|
||||
|
||||
ENTRY_POINT = ArpDriverEntryPoint
|
||||
|
||||
UNLOAD_IMAGE = NetLibDefaultUnload
|
||||
#
|
||||
# The following information is for reference only and not required by the build tools.
|
||||
#
|
||||
|
|
|
@ -67,6 +67,7 @@
|
|||
<Specification>EDK_RELEASE_VERSION 0x00020000</Specification>
|
||||
<Extern>
|
||||
<ModuleEntryPoint>ArpDriverEntryPoint</ModuleEntryPoint>
|
||||
<ModuleUnloadImage>NetLibDefaultUnload</ModuleUnloadImage>
|
||||
</Extern>
|
||||
</Externs>
|
||||
</ModuleSurfaceArea>
|
|
@ -61,7 +61,7 @@ Returns:
|
|||
|
||||
--*/
|
||||
{
|
||||
return NetLibInstallAllDriverProtocols (
|
||||
return EfiLibInstallAllDriverProtocols (
|
||||
ImageHandle,
|
||||
SystemTable,
|
||||
&gDhcp4DriverBinding,
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
EFI_SPECIFICATION_VERSION = 0x00020000
|
||||
|
||||
ENTRY_POINT = Dhcp4DriverEntryPoint
|
||||
|
||||
UNLOAD_IMAGE = NetLibDefaultUnload
|
||||
#
|
||||
# The following information is for reference only and not required by the build tools.
|
||||
#
|
||||
|
|
|
@ -72,6 +72,7 @@
|
|||
<Specification>EDK_RELEASE_VERSION 0x00020000</Specification>
|
||||
<Extern>
|
||||
<ModuleEntryPoint>Dhcp4DriverEntryPoint</ModuleEntryPoint>
|
||||
<ModuleUnloadImage>NetLibDefaultUnload</ModuleUnloadImage>
|
||||
</Extern>
|
||||
</Externs>
|
||||
</ModuleSurfaceArea>
|
|
@ -85,15 +85,14 @@ Returns:
|
|||
|
||||
--*/
|
||||
{
|
||||
return NetLibInstallAllDriverProtocolsWithUnload (
|
||||
return EfiLibInstallAllDriverProtocols (
|
||||
ImageHandle,
|
||||
SystemTable,
|
||||
&gIp4ConfigDriverBinding,
|
||||
ImageHandle,
|
||||
&gIp4ConfigComponentName,
|
||||
NULL,
|
||||
NULL,
|
||||
EfiIp4ConfigUnload
|
||||
NULL
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
EFI_SPECIFICATION_VERSION = 0x00020000
|
||||
|
||||
ENTRY_POINT = Ip4ConfigDriverEntryPoint
|
||||
|
||||
UNLOAD_IMAGE = EfiIp4ConfigUnload
|
||||
#
|
||||
# The following information is for reference only and not required by the build tools.
|
||||
#
|
||||
|
|
|
@ -72,6 +72,7 @@
|
|||
<Specification>EDK_RELEASE_VERSION 0x00020000</Specification>
|
||||
<Extern>
|
||||
<ModuleEntryPoint>Ip4ConfigDriverEntryPoint</ModuleEntryPoint>
|
||||
<ModuleUnloadImage>EfiIp4ConfigUnload</ModuleUnloadImage>
|
||||
</Extern>
|
||||
</Externs>
|
||||
</ModuleSurfaceArea>
|
|
@ -56,7 +56,7 @@ Returns:
|
|||
|
||||
--*/
|
||||
{
|
||||
return NetLibInstallAllDriverProtocols (
|
||||
return EfiLibInstallAllDriverProtocols (
|
||||
ImageHandle,
|
||||
SystemTable,
|
||||
&gIp4DriverBinding,
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
EFI_SPECIFICATION_VERSION = 0x00020000
|
||||
|
||||
ENTRY_POINT = Ip4DriverEntryPoint
|
||||
UNLOAD_IMAGE = NetLibDefaultUnload
|
||||
|
||||
#
|
||||
# The following information is for reference only and not required by the build tools.
|
||||
|
|
|
@ -96,6 +96,7 @@
|
|||
<Specification>EDK_RELEASE_VERSION 0x00020000</Specification>
|
||||
<Extern>
|
||||
<ModuleEntryPoint>Ip4DriverEntryPoint</ModuleEntryPoint>
|
||||
<ModuleUnloadImage>NetLibDefaultUnload</ModuleUnloadImage>
|
||||
</Extern>
|
||||
</Externs>
|
||||
</ModuleSurfaceArea>
|
|
@ -547,7 +547,7 @@ Returns:
|
|||
|
||||
--*/
|
||||
{
|
||||
return NetLibInstallAllDriverProtocols (
|
||||
return EfiLibInstallAllDriverProtocols (
|
||||
ImageHandle,
|
||||
SystemTable,
|
||||
&gMnpDriverBinding,
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
EFI_SPECIFICATION_VERSION = 0x00020000
|
||||
|
||||
ENTRY_POINT = MnpDriverEntryPoint
|
||||
|
||||
UNLOAD_IMAGE = NetLibDefaultUnload
|
||||
#
|
||||
# The following information is for reference only and not required by the build tools.
|
||||
#
|
||||
|
|
|
@ -65,6 +65,7 @@
|
|||
<Specification>EDK_RELEASE_VERSION 0x00020000</Specification>
|
||||
<Extern>
|
||||
<ModuleEntryPoint>MnpDriverEntryPoint</ModuleEntryPoint>
|
||||
<ModuleUnloadImage>NetLibDefaultUnload</ModuleUnloadImage>
|
||||
</Extern>
|
||||
</Externs>
|
||||
</ModuleSurfaceArea>
|
|
@ -58,7 +58,7 @@ Returns:
|
|||
|
||||
--*/
|
||||
{
|
||||
return NetLibInstallAllDriverProtocols (
|
||||
return EfiLibInstallAllDriverProtocols (
|
||||
ImageHandle,
|
||||
SystemTable,
|
||||
&gMtftp4DriverBinding,
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
EFI_SPECIFICATION_VERSION = 0x00020000
|
||||
|
||||
ENTRY_POINT = Mtftp4DriverEntryPoint
|
||||
|
||||
UNLOAD_IMAGE = NetLibDefaultUnload
|
||||
#
|
||||
# The following information is for reference only and not required by the build tools.
|
||||
#
|
||||
|
|
|
@ -74,6 +74,7 @@
|
|||
<Specification>EDK_RELEASE_VERSION 0x00020000</Specification>
|
||||
<Extern>
|
||||
<ModuleEntryPoint>Mtftp4DriverEntryPoint</ModuleEntryPoint>
|
||||
<ModuleUnloadImage>NetLibDefaultUnload</ModuleUnloadImage>
|
||||
</Extern>
|
||||
</Externs>
|
||||
</ModuleSurfaceArea>
|
|
@ -176,7 +176,7 @@ Returns:
|
|||
//
|
||||
// Install the TCP4 Driver Binding Protocol
|
||||
//
|
||||
Status = NetLibInstallAllDriverProtocols (
|
||||
Status = EfiLibInstallAllDriverProtocols (
|
||||
ImageHandle,
|
||||
SystemTable,
|
||||
&mTcp4DriverBinding,
|
||||
|
@ -185,7 +185,7 @@ Returns:
|
|||
NULL,
|
||||
NULL
|
||||
);
|
||||
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
//
|
||||
// Initialize ISS and random port.
|
||||
//
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
EFI_SPECIFICATION_VERSION = 0x00020000
|
||||
|
||||
ENTRY_POINT = Tcp4DriverEntryPoint
|
||||
|
||||
UNLOAD_IMAGE = NetLibDefaultUnload
|
||||
#
|
||||
# The following information is for reference only and not required by the build tools.
|
||||
#
|
||||
|
|
|
@ -85,6 +85,7 @@
|
|||
<Specification>EDK_RELEASE_VERSION 0x00020000</Specification>
|
||||
<Extern>
|
||||
<ModuleEntryPoint>Tcp4DriverEntryPoint</ModuleEntryPoint>
|
||||
<ModuleUnloadImage>NetLibDefaultUnload</ModuleUnloadImage>
|
||||
</Extern>
|
||||
</Externs>
|
||||
</ModuleSurfaceArea>
|
|
@ -504,7 +504,7 @@ Returns:
|
|||
//
|
||||
// Install the Udp4DriverBinding and Udp4ComponentName protocols.
|
||||
//
|
||||
Status = NetLibInstallAllDriverProtocols (
|
||||
Status = EfiLibInstallAllDriverProtocols (
|
||||
ImageHandle,
|
||||
SystemTable,
|
||||
&gUdp4DriverBinding,
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
EFI_SPECIFICATION_VERSION = 0x00020000
|
||||
|
||||
ENTRY_POINT = Udp4DriverEntryPoint
|
||||
|
||||
UNLOAD_IMAGE = NetLibDefaultUnload
|
||||
#
|
||||
# The following information is for reference only and not required by the build tools.
|
||||
#
|
||||
|
|
|
@ -72,6 +72,7 @@
|
|||
<Specification>EDK_RELEASE_VERSION 0x00020000</Specification>
|
||||
<Extern>
|
||||
<ModuleEntryPoint>Udp4DriverEntryPoint</ModuleEntryPoint>
|
||||
<ModuleUnloadImage>NetLibDefaultUnload</ModuleUnloadImage>
|
||||
</Extern>
|
||||
</Externs>
|
||||
</ModuleSurfaceArea>
|
Loading…
Reference in New Issue