Discussion:
[edk2] [PATCH v2 0/7] Remove Ip4ConfigDxe module and related guid definitions from related packages.
jiaxinwu
2015-07-08 06:24:28 UTC
Permalink
Version2 update with a proper commit message.
Those patches are used to remove Ip4ConfigDxe module and related guid definitions from related packages.
Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol, which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver.
Related packages(MdeModulePkg, Nt32Pkg, ArmPlatformPkg, ArmVirtPkg, EmulatorPkg, OvmfPkg, Vlv2TbltDevicePkg) need to remove Ip4ConfigDxe module and related guid definitions.

jiaxinwu (7):
MdeModulePkg: Remove Ip4ConfigDxe module and related guid definition
from MdeModulePkg.
Nt32Pkg: Remove Ip4ConfigDxe module from Nt32Pkg.
OvmfPkg: Remove Ip4ConfigDxe module from OvmfPkg.
ArmPlatformPkg: Remove Ip4ConfigDxe module from ArmPlatformPkg.
ArmVirtPkg: Remove Ip4ConfigDxe module from ArmVirtPkg.
EmulatorPkg: Remove Ip4ConfigDxe module from EmulatorPkg.
Vlv2TbltDevicePkg: Remove Ip4ConfigDxe module from Vlv2TbltDevicePkg.

ArmPlatformPkg/ArmJunoPkg/ArmJuno.fdf | 1 -
.../ArmVExpressPkg/ArmVExpress-CTA15-A7.fdf | 1 -
.../ArmVExpressPkg/ArmVExpress-CTA9x4.fdf | 1 -
.../ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf | 1 -
.../ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.fdf | 1 -
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc | 1 -
ArmVirtPkg/ArmVirt.dsc.inc | 1 -
ArmVirtPkg/ArmVirtQemu.fdf | 1 -
EmulatorPkg/EmulatorPkg.dsc | 1 -
EmulatorPkg/EmulatorPkg.fdf | 3 +-
MdeModulePkg/Include/Guid/Ip4ConfigHii.h | 25 -
MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h | 70 --
MdeModulePkg/MdeModulePkg.dec | 6 -
MdeModulePkg/MdeModulePkg.dsc | 1 -
.../Universal/Network/Ip4ConfigDxe/ComponentName.c | 165 ----
.../Universal/Network/Ip4ConfigDxe/Ip4Config.c | 745 -----------------
.../Universal/Network/Ip4ConfigDxe/Ip4Config.h | 533 ------------
.../Network/Ip4ConfigDxe/Ip4ConfigDriver.c | 505 ------------
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.inf | 91 ---
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.uni | Bin 2700 -> 0 bytes
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr | 89 --
.../Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni | Bin 1366 -> 0 bytes
.../Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni | Bin 3000 -> 0 bytes
.../Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c | 909 ---------------------
.../Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h | 54 --
.../Universal/Network/Ip4ConfigDxe/Ip4NvData.h | 48 --
.../Network/Ip4ConfigDxe/NicIp4Variable.c | 319 --------
.../Network/Ip4ConfigDxe/NicIp4Variable.h | 104 ---
Nt32Pkg/Nt32Pkg.dsc | 1 -
Nt32Pkg/Nt32Pkg.fdf | 1 -
OvmfPkg/OvmfPkgIa32.dsc | 1 -
OvmfPkg/OvmfPkgIa32.fdf | 1 -
OvmfPkg/OvmfPkgIa32X64.dsc | 1 -
OvmfPkg/OvmfPkgIa32X64.fdf | 1 -
OvmfPkg/OvmfPkgX64.dsc | 1 -
OvmfPkg/OvmfPkgX64.fdf | 1 -
Vlv2TbltDevicePkg/PlatformPkg.fdf | 1 -
Vlv2TbltDevicePkg/PlatformPkgGcc.fdf | 1 -
Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc | 1 -
Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 1 -
Vlv2TbltDevicePkg/PlatformPkgX64.dsc | 1 -
41 files changed, 1 insertion(+), 3688 deletions(-)
delete mode 100644 MdeModulePkg/Include/Guid/Ip4ConfigHii.h
delete mode 100644 MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/ComponentName.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.uni
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4NvData.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.h
--
1.9.5.msysgit.1
jiaxinwu
2015-07-08 06:24:30 UTC
Permalink
Version2 update with a proper commit message.

Cc: Ruiyu Ni <***@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: jiaxinwu <***@intel.com>
---
Nt32Pkg/Nt32Pkg.dsc | 1 -
Nt32Pkg/Nt32Pkg.fdf | 1 -
2 files changed, 2 deletions(-)

diff --git a/Nt32Pkg/Nt32Pkg.dsc b/Nt32Pkg/Nt32Pkg.dsc
index a8e5590..330c25b 100644
--- a/Nt32Pkg/Nt32Pkg.dsc
+++ b/Nt32Pkg/Nt32Pkg.dsc
@@ -415,11 +415,10 @@
# To test network drivers, need network Io driver(SnpNt32Io.dll), please refer to NETWORK-IO Subproject.
#
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/Nt32Pkg/Nt32Pkg.fdf b/Nt32Pkg/Nt32Pkg.fdf
index b46580e..24c50fa 100644
--- a/Nt32Pkg/Nt32Pkg.fdf
+++ b/Nt32Pkg/Nt32Pkg.fdf
@@ -250,11 +250,10 @@ INF MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverrideDxe.inf
INF MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf

INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
-INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
--
1.9.5.msysgit.1
jiaxinwu
2015-07-08 06:24:33 UTC
Permalink
Version2 update with a proper commit message.

Cc: Laszlo Ersek <***@redhat.com>
Cc: Ard Biesheuvel <***@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: jiaxinwu <***@intel.com>
---
ArmVirtPkg/ArmVirt.dsc.inc | 1 -
ArmVirtPkg/ArmVirtQemu.fdf | 1 -
2 files changed, 2 deletions(-)

diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
index 7ec0de4..6f47d8e 100644
--- a/ArmVirtPkg/ArmVirt.dsc.inc
+++ b/ArmVirtPkg/ArmVirt.dsc.inc
@@ -364,11 +364,10 @@
# Networking stack
#
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/ArmVirtPkg/ArmVirtQemu.fdf b/ArmVirtPkg/ArmVirtQemu.fdf
index e822fdf..4448018 100644
--- a/ArmVirtPkg/ArmVirtQemu.fdf
+++ b/ArmVirtPkg/ArmVirtQemu.fdf
@@ -181,11 +181,10 @@ READ_LOCK_STATUS = TRUE
# Networking stack
#
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
--
1.9.5.msysgit.1
Ard Biesheuvel
2015-07-08 08:16:47 UTC
Permalink
Post by jiaxinwu
Version2 update with a proper commit message.
This commit message still does not explain the purpose of this change.
Post by jiaxinwu
Contributed-under: TianoCore Contribution Agreement 1.0
---
ArmVirtPkg/ArmVirt.dsc.inc | 1 -
ArmVirtPkg/ArmVirtQemu.fdf | 1 -
2 files changed, 2 deletions(-)
diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
index 7ec0de4..6f47d8e 100644
--- a/ArmVirtPkg/ArmVirt.dsc.inc
+++ b/ArmVirtPkg/ArmVirt.dsc.inc
@@ -364,11 +364,10 @@
# Networking stack
#
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/ArmVirtPkg/ArmVirtQemu.fdf b/ArmVirtPkg/ArmVirtQemu.fdf
index e822fdf..4448018 100644
--- a/ArmVirtPkg/ArmVirtQemu.fdf
+++ b/ArmVirtPkg/ArmVirtQemu.fdf
@@ -181,11 +181,10 @@ READ_LOCK_STATUS = TRUE
# Networking stack
#
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
--
1.9.5.msysgit.1
Laszlo Ersek
2015-07-08 10:47:52 UTC
Permalink
Post by Ard Biesheuvel
Post by jiaxinwu
Version2 update with a proper commit message.
This commit message still does not explain the purpose of this change.
I agree absolutely.

The commit message should be as follows, in *every single* patch that
touches a package in this manner:

<PackageName>: remove Ip4ConfigDxe module from the build

Ip4ConfigDxe used to provide the Ip4Config protocol, on which many
of the network drivers (used in this package) had traditionally
depended.

Since git commit 1f6729ff (SVN r17853), subject

MdeModulePkg: Update Ip4Dxe driver to support Ip4Config2 protocol

the Ip4Dxe driver itself provides a new version of the same
protocol: Ip4Config2. Dependent network drivers, libraries and
applications have been migrated to (or extended to) the new
protocol version.

For example:
- git 7c25b7ea (SVN r17869): ping & ifconfig
- git 00a6ad1b (SVN r17870): UefiHandleParsingLib
- git 6c5c70d6 (SVN r17873): DxeNetLib
- git 39561686 (SVN r17874): IpSecDxe
- git c581e503 (SVN r17875): EfiSocketLib

At this point, no driver, library or application in the edk2 tree
remains with a dependency (or an exclusive dependency) on the old
Ip4Config protocol. Therefore we can remove the providing driver,
Ip4ConfigDxe, from this build.

Jiaxin, please submit a v3 of the series, with this commit message in
each relevant patch. (Please don't forget to customize <PackageName> in
the subject line as appropriate.)

Thanks
Laszlo
Post by Ard Biesheuvel
Post by jiaxinwu
Contributed-under: TianoCore Contribution Agreement 1.0
---
ArmVirtPkg/ArmVirt.dsc.inc | 1 -
ArmVirtPkg/ArmVirtQemu.fdf | 1 -
2 files changed, 2 deletions(-)
diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
index 7ec0de4..6f47d8e 100644
--- a/ArmVirtPkg/ArmVirt.dsc.inc
+++ b/ArmVirtPkg/ArmVirt.dsc.inc
@@ -364,11 +364,10 @@
# Networking stack
#
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/ArmVirtPkg/ArmVirtQemu.fdf b/ArmVirtPkg/ArmVirtQemu.fdf
index e822fdf..4448018 100644
--- a/ArmVirtPkg/ArmVirtQemu.fdf
+++ b/ArmVirtPkg/ArmVirtQemu.fdf
@@ -181,11 +181,10 @@ READ_LOCK_STATUS = TRUE
# Networking stack
#
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
--
1.9.5.msysgit.1
jiaxinwu
2015-07-08 06:24:31 UTC
Permalink
Version2 update with a proper commit message.

Cc: Jordan Justen <***@intel.com>
Cc: Laszlo Ersek <***@redhat.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: jiaxinwu <***@intel.com>
---
OvmfPkg/OvmfPkgIa32.dsc | 1 -
OvmfPkg/OvmfPkgIa32.fdf | 1 -
OvmfPkg/OvmfPkgIa32X64.dsc | 1 -
OvmfPkg/OvmfPkgIa32X64.fdf | 1 -
OvmfPkg/OvmfPkgX64.dsc | 1 -
OvmfPkg/OvmfPkgX64.fdf | 1 -
6 files changed, 6 deletions(-)

diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
index bb008f6..c3508e6 100644
--- a/OvmfPkg/OvmfPkgIa32.dsc
+++ b/OvmfPkg/OvmfPkgIa32.dsc
@@ -524,11 +524,10 @@
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
!if $(NETWORK_IP6_ENABLE) == TRUE
NetworkPkg/Ip6Dxe/Ip6Dxe.inf
diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
index 24ad0bf..aadb099 100644
--- a/OvmfPkg/OvmfPkgIa32.fdf
+++ b/OvmfPkg/OvmfPkgIa32.fdf
@@ -302,11 +302,10 @@ FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
!if $(NETWORK_IP6_ENABLE) == TRUE
INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
index fed584f..40a1cf1 100644
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
@@ -531,11 +531,10 @@
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
!if $(NETWORK_IP6_ENABLE) == TRUE
NetworkPkg/Ip6Dxe/Ip6Dxe.inf
diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
index 5f98be8..bc42a2b 100644
--- a/OvmfPkg/OvmfPkgIa32X64.fdf
+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
@@ -302,11 +302,10 @@ FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
!if $(NETWORK_IP6_ENABLE) == TRUE
INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
index 92af10f..ac4e731 100644
--- a/OvmfPkg/OvmfPkgX64.dsc
+++ b/OvmfPkg/OvmfPkgX64.dsc
@@ -529,11 +529,10 @@
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
!if $(NETWORK_IP6_ENABLE) == TRUE
NetworkPkg/Ip6Dxe/Ip6Dxe.inf
diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
index 11e74e7..b6992bd 100644
--- a/OvmfPkg/OvmfPkgX64.fdf
+++ b/OvmfPkg/OvmfPkgX64.fdf
@@ -302,11 +302,10 @@ FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
!if $(NETWORK_IP6_ENABLE) == TRUE
INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf
--
1.9.5.msysgit.1
jiaxinwu
2015-07-08 06:24:29 UTC
Permalink
Version2 update with a proper commit message.

Cc: Feng Tian <***@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: jiaxinwu <***@intel.com>
---
MdeModulePkg/Include/Guid/Ip4ConfigHii.h | 25 -
MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h | 70 --
MdeModulePkg/MdeModulePkg.dec | 6 -
MdeModulePkg/MdeModulePkg.dsc | 1 -
.../Universal/Network/Ip4ConfigDxe/ComponentName.c | 165 ----
.../Universal/Network/Ip4ConfigDxe/Ip4Config.c | 745 -----------------
.../Universal/Network/Ip4ConfigDxe/Ip4Config.h | 533 ------------
.../Network/Ip4ConfigDxe/Ip4ConfigDriver.c | 505 ------------
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.inf | 91 ---
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.uni | Bin 2700 -> 0 bytes
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr | 89 --
.../Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni | Bin 1366 -> 0 bytes
.../Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni | Bin 3000 -> 0 bytes
.../Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c | 909 ---------------------
.../Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h | 54 --
.../Universal/Network/Ip4ConfigDxe/Ip4NvData.h | 48 --
.../Network/Ip4ConfigDxe/NicIp4Variable.c | 319 --------
.../Network/Ip4ConfigDxe/NicIp4Variable.h | 104 ---
18 files changed, 3664 deletions(-)
delete mode 100644 MdeModulePkg/Include/Guid/Ip4ConfigHii.h
delete mode 100644 MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/ComponentName.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.uni
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4NvData.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.h

diff --git a/MdeModulePkg/Include/Guid/Ip4ConfigHii.h b/MdeModulePkg/Include/Guid/Ip4ConfigHii.h
deleted file mode 100644
index 87c54a0..0000000
--- a/MdeModulePkg/Include/Guid/Ip4ConfigHii.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/** @file
- GUIDs used as HII FormSet and HII Package list GUID in Ip4ConfigDxe driver.
-
-Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
-This program and the accompanying materials are licensed and made available under
-the terms and conditions of the BSD License that 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 __IP4_CONFIG_HII_GUID_H__
-#define __IP4_CONFIG_HII_GUID_H__
-
-#define EFI_NIC_IP4_CONFIG_NVDATA_GUID \
- { \
- 0x9d5b53f, 0xf4b0, 0x4f59, { 0xa0, 0xb1, 0x7b, 0x57, 0xd3, 0x5c, 0xe, 0x5 } \
- }
-
-extern EFI_GUID gNicIp4ConfigNvDataGuid;
-
-#endif
diff --git a/MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h b/MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h
deleted file mode 100644
index d3ce76f..0000000
--- a/MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/** @file
- This file defines NIC_IP4_CONFIG_INFO structure.
-
-Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
-This program and the accompanying materials are licensed and made available under
-the terms and conditions of the BSD License that 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 __NIC_IP4_CONFIG_NVDATA_H__
-#define __NIC_IP4_CONFIG_NVDATA_H__
-
-#include <Protocol/Ip4Config.h>
-
-#define EFI_NIC_IP4_CONFIG_VARIABLE_GUID \
- { \
- 0xd8944553, 0xc4dd, 0x41f4, { 0x9b, 0x30, 0xe1, 0x39, 0x7c, 0xfb, 0x26, 0x7b } \
- }
-
-#define EFI_NIC_IP4_CONFIG_VARIABLE L"EfiNicIp4ConfigVariable"
-
-
-//
-// Config source: dhcp or static
-//
-#define IP4_CONFIG_SOURCE_DHCP 0
-#define IP4_CONFIG_SOURCE_STATIC 1
-#define IP4_CONFIG_SOURCE_MAX 2
-
-#define IP4_NIC_NAME_LENGTH 64
-#define MAX_IP4_CONFIG_IN_VARIABLE 16
-
-//
-// The following structures are used by drivers/applications other
-// than EFI_IP4_PROTOCOL, such as the ifconfig shell application, to
-// communicate the IP configuration information to the EFI_IP4_CONFIG_PROTOCOL.
-// The EFI_IP4_PROTOCOL uses the EFI_IP4_CONFIG_PROTOCOL to get
-// the default IP4 configuration.
-//
-
-///
-/// NIC_ADDR contains the interface's type and MAC address to identify
-/// a specific NIC.
-///
-typedef struct {
- UINT16 Type; ///< Interface type.
- UINT8 Len; ///< Length of MAC address.
- EFI_MAC_ADDRESS MacAddr; ///< MAC address of interface.
-} NIC_ADDR;
-
-///
-/// NIC_IP4_CONFIG_INFO contains the IP4 configure
-/// parameters for that NIC. NIC_IP4_CONFIG_INFO is
-/// of variable length.
-///
-typedef struct {
- NIC_ADDR NicAddr; ///< Link layer address to identify the NIC.
- UINT32 Source; ///< Static or DHCP.
- BOOLEAN Permanent; ///< Survive the reboot or not.
- EFI_IP4_IPCONFIG_DATA Ip4Info; ///< IP addresses.
-} NIC_IP4_CONFIG_INFO;
-
-extern EFI_GUID gEfiNicIp4ConfigVariableGuid;
-
-#endif
diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
index 414b13e..5ef52fc 100644
--- a/MdeModulePkg/MdeModulePkg.dec
+++ b/MdeModulePkg/MdeModulePkg.dec
@@ -196,13 +196,10 @@

## Guid is defined for CRC32 encapsulation scheme.
# Include/Guid/Crc32GuidedSectionExtraction.h
gEfiCrc32GuidedSectionExtractionGuid = { 0xFC1BCDB0, 0x7D31, 0x49aa, {0x93, 0x6A, 0xA4, 0x60, 0x0D, 0x9D, 0xD0, 0x83 } }

- ## Include/Guid/NicIp4ConfigNvData.h
- gEfiNicIp4ConfigVariableGuid = {0xd8944553, 0xc4dd, 0x41f4, { 0x9b, 0x30, 0xe1, 0x39, 0x7c, 0xfb, 0x26, 0x7b }}
-
## Include/Guid/StatusCodeCallbackGuid.h
gStatusCodeCallbackGuid = {0xe701458c, 0x4900, 0x4ca5, {0xb7, 0x72, 0x3d, 0x37, 0x94, 0x9f, 0x79, 0x27}}

## GUID identifies status code records HOB that originate from the PEI status code
# Include/Guid/MemoryStatusCodeRecord.h
@@ -262,13 +259,10 @@
gEfiIfrRefreshIdOpGuid = { 0xF5E655D9, 0x02A6, 0x46f2, { 0x9E, 0x76, 0xB8, 0xBE, 0x8E, 0x60, 0xAB, 0x22 }}

## Include/Guid/PlatDriOverrideHii.h
gPlatformOverridesManagerGuid = { 0x8614567d, 0x35be, 0x4415, { 0x8d, 0x88, 0xbd, 0x7d, 0xc, 0x9c, 0x70, 0xc0 }}

- ## Include/Guid/Ip4ConfigHii.h
- gNicIp4ConfigNvDataGuid = { 0x9d5b53f, 0xf4b0, 0x4f59, { 0xa0, 0xb1, 0x7b, 0x57, 0xd3, 0x5c, 0xe, 0x5 }}
-
## Include/Guid/VlanConfigHii.h
gVlanConfigFormSetGuid = { 0xd79df6b0, 0xef44, 0x43bd, { 0x97, 0x97, 0x43, 0xe9, 0x3b, 0xcf, 0x5f, 0xa8 }}

## Include/Guid/Ip4IScsiConfigHii.h
gIp4IScsiConfigGuid = { 0x6456ed61, 0x3579, 0x41c9, { 0x8a, 0x26, 0x0a, 0x0b, 0xd6, 0x2b, 0x78, 0xfc }}
diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc
index fc518d0..3537ca8 100644
--- a/MdeModulePkg/MdeModulePkg.dsc
+++ b/MdeModulePkg/MdeModulePkg.dsc
@@ -305,11 +305,10 @@
MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf

MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/ComponentName.c b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/ComponentName.c
deleted file mode 100644
index ca68746..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/ComponentName.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/** @file
- UEFI Component Name(2) protocol implementation for Ip4ConfigDxe driver.
-
-Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
-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<BR>
-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.
-
-**/
-
-#include "Ip4Config.h"
-
-//
-// EFI Component Name Protocol
-//
-GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME_PROTOCOL gIp4ConfigComponentName = {
- Ip4ConfigComponentNameGetDriverName,
- Ip4ConfigComponentNameGetControllerName,
- "eng"
-};
-
-//
-// EFI Component Name 2 Protocol
-//
-GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME2_PROTOCOL gIp4ConfigComponentName2 = {
- (EFI_COMPONENT_NAME2_GET_DRIVER_NAME) Ip4ConfigComponentNameGetDriverName,
- (EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME) Ip4ConfigComponentNameGetControllerName,
- "en"
-};
-
-
-GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mIp4ConfigDriverNameTable[] = {
- {"eng;en", L"IP4 CONFIG Network Service Driver"},
- {NULL, NULL}
-};
-
-//
-// EFI Component Name Functions
-//
-
-/**
- Retrieves a Unicode string that is the user readable name of the driver.
-
- This function retrieves the user readable name of a driver in the form of a
- Unicode string. If the driver specified by This has a user readable name in
- the language specified by Language, then a pointer to the driver name is
- returned in DriverName, and EFI_SUCCESS is returned. If the driver specified
- by This does not support the language specified by Language,
- then EFI_UNSUPPORTED is returned.
-
- @param This[in] A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or
- EFI_COMPONENT_NAME_PROTOCOL instance.
- @param Language[in] 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 4646 or ISO 639-2 language code format.
- @param DriverName[out] 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.
- @retval EFI_INVALID_PARAMETER DriverName is NULL.
- @retval EFI_UNSUPPORTED The driver specified by This does not support
- the language specified by Language.
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigComponentNameGetDriverName (
- IN EFI_COMPONENT_NAME_PROTOCOL *This,
- IN CHAR8 *Language,
- OUT CHAR16 **DriverName
- )
-{
- return LookupUnicodeString2 (
- Language,
- This->SupportedLanguages,
- mIp4ConfigDriverNameTable,
- DriverName,
- (BOOLEAN)(This == &gIp4ConfigComponentName)
- );
-}
-
-/**
- Retrieves a Unicode string that is the user readable name of the controller
- that is being managed by a driver.
-
- This function retrieves the user readable name of the controller specified by
- ControllerHandle and ChildHandle in the form of a Unicode string. If the
- driver specified by This has a user readable name in the language specified by
- Language, then a pointer to the controller name is returned in ControllerName,
- and EFI_SUCCESS is returned. If the driver specified by This is not currently
- managing the controller specified by ControllerHandle and ChildHandle,
- then EFI_UNSUPPORTED is returned. If the driver specified by This does not
- support the language specified by Language, then EFI_UNSUPPORTED is returned.
-
- @param This[in] A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or
- EFI_COMPONENT_NAME_PROTOCOL instance.
- @param ControllerHandle[in] 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[in] 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[in] 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 4646 or ISO 639-2 language code format.
- @param ControllerName[out] 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 NULL.
- @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid
- EFI_HANDLE.
- @retval EFI_INVALID_PARAMETER Language is NULL.
- @retval EFI_INVALID_PARAMETER ControllerName is NULL.
- @retval EFI_UNSUPPORTED The driver specified by This is not currently
- managing the controller specified by
- ControllerHandle and ChildHandle.
- @retval EFI_UNSUPPORTED The driver specified by This does not support
- the language specified by Language.
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigComponentNameGetControllerName (
- IN EFI_COMPONENT_NAME_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN EFI_HANDLE ChildHandle OPTIONAL,
- IN CHAR8 *Language,
- OUT CHAR16 **ControllerName
- )
-{
- return EFI_UNSUPPORTED;
-}
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.c b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.c
deleted file mode 100644
index 3d2f0a4..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.c
+++ /dev/null
@@ -1,745 +0,0 @@
-/** @file
- This code implements the IP4Config and NicIp4Config protocols.
-
-Copyright (c) 2014, Hewlett-Packard Development Company, L.P.<BR>
-Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
-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<BR>
-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.
-
-**/
-
-#include "Ip4Config.h"
-#include "NicIp4Variable.h"
-
-//
-// Ip4 Config Protocol
-//
-GLOBAL_REMOVE_IF_UNREFERENCED EFI_IP4_CONFIG_PROTOCOL mIp4ConfigProtocolTemplate = {
- EfiIp4ConfigStart,
- EfiIp4ConfigStop,
- EfiIp4ConfigGetData
-};
-
-/**
- Get the NIC's configure information from the IP4 configure variable.
- It will remove the invalid variable.
-
- @param Instance The IP4 CONFIG instance.
-
- @return NULL if no configure for the NIC in the variable, or it is invalid.
- Otherwise the pointer to the NIC's IP configure parameter will be returned.
-
-**/
-NIC_IP4_CONFIG_INFO *
-EfiNicIp4ConfigGetInfo (
- IN IP4_CONFIG_INSTANCE *Instance
- )
-{
- NIC_IP4_CONFIG_INFO *NicConfig;
-
- //
- // Read the configuration parameter for this NIC from
- // the EFI variable
- //
- NicConfig = Ip4ConfigReadVariable (Instance);
- if (NicConfig == NULL) {
- return NULL;
- }
-
- //
- // Validate the configuration, if the configuration is invalid,
- // remove it from the variable.
- //
- if (!Ip4ConfigIsValid (NicConfig)) {
- Ip4ConfigWriteVariable (Instance, NULL);
-
- FreePool (NicConfig);
- NicConfig = NULL;
- }
-
- return NicConfig;
-}
-
-/**
- Set the IP configure parameters for this NIC.
-
- If Reconfig is TRUE, the IP driver will be informed to discard current
- auto configure parameter and restart the auto configuration process.
- If current there is a pending auto configuration, EFI_ALREADY_STARTED is
- returned. You can only change the configure setting when either
- the configure has finished or not started yet. If NicConfig, the
- NIC's configure parameter is removed from the variable.
-
- @param Instance The IP4 CONFIG instance.
- @param NicConfig The new NIC IP4 configure parameter.
- @param Reconfig Inform the IP4 driver to restart the auto
- configuration.
-
- @retval EFI_SUCCESS The configure parameter for this NIC was
- set successfully.
- @retval EFI_INVALID_PARAMETER This is NULL or the configure parameter is
- invalid.
- @retval EFI_ALREADY_STARTED There is a pending auto configuration.
- @retval EFI_NOT_FOUND No auto configure parameter is found.
-
-**/
-EFI_STATUS
-EFIAPI
-EfiNicIp4ConfigSetInfo (
- IN IP4_CONFIG_INSTANCE *Instance,
- IN NIC_IP4_CONFIG_INFO *NicConfig OPTIONAL,
- IN BOOLEAN Reconfig
- )
-{
- EFI_STATUS Status;
-
- //
- // Validate the parameters
- //
- if (Instance == NULL) {
- return EFI_INVALID_PARAMETER;
- }
-
- if ((NicConfig != NULL) && (!Ip4ConfigIsValid (NicConfig) ||
- !NIC_ADDR_EQUAL (&NicConfig->NicAddr, &Instance->NicAddr))) {
- return EFI_INVALID_PARAMETER;
- }
-
- if (Instance->State == IP4_CONFIG_STATE_STARTED) {
- return EFI_ALREADY_STARTED;
- }
-
- //
- // Update the parameter in the configure variable
- //
- Status = Ip4ConfigWriteVariable (Instance, NicConfig);
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- //
- // Signal the IP4 to run the auto configuration again
- //
- if (Reconfig && (Instance->ReconfigEvent != NULL)) {
- //
- // When NicConfig is NULL, NIC IP4 configuration parameter is removed,
- // the auto configuration process should stop running the configuration
- // policy for the EFI IPv4 Protocol driver.
- //
- if (NicConfig == NULL) {
- Instance->DoNotStart = TRUE;
- }
-
- Status = gBS->SignalEvent (Instance->ReconfigEvent);
- DispatchDpc ();
- }
-
- if (NicConfig == NULL) {
- return Status;
- }
- //
- // A dedicated timer is used to poll underlying media status.In case of
- // cable swap, a new round auto configuration will be initiated. The timer
- // starts in DHCP policy only. STATIC policy stops the timer.
- //
- if (NicConfig->Source == IP4_CONFIG_SOURCE_DHCP) {
- gBS->SetTimer (Instance->Timer, TimerPeriodic, TICKS_PER_SECOND);
- } else if (NicConfig->Source == IP4_CONFIG_SOURCE_STATIC) {
- gBS->SetTimer (Instance->Timer, TimerCancel, 0);
- }
-
- return Status;
-}
-
-/**
- Callback function when DHCP process finished. It will save the
- retrieved IP configure parameter from DHCP to the NVRam.
-
- @param Event The callback event
- @param Context Opaque context to the callback
-
- @return None
-
-**/
-VOID
-EFIAPI
-Ip4ConfigOnDhcp4Complete (
- IN EFI_EVENT Event,
- IN VOID *Context
- )
-{
- IP4_CONFIG_INSTANCE *Instance;
- EFI_DHCP4_MODE_DATA Dhcp4Mode;
- EFI_IP4_IPCONFIG_DATA *Ip4Config;
- EFI_STATUS Status;
- BOOLEAN Permanent;
- IP4_ADDR Subnet;
- IP4_ADDR Ip1;
- IP4_ADDR Ip2;
-
- Instance = (IP4_CONFIG_INSTANCE *) Context;
- ASSERT (Instance->Dhcp4 != NULL);
-
- Instance->State = IP4_CONFIG_STATE_CONFIGURED;
- Instance->Result = EFI_TIMEOUT;
-
- //
- // Get the DHCP retrieved parameters
- //
- Status = Instance->Dhcp4->GetModeData (Instance->Dhcp4, &Dhcp4Mode);
-
- if (EFI_ERROR (Status)) {
- goto ON_EXIT;
- }
-
- if (Dhcp4Mode.State == Dhcp4Bound) {
- //
- // Save the new configuration retrieved by DHCP both in
- // the instance and to NVRam. So, both the IP4 driver and
- // other user can get that address.
- //
- Permanent = FALSE;
-
- if (Instance->NicConfig != NULL) {
- ASSERT (Instance->NicConfig->Source == IP4_CONFIG_SOURCE_DHCP);
- Permanent = Instance->NicConfig->Permanent;
- FreePool (Instance->NicConfig);
- }
-
- Instance->NicConfig = AllocatePool (sizeof (NIC_IP4_CONFIG_INFO) + 2* sizeof (EFI_IP4_ROUTE_TABLE));
-
- if (Instance->NicConfig == NULL) {
- Instance->Result = EFI_OUT_OF_RESOURCES;
- goto ON_EXIT;
- }
-
- Instance->NicConfig->Ip4Info.RouteTable = (EFI_IP4_ROUTE_TABLE *) (Instance->NicConfig + 1);
-
- CopyMem (&Instance->NicConfig->NicAddr, &Instance->NicAddr, sizeof (Instance->NicConfig->NicAddr));
- Instance->NicConfig->Source = IP4_CONFIG_SOURCE_DHCP;
- Instance->NicConfig->Permanent = Permanent;
-
- Ip4Config = &Instance->NicConfig->Ip4Info;
- Ip4Config->StationAddress = Dhcp4Mode.ClientAddress;
- Ip4Config->SubnetMask = Dhcp4Mode.SubnetMask;
-
- //
- // Create a route for the connected network
- //
- Ip4Config->RouteTableSize = 1;
-
- CopyMem (&Ip1, &Dhcp4Mode.ClientAddress, sizeof (IP4_ADDR));
- CopyMem (&Ip2, &Dhcp4Mode.SubnetMask, sizeof (IP4_ADDR));
-
- Subnet = Ip1 & Ip2;
-
- CopyMem (&Ip4Config->RouteTable[0].SubnetAddress, &Subnet, sizeof (EFI_IPv4_ADDRESS));
- CopyMem (&Ip4Config->RouteTable[0].SubnetMask, &Dhcp4Mode.SubnetMask, sizeof (EFI_IPv4_ADDRESS));
- ZeroMem (&Ip4Config->RouteTable[0].GatewayAddress, sizeof (EFI_IPv4_ADDRESS));
-
- //
- // Create a route if there is a default router.
- //
- if (!EFI_IP4_EQUAL (&Dhcp4Mode.RouterAddress, &mZeroIp4Addr)) {
- Ip4Config->RouteTableSize = 2;
-
- ZeroMem (&Ip4Config->RouteTable[1].SubnetAddress, sizeof (EFI_IPv4_ADDRESS));
- ZeroMem (&Ip4Config->RouteTable[1].SubnetMask, sizeof (EFI_IPv4_ADDRESS));
- CopyMem (&Ip4Config->RouteTable[1].GatewayAddress, &Dhcp4Mode.RouterAddress, sizeof (EFI_IPv4_ADDRESS));
- }
-
- Instance->Result = EFI_SUCCESS;
-
- //
- // ignore the return status of EfiNicIp4ConfigSetInfo. Network
- // stack can operate even that failed.
- //
- EfiNicIp4ConfigSetInfo (Instance, Instance->NicConfig, FALSE);
- }
-
-ON_EXIT:
- gBS->SignalEvent (Instance->DoneEvent);
- Ip4ConfigCleanDhcp4 (Instance);
-
- DispatchDpc ();
-
- return ;
-}
-
-/**
- Starts running the configuration policy for the EFI IPv4 Protocol driver.
-
- The Start() function is called to determine and to begin the platform
- configuration policy by the EFI IPv4 Protocol driver. This determination may
- be as simple as returning EFI_UNSUPPORTED if there is no EFI IPv4 Protocol
- driver configuration policy. It may be as involved as loading some defaults
- from nonvolatile storage, downloading dynamic data from a DHCP server, and
- checking permissions with a site policy server.
- Starting the configuration policy is just the beginning. It may finish almost
- instantly or it may take several minutes before it fails to retrieve configuration
- information from one or more servers. Once the policy is started, drivers
- should use the DoneEvent parameter to determine when the configuration policy
- has completed. EFI_IP4_CONFIG_PROTOCOL.GetData() must then be called to
- determine if the configuration succeeded or failed.
- Until the configuration completes successfully, EFI IPv4 Protocol driver instances
- that are attempting to use default configurations must return EFI_NO_MAPPING.
- Once the configuration is complete, the EFI IPv4 Configuration Protocol driver
- signals DoneEvent. The configuration may need to be updated in the future,
- however; in this case, the EFI IPv4 Configuration Protocol driver must signal
- ReconfigEvent, and all EFI IPv4 Protocol driver instances that are using default
- configurations must return EFI_NO_MAPPING until the configuration policy has
- been rerun.
-
- @param This Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.
- @param DoneEvent Event that will be signaled when the EFI IPv4
- Protocol driver configuration policy completes
- execution. This event must be of type EVT_NOTIFY_SIGNAL.
- @param ReconfigEvent Event that will be signaled when the EFI IPv4
- Protocol driver configuration needs to be updated.
- This event must be of type EVT_NOTIFY_SIGNAL.
-
- @retval EFI_SUCCESS The configuration policy for the EFI IPv4 Protocol
- driver is now running.
- @retval EFI_INVALID_PARAMETER One or more of the following parameters is NULL:
- This
- DoneEvent
- ReconfigEvent
- @retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.
- @retval EFI_ALREADY_STARTED The configuration policy for the EFI IPv4 Protocol
- driver was already started.
- @retval EFI_DEVICE_ERROR An unexpected system error or network error occurred.
- @retval EFI_UNSUPPORTED This interface does not support the EFI IPv4 Protocol
- driver configuration.
-
-**/
-EFI_STATUS
-EFIAPI
-EfiIp4ConfigStart (
- IN EFI_IP4_CONFIG_PROTOCOL *This,
- IN EFI_EVENT DoneEvent,
- IN EFI_EVENT ReconfigEvent
- )
-{
- IP4_CONFIG_INSTANCE *Instance;
- EFI_DHCP4_PROTOCOL *Dhcp4;
- EFI_DHCP4_MODE_DATA Dhcp4Mode;
- EFI_DHCP4_PACKET_OPTION *OptionList[1];
- IP4_CONFIG_DHCP4_OPTION ParaList;
- EFI_STATUS Status;
- UINT32 Source;
- EFI_TPL OldTpl;
-
- if ((This == NULL) || (DoneEvent == NULL) || (ReconfigEvent == NULL)) {
- return EFI_INVALID_PARAMETER;
- }
-
- Instance = IP4_CONFIG_INSTANCE_FROM_IP4CONFIG (This);
-
- OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
-
- if (Instance->State != IP4_CONFIG_STATE_IDLE) {
- Status = EFI_ALREADY_STARTED;
-
- goto ON_EXIT;
- }
-
- Instance->DoneEvent = DoneEvent;
- Instance->ReconfigEvent = ReconfigEvent;
-
- Instance->NicConfig = EfiNicIp4ConfigGetInfo (Instance);
-
- if (Instance->NicConfig == NULL) {
- if (Instance->DoNotStart) {
- Instance->DoNotStart = FALSE;
- Status = EFI_SUCCESS;
- goto ON_EXIT;
- }
-
- Source = IP4_CONFIG_SOURCE_DHCP;
- } else {
- Source = Instance->NicConfig->Source;
- }
-
- //
- // If the source is static, the auto configuration is done.
- // return now.
- //
- if (Source == IP4_CONFIG_SOURCE_STATIC) {
- Instance->State = IP4_CONFIG_STATE_CONFIGURED;
- Instance->Result = EFI_SUCCESS;
-
- gBS->SignalEvent (Instance->DoneEvent);
- Status = EFI_SUCCESS;
- goto ON_EXIT;
- }
-
- //
- // Start the dhcp process
- //
- ASSERT ((Source == IP4_CONFIG_SOURCE_DHCP) && (Instance->Dhcp4 == NULL));
-
- Status = NetLibCreateServiceChild (
- Instance->Controller,
- Instance->Image,
- &gEfiDhcp4ServiceBindingProtocolGuid,
- &Instance->Dhcp4Handle
- );
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- Status = gBS->OpenProtocol (
- Instance->Dhcp4Handle,
- &gEfiDhcp4ProtocolGuid,
- (VOID **) &Instance->Dhcp4,
- Instance->Image,
- Instance->Controller,
- EFI_OPEN_PROTOCOL_BY_DRIVER
- );
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- //
- // Check the current DHCP status, if the DHCP process has
- // already finished, return now.
- //
- Dhcp4 = Instance->Dhcp4;
- Status = Dhcp4->GetModeData (Dhcp4, &Dhcp4Mode);
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- if (Dhcp4Mode.State == Dhcp4Bound) {
- Ip4ConfigOnDhcp4Complete (NULL, Instance);
-
- goto ON_EXIT;
- }
-
- //
- // Try to start the DHCP process. Use most of the current
- // DHCP configuration to avoid problems if some DHCP client
- // yields the control of this DHCP service to us.
- //
- ParaList.Head.OpCode = DHCP_TAG_PARA_LIST;
- ParaList.Head.Length = 2;
- ParaList.Head.Data[0] = DHCP_TAG_NETMASK;
- ParaList.Route = DHCP_TAG_ROUTER;
- OptionList[0] = &ParaList.Head;
- Dhcp4Mode.ConfigData.OptionCount = 1;
- Dhcp4Mode.ConfigData.OptionList = OptionList;
-
- Status = Dhcp4->Configure (Dhcp4, &Dhcp4Mode.ConfigData);
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- //
- // Start the DHCP process
- //
- Status = gBS->CreateEvent (
- EVT_NOTIFY_SIGNAL,
- TPL_CALLBACK,
- Ip4ConfigOnDhcp4Complete,
- Instance,
- &Instance->Dhcp4Event
- );
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- Status = Dhcp4->Start (Dhcp4, Instance->Dhcp4Event);
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- Instance->State = IP4_CONFIG_STATE_STARTED;
- Instance->Result = EFI_NOT_READY;
-
-ON_ERROR:
- if (EFI_ERROR (Status)) {
- Ip4ConfigCleanConfig (Instance);
- }
-
-ON_EXIT:
- gBS->RestoreTPL (OldTpl);
-
- DispatchDpc ();
-
- return Status;
-}
-
-
-/**
- Stops running the configuration policy for the EFI IPv4 Protocol driver.
-
- The Stop() function stops the configuration policy for the EFI IPv4 Protocol driver.
- All configuration data will be lost after calling Stop().
-
- @param This Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.
-
- @retval EFI_SUCCESS The configuration policy for the EFI IPv4 Protocol
- driver has been stopped.
- @retval EFI_INVALID_PARAMETER This is NULL.
- @retval EFI_NOT_STARTED The configuration policy for the EFI IPv4 Protocol
- driver was not started.
-
-**/
-EFI_STATUS
-EFIAPI
-EfiIp4ConfigStop (
- IN EFI_IP4_CONFIG_PROTOCOL *This
- )
-{
- IP4_CONFIG_INSTANCE *Instance;
- EFI_STATUS Status;
- EFI_TPL OldTpl;
-
- if (This == NULL) {
- return EFI_INVALID_PARAMETER;
- }
-
- Instance = IP4_CONFIG_INSTANCE_FROM_IP4CONFIG (This);
-
- Status = EFI_SUCCESS;
- OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
-
- if (Instance->State == IP4_CONFIG_STATE_IDLE) {
- Status = EFI_NOT_STARTED;
- goto ON_EXIT;
- }
-
- //
- // Release all the configure parameters. Don't signal the user
- // event. The user wants to abort the configuration, this isn't
- // the configuration done or reconfiguration.
- //
- Ip4ConfigCleanConfig (Instance);
-
-ON_EXIT:
- gBS->RestoreTPL (OldTpl);
-
- return Status;
-}
-
-
-/**
- Returns the default configuration data (if any) for the EFI IPv4 Protocol driver.
-
- The GetData() function returns the current configuration data for the EFI IPv4
- Protocol driver after the configuration policy has completed.
-
- @param This Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.
- @param ConfigDataSize On input, the size of the ConfigData buffer.
- On output, the count of bytes that were written
- into the ConfigData buffer.
- @param ConfigData Pointer to the EFI IPv4 Configuration Protocol
- driver configuration data structure.
- Type EFI_IP4_IPCONFIG_DATA is defined in
- "Related Definitions" below.
-
- @retval EFI_SUCCESS The EFI IPv4 Protocol driver configuration has been returned.
- @retval EFI_INVALID_PARAMETER This is NULL.
- @retval EFI_NOT_STARTED The configuration policy for the EFI IPv4 Protocol
- driver is not running.
- @retval EFI_NOT_READY EFI IPv4 Protocol driver configuration is still running.
- @retval EFI_ABORTED EFI IPv4 Protocol driver configuration could not complete.
- Currently not implemented.
- @retval EFI_BUFFER_TOO_SMALL *ConfigDataSize is smaller than the configuration
- data buffer or ConfigData is NULL.
-
-**/
-EFI_STATUS
-EFIAPI
-EfiIp4ConfigGetData (
- IN EFI_IP4_CONFIG_PROTOCOL *This,
- IN OUT UINTN *ConfigDataSize,
- OUT EFI_IP4_IPCONFIG_DATA *ConfigData OPTIONAL
- )
-{
- IP4_CONFIG_INSTANCE *Instance;
- NIC_IP4_CONFIG_INFO *NicConfig;
- EFI_STATUS Status;
- EFI_TPL OldTpl;
- UINTN Len;
-
- if ((This == NULL) || (ConfigDataSize == NULL)) {
- return EFI_INVALID_PARAMETER;
- }
-
- Instance = IP4_CONFIG_INSTANCE_FROM_IP4CONFIG (This);
-
- Status = EFI_SUCCESS;
- OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
-
- if (Instance->State == IP4_CONFIG_STATE_IDLE) {
- Status = EFI_NOT_STARTED;
- } else if (Instance->State == IP4_CONFIG_STATE_STARTED) {
- Status = EFI_NOT_READY;
- }
-
- if (EFI_ERROR (Status)) {
- goto ON_EXIT;
- }
-
- //
- // Copy the configure data if auto configuration succeeds.
- //
- Status = Instance->Result;
-
- if (Status == EFI_SUCCESS) {
- ASSERT (Instance->NicConfig != NULL);
-
- NicConfig = Instance->NicConfig;
- Len = SIZEOF_IP4_CONFIG_INFO (&NicConfig->Ip4Info);
-
- if ((*ConfigDataSize < Len) || (ConfigData == NULL)) {
- Status = EFI_BUFFER_TOO_SMALL;
- } else {
- CopyMem (ConfigData, &NicConfig->Ip4Info, Len);
- Ip4ConfigFixRouteTablePointer (ConfigData);
- }
-
- *ConfigDataSize = Len;
- }
-
-ON_EXIT:
- gBS->RestoreTPL (OldTpl);
-
- return Status;
-}
-
-/**
- Release all the DHCP related resources.
-
- @param This The IP4 configure instance
-
- @return None
-
-**/
-VOID
-Ip4ConfigCleanDhcp4 (
- IN IP4_CONFIG_INSTANCE *This
- )
-{
- if (This->Dhcp4 != NULL) {
- This->Dhcp4->Stop (This->Dhcp4);
-
- gBS->CloseProtocol (
- This->Dhcp4Handle,
- &gEfiDhcp4ProtocolGuid,
- This->Image,
- This->Controller
- );
-
- This->Dhcp4 = NULL;
- }
-
- if (This->Dhcp4Handle != NULL) {
- NetLibDestroyServiceChild (
- This->Controller,
- This->Image,
- &gEfiDhcp4ServiceBindingProtocolGuid,
- This->Dhcp4Handle
- );
-
- This->Dhcp4Handle = NULL;
- }
-
- if (This->Dhcp4Event != NULL) {
- gBS->CloseEvent (This->Dhcp4Event);
- This->Dhcp4Event = NULL;
- }
-}
-
-
-/**
- Clean up all the configuration parameters.
-
- @param Instance The IP4 configure instance
-
- @return None
-
-**/
-VOID
-Ip4ConfigCleanConfig (
- IN IP4_CONFIG_INSTANCE *Instance
- )
-{
- if (Instance->NicConfig != NULL) {
- FreePool (Instance->NicConfig);
- Instance->NicConfig = NULL;
- }
-
- Instance->State = IP4_CONFIG_STATE_IDLE;
- Instance->DoneEvent = NULL;
- Instance->ReconfigEvent = NULL;
-
- Ip4ConfigCleanDhcp4 (Instance);
-}
-
-
-/**
- A dedicated timer is used to poll underlying media status. In case of
- cable swap, a new round auto configuration will be initiated. The timer
- will signal the IP4 to run the auto configuration again. IP4 driver will free
- old IP address related resource, such as route table and Interface, then
- initiate a DHCP process by IP4Config->Start to acquire new IP, eventually
- create route table for new IP address.
-
- @param[in] Event The IP4 service instance's heart beat timer.
- @param[in] Context The IP4 service instance.
-
-**/
-VOID
-EFIAPI
-MediaChangeDetect (
- IN EFI_EVENT Event,
- IN VOID *Context
- )
-{
- BOOLEAN OldMediaPresent;
- EFI_STATUS Status;
- EFI_SIMPLE_NETWORK_MODE SnpModeData;
- IP4_CONFIG_INSTANCE *Instance;
-
- Instance = (IP4_CONFIG_INSTANCE *) Context;
-
- OldMediaPresent = Instance->MediaPresent;
-
- //
- // Get fresh mode data from MNP, since underlying media status may change
- //
- Status = Instance->Mnp->GetModeData (Instance->Mnp, NULL, &SnpModeData);
- if (EFI_ERROR (Status) && (Status != EFI_NOT_STARTED)) {
- return;
- }
-
- Instance->MediaPresent = SnpModeData.MediaPresent;
- //
- // Media transimit Unpresent to Present means new link movement is detected.
- //
- if (!OldMediaPresent && Instance->MediaPresent) {
- //
- // Signal the IP4 to run the auto configuration again. IP4 driver will free
- // old IP address related resource, such as route table and Interface, then
- // initiate a DHCP round by IP4Config->Start to acquire new IP, eventually
- // create route table for new IP address.
- //
- if (Instance->ReconfigEvent != NULL) {
- Status = gBS->SignalEvent (Instance->ReconfigEvent);
- DispatchDpc ();
- }
- }
-}
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.h b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.h
deleted file mode 100644
index cbe8ec5..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.h
+++ /dev/null
@@ -1,533 +0,0 @@
-/** @file
- Header file for IP4Config driver.
-
-Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
-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<BR>
-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_IP4CONFIG_H_
-#define _EFI_IP4CONFIG_H_
-
-#include <Uefi.h>
-
-#include <Protocol/Dhcp4.h>
-#include <Protocol/Ip4Config.h>
-#include <Protocol/ManagedNetwork.h>
-#include <Protocol/HiiConfigAccess.h>
-#include <Protocol/HiiDatabase.h>
-#include <Protocol/HiiConfigRouting.h>
-#include <Protocol/ServiceBinding.h>
-
-#include <Guid/MdeModuleHii.h>
-#include <Guid/NicIp4ConfigNvData.h>
-
-#include <Library/DevicePathLib.h>
-#include <Library/DebugLib.h>
-#include <Library/UefiRuntimeServicesTableLib.h>
-#include <Library/UefiDriverEntryPoint.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/UefiLib.h>
-#include <Library/NetLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/HiiLib.h>
-#include <Library/PrintLib.h>
-#include <Library/DpcLib.h>
-#include <Library/UefiHiiServicesLib.h>
-
-
-//
-// Global variables
-//
-extern EFI_DRIVER_BINDING_PROTOCOL gIp4ConfigDriverBinding;
-extern EFI_COMPONENT_NAME_PROTOCOL gIp4ConfigComponentName;
-extern EFI_COMPONENT_NAME2_PROTOCOL gIp4ConfigComponentName2;
-
-extern EFI_IP4_CONFIG_PROTOCOL mIp4ConfigProtocolTemplate;
-
-#define IP4_PROTO_ICMP 0x01
-#define IP4_CONFIG_INSTANCE_SIGNATURE SIGNATURE_32 ('I', 'P', '4', 'C')
-
-#define IP4_CONFIG_STATE_IDLE 0
-#define IP4_CONFIG_STATE_STARTED 1
-#define IP4_CONFIG_STATE_CONFIGURED 2
-
-#define DHCP_TAG_PARA_LIST 55
-#define DHCP_TAG_NETMASK 1
-#define DHCP_TAG_ROUTER 3
-
-
-//
-// Configure the DHCP to request the routers and netmask
-// from server. The DHCP_TAG_NETMASK is included in Head.
-//
-#pragma pack(1)
-typedef struct {
- EFI_DHCP4_PACKET_OPTION Head;
- UINT8 Route;
-} IP4_CONFIG_DHCP4_OPTION;
-#pragma pack()
-
-typedef struct _IP4CONFIG_CALLBACK_INFO {
- BOOLEAN Configured;
- BOOLEAN DhcpEnabled;
- EFI_IPv4_ADDRESS LocalIp;
- EFI_IPv4_ADDRESS SubnetMask;
- EFI_IPv4_ADDRESS Gateway;
-} IP4_SETTING_INFO;
-
-typedef struct _IP4_CONFIG_INSTANCE {
- UINT32 Signature;
- EFI_HANDLE Controller;
- EFI_HANDLE Image;
- EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath;
-
- EFI_IP4_CONFIG_PROTOCOL Ip4ConfigProtocol;
-
- EFI_HII_CONFIG_ACCESS_PROTOCOL HiiConfigAccessProtocol;
- EFI_HANDLE ChildHandle;
- EFI_DEVICE_PATH_PROTOCOL *HiiVendorDevicePath;
- EFI_HII_HANDLE RegisteredHandle;
- IP4_SETTING_INFO Ip4ConfigCallbackInfo;
-
- //
- // NicConfig's state, such as IP4_CONFIG_STATE_IDLE
- //
- INTN State;
-
- //
- // Mnp child to keep the connection with MNP.
- //
- EFI_MANAGED_NETWORK_PROTOCOL *Mnp;
- EFI_HANDLE MnpHandle;
-
- //
- // User's requests data
- //
- EFI_EVENT DoneEvent;
- EFI_EVENT ReconfigEvent;
- EFI_STATUS Result;
-
- //
- // Identity of this interface and some configuration info.
- //
- NIC_ADDR NicAddr;
- CHAR16 *MacString;
- NIC_IP4_CONFIG_INFO *NicConfig;
-
- //
- // DHCP handles to access DHCP
- //
- EFI_DHCP4_PROTOCOL *Dhcp4;
- EFI_HANDLE Dhcp4Handle;
- EFI_EVENT Dhcp4Event;
-
- //
- // A dedicated timer is used to poll underlying media status
- //
- EFI_EVENT Timer;
-
- //
- // Underlying media present status.
- //
- BOOLEAN MediaPresent;
-
- //
- // A flag to indicate EfiIp4ConfigStart should not run
- //
- BOOLEAN DoNotStart;
-} IP4_CONFIG_INSTANCE;
-
-#define IP4_CONFIG_INSTANCE_FROM_IP4CONFIG(this) \
- CR (this, IP4_CONFIG_INSTANCE, Ip4ConfigProtocol, IP4_CONFIG_INSTANCE_SIGNATURE)
-
-#define IP4_CONFIG_INSTANCE_FROM_CONFIG_ACCESS(this) \
- CR (this, IP4_CONFIG_INSTANCE, HiiConfigAccessProtocol, IP4_CONFIG_INSTANCE_SIGNATURE)
-
-
-/**
- Set the IP configure parameters for this NIC.
-
- If Reconfig is TRUE, the IP driver will be informed to discard current
- auto configure parameter and restart the auto configuration process.
- If current there is a pending auto configuration, EFI_ALREADY_STARTED is
- returned. You can only change the configure setting when either
- the configure has finished or not started yet. If NicConfig, the
- NIC's configure parameter is removed from the variable.
-
- @param Instance The IP4 CONFIG instance.
- @param NicConfig The new NIC IP4 configure parameter.
- @param Reconfig Inform the IP4 driver to restart the auto
- configuration.
-
- @retval EFI_SUCCESS The configure parameter for this NIC was
- set successfully.
- @retval EFI_INVALID_PARAMETER This is NULL or the configure parameter is
- invalid.
- @retval EFI_ALREADY_STARTED There is a pending auto configuration.
- @retval EFI_NOT_FOUND No auto configure parameter is found.
-
-**/
-EFI_STATUS
-EFIAPI
-EfiNicIp4ConfigSetInfo (
- IN IP4_CONFIG_INSTANCE *Instance,
- IN NIC_IP4_CONFIG_INFO *NicConfig OPTIONAL,
- IN BOOLEAN Reconfig
- );
-
-/**
- Get the NIC's configure information from the IP4 configure variable.
- It will remove the invalid variable.
-
- @param Instance The IP4 CONFIG instance.
-
- @return NULL if no configure for the NIC in the variable, or it is invalid.
- Otherwise the pointer to the NIC's IP configure parameter will be returned.
-
-**/
-NIC_IP4_CONFIG_INFO *
-EfiNicIp4ConfigGetInfo (
- IN IP4_CONFIG_INSTANCE *Instance
- );
-
-/**
- Release all the DHCP related resources.
-
- @param This The IP4 configure instance
-
- @return None
-
-**/
-VOID
-Ip4ConfigCleanDhcp4 (
- IN IP4_CONFIG_INSTANCE *This
- );
-
-/**
- Clean up all the configuration parameters.
-
- @param Instance The IP4 configure instance
-
- @return None
-
-**/
-VOID
-Ip4ConfigCleanConfig (
- IN IP4_CONFIG_INSTANCE *Instance
- );
-
-//
-// EFI Component Name Functions
-//
-
-/**
- Retrieves a Unicode string that is the user readable name of the driver.
-
- This function retrieves the user readable name of a driver in the form of a
- Unicode string. If the driver specified by This has a user readable name in
- the language specified by Language, then a pointer to the driver name is
- returned in DriverName, and EFI_SUCCESS is returned. If the driver specified
- by This does not support the language specified by Language,
- then EFI_UNSUPPORTED is returned.
-
- @param This[in] A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or
- EFI_COMPONENT_NAME_PROTOCOL instance.
- @param Language[in] 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 or ISO 639-2 language code format.
- @param DriverName[out] 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.
- @retval EFI_INVALID_PARAMETER DriverName is NULL.
- @retval EFI_UNSUPPORTED The driver specified by This does not support
- the language specified by Language.
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigComponentNameGetDriverName (
- IN EFI_COMPONENT_NAME_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 a driver.
-
- This function retrieves the user readable name of the controller specified by
- ControllerHandle and ChildHandle in the form of a Unicode string. If the
- driver specified by This has a user readable name in the language specified by
- Language, then a pointer to the controller name is returned in ControllerName,
- and EFI_SUCCESS is returned. If the driver specified by This is not currently
- managing the controller specified by ControllerHandle and ChildHandle,
- then EFI_UNSUPPORTED is returned. If the driver specified by This does not
- support the language specified by Language, then EFI_UNSUPPORTED is returned.
-
- @param This[in] A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or
- EFI_COMPONENT_NAME_PROTOCOL instance.
- @param ControllerHandle[in] 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[in] 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[in] 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 or ISO 639-2 language code format.
- @param ControllerName[out] 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 NULL.
- @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid
- EFI_HANDLE.
- @retval EFI_INVALID_PARAMETER Language is NULL.
- @retval EFI_INVALID_PARAMETER ControllerName is NULL.
- @retval EFI_UNSUPPORTED The driver specified by This is not currently
- managing the controller specified by
- ControllerHandle and ChildHandle.
- @retval EFI_UNSUPPORTED The driver specified by This does not support
- the language specified by Language.
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigComponentNameGetControllerName (
- IN EFI_COMPONENT_NAME_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN EFI_HANDLE ChildHandle OPTIONAL,
- IN CHAR8 *Language,
- OUT CHAR16 **ControllerName
- );
-
-/**
- Test to see if this driver supports ControllerHandle.
-
- @param This Protocol instance pointer.
- @param ControllerHandle Handle of device to test
- @param RemainingDevicePath Optional parameter use to pick a specific child
- device to start.
-
- @retval EFI_SUCCES This driver supports this device
- @retval EFI_ALREADY_STARTED This driver is already running on this device
- @retval other This driver does not support this device
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigDriverBindingSupported (
- IN EFI_DRIVER_BINDING_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
- );
-
-/**
- Start this driver on ControllerHandle.
-
- @param This Protocol instance pointer.
- @param ControllerHandle Handle of device to bind driver to
- @param RemainingDevicePath Optional parameter use to pick a specific child
- device to start.
-
- @retval EFI_SUCCES This driver is added to ControllerHandle
- @retval EFI_ALREADY_STARTED This driver is already running on ControllerHandle
- @retval other This driver does not support this device
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigDriverBindingStart (
- IN EFI_DRIVER_BINDING_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
- );
-
-/**
- Stop this driver on ControllerHandle.
-
- @param This Protocol instance pointer.
- @param ControllerHandle Handle of device to stop driver on
- @param NumberOfChildren Number of Handles in ChildHandleBuffer. If number of
- children is zero stop the entire bus driver.
- @param ChildHandleBuffer List of Child Handles to Stop.
-
- @retval EFI_SUCCES This driver is removed ControllerHandle
- @retval other This driver was not removed from this device
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigDriverBindingStop (
- IN EFI_DRIVER_BINDING_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN UINTN NumberOfChildren,
- IN EFI_HANDLE *ChildHandleBuffer
- );
-
-/**
- Starts running the configuration policy for the EFI IPv4 Protocol driver.
-
- The Start() function is called to determine and to begin the platform
- configuration policy by the EFI IPv4 Protocol driver. This determination may
- be as simple as returning EFI_UNSUPPORTED if there is no EFI IPv4 Protocol
- driver configuration policy. It may be as involved as loading some defaults
- from nonvolatile storage, downloading dynamic data from a DHCP server, and
- checking permissions with a site policy server.
- Starting the configuration policy is just the beginning. It may finish almost
- instantly or it may take several minutes before it fails to retrieve configuration
- information from one or more servers. Once the policy is started, drivers
- should use the DoneEvent parameter to determine when the configuration policy
- has completed. EFI_IP4_CONFIG_PROTOCOL.GetData() must then be called to
- determine if the configuration succeeded or failed.
- Until the configuration completes successfully, EFI IPv4 Protocol driver instances
- that are attempting to use default configurations must return EFI_NO_MAPPING.
- Once the configuration is complete, the EFI IPv4 Configuration Protocol driver
- signals DoneEvent. The configuration may need to be updated in the future,
- however; in this case, the EFI IPv4 Configuration Protocol driver must signal
- ReconfigEvent, and all EFI IPv4 Protocol driver instances that are using default
- configurations must return EFI_NO_MAPPING until the configuration policy has
- been rerun.
-
- @param This Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.
- @param DoneEvent Event that will be signaled when the EFI IPv4
- Protocol driver configuration policy completes
- execution. This event must be of type EVT_NOTIFY_SIGNAL.
- @param ReconfigEvent Event that will be signaled when the EFI IPv4
- Protocol driver configuration needs to be updated.
- This event must be of type EVT_NOTIFY_SIGNAL.
-
- @retval EFI_SUCCESS The configuration policy for the EFI IPv4 Protocol
- driver is now running.
- @retval EFI_INVALID_PARAMETER One or more of the following parameters is NULL:
- This
- DoneEvent
- ReconfigEvent
- @retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.
- @retval EFI_ALREADY_STARTED The configuration policy for the EFI IPv4 Protocol
- driver was already started.
- @retval EFI_DEVICE_ERROR An unexpected system error or network error occurred.
- @retval EFI_UNSUPPORTED This interface does not support the EFI IPv4 Protocol
- driver configuration.
-
-**/
-EFI_STATUS
-EFIAPI
-EfiIp4ConfigStart (
- IN EFI_IP4_CONFIG_PROTOCOL *This,
- IN EFI_EVENT DoneEvent,
- IN EFI_EVENT ReconfigEvent
- );
-
-/**
- Stops running the configuration policy for the EFI IPv4 Protocol driver.
-
- The Stop() function stops the configuration policy for the EFI IPv4 Protocol driver.
- All configuration data will be lost after calling Stop().
-
- @param This Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.
-
- @retval EFI_SUCCESS The configuration policy for the EFI IPv4 Protocol
- driver has been stopped.
- @retval EFI_INVALID_PARAMETER This is NULL.
- @retval EFI_NOT_STARTED The configuration policy for the EFI IPv4 Protocol
- driver was not started.
-
-**/
-EFI_STATUS
-EFIAPI
-EfiIp4ConfigStop (
- IN EFI_IP4_CONFIG_PROTOCOL *This
- );
-
-/**
- Returns the default configuration data (if any) for the EFI IPv4 Protocol driver.
-
- The GetData() function returns the current configuration data for the EFI IPv4
- Protocol driver after the configuration policy has completed.
-
- @param This Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.
- @param ConfigDataSize On input, the size of the ConfigData buffer.
- On output, the count of bytes that were written
- into the ConfigData buffer.
- @param ConfigData Pointer to the EFI IPv4 Configuration Protocol
- driver configuration data structure.
- Type EFI_IP4_IPCONFIG_DATA is defined in
- "Related Definitions" below.
-
- @retval EFI_SUCCESS The EFI IPv4 Protocol driver configuration has been returned.
- @retval EFI_INVALID_PARAMETER This is NULL.
- @retval EFI_NOT_STARTED The configuration policy for the EFI IPv4 Protocol
- driver is not running.
- @retval EFI_NOT_READY EFI IPv4 Protocol driver configuration is still running.
- @retval EFI_ABORTED EFI IPv4 Protocol driver configuration could not complete.
- Currently not implemented.
- @retval EFI_BUFFER_TOO_SMALL *ConfigDataSize is smaller than the configuration
- data buffer or ConfigData is NULL.
-
-**/
-EFI_STATUS
-EFIAPI
-EfiIp4ConfigGetData (
- IN EFI_IP4_CONFIG_PROTOCOL *This,
- IN OUT UINTN *ConfigDataSize,
- OUT EFI_IP4_IPCONFIG_DATA *ConfigData OPTIONAL
- );
-
-/**
- A dedicated timer is used to poll underlying media status. In case of
- cable swap, a new round auto configuration will be initiated. The timer
- will signal the IP4 to run the auto configuration again. IP4 driver will free
- old IP address related resource, such as route table and Interface, then
- initiate a DHCP round by IP4Config->Start to acquire new IP, eventually
- create route table for new IP address.
-
- @param[in] Event The IP4 service instance's heart beat timer.
- @param[in] Context The IP4 service instance.
-
-**/
-VOID
-EFIAPI
-MediaChangeDetect (
- IN EFI_EVENT Event,
- IN VOID *Context
- );
-
-#endif
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c
deleted file mode 100644
index 56cce6e..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c
+++ /dev/null
@@ -1,505 +0,0 @@
-/** @file
- The driver binding for IP4 CONFIG protocol.
-
-Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
-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<BR>
-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.
-
-**/
-
-
-#include "Ip4Config.h"
-#include "Ip4ConfigNv.h"
-#include "NicIp4Variable.h"
-
-EFI_DRIVER_BINDING_PROTOCOL gIp4ConfigDriverBinding = {
- Ip4ConfigDriverBindingSupported,
- Ip4ConfigDriverBindingStart,
- Ip4ConfigDriverBindingStop,
- 0xa,
- NULL,
- NULL
-};
-
-//
-// The intance of template of IP4 Config private data
-//
-IP4_CONFIG_INSTANCE mIp4ConfigTemplate = {
- IP4_CONFIG_INSTANCE_SIGNATURE,
- NULL,
- NULL,
- (EFI_DEVICE_PATH_PROTOCOL *) NULL,
- {
- NULL,
- NULL,
- NULL
- },
- {
- NULL,
- NULL,
- NULL
- },
- NULL,
- (EFI_DEVICE_PATH_PROTOCOL *) NULL,
- NULL,
- {
- FALSE,
- FALSE,
- {
- {
- 0
- }
- },
- {
- {
- 0
- }
- },
- {
- {
- 0
- }
- }
- },
- 0,
- (EFI_MANAGED_NETWORK_PROTOCOL *) NULL,
- NULL,
- NULL,
- NULL,
- 0,
- {
- 0,
- 0,
- {
- {
- 0
- }
- }
- },
- (CHAR16 *) NULL,
- (NIC_IP4_CONFIG_INFO *) NULL,
- (EFI_DHCP4_PROTOCOL *) NULL,
- NULL,
- NULL,
- NULL,
- TRUE,
- FALSE
-};
-
-/**
- The entry point for IP4 config driver which install the driver
- binding and component name protocol on its image.
-
- @param ImageHandle The image handle of the driver.
- @param SystemTable The system table.
-
- @retval EFI_SUCCES All the related protocols are installed on the driver.
- @retval Others Failed to install protocols.
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigDriverEntryPoint (
- IN EFI_HANDLE ImageHandle,
- IN EFI_SYSTEM_TABLE *SystemTable
- )
-{
- mIp4ConfigTemplate.Result = EFI_NOT_READY;
-
- return EfiLibInstallDriverBindingComponentName2 (
- ImageHandle,
- SystemTable,
- &gIp4ConfigDriverBinding,
- ImageHandle,
- &gIp4ConfigComponentName,
- &gIp4ConfigComponentName2
- );
-}
-
-
-/**
- Test to see if this driver supports ControllerHandle.
-
- @param This Protocol instance pointer.
- @param ControllerHandle Handle of device to test
- @param RemainingDevicePath Optional parameter use to pick a specific child
- device to start.
-
- @retval EFI_SUCCES This driver supports this device
- @retval EFI_ALREADY_STARTED This driver is already running on this device
- @retval other This driver does not support this device
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigDriverBindingSupported (
- IN EFI_DRIVER_BINDING_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
- )
-{
- EFI_STATUS Status;
-
- Status = gBS->OpenProtocol (
- ControllerHandle,
- &gEfiManagedNetworkServiceBindingProtocolGuid,
- NULL,
- This->DriverBindingHandle,
- ControllerHandle,
- EFI_OPEN_PROTOCOL_TEST_PROTOCOL
- );
-
- return Status;
-}
-
-
-/**
- Start this driver on ControllerHandle.
-
- @param This Protocol instance pointer.
- @param ControllerHandle Handle of device to bind driver to
- @param RemainingDevicePath Optional parameter use to pick a specific child
- device to start.
-
- @retval EFI_SUCCES This driver is added to ControllerHandle
- @retval EFI_ALREADY_STARTED This driver is already running on ControllerHandle
- @retval other This driver does not support this device
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigDriverBindingStart (
- IN EFI_DRIVER_BINDING_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
- )
-{
- EFI_IP4_CONFIG_PROTOCOL *Ip4Config;
- EFI_MANAGED_NETWORK_PROTOCOL *Mnp;
- EFI_HANDLE MnpHandle;
- IP4_CONFIG_INSTANCE *Instance;
- EFI_SIMPLE_NETWORK_MODE SnpMode;
- NIC_IP4_CONFIG_INFO *NicConfig;
- EFI_STATUS Status;
- EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath;
-
- Status = gBS->HandleProtocol (
- ControllerHandle,
- &gEfiDevicePathProtocolGuid,
- (VOID **) &ParentDevicePath
- );
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- //
- // Check for multiple start.
- //
- Status = gBS->OpenProtocol (
- ControllerHandle,
- &gEfiIp4ConfigProtocolGuid,
- (VOID **) &Ip4Config,
- This->DriverBindingHandle,
- ControllerHandle,
- EFI_OPEN_PROTOCOL_GET_PROTOCOL
- );
-
- if (!EFI_ERROR (Status)) {
- return EFI_ALREADY_STARTED;
- }
-
- //
- // Create a MNP child
- //
- Mnp = NULL;
- MnpHandle = NULL;
- Instance = NULL;
-
- Status = NetLibCreateServiceChild (
- ControllerHandle,
- This->DriverBindingHandle,
- &gEfiManagedNetworkServiceBindingProtocolGuid,
- &MnpHandle
- );
-
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- Status = gBS->OpenProtocol (
- MnpHandle,
- &gEfiManagedNetworkProtocolGuid,
- (VOID **) &Mnp,
- This->DriverBindingHandle,
- ControllerHandle,
- EFI_OPEN_PROTOCOL_BY_DRIVER
- );
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- //
- // Allocate an instance then initialize it
- //
- Instance = AllocateCopyPool (sizeof (IP4_CONFIG_INSTANCE), &mIp4ConfigTemplate);
-
- if (Instance == NULL) {
- Status = EFI_OUT_OF_RESOURCES;
- goto ON_ERROR;
- }
-
- Instance->Controller = ControllerHandle;
- Instance->Image = This->DriverBindingHandle;
- Instance->ParentDevicePath = ParentDevicePath;
-
- CopyMem (&Instance->Ip4ConfigProtocol, &mIp4ConfigProtocolTemplate, sizeof (mIp4ConfigProtocolTemplate));
-
- Instance->State = IP4_CONFIG_STATE_IDLE;
- Instance->Mnp = Mnp;
- Instance->MnpHandle = MnpHandle;
-
- Status = Mnp->GetModeData (Mnp, NULL, &SnpMode);
-
- if (EFI_ERROR (Status) && (Status != EFI_NOT_STARTED)) {
- goto ON_ERROR;
- }
-
- Instance->NicAddr.Type = (UINT16) SnpMode.IfType;
- Instance->NicAddr.Len = (UINT8) SnpMode.HwAddressSize;
- CopyMem (&Instance->NicAddr.MacAddr, &SnpMode.CurrentAddress, Instance->NicAddr.Len);
-
- //
- // Add it to the global list, and compose the name
- //
- Status = NetLibGetMacString (Instance->Controller, Instance->Image, &Instance->MacString);
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- Status = Ip4ConfigDeviceInit (Instance);
-
- //
- // Install the IP4_CONFIG protocols
- //
- Status = gBS->InstallMultipleProtocolInterfaces (
- &ControllerHandle,
- &gEfiIp4ConfigProtocolGuid,
- &Instance->Ip4ConfigProtocol,
- NULL
- );
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- //
- // A dedicated timer is used to poll underlying media status.
- //
- Status = gBS->CreateEvent (
- EVT_NOTIFY_SIGNAL | EVT_TIMER,
- TPL_CALLBACK,
- MediaChangeDetect,
- Instance,
- &Instance->Timer
- );
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- //
- // Get the previous configure parameters. If an error happend here,
- // just ignore it because the driver should be able to operate.
- //
- NicConfig = Ip4ConfigReadVariable (Instance);
- if (NicConfig != NULL) {
- if (!NicConfig->Permanent) {
- //
- // Delete the non-permanent configuration.
- //
- Ip4ConfigWriteVariable (Instance, NULL);
- }
-
- FreePool (NicConfig);
- }
-
- return EFI_SUCCESS;
-
-ON_ERROR:
- if (Instance != NULL) {
- FreePool (Instance);
- }
-
- if (Mnp != NULL) {
- gBS->CloseProtocol (
- MnpHandle,
- &gEfiManagedNetworkProtocolGuid,
- This->DriverBindingHandle,
- ControllerHandle
- );
- }
-
- NetLibDestroyServiceChild (
- ControllerHandle,
- This->DriverBindingHandle,
- &gEfiManagedNetworkServiceBindingProtocolGuid,
- MnpHandle
- );
-
- return Status;
-}
-
-
-/**
- Stop this driver on ControllerHandle.
-
- @param This Protocol instance pointer.
- @param ControllerHandle Handle of device to stop driver on
- @param NumberOfChildren Number of Handles in ChildHandleBuffer. If number of
- children is zero stop the entire bus driver.
- @param ChildHandleBuffer List of Child Handles to Stop.
-
- @retval EFI_SUCCES This driver is removed ControllerHandle
- @retval other This driver was not removed from this device
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigDriverBindingStop (
- IN EFI_DRIVER_BINDING_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN UINTN NumberOfChildren,
- IN EFI_HANDLE *ChildHandleBuffer
- )
-{
- IP4_CONFIG_INSTANCE *Instance;
- EFI_IP4_CONFIG_PROTOCOL *Ip4Config;
- EFI_HANDLE NicHandle;
- EFI_STATUS Status;
-
- //
- // IP4_CONFIG instance opens an MNP child. It may also create and open
- // a DHCP child. If this is the DHCP handle, stop the DHCP process. If
- // it is the MNP child, stop the whole driver.
- //
- //
- NicHandle = NetLibGetNicHandle (ControllerHandle, &gEfiDhcp4ProtocolGuid);
-
- if (NicHandle != NULL) {
- //
- // Get our context back then clean the DHCP up. Notify the user if necessary.
- //
- Status = gBS->OpenProtocol (
- NicHandle,
- &gEfiIp4ConfigProtocolGuid,
- (VOID **) &Ip4Config,
- This->DriverBindingHandle,
- ControllerHandle,
- EFI_OPEN_PROTOCOL_GET_PROTOCOL
- );
-
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- Instance = IP4_CONFIG_INSTANCE_FROM_IP4CONFIG (Ip4Config);
- ASSERT (ControllerHandle == Instance->Dhcp4Handle);
-
- Ip4ConfigCleanDhcp4 (Instance);
-
- Instance->State = IP4_CONFIG_STATE_CONFIGURED;
- Instance->Result = EFI_DEVICE_ERROR;
-
- if (Instance->DoneEvent != NULL) {
- gBS->SignalEvent (Instance->DoneEvent);
- }
-
- return EFI_SUCCESS;
- }
-
- //
- // This is a MNP handle, stop the whole driver
- //
- NicHandle = NetLibGetNicHandle (ControllerHandle, &gEfiManagedNetworkProtocolGuid);
-
- if (NicHandle == NULL) {
- return EFI_SUCCESS;
- }
-
- //
- // Get our context back.
- //
- Status = gBS->OpenProtocol (
- NicHandle,
- &gEfiIp4ConfigProtocolGuid,
- (VOID **) &Ip4Config,
- This->DriverBindingHandle,
- ControllerHandle,
- EFI_OPEN_PROTOCOL_GET_PROTOCOL
- );
-
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- Instance = IP4_CONFIG_INSTANCE_FROM_IP4CONFIG (Ip4Config);
-
- Ip4ConfigDeviceUnload (Instance);
-
- //
- // Unload the protocols first to inform the top drivers
- //
- Status = gBS->UninstallMultipleProtocolInterfaces (
- NicHandle,
- &gEfiIp4ConfigProtocolGuid,
- &Instance->Ip4ConfigProtocol,
- NULL
- );
-
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- //
- // Release all the resources
- //
- if (Instance->MnpHandle != NULL) {
- gBS->CloseProtocol (
- Instance->MnpHandle,
- &gEfiManagedNetworkProtocolGuid,
- This->DriverBindingHandle,
- NicHandle
- );
-
- NetLibDestroyServiceChild (
- NicHandle,
- Instance->Image,
- &gEfiManagedNetworkServiceBindingProtocolGuid,
- Instance->MnpHandle
- );
-
- Instance->Mnp = NULL;
- Instance->MnpHandle = NULL;
- }
-
- if (Instance->MacString != NULL) {
- FreePool (Instance->MacString);
- }
-
- if (Instance->Timer != NULL) {
- gBS->SetTimer (Instance->Timer, TimerCancel, 0);
- gBS->CloseEvent (Instance->Timer);
- Instance->Timer = NULL;
- }
-
- Ip4ConfigCleanConfig (Instance);
- FreePool (Instance);
-
- return EFI_SUCCESS;
-}
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
deleted file mode 100644
index c119982..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
+++ /dev/null
@@ -1,91 +0,0 @@
-## @file
-# This module produces EFI IPv4 Configuration Protocol.
-#
-# This module produces EFI IPv4 Configuration Protocol upon EFI MNP Protocol,
-# to performs platform- and policy-dependent configuration for the EFI IPv4
-# Protocol driver. It installs EFI HII Configuration Access Protocol to provide
-# one way to configurate the IPv4 network setting.
-#
-# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
-# 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.
-#
-#
-##
-
-[Defines]
- INF_VERSION = 0x00010005
- BASE_NAME = Ip4ConfigDxe
- MODULE_UNI_FILE = Ip4ConfigDxe.uni
- FILE_GUID = 26841BDE-920A-4e7a-9FBE-637F477143A6
- MODULE_TYPE = UEFI_DRIVER
- VERSION_STRING = 1.0
- ENTRY_POINT = Ip4ConfigDriverEntryPoint
- UNLOAD_IMAGE = NetLibDefaultUnload
-#
-# The following information is for reference only and not required by the build tools.
-#
-# VALID_ARCHITECTURES = IA32 X64 IPF EBC
-#
-
-[Sources]
- ComponentName.c
- NicIp4Variable.c
- Ip4ConfigDriver.c
- Ip4Config.h
- NicIp4Variable.h
- Ip4Config.c
- Ip4ConfigDxe.vfr
- Ip4ConfigDxeStrings.uni
- Ip4NvData.h
- Ip4ConfigNv.h
- Ip4ConfigNv.c
-
-[Packages]
- MdePkg/MdePkg.dec
- MdeModulePkg/MdeModulePkg.dec
-
-
-[LibraryClasses]
- UefiLib
- UefiBootServicesTableLib
- UefiDriverEntryPoint
- UefiRuntimeServicesTableLib
- DebugLib
- NetLib
- HiiLib
- PrintLib
- DpcLib
- DevicePathLib
-
-[Protocols]
- gEfiIp4ConfigProtocolGuid ## BY_START
- gEfiManagedNetworkServiceBindingProtocolGuid ## TO_START
- gEfiManagedNetworkProtocolGuid ## TO_START
- gEfiDhcp4ServiceBindingProtocolGuid ## TO_START
- gEfiDhcp4ProtocolGuid ## TO_START
- gEfiHiiConfigAccessProtocolGuid ## BY_START
- ## TO_START
- ## BY_START
- gEfiDevicePathProtocolGuid
-
-[Guids]
- ## SOMETIMES_CONSUMES ## GUID # HiiIsConfigHdrMatch EFI_NIC_IP4_CONFIG_VARIABLE
- ## SOMETIMES_PRODUCES ## GUID # HiiConstructConfigHdr EFI_NIC_IP4_CONFIG_VARIABLE
- ## SOMETIMES_PRODUCES ## Variable
- ## SOMETIMES_CONSUMES ## Variable
- ## SOMETIMES_PRODUCES ## GUID # Device Path Node
- gEfiNicIp4ConfigVariableGuid
- ## SOMETIMES_CONSUMES ## GUID # HiiIsConfigHdrMatch EFI_NIC_IP4_CONFIG_VARIABLE
- ## SOMETIMES_PRODUCES ## GUID # HiiConstructConfigHdr EFI_NIC_IP4_CONFIG_VARIABLE
- ## SOMETIMES_PRODUCES ## GUID # HiiGetBrowserData EFI_NIC_IP4_CONFIG_VARIABLE
- ## SOMETIMES_CONSUMES ## HII
- gNicIp4ConfigNvDataGuid
-
-[UserExtensions.TianoCore."ExtraFiles"]
- Ip4ConfigDxeExtra.uni
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.uni b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.uni
deleted file mode 100644
index efd16bdebb5741cfb6ce4e1e62ee41c5c8debad6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2700
zcmchZUr!T36vgkeiQi#UUerKQV|*~iSft1Xp`?_cPi9L?X)LtaE=9h)`a3h7ot74h
***@11+kJ#%KJzkhAorX_qY_$Bty&a7_(>)KO$!l>q2cFx$C)`bnNV^?lIv61D|
z{wemFuiK8L)TtfX#NN>QgvF)v*<)R9nHBibSb~k#7ksCD1FM!XA3t^iy3rI@$YS3P
zz_^HWy~LR~^kSk*E@!OI;Ydu3$Va(`u?@yDvhKJ!W!op~8{1%{>(*<oi$#Hj__&KT
z?@^***@v0vmoa(A2Gga|otCk}0uwW*8NC)Su&2CBi_KJH?n{ruZ5)<Em`UwJRa)cyvo
zOo*;5BSz(^EUt-uL+!1X<u9v{bJUks7pxZZKd>0PzBG1ey`_p$E+b-zi5?t^?`LH2
zocguB<oA}A_Dj82sCb=rioXKi1KRSC<3nZCv-qqz29p`z;v{FCaOIBq4yfMSmNo4|
z$wTBLo;82EdM?HVUV?f82btr2h~7qS?q-^^PN`5SUZ0kBH2TjRnuJm5PkIwFsWSN2
zYVDCmCVaXLGHX+6?1~kd&1nZDK9<****@Zxu{!|HI}#l(>F5Z7(lk!{oeGKVE%y>|D`
zDW$MTWii`6801kH{N1EjQn9jbgEPd{zKB(!KVw`P*SfC#q`Zx3o)^!hblIM+A5Iw%
zqGE<u>8M~Q-nlzd3iI5`K6gx4onCs(&&L=u(gt}4&***@p8@=8Hufy?Q+}dyfv+1
zpDAm$Pd|mz1XfkI7)?>yF|E2|`j{JSn|2eM;34ipin8li968SoT2i#i3bp*oYlV8t
z_0^lb3s0Dr*M^Ij*a=omhwOmy6tD8paM7Fegk58b*}_&fit4R)uvPSL)O*YbxlUqz
z8pUT(x38t2=skstLv*E>+e>c&y>^?9S#hdwtyGV0jsz6q?>n9v_&CN}onDRH{Y(wE
zTG-w7TVpqM8uadEl+vFxv4Jlkt$^_VzMqvcpZnz^B^;53RB~9dzbv2Cx#)yF#(#u=
zd#82I{p+*(eb%k!Ppw-19S*md?s|VVAL7Mc_G;eur4Dy+_|NiCFShQxRj;%Z9`M}%
Ig^sHI1Fg%p3jhEB

diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr
deleted file mode 100644
index bd3e36a..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr
+++ /dev/null
@@ -1,89 +0,0 @@
-/** @file
- Vfr file for IP4 config.
-
-Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
-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.
-
-**/
-#include "Ip4NvData.h"
-
-#define EFI_NETWORK_DEVICE_CLASS 0x04
-
-formset
- guid = EFI_NIC_IP4_CONFIG_NVDATA_GUID,
- title = STRING_TOKEN(STR_IP4_CONFIG_FORM_TITLE),
- help = STRING_TOKEN(STR_IP4_CONFIG_FORM_HELP),
-
- varstore IP4_CONFIG_IFR_NVDATA,
- name = EfiNicIp4ConfigVariable,
- guid = EFI_NIC_IP4_CONFIG_NVDATA_GUID;
-
- form formid = FORMID_MAIN_FORM,
- title = STRING_TOKEN(STR_IP4_DEVICE_FORM_TITLE);
-
- checkbox varid = EfiNicIp4ConfigVariable.Configure,
- prompt = STRING_TOKEN(STR_IP4_CONFIGURE),
- help = STRING_TOKEN(STR_IP4_CONFIGURE),
- flags = INTERACTIVE,
- key = KEY_ENABLE,
- endcheckbox;
-
- suppressif ideqval EfiNicIp4ConfigVariable.Configure == 0x00;
-
- checkbox varid = EfiNicIp4ConfigVariable.DhcpEnable,
- prompt = STRING_TOKEN(STR_IP4_ENABLE_DHCP),
- help = STRING_TOKEN(STR_IP4_ENABLE_DHCP),
- flags = INTERACTIVE,
- key = KEY_DHCP_ENABLE,
- endcheckbox;
- endif;
-
- suppressif ideqval EfiNicIp4ConfigVariable.DhcpEnable == 0x01 OR ideqval EfiNicIp4ConfigVariable.Configure == 0x00;
-
- string varid = EfiNicIp4ConfigVariable.StationAddress,
- prompt = STRING_TOKEN(STR_IP4_LOCAL_IP_ADDRESS),
- help = STRING_TOKEN(STR_IP4_IP_ADDRESS_HELP),
- flags = INTERACTIVE,
- key = KEY_LOCAL_IP,
- minsize = IP_MIN_SIZE,
- maxsize = IP_MAX_SIZE,
- endstring;
-
- string varid = EfiNicIp4ConfigVariable.SubnetMask,
- prompt = STRING_TOKEN(STR_IP4_LOCAL_MASK),
- help = STRING_TOKEN(STR_IP4_IP_ADDRESS_HELP),
- flags = INTERACTIVE,
- key = KEY_SUBNET_MASK,
- minsize = IP_MIN_SIZE,
- maxsize = IP_MAX_SIZE,
- endstring;
-
- string varid = EfiNicIp4ConfigVariable.GatewayAddress,
- prompt = STRING_TOKEN(STR_IP4_LOCAL_GATEWAY),
- help = STRING_TOKEN(STR_IP4_IP_ADDRESS_HELP),
- flags = INTERACTIVE,
- key = KEY_GATE_WAY,
- minsize = IP_MIN_SIZE,
- maxsize = IP_MAX_SIZE,
- endstring;
-
- endif;
-
- subtitle text = STRING_TOKEN(STR_NULL);
-
- text
- help = STRING_TOKEN(STR_SAVE_CHANGES),
- text = STRING_TOKEN(STR_SAVE_CHANGES),
- flags = INTERACTIVE,
- key = KEY_SAVE_CHANGES;
-
- endform;
-
-endformset;
-
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni
deleted file mode 100644
index a0bf5a838776900cee66e9b9a277fc2f5e401742..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1366
zcmZvcTW`}q5QWb(692(UUjVfUmp&ncNQnW9Hi^<il&8u`+SF2WkrP70j|aZ9j_tM}
z%ih`9nKNh4j`z>+mRgE<U+_fwplfBi)s>#=30|)yTIpCHwbUZ4&eYKz5s^;uO_UO!
z=@****@DqGhb+?HS-k9{vv-v)Pjf-y&Q}6m3AR_rW;}+Jp=tY<7>UtE4{%ws%FPJ
z#7+X*6$}c59Ii_+Qu4FFxXDVJbw`+2fo*0vT-Lm~wt;(7?{uPp-v5W)5Jp+p&x-gZ
zD6TOFrQF|!2y2qUc|yb-CSKd^wTSSTmFs0#x1iO#Pw_h2N=~***@tr;0SJ-0v
zlv0iPI`0P=Ud^#fCPl4zU|ph^nIp4GA1krsT<g3O&alJ$^Z}Qe>(8LYgzvw*&EQ}}
zb13w3tu=G+dJNC|=VDdO{u+OALgsu&%wtXubt$ym5jEcDFZT+VQQch;_#2*;-iBUY
zVinptJ`YMa*?rD=wjOD}#xsWbl%9K7y$Q+<Z>dN*MjGmiVp#R*qMknUZR?DAf}#<c
zdK}_S=(7=49CRM3%NXOY5$ZEY_;X?+&I57}%l+(cgVDG~Z7`***@BYuH?Ll(
z=y{t;X4b`@fNG3hs6Jq3?)JInkSNEvY7zB`SZ97`{K|@%`#+5LRf=82x~On!^aL&X
zbd_s%)T}tx`uPrO1;2d<***@y%lGF8Av8K^as#xCFZg>***@X{Ou%du=zzO;f
xm~rYUU-z8*;D~thbF~J%`q*3Uy7IR2UFe+q_leK(A|Q7{Py6o3$u>s${sqnc(e(fT

diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni
deleted file mode 100644
index 5a578a421e91687270a5a0a319104903ed0e5de9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3000
zcmbuBT~8W86o$`rlm3Sd-n5NE+w`VQ+Z1(0QV=6(+be>ANJJnDYW?$VpLfP(SklO%
zne5J-IWy<HbG~N&{wZ0>BEC1Y$iCTy4Q*t7ducD26;G{cb4%ciZ2;ASuXSU-Ip2iQ
zjQI;j34PV3_QCetyw+)t=Uua|&mKt+8nkk1_fEsWF5yS^%DVQN{=L1WePp!rK)r+B
zW?V(<9BCuQl8_)n|IPwa5l$JtRtUY9Eu;zige0+B{yi(&XWO+C`?`dx1(KmV*OYY=
zc1!j(yE|y^(a%}YcXSuD6L?d{yJw%b)U`t+Jwrw#q=i#=nAPqPye=czP*{R|?Ut=I
zbIT{sbnKkJ=58Dc$qq<lj|3b#V~SG9gg5J}2_6aicJc5&bS;A=V7+s;=<=7`>}iMS
zls;L*+e^A;&^q-wIMW!BKO&P|h5rJM_l;2hW>o~zWmH+qM4YQbltjq%`***@J5GEf}
zK4KL?bA0j1MX+MaTUYB7XX_%G5<FU3vHpyibFlY_wygFdQZD&Yo20$Yb7(QBj)|X!
zRrr^!4qe5j5mr^-Vzx?***@rBCgMK4v~h2wtcX(J?EUPI7~hB3b_ez2r)2fqvJ~
zqP7><BKrYfxEfBQ=rWpw?1=d)QYE9|w4Xo;yXK^`#VW0lR=?_iwc7cM{yQ8YR|dup
zTKp+u`?-)4q*t-UF>xiG`{Y?_x3pK?DY;qA_}MSEwV2t$4~pc0%LGM-e7VE9q@#dT
z@#L!+{wXZ&OC!){qW3`?9LLnAHulx|4xlSg2hJ9CMml*5yz*$;0)`u~3|#bOQAp}7
zawBA_zTLU_x`I|^8WYv3K8n6jojlg9MW$?qQ!!UVYl>0*dYr3hlt<$g#HwMw(&;3s
zCo}w(53M5l3=1lHpKsOY>3o`n^66ZTo>P}Q%YMj?pW>BXPJ1g~%hUkHYn%K!#PZpg
z2w2wRP%ef0C6$)XA~iB-4=gosC>z?0_i4VaC|5&UkEBM{bityVThdg2dNhA;&vII4
z8B-kzO{!NwksWP@$!B>TgfqK(0-6eFbQ7p9tE#TH&Cpc9p-jD_zt4&0e?Drvn{2hJ
z<f$u)9A7I^f9d5C{1s9E#+<T;Uv)***@owLK&$IC-^uglY8#|;&7UDat~y)zg2dmz^h
xRe{RJ+UAyRVnw|***@4t1kN&PWqyXd9CO*^>}6+aYxl?s|X&W*ZbY;{0C-0!1w?F

diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c
deleted file mode 100644
index 89e1dda..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c
+++ /dev/null
@@ -1,909 +0,0 @@
-/** @file
- Helper functions for configuring or getting the parameters relating to Ip4.
-
-Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
-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.
-
-**/
-
-#include "Ip4ConfigNv.h"
-#include "NicIp4Variable.h"
-
-/**
- Calculate the prefix length of the IPv4 subnet mask.
-
- @param[in] SubnetMask The IPv4 subnet mask.
-
- @return The prefix length of the subnet mask.
- @retval 0 Other errors as indicated.
-**/
-UINT8
-GetSubnetMaskPrefixLength (
- IN EFI_IPv4_ADDRESS *SubnetMask
- )
-{
- UINT8 Len;
- UINT32 ReverseMask;
-
- //
- // The SubnetMask is in network byte order.
- //
- ReverseMask = SwapBytes32 (*(UINT32 *)&SubnetMask[0]);
-
- //
- // Reverse it.
- //
- ReverseMask = ~ReverseMask;
-
- if ((ReverseMask & (ReverseMask + 1)) != 0) {
- return 0;
- }
-
- Len = 0;
-
- while (ReverseMask != 0) {
- ReverseMask = ReverseMask >> 1;
- Len++;
- }
-
- return (UINT8) (32 - Len);
-}
-
-/**
- Convert the decimal dotted IPv4 address into the binary IPv4 address.
-
- @param[in] Str The UNICODE string.
- @param[out] Ip The storage to return the IPv4 address.
-
- @retval EFI_SUCCESS The binary IP address is returned in Ip.
- @retval EFI_INVALID_PARAMETER The IP string is malformatted.
-**/
-EFI_STATUS
-Ip4StrToIp (
- IN CHAR16 *Str,
- OUT EFI_IPv4_ADDRESS *Ip
- )
-{
- UINTN Index;
- UINTN Number;
-
- Index = 0;
-
- while (*Str != L'\0') {
-
- if (Index > 3) {
- return EFI_INVALID_PARAMETER;
- }
-
- Number = 0;
- while ((*Str >= L'0') && (*Str <= L'9')) {
- Number = Number * 10 + (*Str - L'0');
- Str++;
- }
-
- if (Number > 0xFF) {
- return EFI_INVALID_PARAMETER;
- }
-
- Ip->Addr[Index] = (UINT8) Number;
-
- if ((*Str != L'\0') && (*Str != L'.')) {
- //
- // The current character should be either the NULL terminator or
- // the dot delimiter.
- //
- return EFI_INVALID_PARAMETER;
- }
-
- if (*Str == L'.') {
- //
- // Skip the delimiter.
- //
- Str++;
- }
-
- Index++;
- }
-
- if (Index != 4) {
- return EFI_INVALID_PARAMETER;
- }
-
- return EFI_SUCCESS;
-}
-
-/**
- Convert the IPv4 address into a dotted string.
-
- @param[in] Ip The IPv4 address.
- @param[out] Str The dotted IP string.
-**/
-VOID
-Ip4ConfigIpToStr (
- IN EFI_IPv4_ADDRESS *Ip,
- OUT CHAR16 *Str
- )
-{
- UnicodeSPrint (Str, 2 * IP4_STR_MAX_SIZE, L"%d.%d.%d.%d", Ip->Addr[0], Ip->Addr[1], Ip->Addr[2], Ip->Addr[3]);
-}
-
-
-/**
- Convert the network configuration data into the IFR data.
-
- @param[in] Ip4ConfigInstance The IP4Config instance
- @param[out] IfrFormNvData The IFR nv data.
-**/
-VOID
-Ip4ConfigConvertDeviceConfigDataToIfrNvData (
- IN IP4_CONFIG_INSTANCE *Ip4ConfigInstance,
- OUT IP4_CONFIG_IFR_NVDATA *IfrFormNvData
- )
-{
- NIC_IP4_CONFIG_INFO *NicConfig;
-
- NicConfig = EfiNicIp4ConfigGetInfo (Ip4ConfigInstance);
- if (NicConfig != NULL) {
- IfrFormNvData->Configure = 1;
- Ip4ConfigInstance->Ip4ConfigCallbackInfo.Configured = TRUE;
- if (NicConfig->Source == IP4_CONFIG_SOURCE_DHCP) {
- IfrFormNvData->DhcpEnable = 1;
- Ip4ConfigInstance->Ip4ConfigCallbackInfo.DhcpEnabled = TRUE;
- } else {
- IfrFormNvData->DhcpEnable = 0;
- Ip4ConfigIpToStr (&NicConfig->Ip4Info.StationAddress, IfrFormNvData->StationAddress);
- Ip4ConfigIpToStr (&NicConfig->Ip4Info.SubnetMask, IfrFormNvData->SubnetMask);
- Ip4ConfigIpToStr (&NicConfig->Ip4Info.RouteTable[1].GatewayAddress, IfrFormNvData->GatewayAddress);
-
- Ip4ConfigInstance->Ip4ConfigCallbackInfo.DhcpEnabled = FALSE;
- CopyMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.LocalIp, &NicConfig->Ip4Info.StationAddress, sizeof (EFI_IPv4_ADDRESS));
- CopyMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.SubnetMask, &NicConfig->Ip4Info.SubnetMask, sizeof (EFI_IPv4_ADDRESS));
- CopyMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.Gateway, &NicConfig->Ip4Info.RouteTable[1].GatewayAddress, sizeof (EFI_IPv4_ADDRESS));
- }
-
- FreePool (NicConfig);
- } else {
- IfrFormNvData->Configure = 0;
- Ip4ConfigInstance->Ip4ConfigCallbackInfo.Configured = FALSE;
- }
-}
-
-/**
- Convert the IFR data into the network configuration data and set the IP
- configure parameters for the NIC.
-
- @param[in] IfrFormNvData The IFR NV data.
- @param[in, out] Ip4ConfigInstance The IP4Config instance.
-
- @retval EFI_SUCCESS The configure parameter for this NIC was
- set successfully.
- @retval EFI_ALREADY_STARTED There is a pending auto configuration.
- @retval EFI_NOT_FOUND No auto configure parameter is found.
-
-**/
-EFI_STATUS
-Ip4ConfigConvertIfrNvDataToDeviceConfigData (
- IN IP4_CONFIG_IFR_NVDATA *IfrFormNvData,
- IN OUT IP4_CONFIG_INSTANCE *Ip4ConfigInstance
- )
-{
- EFI_STATUS Status;
- EFI_IP_ADDRESS HostIp;
- EFI_IP_ADDRESS SubnetMask;
- EFI_IP_ADDRESS Gateway;
- EFI_INPUT_KEY Key;
- NIC_IP4_CONFIG_INFO *NicInfo;
- EFI_IP_ADDRESS Ip;
-
- ZeroMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo, sizeof (IP4_SETTING_INFO));
-
- Ip4ConfigInstance->Ip4ConfigCallbackInfo.Configured = IfrFormNvData->Configure;
- Ip4ConfigInstance->Ip4ConfigCallbackInfo.DhcpEnabled = IfrFormNvData->DhcpEnable;
- Ip4StrToIp (IfrFormNvData->StationAddress, &Ip4ConfigInstance->Ip4ConfigCallbackInfo.LocalIp);
- Ip4StrToIp (IfrFormNvData->SubnetMask, &Ip4ConfigInstance->Ip4ConfigCallbackInfo.SubnetMask);
- Ip4StrToIp (IfrFormNvData->GatewayAddress, &Ip4ConfigInstance->Ip4ConfigCallbackInfo.Gateway);
-
- if (!Ip4ConfigInstance->Ip4ConfigCallbackInfo.Configured) {
- //
- // Clear the variable
- //
- ZeroMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo, sizeof (IP4_SETTING_INFO));
-
- Status = EfiNicIp4ConfigSetInfo (Ip4ConfigInstance, NULL, TRUE);
- if (Status == EFI_NOT_FOUND) {
- return EFI_SUCCESS;
- }
-
- return Status;
- }
-
- NicInfo = AllocateZeroPool (sizeof (NIC_IP4_CONFIG_INFO) + 2 * sizeof (EFI_IP4_ROUTE_TABLE));
- ASSERT (NicInfo != NULL);
-
- NicInfo->Ip4Info.RouteTable = (EFI_IP4_ROUTE_TABLE *) (NicInfo + 1);
-
- if (!Ip4ConfigInstance->Ip4ConfigCallbackInfo.DhcpEnabled) {
- CopyMem (&HostIp.v4, &Ip4ConfigInstance->Ip4ConfigCallbackInfo.LocalIp, sizeof (HostIp.v4));
- CopyMem (&SubnetMask.v4, &Ip4ConfigInstance->Ip4ConfigCallbackInfo.SubnetMask, sizeof (SubnetMask.v4));
- CopyMem (&Gateway.v4, &Ip4ConfigInstance->Ip4ConfigCallbackInfo.Gateway, sizeof (Gateway.v4));
-
- if (!NetIp4IsUnicast (NTOHL (HostIp.Addr[0]), 0)) {
- CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, L"Invalid IP address!", NULL);
- return EFI_INVALID_PARAMETER;
- }
- if (EFI_IP4_EQUAL (&SubnetMask, &mZeroIp4Addr)) {
- CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, L"Invalid Subnet Mask!", NULL);
- return EFI_INVALID_PARAMETER;
- }
-
- if ((Gateway.Addr[0] != 0)) {
- if (SubnetMask.Addr[0] == 0) {
- CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, L"Gateway address is set but subnet mask is zero.", NULL);
- return EFI_INVALID_PARAMETER;
-
- } else if (!IP4_NET_EQUAL (HostIp.Addr[0], Gateway.Addr[0], SubnetMask.Addr[0])) {
- CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, L"Local IP and Gateway are not in the same subnet.", NULL);
- return EFI_INVALID_PARAMETER; }
- }
-
- NicInfo->Source = IP4_CONFIG_SOURCE_STATIC;
- NicInfo->Ip4Info.RouteTableSize = 2;
-
- CopyMem (&NicInfo->Ip4Info.StationAddress, &HostIp.v4, sizeof (EFI_IPv4_ADDRESS));
- CopyMem (&NicInfo->Ip4Info.SubnetMask, &SubnetMask.v4, sizeof (EFI_IPv4_ADDRESS));
-
- Ip.Addr[0] = HostIp.Addr[0] & SubnetMask.Addr[0];
-
- CopyMem (&NicInfo->Ip4Info.RouteTable[0].SubnetAddress, &Ip.v4, sizeof (EFI_IPv4_ADDRESS));
- CopyMem (&NicInfo->Ip4Info.RouteTable[0].SubnetMask, &SubnetMask.v4, sizeof (EFI_IPv4_ADDRESS));
- CopyMem (&NicInfo->Ip4Info.RouteTable[1].GatewayAddress, &Gateway.v4, sizeof (EFI_IPv4_ADDRESS));
-
- } else {
- NicInfo->Source = IP4_CONFIG_SOURCE_DHCP;
- ZeroMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.LocalIp, sizeof (EFI_IPv4_ADDRESS));
- ZeroMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.SubnetMask, sizeof (EFI_IPv4_ADDRESS));
- ZeroMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.Gateway, sizeof (EFI_IPv4_ADDRESS));
- }
-
- NicInfo->Permanent = TRUE;
- CopyMem (&NicInfo->NicAddr, &Ip4ConfigInstance->NicAddr, sizeof (NIC_ADDR));
-
- return EfiNicIp4ConfigSetInfo (Ip4ConfigInstance, NicInfo, TRUE);
-}
-
-/**
- This function allows the caller to request the current
- configuration for one or more named elements. The resulting
- string is in <ConfigAltResp> format. Any and all alternative
- configuration strings shall also be appended to the end of the
- current configuration string. If they are, they must appear
- after the current configuration. They must contain the same
- routing (GUID, NAME, PATH) as the current configuration string.
- They must have an additional description indicating the type of
- alternative configuration the string represents,
- "ALTCFG=<StringToken>". That <StringToken> (when
- converted from Hex UNICODE to binary) is a reference to a
- string in the associated string pack.
-
- @param[in] This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
- @param[in] Request A null-terminated Unicode string in
- <ConfigRequest> format. Note that this
- includes the routing information as well as
- the configurable name / value pairs. It is
- invalid for this string to be in
- <MultiConfigRequest> format.
- @param[out] Progress On return, points to a character in the
- Request string. Points to the string's null
- terminator if request was successful. Points
- to the most recent "&" before the first
- failing name / value pair (or the beginning
- of the string if the failure is in the first
- name / value pair) if the request was not
- successful.
- @param[out] Results A null-terminated Unicode string in
- <ConfigAltResp> format which has all values
- filled in for the names in the Request string.
- String to be allocated by the called function.
-
- @retval EFI_SUCCESS The Results string is filled with the
- values corresponding to all requested
- names.
- @retval EFI_OUT_OF_RESOURCES Not enough memory to store the
- parts of the results that must be
- stored awaiting possible future
- protocols.
- @retval EFI_NOT_FOUND Routing data doesn't match any
- known driver. Progress set to the
- first character in the routing header.
- Note: There is no requirement that the
- driver validate the routing data. It
- must skip the <ConfigHdr> in order to
- process the names.
- @retval EFI_INVALID_PARAMETER Illegal syntax. Progress set
- to most recent & before the
- error or the beginning of the
- string.
- @retval EFI_INVALID_PARAMETER Unknown name. Progress points
- to the & before the name in
- question.Currently not implemented.
-**/
-EFI_STATUS
-EFIAPI
-Ip4DeviceExtractConfig (
- IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,
- IN CONST EFI_STRING Request,
- OUT EFI_STRING *Progress,
- OUT EFI_STRING *Results
- )
-{
- EFI_STATUS Status;
- NIC_IP4_CONFIG_INFO *IfrDeviceNvData;
- NIC_IP4_CONFIG_INFO *NicConfig;
- IP4_CONFIG_INSTANCE *Ip4ConfigInstance;
- IP4_CONFIG_IFR_NVDATA *IfrFormNvData;
- EFI_STRING ConfigRequestHdr;
- EFI_STRING ConfigRequest;
- EFI_STRING DeviceResult;
- EFI_STRING FormResult;
- CHAR16 *StrPointer;
- BOOLEAN AllocatedRequest;
- UINTN Size;
- UINTN BufferSize;
-
- if (Progress == NULL || Results == NULL) {
- return EFI_INVALID_PARAMETER;
- }
-
- *Progress = Request;
- Size = 0;
- DeviceResult = NULL;
- FormResult = NULL;
- ConfigRequest = NULL;
- Status = EFI_SUCCESS;
- AllocatedRequest = FALSE;
- Ip4ConfigInstance = IP4_CONFIG_INSTANCE_FROM_CONFIG_ACCESS (This);
-
- //
- // Check Request data in <ConfigHdr>.
- //
- if ((Request == NULL) || HiiIsConfigHdrMatch (Request, &gEfiNicIp4ConfigVariableGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {
- IfrDeviceNvData = AllocateZeroPool (NIC_ITEM_CONFIG_SIZE);
- if (IfrDeviceNvData == NULL) {
- return EFI_OUT_OF_RESOURCES;
- }
-
- NicConfig = EfiNicIp4ConfigGetInfo (Ip4ConfigInstance);
- if (NicConfig == NULL) {
- return EFI_NOT_FOUND;
- }
- CopyMem (IfrDeviceNvData, NicConfig, SIZEOF_NIC_IP4_CONFIG_INFO (NicConfig));
- FreePool (NicConfig);
-
- ConfigRequest = Request;
- if ((Request == NULL) || (StrStr (Request, L"OFFSET") == NULL)) {
- //
- // Request has no request element, construct full request string.
- // Allocate and fill a buffer large enough to hold the <ConfigHdr> template
- // followed by "&OFFSET=0&WIDTH=WWWWWWWWWWWWWWWW" followed by a Null-terminator
- //
- ConfigRequestHdr = HiiConstructConfigHdr (&gEfiNicIp4ConfigVariableGuid, EFI_NIC_IP4_CONFIG_VARIABLE, Ip4ConfigInstance->ChildHandle);
- Size = (StrLen (ConfigRequestHdr) + 32 + 1) * sizeof (CHAR16);
- ConfigRequest = AllocateZeroPool (Size);
- ASSERT (ConfigRequest != NULL);
- AllocatedRequest = TRUE;
- BufferSize = NIC_ITEM_CONFIG_SIZE;
- UnicodeSPrint (ConfigRequest, Size, L"%s&OFFSET=0&WIDTH=%016LX", ConfigRequestHdr, (UINT64)BufferSize);
- FreePool (ConfigRequestHdr);
- }
-
- //
- // Convert buffer data to <ConfigResp> by helper function BlockToConfig()
- //
- Status = gHiiConfigRouting->BlockToConfig (
- gHiiConfigRouting,
- ConfigRequest,
- (UINT8 *) IfrDeviceNvData,
- NIC_ITEM_CONFIG_SIZE,
- &DeviceResult,
- Progress
- );
-
- FreePool (IfrDeviceNvData);
- //
- // Free the allocated config request string.
- //
- if (AllocatedRequest) {
- FreePool (ConfigRequest);
- ConfigRequest = NULL;
- }
-
- if (EFI_ERROR (Status)) {
- goto Failure;
- }
- }
-
- if ((Request == NULL) || HiiIsConfigHdrMatch (Request, &gNicIp4ConfigNvDataGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {
-
- IfrFormNvData = AllocateZeroPool (sizeof (IP4_CONFIG_IFR_NVDATA));
- if (IfrFormNvData == NULL) {
- return EFI_OUT_OF_RESOURCES;
- }
-
- Ip4ConfigConvertDeviceConfigDataToIfrNvData (Ip4ConfigInstance, IfrFormNvData);
-
- ConfigRequest = Request;
- if ((Request == NULL) || (StrStr (Request, L"OFFSET") == NULL)) {
- //
- // Request has no request element, construct full request string.
- // Allocate and fill a buffer large enough to hold the <ConfigHdr> template
- // followed by "&OFFSET=0&WIDTH=WWWWWWWWWWWWWWWW" followed by a Null-terminator
- //
- ConfigRequestHdr = HiiConstructConfigHdr (&gNicIp4ConfigNvDataGuid, EFI_NIC_IP4_CONFIG_VARIABLE, Ip4ConfigInstance->ChildHandle);
- Size = (StrLen (ConfigRequestHdr) + 32 + 1) * sizeof (CHAR16);
- ConfigRequest = AllocateZeroPool (Size);
- ASSERT (ConfigRequest != NULL);
- AllocatedRequest = TRUE;
- BufferSize = sizeof (IP4_CONFIG_IFR_NVDATA);
- UnicodeSPrint (ConfigRequest, Size, L"%s&OFFSET=0&WIDTH=%016LX", ConfigRequestHdr, (UINT64)BufferSize);
- FreePool (ConfigRequestHdr);
- }
-
- //
- // Convert buffer data to <ConfigResp> by helper function BlockToConfig()
- //
- Status = gHiiConfigRouting->BlockToConfig (
- gHiiConfigRouting,
- ConfigRequest,
- (UINT8 *) IfrFormNvData,
- sizeof (IP4_CONFIG_IFR_NVDATA),
- &FormResult,
- Progress
- );
-
- FreePool (IfrFormNvData);
- //
- // Free the allocated config request string.
- //
- if (AllocatedRequest) {
- FreePool (ConfigRequest);
- ConfigRequest = NULL;
- }
-
- if (EFI_ERROR (Status)) {
- goto Failure;
- }
- }
-
- if (Request == NULL) {
- Size = StrLen (DeviceResult);
- Size = Size + 1;
- Size = Size + StrLen (FormResult) + 1;
- *Results = AllocateZeroPool (Size * sizeof (CHAR16));
- ASSERT (*Results != NULL);
- StrPointer = *Results;
- StrCpy (StrPointer, DeviceResult);
- StrPointer = StrPointer + StrLen (StrPointer);
- *StrPointer = L'&';
- StrCpy (StrPointer + 1, FormResult);
- FreePool (DeviceResult);
- FreePool (FormResult);
- } else if (HiiIsConfigHdrMatch (Request, &gEfiNicIp4ConfigVariableGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {
- *Results = DeviceResult;
- } else if (HiiIsConfigHdrMatch (Request, &gNicIp4ConfigNvDataGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {
- *Results = FormResult;
- } else {
- return EFI_NOT_FOUND;
- }
-
-Failure:
- //
- // Set Progress string to the original request string.
- //
- if (Request == NULL) {
- *Progress = NULL;
- } else if (StrStr (Request, L"OFFSET") == NULL) {
- *Progress = Request + StrLen (Request);
- }
-
- return Status;
-}
-
-/**
- This function applies changes in a driver's configuration.
- Input is a Configuration, which has the routing data for this
- driver followed by name / value configuration pairs. The driver
- must apply those pairs to its configurable storage. If the
- driver's configuration is stored in a linear block of data
- and the driver's name / value pairs are in <BlockConfig>
- format, it may use the ConfigToBlock helper function (above) to
- simplify the job. Currently not implemented.
-
- @param[in] This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
- @param[in] Configuration A null-terminated Unicode string in
- <ConfigString> format.
- @param[out] Progress A pointer to a string filled in with the
- offset of the most recent '&' before the
- first failing name / value pair (or the
- beginn ing of the string if the failure
- is in the first name / value pair) or
- the terminating NULL if all was
- successful.
-
- @retval EFI_SUCCESS The results have been distributed or are
- awaiting distribution.
- @retval EFI_OUT_OF_MEMORY Not enough memory to store the
- parts of the results that must be
- stored awaiting possible future
- protocols.
- @retval EFI_INVALID_PARAMETERS Passing in a NULL for the
- Results parameter would result
- in this type of error.
- @retval EFI_NOT_FOUND Target for the specified routing data
- was not found.
-**/
-EFI_STATUS
-EFIAPI
-Ip4DeviceRouteConfig (
- IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,
- IN CONST EFI_STRING Configuration,
- OUT EFI_STRING *Progress
- )
-{
- EFI_STATUS Status;
- UINTN BufferSize;
- NIC_IP4_CONFIG_INFO *IfrDeviceNvData;
- IP4_CONFIG_IFR_NVDATA *IfrFormNvData;
- NIC_IP4_CONFIG_INFO *NicInfo;
- IP4_CONFIG_INSTANCE *Ip4ConfigInstance;
- EFI_MAC_ADDRESS ZeroMac;
-
- if (Configuration == NULL || Progress == NULL) {
- return EFI_INVALID_PARAMETER;
- }
-
- //
- // Reclaim Ip4Config variable
- //
- Ip4ConfigReclaimVariable ();
-
- *Progress = Configuration;
-
- Ip4ConfigInstance = IP4_CONFIG_INSTANCE_FROM_CONFIG_ACCESS (This);
-
- //
- // Check Routing data in <ConfigHdr>.
- //
- if (HiiIsConfigHdrMatch (Configuration, &gNicIp4ConfigNvDataGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {
- //
- // Convert buffer data to <ConfigResp> by helper function BlockToConfig()
- //
- IfrFormNvData = AllocateZeroPool (sizeof (IP4_CONFIG_IFR_NVDATA));
- if (IfrFormNvData == NULL) {
- return EFI_OUT_OF_RESOURCES;
- }
-
- BufferSize = NIC_ITEM_CONFIG_SIZE;
- Status = gHiiConfigRouting->ConfigToBlock (
- gHiiConfigRouting,
- Configuration,
- (UINT8 *) IfrFormNvData,
- &BufferSize,
- Progress
- );
- if (!EFI_ERROR (Status)) {
- Status = Ip4ConfigConvertIfrNvDataToDeviceConfigData (IfrFormNvData, Ip4ConfigInstance);
- }
-
- FreePool (IfrFormNvData);
-
- } else if (HiiIsConfigHdrMatch (Configuration, &gEfiNicIp4ConfigVariableGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {
-
- IfrDeviceNvData = AllocateZeroPool (NIC_ITEM_CONFIG_SIZE);
- if (IfrDeviceNvData == NULL) {
- return EFI_OUT_OF_RESOURCES;
- }
-
- BufferSize = NIC_ITEM_CONFIG_SIZE;
- Status = gHiiConfigRouting->ConfigToBlock (
- gHiiConfigRouting,
- Configuration,
- (UINT8 *) IfrDeviceNvData,
- &BufferSize,
- Progress
- );
- if (!EFI_ERROR (Status)) {
- ZeroMem (&ZeroMac, sizeof (EFI_MAC_ADDRESS));
- if (CompareMem (&IfrDeviceNvData->NicAddr.MacAddr, &ZeroMac, IfrDeviceNvData->NicAddr.Len) != 0) {
- BufferSize = SIZEOF_NIC_IP4_CONFIG_INFO (IfrDeviceNvData);
- NicInfo = AllocateCopyPool (BufferSize, IfrDeviceNvData);
- if (NicInfo == NULL) {
- return EFI_OUT_OF_RESOURCES;
- }
- Status = EfiNicIp4ConfigSetInfo (Ip4ConfigInstance, NicInfo, TRUE);
- FreePool (NicInfo);
- } else {
- ZeroMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo, sizeof (IP4_SETTING_INFO));
- Status = EfiNicIp4ConfigSetInfo (Ip4ConfigInstance, NULL, TRUE);
- }
- }
-
- FreePool (IfrDeviceNvData);
-
- } else {
-
- return EFI_NOT_FOUND;
- }
-
- return Status;
-
-}
-
-/**
- This function is called to provide results data to the driver.
- This data consists of a unique key that is used to identify
- which data is either being passed back or being asked for.
-
- @param[in] This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
- @param[in] Action Specifies the type of action taken by the browser.
- @param[in] QuestionId A unique value which is sent to the original
- exporting driver so that it can identify the type
- of data to expect. The format of the data tends to
- vary based on the opcode that enerated the callback.
- @param[in] Type The type of value for the question.
- @param[in] Value A pointer to the data being sent to the original
- exporting driver.
- @param[out] ActionRequest On return, points to the action requested by the
- callback function.
-
- @retval EFI_SUCCESS The callback successfully handled the action.
- @retval EFI_OUT_OF_RESOURCES Not enough storage is available to hold the
- variable and its data.
- @retval EFI_DEVICE_ERROR The variable could not be saved.
- @retval EFI_UNSUPPORTED The specified Action is not supported by the
- callback.Currently not implemented.
- @retval EFI_INVALID_PARAMETERS Passing in wrong parameter.
- @retval Others Other errors as indicated.
-**/
-EFI_STATUS
-EFIAPI
-Ip4FormCallback (
- IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,
- IN EFI_BROWSER_ACTION Action,
- IN EFI_QUESTION_ID QuestionId,
- IN UINT8 Type,
- IN EFI_IFR_TYPE_VALUE *Value,
- OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest
- )
-{
- IP4_CONFIG_INSTANCE *Ip4ConfigInstance;
- IP4_CONFIG_IFR_NVDATA *IfrFormNvData;
- EFI_IP_ADDRESS HostIp;
- EFI_IP_ADDRESS SubnetMask;
- EFI_IP_ADDRESS Gateway;
- EFI_STATUS Status;
- EFI_INPUT_KEY Key;
-
- if (Action == EFI_BROWSER_ACTION_CHANGED) {
- Ip4ConfigInstance = IP4_CONFIG_INSTANCE_FROM_CONFIG_ACCESS (This);
-
- IfrFormNvData = AllocateZeroPool (sizeof (IP4_CONFIG_IFR_NVDATA));
- if (IfrFormNvData == NULL) {
- return EFI_OUT_OF_RESOURCES;
- }
-
- //
- // Retrive uncommitted data from Browser
- //
- if (!HiiGetBrowserData (&gNicIp4ConfigNvDataGuid, EFI_NIC_IP4_CONFIG_VARIABLE, sizeof (IP4_CONFIG_IFR_NVDATA), (UINT8 *) IfrFormNvData)) {
- FreePool (IfrFormNvData);
- return EFI_NOT_FOUND;
- }
-
- Status = EFI_SUCCESS;
-
- switch (QuestionId) {
- case KEY_LOCAL_IP:
- Status = Ip4StrToIp (IfrFormNvData->StationAddress, &HostIp.v4);
- if (EFI_ERROR (Status) || !NetIp4IsUnicast (NTOHL (HostIp.Addr[0]), 0)) {
- CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, L"Invalid IP address!", NULL);
- Status = EFI_INVALID_PARAMETER;
- } else {
- CopyMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.LocalIp, &HostIp.v4, sizeof (HostIp.v4));
- }
-
- break;
-
- case KEY_SUBNET_MASK:
- Status = Ip4StrToIp (IfrFormNvData->SubnetMask, &SubnetMask.v4);
- if (EFI_ERROR (Status) || ((SubnetMask.Addr[0] != 0) && (GetSubnetMaskPrefixLength (&SubnetMask.v4) == 0))) {
- CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, L"Invalid Subnet Mask!", NULL);
- Status = EFI_INVALID_PARAMETER;
- } else {
- CopyMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.SubnetMask, &SubnetMask.v4, sizeof (SubnetMask.v4));
- }
-
- break;
-
- case KEY_GATE_WAY:
- Status = Ip4StrToIp (IfrFormNvData->GatewayAddress, &Gateway.v4);
- if (EFI_ERROR (Status) || ((Gateway.Addr[0] != 0) && !NetIp4IsUnicast (NTOHL (Gateway.Addr[0]), 0))) {
- CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, L"Invalid Gateway!", NULL);
- Status = EFI_INVALID_PARAMETER;
- } else {
- CopyMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.Gateway, &Gateway.v4, sizeof (Gateway.v4));
- }
-
- break;
-
- case KEY_SAVE_CHANGES:
- Status = Ip4ConfigConvertIfrNvDataToDeviceConfigData (IfrFormNvData, Ip4ConfigInstance);
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_SUBMIT;
- break;
-
- default:
- break;
- }
-
- FreePool (IfrFormNvData);
-
- return Status;
- }
-
- //
- // All other action return unsupported.
- //
- return EFI_UNSUPPORTED;
-}
-
-/**
- Install HII Config Access protocol for network device and allocate resource.
-
- @param[in] Instance The IP4 Config instance.
-
- @retval EFI_SUCCESS The HII Config Access protocol is installed.
- @retval EFI_OUT_OF_RESOURCES Failed to allocate memory.
- @retval Others Other errors as indicated.
-**/
-EFI_STATUS
-Ip4ConfigDeviceInit (
- IN IP4_CONFIG_INSTANCE *Instance
- )
-{
- EFI_STATUS Status;
- EFI_HII_CONFIG_ACCESS_PROTOCOL *ConfigAccess;
- VENDOR_DEVICE_PATH VendorDeviceNode;
- EFI_SERVICE_BINDING_PROTOCOL *MnpSb;
- CHAR16 *MacString;
- CHAR16 MenuString[128];
- CHAR16 PortString[128];
- CHAR16 *OldMenuString;
-
- ConfigAccess = &Instance->HiiConfigAccessProtocol;
- ConfigAccess->ExtractConfig = Ip4DeviceExtractConfig;
- ConfigAccess->RouteConfig = Ip4DeviceRouteConfig;
- ConfigAccess->Callback = Ip4FormCallback;
-
- //
- // Construct device path node for EFI HII Config Access protocol,
- // which consists of controller physical device path and one hardware
- // vendor guid node.
- //
- ZeroMem (&VendorDeviceNode, sizeof (VENDOR_DEVICE_PATH));
- VendorDeviceNode.Header.Type = HARDWARE_DEVICE_PATH;
- VendorDeviceNode.Header.SubType = HW_VENDOR_DP;
-
- CopyGuid (&VendorDeviceNode.Guid, &gEfiNicIp4ConfigVariableGuid);
-
- SetDevicePathNodeLength (&VendorDeviceNode.Header, sizeof (VENDOR_DEVICE_PATH));
- Instance->HiiVendorDevicePath = AppendDevicePathNode (
- Instance->ParentDevicePath,
- (EFI_DEVICE_PATH_PROTOCOL *) &VendorDeviceNode
- );
-
- Instance->ChildHandle = NULL;
- //
- // Install Device Path Protocol and Config Access protocol on new handle
- //
- Status = gBS->InstallMultipleProtocolInterfaces (
- &Instance->ChildHandle,
- &gEfiDevicePathProtocolGuid,
- Instance->HiiVendorDevicePath,
- &gEfiHiiConfigAccessProtocolGuid,
- ConfigAccess,
- NULL
- );
- if (!EFI_ERROR (Status)) {
- //
- // Open the Parent Handle for the child
- //
- Status = gBS->OpenProtocol (
- Instance->Controller,
- &gEfiManagedNetworkServiceBindingProtocolGuid,
- (VOID **) &MnpSb,
- Instance->Image,
- Instance->ChildHandle,
- EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER
- );
- }
-
- ASSERT_EFI_ERROR (Status);
-
- //
- // Publish our HII data
- //
- Instance->RegisteredHandle = HiiAddPackages (
- &gNicIp4ConfigNvDataGuid,
- Instance->ChildHandle,
- Ip4ConfigDxeStrings,
- Ip4ConfigDxeBin,
- NULL
- );
- if (Instance->RegisteredHandle == NULL) {
- return EFI_OUT_OF_RESOURCES;
- }
-
- //
- // Append MAC string in the menu help string and tile help string
- //
- Status = NetLibGetMacString (Instance->Controller, Instance->Image, &MacString);
- if (!EFI_ERROR (Status)) {
- OldMenuString = HiiGetString (Instance->RegisteredHandle, STRING_TOKEN (STR_IP4_CONFIG_FORM_HELP), NULL);
- UnicodeSPrint (MenuString, 128, L"%s (MAC:%s)", OldMenuString, MacString);
- HiiSetString (Instance->RegisteredHandle, STRING_TOKEN (STR_IP4_CONFIG_FORM_HELP), MenuString, NULL);
-
- UnicodeSPrint (PortString, 128, L"MAC:%s", MacString);
- HiiSetString (Instance->RegisteredHandle, STRING_TOKEN (STR_IP4_DEVICE_FORM_HELP), PortString, NULL);
- FreePool (MacString);
- }
-
- return Status;
-}
-
-/**
- Uninstall HII Config Access protocol for network device and free resource.
-
- @param[in] Instance The IP4 Config instance.
-
- @retval EFI_SUCCESS The HII Config Access protocol is uninstalled.
- @retval Others Other errors as indicated.
-**/
-EFI_STATUS
-Ip4ConfigDeviceUnload (
- IN IP4_CONFIG_INSTANCE *Instance
- )
-{
- //
- // Remove HII package list
- //
- HiiRemovePackages (Instance->RegisteredHandle);
-
- //
- // Close the child handle
- //
- gBS->CloseProtocol (
- Instance->Controller,
- &gEfiManagedNetworkServiceBindingProtocolGuid,
- Instance->Image,
- Instance->ChildHandle
- );
-
- //
- // Uninstall EFI_HII_CONFIG_ACCESS_PROTOCOL
- //
- gBS->UninstallMultipleProtocolInterfaces (
- Instance->ChildHandle,
- &gEfiDevicePathProtocolGuid,
- Instance->HiiVendorDevicePath,
- &gEfiHiiConfigAccessProtocolGuid,
- &Instance->HiiConfigAccessProtocol,
- NULL
- );
-
- return EFI_SUCCESS;
-}
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h
deleted file mode 100644
index 3b4168e..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/** @file
- The header file of IP4ConfigNv.c
-
-Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
-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 _IP4_CONFIGNV_H_
-#define _IP4_CONFIGNV_H_
-
-#include "Ip4Config.h"
-#include "Ip4NvData.h"
-
-extern UINT8 Ip4ConfigDxeBin[];
-extern UINT8 Ip4ConfigDxeStrings[];
-
-#define NIC_ITEM_CONFIG_SIZE (sizeof (NIC_IP4_CONFIG_INFO) + (sizeof (EFI_IP4_ROUTE_TABLE) * MAX_IP4_CONFIG_IN_VARIABLE))
-
-
-/**
- Install HII Config Access protocol for network device and allocate resource.
-
- @param[in] Instance The IP4 Config instance.
-
- @retval EFI_SUCCESS The HII Config Access protocol is installed.
- @retval EFI_OUT_OF_RESOURCES Failed to allocate memory.
- @retval Others Other errors as indicated.
-**/
-EFI_STATUS
-Ip4ConfigDeviceInit (
- IN IP4_CONFIG_INSTANCE *Instance
- );
-
-/**
- Uninstall HII Config Access protocol for network device and free resource.
-
- @param[in] Instance The IP4 Config instance.
-
- @retval EFI_SUCCESS The HII Config Access protocol is uninstalled.
- @retval Others Other errors as indicated.
-**/
-EFI_STATUS
-Ip4ConfigDeviceUnload (
- IN IP4_CONFIG_INSTANCE *Instance
- );
-
-#endif
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4NvData.h b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4NvData.h
deleted file mode 100644
index 2a09527..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4NvData.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/** @file
- Routines used to operate the Ip4 configure variable.
-
-Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
-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<BR>
-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 _NIC_IP4_NV_DATA_H_
-#define _NIC_IP4_NV_DATA_H_
-
-#include <Guid/Ip4ConfigHii.h>
-
-#define FORMID_MAIN_FORM 1
-#define FORMID_DEVICE_FORM 2
-
-#define KEY_ENABLE 0x100
-#define KEY_DHCP_ENABLE 0x101
-#define KEY_LOCAL_IP 0x102
-#define KEY_SUBNET_MASK 0x103
-#define KEY_GATE_WAY 0x104
-#define KEY_SAVE_CHANGES 0x105
-
-#define IP_MIN_SIZE 7
-#define IP_MAX_SIZE 15
-#define IP4_STR_MAX_SIZE 16
-
-///
-/// NIC_IP4_CONFIG_INFO contains the IP4 configure
-/// parameters for that NIC. NIC_IP4_CONFIG_INFO is
-/// of variable length.
-///
-typedef struct {
- UINT8 Configure; ///< NIC configure status
- UINT8 DhcpEnable; ///< Static or DHCP
- CHAR16 StationAddress[IP4_STR_MAX_SIZE]; ///< IP addresses
- CHAR16 SubnetMask[IP4_STR_MAX_SIZE]; ///< Subnet address
- CHAR16 GatewayAddress[IP4_STR_MAX_SIZE]; ///< Gateway address
-} IP4_CONFIG_IFR_NVDATA;
-
-#endif
-
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.c b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.c
deleted file mode 100644
index f0e03af..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.c
+++ /dev/null
@@ -1,319 +0,0 @@
-/** @file
- Routines used to operate the Ip4 configure variable.
-
-Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
-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<BR>
-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.
-
-**/
-
-#include "Ip4Config.h"
-#include "NicIp4Variable.h"
-
-BOOLEAN mIp4ConfigVariableReclaimed = FALSE;
-
-/**
- Check whether the configure parameter is valid.
-
- @param NicConfig The configure parameter to check
-
- @return TRUE if the parameter is valid for the interface, otherwise FALSE.
-
-**/
-BOOLEAN
-Ip4ConfigIsValid (
- IN NIC_IP4_CONFIG_INFO *NicConfig
- )
-{
- EFI_IP4_IPCONFIG_DATA *IpConfig;
- IP4_ADDR Station;
- IP4_ADDR Netmask;
- IP4_ADDR Gateway;
- UINT32 Index;
-
- IpConfig = &NicConfig->Ip4Info;
-
- if (NicConfig->Source == IP4_CONFIG_SOURCE_STATIC) {
- //
- // Validate that the addresses are unicast and mask
- // is properly formated
- //
- Station = EFI_NTOHL (IpConfig->StationAddress);
- Netmask = EFI_NTOHL (IpConfig->SubnetMask);
-
- if ((Netmask == 0) || !IP4_IS_VALID_NETMASK (Netmask) ||
- (Station == 0) || !NetIp4IsUnicast (Station, Netmask)) {
- return FALSE;
- }
-
- //
- // Validate that the next hops are on the connected network
- // or that is a direct route (Gateway == 0).
- //
- for (Index = 0; Index < IpConfig->RouteTableSize; Index++) {
- Gateway = EFI_NTOHL (IpConfig->RouteTable[Index].GatewayAddress);
-
- if ((Gateway != 0) && (!IP4_NET_EQUAL (Station, Gateway, Netmask) ||
- !NetIp4IsUnicast (Gateway, Netmask))) {
- return FALSE;
- }
- }
-
- return TRUE;
- }
-
- //
- // return false if it is an unkown configure source. Valid
- // sources are static and dhcp.
- //
- return (BOOLEAN) (NicConfig->Source == IP4_CONFIG_SOURCE_DHCP);
-}
-
-
-
-/**
- Read the ip4 configure variable from the EFI variable.
-
- @param Instance The IP4 CONFIG instance.
-
- @return The IP4 configure read if it is there and is valid, otherwise NULL.
-
-**/
-NIC_IP4_CONFIG_INFO *
-Ip4ConfigReadVariable (
- IN IP4_CONFIG_INSTANCE *Instance
- )
-{
- NIC_IP4_CONFIG_INFO *NicConfig;
-
- GetVariable2 (Instance->MacString, &gEfiNicIp4ConfigVariableGuid, (VOID**)&NicConfig, NULL);
- if (NicConfig != NULL) {
- Ip4ConfigFixRouteTablePointer (&NicConfig->Ip4Info);
- }
-
- return NicConfig;
-}
-
-/**
- Write the IP4 configure variable to the NVRAM. If Config
- is NULL, remove the variable.
-
- @param Instance The IP4 CONFIG instance.
- @param NicConfig The IP4 configure data to write.
-
- @retval EFI_SUCCESS The variable is written to the NVRam.
- @retval Others Failed to write the variable.
-
-**/
-EFI_STATUS
-Ip4ConfigWriteVariable (
- IN IP4_CONFIG_INSTANCE *Instance,
- IN NIC_IP4_CONFIG_INFO *NicConfig OPTIONAL
- )
-{
- EFI_STATUS Status;
-
- Status = gRT->SetVariable (
- Instance->MacString,
- &gEfiNicIp4ConfigVariableGuid,
- IP4_CONFIG_VARIABLE_ATTRIBUTES,
- (NicConfig == NULL) ? 0 : SIZEOF_NIC_IP4_CONFIG_INFO (NicConfig),
- NicConfig
- );
-
- return Status;
-}
-
-/**
- Check whether a NIC exist in the platform given its MAC address.
-
- @param NicAddr The MAC address for the NIC to be checked.
-
- @retval TRUE The NIC exist in the platform.
- @retval FALSE The NIC doesn't exist in the platform.
-
-**/
-BOOLEAN
-Ip4ConfigIsNicExist (
- IN NIC_ADDR *NicAddr
- )
-{
- EFI_STATUS Status;
- EFI_HANDLE *HandleBuffer;
- UINTN NumberOfHandles;
- UINTN Index;
- BOOLEAN Found;
- UINTN AddrSize;
- EFI_MAC_ADDRESS MacAddr;
-
- //
- // Locate Service Binding handles.
- //
- Status = gBS->LocateHandleBuffer (
- ByProtocol,
- &gEfiManagedNetworkServiceBindingProtocolGuid,
- NULL,
- &NumberOfHandles,
- &HandleBuffer
- );
- if (EFI_ERROR (Status)) {
- return FALSE;
- }
-
- Found = FALSE;
- for (Index = 0; Index < NumberOfHandles; Index++) {
- //
- // Get MAC address.
- //
- AddrSize = 0;
- Status = NetLibGetMacAddress (HandleBuffer[Index], &MacAddr, &AddrSize);
- if (EFI_ERROR (Status)) {
- Found = FALSE;
- goto Exit;
- }
-
- if ((NicAddr->Len == AddrSize) && (CompareMem (NicAddr->MacAddr.Addr, MacAddr.Addr, AddrSize) == 0)) {
- Found = TRUE;
- goto Exit;
- }
- }
-
-Exit:
- FreePool (HandleBuffer);
- return Found;
-}
-
-/**
- Reclaim Ip4Config Variables for NIC which has been removed from the platform.
-
-**/
-VOID
-Ip4ConfigReclaimVariable (
- VOID
- )
-{
- EFI_STATUS Status;
- UINTN VariableNameSize;
- CHAR16 *VariableName;
- CHAR16 *CurrentVariableName;
- EFI_GUID VendorGuid;
- UINTN VariableNameBufferSize;
- NIC_IP4_CONFIG_INFO *NicConfig;
-
- //
- // Check whether we need perform reclaim.
- //
- if (mIp4ConfigVariableReclaimed) {
- return;
- }
- mIp4ConfigVariableReclaimed = TRUE;
-
- //
- // Get all Ip4Config Variable.
- //
- VariableNameSize = sizeof (CHAR16);
- VariableName = AllocateZeroPool (VariableNameSize);
- VariableNameBufferSize = VariableNameSize;
-
- while (TRUE) {
- Status = gRT->GetNextVariableName (
- &VariableNameSize,
- VariableName,
- &VendorGuid
- );
-
-Check:
- if (Status == EFI_BUFFER_TOO_SMALL) {
- VariableName = ReallocatePool (VariableNameBufferSize, VariableNameSize, VariableName);
- VariableNameBufferSize = VariableNameSize;
- //
- // Try again using the new buffer.
- //
- Status = gRT->GetNextVariableName (
- &VariableNameSize,
- VariableName,
- &VendorGuid
- );
- }
-
- if (EFI_ERROR (Status)) {
- //
- // No more variable available, finish search.
- //
- break;
- }
-
- //
- // Check variable GUID.
- //
- if (!CompareGuid (&VendorGuid, &gEfiNicIp4ConfigVariableGuid)) {
- continue;
- }
-
- GetVariable2 (VariableName, &gEfiNicIp4ConfigVariableGuid, (VOID**)&NicConfig, NULL);
- if (NicConfig == NULL) {
- break;
- }
-
- if (!Ip4ConfigIsNicExist (&NicConfig->NicAddr)) {
- //
- // No NIC found for this Ip4Config variable, remove it.
- // Since we are in loop of GetNextVariableName(), we need move on to next
- // Variable first and then delete current Variable.
- //
- CurrentVariableName = AllocateCopyPool (VariableNameSize, VariableName);
- Status = gRT->GetNextVariableName (
- &VariableNameSize,
- VariableName,
- &VendorGuid
- );
-
- gRT->SetVariable (
- CurrentVariableName,
- &gEfiNicIp4ConfigVariableGuid,
- IP4_CONFIG_VARIABLE_ATTRIBUTES,
- 0,
- NULL
- );
- FreePool (CurrentVariableName);
-
- //
- // We already get next variable, go to check it.
- //
- goto Check;
- }
- }
-
- FreePool (VariableName);
-}
-
-/**
- Fix the RouteTable pointer in an EFI_IP4_IPCONFIG_DATA structure.
-
- The pointer is set to be immediately follow the ConfigData if there're entries
- in the RouteTable. Otherwise it is set to NULL.
-
- @param ConfigData The IP4 IP configure data.
-
-**/
-VOID
-Ip4ConfigFixRouteTablePointer (
- IN OUT EFI_IP4_IPCONFIG_DATA *ConfigData
- )
-{
- //
- // The memory used for route table entries must immediately follow
- // the ConfigData and be not packed.
- //
- if (ConfigData->RouteTableSize > 0) {
- ConfigData->RouteTable = (EFI_IP4_ROUTE_TABLE *) (ConfigData + 1);
- } else {
- ConfigData->RouteTable = NULL;
- }
-}
-
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.h b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.h
deleted file mode 100644
index 2f8defe..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/** @file
- Routines used to operate the Ip4 configure variable.
-
-Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
-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<BR>
-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 _NIC_IP4_VARIABLE_H_
-#define _NIC_IP4_VARIABLE_H_
-
-//
-// Return the size of NIC_IP4_CONFIG_INFO and EFI_IP4_IPCONFIG_DATA.
-// They are of variable size
-//
-#define SIZEOF_IP4_CONFIG_INFO(Ip4Config) \
- (sizeof (EFI_IP4_IPCONFIG_DATA) + \
- sizeof (EFI_IP4_ROUTE_TABLE) * (Ip4Config)->RouteTableSize)
-
-#define SIZEOF_NIC_IP4_CONFIG_INFO(NicConfig) \
- (sizeof (NIC_IP4_CONFIG_INFO) + \
- sizeof (EFI_IP4_ROUTE_TABLE) * (NicConfig)->Ip4Info.RouteTableSize)
-
-//
-// Compare whether two NIC address are equal includes their type and length.
-//
-#define NIC_ADDR_EQUAL(Nic1, Nic2) \
- (((Nic1)->Type == (Nic2)->Type) && ((Nic1)->Len == (Nic2)->Len) && \
- NET_MAC_EQUAL (&(Nic1)->MacAddr, &(Nic2)->MacAddr, (Nic1)->Len))
-
-/**
- Check whether the configure parameter is valid.
-
- @param NicConfig The configure parameter to check
-
- @return TRUE if the parameter is valid for the interface, otherwise FALSE.
-
-**/
-BOOLEAN
-Ip4ConfigIsValid (
- IN NIC_IP4_CONFIG_INFO *NicConfig
- );
-
-/**
- Read the ip4 configure variable from the EFI variable.
-
- @param Instance The IP4 CONFIG instance.
-
- @return The IP4 configure read if it is there and is valid, otherwise NULL.
-
-**/
-NIC_IP4_CONFIG_INFO *
-Ip4ConfigReadVariable (
- IN IP4_CONFIG_INSTANCE *Instance
- );
-
-/**
- Write the IP4 configure variable to the NVRAM. If Config
- is NULL, remove the variable.
-
- @param Instance The IP4 CONFIG instance.
- @param NicConfig The IP4 configure data to write.
-
- @retval EFI_SUCCESS The variable is written to the NVRam.
- @retval Others Failed to write the variable.
-
-**/
-EFI_STATUS
-Ip4ConfigWriteVariable (
- IN IP4_CONFIG_INSTANCE *Instance,
- IN NIC_IP4_CONFIG_INFO *NicConfig OPTIONAL
- );
-
-/**
- Reclaim Ip4Config Variables for NIC which has been removed from the platform.
-
-**/
-VOID
-Ip4ConfigReclaimVariable (
- VOID
- );
-
-/**
- Fix the RouteTable pointer in an EFI_IP4_IPCONFIG_DATA structure.
-
- The pointer is set to be immediately follow the ConfigData if there're entries
- in the RouteTable. Otherwise it is set to NULL.
-
- @param ConfigData The IP4 IP configure data.
-
-**/
-VOID
-Ip4ConfigFixRouteTablePointer (
- IN OUT EFI_IP4_IPCONFIG_DATA *ConfigData
- );
-
-#endif
-
--
1.9.5.msysgit.1
Jordan Justen
2015-07-08 06:54:04 UTC
Permalink
I think the period (.) at the end of the commit message just wastes a
valuable subject line character. :) Your subject line is 87
characters, and I think the recommendation is for 70 characters or
less.

https://github.com/tianocore/tianocore.github.io/wiki/Commit-Message-Format
Post by jiaxinwu
Version2 update with a proper commit message.
It seems like this format is usually (or often) used. But, we've never
documented it for EDK II...

v2:
* Update commit message
Post by jiaxinwu
Contributed-under: TianoCore Contribution Agreement 1.0
Can you set your git config user.name setting?

https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup

This will make git commit -s produce a better Signed-off-by.

I don't think the current patches match the requirement for
Signed-off-by documented in MdeModulePkg/Contributions.txt.
Post by jiaxinwu
---
MdeModulePkg/Include/Guid/Ip4ConfigHii.h | 25 -
MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h | 70 --
MdeModulePkg/MdeModulePkg.dec | 6 -
MdeModulePkg/MdeModulePkg.dsc | 1 -
.../Universal/Network/Ip4ConfigDxe/ComponentName.c | 165 ----
.../Universal/Network/Ip4ConfigDxe/Ip4Config.c | 745 -----------------
.../Universal/Network/Ip4ConfigDxe/Ip4Config.h | 533 ------------
.../Network/Ip4ConfigDxe/Ip4ConfigDriver.c | 505 ------------
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.inf | 91 ---
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.uni | Bin 2700 -> 0 bytes
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr | 89 --
.../Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni | Bin 1366 -> 0 bytes
.../Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni | Bin 3000 -> 0 bytes
.../Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c | 909 ---------------------
.../Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h | 54 --
.../Universal/Network/Ip4ConfigDxe/Ip4NvData.h | 48 --
.../Network/Ip4ConfigDxe/NicIp4Variable.c | 319 --------
.../Network/Ip4ConfigDxe/NicIp4Variable.h | 104 ---
18 files changed, 3664 deletions(-)
delete mode 100644 MdeModulePkg/Include/Guid/Ip4ConfigHii.h
delete mode 100644 MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/ComponentName.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.uni
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4NvData.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.h
diff --git a/MdeModulePkg/Include/Guid/Ip4ConfigHii.h b/MdeModulePkg/Include/Guid/Ip4ConfigHii.h
deleted file mode 100644
index 87c54a0..0000000
--- a/MdeModulePkg/Include/Guid/Ip4ConfigHii.h
+++ /dev/null
@@ -1,25 +0,0 @@
- GUIDs used as HII FormSet and HII Package list GUID in Ip4ConfigDxe driver.
-
-Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
-This program and the accompanying materials are licensed and made available under
-the terms and conditions of the BSD License that 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 __IP4_CONFIG_HII_GUID_H__
-#define __IP4_CONFIG_HII_GUID_H__
-
-#define EFI_NIC_IP4_CONFIG_NVDATA_GUID \
- { \
- 0x9d5b53f, 0xf4b0, 0x4f59, { 0xa0, 0xb1, 0x7b, 0x57, 0xd3, 0x5c, 0xe, 0x5 } \
- }
-
-extern EFI_GUID gNicIp4ConfigNvDataGuid;
-
-#endif
diff --git a/MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h b/MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h
deleted file mode 100644
index d3ce76f..0000000
--- a/MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h
+++ /dev/null
@@ -1,70 +0,0 @@
- This file defines NIC_IP4_CONFIG_INFO structure.
-
-Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
-This program and the accompanying materials are licensed and made available under
-the terms and conditions of the BSD License that 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 __NIC_IP4_CONFIG_NVDATA_H__
-#define __NIC_IP4_CONFIG_NVDATA_H__
-
-#include <Protocol/Ip4Config.h>
-
-#define EFI_NIC_IP4_CONFIG_VARIABLE_GUID \
- { \
- 0xd8944553, 0xc4dd, 0x41f4, { 0x9b, 0x30, 0xe1, 0x39, 0x7c, 0xfb, 0x26, 0x7b } \
- }
-
-#define EFI_NIC_IP4_CONFIG_VARIABLE L"EfiNicIp4ConfigVariable"
-
-
-//
-// Config source: dhcp or static
-//
-#define IP4_CONFIG_SOURCE_DHCP 0
-#define IP4_CONFIG_SOURCE_STATIC 1
-#define IP4_CONFIG_SOURCE_MAX 2
-
-#define IP4_NIC_NAME_LENGTH 64
-#define MAX_IP4_CONFIG_IN_VARIABLE 16
-
-//
-// The following structures are used by drivers/applications other
-// than EFI_IP4_PROTOCOL, such as the ifconfig shell application, to
-// communicate the IP configuration information to the EFI_IP4_CONFIG_PROTOCOL.
-// The EFI_IP4_PROTOCOL uses the EFI_IP4_CONFIG_PROTOCOL to get
-// the default IP4 configuration.
-//
-
-///
-/// NIC_ADDR contains the interface's type and MAC address to identify
-/// a specific NIC.
-///
-typedef struct {
- UINT16 Type; ///< Interface type.
- UINT8 Len; ///< Length of MAC address.
- EFI_MAC_ADDRESS MacAddr; ///< MAC address of interface.
-} NIC_ADDR;
-
-///
-/// NIC_IP4_CONFIG_INFO contains the IP4 configure
-/// parameters for that NIC. NIC_IP4_CONFIG_INFO is
-/// of variable length.
-///
-typedef struct {
- NIC_ADDR NicAddr; ///< Link layer address to identify the NIC.
- UINT32 Source; ///< Static or DHCP.
- BOOLEAN Permanent; ///< Survive the reboot or not.
- EFI_IP4_IPCONFIG_DATA Ip4Info; ///< IP addresses.
-} NIC_IP4_CONFIG_INFO;
-
-extern EFI_GUID gEfiNicIp4ConfigVariableGuid;
-
-#endif
diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
index 414b13e..5ef52fc 100644
--- a/MdeModulePkg/MdeModulePkg.dec
+++ b/MdeModulePkg/MdeModulePkg.dec
@@ -196,13 +196,10 @@
## Guid is defined for CRC32 encapsulation scheme.
# Include/Guid/Crc32GuidedSectionExtraction.h
gEfiCrc32GuidedSectionExtractionGuid = { 0xFC1BCDB0, 0x7D31, 0x49aa, {0x93, 0x6A, 0xA4, 0x60, 0x0D, 0x9D, 0xD0, 0x83 } }
- ## Include/Guid/NicIp4ConfigNvData.h
- gEfiNicIp4ConfigVariableGuid = {0xd8944553, 0xc4dd, 0x41f4, { 0x9b, 0x30, 0xe1, 0x39, 0x7c, 0xfb, 0x26, 0x7b }}
-
## Include/Guid/StatusCodeCallbackGuid.h
gStatusCodeCallbackGuid = {0xe701458c, 0x4900, 0x4ca5, {0xb7, 0x72, 0x3d, 0x37, 0x94, 0x9f, 0x79, 0x27}}
## GUID identifies status code records HOB that originate from the PEI status code
# Include/Guid/MemoryStatusCodeRecord.h
@@ -262,13 +259,10 @@
gEfiIfrRefreshIdOpGuid = { 0xF5E655D9, 0x02A6, 0x46f2, { 0x9E, 0x76, 0xB8, 0xBE, 0x8E, 0x60, 0xAB, 0x22 }}
## Include/Guid/PlatDriOverrideHii.h
gPlatformOverridesManagerGuid = { 0x8614567d, 0x35be, 0x4415, { 0x8d, 0x88, 0xbd, 0x7d, 0xc, 0x9c, 0x70, 0xc0 }}
- ## Include/Guid/Ip4ConfigHii.h
- gNicIp4ConfigNvDataGuid = { 0x9d5b53f, 0xf4b0, 0x4f59, { 0xa0, 0xb1, 0x7b, 0x57, 0xd3, 0x5c, 0xe, 0x5 }}
-
## Include/Guid/VlanConfigHii.h
gVlanConfigFormSetGuid = { 0xd79df6b0, 0xef44, 0x43bd, { 0x97, 0x97, 0x43, 0xe9, 0x3b, 0xcf, 0x5f, 0xa8 }}
## Include/Guid/Ip4IScsiConfigHii.h
gIp4IScsiConfigGuid = { 0x6456ed61, 0x3579, 0x41c9, { 0x8a, 0x26, 0x0a, 0x0b, 0xd6, 0x2b, 0x78, 0xfc }}
diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc
index fc518d0..3537ca8 100644
--- a/MdeModulePkg/MdeModulePkg.dsc
+++ b/MdeModulePkg/MdeModulePkg.dsc
@@ -305,11 +305,10 @@
MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/ComponentName.c b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/ComponentName.c
deleted file mode 100644
index ca68746..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/ComponentName.c
+++ /dev/null
@@ -1,165 +0,0 @@
- UEFI Component Name(2) protocol implementation for Ip4ConfigDxe driver.
-
-Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
-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<BR>
-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.
-
-**/
-
-#include "Ip4Config.h"
-
-//
-// EFI Component Name Protocol
-//
-GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME_PROTOCOL gIp4ConfigComponentName = {
- Ip4ConfigComponentNameGetDriverName,
- Ip4ConfigComponentNameGetControllerName,
- "eng"
-};
-
-//
-// EFI Component Name 2 Protocol
-//
-GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME2_PROTOCOL gIp4ConfigComponentName2 = {
- (EFI_COMPONENT_NAME2_GET_DRIVER_NAME) Ip4ConfigComponentNameGetDriverName,
- (EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME) Ip4ConfigComponentNameGetControllerName,
- "en"
-};
-
-
-GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mIp4ConfigDriverNameTable[] = {
- {"eng;en", L"IP4 CONFIG Network Service Driver"},
- {NULL, NULL}
-};
-
-//
-// EFI Component Name Functions
-//
-
-/**
- Retrieves a Unicode string that is the user readable name of the driver.
-
- This function retrieves the user readable name of a driver in the form of a
- Unicode string. If the driver specified by This has a user readable name in
- the language specified by Language, then a pointer to the driver name is
- returned in DriverName, and EFI_SUCCESS is returned. If the driver specified
- by This does not support the language specified by Language,
- then EFI_UNSUPPORTED is returned.
-
- EFI_COMPONENT_NAME_PROTOCOL instance.
- 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 4646 or ISO 639-2 language code format.
- This Unicode string is the name of the
- driver specified by This in the language
- specified by Language.
-
- This and the language specified by Language was
- returned in DriverName.
- the language specified by Language.
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigComponentNameGetDriverName (
- IN EFI_COMPONENT_NAME_PROTOCOL *This,
- IN CHAR8 *Language,
- OUT CHAR16 **DriverName
- )
-{
- return LookupUnicodeString2 (
- Language,
- This->SupportedLanguages,
- mIp4ConfigDriverNameTable,
- DriverName,
- (BOOLEAN)(This == &gIp4ConfigComponentName)
- );
-}
-
-/**
- Retrieves a Unicode string that is the user readable name of the controller
- that is being managed by a driver.
-
- This function retrieves the user readable name of the controller specified by
- ControllerHandle and ChildHandle in the form of a Unicode string. If the
- driver specified by This has a user readable name in the language specified by
- Language, then a pointer to the controller name is returned in ControllerName,
- and EFI_SUCCESS is returned. If the driver specified by This is not currently
- managing the controller specified by ControllerHandle and ChildHandle,
- then EFI_UNSUPPORTED is returned. If the driver specified by This does not
- support the language specified by Language, then EFI_UNSUPPORTED is returned.
-
- EFI_COMPONENT_NAME_PROTOCOL instance.
- specified by This is managing. This handle
- specifies the controller whose name is to be
- returned.
- 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.
- 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 4646 or ISO 639-2 language code format.
- 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.
-
- the language specified by Language for the
- driver specified by This was returned in
- DriverName.
- EFI_HANDLE.
- managing the controller specified by
- ControllerHandle and ChildHandle.
- the language specified by Language.
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigComponentNameGetControllerName (
- IN EFI_COMPONENT_NAME_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN EFI_HANDLE ChildHandle OPTIONAL,
- IN CHAR8 *Language,
- OUT CHAR16 **ControllerName
- )
-{
- return EFI_UNSUPPORTED;
-}
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.c b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.c
deleted file mode 100644
index 3d2f0a4..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.c
+++ /dev/null
@@ -1,745 +0,0 @@
- This code implements the IP4Config and NicIp4Config protocols.
-
-Copyright (c) 2014, Hewlett-Packard Development Company, L.P.<BR>
-Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
-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<BR>
-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.
-
-**/
-
-#include "Ip4Config.h"
-#include "NicIp4Variable.h"
-
-//
-// Ip4 Config Protocol
-//
-GLOBAL_REMOVE_IF_UNREFERENCED EFI_IP4_CONFIG_PROTOCOL mIp4ConfigProtocolTemplate = {
- EfiIp4ConfigStart,
- EfiIp4ConfigStop,
- EfiIp4ConfigGetData
-};
-
-/**
- Get the NIC's configure information from the IP4 configure variable.
- It will remove the invalid variable.
-
-
- Otherwise the pointer to the NIC's IP configure parameter will be returned.
-
-**/
-NIC_IP4_CONFIG_INFO *
-EfiNicIp4ConfigGetInfo (
- IN IP4_CONFIG_INSTANCE *Instance
- )
-{
- NIC_IP4_CONFIG_INFO *NicConfig;
-
- //
- // Read the configuration parameter for this NIC from
- // the EFI variable
- //
- NicConfig = Ip4ConfigReadVariable (Instance);
- if (NicConfig == NULL) {
- return NULL;
- }
-
- //
- // Validate the configuration, if the configuration is invalid,
- // remove it from the variable.
- //
- if (!Ip4ConfigIsValid (NicConfig)) {
- Ip4ConfigWriteVariable (Instance, NULL);
-
- FreePool (NicConfig);
- NicConfig = NULL;
- }
-
- return NicConfig;
-}
-
-/**
- Set the IP configure parameters for this NIC.
-
- If Reconfig is TRUE, the IP driver will be informed to discard current
- auto configure parameter and restart the auto configuration process.
- If current there is a pending auto configuration, EFI_ALREADY_STARTED is
- returned. You can only change the configure setting when either
- the configure has finished or not started yet. If NicConfig, the
- NIC's configure parameter is removed from the variable.
-
- configuration.
-
- set successfully.
- invalid.
-
-**/
-EFI_STATUS
-EFIAPI
-EfiNicIp4ConfigSetInfo (
- IN IP4_CONFIG_INSTANCE *Instance,
- IN NIC_IP4_CONFIG_INFO *NicConfig OPTIONAL,
- IN BOOLEAN Reconfig
- )
-{
- EFI_STATUS Status;
-
- //
- // Validate the parameters
- //
- if (Instance == NULL) {
- return EFI_INVALID_PARAMETER;
- }
-
- if ((NicConfig != NULL) && (!Ip4ConfigIsValid (NicConfig) ||
- !NIC_ADDR_EQUAL (&NicConfig->NicAddr, &Instance->NicAddr))) {
- return EFI_INVALID_PARAMETER;
- }
-
- if (Instance->State == IP4_CONFIG_STATE_STARTED) {
- return EFI_ALREADY_STARTED;
- }
-
- //
- // Update the parameter in the configure variable
- //
- Status = Ip4ConfigWriteVariable (Instance, NicConfig);
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- //
- // Signal the IP4 to run the auto configuration again
- //
- if (Reconfig && (Instance->ReconfigEvent != NULL)) {
- //
- // When NicConfig is NULL, NIC IP4 configuration parameter is removed,
- // the auto configuration process should stop running the configuration
- // policy for the EFI IPv4 Protocol driver.
- //
- if (NicConfig == NULL) {
- Instance->DoNotStart = TRUE;
- }
-
- Status = gBS->SignalEvent (Instance->ReconfigEvent);
- DispatchDpc ();
- }
-
- if (NicConfig == NULL) {
- return Status;
- }
- //
- // A dedicated timer is used to poll underlying media status.In case of
- // cable swap, a new round auto configuration will be initiated. The timer
- // starts in DHCP policy only. STATIC policy stops the timer.
- //
- if (NicConfig->Source == IP4_CONFIG_SOURCE_DHCP) {
- gBS->SetTimer (Instance->Timer, TimerPeriodic, TICKS_PER_SECOND);
- } else if (NicConfig->Source == IP4_CONFIG_SOURCE_STATIC) {
- gBS->SetTimer (Instance->Timer, TimerCancel, 0);
- }
-
- return Status;
-}
-
-/**
- Callback function when DHCP process finished. It will save the
- retrieved IP configure parameter from DHCP to the NVRam.
-
-
-
-**/
-VOID
-EFIAPI
-Ip4ConfigOnDhcp4Complete (
- IN EFI_EVENT Event,
- IN VOID *Context
- )
-{
- IP4_CONFIG_INSTANCE *Instance;
- EFI_DHCP4_MODE_DATA Dhcp4Mode;
- EFI_IP4_IPCONFIG_DATA *Ip4Config;
- EFI_STATUS Status;
- BOOLEAN Permanent;
- IP4_ADDR Subnet;
- IP4_ADDR Ip1;
- IP4_ADDR Ip2;
-
- Instance = (IP4_CONFIG_INSTANCE *) Context;
- ASSERT (Instance->Dhcp4 != NULL);
-
- Instance->State = IP4_CONFIG_STATE_CONFIGURED;
- Instance->Result = EFI_TIMEOUT;
-
- //
- // Get the DHCP retrieved parameters
- //
- Status = Instance->Dhcp4->GetModeData (Instance->Dhcp4, &Dhcp4Mode);
-
- if (EFI_ERROR (Status)) {
- goto ON_EXIT;
- }
-
- if (Dhcp4Mode.State == Dhcp4Bound) {
- //
- // Save the new configuration retrieved by DHCP both in
- // the instance and to NVRam. So, both the IP4 driver and
- // other user can get that address.
- //
- Permanent = FALSE;
-
- if (Instance->NicConfig != NULL) {
- ASSERT (Instance->NicConfig->Source == IP4_CONFIG_SOURCE_DHCP);
- Permanent = Instance->NicConfig->Permanent;
- FreePool (Instance->NicConfig);
- }
-
- Instance->NicConfig = AllocatePool (sizeof (NIC_IP4_CONFIG_INFO) + 2* sizeof (EFI_IP4_ROUTE_TABLE));
-
- if (Instance->NicConfig == NULL) {
- Instance->Result = EFI_OUT_OF_RESOURCES;
- goto ON_EXIT;
- }
-
- Instance->NicConfig->Ip4Info.RouteTable = (EFI_IP4_ROUTE_TABLE *) (Instance->NicConfig + 1);
-
- CopyMem (&Instance->NicConfig->NicAddr, &Instance->NicAddr, sizeof (Instance->NicConfig->NicAddr));
- Instance->NicConfig->Source = IP4_CONFIG_SOURCE_DHCP;
- Instance->NicConfig->Permanent = Permanent;
-
- Ip4Config = &Instance->NicConfig->Ip4Info;
- Ip4Config->StationAddress = Dhcp4Mode.ClientAddress;
- Ip4Config->SubnetMask = Dhcp4Mode.SubnetMask;
-
- //
- // Create a route for the connected network
- //
- Ip4Config->RouteTableSize = 1;
-
- CopyMem (&Ip1, &Dhcp4Mode.ClientAddress, sizeof (IP4_ADDR));
- CopyMem (&Ip2, &Dhcp4Mode.SubnetMask, sizeof (IP4_ADDR));
-
- Subnet = Ip1 & Ip2;
-
- CopyMem (&Ip4Config->RouteTable[0].SubnetAddress, &Subnet, sizeof (EFI_IPv4_ADDRESS));
- CopyMem (&Ip4Config->RouteTable[0].SubnetMask, &Dhcp4Mode.SubnetMask, sizeof (EFI_IPv4_ADDRESS));
- ZeroMem (&Ip4Config->RouteTable[0].GatewayAddress, sizeof (EFI_IPv4_ADDRESS));
-
- //
- // Create a route if there is a default router.
- //
- if (!EFI_IP4_EQUAL (&Dhcp4Mode.RouterAddress, &mZeroIp4Addr)) {
- Ip4Config->RouteTableSize = 2;
-
- ZeroMem (&Ip4Config->RouteTable[1].SubnetAddress, sizeof (EFI_IPv4_ADDRESS));
- ZeroMem (&Ip4Config->RouteTable[1].SubnetMask, sizeof (EFI_IPv4_ADDRESS));
- CopyMem (&Ip4Config->RouteTable[1].GatewayAddress, &Dhcp4Mode.RouterAddress, sizeof (EFI_IPv4_ADDRESS));
- }
-
- Instance->Result = EFI_SUCCESS;
-
- //
- // ignore the return status of EfiNicIp4ConfigSetInfo. Network
- // stack can operate even that failed.
- //
- EfiNicIp4ConfigSetInfo (Instance, Instance->NicConfig, FALSE);
- }
-
- gBS->SignalEvent (Instance->DoneEvent);
- Ip4ConfigCleanDhcp4 (Instance);
-
- DispatchDpc ();
-
- return ;
-}
-
-/**
- Starts running the configuration policy for the EFI IPv4 Protocol driver.
-
- The Start() function is called to determine and to begin the platform
- configuration policy by the EFI IPv4 Protocol driver. This determination may
- be as simple as returning EFI_UNSUPPORTED if there is no EFI IPv4 Protocol
- driver configuration policy. It may be as involved as loading some defaults
- from nonvolatile storage, downloading dynamic data from a DHCP server, and
- checking permissions with a site policy server.
- Starting the configuration policy is just the beginning. It may finish almost
- instantly or it may take several minutes before it fails to retrieve configuration
- information from one or more servers. Once the policy is started, drivers
- should use the DoneEvent parameter to determine when the configuration policy
- has completed. EFI_IP4_CONFIG_PROTOCOL.GetData() must then be called to
- determine if the configuration succeeded or failed.
- Until the configuration completes successfully, EFI IPv4 Protocol driver instances
- that are attempting to use default configurations must return EFI_NO_MAPPING.
- Once the configuration is complete, the EFI IPv4 Configuration Protocol driver
- signals DoneEvent. The configuration may need to be updated in the future,
- however; in this case, the EFI IPv4 Configuration Protocol driver must signal
- ReconfigEvent, and all EFI IPv4 Protocol driver instances that are using default
- configurations must return EFI_NO_MAPPING until the configuration policy has
- been rerun.
-
- Protocol driver configuration policy completes
- execution. This event must be of type EVT_NOTIFY_SIGNAL.
- Protocol driver configuration needs to be updated.
- This event must be of type EVT_NOTIFY_SIGNAL.
-
- driver is now running.
- This
- DoneEvent
- ReconfigEvent
- driver was already started.
- driver configuration.
-
-**/
-EFI_STATUS
-EFIAPI
-EfiIp4ConfigStart (
- IN EFI_IP4_CONFIG_PROTOCOL *This,
- IN EFI_EVENT DoneEvent,
- IN EFI_EVENT ReconfigEvent
- )
-{
- IP4_CONFIG_INSTANCE *Instance;
- EFI_DHCP4_PROTOCOL *Dhcp4;
- EFI_DHCP4_MODE_DATA Dhcp4Mode;
- EFI_DHCP4_PACKET_OPTION *OptionList[1];
- IP4_CONFIG_DHCP4_OPTION ParaList;
- EFI_STATUS Status;
- UINT32 Source;
- EFI_TPL OldTpl;
-
- if ((This == NULL) || (DoneEvent == NULL) || (ReconfigEvent == NULL)) {
- return EFI_INVALID_PARAMETER;
- }
-
- Instance = IP4_CONFIG_INSTANCE_FROM_IP4CONFIG (This);
-
- OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
-
- if (Instance->State != IP4_CONFIG_STATE_IDLE) {
- Status = EFI_ALREADY_STARTED;
-
- goto ON_EXIT;
- }
-
- Instance->DoneEvent = DoneEvent;
- Instance->ReconfigEvent = ReconfigEvent;
-
- Instance->NicConfig = EfiNicIp4ConfigGetInfo (Instance);
-
- if (Instance->NicConfig == NULL) {
- if (Instance->DoNotStart) {
- Instance->DoNotStart = FALSE;
- Status = EFI_SUCCESS;
- goto ON_EXIT;
- }
-
- Source = IP4_CONFIG_SOURCE_DHCP;
- } else {
- Source = Instance->NicConfig->Source;
- }
-
- //
- // If the source is static, the auto configuration is done.
- // return now.
- //
- if (Source == IP4_CONFIG_SOURCE_STATIC) {
- Instance->State = IP4_CONFIG_STATE_CONFIGURED;
- Instance->Result = EFI_SUCCESS;
-
- gBS->SignalEvent (Instance->DoneEvent);
- Status = EFI_SUCCESS;
- goto ON_EXIT;
- }
-
- //
- // Start the dhcp process
- //
- ASSERT ((Source == IP4_CONFIG_SOURCE_DHCP) && (Instance->Dhcp4 == NULL));
-
- Status = NetLibCreateServiceChild (
- Instance->Controller,
- Instance->Image,
- &gEfiDhcp4ServiceBindingProtocolGuid,
- &Instance->Dhcp4Handle
- );
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- Status = gBS->OpenProtocol (
- Instance->Dhcp4Handle,
- &gEfiDhcp4ProtocolGuid,
- (VOID **) &Instance->Dhcp4,
- Instance->Image,
- Instance->Controller,
- EFI_OPEN_PROTOCOL_BY_DRIVER
- );
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- //
- // Check the current DHCP status, if the DHCP process has
- // already finished, return now.
- //
- Dhcp4 = Instance->Dhcp4;
- Status = Dhcp4->GetModeData (Dhcp4, &Dhcp4Mode);
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- if (Dhcp4Mode.State == Dhcp4Bound) {
- Ip4ConfigOnDhcp4Complete (NULL, Instance);
-
- goto ON_EXIT;
- }
-
- //
- // Try to start the DHCP process. Use most of the current
- // DHCP configuration to avoid problems if some DHCP client
- // yields the control of this DHCP service to us.
- //
- ParaList.Head.OpCode = DHCP_TAG_PARA_LIST;
- ParaList.Head.Length = 2;
- ParaList.Head.Data[0] = DHCP_TAG_NETMASK;
- ParaList.Route = DHCP_TAG_ROUTER;
- OptionList[0] = &ParaList.Head;
- Dhcp4Mode.ConfigData.OptionCount = 1;
- Dhcp4Mode.ConfigData.OptionList = OptionList;
-
- Status = Dhcp4->Configure (Dhcp4, &Dhcp4Mode.ConfigData);
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- //
- // Start the DHCP process
- //
- Status = gBS->CreateEvent (
- EVT_NOTIFY_SIGNAL,
- TPL_CALLBACK,
- Ip4ConfigOnDhcp4Complete,
- Instance,
- &Instance->Dhcp4Event
- );
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- Status = Dhcp4->Start (Dhcp4, Instance->Dhcp4Event);
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- Instance->State = IP4_CONFIG_STATE_STARTED;
- Instance->Result = EFI_NOT_READY;
-
- if (EFI_ERROR (Status)) {
- Ip4ConfigCleanConfig (Instance);
- }
-
- gBS->RestoreTPL (OldTpl);
-
- DispatchDpc ();
-
- return Status;
-}
-
-
-/**
- Stops running the configuration policy for the EFI IPv4 Protocol driver.
-
- The Stop() function stops the configuration policy for the EFI IPv4 Protocol driver.
- All configuration data will be lost after calling Stop().
-
-
- driver has been stopped.
- driver was not started.
-
-**/
-EFI_STATUS
-EFIAPI
-EfiIp4ConfigStop (
- IN EFI_IP4_CONFIG_PROTOCOL *This
- )
-{
- IP4_CONFIG_INSTANCE *Instance;
- EFI_STATUS Status;
- EFI_TPL OldTpl;
-
- if (This == NULL) {
- return EFI_INVALID_PARAMETER;
- }
-
- Instance = IP4_CONFIG_INSTANCE_FROM_IP4CONFIG (This);
-
- Status = EFI_SUCCESS;
- OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
-
- if (Instance->State == IP4_CONFIG_STATE_IDLE) {
- Status = EFI_NOT_STARTED;
- goto ON_EXIT;
- }
-
- //
- // Release all the configure parameters. Don't signal the user
- // event. The user wants to abort the configuration, this isn't
- // the configuration done or reconfiguration.
- //
- Ip4ConfigCleanConfig (Instance);
-
- gBS->RestoreTPL (OldTpl);
-
- return Status;
-}
-
-
-/**
- Returns the default configuration data (if any) for the EFI IPv4 Protocol driver.
-
- The GetData() function returns the current configuration data for the EFI IPv4
- Protocol driver after the configuration policy has completed.
-
- On output, the count of bytes that were written
- into the ConfigData buffer.
- driver configuration data structure.
- Type EFI_IP4_IPCONFIG_DATA is defined in
- "Related Definitions" below.
-
- driver is not running.
- Currently not implemented.
- data buffer or ConfigData is NULL.
-
-**/
-EFI_STATUS
-EFIAPI
-EfiIp4ConfigGetData (
- IN EFI_IP4_CONFIG_PROTOCOL *This,
- IN OUT UINTN *ConfigDataSize,
- OUT EFI_IP4_IPCONFIG_DATA *ConfigData OPTIONAL
- )
-{
- IP4_CONFIG_INSTANCE *Instance;
- NIC_IP4_CONFIG_INFO *NicConfig;
- EFI_STATUS Status;
- EFI_TPL OldTpl;
- UINTN Len;
-
- if ((This == NULL) || (ConfigDataSize == NULL)) {
- return EFI_INVALID_PARAMETER;
- }
-
- Instance = IP4_CONFIG_INSTANCE_FROM_IP4CONFIG (This);
-
- Status = EFI_SUCCESS;
- OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
-
- if (Instance->State == IP4_CONFIG_STATE_IDLE) {
- Status = EFI_NOT_STARTED;
- } else if (Instance->State == IP4_CONFIG_STATE_STARTED) {
- Status = EFI_NOT_READY;
- }
-
- if (EFI_ERROR (Status)) {
- goto ON_EXIT;
- }
-
- //
- // Copy the configure data if auto configuration succeeds.
- //
- Status = Instance->Result;
-
- if (Status == EFI_SUCCESS) {
- ASSERT (Instance->NicConfig != NULL);
-
- NicConfig = Instance->NicConfig;
- Len = SIZEOF_IP4_CONFIG_INFO (&NicConfig->Ip4Info);
-
- if ((*ConfigDataSize < Len) || (ConfigData == NULL)) {
- Status = EFI_BUFFER_TOO_SMALL;
- } else {
- CopyMem (ConfigData, &NicConfig->Ip4Info, Len);
- Ip4ConfigFixRouteTablePointer (ConfigData);
- }
-
- *ConfigDataSize = Len;
- }
-
- gBS->RestoreTPL (OldTpl);
-
- return Status;
-}
-
-/**
- Release all the DHCP related resources.
-
-
-
-**/
-VOID
-Ip4ConfigCleanDhcp4 (
- IN IP4_CONFIG_INSTANCE *This
- )
-{
- if (This->Dhcp4 != NULL) {
- This->Dhcp4->Stop (This->Dhcp4);
-
- gBS->CloseProtocol (
- This->Dhcp4Handle,
- &gEfiDhcp4ProtocolGuid,
- This->Image,
- This->Controller
- );
-
- This->Dhcp4 = NULL;
- }
-
- if (This->Dhcp4Handle != NULL) {
- NetLibDestroyServiceChild (
- This->Controller,
- This->Image,
- &gEfiDhcp4ServiceBindingProtocolGuid,
- This->Dhcp4Handle
- );
-
- This->Dhcp4Handle = NULL;
- }
-
- if (This->Dhcp4Event != NULL) {
- gBS->CloseEvent (This->Dhcp4Event);
- This->Dhcp4Event = NULL;
- }
-}
-
-
-/**
- Clean up all the configuration parameters.
-
-
-
-**/
-VOID
-Ip4ConfigCleanConfig (
- IN IP4_CONFIG_INSTANCE *Instance
- )
-{
- if (Instance->NicConfig != NULL) {
- FreePool (Instance->NicConfig);
- Instance->NicConfig = NULL;
- }
-
- Instance->State = IP4_CONFIG_STATE_IDLE;
- Instance->DoneEvent = NULL;
- Instance->ReconfigEvent = NULL;
-
- Ip4ConfigCleanDhcp4 (Instance);
-}
-
-
-/**
- A dedicated timer is used to poll underlying media status. In case of
- cable swap, a new round auto configuration will be initiated. The timer
- will signal the IP4 to run the auto configuration again. IP4 driver will free
- old IP address related resource, such as route table and Interface, then
- initiate a DHCP process by IP4Config->Start to acquire new IP, eventually
- create route table for new IP address.
-
-
-**/
-VOID
-EFIAPI
-MediaChangeDetect (
- IN EFI_EVENT Event,
- IN VOID *Context
- )
-{
- BOOLEAN OldMediaPresent;
- EFI_STATUS Status;
- EFI_SIMPLE_NETWORK_MODE SnpModeData;
- IP4_CONFIG_INSTANCE *Instance;
-
- Instance = (IP4_CONFIG_INSTANCE *) Context;
-
- OldMediaPresent = Instance->MediaPresent;
-
- //
- // Get fresh mode data from MNP, since underlying media status may change
- //
- Status = Instance->Mnp->GetModeData (Instance->Mnp, NULL, &SnpModeData);
- if (EFI_ERROR (Status) && (Status != EFI_NOT_STARTED)) {
- return;
- }
-
- Instance->MediaPresent = SnpModeData.MediaPresent;
- //
- // Media transimit Unpresent to Present means new link movement is detected.
- //
- if (!OldMediaPresent && Instance->MediaPresent) {
- //
- // Signal the IP4 to run the auto configuration again. IP4 driver will free
- // old IP address related resource, such as route table and Interface, then
- // initiate a DHCP round by IP4Config->Start to acquire new IP, eventually
- // create route table for new IP address.
- //
- if (Instance->ReconfigEvent != NULL) {
- Status = gBS->SignalEvent (Instance->ReconfigEvent);
- DispatchDpc ();
- }
- }
-}
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.h b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.h
deleted file mode 100644
index cbe8ec5..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.h
+++ /dev/null
@@ -1,533 +0,0 @@
- Header file for IP4Config driver.
-
-Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
-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<BR>
-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_IP4CONFIG_H_
-#define _EFI_IP4CONFIG_H_
-
-#include <Uefi.h>
-
-#include <Protocol/Dhcp4.h>
-#include <Protocol/Ip4Config.h>
-#include <Protocol/ManagedNetwork.h>
-#include <Protocol/HiiConfigAccess.h>
-#include <Protocol/HiiDatabase.h>
-#include <Protocol/HiiConfigRouting.h>
-#include <Protocol/ServiceBinding.h>
-
-#include <Guid/MdeModuleHii.h>
-#include <Guid/NicIp4ConfigNvData.h>
-
-#include <Library/DevicePathLib.h>
-#include <Library/DebugLib.h>
-#include <Library/UefiRuntimeServicesTableLib.h>
-#include <Library/UefiDriverEntryPoint.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/UefiLib.h>
-#include <Library/NetLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/HiiLib.h>
-#include <Library/PrintLib.h>
-#include <Library/DpcLib.h>
-#include <Library/UefiHiiServicesLib.h>
-
-
-//
-// Global variables
-//
-extern EFI_DRIVER_BINDING_PROTOCOL gIp4ConfigDriverBinding;
-extern EFI_COMPONENT_NAME_PROTOCOL gIp4ConfigComponentName;
-extern EFI_COMPONENT_NAME2_PROTOCOL gIp4ConfigComponentName2;
-
-extern EFI_IP4_CONFIG_PROTOCOL mIp4ConfigProtocolTemplate;
-
-#define IP4_PROTO_ICMP 0x01
-#define IP4_CONFIG_INSTANCE_SIGNATURE SIGNATURE_32 ('I', 'P', '4', 'C')
-
-#define IP4_CONFIG_STATE_IDLE 0
-#define IP4_CONFIG_STATE_STARTED 1
-#define IP4_CONFIG_STATE_CONFIGURED 2
-
-#define DHCP_TAG_PARA_LIST 55
-#define DHCP_TAG_NETMASK 1
-#define DHCP_TAG_ROUTER 3
-
-
-//
-// Configure the DHCP to request the routers and netmask
-// from server. The DHCP_TAG_NETMASK is included in Head.
-//
-#pragma pack(1)
-typedef struct {
- EFI_DHCP4_PACKET_OPTION Head;
- UINT8 Route;
-} IP4_CONFIG_DHCP4_OPTION;
-#pragma pack()
-
-typedef struct _IP4CONFIG_CALLBACK_INFO {
- BOOLEAN Configured;
- BOOLEAN DhcpEnabled;
- EFI_IPv4_ADDRESS LocalIp;
- EFI_IPv4_ADDRESS SubnetMask;
- EFI_IPv4_ADDRESS Gateway;
-} IP4_SETTING_INFO;
-
-typedef struct _IP4_CONFIG_INSTANCE {
- UINT32 Signature;
- EFI_HANDLE Controller;
- EFI_HANDLE Image;
- EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath;
-
- EFI_IP4_CONFIG_PROTOCOL Ip4ConfigProtocol;
-
- EFI_HII_CONFIG_ACCESS_PROTOCOL HiiConfigAccessProtocol;
- EFI_HANDLE ChildHandle;
- EFI_DEVICE_PATH_PROTOCOL *HiiVendorDevicePath;
- EFI_HII_HANDLE RegisteredHandle;
- IP4_SETTING_INFO Ip4ConfigCallbackInfo;
-
- //
- // NicConfig's state, such as IP4_CONFIG_STATE_IDLE
- //
- INTN State;
-
- //
- // Mnp child to keep the connection with MNP.
- //
- EFI_MANAGED_NETWORK_PROTOCOL *Mnp;
- EFI_HANDLE MnpHandle;
-
- //
- // User's requests data
- //
- EFI_EVENT DoneEvent;
- EFI_EVENT ReconfigEvent;
- EFI_STATUS Result;
-
- //
- // Identity of this interface and some configuration info.
- //
- NIC_ADDR NicAddr;
- CHAR16 *MacString;
- NIC_IP4_CONFIG_INFO *NicConfig;
-
- //
- // DHCP handles to access DHCP
- //
- EFI_DHCP4_PROTOCOL *Dhcp4;
- EFI_HANDLE Dhcp4Handle;
- EFI_EVENT Dhcp4Event;
-
- //
- // A dedicated timer is used to poll underlying media status
- //
- EFI_EVENT Timer;
-
- //
- // Underlying media present status.
- //
- BOOLEAN MediaPresent;
-
- //
- // A flag to indicate EfiIp4ConfigStart should not run
- //
- BOOLEAN DoNotStart;
-} IP4_CONFIG_INSTANCE;
-
-#define IP4_CONFIG_INSTANCE_FROM_IP4CONFIG(this) \
- CR (this, IP4_CONFIG_INSTANCE, Ip4ConfigProtocol, IP4_CONFIG_INSTANCE_SIGNATURE)
-
-#define IP4_CONFIG_INSTANCE_FROM_CONFIG_ACCESS(this) \
- CR (this, IP4_CONFIG_INSTANCE, HiiConfigAccessProtocol, IP4_CONFIG_INSTANCE_SIGNATURE)
-
-
-/**
- Set the IP configure parameters for this NIC.
-
- If Reconfig is TRUE, the IP driver will be informed to discard current
- auto configure parameter and restart the auto configuration process.
- If current there is a pending auto configuration, EFI_ALREADY_STARTED is
- returned. You can only change the configure setting when either
- the configure has finished or not started yet. If NicConfig, the
- NIC's configure parameter is removed from the variable.
-
- configuration.
-
- set successfully.
- invalid.
-
-**/
-EFI_STATUS
-EFIAPI
-EfiNicIp4ConfigSetInfo (
- IN IP4_CONFIG_INSTANCE *Instance,
- IN NIC_IP4_CONFIG_INFO *NicConfig OPTIONAL,
- IN BOOLEAN Reconfig
- );
-
-/**
- Get the NIC's configure information from the IP4 configure variable.
- It will remove the invalid variable.
-
-
- Otherwise the pointer to the NIC's IP configure parameter will be returned.
-
-**/
-NIC_IP4_CONFIG_INFO *
-EfiNicIp4ConfigGetInfo (
- IN IP4_CONFIG_INSTANCE *Instance
- );
-
-/**
- Release all the DHCP related resources.
-
-
-
-**/
-VOID
-Ip4ConfigCleanDhcp4 (
- IN IP4_CONFIG_INSTANCE *This
- );
-
-/**
- Clean up all the configuration parameters.
-
-
-
-**/
-VOID
-Ip4ConfigCleanConfig (
- IN IP4_CONFIG_INSTANCE *Instance
- );
-
-//
-// EFI Component Name Functions
-//
-
-/**
- Retrieves a Unicode string that is the user readable name of the driver.
-
- This function retrieves the user readable name of a driver in the form of a
- Unicode string. If the driver specified by This has a user readable name in
- the language specified by Language, then a pointer to the driver name is
- returned in DriverName, and EFI_SUCCESS is returned. If the driver specified
- by This does not support the language specified by Language,
- then EFI_UNSUPPORTED is returned.
-
- EFI_COMPONENT_NAME_PROTOCOL instance.
- 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 or ISO 639-2 language code format.
- This Unicode string is the name of the
- driver specified by This in the language
- specified by Language.
-
- This and the language specified by Language was
- returned in DriverName.
- the language specified by Language.
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigComponentNameGetDriverName (
- IN EFI_COMPONENT_NAME_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 a driver.
-
- This function retrieves the user readable name of the controller specified by
- ControllerHandle and ChildHandle in the form of a Unicode string. If the
- driver specified by This has a user readable name in the language specified by
- Language, then a pointer to the controller name is returned in ControllerName,
- and EFI_SUCCESS is returned. If the driver specified by This is not currently
- managing the controller specified by ControllerHandle and ChildHandle,
- then EFI_UNSUPPORTED is returned. If the driver specified by This does not
- support the language specified by Language, then EFI_UNSUPPORTED is returned.
-
- EFI_COMPONENT_NAME_PROTOCOL instance.
- specified by This is managing. This handle
- specifies the controller whose name is to be
- returned.
- 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.
- 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 or ISO 639-2 language code format.
- 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.
-
- the language specified by Language for the
- driver specified by This was returned in
- DriverName.
- EFI_HANDLE.
- managing the controller specified by
- ControllerHandle and ChildHandle.
- the language specified by Language.
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigComponentNameGetControllerName (
- IN EFI_COMPONENT_NAME_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN EFI_HANDLE ChildHandle OPTIONAL,
- IN CHAR8 *Language,
- OUT CHAR16 **ControllerName
- );
-
-/**
- Test to see if this driver supports ControllerHandle.
-
- device to start.
-
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigDriverBindingSupported (
- IN EFI_DRIVER_BINDING_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
- );
-
-/**
- Start this driver on ControllerHandle.
-
- device to start.
-
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigDriverBindingStart (
- IN EFI_DRIVER_BINDING_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
- );
-
-/**
- Stop this driver on ControllerHandle.
-
- children is zero stop the entire bus driver.
-
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigDriverBindingStop (
- IN EFI_DRIVER_BINDING_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN UINTN NumberOfChildren,
- IN EFI_HANDLE *ChildHandleBuffer
- );
-
-/**
- Starts running the configuration policy for the EFI IPv4 Protocol driver.
-
- The Start() function is called to determine and to begin the platform
- configuration policy by the EFI IPv4 Protocol driver. This determination may
- be as simple as returning EFI_UNSUPPORTED if there is no EFI IPv4 Protocol
- driver configuration policy. It may be as involved as loading some defaults
- from nonvolatile storage, downloading dynamic data from a DHCP server, and
- checking permissions with a site policy server.
- Starting the configuration policy is just the beginning. It may finish almost
- instantly or it may take several minutes before it fails to retrieve configuration
- information from one or more servers. Once the policy is started, drivers
- should use the DoneEvent parameter to determine when the configuration policy
- has completed. EFI_IP4_CONFIG_PROTOCOL.GetData() must then be called to
- determine if the configuration succeeded or failed.
- Until the configuration completes successfully, EFI IPv4 Protocol driver instances
- that are attempting to use default configurations must return EFI_NO_MAPPING.
- Once the configuration is complete, the EFI IPv4 Configuration Protocol driver
- signals DoneEvent. The configuration may need to be updated in the future,
- however; in this case, the EFI IPv4 Configuration Protocol driver must signal
- ReconfigEvent, and all EFI IPv4 Protocol driver instances that are using default
- configurations must return EFI_NO_MAPPING until the configuration policy has
- been rerun.
-
- Protocol driver configuration policy completes
- execution. This event must be of type EVT_NOTIFY_SIGNAL.
- Protocol driver configuration needs to be updated.
- This event must be of type EVT_NOTIFY_SIGNAL.
-
- driver is now running.
- This
- DoneEvent
- ReconfigEvent
- driver was already started.
- driver configuration.
-
-**/
-EFI_STATUS
-EFIAPI
-EfiIp4ConfigStart (
- IN EFI_IP4_CONFIG_PROTOCOL *This,
- IN EFI_EVENT DoneEvent,
- IN EFI_EVENT ReconfigEvent
- );
-
-/**
- Stops running the configuration policy for the EFI IPv4 Protocol driver.
-
- The Stop() function stops the configuration policy for the EFI IPv4 Protocol driver.
- All configuration data will be lost after calling Stop().
-
-
- driver has been stopped.
- driver was not started.
-
-**/
-EFI_STATUS
-EFIAPI
-EfiIp4ConfigStop (
- IN EFI_IP4_CONFIG_PROTOCOL *This
- );
-
-/**
- Returns the default configuration data (if any) for the EFI IPv4 Protocol driver.
-
- The GetData() function returns the current configuration data for the EFI IPv4
- Protocol driver after the configuration policy has completed.
-
- On output, the count of bytes that were written
- into the ConfigData buffer.
- driver configuration data structure.
- Type EFI_IP4_IPCONFIG_DATA is defined in
- "Related Definitions" below.
-
- driver is not running.
- Currently not implemented.
- data buffer or ConfigData is NULL.
-
-**/
-EFI_STATUS
-EFIAPI
-EfiIp4ConfigGetData (
- IN EFI_IP4_CONFIG_PROTOCOL *This,
- IN OUT UINTN *ConfigDataSize,
- OUT EFI_IP4_IPCONFIG_DATA *ConfigData OPTIONAL
- );
-
-/**
- A dedicated timer is used to poll underlying media status. In case of
- cable swap, a new round auto configuration will be initiated. The timer
- will signal the IP4 to run the auto configuration again. IP4 driver will free
- old IP address related resource, such as route table and Interface, then
- initiate a DHCP round by IP4Config->Start to acquire new IP, eventually
- create route table for new IP address.
-
-
-**/
-VOID
-EFIAPI
-MediaChangeDetect (
- IN EFI_EVENT Event,
- IN VOID *Context
- );
-
-#endif
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c
deleted file mode 100644
index 56cce6e..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c
+++ /dev/null
@@ -1,505 +0,0 @@
- The driver binding for IP4 CONFIG protocol.
-
-Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
-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<BR>
-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.
-
-**/
-
-
-#include "Ip4Config.h"
-#include "Ip4ConfigNv.h"
-#include "NicIp4Variable.h"
-
-EFI_DRIVER_BINDING_PROTOCOL gIp4ConfigDriverBinding = {
- Ip4ConfigDriverBindingSupported,
- Ip4ConfigDriverBindingStart,
- Ip4ConfigDriverBindingStop,
- 0xa,
- NULL,
- NULL
-};
-
-//
-// The intance of template of IP4 Config private data
-//
-IP4_CONFIG_INSTANCE mIp4ConfigTemplate = {
- IP4_CONFIG_INSTANCE_SIGNATURE,
- NULL,
- NULL,
- (EFI_DEVICE_PATH_PROTOCOL *) NULL,
- {
- NULL,
- NULL,
- NULL
- },
- {
- NULL,
- NULL,
- NULL
- },
- NULL,
- (EFI_DEVICE_PATH_PROTOCOL *) NULL,
- NULL,
- {
- FALSE,
- FALSE,
- {
- {
- 0
- }
- },
- {
- {
- 0
- }
- },
- {
- {
- 0
- }
- }
- },
- 0,
- (EFI_MANAGED_NETWORK_PROTOCOL *) NULL,
- NULL,
- NULL,
- NULL,
- 0,
- {
- 0,
- 0,
- {
- {
- 0
- }
- }
- },
- (CHAR16 *) NULL,
- (NIC_IP4_CONFIG_INFO *) NULL,
- (EFI_DHCP4_PROTOCOL *) NULL,
- NULL,
- NULL,
- NULL,
- TRUE,
- FALSE
-};
-
-/**
- The entry point for IP4 config driver which install the driver
- binding and component name protocol on its image.
-
-
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigDriverEntryPoint (
- IN EFI_HANDLE ImageHandle,
- IN EFI_SYSTEM_TABLE *SystemTable
- )
-{
- mIp4ConfigTemplate.Result = EFI_NOT_READY;
-
- return EfiLibInstallDriverBindingComponentName2 (
- ImageHandle,
- SystemTable,
- &gIp4ConfigDriverBinding,
- ImageHandle,
- &gIp4ConfigComponentName,
- &gIp4ConfigComponentName2
- );
-}
-
-
-/**
- Test to see if this driver supports ControllerHandle.
-
- device to start.
-
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigDriverBindingSupported (
- IN EFI_DRIVER_BINDING_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
- )
-{
- EFI_STATUS Status;
-
- Status = gBS->OpenProtocol (
- ControllerHandle,
- &gEfiManagedNetworkServiceBindingProtocolGuid,
- NULL,
- This->DriverBindingHandle,
- ControllerHandle,
- EFI_OPEN_PROTOCOL_TEST_PROTOCOL
- );
-
- return Status;
-}
-
-
-/**
- Start this driver on ControllerHandle.
-
- device to start.
-
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigDriverBindingStart (
- IN EFI_DRIVER_BINDING_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
- )
-{
- EFI_IP4_CONFIG_PROTOCOL *Ip4Config;
- EFI_MANAGED_NETWORK_PROTOCOL *Mnp;
- EFI_HANDLE MnpHandle;
- IP4_CONFIG_INSTANCE *Instance;
- EFI_SIMPLE_NETWORK_MODE SnpMode;
- NIC_IP4_CONFIG_INFO *NicConfig;
- EFI_STATUS Status;
- EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath;
-
- Status = gBS->HandleProtocol (
- ControllerHandle,
- &gEfiDevicePathProtocolGuid,
- (VOID **) &ParentDevicePath
- );
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- //
- // Check for multiple start.
- //
- Status = gBS->OpenProtocol (
- ControllerHandle,
- &gEfiIp4ConfigProtocolGuid,
- (VOID **) &Ip4Config,
- This->DriverBindingHandle,
- ControllerHandle,
- EFI_OPEN_PROTOCOL_GET_PROTOCOL
- );
-
- if (!EFI_ERROR (Status)) {
- return EFI_ALREADY_STARTED;
- }
-
- //
- // Create a MNP child
- //
- Mnp = NULL;
- MnpHandle = NULL;
- Instance = NULL;
-
- Status = NetLibCreateServiceChild (
- ControllerHandle,
- This->DriverBindingHandle,
- &gEfiManagedNetworkServiceBindingProtocolGuid,
- &MnpHandle
- );
-
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- Status = gBS->OpenProtocol (
- MnpHandle,
- &gEfiManagedNetworkProtocolGuid,
- (VOID **) &Mnp,
- This->DriverBindingHandle,
- ControllerHandle,
- EFI_OPEN_PROTOCOL_BY_DRIVER
- );
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- //
- // Allocate an instance then initialize it
- //
- Instance = AllocateCopyPool (sizeof (IP4_CONFIG_INSTANCE), &mIp4ConfigTemplate);
-
- if (Instance == NULL) {
- Status = EFI_OUT_OF_RESOURCES;
- goto ON_ERROR;
- }
-
- Instance->Controller = ControllerHandle;
- Instance->Image = This->DriverBindingHandle;
- Instance->ParentDevicePath = ParentDevicePath;
-
- CopyMem (&Instance->Ip4ConfigProtocol, &mIp4ConfigProtocolTemplate, sizeof (mIp4ConfigProtocolTemplate));
-
- Instance->State = IP4_CONFIG_STATE_IDLE;
- Instance->Mnp = Mnp;
- Instance->MnpHandle = MnpHandle;
-
- Status = Mnp->GetModeData (Mnp, NULL, &SnpMode);
-
- if (EFI_ERROR (Status) && (Status != EFI_NOT_STARTED)) {
- goto ON_ERROR;
- }
-
- Instance->NicAddr.Type = (UINT16) SnpMode.IfType;
- Instance->NicAddr.Len = (UINT8) SnpMode.HwAddressSize;
- CopyMem (&Instance->NicAddr.MacAddr, &SnpMode.CurrentAddress, Instance->NicAddr.Len);
-
- //
- // Add it to the global list, and compose the name
- //
- Status = NetLibGetMacString (Instance->Controller, Instance->Image, &Instance->MacString);
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- Status = Ip4ConfigDeviceInit (Instance);
-
- //
- // Install the IP4_CONFIG protocols
- //
- Status = gBS->InstallMultipleProtocolInterfaces (
- &ControllerHandle,
- &gEfiIp4ConfigProtocolGuid,
- &Instance->Ip4ConfigProtocol,
- NULL
- );
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- //
- // A dedicated timer is used to poll underlying media status.
- //
- Status = gBS->CreateEvent (
- EVT_NOTIFY_SIGNAL | EVT_TIMER,
- TPL_CALLBACK,
- MediaChangeDetect,
- Instance,
- &Instance->Timer
- );
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- //
- // Get the previous configure parameters. If an error happend here,
- // just ignore it because the driver should be able to operate.
- //
- NicConfig = Ip4ConfigReadVariable (Instance);
- if (NicConfig != NULL) {
- if (!NicConfig->Permanent) {
- //
- // Delete the non-permanent configuration.
- //
- Ip4ConfigWriteVariable (Instance, NULL);
- }
-
- FreePool (NicConfig);
- }
-
- return EFI_SUCCESS;
-
- if (Instance != NULL) {
- FreePool (Instance);
- }
-
- if (Mnp != NULL) {
- gBS->CloseProtocol (
- MnpHandle,
- &gEfiManagedNetworkProtocolGuid,
- This->DriverBindingHandle,
- ControllerHandle
- );
- }
-
- NetLibDestroyServiceChild (
- ControllerHandle,
- This->DriverBindingHandle,
- &gEfiManagedNetworkServiceBindingProtocolGuid,
- MnpHandle
- );
-
- return Status;
-}
-
-
-/**
- Stop this driver on ControllerHandle.
-
- children is zero stop the entire bus driver.
-
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigDriverBindingStop (
- IN EFI_DRIVER_BINDING_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN UINTN NumberOfChildren,
- IN EFI_HANDLE *ChildHandleBuffer
- )
-{
- IP4_CONFIG_INSTANCE *Instance;
- EFI_IP4_CONFIG_PROTOCOL *Ip4Config;
- EFI_HANDLE NicHandle;
- EFI_STATUS Status;
-
- //
- // IP4_CONFIG instance opens an MNP child. It may also create and open
- // a DHCP child. If this is the DHCP handle, stop the DHCP process. If
- // it is the MNP child, stop the whole driver.
- //
- //
- NicHandle = NetLibGetNicHandle (ControllerHandle, &gEfiDhcp4ProtocolGuid);
-
- if (NicHandle != NULL) {
- //
- // Get our context back then clean the DHCP up. Notify the user if necessary.
- //
- Status = gBS->OpenProtocol (
- NicHandle,
- &gEfiIp4ConfigProtocolGuid,
- (VOID **) &Ip4Config,
- This->DriverBindingHandle,
- ControllerHandle,
- EFI_OPEN_PROTOCOL_GET_PROTOCOL
- );
-
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- Instance = IP4_CONFIG_INSTANCE_FROM_IP4CONFIG (Ip4Config);
- ASSERT (ControllerHandle == Instance->Dhcp4Handle);
-
- Ip4ConfigCleanDhcp4 (Instance);
-
- Instance->State = IP4_CONFIG_STATE_CONFIGURED;
- Instance->Result = EFI_DEVICE_ERROR;
-
- if (Instance->DoneEvent != NULL) {
- gBS->SignalEvent (Instance->DoneEvent);
- }
-
- return EFI_SUCCESS;
- }
-
- //
- // This is a MNP handle, stop the whole driver
- //
- NicHandle = NetLibGetNicHandle (ControllerHandle, &gEfiManagedNetworkProtocolGuid);
-
- if (NicHandle == NULL) {
- return EFI_SUCCESS;
- }
-
- //
- // Get our context back.
- //
- Status = gBS->OpenProtocol (
- NicHandle,
- &gEfiIp4ConfigProtocolGuid,
- (VOID **) &Ip4Config,
- This->DriverBindingHandle,
- ControllerHandle,
- EFI_OPEN_PROTOCOL_GET_PROTOCOL
- );
-
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- Instance = IP4_CONFIG_INSTANCE_FROM_IP4CONFIG (Ip4Config);
-
- Ip4ConfigDeviceUnload (Instance);
-
- //
- // Unload the protocols first to inform the top drivers
- //
- Status = gBS->UninstallMultipleProtocolInterfaces (
- NicHandle,
- &gEfiIp4ConfigProtocolGuid,
- &Instance->Ip4ConfigProtocol,
- NULL
- );
-
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- //
- // Release all the resources
- //
- if (Instance->MnpHandle != NULL) {
- gBS->CloseProtocol (
- Instance->MnpHandle,
- &gEfiManagedNetworkProtocolGuid,
- This->DriverBindingHandle,
- NicHandle
- );
-
- NetLibDestroyServiceChild (
- NicHandle,
- Instance->Image,
- &gEfiManagedNetworkServiceBindingProtocolGuid,
- Instance->MnpHandle
- );
-
- Instance->Mnp = NULL;
- Instance->MnpHandle = NULL;
- }
-
- if (Instance->MacString != NULL) {
- FreePool (Instance->MacString);
- }
-
- if (Instance->Timer != NULL) {
- gBS->SetTimer (Instance->Timer, TimerCancel, 0);
- gBS->CloseEvent (Instance->Timer);
- Instance->Timer = NULL;
- }
-
- Ip4ConfigCleanConfig (Instance);
- FreePool (Instance);
-
- return EFI_SUCCESS;
-}
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
deleted file mode 100644
index c119982..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
+++ /dev/null
@@ -1,91 +0,0 @@
-# This module produces EFI IPv4 Configuration Protocol.
-#
-# This module produces EFI IPv4 Configuration Protocol upon EFI MNP Protocol,
-# to performs platform- and policy-dependent configuration for the EFI IPv4
-# Protocol driver. It installs EFI HII Configuration Access Protocol to provide
-# one way to configurate the IPv4 network setting.
-#
-# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
-# 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.
-#
-#
-##
-
-[Defines]
- INF_VERSION = 0x00010005
- BASE_NAME = Ip4ConfigDxe
- MODULE_UNI_FILE = Ip4ConfigDxe.uni
- FILE_GUID = 26841BDE-920A-4e7a-9FBE-637F477143A6
- MODULE_TYPE = UEFI_DRIVER
- VERSION_STRING = 1.0
- ENTRY_POINT = Ip4ConfigDriverEntryPoint
- UNLOAD_IMAGE = NetLibDefaultUnload
-#
-# The following information is for reference only and not required by the build tools.
-#
-# VALID_ARCHITECTURES = IA32 X64 IPF EBC
-#
-
-[Sources]
- ComponentName.c
- NicIp4Variable.c
- Ip4ConfigDriver.c
- Ip4Config.h
- NicIp4Variable.h
- Ip4Config.c
- Ip4ConfigDxe.vfr
- Ip4ConfigDxeStrings.uni
- Ip4NvData.h
- Ip4ConfigNv.h
- Ip4ConfigNv.c
-
-[Packages]
- MdePkg/MdePkg.dec
- MdeModulePkg/MdeModulePkg.dec
-
-
-[LibraryClasses]
- UefiLib
- UefiBootServicesTableLib
- UefiDriverEntryPoint
- UefiRuntimeServicesTableLib
- DebugLib
- NetLib
- HiiLib
- PrintLib
- DpcLib
- DevicePathLib
-
-[Protocols]
- gEfiIp4ConfigProtocolGuid ## BY_START
- gEfiManagedNetworkServiceBindingProtocolGuid ## TO_START
- gEfiManagedNetworkProtocolGuid ## TO_START
- gEfiDhcp4ServiceBindingProtocolGuid ## TO_START
- gEfiDhcp4ProtocolGuid ## TO_START
- gEfiHiiConfigAccessProtocolGuid ## BY_START
- ## TO_START
- ## BY_START
- gEfiDevicePathProtocolGuid
-
-[Guids]
- ## SOMETIMES_CONSUMES ## GUID # HiiIsConfigHdrMatch EFI_NIC_IP4_CONFIG_VARIABLE
- ## SOMETIMES_PRODUCES ## GUID # HiiConstructConfigHdr EFI_NIC_IP4_CONFIG_VARIABLE
- ## SOMETIMES_PRODUCES ## Variable
- ## SOMETIMES_CONSUMES ## Variable
- ## SOMETIMES_PRODUCES ## GUID # Device Path Node
- gEfiNicIp4ConfigVariableGuid
- ## SOMETIMES_CONSUMES ## GUID # HiiIsConfigHdrMatch EFI_NIC_IP4_CONFIG_VARIABLE
- ## SOMETIMES_PRODUCES ## GUID # HiiConstructConfigHdr EFI_NIC_IP4_CONFIG_VARIABLE
- ## SOMETIMES_PRODUCES ## GUID # HiiGetBrowserData EFI_NIC_IP4_CONFIG_VARIABLE
- ## SOMETIMES_CONSUMES ## HII
- gNicIp4ConfigNvDataGuid
-
-[UserExtensions.TianoCore."ExtraFiles"]
- Ip4ConfigDxeExtra.uni
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.uni b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.uni
deleted file mode 100644
index efd16bdebb5741cfb6ce4e1e62ee41c5c8debad6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 2700
zcmchZUr!T36vgkeiQi#UUerKQV|*~iSft1Xp`?_cPi9L?X)LtaE=9h)`a3h7ot74h
zOo*;5BSz(^EUt-uL+!1X<u9v{bJUks7pxZZKd>0PzBG1ey`_p$E+b-zi5?t^?`LH2
zocguB<oA}A_Dj82sCb=rioXKi1KRSC<3nZCv-qqz29p`z;v{FCaOIBq4yfMSmNo4|
z$wTBLo;82EdM?HVUV?f82btr2h~7qS?q-^^PN`5SUZ0kBH2TjRnuJm5PkIwFsWSN2
zDW$MTWii`6801kH{N1EjQn9jbgEPd{zKB(!KVw`P*SfC#q`Zx3o)^!hblIM+A5Iw%
zpDAm$Pd|mz1XfkI7)?>yF|E2|`j{JSn|2eM;34ipin8li968SoT2i#i3bp*oYlV8t
z_0^lb3s0Dr*M^Ij*a=omhwOmy6tD8paM7Fegk58b*}_&fit4R)uvPSL)O*YbxlUqz
z8pUT(x38t2=skstLv*E>+e>c&y>^?9S#hdwtyGV0jsz6q?>n9v_&CN}onDRH{Y(wE
zTG-w7TVpqM8uadEl+vFxv4Jlkt$^_VzMqvcpZnz^B^;53RB~9dzbv2Cx#)yF#(#u=
zd#82I{p+*(eb%k!Ppw-19S*md?s|VVAL7Mc_G;eur4Dy+_|NiCFShQxRj;%Z9`M}%
Ig^sHI1Fg%p3jhEB
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr
deleted file mode 100644
index bd3e36a..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr
+++ /dev/null
@@ -1,89 +0,0 @@
- Vfr file for IP4 config.
-
-Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
-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.
-
-**/
-#include "Ip4NvData.h"
-
-#define EFI_NETWORK_DEVICE_CLASS 0x04
-
-formset
- guid = EFI_NIC_IP4_CONFIG_NVDATA_GUID,
- title = STRING_TOKEN(STR_IP4_CONFIG_FORM_TITLE),
- help = STRING_TOKEN(STR_IP4_CONFIG_FORM_HELP),
-
- varstore IP4_CONFIG_IFR_NVDATA,
- name = EfiNicIp4ConfigVariable,
- guid = EFI_NIC_IP4_CONFIG_NVDATA_GUID;
-
- form formid = FORMID_MAIN_FORM,
- title = STRING_TOKEN(STR_IP4_DEVICE_FORM_TITLE);
-
- checkbox varid = EfiNicIp4ConfigVariable.Configure,
- prompt = STRING_TOKEN(STR_IP4_CONFIGURE),
- help = STRING_TOKEN(STR_IP4_CONFIGURE),
- flags = INTERACTIVE,
- key = KEY_ENABLE,
- endcheckbox;
-
- suppressif ideqval EfiNicIp4ConfigVariable.Configure == 0x00;
-
- checkbox varid = EfiNicIp4ConfigVariable.DhcpEnable,
- prompt = STRING_TOKEN(STR_IP4_ENABLE_DHCP),
- help = STRING_TOKEN(STR_IP4_ENABLE_DHCP),
- flags = INTERACTIVE,
- key = KEY_DHCP_ENABLE,
- endcheckbox;
- endif;
-
- suppressif ideqval EfiNicIp4ConfigVariable.DhcpEnable == 0x01 OR ideqval EfiNicIp4ConfigVariable.Configure == 0x00;
-
- string varid = EfiNicIp4ConfigVariable.StationAddress,
- prompt = STRING_TOKEN(STR_IP4_LOCAL_IP_ADDRESS),
- help = STRING_TOKEN(STR_IP4_IP_ADDRESS_HELP),
- flags = INTERACTIVE,
- key = KEY_LOCAL_IP,
- minsize = IP_MIN_SIZE,
- maxsize = IP_MAX_SIZE,
- endstring;
-
- string varid = EfiNicIp4ConfigVariable.SubnetMask,
- prompt = STRING_TOKEN(STR_IP4_LOCAL_MASK),
- help = STRING_TOKEN(STR_IP4_IP_ADDRESS_HELP),
- flags = INTERACTIVE,
- key = KEY_SUBNET_MASK,
- minsize = IP_MIN_SIZE,
- maxsize = IP_MAX_SIZE,
- endstring;
-
- string varid = EfiNicIp4ConfigVariable.GatewayAddress,
- prompt = STRING_TOKEN(STR_IP4_LOCAL_GATEWAY),
- help = STRING_TOKEN(STR_IP4_IP_ADDRESS_HELP),
- flags = INTERACTIVE,
- key = KEY_GATE_WAY,
- minsize = IP_MIN_SIZE,
- maxsize = IP_MAX_SIZE,
- endstring;
-
- endif;
-
- subtitle text = STRING_TOKEN(STR_NULL);
-
- text
- help = STRING_TOKEN(STR_SAVE_CHANGES),
- text = STRING_TOKEN(STR_SAVE_CHANGES),
- flags = INTERACTIVE,
- key = KEY_SAVE_CHANGES;
-
- endform;
-
-endformset;
-
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni
deleted file mode 100644
index a0bf5a838776900cee66e9b9a277fc2f5e401742..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1366
zcmZvcTW`}q5QWb(692(UUjVfUmp&ncNQnW9Hi^<il&8u`+SF2WkrP70j|aZ9j_tM}
z%ih`9nKNh4j`z>+mRgE<U+_fwplfBi)s>#=30|)yTIpCHwbUZ4&eYKz5s^;uO_UO!
z#7+X*6$}c59Ii_+Qu4FFxXDVJbw`+2fo*0vT-Lm~wt;(7?{uPp-v5W)5Jp+p&x-gZ
zlv0iPI`0P=Ud^#fCPl4zU|ph^nIp4GA1krsT<g3O&alJ$^Z}Qe>(8LYgzvw*&EQ}}
zb13w3tu=G+dJNC|=VDdO{u+OALgsu&%wtXubt$ym5jEcDFZT+VQQch;_#2*;-iBUY
zVinptJ`YMa*?rD=wjOD}#xsWbl%9K7y$Q+<Z>dN*MjGmiVp#R*qMknUZR?DAf}#<c
xm~rYUU-z8*;D~thbF~J%`q*3Uy7IR2UFe+q_leK(A|Q7{Py6o3$u>s${sqnc(e(fT
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni
deleted file mode 100644
index 5a578a421e91687270a5a0a319104903ed0e5de9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 3000
zcmbuBT~8W86o$`rlm3Sd-n5NE+w`VQ+Z1(0QV=6(+be>ANJJnDYW?$VpLfP(SklO%
zne5J-IWy<HbG~N&{wZ0>BEC1Y$iCTy4Q*t7ducD26;G{cb4%ciZ2;ASuXSU-Ip2iQ
zjQI;j34PV3_QCetyw+)t=Uua|&mKt+8nkk1_fEsWF5yS^%DVQN{=L1WePp!rK)r+B
zW?V(<9BCuQl8_)n|IPwa5l$JtRtUY9Eu;zige0+B{yi(&XWO+C`?`dx1(KmV*OYY=
zc1!j(yE|y^(a%}YcXSuD6L?d{yJw%b)U`t+Jwrw#q=i#=nAPqPye=czP*{R|?Ut=I
zbIT{sbnKkJ=58Dc$qq<lj|3b#V~SG9gg5J}2_6aicJc5&bS;A=V7+s;=<=7`>}iMS
zK4KL?bA0j1MX+MaTUYB7XX_%G5<FU3vHpyibFlY_wygFdQZD&Yo20$Yb7(QBj)|X!
zqP7><BKrYfxEfBQ=rWpw?1=d)QYE9|w4Xo;yXK^`#VW0lR=?_iwc7cM{yQ8YR|dup
zawBA_zTLU_x`I|^8WYv3K8n6jojlg9MW$?qQ!!UVYl>0*dYr3hlt<$g#HwMw(&;3s
zCo}w(53M5l3=1lHpKsOY>3o`n^66ZTo>P}Q%YMj?pW>BXPJ1g~%hUkHYn%K!#PZpg
z2w2wRP%ef0C6$)XA~iB-4=gosC>z?0_i4VaC|5&UkEBM{bityVThdg2dNhA;&vII4
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c
deleted file mode 100644
index 89e1dda..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c
+++ /dev/null
@@ -1,909 +0,0 @@
- Helper functions for configuring or getting the parameters relating to Ip4.
-
-Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
-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.
-
-**/
-
-#include "Ip4ConfigNv.h"
-#include "NicIp4Variable.h"
-
-/**
- Calculate the prefix length of the IPv4 subnet mask.
-
-
-**/
-UINT8
-GetSubnetMaskPrefixLength (
- IN EFI_IPv4_ADDRESS *SubnetMask
- )
-{
- UINT8 Len;
- UINT32 ReverseMask;
-
- //
- // The SubnetMask is in network byte order.
- //
- ReverseMask = SwapBytes32 (*(UINT32 *)&SubnetMask[0]);
-
- //
- // Reverse it.
- //
- ReverseMask = ~ReverseMask;
-
- if ((ReverseMask & (ReverseMask + 1)) != 0) {
- return 0;
- }
-
- Len = 0;
-
- while (ReverseMask != 0) {
- ReverseMask = ReverseMask >> 1;
- Len++;
- }
-
- return (UINT8) (32 - Len);
-}
-
-/**
- Convert the decimal dotted IPv4 address into the binary IPv4 address.
-
-
-**/
-EFI_STATUS
-Ip4StrToIp (
- IN CHAR16 *Str,
- OUT EFI_IPv4_ADDRESS *Ip
- )
-{
- UINTN Index;
- UINTN Number;
-
- Index = 0;
-
- while (*Str != L'\0') {
-
- if (Index > 3) {
- return EFI_INVALID_PARAMETER;
- }
-
- Number = 0;
- while ((*Str >= L'0') && (*Str <= L'9')) {
- Number = Number * 10 + (*Str - L'0');
- Str++;
- }
-
- if (Number > 0xFF) {
- return EFI_INVALID_PARAMETER;
- }
-
- Ip->Addr[Index] = (UINT8) Number;
-
- if ((*Str != L'\0') && (*Str != L'.')) {
- //
- // The current character should be either the NULL terminator or
- // the dot delimiter.
- //
- return EFI_INVALID_PARAMETER;
- }
-
- if (*Str == L'.') {
- //
- // Skip the delimiter.
- //
- Str++;
- }
-
- Index++;
- }
-
- if (Index != 4) {
- return EFI_INVALID_PARAMETER;
- }
-
- return EFI_SUCCESS;
-}
-
-/**
- Convert the IPv4 address into a dotted string.
-
-**/
-VOID
-Ip4ConfigIpToStr (
- IN EFI_IPv4_ADDRESS *Ip,
- OUT CHAR16 *Str
- )
-{
- UnicodeSPrint (Str, 2 * IP4_STR_MAX_SIZE, L"%d.%d.%d.%d", Ip->Addr[0], Ip->Addr[1], Ip->Addr[2], Ip->Addr[3]);
-}
-
-
-/**
- Convert the network configuration data into the IFR data.
-
-**/
-VOID
-Ip4ConfigConvertDeviceConfigDataToIfrNvData (
- IN IP4_CONFIG_INSTANCE *Ip4ConfigInstance,
- OUT IP4_CONFIG_IFR_NVDATA *IfrFormNvData
- )
-{
- NIC_IP4_CONFIG_INFO *NicConfig;
-
- NicConfig = EfiNicIp4ConfigGetInfo (Ip4ConfigInstance);
- if (NicConfig != NULL) {
- IfrFormNvData->Configure = 1;
- Ip4ConfigInstance->Ip4ConfigCallbackInfo.Configured = TRUE;
- if (NicConfig->Source == IP4_CONFIG_SOURCE_DHCP) {
- IfrFormNvData->DhcpEnable = 1;
- Ip4ConfigInstance->Ip4ConfigCallbackInfo.DhcpEnabled = TRUE;
- } else {
- IfrFormNvData->DhcpEnable = 0;
- Ip4ConfigIpToStr (&NicConfig->Ip4Info.StationAddress, IfrFormNvData->StationAddress);
- Ip4ConfigIpToStr (&NicConfig->Ip4Info.SubnetMask, IfrFormNvData->SubnetMask);
- Ip4ConfigIpToStr (&NicConfig->Ip4Info.RouteTable[1].GatewayAddress, IfrFormNvData->GatewayAddress);
-
- Ip4ConfigInstance->Ip4ConfigCallbackInfo.DhcpEnabled = FALSE;
- CopyMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.LocalIp, &NicConfig->Ip4Info.StationAddress, sizeof (EFI_IPv4_ADDRESS));
- CopyMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.SubnetMask, &NicConfig->Ip4Info.SubnetMask, sizeof (EFI_IPv4_ADDRESS));
- CopyMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.Gateway, &NicConfig->Ip4Info.RouteTable[1].GatewayAddress, sizeof (EFI_IPv4_ADDRESS));
- }
-
- FreePool (NicConfig);
- } else {
- IfrFormNvData->Configure = 0;
- Ip4ConfigInstance->Ip4ConfigCallbackInfo.Configured = FALSE;
- }
-}
-
-/**
- Convert the IFR data into the network configuration data and set the IP
- configure parameters for the NIC.
-
-
- set successfully.
-
-**/
-EFI_STATUS
-Ip4ConfigConvertIfrNvDataToDeviceConfigData (
- IN IP4_CONFIG_IFR_NVDATA *IfrFormNvData,
- IN OUT IP4_CONFIG_INSTANCE *Ip4ConfigInstance
- )
-{
- EFI_STATUS Status;
- EFI_IP_ADDRESS HostIp;
- EFI_IP_ADDRESS SubnetMask;
- EFI_IP_ADDRESS Gateway;
- EFI_INPUT_KEY Key;
- NIC_IP4_CONFIG_INFO *NicInfo;
- EFI_IP_ADDRESS Ip;
-
- ZeroMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo, sizeof (IP4_SETTING_INFO));
-
- Ip4ConfigInstance->Ip4ConfigCallbackInfo.Configured = IfrFormNvData->Configure;
- Ip4ConfigInstance->Ip4ConfigCallbackInfo.DhcpEnabled = IfrFormNvData->DhcpEnable;
- Ip4StrToIp (IfrFormNvData->StationAddress, &Ip4ConfigInstance->Ip4ConfigCallbackInfo.LocalIp);
- Ip4StrToIp (IfrFormNvData->SubnetMask, &Ip4ConfigInstance->Ip4ConfigCallbackInfo.SubnetMask);
- Ip4StrToIp (IfrFormNvData->GatewayAddress, &Ip4ConfigInstance->Ip4ConfigCallbackInfo.Gateway);
-
- if (!Ip4ConfigInstance->Ip4ConfigCallbackInfo.Configured) {
- //
- // Clear the variable
- //
- ZeroMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo, sizeof (IP4_SETTING_INFO));
-
- Status = EfiNicIp4ConfigSetInfo (Ip4ConfigInstance, NULL, TRUE);
- if (Status == EFI_NOT_FOUND) {
- return EFI_SUCCESS;
- }
-
- return Status;
- }
-
- NicInfo = AllocateZeroPool (sizeof (NIC_IP4_CONFIG_INFO) + 2 * sizeof (EFI_IP4_ROUTE_TABLE));
- ASSERT (NicInfo != NULL);
-
- NicInfo->Ip4Info.RouteTable = (EFI_IP4_ROUTE_TABLE *) (NicInfo + 1);
-
- if (!Ip4ConfigInstance->Ip4ConfigCallbackInfo.DhcpEnabled) {
- CopyMem (&HostIp.v4, &Ip4ConfigInstance->Ip4ConfigCallbackInfo.LocalIp, sizeof (HostIp.v4));
- CopyMem (&SubnetMask.v4, &Ip4ConfigInstance->Ip4ConfigCallbackInfo.SubnetMask, sizeof (SubnetMask.v4));
- CopyMem (&Gateway.v4, &Ip4ConfigInstance->Ip4ConfigCallbackInfo.Gateway, sizeof (Gateway.v4));
-
- if (!NetIp4IsUnicast (NTOHL (HostIp.Addr[0]), 0)) {
- CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, L"Invalid IP address!", NULL);
- return EFI_INVALID_PARAMETER;
- }
- if (EFI_IP4_EQUAL (&SubnetMask, &mZeroIp4Addr)) {
- CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, L"Invalid Subnet Mask!", NULL);
- return EFI_INVALID_PARAMETER;
- }
-
- if ((Gateway.Addr[0] != 0)) {
- if (SubnetMask.Addr[0] == 0) {
- CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, L"Gateway address is set but subnet mask is zero.", NULL);
- return EFI_INVALID_PARAMETER;
-
- } else if (!IP4_NET_EQUAL (HostIp.Addr[0], Gateway.Addr[0], SubnetMask.Addr[0])) {
- CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, L"Local IP and Gateway are not in the same subnet.", NULL);
- return EFI_INVALID_PARAMETER; }
- }
-
- NicInfo->Source = IP4_CONFIG_SOURCE_STATIC;
- NicInfo->Ip4Info.RouteTableSize = 2;
-
- CopyMem (&NicInfo->Ip4Info.StationAddress, &HostIp.v4, sizeof (EFI_IPv4_ADDRESS));
- CopyMem (&NicInfo->Ip4Info.SubnetMask, &SubnetMask.v4, sizeof (EFI_IPv4_ADDRESS));
-
- Ip.Addr[0] = HostIp.Addr[0] & SubnetMask.Addr[0];
-
- CopyMem (&NicInfo->Ip4Info.RouteTable[0].SubnetAddress, &Ip.v4, sizeof (EFI_IPv4_ADDRESS));
- CopyMem (&NicInfo->Ip4Info.RouteTable[0].SubnetMask, &SubnetMask.v4, sizeof (EFI_IPv4_ADDRESS));
- CopyMem (&NicInfo->Ip4Info.RouteTable[1].GatewayAddress, &Gateway.v4, sizeof (EFI_IPv4_ADDRESS));
-
- } else {
- NicInfo->Source = IP4_CONFIG_SOURCE_DHCP;
- ZeroMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.LocalIp, sizeof (EFI_IPv4_ADDRESS));
- ZeroMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.SubnetMask, sizeof (EFI_IPv4_ADDRESS));
- ZeroMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.Gateway, sizeof (EFI_IPv4_ADDRESS));
- }
-
- NicInfo->Permanent = TRUE;
- CopyMem (&NicInfo->NicAddr, &Ip4ConfigInstance->NicAddr, sizeof (NIC_ADDR));
-
- return EfiNicIp4ConfigSetInfo (Ip4ConfigInstance, NicInfo, TRUE);
-}
-
-/**
- This function allows the caller to request the current
- configuration for one or more named elements. The resulting
- string is in <ConfigAltResp> format. Any and all alternative
- configuration strings shall also be appended to the end of the
- current configuration string. If they are, they must appear
- after the current configuration. They must contain the same
- routing (GUID, NAME, PATH) as the current configuration string.
- They must have an additional description indicating the type of
- alternative configuration the string represents,
- "ALTCFG=<StringToken>". That <StringToken> (when
- converted from Hex UNICODE to binary) is a reference to a
- string in the associated string pack.
-
- <ConfigRequest> format. Note that this
- includes the routing information as well as
- the configurable name / value pairs. It is
- invalid for this string to be in
- <MultiConfigRequest> format.
- Request string. Points to the string's null
- terminator if request was successful. Points
- to the most recent "&" before the first
- failing name / value pair (or the beginning
- of the string if the failure is in the first
- name / value pair) if the request was not
- successful.
- <ConfigAltResp> format which has all values
- filled in for the names in the Request string.
- String to be allocated by the called function.
-
- values corresponding to all requested
- names.
- parts of the results that must be
- stored awaiting possible future
- protocols.
- known driver. Progress set to the
- first character in the routing header.
- Note: There is no requirement that the
- driver validate the routing data. It
- must skip the <ConfigHdr> in order to
- process the names.
- to most recent & before the
- error or the beginning of the
- string.
- to the & before the name in
- question.Currently not implemented.
-**/
-EFI_STATUS
-EFIAPI
-Ip4DeviceExtractConfig (
- IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,
- IN CONST EFI_STRING Request,
- OUT EFI_STRING *Progress,
- OUT EFI_STRING *Results
- )
-{
- EFI_STATUS Status;
- NIC_IP4_CONFIG_INFO *IfrDeviceNvData;
- NIC_IP4_CONFIG_INFO *NicConfig;
- IP4_CONFIG_INSTANCE *Ip4ConfigInstance;
- IP4_CONFIG_IFR_NVDATA *IfrFormNvData;
- EFI_STRING ConfigRequestHdr;
- EFI_STRING ConfigRequest;
- EFI_STRING DeviceResult;
- EFI_STRING FormResult;
- CHAR16 *StrPointer;
- BOOLEAN AllocatedRequest;
- UINTN Size;
- UINTN BufferSize;
-
- if (Progress == NULL || Results == NULL) {
- return EFI_INVALID_PARAMETER;
- }
-
- *Progress = Request;
- Size = 0;
- DeviceResult = NULL;
- FormResult = NULL;
- ConfigRequest = NULL;
- Status = EFI_SUCCESS;
- AllocatedRequest = FALSE;
- Ip4ConfigInstance = IP4_CONFIG_INSTANCE_FROM_CONFIG_ACCESS (This);
-
- //
- // Check Request data in <ConfigHdr>.
- //
- if ((Request == NULL) || HiiIsConfigHdrMatch (Request, &gEfiNicIp4ConfigVariableGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {
- IfrDeviceNvData = AllocateZeroPool (NIC_ITEM_CONFIG_SIZE);
- if (IfrDeviceNvData == NULL) {
- return EFI_OUT_OF_RESOURCES;
- }
-
- NicConfig = EfiNicIp4ConfigGetInfo (Ip4ConfigInstance);
- if (NicConfig == NULL) {
- return EFI_NOT_FOUND;
- }
- CopyMem (IfrDeviceNvData, NicConfig, SIZEOF_NIC_IP4_CONFIG_INFO (NicConfig));
- FreePool (NicConfig);
-
- ConfigRequest = Request;
- if ((Request == NULL) || (StrStr (Request, L"OFFSET") == NULL)) {
- //
- // Request has no request element, construct full request string.
- // Allocate and fill a buffer large enough to hold the <ConfigHdr> template
- // followed by "&OFFSET=0&WIDTH=WWWWWWWWWWWWWWWW" followed by a Null-terminator
- //
- ConfigRequestHdr = HiiConstructConfigHdr (&gEfiNicIp4ConfigVariableGuid, EFI_NIC_IP4_CONFIG_VARIABLE, Ip4ConfigInstance->ChildHandle);
- Size = (StrLen (ConfigRequestHdr) + 32 + 1) * sizeof (CHAR16);
- ConfigRequest = AllocateZeroPool (Size);
- ASSERT (ConfigRequest != NULL);
- AllocatedRequest = TRUE;
- BufferSize = NIC_ITEM_CONFIG_SIZE;
- UnicodeSPrint (ConfigRequest, Size, L"%s&OFFSET=0&WIDTH=%016LX", ConfigRequestHdr, (UINT64)BufferSize);
- FreePool (ConfigRequestHdr);
- }
-
- //
- // Convert buffer data to <ConfigResp> by helper function BlockToConfig()
- //
- Status = gHiiConfigRouting->BlockToConfig (
- gHiiConfigRouting,
- ConfigRequest,
- (UINT8 *) IfrDeviceNvData,
- NIC_ITEM_CONFIG_SIZE,
- &DeviceResult,
- Progress
- );
-
- FreePool (IfrDeviceNvData);
- //
- // Free the allocated config request string.
- //
- if (AllocatedRequest) {
- FreePool (ConfigRequest);
- ConfigRequest = NULL;
- }
-
- if (EFI_ERROR (Status)) {
- goto Failure;
- }
- }
-
- if ((Request == NULL) || HiiIsConfigHdrMatch (Request, &gNicIp4ConfigNvDataGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {
-
- IfrFormNvData = AllocateZeroPool (sizeof (IP4_CONFIG_IFR_NVDATA));
- if (IfrFormNvData == NULL) {
- return EFI_OUT_OF_RESOURCES;
- }
-
- Ip4ConfigConvertDeviceConfigDataToIfrNvData (Ip4ConfigInstance, IfrFormNvData);
-
- ConfigRequest = Request;
- if ((Request == NULL) || (StrStr (Request, L"OFFSET") == NULL)) {
- //
- // Request has no request element, construct full request string.
- // Allocate and fill a buffer large enough to hold the <ConfigHdr> template
- // followed by "&OFFSET=0&WIDTH=WWWWWWWWWWWWWWWW" followed by a Null-terminator
- //
- ConfigRequestHdr = HiiConstructConfigHdr (&gNicIp4ConfigNvDataGuid, EFI_NIC_IP4_CONFIG_VARIABLE, Ip4ConfigInstance->ChildHandle);
- Size = (StrLen (ConfigRequestHdr) + 32 + 1) * sizeof (CHAR16);
- ConfigRequest = AllocateZeroPool (Size);
- ASSERT (ConfigRequest != NULL);
- AllocatedRequest = TRUE;
- BufferSize = sizeof (IP4_CONFIG_IFR_NVDATA);
- UnicodeSPrint (ConfigRequest, Size, L"%s&OFFSET=0&WIDTH=%016LX", ConfigRequestHdr, (UINT64)BufferSize);
- FreePool (ConfigRequestHdr);
- }
-
- //
- // Convert buffer data to <ConfigResp> by helper function BlockToConfig()
- //
- Status = gHiiConfigRouting->BlockToConfig (
- gHiiConfigRouting,
- ConfigRequest,
- (UINT8 *) IfrFormNvData,
- sizeof (IP4_CONFIG_IFR_NVDATA),
- &FormResult,
- Progress
- );
-
- FreePool (IfrFormNvData);
- //
- // Free the allocated config request string.
- //
- if (AllocatedRequest) {
- FreePool (ConfigRequest);
- ConfigRequest = NULL;
- }
-
- if (EFI_ERROR (Status)) {
- goto Failure;
- }
- }
-
- if (Request == NULL) {
- Size = StrLen (DeviceResult);
- Size = Size + 1;
- Size = Size + StrLen (FormResult) + 1;
- *Results = AllocateZeroPool (Size * sizeof (CHAR16));
- ASSERT (*Results != NULL);
- StrPointer = *Results;
- StrCpy (StrPointer, DeviceResult);
- StrPointer = StrPointer + StrLen (StrPointer);
- *StrPointer = L'&';
- StrCpy (StrPointer + 1, FormResult);
- FreePool (DeviceResult);
- FreePool (FormResult);
- } else if (HiiIsConfigHdrMatch (Request, &gEfiNicIp4ConfigVariableGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {
- *Results = DeviceResult;
- } else if (HiiIsConfigHdrMatch (Request, &gNicIp4ConfigNvDataGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {
- *Results = FormResult;
- } else {
- return EFI_NOT_FOUND;
- }
-
- //
- // Set Progress string to the original request string.
- //
- if (Request == NULL) {
- *Progress = NULL;
- } else if (StrStr (Request, L"OFFSET") == NULL) {
- *Progress = Request + StrLen (Request);
- }
-
- return Status;
-}
-
-/**
- This function applies changes in a driver's configuration.
- Input is a Configuration, which has the routing data for this
- driver followed by name / value configuration pairs. The driver
- must apply those pairs to its configurable storage. If the
- driver's configuration is stored in a linear block of data
- and the driver's name / value pairs are in <BlockConfig>
- format, it may use the ConfigToBlock helper function (above) to
- simplify the job. Currently not implemented.
-
- <ConfigString> format.
- offset of the most recent '&' before the
- first failing name / value pair (or the
- beginn ing of the string if the failure
- is in the first name / value pair) or
- the terminating NULL if all was
- successful.
-
- awaiting distribution.
- parts of the results that must be
- stored awaiting possible future
- protocols.
- Results parameter would result
- in this type of error.
- was not found.
-**/
-EFI_STATUS
-EFIAPI
-Ip4DeviceRouteConfig (
- IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,
- IN CONST EFI_STRING Configuration,
- OUT EFI_STRING *Progress
- )
-{
- EFI_STATUS Status;
- UINTN BufferSize;
- NIC_IP4_CONFIG_INFO *IfrDeviceNvData;
- IP4_CONFIG_IFR_NVDATA *IfrFormNvData;
- NIC_IP4_CONFIG_INFO *NicInfo;
- IP4_CONFIG_INSTANCE *Ip4ConfigInstance;
- EFI_MAC_ADDRESS ZeroMac;
-
- if (Configuration == NULL || Progress == NULL) {
- return EFI_INVALID_PARAMETER;
- }
-
- //
- // Reclaim Ip4Config variable
- //
- Ip4ConfigReclaimVariable ();
-
- *Progress = Configuration;
-
- Ip4ConfigInstance = IP4_CONFIG_INSTANCE_FROM_CONFIG_ACCESS (This);
-
- //
- // Check Routing data in <ConfigHdr>.
- //
- if (HiiIsConfigHdrMatch (Configuration, &gNicIp4ConfigNvDataGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {
- //
- // Convert buffer data to <ConfigResp> by helper function BlockToConfig()
- //
- IfrFormNvData = AllocateZeroPool (sizeof (IP4_CONFIG_IFR_NVDATA));
- if (IfrFormNvData == NULL) {
- return EFI_OUT_OF_RESOURCES;
- }
-
- BufferSize = NIC_ITEM_CONFIG_SIZE;
- Status = gHiiConfigRouting->ConfigToBlock (
- gHiiConfigRouting,
- Configuration,
- (UINT8 *) IfrFormNvData,
- &BufferSize,
- Progress
- );
- if (!EFI_ERROR (Status)) {
- Status = Ip4ConfigConvertIfrNvDataToDeviceConfigData (IfrFormNvData, Ip4ConfigInstance);
- }
-
- FreePool (IfrFormNvData);
-
- } else if (HiiIsConfigHdrMatch (Configuration, &gEfiNicIp4ConfigVariableGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {
-
- IfrDeviceNvData = AllocateZeroPool (NIC_ITEM_CONFIG_SIZE);
- if (IfrDeviceNvData == NULL) {
- return EFI_OUT_OF_RESOURCES;
- }
-
- BufferSize = NIC_ITEM_CONFIG_SIZE;
- Status = gHiiConfigRouting->ConfigToBlock (
- gHiiConfigRouting,
- Configuration,
- (UINT8 *) IfrDeviceNvData,
- &BufferSize,
- Progress
- );
- if (!EFI_ERROR (Status)) {
- ZeroMem (&ZeroMac, sizeof (EFI_MAC_ADDRESS));
- if (CompareMem (&IfrDeviceNvData->NicAddr.MacAddr, &ZeroMac, IfrDeviceNvData->NicAddr.Len) != 0) {
- BufferSize = SIZEOF_NIC_IP4_CONFIG_INFO (IfrDeviceNvData);
- NicInfo = AllocateCopyPool (BufferSize, IfrDeviceNvData);
- if (NicInfo == NULL) {
- return EFI_OUT_OF_RESOURCES;
- }
- Status = EfiNicIp4ConfigSetInfo (Ip4ConfigInstance, NicInfo, TRUE);
- FreePool (NicInfo);
- } else {
- ZeroMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo, sizeof (IP4_SETTING_INFO));
- Status = EfiNicIp4ConfigSetInfo (Ip4ConfigInstance, NULL, TRUE);
- }
- }
-
- FreePool (IfrDeviceNvData);
-
- } else {
-
- return EFI_NOT_FOUND;
- }
-
- return Status;
-
-}
-
-/**
- This function is called to provide results data to the driver.
- This data consists of a unique key that is used to identify
- which data is either being passed back or being asked for.
-
- exporting driver so that it can identify the type
- of data to expect. The format of the data tends to
- vary based on the opcode that enerated the callback.
- exporting driver.
- callback function.
-
- variable and its data.
- callback.Currently not implemented.
-**/
-EFI_STATUS
-EFIAPI
-Ip4FormCallback (
- IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,
- IN EFI_BROWSER_ACTION Action,
- IN EFI_QUESTION_ID QuestionId,
- IN UINT8 Type,
- IN EFI_IFR_TYPE_VALUE *Value,
- OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest
- )
-{
- IP4_CONFIG_INSTANCE *Ip4ConfigInstance;
- IP4_CONFIG_IFR_NVDATA *IfrFormNvData;
- EFI_IP_ADDRESS HostIp;
- EFI_IP_ADDRESS SubnetMask;
- EFI_IP_ADDRESS Gateway;
- EFI_STATUS Status;
- EFI_INPUT_KEY Key;
-
- if (Action == EFI_BROWSER_ACTION_CHANGED) {
- Ip4ConfigInstance = IP4_CONFIG_INSTANCE_FROM_CONFIG_ACCESS (This);
-
- IfrFormNvData = AllocateZeroPool (sizeof (IP4_CONFIG_IFR_NVDATA));
- if (IfrFormNvData == NULL) {
- return EFI_OUT_OF_RESOURCES;
- }
-
- //
- // Retrive uncommitted data from Browser
- //
- if (!HiiGetBrowserData (&gNicIp4ConfigNvDataGuid, EFI_NIC_IP4_CONFIG_VARIABLE, sizeof (IP4_CONFIG_IFR_NVDATA), (UINT8 *) IfrFormNvData)) {
- FreePool (IfrFormNvData);
- return EFI_NOT_FOUND;
- }
-
- Status = EFI_SUCCESS;
-
- switch (QuestionId) {
- Status = Ip4StrToIp (IfrFormNvData->StationAddress, &HostIp.v4);
- if (EFI_ERROR (Status) || !NetIp4IsUnicast (NTOHL (HostIp.Addr[0]), 0)) {
- CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, L"Invalid IP address!", NULL);
- Status = EFI_INVALID_PARAMETER;
- } else {
- CopyMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.LocalIp, &HostIp.v4, sizeof (HostIp.v4));
- }
-
- break;
-
- Status = Ip4StrToIp (IfrFormNvData->SubnetMask, &SubnetMask.v4);
- if (EFI_ERROR (Status) || ((SubnetMask.Addr[0] != 0) && (GetSubnetMaskPrefixLength (&SubnetMask.v4) == 0))) {
- CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, L"Invalid Subnet Mask!", NULL);
- Status = EFI_INVALID_PARAMETER;
- } else {
- CopyMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.SubnetMask, &SubnetMask.v4, sizeof (SubnetMask.v4));
- }
-
- break;
-
- Status = Ip4StrToIp (IfrFormNvData->GatewayAddress, &Gateway.v4);
- if (EFI_ERROR (Status) || ((Gateway.Addr[0] != 0) && !NetIp4IsUnicast (NTOHL (Gateway.Addr[0]), 0))) {
- CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, L"Invalid Gateway!", NULL);
- Status = EFI_INVALID_PARAMETER;
- } else {
- CopyMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.Gateway, &Gateway.v4, sizeof (Gateway.v4));
- }
-
- break;
-
- Status = Ip4ConfigConvertIfrNvDataToDeviceConfigData (IfrFormNvData, Ip4ConfigInstance);
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_SUBMIT;
- break;
-
- break;
- }
-
- FreePool (IfrFormNvData);
-
- return Status;
- }
-
- //
- // All other action return unsupported.
- //
- return EFI_UNSUPPORTED;
-}
-
-/**
- Install HII Config Access protocol for network device and allocate resource.
-
-
-**/
-EFI_STATUS
-Ip4ConfigDeviceInit (
- IN IP4_CONFIG_INSTANCE *Instance
- )
-{
- EFI_STATUS Status;
- EFI_HII_CONFIG_ACCESS_PROTOCOL *ConfigAccess;
- VENDOR_DEVICE_PATH VendorDeviceNode;
- EFI_SERVICE_BINDING_PROTOCOL *MnpSb;
- CHAR16 *MacString;
- CHAR16 MenuString[128];
- CHAR16 PortString[128];
- CHAR16 *OldMenuString;
-
- ConfigAccess = &Instance->HiiConfigAccessProtocol;
- ConfigAccess->ExtractConfig = Ip4DeviceExtractConfig;
- ConfigAccess->RouteConfig = Ip4DeviceRouteConfig;
- ConfigAccess->Callback = Ip4FormCallback;
-
- //
- // Construct device path node for EFI HII Config Access protocol,
- // which consists of controller physical device path and one hardware
- // vendor guid node.
- //
- ZeroMem (&VendorDeviceNode, sizeof (VENDOR_DEVICE_PATH));
- VendorDeviceNode.Header.Type = HARDWARE_DEVICE_PATH;
- VendorDeviceNode.Header.SubType = HW_VENDOR_DP;
-
- CopyGuid (&VendorDeviceNode.Guid, &gEfiNicIp4ConfigVariableGuid);
-
- SetDevicePathNodeLength (&VendorDeviceNode.Header, sizeof (VENDOR_DEVICE_PATH));
- Instance->HiiVendorDevicePath = AppendDevicePathNode (
- Instance->ParentDevicePath,
- (EFI_DEVICE_PATH_PROTOCOL *) &VendorDeviceNode
- );
-
- Instance->ChildHandle = NULL;
- //
- // Install Device Path Protocol and Config Access protocol on new handle
- //
- Status = gBS->InstallMultipleProtocolInterfaces (
- &Instance->ChildHandle,
- &gEfiDevicePathProtocolGuid,
- Instance->HiiVendorDevicePath,
- &gEfiHiiConfigAccessProtocolGuid,
- ConfigAccess,
- NULL
- );
- if (!EFI_ERROR (Status)) {
- //
- // Open the Parent Handle for the child
- //
- Status = gBS->OpenProtocol (
- Instance->Controller,
- &gEfiManagedNetworkServiceBindingProtocolGuid,
- (VOID **) &MnpSb,
- Instance->Image,
- Instance->ChildHandle,
- EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER
- );
- }
-
- ASSERT_EFI_ERROR (Status);
-
- //
- // Publish our HII data
- //
- Instance->RegisteredHandle = HiiAddPackages (
- &gNicIp4ConfigNvDataGuid,
- Instance->ChildHandle,
- Ip4ConfigDxeStrings,
- Ip4ConfigDxeBin,
- NULL
- );
- if (Instance->RegisteredHandle == NULL) {
- return EFI_OUT_OF_RESOURCES;
- }
-
- //
- // Append MAC string in the menu help string and tile help string
- //
- Status = NetLibGetMacString (Instance->Controller, Instance->Image, &MacString);
- if (!EFI_ERROR (Status)) {
- OldMenuString = HiiGetString (Instance->RegisteredHandle, STRING_TOKEN (STR_IP4_CONFIG_FORM_HELP), NULL);
- UnicodeSPrint (MenuString, 128, L"%s (MAC:%s)", OldMenuString, MacString);
- HiiSetString (Instance->RegisteredHandle, STRING_TOKEN (STR_IP4_CONFIG_FORM_HELP), MenuString, NULL);
-
- UnicodeSPrint (PortString, 128, L"MAC:%s", MacString);
- HiiSetString (Instance->RegisteredHandle, STRING_TOKEN (STR_IP4_DEVICE_FORM_HELP), PortString, NULL);
- FreePool (MacString);
- }
-
- return Status;
-}
-
-/**
- Uninstall HII Config Access protocol for network device and free resource.
-
-
-**/
-EFI_STATUS
-Ip4ConfigDeviceUnload (
- IN IP4_CONFIG_INSTANCE *Instance
- )
-{
- //
- // Remove HII package list
- //
- HiiRemovePackages (Instance->RegisteredHandle);
-
- //
- // Close the child handle
- //
- gBS->CloseProtocol (
- Instance->Controller,
- &gEfiManagedNetworkServiceBindingProtocolGuid,
- Instance->Image,
- Instance->ChildHandle
- );
-
- //
- // Uninstall EFI_HII_CONFIG_ACCESS_PROTOCOL
- //
- gBS->UninstallMultipleProtocolInterfaces (
- Instance->ChildHandle,
- &gEfiDevicePathProtocolGuid,
- Instance->HiiVendorDevicePath,
- &gEfiHiiConfigAccessProtocolGuid,
- &Instance->HiiConfigAccessProtocol,
- NULL
- );
-
- return EFI_SUCCESS;
-}
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h
deleted file mode 100644
index 3b4168e..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h
+++ /dev/null
@@ -1,54 +0,0 @@
- The header file of IP4ConfigNv.c
-
-Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
-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 _IP4_CONFIGNV_H_
-#define _IP4_CONFIGNV_H_
-
-#include "Ip4Config.h"
-#include "Ip4NvData.h"
-
-extern UINT8 Ip4ConfigDxeBin[];
-extern UINT8 Ip4ConfigDxeStrings[];
-
-#define NIC_ITEM_CONFIG_SIZE (sizeof (NIC_IP4_CONFIG_INFO) + (sizeof (EFI_IP4_ROUTE_TABLE) * MAX_IP4_CONFIG_IN_VARIABLE))
-
-
-/**
- Install HII Config Access protocol for network device and allocate resource.
-
-
-**/
-EFI_STATUS
-Ip4ConfigDeviceInit (
- IN IP4_CONFIG_INSTANCE *Instance
- );
-
-/**
- Uninstall HII Config Access protocol for network device and free resource.
-
-
-**/
-EFI_STATUS
-Ip4ConfigDeviceUnload (
- IN IP4_CONFIG_INSTANCE *Instance
- );
-
-#endif
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4NvData.h b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4NvData.h
deleted file mode 100644
index 2a09527..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4NvData.h
+++ /dev/null
@@ -1,48 +0,0 @@
- Routines used to operate the Ip4 configure variable.
-
-Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
-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<BR>
-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 _NIC_IP4_NV_DATA_H_
-#define _NIC_IP4_NV_DATA_H_
-
-#include <Guid/Ip4ConfigHii.h>
-
-#define FORMID_MAIN_FORM 1
-#define FORMID_DEVICE_FORM 2
-
-#define KEY_ENABLE 0x100
-#define KEY_DHCP_ENABLE 0x101
-#define KEY_LOCAL_IP 0x102
-#define KEY_SUBNET_MASK 0x103
-#define KEY_GATE_WAY 0x104
-#define KEY_SAVE_CHANGES 0x105
-
-#define IP_MIN_SIZE 7
-#define IP_MAX_SIZE 15
-#define IP4_STR_MAX_SIZE 16
-
-///
-/// NIC_IP4_CONFIG_INFO contains the IP4 configure
-/// parameters for that NIC. NIC_IP4_CONFIG_INFO is
-/// of variable length.
-///
-typedef struct {
- UINT8 Configure; ///< NIC configure status
- UINT8 DhcpEnable; ///< Static or DHCP
- CHAR16 StationAddress[IP4_STR_MAX_SIZE]; ///< IP addresses
- CHAR16 SubnetMask[IP4_STR_MAX_SIZE]; ///< Subnet address
- CHAR16 GatewayAddress[IP4_STR_MAX_SIZE]; ///< Gateway address
-} IP4_CONFIG_IFR_NVDATA;
-
-#endif
-
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.c b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.c
deleted file mode 100644
index f0e03af..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.c
+++ /dev/null
@@ -1,319 +0,0 @@
- Routines used to operate the Ip4 configure variable.
-
-Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
-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<BR>
-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.
-
-**/
-
-#include "Ip4Config.h"
-#include "NicIp4Variable.h"
-
-BOOLEAN mIp4ConfigVariableReclaimed = FALSE;
-
-/**
- Check whether the configure parameter is valid.
-
-
-
-**/
-BOOLEAN
-Ip4ConfigIsValid (
- IN NIC_IP4_CONFIG_INFO *NicConfig
- )
-{
- EFI_IP4_IPCONFIG_DATA *IpConfig;
- IP4_ADDR Station;
- IP4_ADDR Netmask;
- IP4_ADDR Gateway;
- UINT32 Index;
-
- IpConfig = &NicConfig->Ip4Info;
-
- if (NicConfig->Source == IP4_CONFIG_SOURCE_STATIC) {
- //
- // Validate that the addresses are unicast and mask
- // is properly formated
- //
- Station = EFI_NTOHL (IpConfig->StationAddress);
- Netmask = EFI_NTOHL (IpConfig->SubnetMask);
-
- if ((Netmask == 0) || !IP4_IS_VALID_NETMASK (Netmask) ||
- (Station == 0) || !NetIp4IsUnicast (Station, Netmask)) {
- return FALSE;
- }
-
- //
- // Validate that the next hops are on the connected network
- // or that is a direct route (Gateway == 0).
- //
- for (Index = 0; Index < IpConfig->RouteTableSize; Index++) {
- Gateway = EFI_NTOHL (IpConfig->RouteTable[Index].GatewayAddress);
-
- if ((Gateway != 0) && (!IP4_NET_EQUAL (Station, Gateway, Netmask) ||
- !NetIp4IsUnicast (Gateway, Netmask))) {
- return FALSE;
- }
- }
-
- return TRUE;
- }
-
- //
- // return false if it is an unkown configure source. Valid
- // sources are static and dhcp.
- //
- return (BOOLEAN) (NicConfig->Source == IP4_CONFIG_SOURCE_DHCP);
-}
-
-
-
-/**
- Read the ip4 configure variable from the EFI variable.
-
-
-
-**/
-NIC_IP4_CONFIG_INFO *
-Ip4ConfigReadVariable (
- IN IP4_CONFIG_INSTANCE *Instance
- )
-{
- NIC_IP4_CONFIG_INFO *NicConfig;
-
- GetVariable2 (Instance->MacString, &gEfiNicIp4ConfigVariableGuid, (VOID**)&NicConfig, NULL);
- if (NicConfig != NULL) {
- Ip4ConfigFixRouteTablePointer (&NicConfig->Ip4Info);
- }
-
- return NicConfig;
-}
-
-/**
- Write the IP4 configure variable to the NVRAM. If Config
- is NULL, remove the variable.
-
-
-
-**/
-EFI_STATUS
-Ip4ConfigWriteVariable (
- IN IP4_CONFIG_INSTANCE *Instance,
- IN NIC_IP4_CONFIG_INFO *NicConfig OPTIONAL
- )
-{
- EFI_STATUS Status;
-
- Status = gRT->SetVariable (
- Instance->MacString,
- &gEfiNicIp4ConfigVariableGuid,
- IP4_CONFIG_VARIABLE_ATTRIBUTES,
- (NicConfig == NULL) ? 0 : SIZEOF_NIC_IP4_CONFIG_INFO (NicConfig),
- NicConfig
- );
-
- return Status;
-}
-
-/**
- Check whether a NIC exist in the platform given its MAC address.
-
-
-
-**/
-BOOLEAN
-Ip4ConfigIsNicExist (
- IN NIC_ADDR *NicAddr
- )
-{
- EFI_STATUS Status;
- EFI_HANDLE *HandleBuffer;
- UINTN NumberOfHandles;
- UINTN Index;
- BOOLEAN Found;
- UINTN AddrSize;
- EFI_MAC_ADDRESS MacAddr;
-
- //
- // Locate Service Binding handles.
- //
- Status = gBS->LocateHandleBuffer (
- ByProtocol,
- &gEfiManagedNetworkServiceBindingProtocolGuid,
- NULL,
- &NumberOfHandles,
- &HandleBuffer
- );
- if (EFI_ERROR (Status)) {
- return FALSE;
- }
-
- Found = FALSE;
- for (Index = 0; Index < NumberOfHandles; Index++) {
- //
- // Get MAC address.
- //
- AddrSize = 0;
- Status = NetLibGetMacAddress (HandleBuffer[Index], &MacAddr, &AddrSize);
- if (EFI_ERROR (Status)) {
- Found = FALSE;
- goto Exit;
- }
-
- if ((NicAddr->Len == AddrSize) && (CompareMem (NicAddr->MacAddr.Addr, MacAddr.Addr, AddrSize) == 0)) {
- Found = TRUE;
- goto Exit;
- }
- }
-
- FreePool (HandleBuffer);
- return Found;
-}
-
-/**
- Reclaim Ip4Config Variables for NIC which has been removed from the platform.
-
-**/
-VOID
-Ip4ConfigReclaimVariable (
- VOID
- )
-{
- EFI_STATUS Status;
- UINTN VariableNameSize;
- CHAR16 *VariableName;
- CHAR16 *CurrentVariableName;
- EFI_GUID VendorGuid;
- UINTN VariableNameBufferSize;
- NIC_IP4_CONFIG_INFO *NicConfig;
-
- //
- // Check whether we need perform reclaim.
- //
- if (mIp4ConfigVariableReclaimed) {
- return;
- }
- mIp4ConfigVariableReclaimed = TRUE;
-
- //
- // Get all Ip4Config Variable.
- //
- VariableNameSize = sizeof (CHAR16);
- VariableName = AllocateZeroPool (VariableNameSize);
- VariableNameBufferSize = VariableNameSize;
-
- while (TRUE) {
- Status = gRT->GetNextVariableName (
- &VariableNameSize,
- VariableName,
- &VendorGuid
- );
-
- if (Status == EFI_BUFFER_TOO_SMALL) {
- VariableName = ReallocatePool (VariableNameBufferSize, VariableNameSize, VariableName);
- VariableNameBufferSize = VariableNameSize;
- //
- // Try again using the new buffer.
- //
- Status = gRT->GetNextVariableName (
- &VariableNameSize,
- VariableName,
- &VendorGuid
- );
- }
-
- if (EFI_ERROR (Status)) {
- //
- // No more variable available, finish search.
- //
- break;
- }
-
- //
- // Check variable GUID.
- //
- if (!CompareGuid (&VendorGuid, &gEfiNicIp4ConfigVariableGuid)) {
- continue;
- }
-
- GetVariable2 (VariableName, &gEfiNicIp4ConfigVariableGuid, (VOID**)&NicConfig, NULL);
- if (NicConfig == NULL) {
- break;
- }
-
- if (!Ip4ConfigIsNicExist (&NicConfig->NicAddr)) {
- //
- // No NIC found for this Ip4Config variable, remove it.
- // Since we are in loop of GetNextVariableName(), we need move on to next
- // Variable first and then delete current Variable.
- //
- CurrentVariableName = AllocateCopyPool (VariableNameSize, VariableName);
- Status = gRT->GetNextVariableName (
- &VariableNameSize,
- VariableName,
- &VendorGuid
- );
-
- gRT->SetVariable (
- CurrentVariableName,
- &gEfiNicIp4ConfigVariableGuid,
- IP4_CONFIG_VARIABLE_ATTRIBUTES,
- 0,
- NULL
- );
- FreePool (CurrentVariableName);
-
- //
- // We already get next variable, go to check it.
- //
- goto Check;
- }
- }
-
- FreePool (VariableName);
-}
-
-/**
- Fix the RouteTable pointer in an EFI_IP4_IPCONFIG_DATA structure.
-
- The pointer is set to be immediately follow the ConfigData if there're entries
- in the RouteTable. Otherwise it is set to NULL.
-
-
-**/
-VOID
-Ip4ConfigFixRouteTablePointer (
- IN OUT EFI_IP4_IPCONFIG_DATA *ConfigData
- )
-{
- //
- // The memory used for route table entries must immediately follow
- // the ConfigData and be not packed.
- //
- if (ConfigData->RouteTableSize > 0) {
- ConfigData->RouteTable = (EFI_IP4_ROUTE_TABLE *) (ConfigData + 1);
- } else {
- ConfigData->RouteTable = NULL;
- }
-}
-
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.h b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.h
deleted file mode 100644
index 2f8defe..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.h
+++ /dev/null
@@ -1,104 +0,0 @@
- Routines used to operate the Ip4 configure variable.
-
-Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
-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<BR>
-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 _NIC_IP4_VARIABLE_H_
-#define _NIC_IP4_VARIABLE_H_
-
-//
-// Return the size of NIC_IP4_CONFIG_INFO and EFI_IP4_IPCONFIG_DATA.
-// They are of variable size
-//
-#define SIZEOF_IP4_CONFIG_INFO(Ip4Config) \
- (sizeof (EFI_IP4_IPCONFIG_DATA) + \
- sizeof (EFI_IP4_ROUTE_TABLE) * (Ip4Config)->RouteTableSize)
-
-#define SIZEOF_NIC_IP4_CONFIG_INFO(NicConfig) \
- (sizeof (NIC_IP4_CONFIG_INFO) + \
- sizeof (EFI_IP4_ROUTE_TABLE) * (NicConfig)->Ip4Info.RouteTableSize)
-
-//
-// Compare whether two NIC address are equal includes their type and length.
-//
-#define NIC_ADDR_EQUAL(Nic1, Nic2) \
- (((Nic1)->Type == (Nic2)->Type) && ((Nic1)->Len == (Nic2)->Len) && \
- NET_MAC_EQUAL (&(Nic1)->MacAddr, &(Nic2)->MacAddr, (Nic1)->Len))
-
-/**
- Check whether the configure parameter is valid.
-
-
-
-**/
-BOOLEAN
-Ip4ConfigIsValid (
- IN NIC_IP4_CONFIG_INFO *NicConfig
- );
-
-/**
- Read the ip4 configure variable from the EFI variable.
-
-
-
-**/
-NIC_IP4_CONFIG_INFO *
-Ip4ConfigReadVariable (
- IN IP4_CONFIG_INSTANCE *Instance
- );
-
-/**
- Write the IP4 configure variable to the NVRAM. If Config
- is NULL, remove the variable.
-
-
-
-**/
-EFI_STATUS
-Ip4ConfigWriteVariable (
- IN IP4_CONFIG_INSTANCE *Instance,
- IN NIC_IP4_CONFIG_INFO *NicConfig OPTIONAL
- );
-
-/**
- Reclaim Ip4Config Variables for NIC which has been removed from the platform.
-
-**/
-VOID
-Ip4ConfigReclaimVariable (
- VOID
- );
-
-/**
- Fix the RouteTable pointer in an EFI_IP4_IPCONFIG_DATA structure.
-
- The pointer is set to be immediately follow the ConfigData if there're entries
- in the RouteTable. Otherwise it is set to NULL.
-
-
-**/
-VOID
-Ip4ConfigFixRouteTablePointer (
- IN OUT EFI_IP4_IPCONFIG_DATA *ConfigData
- );
-
-#endif
-
--
1.9.5.msysgit.1
------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
edk2-devel mailing list
https://lists.sourceforge.net/lists/listinfo/edk2-devel
Laszlo Ersek
2015-07-08 12:13:26 UTC
Permalink
comments below
Post by jiaxinwu
Version2 update with a proper commit message.
Contributed-under: TianoCore Contribution Agreement 1.0
---
MdeModulePkg/Include/Guid/Ip4ConfigHii.h | 25 -
MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h | 70 --
MdeModulePkg/MdeModulePkg.dec | 6 -
MdeModulePkg/MdeModulePkg.dsc | 1 -
.../Universal/Network/Ip4ConfigDxe/ComponentName.c | 165 ----
.../Universal/Network/Ip4ConfigDxe/Ip4Config.c | 745 -----------------
.../Universal/Network/Ip4ConfigDxe/Ip4Config.h | 533 ------------
.../Network/Ip4ConfigDxe/Ip4ConfigDriver.c | 505 ------------
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.inf | 91 ---
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.uni | Bin 2700 -> 0 bytes
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr | 89 --
.../Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni | Bin 1366 -> 0 bytes
.../Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni | Bin 3000 -> 0 bytes
.../Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c | 909 ---------------------
.../Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h | 54 --
.../Universal/Network/Ip4ConfigDxe/Ip4NvData.h | 48 --
.../Network/Ip4ConfigDxe/NicIp4Variable.c | 319 --------
.../Network/Ip4ConfigDxe/NicIp4Variable.h | 104 ---
18 files changed, 3664 deletions(-)
delete mode 100644 MdeModulePkg/Include/Guid/Ip4ConfigHii.h
delete mode 100644 MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/ComponentName.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.uni
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4NvData.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.h
Okay, so this patch has again the exact same two problems:
- bad commit message
- ordering error

First, the commit message should justify why removing the driver *at
this exact point* is safe. The reason should be given as:

no platform DSC in the edk2 tree references Ip4ConfigDxe.inf
any longer

Which immediately brings us to the second point, the ordering error.
Assume that the tree is checked out right at this patch. (Which is a
*perfectly* valid assumption.) If someone tried to build OvmfPkg,
ArmVirtPkg, or other packages at that point, the build would fail.
Because, at this point in the series, you remove the driver, but leave
the references in place.

Therefore this patch must be the *last* one in the series, ie. after you
removed the references in all the DSC and FDF files.

Thanks
Laszlo
Wu, Jiaxin
2015-07-08 12:22:25 UTC
Permalink
Thanks all of your comments, I will review those one by one, after that, I will create version3 patch.

Best Regards!
Jiaxin

-----Original Message-----
From: Laszlo Ersek [mailto:***@redhat.com]
Sent: Wednesday, July 8, 2015 8:13 PM
To: Wu, Jiaxin
Cc: edk2-***@lists.sourceforge.net
Subject: Re: [edk2] [PATCH v2 1/7] MdeModulePkg: Remove Ip4ConfigDxe module and related guid definition from MdeModulePkg.

comments below
Post by jiaxinwu
Version2 update with a proper commit message.
Contributed-under: TianoCore Contribution Agreement 1.0
---
MdeModulePkg/Include/Guid/Ip4ConfigHii.h | 25 -
MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h | 70 --
MdeModulePkg/MdeModulePkg.dec | 6 -
MdeModulePkg/MdeModulePkg.dsc | 1 -
.../Universal/Network/Ip4ConfigDxe/ComponentName.c | 165 ----
.../Universal/Network/Ip4ConfigDxe/Ip4Config.c | 745 -----------------
.../Universal/Network/Ip4ConfigDxe/Ip4Config.h | 533 ------------
.../Network/Ip4ConfigDxe/Ip4ConfigDriver.c | 505 ------------
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.inf | 91 ---
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.uni | Bin 2700 -> 0 bytes
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr | 89 --
.../Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni | Bin 1366 -> 0 bytes
.../Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni | Bin 3000 -> 0 bytes
.../Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c | 909 ---------------------
.../Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h | 54 --
.../Universal/Network/Ip4ConfigDxe/Ip4NvData.h | 48 --
.../Network/Ip4ConfigDxe/NicIp4Variable.c | 319 --------
.../Network/Ip4ConfigDxe/NicIp4Variable.h | 104 ---
18 files changed, 3664 deletions(-)
delete mode 100644 MdeModulePkg/Include/Guid/Ip4ConfigHii.h
delete mode 100644 MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/ComponentName.c
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.c
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.h
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.uni
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4NvData.h
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.c
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.h
Okay, so this patch has again the exact same two problems:
- bad commit message
- ordering error

First, the commit message should justify why removing the driver *at this exact point* is safe. The reason should be given as:

no platform DSC in the edk2 tree references Ip4ConfigDxe.inf
any longer

Which immediately brings us to the second point, the ordering error.
Assume that the tree is checked out right at this patch. (Which is a
*perfectly* valid assumption.) If someone tried to build OvmfPkg, ArmVirtPkg, or other packages at that point, the build would fail.
Because, at this point in the series, you remove the driver, but leave the references in place.

Therefore this patch must be the *last* one in the series, ie. after you removed the references in all the DSC and FDF files.

Thanks
Laszlo
jiaxinwu
2015-07-08 06:24:32 UTC
Permalink
Version2 update with a proper commit message.

Cc: Olivier Martin <***@arm.com>
Cc: Leif Lindholm <***@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: jiaxinwu <***@intel.com>
---
ArmPlatformPkg/ArmJunoPkg/ArmJuno.fdf | 1 -
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA15-A7.fdf | 1 -
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.fdf | 1 -
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf | 1 -
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.fdf | 1 -
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc | 1 -
6 files changed, 6 deletions(-)

diff --git a/ArmPlatformPkg/ArmJunoPkg/ArmJuno.fdf b/ArmPlatformPkg/ArmJunoPkg/ArmJuno.fdf
index 5c15fda..9a0de9a 100644
--- a/ArmPlatformPkg/ArmJunoPkg/ArmJuno.fdf
+++ b/ArmPlatformPkg/ArmJunoPkg/ArmJuno.fdf
@@ -173,11 +173,10 @@ READ_LOCK_STATUS = TRUE
# Networking stack
#
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA15-A7.fdf b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA15-A7.fdf
index 893fb86..1e91734 100644
--- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA15-A7.fdf
+++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA15-A7.fdf
@@ -147,11 +147,10 @@ READ_LOCK_STATUS = TRUE
# Networking stack
#
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.fdf b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.fdf
index 6ee0b06..b80db3c 100644
--- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.fdf
+++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.fdf
@@ -216,11 +216,10 @@ READ_LOCK_STATUS = TRUE
# Networking stack
#
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf
index 8994196..4301e23 100644
--- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf
+++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf
@@ -137,11 +137,10 @@ READ_LOCK_STATUS = TRUE
# Networking stack
#
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.fdf b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.fdf
index 3d54f9a..515d8f4 100644
--- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.fdf
+++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.fdf
@@ -137,11 +137,10 @@ READ_LOCK_STATUS = TRUE
# Networking stack
#
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc
index 4d8adcc..52cda29 100644
--- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc
+++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc
@@ -403,11 +403,10 @@
# Networking stack
#
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
--
1.9.5.msysgit.1
Olivier Martin
2015-07-08 10:42:39 UTC
Permalink
Same comment as Ard...

At least, it would be nice to see " Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol, which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver."

-----Original Message-----
From: jiaxinwu [mailto:***@intel.com]
Sent: 08 July 2015 07:25
To: edk2-***@lists.sourceforge.net
Cc: Olivier Martin; Leif Lindholm
Subject: [PATCH v2 4/7] ArmPlatformPkg: Remove Ip4ConfigDxe module from ArmPlatformPkg.

Version2 update with a proper commit message.

Cc: Olivier Martin <***@arm.com>
Cc: Leif Lindholm <***@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: jiaxinwu <***@intel.com>
---
ArmPlatformPkg/ArmJunoPkg/ArmJuno.fdf | 1 -
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA15-A7.fdf | 1 -
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.fdf | 1 -
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf | 1 -
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.fdf | 1 -
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc | 1 -
6 files changed, 6 deletions(-)

diff --git a/ArmPlatformPkg/ArmJunoPkg/ArmJuno.fdf b/ArmPlatformPkg/ArmJunoPkg/ArmJuno.fdf
index 5c15fda..9a0de9a 100644
--- a/ArmPlatformPkg/ArmJunoPkg/ArmJuno.fdf
+++ b/ArmPlatformPkg/ArmJunoPkg/ArmJuno.fdf
@@ -173,11 +173,10 @@ READ_LOCK_STATUS = TRUE
# Networking stack
#
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA15-A7.fdf b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA15-A7.fdf
index 893fb86..1e91734 100644
--- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA15-A7.fdf
+++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA15-A7.fdf
@@ -147,11 +147,10 @@ READ_LOCK_STATUS = TRUE
# Networking stack
#
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.fdf b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.fdf
index 6ee0b06..b80db3c 100644
--- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.fdf
+++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.fdf
@@ -216,11 +216,10 @@ READ_LOCK_STATUS = TRUE
# Networking stack
#
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf
index 8994196..4301e23 100644
--- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf
+++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf
@@ -137,11 +137,10 @@ READ_LOCK_STATUS = TRUE
# Networking stack
#
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.fdf b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.fdf
index 3d54f9a..515d8f4 100644
--- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.fdf
+++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.fdf
@@ -137,11 +137,10 @@ READ_LOCK_STATUS = TRUE
# Networking stack
#
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc
index 4d8adcc..52cda29 100644
--- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc
+++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc
@@ -403,11 +403,10 @@
# Networking stack
#
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
--
1.9.5.msysgit.1


-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590
ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
jiaxinwu
2015-07-08 06:24:34 UTC
Permalink
Version2 update with a proper commit message.

Cc: Jordan Justen <***@intel.com>
Cc: Andrew Fish <***@apple.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: jiaxinwu <***@intel.com>
---
EmulatorPkg/EmulatorPkg.dsc | 1 -
EmulatorPkg/EmulatorPkg.fdf | 3 +--
2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/EmulatorPkg/EmulatorPkg.dsc b/EmulatorPkg/EmulatorPkg.dsc
index b16fcac..e0c6161 100644
--- a/EmulatorPkg/EmulatorPkg.dsc
+++ b/EmulatorPkg/EmulatorPkg.dsc
@@ -355,11 +355,10 @@
# Network stack drivers
#
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/EmulatorPkg/EmulatorPkg.fdf b/EmulatorPkg/EmulatorPkg.fdf
index 83b1de6..a002389 100644
--- a/EmulatorPkg/EmulatorPkg.fdf
+++ b/EmulatorPkg/EmulatorPkg.fdf
@@ -1,9 +1,9 @@
## @file
# This is Emulator FDF file with UEFI HII features enabled
#
-# Copyright (c) 2008 - 2013, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2008 - 2015, Intel Corporation. All rights reserved.<BR>
# Portions copyright (c) 2009 - 2011, Apple Inc. All rights reserved.<BR>
#
# 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
@@ -194,11 +194,10 @@ INF MdeModulePkg/Application/HelloWorld/HelloWorld.inf
INF EmulatorPkg/EmuSnpDxe/EmuSnpDxe.inf
!endif
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
-INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
--
1.9.5.msysgit.1
jiaxinwu
2015-07-08 06:24:35 UTC
Permalink
Version2 update with a proper commit message.

Cc: David Wei <***@intel.com>
Cc: Tim He <***@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: jiaxinwu <***@intel.com>
---
Vlv2TbltDevicePkg/PlatformPkg.fdf | 1 -
Vlv2TbltDevicePkg/PlatformPkgGcc.fdf | 1 -
Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc | 1 -
Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 1 -
Vlv2TbltDevicePkg/PlatformPkgX64.dsc | 1 -
5 files changed, 5 deletions(-)

diff --git a/Vlv2TbltDevicePkg/PlatformPkg.fdf b/Vlv2TbltDevicePkg/PlatformPkg.fdf
index 10071e1..80ce20d 100644
--- a/Vlv2TbltDevicePkg/PlatformPkg.fdf
+++ b/Vlv2TbltDevicePkg/PlatformPkg.fdf
@@ -686,11 +686,10 @@ FILE FREEFORM = 878AC2CC-5343-46F2-B563-51F89DAF56BA {
INF MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
!if $(NETWORK_IP6_ENABLE) == TRUE
INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf
diff --git a/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf b/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf
index 53f0bc0..f556853 100644
--- a/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf
+++ b/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf
@@ -644,11 +644,10 @@ FILE FREEFORM = 878AC2CC-5343-46F2-B563-51F89DAF56BA {
INF MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
!if $(NETWORK_IP6_ENABLE) == TRUE
INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf
diff --git a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc b/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc
index ea65eb9..45008a0 100644
--- a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc
+++ b/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc
@@ -1485,11 +1485,10 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf
MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf

MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf {
<PcdsPatchableInModule>
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
diff --git a/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc b/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
index d4ed8f2..39054cf 100644
--- a/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
+++ b/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
@@ -1475,11 +1475,10 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf
MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf

MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf {
<PcdsPatchableInModule>
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
diff --git a/Vlv2TbltDevicePkg/PlatformPkgX64.dsc b/Vlv2TbltDevicePkg/PlatformPkgX64.dsc
index 64378a0..4e0a9f8 100644
--- a/Vlv2TbltDevicePkg/PlatformPkgX64.dsc
+++ b/Vlv2TbltDevicePkg/PlatformPkgX64.dsc
@@ -1472,11 +1472,10 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf
MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf

MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf {
<PcdsPatchableInModule>
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
--
1.9.5.msysgit.1
Ryan Harkin
2015-07-08 06:43:39 UTC
Permalink
Thanks for updating, but perhaps I am reading the wrong thing. I don't see
a commit message in any of the v2 patches describing what you are doing,
like in your previous message on this thread.

Also, you've added "CC: <someone>" to the commit message, but you haven't
actually CC'd the maintainers in question. So they might miss your change.
Post by jiaxinwu
Version2 update with a proper commit message.
Those patches are used to remove Ip4ConfigDxe module and related guid
definitions from related packages.
Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support
original Ip4Config Protocol, which is replace by Ip4Config2 Protocol
integrated in Ip4Dxe driver.
Related packages(MdeModulePkg, Nt32Pkg, ArmPlatformPkg, ArmVirtPkg,
EmulatorPkg, OvmfPkg, Vlv2TbltDevicePkg) need to remove Ip4ConfigDxe module
and related guid definitions.
MdeModulePkg: Remove Ip4ConfigDxe module and related guid definition
from MdeModulePkg.
Nt32Pkg: Remove Ip4ConfigDxe module from Nt32Pkg.
OvmfPkg: Remove Ip4ConfigDxe module from OvmfPkg.
ArmPlatformPkg: Remove Ip4ConfigDxe module from ArmPlatformPkg.
ArmVirtPkg: Remove Ip4ConfigDxe module from ArmVirtPkg.
EmulatorPkg: Remove Ip4ConfigDxe module from EmulatorPkg.
Vlv2TbltDevicePkg: Remove Ip4ConfigDxe module from Vlv2TbltDevicePkg.
ArmPlatformPkg/ArmJunoPkg/ArmJuno.fdf | 1 -
.../ArmVExpressPkg/ArmVExpress-CTA15-A7.fdf | 1 -
.../ArmVExpressPkg/ArmVExpress-CTA9x4.fdf | 1 -
.../ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf | 1 -
.../ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.fdf | 1 -
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc | 1 -
ArmVirtPkg/ArmVirt.dsc.inc | 1 -
ArmVirtPkg/ArmVirtQemu.fdf | 1 -
EmulatorPkg/EmulatorPkg.dsc | 1 -
EmulatorPkg/EmulatorPkg.fdf | 3 +-
MdeModulePkg/Include/Guid/Ip4ConfigHii.h | 25 -
MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h | 70 --
MdeModulePkg/MdeModulePkg.dec | 6 -
MdeModulePkg/MdeModulePkg.dsc | 1 -
.../Universal/Network/Ip4ConfigDxe/ComponentName.c | 165 ----
.../Universal/Network/Ip4ConfigDxe/Ip4Config.c | 745 -----------------
.../Universal/Network/Ip4ConfigDxe/Ip4Config.h | 533 ------------
.../Network/Ip4ConfigDxe/Ip4ConfigDriver.c | 505 ------------
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.inf | 91 ---
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.uni | Bin 2700 -> 0 bytes
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr | 89 --
.../Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni | Bin 1366 -> 0 bytes
.../Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni | Bin 3000 -> 0 bytes
.../Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c | 909
---------------------
.../Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h | 54 --
.../Universal/Network/Ip4ConfigDxe/Ip4NvData.h | 48 --
.../Network/Ip4ConfigDxe/NicIp4Variable.c | 319 --------
.../Network/Ip4ConfigDxe/NicIp4Variable.h | 104 ---
Nt32Pkg/Nt32Pkg.dsc | 1 -
Nt32Pkg/Nt32Pkg.fdf | 1 -
OvmfPkg/OvmfPkgIa32.dsc | 1 -
OvmfPkg/OvmfPkgIa32.fdf | 1 -
OvmfPkg/OvmfPkgIa32X64.dsc | 1 -
OvmfPkg/OvmfPkgIa32X64.fdf | 1 -
OvmfPkg/OvmfPkgX64.dsc | 1 -
OvmfPkg/OvmfPkgX64.fdf | 1 -
Vlv2TbltDevicePkg/PlatformPkg.fdf | 1 -
Vlv2TbltDevicePkg/PlatformPkgGcc.fdf | 1 -
Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc | 1 -
Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 1 -
Vlv2TbltDevicePkg/PlatformPkgX64.dsc | 1 -
41 files changed, 1 insertion(+), 3688 deletions(-)
delete mode 100644 MdeModulePkg/Include/Guid/Ip4ConfigHii.h
delete mode 100644 MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/ComponentName.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.h
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.uni
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4NvData.h
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.c
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.h
--
1.9.5.msysgit.1
------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
edk2-devel mailing list
https://lists.sourceforge.net/lists/listinfo/edk2-devel
Wu, Jiaxin
2015-07-08 07:21:31 UTC
Permalink
For question1: I have really add the commit message in v2 patches(highlight below). Did I misunderstand?
For question2: Maybe the cc part maintainers in commit message will be ignored by edk2-devel if the maintainers already in edk2-devel mailing list. If so, we need to specify the maintainers with “--to xxx” in git bash.


From: Ryan Harkin [mailto:***@linaro.org]
Sent: Wednesday, July 8, 2015 2:44 PM
To: edk2-***@lists.sourceforge.net
Subject: Re: [edk2] [PATCH v2 0/7] Remove Ip4ConfigDxe module and related guid definitions from related packages.

Thanks for updating, but perhaps I am reading the wrong thing. I don't see a commit message in any of the v2 patches describing what you are doing, like in your previous message on this thread.
Also, you've added "CC: <someone>" to the commit message, but you haven't actually CC'd the maintainers in question. So they might miss your change.

On 8 July 2015 at 07:24, jiaxinwu <***@intel.com<mailto:***@intel.com>> wrote:
Version2 update with a proper commit message.
Those patches are used to remove Ip4ConfigDxe module and related guid definitions from related packages.
Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol, which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver.
Related packages(MdeModulePkg, Nt32Pkg, ArmPlatformPkg, ArmVirtPkg, EmulatorPkg, OvmfPkg, Vlv2TbltDevicePkg) need to remove Ip4ConfigDxe module and related guid definitions.

jiaxinwu (7):
MdeModulePkg: Remove Ip4ConfigDxe module and related guid definition
from MdeModulePkg.
Nt32Pkg: Remove Ip4ConfigDxe module from Nt32Pkg.
OvmfPkg: Remove Ip4ConfigDxe module from OvmfPkg.
ArmPlatformPkg: Remove Ip4ConfigDxe module from ArmPlatformPkg.
ArmVirtPkg: Remove Ip4ConfigDxe module from ArmVirtPkg.
EmulatorPkg: Remove Ip4ConfigDxe module from EmulatorPkg.
Vlv2TbltDevicePkg: Remove Ip4ConfigDxe module from Vlv2TbltDevicePkg.

ArmPlatformPkg/ArmJunoPkg/ArmJuno.fdf | 1 -
.../ArmVExpressPkg/ArmVExpress-CTA15-A7.fdf | 1 -
.../ArmVExpressPkg/ArmVExpress-CTA9x4.fdf | 1 -
.../ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf | 1 -
.../ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.fdf | 1 -
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc | 1 -
ArmVirtPkg/ArmVirt.dsc.inc | 1 -
ArmVirtPkg/ArmVirtQemu.fdf | 1 -
EmulatorPkg/EmulatorPkg.dsc | 1 -
EmulatorPkg/EmulatorPkg.fdf | 3 +-
MdeModulePkg/Include/Guid/Ip4ConfigHii.h | 25 -
MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h | 70 --
MdeModulePkg/MdeModulePkg.dec | 6 -
MdeModulePkg/MdeModulePkg.dsc | 1 -
.../Universal/Network/Ip4ConfigDxe/ComponentName.c | 165 ----
.../Universal/Network/Ip4ConfigDxe/Ip4Config.c | 745 -----------------
.../Universal/Network/Ip4ConfigDxe/Ip4Config.h | 533 ------------
.../Network/Ip4ConfigDxe/Ip4ConfigDriver.c | 505 ------------
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.inf | 91 ---
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.uni | Bin 2700 -> 0 bytes
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr | 89 --
.../Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni | Bin 1366 -> 0 bytes
.../Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni | Bin 3000 -> 0 bytes
.../Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c | 909 ---------------------
.../Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h | 54 --
.../Universal/Network/Ip4ConfigDxe/Ip4NvData.h | 48 --
.../Network/Ip4ConfigDxe/NicIp4Variable.c | 319 --------
.../Network/Ip4ConfigDxe/NicIp4Variable.h | 104 ---
Nt32Pkg/Nt32Pkg.dsc | 1 -
Nt32Pkg/Nt32Pkg.fdf | 1 -
OvmfPkg/OvmfPkgIa32.dsc | 1 -
OvmfPkg/OvmfPkgIa32.fdf | 1 -
OvmfPkg/OvmfPkgIa32X64.dsc | 1 -
OvmfPkg/OvmfPkgIa32X64.fdf | 1 -
OvmfPkg/OvmfPkgX64.dsc | 1 -
OvmfPkg/OvmfPkgX64.fdf | 1 -
Vlv2TbltDevicePkg/PlatformPkg.fdf | 1 -
Vlv2TbltDevicePkg/PlatformPkgGcc.fdf | 1 -
Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc | 1 -
Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 1 -
Vlv2TbltDevicePkg/PlatformPkgX64.dsc | 1 -
41 files changed, 1 insertion(+), 3688 deletions(-)
delete mode 100644 MdeModulePkg/Include/Guid/Ip4ConfigHii.h
delete mode 100644 MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/ComponentName.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.uni
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4NvData.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.h
--
1.9.5.msysgit.1


------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
edk2-devel mailing list
edk2-***@lists.sourceforge.net<mailto:edk2-***@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/edk2-devel
Laszlo Ersek
2015-07-08 12:05:56 UTC
Permalink
Post by Wu, Jiaxin
For question1: I have really add the commit message in v2
patches(highlight below). Did I misunderstand?
You added a description to the cover letter (email 0/7), but whatever
you write there will never reach the repo commit log, because the 0/7
email (the cover letter) is not a *patch*, therefore it cannot be committed.

As I said for v3, if you perform the same update for N separate
top-level packages, then the reasoning needs to be spelled out N times,
separately. Someone might run

git log -- OvmfPkg/

and the output will contain only patches (commit messages) that overlap
with OvmfPkg/. For that reason the full explanation should be available
in the OvmfPkg-specific (and all the other pkg-specific) patches too.
Post by Wu, Jiaxin
For question2: Maybe the cc part maintainers in commit message will be
ignored by edk2-devel if the maintainers already in edk2-devel mailing
list.
That's correct, yes -- unfortunately, the edk2-mailing list has crazy
settings. If you send an email To: the list, and Cc: a maintainer, but
the maintainer is also subscribed, then emails *reflected* from the list
server will drop the Cc: header.

That is a terrible practice, because followups posted to the *reflected*
message will have no chance to Cc: the maintainer!
Post by Wu, Jiaxin
If so, we need to specify the maintainers with “--to xxx” in git bash.
Don't bother, I think your posting was fine (I received personal copies
in my INBOX); it's just that edk2-devel is beyond repair. (I hope the
new list will get this right.)

Thanks
Laszlo
Post by Wu, Jiaxin
*Sent:* Wednesday, July 8, 2015 2:44 PM
*Subject:* Re: [edk2] [PATCH v2 0/7] Remove Ip4ConfigDxe module and
related guid definitions from related packages.
Thanks for updating, but perhaps I am reading the wrong thing. I don't
see a commit message in any of the v2 patches describing what you are
doing, like in your previous message on this thread.
Also, you've added "CC: <someone>" to the commit message, but you
haven't actually CC'd the maintainers in question. So they might miss
your change.
Version2 update with a proper commit message.
Those patches are used to remove Ip4ConfigDxe module and related
guid definitions from related packages.
Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not
support original Ip4Config Protocol, which is replace by Ip4Config2
Protocol integrated in Ip4Dxe driver.
Related packages(MdeModulePkg, Nt32Pkg, ArmPlatformPkg, ArmVirtPkg,
EmulatorPkg, OvmfPkg, Vlv2TbltDevicePkg) need to remove Ip4ConfigDxe
module and related guid definitions.
MdeModulePkg: Remove Ip4ConfigDxe module and related guid definition
from MdeModulePkg.
Nt32Pkg: Remove Ip4ConfigDxe module from Nt32Pkg.
OvmfPkg: Remove Ip4ConfigDxe module from OvmfPkg.
ArmPlatformPkg: Remove Ip4ConfigDxe module from ArmPlatformPkg.
ArmVirtPkg: Remove Ip4ConfigDxe module from ArmVirtPkg.
EmulatorPkg: Remove Ip4ConfigDxe module from EmulatorPkg.
Vlv2TbltDevicePkg: Remove Ip4ConfigDxe module from Vlv2TbltDevicePkg.
ArmPlatformPkg/ArmJunoPkg/ArmJuno.fdf | 1 -
.../ArmVExpressPkg/ArmVExpress-CTA15-A7.fdf | 1 -
.../ArmVExpressPkg/ArmVExpress-CTA9x4.fdf | 1 -
.../ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf | 1 -
.../ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.fdf | 1 -
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc | 1 -
ArmVirtPkg/ArmVirt.dsc.inc | 1 -
ArmVirtPkg/ArmVirtQemu.fdf | 1 -
EmulatorPkg/EmulatorPkg.dsc | 1 -
EmulatorPkg/EmulatorPkg.fdf | 3 +-
MdeModulePkg/Include/Guid/Ip4ConfigHii.h | 25 -
MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h | 70 --
MdeModulePkg/MdeModulePkg.dec | 6 -
MdeModulePkg/MdeModulePkg.dsc | 1 -
.../Universal/Network/Ip4ConfigDxe/ComponentName.c | 165 ----
.../Universal/Network/Ip4ConfigDxe/Ip4Config.c | 745
-----------------
.../Universal/Network/Ip4ConfigDxe/Ip4Config.h | 533 ------------
.../Network/Ip4ConfigDxe/Ip4ConfigDriver.c | 505 ------------
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.inf | 91 ---
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.uni | Bin 2700 -> 0 bytes
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr | 89 --
.../Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni | Bin 1366 -> 0 bytes
.../Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni | Bin 3000 -> 0 bytes
.../Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c | 909
---------------------
.../Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h | 54 --
.../Universal/Network/Ip4ConfigDxe/Ip4NvData.h | 48 --
.../Network/Ip4ConfigDxe/NicIp4Variable.c | 319 --------
.../Network/Ip4ConfigDxe/NicIp4Variable.h | 104 ---
Nt32Pkg/Nt32Pkg.dsc | 1 -
Nt32Pkg/Nt32Pkg.fdf | 1 -
OvmfPkg/OvmfPkgIa32.dsc | 1 -
OvmfPkg/OvmfPkgIa32.fdf | 1 -
OvmfPkg/OvmfPkgIa32X64.dsc | 1 -
OvmfPkg/OvmfPkgIa32X64.fdf | 1 -
OvmfPkg/OvmfPkgX64.dsc | 1 -
OvmfPkg/OvmfPkgX64.fdf | 1 -
Vlv2TbltDevicePkg/PlatformPkg.fdf | 1 -
Vlv2TbltDevicePkg/PlatformPkgGcc.fdf | 1 -
Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc | 1 -
Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 1 -
Vlv2TbltDevicePkg/PlatformPkgX64.dsc | 1 -
41 files changed, 1 insertion(+), 3688 deletions(-)
delete mode 100644 MdeModulePkg/Include/Guid/Ip4ConfigHii.h
delete mode 100644 MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/ComponentName.c
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.c
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.h
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.uni
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4NvData.h
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.c
delete mode 100644
MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.h
--
1.9.5.msysgit.1
------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
edk2-devel mailing list
https://lists.sourceforge.net/lists/listinfo/edk2-devel
------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
edk2-devel mailing list
https://lists.sourceforge.net/lists/listinfo/edk2-devel
Jiaxin Wu
2015-07-09 07:24:07 UTC
Permalink
Version3 continue to update with a proper commit message and the ordering for those series patches.

Those patches are used to remove Ip4ConfigDxe module and related guid definitions from related packages.

Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol, which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).Therefore we can remove Ip4ConfigDxe driver from related packages.

Dependent network drivers, libraries and applications have been migrated to (or extended to) the new protocol version.
For example:
git 7c25b7ea (SVN r17869): ping & ifconfig
git 00a6ad1b (SVN r17870): UefiHandleParsingLib
git 6c5c70d6 (SVN r17873): DxeNetLib
git 39561686 (SVN r17874): IpSecDxe
git c581e503 (SVN r17875): EfiSocketLib

Jiaxin Wu (7):
ArmPlatformPkg: Remove Ip4ConfigDxe from ArmPlatformPkg
ArmVirtPkg: Remove Ip4ConfigDxe module from ArmVirtPkg
EmulatorPkg: Remove Ip4ConfigDxe module from EmulatorPkg
Nt32Pkg: Remove Ip4ConfigDxe module from Nt32Pkg
OvmfPkg: Remove Ip4ConfigDxe module from OvmfPkg
Vlv2TbltDevicePkg: Remove Ip4ConfigDxe module from build
MdeModulePkg: Remove Ip4ConfigDxe and related guid definition

ArmPlatformPkg/ArmJunoPkg/ArmJuno.fdf | 1 -
.../ArmVExpressPkg/ArmVExpress-CTA15-A7.fdf | 1 -
.../ArmVExpressPkg/ArmVExpress-CTA9x4.fdf | 1 -
.../ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf | 1 -
.../ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.fdf | 1 -
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc | 1 -
ArmVirtPkg/ArmVirt.dsc.inc | 1 -
ArmVirtPkg/ArmVirtQemu.fdf | 1 -
EmulatorPkg/EmulatorPkg.dsc | 1 -
EmulatorPkg/EmulatorPkg.fdf | 3 +-
MdeModulePkg/Include/Guid/Ip4ConfigHii.h | 25 -
MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h | 70 --
MdeModulePkg/MdeModulePkg.dec | 6 -
MdeModulePkg/MdeModulePkg.dsc | 1 -
.../Universal/Network/Ip4ConfigDxe/ComponentName.c | 165 ----
.../Universal/Network/Ip4ConfigDxe/Ip4Config.c | 745 -----------------
.../Universal/Network/Ip4ConfigDxe/Ip4Config.h | 533 ------------
.../Network/Ip4ConfigDxe/Ip4ConfigDriver.c | 505 ------------
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.inf | 91 ---
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.uni | Bin 2700 -> 0 bytes
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr | 89 --
.../Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni | Bin 1366 -> 0 bytes
.../Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni | Bin 3000 -> 0 bytes
.../Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c | 909 ---------------------
.../Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h | 54 --
.../Universal/Network/Ip4ConfigDxe/Ip4NvData.h | 48 --
.../Network/Ip4ConfigDxe/NicIp4Variable.c | 319 --------
.../Network/Ip4ConfigDxe/NicIp4Variable.h | 104 ---
Nt32Pkg/Nt32Pkg.dsc | 1 -
Nt32Pkg/Nt32Pkg.fdf | 1 -
OvmfPkg/OvmfPkgIa32.dsc | 1 -
OvmfPkg/OvmfPkgIa32.fdf | 1 -
OvmfPkg/OvmfPkgIa32X64.dsc | 1 -
OvmfPkg/OvmfPkgIa32X64.fdf | 1 -
OvmfPkg/OvmfPkgX64.dsc | 1 -
OvmfPkg/OvmfPkgX64.fdf | 1 -
Vlv2TbltDevicePkg/PlatformPkg.fdf | 1 -
Vlv2TbltDevicePkg/PlatformPkgGcc.fdf | 1 -
Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc | 1 -
Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 1 -
Vlv2TbltDevicePkg/PlatformPkgX64.dsc | 1 -
41 files changed, 1 insertion(+), 3688 deletions(-)
delete mode 100644 MdeModulePkg/Include/Guid/Ip4ConfigHii.h
delete mode 100644 MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/ComponentName.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.uni
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4NvData.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.h
--
1.9.5.msysgit.1
Jiaxin Wu
2015-07-09 07:24:34 UTC
Permalink
Version3 continue to update with a proper commit message.
Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol, which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).Therefore we can remove Ip4ConfigDxe driver from this build.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <***@intel.com>
---
EmulatorPkg/EmulatorPkg.dsc | 1 -
EmulatorPkg/EmulatorPkg.fdf | 3 +--
2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/EmulatorPkg/EmulatorPkg.dsc b/EmulatorPkg/EmulatorPkg.dsc
index b16fcac..e0c6161 100644
--- a/EmulatorPkg/EmulatorPkg.dsc
+++ b/EmulatorPkg/EmulatorPkg.dsc
@@ -355,11 +355,10 @@
# Network stack drivers
#
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/EmulatorPkg/EmulatorPkg.fdf b/EmulatorPkg/EmulatorPkg.fdf
index 83b1de6..a002389 100644
--- a/EmulatorPkg/EmulatorPkg.fdf
+++ b/EmulatorPkg/EmulatorPkg.fdf
@@ -1,9 +1,9 @@
## @file
# This is Emulator FDF file with UEFI HII features enabled
#
-# Copyright (c) 2008 - 2013, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2008 - 2015, Intel Corporation. All rights reserved.<BR>
# Portions copyright (c) 2009 - 2011, Apple Inc. All rights reserved.<BR>
#
# 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
@@ -194,11 +194,10 @@ INF MdeModulePkg/Application/HelloWorld/HelloWorld.inf
INF EmulatorPkg/EmuSnpDxe/EmuSnpDxe.inf
!endif
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
-INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
--
1.9.5.msysgit.1
Ye, Ting
2015-07-10 05:18:21 UTC
Permalink
Reviewed-by: Ye Ting <***@intel.com>


-----Original Message-----
From: Jiaxin Wu [mailto:***@intel.com]
Sent: Thursday, July 09, 2015 3:25 PM
To: edk2-***@lists.sourceforge.net; Justen, Jordan L; ***@apple.com
Subject: [edk2] [PATCH v3 3/7] EmulatorPkg: Remove Ip4ConfigDxe module from EmulatorPkg

Version3 continue to update with a proper commit message.
Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol, which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).Therefore we can remove Ip4ConfigDxe driver from this build.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <***@intel.com>
---
EmulatorPkg/EmulatorPkg.dsc | 1 -
EmulatorPkg/EmulatorPkg.fdf | 3 +--
2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/EmulatorPkg/EmulatorPkg.dsc b/EmulatorPkg/EmulatorPkg.dsc
index b16fcac..e0c6161 100644
--- a/EmulatorPkg/EmulatorPkg.dsc
+++ b/EmulatorPkg/EmulatorPkg.dsc
@@ -355,11 +355,10 @@
# Network stack drivers
#
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/EmulatorPkg/EmulatorPkg.fdf b/EmulatorPkg/EmulatorPkg.fdf
index 83b1de6..a002389 100644
--- a/EmulatorPkg/EmulatorPkg.fdf
+++ b/EmulatorPkg/EmulatorPkg.fdf
@@ -1,9 +1,9 @@
## @file
# This is Emulator FDF file with UEFI HII features enabled
#
-# Copyright (c) 2008 - 2013, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2008 - 2015, Intel Corporation. All rights reserved.<BR>
# Portions copyright (c) 2009 - 2011, Apple Inc. All rights reserved.<BR>
#
# 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
@@ -194,11 +194,10 @@ INF MdeModulePkg/Application/HelloWorld/HelloWorld.inf
INF EmulatorPkg/EmuSnpDxe/EmuSnpDxe.inf
!endif
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
-INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
--
1.9.5.msysgit.1


------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
edk2-devel mailing list
edk2-***@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel
Jordan Justen
2015-07-10 06:47:56 UTC
Permalink
When you send new versions of the patch series, can you not reply to
the previous version? Then discussions for each version of the series
can happen separately. (It also makes v3 get a little hidden in the
old v1/v2 emails.)
Post by Jiaxin Wu
Version3 continue to update with a proper commit message.
I guess you don't agree with my suggested format?

v3:
* Update with a proper commit message
Post by Jiaxin Wu
Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol, which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).Therefore we can remove Ip4ConfigDxe driver from this build.
This commit message line is too long:

https://github.com/tianocore/tianocore.github.io/wiki/Commit-Message-Format
Post by Jiaxin Wu
Contributed-under: TianoCore Contribution Agreement 1.0
I guess you Cc'd Andrew and I manually?

If you add "Cc: Jordan Justen <***@intel.com>" to the
commit message, then git send-email will automatically add the Cc's
when sending the email. It can save a lot of time when you have
multiple versions of the patch series.

Anyway, I guess with the long commit message lines fixed, then patches
Post by Jiaxin Wu
---
EmulatorPkg/EmulatorPkg.dsc | 1 -
EmulatorPkg/EmulatorPkg.fdf | 3 +--
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/EmulatorPkg/EmulatorPkg.dsc b/EmulatorPkg/EmulatorPkg.dsc
index b16fcac..e0c6161 100644
--- a/EmulatorPkg/EmulatorPkg.dsc
+++ b/EmulatorPkg/EmulatorPkg.dsc
@@ -355,11 +355,10 @@
# Network stack drivers
#
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/EmulatorPkg/EmulatorPkg.fdf b/EmulatorPkg/EmulatorPkg.fdf
index 83b1de6..a002389 100644
--- a/EmulatorPkg/EmulatorPkg.fdf
+++ b/EmulatorPkg/EmulatorPkg.fdf
@@ -1,9 +1,9 @@
# This is Emulator FDF file with UEFI HII features enabled
#
-# Copyright (c) 2008 - 2013, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2008 - 2015, Intel Corporation. All rights reserved.<BR>
# Portions copyright (c) 2009 - 2011, Apple Inc. All rights reserved.<BR>
#
# 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
@@ -194,11 +194,10 @@ INF MdeModulePkg/Application/HelloWorld/HelloWorld.inf
INF EmulatorPkg/EmuSnpDxe/EmuSnpDxe.inf
!endif
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
-INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
--
1.9.5.msysgit.1
Wu, Jiaxin
2015-07-10 07:29:18 UTC
Permalink
I agree your suggested format absolutely. Sorry for my missing any attention.

I'm not "Cc" any maintainer manually. We should know that the Cc part maintainers in commit message will be ignored by edk2-devel if the maintainers already in edk2-devel mailing list. So, if we want to send out the patch to someone personally, we must need to specify the maintainers with “--to xxx” in git bash. Fortunately for git, it support the script format, which also can help us save a lot of time when have multiple versions of the patch series.

Thanks.
Jiaxin

-----Original Message-----
From: Justen, Jordan L
Sent: Friday, July 10, 2015 2:48 PM
To: Wu, Jiaxin; edk2-***@lists.sourceforge.net; ***@apple.com
Subject: Re: [PATCH v3 3/7] EmulatorPkg: Remove Ip4ConfigDxe module from EmulatorPkg

When you send new versions of the patch series, can you not reply to the previous version? Then discussions for each version of the series can happen separately. (It also makes v3 get a little hidden in the old v1/v2 emails.)
Post by Jiaxin Wu
Version3 continue to update with a proper commit message.
I guess you don't agree with my suggested format?

v3:
* Update with a proper commit message
Post by Jiaxin Wu
Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol, which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).Therefore we can remove Ip4ConfigDxe driver from this build.
This commit message line is too long:

https://github.com/tianocore/tianocore.github.io/wiki/Commit-Message-Format
Post by Jiaxin Wu
Contributed-under: TianoCore Contribution Agreement 1.0
I guess you Cc'd Andrew and I manually?

If you add "Cc: Jordan Justen <***@intel.com>" to the commit message, then git send-email will automatically add the Cc's when sending the email. It can save a lot of time when you have multiple versions of the patch series.

Anyway, I guess with the long commit message lines fixed, then patches
Post by Jiaxin Wu
---
EmulatorPkg/EmulatorPkg.dsc | 1 -
EmulatorPkg/EmulatorPkg.fdf | 3 +--
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/EmulatorPkg/EmulatorPkg.dsc b/EmulatorPkg/EmulatorPkg.dsc
index b16fcac..e0c6161 100644
--- a/EmulatorPkg/EmulatorPkg.dsc
+++ b/EmulatorPkg/EmulatorPkg.dsc
@@ -355,11 +355,10 @@
# Network stack drivers
#
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/EmulatorPkg/EmulatorPkg.fdf b/EmulatorPkg/EmulatorPkg.fdf
index 83b1de6..a002389 100644
--- a/EmulatorPkg/EmulatorPkg.fdf
+++ b/EmulatorPkg/EmulatorPkg.fdf
@@ -1,9 +1,9 @@
# This is Emulator FDF file with UEFI HII features enabled # -#
Copyright (c) 2008 - 2013, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2008 - 2015, Intel Corporation. All rights
+reserved.<BR>
# Portions copyright (c) 2009 - 2011, Apple Inc. All rights
reserved.<BR> # # 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
MdeModulePkg/Application/HelloWorld/HelloWorld.inf
INF EmulatorPkg/EmuSnpDxe/EmuSnpDxe.inf
!endif
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
-INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
--
1.9.5.msysgit.1
Jordan Justen
2015-07-10 08:14:01 UTC
Permalink
Post by Wu, Jiaxin
I agree your suggested format absolutely. Sorry for my missing any attention.
I'm not "Cc" any maintainer manually. We should know that the Cc
part maintainers in commit message will be ignored by edk2-devel if
the maintainers already in edk2-devel mailing list.
You mean edk2-devel will strip it? Maybe there is a list setting to
look at.

Anyway, I think the Cc will still go directly to the Cc'd addresses.
Post by Wu, Jiaxin
So, if we want
to send out the patch to someone personally, we must need to specify
the maintainers with “--to xxx” in git bash. Fortunately for git, it
support the script format, which also can help us save a lot of time
when have multiple versions of the patch series.
How does this work?

Anyway, I'd still like to figure out if there are problems using the
standard Cc method.

-Jordan
Post by Wu, Jiaxin
-----Original Message-----
From: Justen, Jordan L
Sent: Friday, July 10, 2015 2:48 PM
Subject: Re: [PATCH v3 3/7] EmulatorPkg: Remove Ip4ConfigDxe module from EmulatorPkg
When you send new versions of the patch series, can you not reply to the previous version? Then discussions for each version of the series can happen separately. (It also makes v3 get a little hidden in the old v1/v2 emails.)
Post by Jiaxin Wu
Version3 continue to update with a proper commit message.
I guess you don't agree with my suggested format?
* Update with a proper commit message
Post by Jiaxin Wu
Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol, which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).Therefore we can remove Ip4ConfigDxe driver from this build.
https://github.com/tianocore/tianocore.github.io/wiki/Commit-Message-Format
Post by Jiaxin Wu
Contributed-under: TianoCore Contribution Agreement 1.0
I guess you Cc'd Andrew and I manually?
Anyway, I guess with the long commit message lines fixed, then patches
Post by Jiaxin Wu
---
EmulatorPkg/EmulatorPkg.dsc | 1 -
EmulatorPkg/EmulatorPkg.fdf | 3 +--
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/EmulatorPkg/EmulatorPkg.dsc b/EmulatorPkg/EmulatorPkg.dsc
index b16fcac..e0c6161 100644
--- a/EmulatorPkg/EmulatorPkg.dsc
+++ b/EmulatorPkg/EmulatorPkg.dsc
@@ -355,11 +355,10 @@
# Network stack drivers
#
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/EmulatorPkg/EmulatorPkg.fdf b/EmulatorPkg/EmulatorPkg.fdf
index 83b1de6..a002389 100644
--- a/EmulatorPkg/EmulatorPkg.fdf
+++ b/EmulatorPkg/EmulatorPkg.fdf
@@ -1,9 +1,9 @@
# This is Emulator FDF file with UEFI HII features enabled # -#
Copyright (c) 2008 - 2013, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2008 - 2015, Intel Corporation. All rights
+reserved.<BR>
# Portions copyright (c) 2009 - 2011, Apple Inc. All rights
reserved.<BR> # # 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
MdeModulePkg/Application/HelloWorld/HelloWorld.inf
INF EmulatorPkg/EmuSnpDxe/EmuSnpDxe.inf
!endif
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
-INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
--
1.9.5.msysgit.1
Wu, Jiaxin
2015-07-10 08:40:50 UTC
Permalink
Yes, edk2-devel will strip it. You can check version2 for those series patches, I had added someone with cc tag to the commit message, but it haven't actually cc to those people.

For the git script format, I know it support both linux shell and windows CMD(CMD is my choice).
*Firstly, we must add the git installation path to system variable(PATH with "C:\Program Files (x86)\Git\cmd").
*And then, we can create a ".bat" file with any git cmd you want to execute for those patch series.
For example in ".bat" file:
git send-email 0000.patch --to=edk2-***@lists.sourceforge.net --to="someone" --to= "someone"
git send-email 0001.patch --to=edk2-***@lists.sourceforge.net --to= "someone" --to= "someone"
git send-email 0002.patch --to=edk2-***@lists.sourceforge.net --to= "someone" --to= "someone"
git send-email 0003.patch --to=edk2-***@lists.sourceforge.net --to= "someone" --to= "someone"
git send-email 0004.patch --to=edk2-***@lists.sourceforge.net --to= "someone" --to= "someone"
*Finally, you just need to run this ".bat" file.

Thanks.
Jiaxin

-----Original Message-----
From: Justen, Jordan L
Sent: Friday, July 10, 2015 4:14 PM
To: Wu, Jiaxin; edk2-***@lists.sourceforge.net; ***@apple.com
Subject: RE: [PATCH v3 3/7] EmulatorPkg: Remove Ip4ConfigDxe module from EmulatorPkg
Post by Wu, Jiaxin
I agree your suggested format absolutely. Sorry for my missing any attention.
I'm not "Cc" any maintainer manually. We should know that the Cc part
maintainers in commit message will be ignored by edk2-devel if the
maintainers already in edk2-devel mailing list.
You mean edk2-devel will strip it? Maybe there is a list setting to look at.

Anyway, I think the Cc will still go directly to the Cc'd addresses.
Post by Wu, Jiaxin
So, if we want
to send out the patch to someone personally, we must need to specify
the maintainers with “--to xxx” in git bash. Fortunately for git, it
support the script format, which also can help us save a lot of time
when have multiple versions of the patch series.
How does this work?

Anyway, I'd still like to figure out if there are problems using the standard Cc method.

-Jordan
Post by Wu, Jiaxin
-----Original Message-----
From: Justen, Jordan L
Sent: Friday, July 10, 2015 2:48 PM
Subject: Re: [PATCH v3 3/7] EmulatorPkg: Remove Ip4ConfigDxe module from EmulatorPkg
When you send new versions of the patch series, can you not reply to
the previous version? Then discussions for each version of the series
can happen separately. (It also makes v3 get a little hidden in the
old v1/v2 emails.)
Post by Jiaxin Wu
Version3 continue to update with a proper commit message.
I guess you don't agree with my suggested format?
* Update with a proper commit message
Post by Jiaxin Wu
Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol, which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).Therefore we can remove Ip4ConfigDxe driver from this build.
https://github.com/tianocore/tianocore.github.io/wiki/Commit-Message-F
ormat
Post by Jiaxin Wu
Contributed-under: TianoCore Contribution Agreement 1.0
I guess you Cc'd Andrew and I manually?
Anyway, I guess with the long commit message lines fixed, then patches
Post by Jiaxin Wu
---
EmulatorPkg/EmulatorPkg.dsc | 1 -
EmulatorPkg/EmulatorPkg.fdf | 3 +--
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/EmulatorPkg/EmulatorPkg.dsc
b/EmulatorPkg/EmulatorPkg.dsc index b16fcac..e0c6161 100644
--- a/EmulatorPkg/EmulatorPkg.dsc
+++ b/EmulatorPkg/EmulatorPkg.dsc
@@ -355,11 +355,10 @@
# Network stack drivers
#
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/EmulatorPkg/EmulatorPkg.fdf
b/EmulatorPkg/EmulatorPkg.fdf index 83b1de6..a002389 100644
--- a/EmulatorPkg/EmulatorPkg.fdf
+++ b/EmulatorPkg/EmulatorPkg.fdf
@@ -1,9 +1,9 @@
# This is Emulator FDF file with UEFI HII features enabled # -#
Copyright (c) 2008 - 2013, Intel Corporation. All rights
reserved.<BR>
+# Copyright (c) 2008 - 2015, Intel Corporation. All rights
+reserved.<BR>
# Portions copyright (c) 2009 - 2011, Apple Inc. All rights
reserved.<BR> # # 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
MdeModulePkg/Application/HelloWorld/HelloWorld.inf
INF EmulatorPkg/EmuSnpDxe/EmuSnpDxe.inf
!endif
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
-INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
--
1.9.5.msysgit.1
Laszlo Ersek
2015-07-10 11:29:11 UTC
Permalink
Post by Wu, Jiaxin
Yes, edk2-devel will strip it. You can check version2 for those
series patches, I had added someone with cc tag to the commit
message, but it haven't actually cc to those people.
Yes, you did! I *did* get a personal copy of the v2 patches from you!

(And another one from the list server.)

We discussed this earlier. I explained it to you, and I think you missed
the point.

The edk2-devel list's settings *cannot* interfere with the Cc headers of
the patch email that *you* send out. The list settings can only
influence the Cc headers on the emails that the list server *reflects*.

Here's a diagram:

Jiaxin
/ \
/ \
[Cc: Laszlo] [To: edk2-devel]
| |
| |
Laszlo list server
/ | | \
/ | | \
Laszlo Jiaxin | ...
Jordan

Assume the following:

- You write the commit message for your patch, and add "Cc: Laszlo" to
the commit message.

- Then you format the patch with "git format-patch", and send it with
"git send-email" to "edk2-devel" (To:).

Then the following happens:

(1) The "git send-email" program will automatically set the Cc: header
of the email from the Cc: tag in the commit message. That is, the
message mailed out *from your side* will have the following headers:

From: Jiaxin
To: edk2-devel
Cc: Laszlo

(2) That message will be *directly* sent to two recipients: Laszlo, and
the edk2-devel list server.

(3) Laszlo will get a copy directly from you, and another copy
*reflected* from the mailing list server. (Laszlo has mail filters in
place that file the direct copy into his INBOX, and the reflected copy
into his edk2-devel folder.)

The copy that Laszlo directly gets from Jiaxin will have the following
headers:

From: Jiaxin
To: edk2-devel
Cc: Laszlo

The copy that Laszlo gets from the mailing list server will have the
following headers:

From: Jiaxin
To: edk2-devel

This is because the mailing list server is *stupid*. It sees, in its
internal database, that Laszlo is subscribed, and therefore thinks
(completely incorrectly) that Laszlo should not be Cc:-d on messages
reflected from the list, "because he gets them anyway".

(4) Jiaxin, since he is subscribed, will get one copy of the message,
reflected by the mailing list server. The headers on that message will be:

From: Jiaxin
To: edk2-devel

No Cc:Laszlo. See above why.

(5) Jordan, because he is subscribed, gets one copy of the message,
reflected by the mailing list server. The headers on Jordan's copy will say:

From: Jiaxin
To: edk2-devel

No Cc: Laszlo. See above why.

(6) Now, if Jordan responds at this point, then he will *not*
carbon-copy Laszlo, because the message that he received *lacks* the Cc.

Because, the mailing list server is *stupid*, and intentionally stripped
Cc:Laszlo, *even though* Jiaxin added it initially.

----*----

Summary:

- The mailing list is stupid. It strips the Cc's of subscribed people,
but (obviously) it can do this only with messages that it *reflects*.

- The *original* emails sent out by a patch submitter should
*nonetheless* Cc: the maintainers, because the maintainers will get
those messages *directly*. That's the point.

The mailing list's broken settings prevent list followups from carrying
forward the Cc, but the initial, direct email does adhere to the Cc's.

Laszlo
Post by Wu, Jiaxin
For the git script format, I know it support both linux shell and windows CMD(CMD is my choice).
*Firstly, we must add the git installation path to system variable(PATH with "C:\Program Files (x86)\Git\cmd").
*And then, we can create a ".bat" file with any git cmd you want to execute for those patch series.
*Finally, you just need to run this ".bat" file.
Thanks.
Jiaxin
-----Original Message-----
From: Justen, Jordan L
Sent: Friday, July 10, 2015 4:14 PM
Subject: RE: [PATCH v3 3/7] EmulatorPkg: Remove Ip4ConfigDxe module from EmulatorPkg
Post by Wu, Jiaxin
I agree your suggested format absolutely. Sorry for my missing any attention.
I'm not "Cc" any maintainer manually. We should know that the Cc part
maintainers in commit message will be ignored by edk2-devel if the
maintainers already in edk2-devel mailing list.
You mean edk2-devel will strip it? Maybe there is a list setting to look at.
Anyway, I think the Cc will still go directly to the Cc'd addresses.
Post by Wu, Jiaxin
So, if we want
to send out the patch to someone personally, we must need to specify
the maintainers with “--to xxx” in git bash. Fortunately for git, it
support the script format, which also can help us save a lot of time
when have multiple versions of the patch series.
How does this work?
Anyway, I'd still like to figure out if there are problems using the standard Cc method.
-Jordan
Post by Wu, Jiaxin
-----Original Message-----
From: Justen, Jordan L
Sent: Friday, July 10, 2015 2:48 PM
Subject: Re: [PATCH v3 3/7] EmulatorPkg: Remove Ip4ConfigDxe module from EmulatorPkg
When you send new versions of the patch series, can you not reply to
the previous version? Then discussions for each version of the series
can happen separately. (It also makes v3 get a little hidden in the
old v1/v2 emails.)
Post by Jiaxin Wu
Version3 continue to update with a proper commit message.
I guess you don't agree with my suggested format?
* Update with a proper commit message
Post by Jiaxin Wu
Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol, which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).Therefore we can remove Ip4ConfigDxe driver from this build.
https://github.com/tianocore/tianocore.github.io/wiki/Commit-Message-F
ormat
Post by Jiaxin Wu
Contributed-under: TianoCore Contribution Agreement 1.0
I guess you Cc'd Andrew and I manually?
Anyway, I guess with the long commit message lines fixed, then patches
Post by Jiaxin Wu
---
EmulatorPkg/EmulatorPkg.dsc | 1 -
EmulatorPkg/EmulatorPkg.fdf | 3 +--
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/EmulatorPkg/EmulatorPkg.dsc
b/EmulatorPkg/EmulatorPkg.dsc index b16fcac..e0c6161 100644
--- a/EmulatorPkg/EmulatorPkg.dsc
+++ b/EmulatorPkg/EmulatorPkg.dsc
@@ -355,11 +355,10 @@
# Network stack drivers
#
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/EmulatorPkg/EmulatorPkg.fdf
b/EmulatorPkg/EmulatorPkg.fdf index 83b1de6..a002389 100644
--- a/EmulatorPkg/EmulatorPkg.fdf
+++ b/EmulatorPkg/EmulatorPkg.fdf
@@ -1,9 +1,9 @@
# This is Emulator FDF file with UEFI HII features enabled # -#
Copyright (c) 2008 - 2013, Intel Corporation. All rights
reserved.<BR>
+# Copyright (c) 2008 - 2015, Intel Corporation. All rights
+reserved.<BR>
# Portions copyright (c) 2009 - 2011, Apple Inc. All rights
reserved.<BR> # # 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
MdeModulePkg/Application/HelloWorld/HelloWorld.inf
INF EmulatorPkg/EmuSnpDxe/EmuSnpDxe.inf
!endif
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
-INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
--
1.9.5.msysgit.1
------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
edk2-devel mailing list
https://lists.sourceforge.net/lists/listinfo/edk2-devel
Bruce Cran
2015-07-10 13:23:52 UTC
Permalink
Post by Laszlo Ersek
- Then you format the patch with "git format-patch", and send it with
"git send-email" to "edk2-devel" (To:).
You can also skip the format-patch step and pass a revset spec directly to
send-email - e.g. "git send-email -1".
--
Bruce
Wu, Jiaxin
2015-07-10 15:56:04 UTC
Permalink
Hi Laszlo,
Thank you for your wonderful explanation.

You explained before you *did* get a personal copy of the v2. I *thought* you got a personal v2 copy *maybe* by setting the specific mail filtering rule.

Also as you said it's a "terrible practice" for edk2-mailing list's "crazy setting", "because followups posted to the *reflected* message will have no chance to Cc: the maintainer!" --->Yes! Except the followers check the content with "Cc:" tags carefully, he will do miss the Cc people by followups mail. So, I bothered to send the patches to specify the maintainers with “--to==someone” tag to avoid this issue. The maintainers and myself(also the others in edk2-mailing) *did* get the following headers:

From: Jiaxin
To: edk2-***@lists.sourceforge.net; Someone

That is not only sender and Cc maintainer want, but also the other follower's want.

I have another question not verified yet: If we use "To: Someone" tag in commit message instead of "Cc: Someone" tag, How about edk2-mailing list setting? I don't know.

Thanks again.
Jiaxin


-----Original Message-----
From: Laszlo Ersek [mailto:***@redhat.com]
Sent: Friday, July 10, 2015 7:29 PM
To: Wu, Jiaxin
Cc: Justen, Jordan L; edk2-***@lists.sourceforge.net; ***@apple.com
Subject: Re: [edk2] [PATCH v3 3/7] EmulatorPkg: Remove Ip4ConfigDxe module from EmulatorPkg
Post by Wu, Jiaxin
Yes, edk2-devel will strip it. You can check version2 for those series
patches, I had added someone with cc tag to the commit message, but it
haven't actually cc to those people.
Yes, you did! I *did* get a personal copy of the v2 patches from you!

(And another one from the list server.)

We discussed this earlier. I explained it to you, and I think you missed the point.

The edk2-devel list's settings *cannot* interfere with the Cc headers of the patch email that *you* send out. The list settings can only influence the Cc headers on the emails that the list server *reflects*.

Here's a diagram:

Jiaxin
/ \
/ \
[Cc: Laszlo] [To: edk2-devel]
| |
| |
Laszlo list server
/ | | \
/ | | \
Laszlo Jiaxin | ...
Jordan

Assume the following:

- You write the commit message for your patch, and add "Cc: Laszlo" to
the commit message.

- Then you format the patch with "git format-patch", and send it with
"git send-email" to "edk2-devel" (To:).

Then the following happens:

(1) The "git send-email" program will automatically set the Cc: header of the email from the Cc: tag in the commit message. That is, the message mailed out *from your side* will have the following headers:

From: Jiaxin
To: edk2-devel
Cc: Laszlo

(2) That message will be *directly* sent to two recipients: Laszlo, and the edk2-devel list server.

(3) Laszlo will get a copy directly from you, and another copy
*reflected* from the mailing list server. (Laszlo has mail filters in place that file the direct copy into his INBOX, and the reflected copy into his edk2-devel folder.)

The copy that Laszlo directly gets from Jiaxin will have the following
headers:

From: Jiaxin
To: edk2-devel
Cc: Laszlo

The copy that Laszlo gets from the mailing list server will have the following headers:

From: Jiaxin
To: edk2-devel

This is because the mailing list server is *stupid*. It sees, in its internal database, that Laszlo is subscribed, and therefore thinks (completely incorrectly) that Laszlo should not be Cc:-d on messages reflected from the list, "because he gets them anyway".

(4) Jiaxin, since he is subscribed, will get one copy of the message, reflected by the mailing list server. The headers on that message will be:

From: Jiaxin
To: edk2-devel

No Cc:Laszlo. See above why.

(5) Jordan, because he is subscribed, gets one copy of the message, reflected by the mailing list server. The headers on Jordan's copy will say:

From: Jiaxin
To: edk2-devel

No Cc: Laszlo. See above why.

(6) Now, if Jordan responds at this point, then he will *not* carbon-copy Laszlo, because the message that he received *lacks* the Cc.

Because, the mailing list server is *stupid*, and intentionally stripped Cc:Laszlo, *even though* Jiaxin added it initially.

----*----

Summary:

- The mailing list is stupid. It strips the Cc's of subscribed people,
but (obviously) it can do this only with messages that it *reflects*.

- The *original* emails sent out by a patch submitter should
*nonetheless* Cc: the maintainers, because the maintainers will get
those messages *directly*. That's the point.

The mailing list's broken settings prevent list followups from carrying forward the Cc, but the initial, direct email does adhere to the Cc's.

Laszlo
Post by Wu, Jiaxin
For the git script format, I know it support both linux shell and windows CMD(CMD is my choice).
*Firstly, we must add the git installation path to system variable(PATH with "C:\Program Files (x86)\Git\cmd").
*And then, we can create a ".bat" file with any git cmd you want to execute for those patch series.
*Finally, you just need to run this ".bat" file.
Thanks.
Jiaxin
-----Original Message-----
From: Justen, Jordan L
Sent: Friday, July 10, 2015 4:14 PM
Subject: RE: [PATCH v3 3/7] EmulatorPkg: Remove Ip4ConfigDxe module from EmulatorPkg
Post by Wu, Jiaxin
I agree your suggested format absolutely. Sorry for my missing any attention.
I'm not "Cc" any maintainer manually. We should know that the Cc part
maintainers in commit message will be ignored by edk2-devel if the
maintainers already in edk2-devel mailing list.
You mean edk2-devel will strip it? Maybe there is a list setting to look at.
Anyway, I think the Cc will still go directly to the Cc'd addresses.
Post by Wu, Jiaxin
So, if we want
to send out the patch to someone personally, we must need to specify
the maintainers with “--to xxx” in git bash. Fortunately for git, it
support the script format, which also can help us save a lot of time
when have multiple versions of the patch series.
How does this work?
Anyway, I'd still like to figure out if there are problems using the standard Cc method.
-Jordan
Post by Wu, Jiaxin
-----Original Message-----
From: Justen, Jordan L
Sent: Friday, July 10, 2015 2:48 PM
Subject: Re: [PATCH v3 3/7] EmulatorPkg: Remove Ip4ConfigDxe module from EmulatorPkg
When you send new versions of the patch series, can you not reply to
the previous version? Then discussions for each version of the series
can happen separately. (It also makes v3 get a little hidden in the
old v1/v2 emails.)
Post by Jiaxin Wu
Version3 continue to update with a proper commit message.
I guess you don't agree with my suggested format?
* Update with a proper commit message
Post by Jiaxin Wu
Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol, which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).Therefore we can remove Ip4ConfigDxe driver from this build.
https://github.com/tianocore/tianocore.github.io/wiki/Commit-Message-
F
ormat
Post by Jiaxin Wu
Contributed-under: TianoCore Contribution Agreement 1.0
I guess you Cc'd Andrew and I manually?
Anyway, I guess with the long commit message lines fixed, then patches
Post by Jiaxin Wu
---
EmulatorPkg/EmulatorPkg.dsc | 1 -
EmulatorPkg/EmulatorPkg.fdf | 3 +--
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/EmulatorPkg/EmulatorPkg.dsc
b/EmulatorPkg/EmulatorPkg.dsc index b16fcac..e0c6161 100644
--- a/EmulatorPkg/EmulatorPkg.dsc
+++ b/EmulatorPkg/EmulatorPkg.dsc
@@ -355,11 +355,10 @@
# Network stack drivers
#
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/EmulatorPkg/EmulatorPkg.fdf
b/EmulatorPkg/EmulatorPkg.fdf index 83b1de6..a002389 100644
--- a/EmulatorPkg/EmulatorPkg.fdf
+++ b/EmulatorPkg/EmulatorPkg.fdf
@@ -1,9 +1,9 @@
# This is Emulator FDF file with UEFI HII features enabled # -#
Copyright (c) 2008 - 2013, Intel Corporation. All rights
reserved.<BR>
+# Copyright (c) 2008 - 2015, Intel Corporation. All rights
+reserved.<BR>
# Portions copyright (c) 2009 - 2011, Apple Inc. All rights
reserved.<BR> # # 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
MdeModulePkg/Application/HelloWorld/HelloWorld.inf
INF EmulatorPkg/EmuSnpDxe/EmuSnpDxe.inf
!endif
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
-INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
--
1.9.5.msysgit.1
----------------------------------------------------------------------
-------- Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
edk2-devel mailing list
https://lists.sourceforge.net/lists/listinfo/edk2-devel
Laszlo Ersek
2015-07-10 17:00:58 UTC
Permalink
Post by Wu, Jiaxin
Hi Laszlo,
Thank you for your wonderful explanation.
You explained before you *did* get a personal copy of the v2. I
*thought* you got a personal v2 copy *maybe* by setting the specific
mail filtering rule.
Also as you said it's a "terrible practice" for edk2-mailing list's
"crazy setting", "because followups posted to the *reflected* message
will have no chance to Cc: the maintainer!" --->Yes! Except the
followers check the content with "Cc:" tags carefully, he will do
miss the Cc people by followups mail.
Correct; if a person is careful enough to look at the Cc: tags in the
message body, and copies the names manually to Cc: headers in his MUA,
then things should work. (And yes, I tend to re-Cc people manually.)
Post by Wu, Jiaxin
So, I bothered to send the
patches to specify the maintainers with “--to==someone” tag to avoid
this issue. The maintainers and myself(also the others in
From: Jiaxin
That is not only sender and Cc maintainer want, but also the other follower's want.
That's a nice workaround I guess (I have not been aware of it, so thanks
for sharing it), but it has several drawbacks:

- You cannot specify different recipients for different patches. If your
patches modify different packages, then that implies different sets of
maintainers too, probably. (Unless, of course, you send each patch email
with a separate invocation of git-send-email, which is quite a mess if
you have longer patch series.)

- If you send v2, v3, v4, you need to remember to include the same set
of people as in the previous version. Whereas, if you stick the Cc into
the commit message, then it stays permanent after a rebase, for the next
version too.

- Including the Cc's in the commit message has additional value:

- once the patch is committed, the commit message displays that X and
Y and Z were Cc'd. This proves "awareness".

- The commit log can be searched for Cc's. Useful not just for
natural persons, but for pseudo-Cc's as well; for example Jordan
recently suggested to nominate patches as "trivial", and as
"stable", by Cc'ing them to the edk2-trivial *name*, and the UDK...
*name*, but the usual edk2 email list address. This allows people
to search for patches in the commit log (and the mailing list) that
are candidates for the "trivial patch" workflow or for the UDK
branch.
Post by Wu, Jiaxin
I have another question not verified yet: If we use "To: Someone" tag
in commit message instead of "Cc: Someone" tag, How about
edk2-mailing list setting? I don't know.
As far as I know, the To: tag inside the commit message is fully
unusual, and I think git-send-email doesn't even recognize it.

So, your initial practice with the Cc: tags was correct.

We shouldn't diverge from otherwise well-working open source practices,
just to work around the brokenness of the list software. The
Cc-stripping problem should be hopefully sorted out once we move to the
new mailing list.

Thank you!
Laszlo
Post by Wu, Jiaxin
Thanks again.
Jiaxin
-----Original Message-----
Sent: Friday, July 10, 2015 7:29 PM
To: Wu, Jiaxin
Subject: Re: [edk2] [PATCH v3 3/7] EmulatorPkg: Remove Ip4ConfigDxe module from EmulatorPkg
Post by Wu, Jiaxin
Yes, edk2-devel will strip it. You can check version2 for those series
patches, I had added someone with cc tag to the commit message, but it
haven't actually cc to those people.
Yes, you did! I *did* get a personal copy of the v2 patches from you!
(And another one from the list server.)
We discussed this earlier. I explained it to you, and I think you missed the point.
The edk2-devel list's settings *cannot* interfere with the Cc headers of the patch email that *you* send out. The list settings can only influence the Cc headers on the emails that the list server *reflects*.
Jiaxin
/ \
/ \
[Cc: Laszlo] [To: edk2-devel]
| |
| |
Laszlo list server
/ | | \
/ | | \
Laszlo Jiaxin | ...
Jordan
- You write the commit message for your patch, and add "Cc: Laszlo" to
the commit message.
- Then you format the patch with "git format-patch", and send it with
"git send-email" to "edk2-devel" (To:).
From: Jiaxin
To: edk2-devel
Cc: Laszlo
(2) That message will be *directly* sent to two recipients: Laszlo, and the edk2-devel list server.
(3) Laszlo will get a copy directly from you, and another copy
*reflected* from the mailing list server. (Laszlo has mail filters in place that file the direct copy into his INBOX, and the reflected copy into his edk2-devel folder.)
The copy that Laszlo directly gets from Jiaxin will have the following
From: Jiaxin
To: edk2-devel
Cc: Laszlo
From: Jiaxin
To: edk2-devel
This is because the mailing list server is *stupid*. It sees, in its internal database, that Laszlo is subscribed, and therefore thinks (completely incorrectly) that Laszlo should not be Cc:-d on messages reflected from the list, "because he gets them anyway".
From: Jiaxin
To: edk2-devel
No Cc:Laszlo. See above why.
From: Jiaxin
To: edk2-devel
No Cc: Laszlo. See above why.
(6) Now, if Jordan responds at this point, then he will *not* carbon-copy Laszlo, because the message that he received *lacks* the Cc.
Because, the mailing list server is *stupid*, and intentionally stripped Cc:Laszlo, *even though* Jiaxin added it initially.
----*----
- The mailing list is stupid. It strips the Cc's of subscribed people,
but (obviously) it can do this only with messages that it *reflects*.
- The *original* emails sent out by a patch submitter should
*nonetheless* Cc: the maintainers, because the maintainers will get
those messages *directly*. That's the point.
The mailing list's broken settings prevent list followups from carrying forward the Cc, but the initial, direct email does adhere to the Cc's.
Laszlo
Post by Wu, Jiaxin
For the git script format, I know it support both linux shell and windows CMD(CMD is my choice).
*Firstly, we must add the git installation path to system variable(PATH with "C:\Program Files (x86)\Git\cmd").
*And then, we can create a ".bat" file with any git cmd you want to execute for those patch series.
*Finally, you just need to run this ".bat" file.
Thanks.
Jiaxin
-----Original Message-----
From: Justen, Jordan L
Sent: Friday, July 10, 2015 4:14 PM
Subject: RE: [PATCH v3 3/7] EmulatorPkg: Remove Ip4ConfigDxe module from EmulatorPkg
Post by Wu, Jiaxin
I agree your suggested format absolutely. Sorry for my missing any attention.
I'm not "Cc" any maintainer manually. We should know that the Cc part
maintainers in commit message will be ignored by edk2-devel if the
maintainers already in edk2-devel mailing list.
You mean edk2-devel will strip it? Maybe there is a list setting to look at.
Anyway, I think the Cc will still go directly to the Cc'd addresses.
Post by Wu, Jiaxin
So, if we want
to send out the patch to someone personally, we must need to specify
the maintainers with “--to xxx” in git bash. Fortunately for git, it
support the script format, which also can help us save a lot of time
when have multiple versions of the patch series.
How does this work?
Anyway, I'd still like to figure out if there are problems using the standard Cc method.
-Jordan
Post by Wu, Jiaxin
-----Original Message-----
From: Justen, Jordan L
Sent: Friday, July 10, 2015 2:48 PM
Subject: Re: [PATCH v3 3/7] EmulatorPkg: Remove Ip4ConfigDxe module from EmulatorPkg
When you send new versions of the patch series, can you not reply to
the previous version? Then discussions for each version of the series
can happen separately. (It also makes v3 get a little hidden in the
old v1/v2 emails.)
Post by Jiaxin Wu
Version3 continue to update with a proper commit message.
I guess you don't agree with my suggested format?
* Update with a proper commit message
Post by Jiaxin Wu
Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol, which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).Therefore we can remove Ip4ConfigDxe driver from this build.
https://github.com/tianocore/tianocore.github.io/wiki/Commit-Message-
F
ormat
Post by Jiaxin Wu
Contributed-under: TianoCore Contribution Agreement 1.0
I guess you Cc'd Andrew and I manually?
Anyway, I guess with the long commit message lines fixed, then patches
Post by Jiaxin Wu
---
EmulatorPkg/EmulatorPkg.dsc | 1 -
EmulatorPkg/EmulatorPkg.fdf | 3 +--
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/EmulatorPkg/EmulatorPkg.dsc
b/EmulatorPkg/EmulatorPkg.dsc index b16fcac..e0c6161 100644
--- a/EmulatorPkg/EmulatorPkg.dsc
+++ b/EmulatorPkg/EmulatorPkg.dsc
@@ -355,11 +355,10 @@
# Network stack drivers
#
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/EmulatorPkg/EmulatorPkg.fdf
b/EmulatorPkg/EmulatorPkg.fdf index 83b1de6..a002389 100644
--- a/EmulatorPkg/EmulatorPkg.fdf
+++ b/EmulatorPkg/EmulatorPkg.fdf
@@ -1,9 +1,9 @@
# This is Emulator FDF file with UEFI HII features enabled # -#
Copyright (c) 2008 - 2013, Intel Corporation. All rights
reserved.<BR>
+# Copyright (c) 2008 - 2015, Intel Corporation. All rights
+reserved.<BR>
# Portions copyright (c) 2009 - 2011, Apple Inc. All rights
reserved.<BR> # # 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
MdeModulePkg/Application/HelloWorld/HelloWorld.inf
INF EmulatorPkg/EmuSnpDxe/EmuSnpDxe.inf
!endif
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
-INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
--
1.9.5.msysgit.1
----------------------------------------------------------------------
-------- Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
edk2-devel mailing list
https://lists.sourceforge.net/lists/listinfo/edk2-devel
Jordan Justen
2015-07-10 16:36:35 UTC
Permalink
Post by Laszlo Ersek
Post by Wu, Jiaxin
Yes, edk2-devel will strip it. You can check version2 for those
series patches, I had added someone with cc tag to the commit
message, but it haven't actually cc to those people.
(3) Laszlo will get a copy directly from you, and another copy
*reflected* from the mailing list server. (Laszlo has mail filters in
place that file the direct copy into his INBOX, and the reflected copy
into his edk2-devel folder.)
The copy that Laszlo directly gets from Jiaxin will have the following
From: Jiaxin
To: edk2-devel
Cc: Laszlo
The copy that Laszlo gets from the mailing list server will have the
From: Jiaxin
To: edk2-devel
This is because the mailing list server is *stupid*. It sees, in its
internal database, that Laszlo is subscribed, and therefore thinks
(completely incorrectly) that Laszlo should not be Cc:-d on messages
reflected from the list, "because he gets them anyway".
I found that mailman has a 'nodupes' setting that causes the Cc
stripping. I've disabled it for the new edk2-devel list. Hopefully
that is the setting we want...

Unfortunately, disabling it on the current list would be a hassle.

-Jordan
Laszlo Ersek
2015-07-10 17:11:14 UTC
Permalink
Post by Jordan Justen
Post by Laszlo Ersek
Post by Wu, Jiaxin
Yes, edk2-devel will strip it. You can check version2 for those
series patches, I had added someone with cc tag to the commit
message, but it haven't actually cc to those people.
(3) Laszlo will get a copy directly from you, and another copy
*reflected* from the mailing list server. (Laszlo has mail filters in
place that file the direct copy into his INBOX, and the reflected copy
into his edk2-devel folder.)
The copy that Laszlo directly gets from Jiaxin will have the following
From: Jiaxin
To: edk2-devel
Cc: Laszlo
The copy that Laszlo gets from the mailing list server will have the
From: Jiaxin
To: edk2-devel
This is because the mailing list server is *stupid*. It sees, in its
internal database, that Laszlo is subscribed, and therefore thinks
(completely incorrectly) that Laszlo should not be Cc:-d on messages
reflected from the list, "because he gets them anyway".
I found that mailman has a 'nodupes' setting that causes the Cc
stripping. I've disabled it for the new edk2-devel list. Hopefully
that is the setting we want...
I do know about a similarly named mailman feature. It is related, but
not the same thing.

The "nodupes" setting (if it is indeed the one I have in mind, and have
used several times before) controls whether the mailing list software
*reflects* the message to someone at all.

That is, in bullet (3) above, with nodupes=off, Laszlo gets two copies
(one from Jiaxin directly, and another from the list). With nodupes=on,
Laszlo would get *no* copy from the list -- the list software would see
that Laszlo was Cc'd on the original message, and therefore forego
reflecting the message to Laszlo *at all*.

Obviously, this would wreak havoc with Laszlo's email filters; those
really depend on getting *two* copies. But, others like to get one copy
only, under similar circumstances. This is why, in my understanding, the
"nodupes" setting is actually subscriber-level: the list may have a
top-level default, but each subscriber can change that setting for
himself, after logging in with his password on the list web GUI.

So, I very much agree that the nodupes default should be "off" for the
new list.

However, the current list has a different problem. It does work
correctly as far as "nodupes=off" is concerned (ie. it does reflect
messages to originally Cc'd people as well). The problem is that it
mangles those reflected messages: it strips the Cc fields that designate
subscribers.
Post by Jordan Justen
Unfortunately, disabling it on the current list would be a hassle.
I guess. :)

... Apologies about the verbiage.

Thanks!
Laszlo

Jiaxin Wu
2015-07-09 07:24:23 UTC
Permalink
Version3 continue to update with a proper commit message.
Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol, which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).Therefore we can remove Ip4ConfigDxe driver from this build.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <***@intel.com>
---
ArmPlatformPkg/ArmJunoPkg/ArmJuno.fdf | 1 -
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA15-A7.fdf | 1 -
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.fdf | 1 -
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf | 1 -
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.fdf | 1 -
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc | 1 -
6 files changed, 6 deletions(-)

diff --git a/ArmPlatformPkg/ArmJunoPkg/ArmJuno.fdf b/ArmPlatformPkg/ArmJunoPkg/ArmJuno.fdf
index 2dbf0e6..9a3bf02 100644
--- a/ArmPlatformPkg/ArmJunoPkg/ArmJuno.fdf
+++ b/ArmPlatformPkg/ArmJunoPkg/ArmJuno.fdf
@@ -174,11 +174,10 @@ FvNameGuid = B73FE497-B92E-416e-8326-45AD0D270092
# Networking stack
#
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA15-A7.fdf b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA15-A7.fdf
index 3cb634a..b5f8f72 100644
--- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA15-A7.fdf
+++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA15-A7.fdf
@@ -148,11 +148,10 @@ FvNameGuid = 73dcb643-3862-4904-9076-a94af1890243
# Networking stack
#
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.fdf b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.fdf
index c8f425f..e8f8199 100644
--- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.fdf
+++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.fdf
@@ -217,11 +217,10 @@ FvNameGuid = 1a9b3625-5286-4fa6-af5f-8eabc481f3cc
# Networking stack
#
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf
index 0f20a04..f001ee2 100644
--- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf
+++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf
@@ -138,11 +138,10 @@ FvNameGuid = 9ca4f58c-341e-4f42-b37d-6042fcddb5bf
# Networking stack
#
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.fdf b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.fdf
index 507afac..7a5aac1 100644
--- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.fdf
+++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.fdf
@@ -138,11 +138,10 @@ FvNameGuid = 12c68be9-0996-49d3-8c5b-4957379027ee
# Networking stack
#
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc
index d131189..7eb64a1 100644
--- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc
+++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc
@@ -406,11 +406,10 @@
# Networking stack
#
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
--
1.9.5.msysgit.1
Olivier Martin
2015-07-09 10:33:06 UTC
Permalink
Reviewed-By: Olivier Martin <***@arm.com>

-----Original Message-----
From: Jiaxin Wu [mailto:***@intel.com]
Sent: 09 July 2015 08:24
To: edk2-***@lists.sourceforge.net; Olivier Martin; ***@linaro.org
Subject: [PATCH v3 1/7] ArmPlatformPkg: Remove Ip4ConfigDxe from ArmPlatformPkg

Version3 continue to update with a proper commit message.
Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol, which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).Therefore we can remove Ip4ConfigDxe driver from this build.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <***@intel.com>
---
ArmPlatformPkg/ArmJunoPkg/ArmJuno.fdf | 1 -
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA15-A7.fdf | 1 -
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.fdf | 1 -
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf | 1 -
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.fdf | 1 -
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc | 1 -
6 files changed, 6 deletions(-)

diff --git a/ArmPlatformPkg/ArmJunoPkg/ArmJuno.fdf b/ArmPlatformPkg/ArmJunoPkg/ArmJuno.fdf
index 2dbf0e6..9a3bf02 100644
--- a/ArmPlatformPkg/ArmJunoPkg/ArmJuno.fdf
+++ b/ArmPlatformPkg/ArmJunoPkg/ArmJuno.fdf
@@ -174,11 +174,10 @@ FvNameGuid = B73FE497-B92E-416e-8326-45AD0D270092
# Networking stack
#
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA15-A7.fdf b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA15-A7.fdf
index 3cb634a..b5f8f72 100644
--- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA15-A7.fdf
+++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA15-A7.fdf
@@ -148,11 +148,10 @@ FvNameGuid = 73dcb643-3862-4904-9076-a94af1890243
# Networking stack
#
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.fdf b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.fdf
index c8f425f..e8f8199 100644
--- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.fdf
+++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.fdf
@@ -217,11 +217,10 @@ FvNameGuid = 1a9b3625-5286-4fa6-af5f-8eabc481f3cc
# Networking stack
#
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf
index 0f20a04..f001ee2 100644
--- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf
+++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15.fdf
@@ -138,11 +138,10 @@ FvNameGuid = 9ca4f58c-341e-4f42-b37d-6042fcddb5bf
# Networking stack
#
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.fdf b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.fdf
index 507afac..7a5aac1 100644
--- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.fdf
+++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.fdf
@@ -138,11 +138,10 @@ FvNameGuid = 12c68be9-0996-49d3-8c5b-4957379027ee
# Networking stack
#
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc
index d131189..7eb64a1 100644
--- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc
+++ b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc
@@ -406,11 +406,10 @@
# Networking stack
#
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
--
1.9.5.msysgit.1


-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590
ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
Jiaxin Wu
2015-07-09 07:24:47 UTC
Permalink
Version3 continue to update with a proper commit message.
Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol, which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).Therefore we can remove Ip4ConfigDxe driver from this build.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <***@intel.com>
---
Nt32Pkg/Nt32Pkg.dsc | 1 -
Nt32Pkg/Nt32Pkg.fdf | 1 -
2 files changed, 2 deletions(-)

diff --git a/Nt32Pkg/Nt32Pkg.dsc b/Nt32Pkg/Nt32Pkg.dsc
index a8e5590..330c25b 100644
--- a/Nt32Pkg/Nt32Pkg.dsc
+++ b/Nt32Pkg/Nt32Pkg.dsc
@@ -415,11 +415,10 @@
# To test network drivers, need network Io driver(SnpNt32Io.dll), please refer to NETWORK-IO Subproject.
#
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/Nt32Pkg/Nt32Pkg.fdf b/Nt32Pkg/Nt32Pkg.fdf
index b46580e..24c50fa 100644
--- a/Nt32Pkg/Nt32Pkg.fdf
+++ b/Nt32Pkg/Nt32Pkg.fdf
@@ -250,11 +250,10 @@ INF MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverrideDxe.inf
INF MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf

INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
-INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
--
1.9.5.msysgit.1
Ni, Ruiyu
2015-07-09 08:09:43 UTC
Permalink
Post by Olivier Martin
-----Original Message-----
From: Wu, Jiaxin
Sent: Thursday, July 9, 2015 3:25 PM
Subject: [PATCH v3 4/7] Nt32Pkg: Remove Ip4ConfigDxe module from
Nt32Pkg
Version3 continue to update with a proper commit message.
Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original
Ip4Config Protocol, which is replace by Ip4Config2 Protocol integrated in
Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).Therefore we can remove
Ip4ConfigDxe driver from this build.
Contributed-under: TianoCore Contribution Agreement 1.0
---
Nt32Pkg/Nt32Pkg.dsc | 1 -
Nt32Pkg/Nt32Pkg.fdf | 1 -
2 files changed, 2 deletions(-)
diff --git a/Nt32Pkg/Nt32Pkg.dsc b/Nt32Pkg/Nt32Pkg.dsc
index a8e5590..330c25b 100644
--- a/Nt32Pkg/Nt32Pkg.dsc
+++ b/Nt32Pkg/Nt32Pkg.dsc
@@ -415,11 +415,10 @@
# To test network drivers, need network Io driver(SnpNt32Io.dll), please
refer to NETWORK-IO Subproject.
#
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/Nt32Pkg/Nt32Pkg.fdf b/Nt32Pkg/Nt32Pkg.fdf
index b46580e..24c50fa 100644
--- a/Nt32Pkg/Nt32Pkg.fdf
+++ b/Nt32Pkg/Nt32Pkg.fdf
@@ -250,11 +250,10 @@ INF
MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverrideDxe
.inf
INF MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
-INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
--
1.9.5.msysgit.1
Jiaxin Wu
2015-07-09 07:24:29 UTC
Permalink
Version3 continue to update with a proper commit message.
Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol, which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).Therefore we can remove Ip4ConfigDxe driver from this build.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <***@intel.com>
---
ArmVirtPkg/ArmVirt.dsc.inc | 1 -
ArmVirtPkg/ArmVirtQemu.fdf | 1 -
2 files changed, 2 deletions(-)

diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
index 16d7ea6..70e3592 100644
--- a/ArmVirtPkg/ArmVirt.dsc.inc
+++ b/ArmVirtPkg/ArmVirt.dsc.inc
@@ -367,11 +367,10 @@
# Networking stack
#
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/ArmVirtPkg/ArmVirtQemu.fdf b/ArmVirtPkg/ArmVirtQemu.fdf
index e822fdf..4448018 100644
--- a/ArmVirtPkg/ArmVirtQemu.fdf
+++ b/ArmVirtPkg/ArmVirtQemu.fdf
@@ -181,11 +181,10 @@ READ_LOCK_STATUS = TRUE
# Networking stack
#
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
--
1.9.5.msysgit.1
Laszlo Ersek
2015-07-09 07:35:06 UTC
Permalink
Post by Jiaxin Wu
Version3 continue to update with a proper commit message.
Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol, which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).Therefore we can remove Ip4ConfigDxe driver from this build.
Contributed-under: TianoCore Contribution Agreement 1.0
---
ArmVirtPkg/ArmVirt.dsc.inc | 1 -
ArmVirtPkg/ArmVirtQemu.fdf | 1 -
2 files changed, 2 deletions(-)
diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
index 16d7ea6..70e3592 100644
--- a/ArmVirtPkg/ArmVirt.dsc.inc
+++ b/ArmVirtPkg/ArmVirt.dsc.inc
@@ -367,11 +367,10 @@
# Networking stack
#
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
diff --git a/ArmVirtPkg/ArmVirtQemu.fdf b/ArmVirtPkg/ArmVirtQemu.fdf
index e822fdf..4448018 100644
--- a/ArmVirtPkg/ArmVirtQemu.fdf
+++ b/ArmVirtPkg/ArmVirtQemu.fdf
@@ -181,11 +181,10 @@ READ_LOCK_STATUS = TRUE
# Networking stack
#
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
Reviewed-by: Laszlo Ersek <***@redhat.com>
Jiaxin Wu
2015-07-09 07:24:53 UTC
Permalink
Version3 continue to update with a proper commit message.
Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol, which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).Therefore we can remove Ip4ConfigDxe driver from this build.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <***@intel.com>
---
OvmfPkg/OvmfPkgIa32.dsc | 1 -
OvmfPkg/OvmfPkgIa32.fdf | 1 -
OvmfPkg/OvmfPkgIa32X64.dsc | 1 -
OvmfPkg/OvmfPkgIa32X64.fdf | 1 -
OvmfPkg/OvmfPkgX64.dsc | 1 -
OvmfPkg/OvmfPkgX64.fdf | 1 -
6 files changed, 6 deletions(-)

diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
index bb008f6..c3508e6 100644
--- a/OvmfPkg/OvmfPkgIa32.dsc
+++ b/OvmfPkg/OvmfPkgIa32.dsc
@@ -524,11 +524,10 @@
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
!if $(NETWORK_IP6_ENABLE) == TRUE
NetworkPkg/Ip6Dxe/Ip6Dxe.inf
diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
index 24ad0bf..aadb099 100644
--- a/OvmfPkg/OvmfPkgIa32.fdf
+++ b/OvmfPkg/OvmfPkgIa32.fdf
@@ -302,11 +302,10 @@ FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
!if $(NETWORK_IP6_ENABLE) == TRUE
INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
index fed584f..40a1cf1 100644
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
@@ -531,11 +531,10 @@
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
!if $(NETWORK_IP6_ENABLE) == TRUE
NetworkPkg/Ip6Dxe/Ip6Dxe.inf
diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
index 5f98be8..bc42a2b 100644
--- a/OvmfPkg/OvmfPkgIa32X64.fdf
+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
@@ -302,11 +302,10 @@ FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
!if $(NETWORK_IP6_ENABLE) == TRUE
INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
index 92af10f..ac4e731 100644
--- a/OvmfPkg/OvmfPkgX64.dsc
+++ b/OvmfPkg/OvmfPkgX64.dsc
@@ -529,11 +529,10 @@
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
!if $(NETWORK_IP6_ENABLE) == TRUE
NetworkPkg/Ip6Dxe/Ip6Dxe.inf
diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
index 11e74e7..b6992bd 100644
--- a/OvmfPkg/OvmfPkgX64.fdf
+++ b/OvmfPkg/OvmfPkgX64.fdf
@@ -302,11 +302,10 @@ FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
!if $(NETWORK_IP6_ENABLE) == TRUE
INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf
--
1.9.5.msysgit.1
Laszlo Ersek
2015-07-09 07:35:38 UTC
Permalink
Post by Jiaxin Wu
Version3 continue to update with a proper commit message.
Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol, which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).Therefore we can remove Ip4ConfigDxe driver from this build.
Contributed-under: TianoCore Contribution Agreement 1.0
---
OvmfPkg/OvmfPkgIa32.dsc | 1 -
OvmfPkg/OvmfPkgIa32.fdf | 1 -
OvmfPkg/OvmfPkgIa32X64.dsc | 1 -
OvmfPkg/OvmfPkgIa32X64.fdf | 1 -
OvmfPkg/OvmfPkgX64.dsc | 1 -
OvmfPkg/OvmfPkgX64.fdf | 1 -
6 files changed, 6 deletions(-)
diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
index bb008f6..c3508e6 100644
--- a/OvmfPkg/OvmfPkgIa32.dsc
+++ b/OvmfPkg/OvmfPkgIa32.dsc
@@ -524,11 +524,10 @@
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
!if $(NETWORK_IP6_ENABLE) == TRUE
NetworkPkg/Ip6Dxe/Ip6Dxe.inf
diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
index 24ad0bf..aadb099 100644
--- a/OvmfPkg/OvmfPkgIa32.fdf
+++ b/OvmfPkg/OvmfPkgIa32.fdf
@@ -302,11 +302,10 @@ FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
!if $(NETWORK_IP6_ENABLE) == TRUE
INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
index fed584f..40a1cf1 100644
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
@@ -531,11 +531,10 @@
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
!if $(NETWORK_IP6_ENABLE) == TRUE
NetworkPkg/Ip6Dxe/Ip6Dxe.inf
diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
index 5f98be8..bc42a2b 100644
--- a/OvmfPkg/OvmfPkgIa32X64.fdf
+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
@@ -302,11 +302,10 @@ FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
!if $(NETWORK_IP6_ENABLE) == TRUE
INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
index 92af10f..ac4e731 100644
--- a/OvmfPkg/OvmfPkgX64.dsc
+++ b/OvmfPkg/OvmfPkgX64.dsc
@@ -529,11 +529,10 @@
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
!if $(NETWORK_IP6_ENABLE) == TRUE
NetworkPkg/Ip6Dxe/Ip6Dxe.inf
diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
index 11e74e7..b6992bd 100644
--- a/OvmfPkg/OvmfPkgX64.fdf
+++ b/OvmfPkg/OvmfPkgX64.fdf
@@ -302,11 +302,10 @@ FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
!if $(NETWORK_IP6_ENABLE) == TRUE
INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf
Reviewed-by: Laszlo Ersek <***@redhat.com>
Jiaxin Wu
2015-07-09 07:24:58 UTC
Permalink
Version3 continue to update with a proper commit message.
Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol, which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).Therefore we can remove Ip4ConfigDxe driver from this build.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <***@intel.com>
---
Vlv2TbltDevicePkg/PlatformPkg.fdf | 1 -
Vlv2TbltDevicePkg/PlatformPkgGcc.fdf | 1 -
Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc | 1 -
Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 1 -
Vlv2TbltDevicePkg/PlatformPkgX64.dsc | 1 -
5 files changed, 5 deletions(-)

diff --git a/Vlv2TbltDevicePkg/PlatformPkg.fdf b/Vlv2TbltDevicePkg/PlatformPkg.fdf
index 10071e1..80ce20d 100644
--- a/Vlv2TbltDevicePkg/PlatformPkg.fdf
+++ b/Vlv2TbltDevicePkg/PlatformPkg.fdf
@@ -686,11 +686,10 @@ FILE FREEFORM = 878AC2CC-5343-46F2-B563-51F89DAF56BA {
INF MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
!if $(NETWORK_IP6_ENABLE) == TRUE
INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf
diff --git a/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf b/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf
index 53f0bc0..f556853 100644
--- a/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf
+++ b/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf
@@ -644,11 +644,10 @@ FILE FREEFORM = 878AC2CC-5343-46F2-B563-51F89DAF56BA {
INF MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
!if $(NETWORK_IP6_ENABLE) == TRUE
INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf
diff --git a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc b/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc
index ea65eb9..45008a0 100644
--- a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc
+++ b/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc
@@ -1485,11 +1485,10 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf
MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf

MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf {
<PcdsPatchableInModule>
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
diff --git a/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc b/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
index d4ed8f2..39054cf 100644
--- a/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
+++ b/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
@@ -1475,11 +1475,10 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf
MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf

MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf {
<PcdsPatchableInModule>
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
diff --git a/Vlv2TbltDevicePkg/PlatformPkgX64.dsc b/Vlv2TbltDevicePkg/PlatformPkgX64.dsc
index 64378a0..4e0a9f8 100644
--- a/Vlv2TbltDevicePkg/PlatformPkgX64.dsc
+++ b/Vlv2TbltDevicePkg/PlatformPkgX64.dsc
@@ -1472,11 +1472,10 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf
MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf

MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf {
<PcdsPatchableInModule>
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
--
1.9.5.msysgit.1
Ye, Ting
2015-07-10 05:17:57 UTC
Permalink
Reviewed-by: Ye Ting <***@intel.com>

-----Original Message-----
From: Jiaxin Wu [mailto:***@intel.com]
Sent: Thursday, July 09, 2015 3:25 PM
To: edk2-***@lists.sourceforge.net; Wei, David; He, Tim
Subject: [edk2] [PATCH v3 6/7] Vlv2TbltDevicePkg: Remove Ip4ConfigDxe module from build

Version3 continue to update with a proper commit message.
Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol, which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).Therefore we can remove Ip4ConfigDxe driver from this build.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <***@intel.com>
---
Vlv2TbltDevicePkg/PlatformPkg.fdf | 1 -
Vlv2TbltDevicePkg/PlatformPkgGcc.fdf | 1 -
Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc | 1 -
Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 1 -
Vlv2TbltDevicePkg/PlatformPkgX64.dsc | 1 -
5 files changed, 5 deletions(-)

diff --git a/Vlv2TbltDevicePkg/PlatformPkg.fdf b/Vlv2TbltDevicePkg/PlatformPkg.fdf
index 10071e1..80ce20d 100644
--- a/Vlv2TbltDevicePkg/PlatformPkg.fdf
+++ b/Vlv2TbltDevicePkg/PlatformPkg.fdf
@@ -686,11 +686,10 @@ FILE FREEFORM = 878AC2CC-5343-46F2-B563-51F89DAF56BA {
INF MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
!if $(NETWORK_IP6_ENABLE) == TRUE
INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf
diff --git a/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf b/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf
index 53f0bc0..f556853 100644
--- a/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf
+++ b/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf
@@ -644,11 +644,10 @@ FILE FREEFORM = 878AC2CC-5343-46F2-B563-51F89DAF56BA {
INF MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
- INF MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
!if $(NETWORK_IP6_ENABLE) == TRUE
INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf
diff --git a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc b/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc
index ea65eb9..45008a0 100644
--- a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc
+++ b/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc
@@ -1485,11 +1485,10 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf
MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf

MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf {
<PcdsPatchableInModule>
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
diff --git a/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc b/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
index d4ed8f2..39054cf 100644
--- a/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
+++ b/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
@@ -1475,11 +1475,10 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf
MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf

MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf {
<PcdsPatchableInModule>
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
diff --git a/Vlv2TbltDevicePkg/PlatformPkgX64.dsc b/Vlv2TbltDevicePkg/PlatformPkgX64.dsc
index 64378a0..4e0a9f8 100644
--- a/Vlv2TbltDevicePkg/PlatformPkgX64.dsc
+++ b/Vlv2TbltDevicePkg/PlatformPkgX64.dsc
@@ -1472,11 +1472,10 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf
MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf

MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf {
<PcdsPatchableInModule>
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
--
1.9.5.msysgit.1


------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
edk2-devel mailing list
edk2-***@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel
Jiaxin Wu
2015-07-09 07:25:03 UTC
Permalink
Version3 continue to update with a proper commit message.

Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol, which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).

Dependent network drivers, libraries and applications have been migrated to (or extended to) the new protocol version.
For example:
git 7c25b7ea (SVN r17869): ping & ifconfig
git 00a6ad1b (SVN r17870): UefiHandleParsingLib
git 6c5c70d6 (SVN r17873): DxeNetLib
git 39561686 (SVN r17874): IpSecDxe
git c581e503 (SVN r17875): EfiSocketLib

This patch is based on related packages(MdeModulePkg, Nt32Pkg, ArmPlatformPkg, ArmVirtPkg, EmulatorPkg, OvmfPkg, Vlv2TbltDevicePkg) clean-up work finished.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <***@intel.com>
---
MdeModulePkg/Include/Guid/Ip4ConfigHii.h | 25 -
MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h | 70 --
MdeModulePkg/MdeModulePkg.dec | 6 -
MdeModulePkg/MdeModulePkg.dsc | 1 -
.../Universal/Network/Ip4ConfigDxe/ComponentName.c | 165 ----
.../Universal/Network/Ip4ConfigDxe/Ip4Config.c | 745 -----------------
.../Universal/Network/Ip4ConfigDxe/Ip4Config.h | 533 ------------
.../Network/Ip4ConfigDxe/Ip4ConfigDriver.c | 505 ------------
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.inf | 91 ---
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.uni | Bin 2700 -> 0 bytes
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr | 89 --
.../Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni | Bin 1366 -> 0 bytes
.../Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni | Bin 3000 -> 0 bytes
.../Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c | 909 ---------------------
.../Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h | 54 --
.../Universal/Network/Ip4ConfigDxe/Ip4NvData.h | 48 --
.../Network/Ip4ConfigDxe/NicIp4Variable.c | 319 --------
.../Network/Ip4ConfigDxe/NicIp4Variable.h | 104 ---
18 files changed, 3664 deletions(-)
delete mode 100644 MdeModulePkg/Include/Guid/Ip4ConfigHii.h
delete mode 100644 MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/ComponentName.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.uni
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4NvData.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.h

diff --git a/MdeModulePkg/Include/Guid/Ip4ConfigHii.h b/MdeModulePkg/Include/Guid/Ip4ConfigHii.h
deleted file mode 100644
index 87c54a0..0000000
--- a/MdeModulePkg/Include/Guid/Ip4ConfigHii.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/** @file
- GUIDs used as HII FormSet and HII Package list GUID in Ip4ConfigDxe driver.
-
-Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
-This program and the accompanying materials are licensed and made available under
-the terms and conditions of the BSD License that 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 __IP4_CONFIG_HII_GUID_H__
-#define __IP4_CONFIG_HII_GUID_H__
-
-#define EFI_NIC_IP4_CONFIG_NVDATA_GUID \
- { \
- 0x9d5b53f, 0xf4b0, 0x4f59, { 0xa0, 0xb1, 0x7b, 0x57, 0xd3, 0x5c, 0xe, 0x5 } \
- }
-
-extern EFI_GUID gNicIp4ConfigNvDataGuid;
-
-#endif
diff --git a/MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h b/MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h
deleted file mode 100644
index d3ce76f..0000000
--- a/MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/** @file
- This file defines NIC_IP4_CONFIG_INFO structure.
-
-Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
-This program and the accompanying materials are licensed and made available under
-the terms and conditions of the BSD License that 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 __NIC_IP4_CONFIG_NVDATA_H__
-#define __NIC_IP4_CONFIG_NVDATA_H__
-
-#include <Protocol/Ip4Config.h>
-
-#define EFI_NIC_IP4_CONFIG_VARIABLE_GUID \
- { \
- 0xd8944553, 0xc4dd, 0x41f4, { 0x9b, 0x30, 0xe1, 0x39, 0x7c, 0xfb, 0x26, 0x7b } \
- }
-
-#define EFI_NIC_IP4_CONFIG_VARIABLE L"EfiNicIp4ConfigVariable"
-
-
-//
-// Config source: dhcp or static
-//
-#define IP4_CONFIG_SOURCE_DHCP 0
-#define IP4_CONFIG_SOURCE_STATIC 1
-#define IP4_CONFIG_SOURCE_MAX 2
-
-#define IP4_NIC_NAME_LENGTH 64
-#define MAX_IP4_CONFIG_IN_VARIABLE 16
-
-//
-// The following structures are used by drivers/applications other
-// than EFI_IP4_PROTOCOL, such as the ifconfig shell application, to
-// communicate the IP configuration information to the EFI_IP4_CONFIG_PROTOCOL.
-// The EFI_IP4_PROTOCOL uses the EFI_IP4_CONFIG_PROTOCOL to get
-// the default IP4 configuration.
-//
-
-///
-/// NIC_ADDR contains the interface's type and MAC address to identify
-/// a specific NIC.
-///
-typedef struct {
- UINT16 Type; ///< Interface type.
- UINT8 Len; ///< Length of MAC address.
- EFI_MAC_ADDRESS MacAddr; ///< MAC address of interface.
-} NIC_ADDR;
-
-///
-/// NIC_IP4_CONFIG_INFO contains the IP4 configure
-/// parameters for that NIC. NIC_IP4_CONFIG_INFO is
-/// of variable length.
-///
-typedef struct {
- NIC_ADDR NicAddr; ///< Link layer address to identify the NIC.
- UINT32 Source; ///< Static or DHCP.
- BOOLEAN Permanent; ///< Survive the reboot or not.
- EFI_IP4_IPCONFIG_DATA Ip4Info; ///< IP addresses.
-} NIC_IP4_CONFIG_INFO;
-
-extern EFI_GUID gEfiNicIp4ConfigVariableGuid;
-
-#endif
diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
index c48669d..a1a551c 100644
--- a/MdeModulePkg/MdeModulePkg.dec
+++ b/MdeModulePkg/MdeModulePkg.dec
@@ -196,13 +196,10 @@

## Guid is defined for CRC32 encapsulation scheme.
# Include/Guid/Crc32GuidedSectionExtraction.h
gEfiCrc32GuidedSectionExtractionGuid = { 0xFC1BCDB0, 0x7D31, 0x49aa, {0x93, 0x6A, 0xA4, 0x60, 0x0D, 0x9D, 0xD0, 0x83 } }

- ## Include/Guid/NicIp4ConfigNvData.h
- gEfiNicIp4ConfigVariableGuid = {0xd8944553, 0xc4dd, 0x41f4, { 0x9b, 0x30, 0xe1, 0x39, 0x7c, 0xfb, 0x26, 0x7b }}
-
## Include/Guid/StatusCodeCallbackGuid.h
gStatusCodeCallbackGuid = {0xe701458c, 0x4900, 0x4ca5, {0xb7, 0x72, 0x3d, 0x37, 0x94, 0x9f, 0x79, 0x27}}

## GUID identifies status code records HOB that originate from the PEI status code
# Include/Guid/MemoryStatusCodeRecord.h
@@ -262,13 +259,10 @@
gEfiIfrRefreshIdOpGuid = { 0xF5E655D9, 0x02A6, 0x46f2, { 0x9E, 0x76, 0xB8, 0xBE, 0x8E, 0x60, 0xAB, 0x22 }}

## Include/Guid/PlatDriOverrideHii.h
gPlatformOverridesManagerGuid = { 0x8614567d, 0x35be, 0x4415, { 0x8d, 0x88, 0xbd, 0x7d, 0xc, 0x9c, 0x70, 0xc0 }}

- ## Include/Guid/Ip4ConfigHii.h
- gNicIp4ConfigNvDataGuid = { 0x9d5b53f, 0xf4b0, 0x4f59, { 0xa0, 0xb1, 0x7b, 0x57, 0xd3, 0x5c, 0xe, 0x5 }}
-
## Include/Guid/Ip4Config2Hii.h
gIp4Config2NvDataGuid = { 0x9b942747, 0x154e, 0x4d29, { 0xa4, 0x36, 0xbf, 0x71, 0x0, 0xc8, 0xb5, 0x3b }}

## Include/Guid/VlanConfigHii.h
gVlanConfigFormSetGuid = { 0xd79df6b0, 0xef44, 0x43bd, { 0x97, 0x97, 0x43, 0xe9, 0x3b, 0xcf, 0x5f, 0xa8 }}
diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc
index fc518d0..3537ca8 100644
--- a/MdeModulePkg/MdeModulePkg.dsc
+++ b/MdeModulePkg/MdeModulePkg.dsc
@@ -305,11 +305,10 @@
MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf

MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/ComponentName.c b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/ComponentName.c
deleted file mode 100644
index ca68746..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/ComponentName.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/** @file
- UEFI Component Name(2) protocol implementation for Ip4ConfigDxe driver.
-
-Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
-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<BR>
-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.
-
-**/
-
-#include "Ip4Config.h"
-
-//
-// EFI Component Name Protocol
-//
-GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME_PROTOCOL gIp4ConfigComponentName = {
- Ip4ConfigComponentNameGetDriverName,
- Ip4ConfigComponentNameGetControllerName,
- "eng"
-};
-
-//
-// EFI Component Name 2 Protocol
-//
-GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME2_PROTOCOL gIp4ConfigComponentName2 = {
- (EFI_COMPONENT_NAME2_GET_DRIVER_NAME) Ip4ConfigComponentNameGetDriverName,
- (EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME) Ip4ConfigComponentNameGetControllerName,
- "en"
-};
-
-
-GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mIp4ConfigDriverNameTable[] = {
- {"eng;en", L"IP4 CONFIG Network Service Driver"},
- {NULL, NULL}
-};
-
-//
-// EFI Component Name Functions
-//
-
-/**
- Retrieves a Unicode string that is the user readable name of the driver.
-
- This function retrieves the user readable name of a driver in the form of a
- Unicode string. If the driver specified by This has a user readable name in
- the language specified by Language, then a pointer to the driver name is
- returned in DriverName, and EFI_SUCCESS is returned. If the driver specified
- by This does not support the language specified by Language,
- then EFI_UNSUPPORTED is returned.
-
- @param This[in] A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or
- EFI_COMPONENT_NAME_PROTOCOL instance.
- @param Language[in] 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 4646 or ISO 639-2 language code format.
- @param DriverName[out] 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.
- @retval EFI_INVALID_PARAMETER DriverName is NULL.
- @retval EFI_UNSUPPORTED The driver specified by This does not support
- the language specified by Language.
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigComponentNameGetDriverName (
- IN EFI_COMPONENT_NAME_PROTOCOL *This,
- IN CHAR8 *Language,
- OUT CHAR16 **DriverName
- )
-{
- return LookupUnicodeString2 (
- Language,
- This->SupportedLanguages,
- mIp4ConfigDriverNameTable,
- DriverName,
- (BOOLEAN)(This == &gIp4ConfigComponentName)
- );
-}
-
-/**
- Retrieves a Unicode string that is the user readable name of the controller
- that is being managed by a driver.
-
- This function retrieves the user readable name of the controller specified by
- ControllerHandle and ChildHandle in the form of a Unicode string. If the
- driver specified by This has a user readable name in the language specified by
- Language, then a pointer to the controller name is returned in ControllerName,
- and EFI_SUCCESS is returned. If the driver specified by This is not currently
- managing the controller specified by ControllerHandle and ChildHandle,
- then EFI_UNSUPPORTED is returned. If the driver specified by This does not
- support the language specified by Language, then EFI_UNSUPPORTED is returned.
-
- @param This[in] A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or
- EFI_COMPONENT_NAME_PROTOCOL instance.
- @param ControllerHandle[in] 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[in] 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[in] 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 4646 or ISO 639-2 language code format.
- @param ControllerName[out] 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 NULL.
- @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid
- EFI_HANDLE.
- @retval EFI_INVALID_PARAMETER Language is NULL.
- @retval EFI_INVALID_PARAMETER ControllerName is NULL.
- @retval EFI_UNSUPPORTED The driver specified by This is not currently
- managing the controller specified by
- ControllerHandle and ChildHandle.
- @retval EFI_UNSUPPORTED The driver specified by This does not support
- the language specified by Language.
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigComponentNameGetControllerName (
- IN EFI_COMPONENT_NAME_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN EFI_HANDLE ChildHandle OPTIONAL,
- IN CHAR8 *Language,
- OUT CHAR16 **ControllerName
- )
-{
- return EFI_UNSUPPORTED;
-}
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.c b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.c
deleted file mode 100644
index 3d2f0a4..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.c
+++ /dev/null
@@ -1,745 +0,0 @@
-/** @file
- This code implements the IP4Config and NicIp4Config protocols.
-
-Copyright (c) 2014, Hewlett-Packard Development Company, L.P.<BR>
-Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
-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<BR>
-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.
-
-**/
-
-#include "Ip4Config.h"
-#include "NicIp4Variable.h"
-
-//
-// Ip4 Config Protocol
-//
-GLOBAL_REMOVE_IF_UNREFERENCED EFI_IP4_CONFIG_PROTOCOL mIp4ConfigProtocolTemplate = {
- EfiIp4ConfigStart,
- EfiIp4ConfigStop,
- EfiIp4ConfigGetData
-};
-
-/**
- Get the NIC's configure information from the IP4 configure variable.
- It will remove the invalid variable.
-
- @param Instance The IP4 CONFIG instance.
-
- @return NULL if no configure for the NIC in the variable, or it is invalid.
- Otherwise the pointer to the NIC's IP configure parameter will be returned.
-
-**/
-NIC_IP4_CONFIG_INFO *
-EfiNicIp4ConfigGetInfo (
- IN IP4_CONFIG_INSTANCE *Instance
- )
-{
- NIC_IP4_CONFIG_INFO *NicConfig;
-
- //
- // Read the configuration parameter for this NIC from
- // the EFI variable
- //
- NicConfig = Ip4ConfigReadVariable (Instance);
- if (NicConfig == NULL) {
- return NULL;
- }
-
- //
- // Validate the configuration, if the configuration is invalid,
- // remove it from the variable.
- //
- if (!Ip4ConfigIsValid (NicConfig)) {
- Ip4ConfigWriteVariable (Instance, NULL);
-
- FreePool (NicConfig);
- NicConfig = NULL;
- }
-
- return NicConfig;
-}
-
-/**
- Set the IP configure parameters for this NIC.
-
- If Reconfig is TRUE, the IP driver will be informed to discard current
- auto configure parameter and restart the auto configuration process.
- If current there is a pending auto configuration, EFI_ALREADY_STARTED is
- returned. You can only change the configure setting when either
- the configure has finished or not started yet. If NicConfig, the
- NIC's configure parameter is removed from the variable.
-
- @param Instance The IP4 CONFIG instance.
- @param NicConfig The new NIC IP4 configure parameter.
- @param Reconfig Inform the IP4 driver to restart the auto
- configuration.
-
- @retval EFI_SUCCESS The configure parameter for this NIC was
- set successfully.
- @retval EFI_INVALID_PARAMETER This is NULL or the configure parameter is
- invalid.
- @retval EFI_ALREADY_STARTED There is a pending auto configuration.
- @retval EFI_NOT_FOUND No auto configure parameter is found.
-
-**/
-EFI_STATUS
-EFIAPI
-EfiNicIp4ConfigSetInfo (
- IN IP4_CONFIG_INSTANCE *Instance,
- IN NIC_IP4_CONFIG_INFO *NicConfig OPTIONAL,
- IN BOOLEAN Reconfig
- )
-{
- EFI_STATUS Status;
-
- //
- // Validate the parameters
- //
- if (Instance == NULL) {
- return EFI_INVALID_PARAMETER;
- }
-
- if ((NicConfig != NULL) && (!Ip4ConfigIsValid (NicConfig) ||
- !NIC_ADDR_EQUAL (&NicConfig->NicAddr, &Instance->NicAddr))) {
- return EFI_INVALID_PARAMETER;
- }
-
- if (Instance->State == IP4_CONFIG_STATE_STARTED) {
- return EFI_ALREADY_STARTED;
- }
-
- //
- // Update the parameter in the configure variable
- //
- Status = Ip4ConfigWriteVariable (Instance, NicConfig);
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- //
- // Signal the IP4 to run the auto configuration again
- //
- if (Reconfig && (Instance->ReconfigEvent != NULL)) {
- //
- // When NicConfig is NULL, NIC IP4 configuration parameter is removed,
- // the auto configuration process should stop running the configuration
- // policy for the EFI IPv4 Protocol driver.
- //
- if (NicConfig == NULL) {
- Instance->DoNotStart = TRUE;
- }
-
- Status = gBS->SignalEvent (Instance->ReconfigEvent);
- DispatchDpc ();
- }
-
- if (NicConfig == NULL) {
- return Status;
- }
- //
- // A dedicated timer is used to poll underlying media status.In case of
- // cable swap, a new round auto configuration will be initiated. The timer
- // starts in DHCP policy only. STATIC policy stops the timer.
- //
- if (NicConfig->Source == IP4_CONFIG_SOURCE_DHCP) {
- gBS->SetTimer (Instance->Timer, TimerPeriodic, TICKS_PER_SECOND);
- } else if (NicConfig->Source == IP4_CONFIG_SOURCE_STATIC) {
- gBS->SetTimer (Instance->Timer, TimerCancel, 0);
- }
-
- return Status;
-}
-
-/**
- Callback function when DHCP process finished. It will save the
- retrieved IP configure parameter from DHCP to the NVRam.
-
- @param Event The callback event
- @param Context Opaque context to the callback
-
- @return None
-
-**/
-VOID
-EFIAPI
-Ip4ConfigOnDhcp4Complete (
- IN EFI_EVENT Event,
- IN VOID *Context
- )
-{
- IP4_CONFIG_INSTANCE *Instance;
- EFI_DHCP4_MODE_DATA Dhcp4Mode;
- EFI_IP4_IPCONFIG_DATA *Ip4Config;
- EFI_STATUS Status;
- BOOLEAN Permanent;
- IP4_ADDR Subnet;
- IP4_ADDR Ip1;
- IP4_ADDR Ip2;
-
- Instance = (IP4_CONFIG_INSTANCE *) Context;
- ASSERT (Instance->Dhcp4 != NULL);
-
- Instance->State = IP4_CONFIG_STATE_CONFIGURED;
- Instance->Result = EFI_TIMEOUT;
-
- //
- // Get the DHCP retrieved parameters
- //
- Status = Instance->Dhcp4->GetModeData (Instance->Dhcp4, &Dhcp4Mode);
-
- if (EFI_ERROR (Status)) {
- goto ON_EXIT;
- }
-
- if (Dhcp4Mode.State == Dhcp4Bound) {
- //
- // Save the new configuration retrieved by DHCP both in
- // the instance and to NVRam. So, both the IP4 driver and
- // other user can get that address.
- //
- Permanent = FALSE;
-
- if (Instance->NicConfig != NULL) {
- ASSERT (Instance->NicConfig->Source == IP4_CONFIG_SOURCE_DHCP);
- Permanent = Instance->NicConfig->Permanent;
- FreePool (Instance->NicConfig);
- }
-
- Instance->NicConfig = AllocatePool (sizeof (NIC_IP4_CONFIG_INFO) + 2* sizeof (EFI_IP4_ROUTE_TABLE));
-
- if (Instance->NicConfig == NULL) {
- Instance->Result = EFI_OUT_OF_RESOURCES;
- goto ON_EXIT;
- }
-
- Instance->NicConfig->Ip4Info.RouteTable = (EFI_IP4_ROUTE_TABLE *) (Instance->NicConfig + 1);
-
- CopyMem (&Instance->NicConfig->NicAddr, &Instance->NicAddr, sizeof (Instance->NicConfig->NicAddr));
- Instance->NicConfig->Source = IP4_CONFIG_SOURCE_DHCP;
- Instance->NicConfig->Permanent = Permanent;
-
- Ip4Config = &Instance->NicConfig->Ip4Info;
- Ip4Config->StationAddress = Dhcp4Mode.ClientAddress;
- Ip4Config->SubnetMask = Dhcp4Mode.SubnetMask;
-
- //
- // Create a route for the connected network
- //
- Ip4Config->RouteTableSize = 1;
-
- CopyMem (&Ip1, &Dhcp4Mode.ClientAddress, sizeof (IP4_ADDR));
- CopyMem (&Ip2, &Dhcp4Mode.SubnetMask, sizeof (IP4_ADDR));
-
- Subnet = Ip1 & Ip2;
-
- CopyMem (&Ip4Config->RouteTable[0].SubnetAddress, &Subnet, sizeof (EFI_IPv4_ADDRESS));
- CopyMem (&Ip4Config->RouteTable[0].SubnetMask, &Dhcp4Mode.SubnetMask, sizeof (EFI_IPv4_ADDRESS));
- ZeroMem (&Ip4Config->RouteTable[0].GatewayAddress, sizeof (EFI_IPv4_ADDRESS));
-
- //
- // Create a route if there is a default router.
- //
- if (!EFI_IP4_EQUAL (&Dhcp4Mode.RouterAddress, &mZeroIp4Addr)) {
- Ip4Config->RouteTableSize = 2;
-
- ZeroMem (&Ip4Config->RouteTable[1].SubnetAddress, sizeof (EFI_IPv4_ADDRESS));
- ZeroMem (&Ip4Config->RouteTable[1].SubnetMask, sizeof (EFI_IPv4_ADDRESS));
- CopyMem (&Ip4Config->RouteTable[1].GatewayAddress, &Dhcp4Mode.RouterAddress, sizeof (EFI_IPv4_ADDRESS));
- }
-
- Instance->Result = EFI_SUCCESS;
-
- //
- // ignore the return status of EfiNicIp4ConfigSetInfo. Network
- // stack can operate even that failed.
- //
- EfiNicIp4ConfigSetInfo (Instance, Instance->NicConfig, FALSE);
- }
-
-ON_EXIT:
- gBS->SignalEvent (Instance->DoneEvent);
- Ip4ConfigCleanDhcp4 (Instance);
-
- DispatchDpc ();
-
- return ;
-}
-
-/**
- Starts running the configuration policy for the EFI IPv4 Protocol driver.
-
- The Start() function is called to determine and to begin the platform
- configuration policy by the EFI IPv4 Protocol driver. This determination may
- be as simple as returning EFI_UNSUPPORTED if there is no EFI IPv4 Protocol
- driver configuration policy. It may be as involved as loading some defaults
- from nonvolatile storage, downloading dynamic data from a DHCP server, and
- checking permissions with a site policy server.
- Starting the configuration policy is just the beginning. It may finish almost
- instantly or it may take several minutes before it fails to retrieve configuration
- information from one or more servers. Once the policy is started, drivers
- should use the DoneEvent parameter to determine when the configuration policy
- has completed. EFI_IP4_CONFIG_PROTOCOL.GetData() must then be called to
- determine if the configuration succeeded or failed.
- Until the configuration completes successfully, EFI IPv4 Protocol driver instances
- that are attempting to use default configurations must return EFI_NO_MAPPING.
- Once the configuration is complete, the EFI IPv4 Configuration Protocol driver
- signals DoneEvent. The configuration may need to be updated in the future,
- however; in this case, the EFI IPv4 Configuration Protocol driver must signal
- ReconfigEvent, and all EFI IPv4 Protocol driver instances that are using default
- configurations must return EFI_NO_MAPPING until the configuration policy has
- been rerun.
-
- @param This Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.
- @param DoneEvent Event that will be signaled when the EFI IPv4
- Protocol driver configuration policy completes
- execution. This event must be of type EVT_NOTIFY_SIGNAL.
- @param ReconfigEvent Event that will be signaled when the EFI IPv4
- Protocol driver configuration needs to be updated.
- This event must be of type EVT_NOTIFY_SIGNAL.
-
- @retval EFI_SUCCESS The configuration policy for the EFI IPv4 Protocol
- driver is now running.
- @retval EFI_INVALID_PARAMETER One or more of the following parameters is NULL:
- This
- DoneEvent
- ReconfigEvent
- @retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.
- @retval EFI_ALREADY_STARTED The configuration policy for the EFI IPv4 Protocol
- driver was already started.
- @retval EFI_DEVICE_ERROR An unexpected system error or network error occurred.
- @retval EFI_UNSUPPORTED This interface does not support the EFI IPv4 Protocol
- driver configuration.
-
-**/
-EFI_STATUS
-EFIAPI
-EfiIp4ConfigStart (
- IN EFI_IP4_CONFIG_PROTOCOL *This,
- IN EFI_EVENT DoneEvent,
- IN EFI_EVENT ReconfigEvent
- )
-{
- IP4_CONFIG_INSTANCE *Instance;
- EFI_DHCP4_PROTOCOL *Dhcp4;
- EFI_DHCP4_MODE_DATA Dhcp4Mode;
- EFI_DHCP4_PACKET_OPTION *OptionList[1];
- IP4_CONFIG_DHCP4_OPTION ParaList;
- EFI_STATUS Status;
- UINT32 Source;
- EFI_TPL OldTpl;
-
- if ((This == NULL) || (DoneEvent == NULL) || (ReconfigEvent == NULL)) {
- return EFI_INVALID_PARAMETER;
- }
-
- Instance = IP4_CONFIG_INSTANCE_FROM_IP4CONFIG (This);
-
- OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
-
- if (Instance->State != IP4_CONFIG_STATE_IDLE) {
- Status = EFI_ALREADY_STARTED;
-
- goto ON_EXIT;
- }
-
- Instance->DoneEvent = DoneEvent;
- Instance->ReconfigEvent = ReconfigEvent;
-
- Instance->NicConfig = EfiNicIp4ConfigGetInfo (Instance);
-
- if (Instance->NicConfig == NULL) {
- if (Instance->DoNotStart) {
- Instance->DoNotStart = FALSE;
- Status = EFI_SUCCESS;
- goto ON_EXIT;
- }
-
- Source = IP4_CONFIG_SOURCE_DHCP;
- } else {
- Source = Instance->NicConfig->Source;
- }
-
- //
- // If the source is static, the auto configuration is done.
- // return now.
- //
- if (Source == IP4_CONFIG_SOURCE_STATIC) {
- Instance->State = IP4_CONFIG_STATE_CONFIGURED;
- Instance->Result = EFI_SUCCESS;
-
- gBS->SignalEvent (Instance->DoneEvent);
- Status = EFI_SUCCESS;
- goto ON_EXIT;
- }
-
- //
- // Start the dhcp process
- //
- ASSERT ((Source == IP4_CONFIG_SOURCE_DHCP) && (Instance->Dhcp4 == NULL));
-
- Status = NetLibCreateServiceChild (
- Instance->Controller,
- Instance->Image,
- &gEfiDhcp4ServiceBindingProtocolGuid,
- &Instance->Dhcp4Handle
- );
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- Status = gBS->OpenProtocol (
- Instance->Dhcp4Handle,
- &gEfiDhcp4ProtocolGuid,
- (VOID **) &Instance->Dhcp4,
- Instance->Image,
- Instance->Controller,
- EFI_OPEN_PROTOCOL_BY_DRIVER
- );
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- //
- // Check the current DHCP status, if the DHCP process has
- // already finished, return now.
- //
- Dhcp4 = Instance->Dhcp4;
- Status = Dhcp4->GetModeData (Dhcp4, &Dhcp4Mode);
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- if (Dhcp4Mode.State == Dhcp4Bound) {
- Ip4ConfigOnDhcp4Complete (NULL, Instance);
-
- goto ON_EXIT;
- }
-
- //
- // Try to start the DHCP process. Use most of the current
- // DHCP configuration to avoid problems if some DHCP client
- // yields the control of this DHCP service to us.
- //
- ParaList.Head.OpCode = DHCP_TAG_PARA_LIST;
- ParaList.Head.Length = 2;
- ParaList.Head.Data[0] = DHCP_TAG_NETMASK;
- ParaList.Route = DHCP_TAG_ROUTER;
- OptionList[0] = &ParaList.Head;
- Dhcp4Mode.ConfigData.OptionCount = 1;
- Dhcp4Mode.ConfigData.OptionList = OptionList;
-
- Status = Dhcp4->Configure (Dhcp4, &Dhcp4Mode.ConfigData);
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- //
- // Start the DHCP process
- //
- Status = gBS->CreateEvent (
- EVT_NOTIFY_SIGNAL,
- TPL_CALLBACK,
- Ip4ConfigOnDhcp4Complete,
- Instance,
- &Instance->Dhcp4Event
- );
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- Status = Dhcp4->Start (Dhcp4, Instance->Dhcp4Event);
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- Instance->State = IP4_CONFIG_STATE_STARTED;
- Instance->Result = EFI_NOT_READY;
-
-ON_ERROR:
- if (EFI_ERROR (Status)) {
- Ip4ConfigCleanConfig (Instance);
- }
-
-ON_EXIT:
- gBS->RestoreTPL (OldTpl);
-
- DispatchDpc ();
-
- return Status;
-}
-
-
-/**
- Stops running the configuration policy for the EFI IPv4 Protocol driver.
-
- The Stop() function stops the configuration policy for the EFI IPv4 Protocol driver.
- All configuration data will be lost after calling Stop().
-
- @param This Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.
-
- @retval EFI_SUCCESS The configuration policy for the EFI IPv4 Protocol
- driver has been stopped.
- @retval EFI_INVALID_PARAMETER This is NULL.
- @retval EFI_NOT_STARTED The configuration policy for the EFI IPv4 Protocol
- driver was not started.
-
-**/
-EFI_STATUS
-EFIAPI
-EfiIp4ConfigStop (
- IN EFI_IP4_CONFIG_PROTOCOL *This
- )
-{
- IP4_CONFIG_INSTANCE *Instance;
- EFI_STATUS Status;
- EFI_TPL OldTpl;
-
- if (This == NULL) {
- return EFI_INVALID_PARAMETER;
- }
-
- Instance = IP4_CONFIG_INSTANCE_FROM_IP4CONFIG (This);
-
- Status = EFI_SUCCESS;
- OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
-
- if (Instance->State == IP4_CONFIG_STATE_IDLE) {
- Status = EFI_NOT_STARTED;
- goto ON_EXIT;
- }
-
- //
- // Release all the configure parameters. Don't signal the user
- // event. The user wants to abort the configuration, this isn't
- // the configuration done or reconfiguration.
- //
- Ip4ConfigCleanConfig (Instance);
-
-ON_EXIT:
- gBS->RestoreTPL (OldTpl);
-
- return Status;
-}
-
-
-/**
- Returns the default configuration data (if any) for the EFI IPv4 Protocol driver.
-
- The GetData() function returns the current configuration data for the EFI IPv4
- Protocol driver after the configuration policy has completed.
-
- @param This Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.
- @param ConfigDataSize On input, the size of the ConfigData buffer.
- On output, the count of bytes that were written
- into the ConfigData buffer.
- @param ConfigData Pointer to the EFI IPv4 Configuration Protocol
- driver configuration data structure.
- Type EFI_IP4_IPCONFIG_DATA is defined in
- "Related Definitions" below.
-
- @retval EFI_SUCCESS The EFI IPv4 Protocol driver configuration has been returned.
- @retval EFI_INVALID_PARAMETER This is NULL.
- @retval EFI_NOT_STARTED The configuration policy for the EFI IPv4 Protocol
- driver is not running.
- @retval EFI_NOT_READY EFI IPv4 Protocol driver configuration is still running.
- @retval EFI_ABORTED EFI IPv4 Protocol driver configuration could not complete.
- Currently not implemented.
- @retval EFI_BUFFER_TOO_SMALL *ConfigDataSize is smaller than the configuration
- data buffer or ConfigData is NULL.
-
-**/
-EFI_STATUS
-EFIAPI
-EfiIp4ConfigGetData (
- IN EFI_IP4_CONFIG_PROTOCOL *This,
- IN OUT UINTN *ConfigDataSize,
- OUT EFI_IP4_IPCONFIG_DATA *ConfigData OPTIONAL
- )
-{
- IP4_CONFIG_INSTANCE *Instance;
- NIC_IP4_CONFIG_INFO *NicConfig;
- EFI_STATUS Status;
- EFI_TPL OldTpl;
- UINTN Len;
-
- if ((This == NULL) || (ConfigDataSize == NULL)) {
- return EFI_INVALID_PARAMETER;
- }
-
- Instance = IP4_CONFIG_INSTANCE_FROM_IP4CONFIG (This);
-
- Status = EFI_SUCCESS;
- OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
-
- if (Instance->State == IP4_CONFIG_STATE_IDLE) {
- Status = EFI_NOT_STARTED;
- } else if (Instance->State == IP4_CONFIG_STATE_STARTED) {
- Status = EFI_NOT_READY;
- }
-
- if (EFI_ERROR (Status)) {
- goto ON_EXIT;
- }
-
- //
- // Copy the configure data if auto configuration succeeds.
- //
- Status = Instance->Result;
-
- if (Status == EFI_SUCCESS) {
- ASSERT (Instance->NicConfig != NULL);
-
- NicConfig = Instance->NicConfig;
- Len = SIZEOF_IP4_CONFIG_INFO (&NicConfig->Ip4Info);
-
- if ((*ConfigDataSize < Len) || (ConfigData == NULL)) {
- Status = EFI_BUFFER_TOO_SMALL;
- } else {
- CopyMem (ConfigData, &NicConfig->Ip4Info, Len);
- Ip4ConfigFixRouteTablePointer (ConfigData);
- }
-
- *ConfigDataSize = Len;
- }
-
-ON_EXIT:
- gBS->RestoreTPL (OldTpl);
-
- return Status;
-}
-
-/**
- Release all the DHCP related resources.
-
- @param This The IP4 configure instance
-
- @return None
-
-**/
-VOID
-Ip4ConfigCleanDhcp4 (
- IN IP4_CONFIG_INSTANCE *This
- )
-{
- if (This->Dhcp4 != NULL) {
- This->Dhcp4->Stop (This->Dhcp4);
-
- gBS->CloseProtocol (
- This->Dhcp4Handle,
- &gEfiDhcp4ProtocolGuid,
- This->Image,
- This->Controller
- );
-
- This->Dhcp4 = NULL;
- }
-
- if (This->Dhcp4Handle != NULL) {
- NetLibDestroyServiceChild (
- This->Controller,
- This->Image,
- &gEfiDhcp4ServiceBindingProtocolGuid,
- This->Dhcp4Handle
- );
-
- This->Dhcp4Handle = NULL;
- }
-
- if (This->Dhcp4Event != NULL) {
- gBS->CloseEvent (This->Dhcp4Event);
- This->Dhcp4Event = NULL;
- }
-}
-
-
-/**
- Clean up all the configuration parameters.
-
- @param Instance The IP4 configure instance
-
- @return None
-
-**/
-VOID
-Ip4ConfigCleanConfig (
- IN IP4_CONFIG_INSTANCE *Instance
- )
-{
- if (Instance->NicConfig != NULL) {
- FreePool (Instance->NicConfig);
- Instance->NicConfig = NULL;
- }
-
- Instance->State = IP4_CONFIG_STATE_IDLE;
- Instance->DoneEvent = NULL;
- Instance->ReconfigEvent = NULL;
-
- Ip4ConfigCleanDhcp4 (Instance);
-}
-
-
-/**
- A dedicated timer is used to poll underlying media status. In case of
- cable swap, a new round auto configuration will be initiated. The timer
- will signal the IP4 to run the auto configuration again. IP4 driver will free
- old IP address related resource, such as route table and Interface, then
- initiate a DHCP process by IP4Config->Start to acquire new IP, eventually
- create route table for new IP address.
-
- @param[in] Event The IP4 service instance's heart beat timer.
- @param[in] Context The IP4 service instance.
-
-**/
-VOID
-EFIAPI
-MediaChangeDetect (
- IN EFI_EVENT Event,
- IN VOID *Context
- )
-{
- BOOLEAN OldMediaPresent;
- EFI_STATUS Status;
- EFI_SIMPLE_NETWORK_MODE SnpModeData;
- IP4_CONFIG_INSTANCE *Instance;
-
- Instance = (IP4_CONFIG_INSTANCE *) Context;
-
- OldMediaPresent = Instance->MediaPresent;
-
- //
- // Get fresh mode data from MNP, since underlying media status may change
- //
- Status = Instance->Mnp->GetModeData (Instance->Mnp, NULL, &SnpModeData);
- if (EFI_ERROR (Status) && (Status != EFI_NOT_STARTED)) {
- return;
- }
-
- Instance->MediaPresent = SnpModeData.MediaPresent;
- //
- // Media transimit Unpresent to Present means new link movement is detected.
- //
- if (!OldMediaPresent && Instance->MediaPresent) {
- //
- // Signal the IP4 to run the auto configuration again. IP4 driver will free
- // old IP address related resource, such as route table and Interface, then
- // initiate a DHCP round by IP4Config->Start to acquire new IP, eventually
- // create route table for new IP address.
- //
- if (Instance->ReconfigEvent != NULL) {
- Status = gBS->SignalEvent (Instance->ReconfigEvent);
- DispatchDpc ();
- }
- }
-}
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.h b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.h
deleted file mode 100644
index cbe8ec5..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.h
+++ /dev/null
@@ -1,533 +0,0 @@
-/** @file
- Header file for IP4Config driver.
-
-Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
-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<BR>
-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_IP4CONFIG_H_
-#define _EFI_IP4CONFIG_H_
-
-#include <Uefi.h>
-
-#include <Protocol/Dhcp4.h>
-#include <Protocol/Ip4Config.h>
-#include <Protocol/ManagedNetwork.h>
-#include <Protocol/HiiConfigAccess.h>
-#include <Protocol/HiiDatabase.h>
-#include <Protocol/HiiConfigRouting.h>
-#include <Protocol/ServiceBinding.h>
-
-#include <Guid/MdeModuleHii.h>
-#include <Guid/NicIp4ConfigNvData.h>
-
-#include <Library/DevicePathLib.h>
-#include <Library/DebugLib.h>
-#include <Library/UefiRuntimeServicesTableLib.h>
-#include <Library/UefiDriverEntryPoint.h>
-#include <Library/UefiBootServicesTableLib.h>
-#include <Library/UefiLib.h>
-#include <Library/NetLib.h>
-#include <Library/BaseMemoryLib.h>
-#include <Library/MemoryAllocationLib.h>
-#include <Library/HiiLib.h>
-#include <Library/PrintLib.h>
-#include <Library/DpcLib.h>
-#include <Library/UefiHiiServicesLib.h>
-
-
-//
-// Global variables
-//
-extern EFI_DRIVER_BINDING_PROTOCOL gIp4ConfigDriverBinding;
-extern EFI_COMPONENT_NAME_PROTOCOL gIp4ConfigComponentName;
-extern EFI_COMPONENT_NAME2_PROTOCOL gIp4ConfigComponentName2;
-
-extern EFI_IP4_CONFIG_PROTOCOL mIp4ConfigProtocolTemplate;
-
-#define IP4_PROTO_ICMP 0x01
-#define IP4_CONFIG_INSTANCE_SIGNATURE SIGNATURE_32 ('I', 'P', '4', 'C')
-
-#define IP4_CONFIG_STATE_IDLE 0
-#define IP4_CONFIG_STATE_STARTED 1
-#define IP4_CONFIG_STATE_CONFIGURED 2
-
-#define DHCP_TAG_PARA_LIST 55
-#define DHCP_TAG_NETMASK 1
-#define DHCP_TAG_ROUTER 3
-
-
-//
-// Configure the DHCP to request the routers and netmask
-// from server. The DHCP_TAG_NETMASK is included in Head.
-//
-#pragma pack(1)
-typedef struct {
- EFI_DHCP4_PACKET_OPTION Head;
- UINT8 Route;
-} IP4_CONFIG_DHCP4_OPTION;
-#pragma pack()
-
-typedef struct _IP4CONFIG_CALLBACK_INFO {
- BOOLEAN Configured;
- BOOLEAN DhcpEnabled;
- EFI_IPv4_ADDRESS LocalIp;
- EFI_IPv4_ADDRESS SubnetMask;
- EFI_IPv4_ADDRESS Gateway;
-} IP4_SETTING_INFO;
-
-typedef struct _IP4_CONFIG_INSTANCE {
- UINT32 Signature;
- EFI_HANDLE Controller;
- EFI_HANDLE Image;
- EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath;
-
- EFI_IP4_CONFIG_PROTOCOL Ip4ConfigProtocol;
-
- EFI_HII_CONFIG_ACCESS_PROTOCOL HiiConfigAccessProtocol;
- EFI_HANDLE ChildHandle;
- EFI_DEVICE_PATH_PROTOCOL *HiiVendorDevicePath;
- EFI_HII_HANDLE RegisteredHandle;
- IP4_SETTING_INFO Ip4ConfigCallbackInfo;
-
- //
- // NicConfig's state, such as IP4_CONFIG_STATE_IDLE
- //
- INTN State;
-
- //
- // Mnp child to keep the connection with MNP.
- //
- EFI_MANAGED_NETWORK_PROTOCOL *Mnp;
- EFI_HANDLE MnpHandle;
-
- //
- // User's requests data
- //
- EFI_EVENT DoneEvent;
- EFI_EVENT ReconfigEvent;
- EFI_STATUS Result;
-
- //
- // Identity of this interface and some configuration info.
- //
- NIC_ADDR NicAddr;
- CHAR16 *MacString;
- NIC_IP4_CONFIG_INFO *NicConfig;
-
- //
- // DHCP handles to access DHCP
- //
- EFI_DHCP4_PROTOCOL *Dhcp4;
- EFI_HANDLE Dhcp4Handle;
- EFI_EVENT Dhcp4Event;
-
- //
- // A dedicated timer is used to poll underlying media status
- //
- EFI_EVENT Timer;
-
- //
- // Underlying media present status.
- //
- BOOLEAN MediaPresent;
-
- //
- // A flag to indicate EfiIp4ConfigStart should not run
- //
- BOOLEAN DoNotStart;
-} IP4_CONFIG_INSTANCE;
-
-#define IP4_CONFIG_INSTANCE_FROM_IP4CONFIG(this) \
- CR (this, IP4_CONFIG_INSTANCE, Ip4ConfigProtocol, IP4_CONFIG_INSTANCE_SIGNATURE)
-
-#define IP4_CONFIG_INSTANCE_FROM_CONFIG_ACCESS(this) \
- CR (this, IP4_CONFIG_INSTANCE, HiiConfigAccessProtocol, IP4_CONFIG_INSTANCE_SIGNATURE)
-
-
-/**
- Set the IP configure parameters for this NIC.
-
- If Reconfig is TRUE, the IP driver will be informed to discard current
- auto configure parameter and restart the auto configuration process.
- If current there is a pending auto configuration, EFI_ALREADY_STARTED is
- returned. You can only change the configure setting when either
- the configure has finished or not started yet. If NicConfig, the
- NIC's configure parameter is removed from the variable.
-
- @param Instance The IP4 CONFIG instance.
- @param NicConfig The new NIC IP4 configure parameter.
- @param Reconfig Inform the IP4 driver to restart the auto
- configuration.
-
- @retval EFI_SUCCESS The configure parameter for this NIC was
- set successfully.
- @retval EFI_INVALID_PARAMETER This is NULL or the configure parameter is
- invalid.
- @retval EFI_ALREADY_STARTED There is a pending auto configuration.
- @retval EFI_NOT_FOUND No auto configure parameter is found.
-
-**/
-EFI_STATUS
-EFIAPI
-EfiNicIp4ConfigSetInfo (
- IN IP4_CONFIG_INSTANCE *Instance,
- IN NIC_IP4_CONFIG_INFO *NicConfig OPTIONAL,
- IN BOOLEAN Reconfig
- );
-
-/**
- Get the NIC's configure information from the IP4 configure variable.
- It will remove the invalid variable.
-
- @param Instance The IP4 CONFIG instance.
-
- @return NULL if no configure for the NIC in the variable, or it is invalid.
- Otherwise the pointer to the NIC's IP configure parameter will be returned.
-
-**/
-NIC_IP4_CONFIG_INFO *
-EfiNicIp4ConfigGetInfo (
- IN IP4_CONFIG_INSTANCE *Instance
- );
-
-/**
- Release all the DHCP related resources.
-
- @param This The IP4 configure instance
-
- @return None
-
-**/
-VOID
-Ip4ConfigCleanDhcp4 (
- IN IP4_CONFIG_INSTANCE *This
- );
-
-/**
- Clean up all the configuration parameters.
-
- @param Instance The IP4 configure instance
-
- @return None
-
-**/
-VOID
-Ip4ConfigCleanConfig (
- IN IP4_CONFIG_INSTANCE *Instance
- );
-
-//
-// EFI Component Name Functions
-//
-
-/**
- Retrieves a Unicode string that is the user readable name of the driver.
-
- This function retrieves the user readable name of a driver in the form of a
- Unicode string. If the driver specified by This has a user readable name in
- the language specified by Language, then a pointer to the driver name is
- returned in DriverName, and EFI_SUCCESS is returned. If the driver specified
- by This does not support the language specified by Language,
- then EFI_UNSUPPORTED is returned.
-
- @param This[in] A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or
- EFI_COMPONENT_NAME_PROTOCOL instance.
- @param Language[in] 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 or ISO 639-2 language code format.
- @param DriverName[out] 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.
- @retval EFI_INVALID_PARAMETER DriverName is NULL.
- @retval EFI_UNSUPPORTED The driver specified by This does not support
- the language specified by Language.
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigComponentNameGetDriverName (
- IN EFI_COMPONENT_NAME_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 a driver.
-
- This function retrieves the user readable name of the controller specified by
- ControllerHandle and ChildHandle in the form of a Unicode string. If the
- driver specified by This has a user readable name in the language specified by
- Language, then a pointer to the controller name is returned in ControllerName,
- and EFI_SUCCESS is returned. If the driver specified by This is not currently
- managing the controller specified by ControllerHandle and ChildHandle,
- then EFI_UNSUPPORTED is returned. If the driver specified by This does not
- support the language specified by Language, then EFI_UNSUPPORTED is returned.
-
- @param This[in] A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or
- EFI_COMPONENT_NAME_PROTOCOL instance.
- @param ControllerHandle[in] 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[in] 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[in] 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 or ISO 639-2 language code format.
- @param ControllerName[out] 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 NULL.
- @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid
- EFI_HANDLE.
- @retval EFI_INVALID_PARAMETER Language is NULL.
- @retval EFI_INVALID_PARAMETER ControllerName is NULL.
- @retval EFI_UNSUPPORTED The driver specified by This is not currently
- managing the controller specified by
- ControllerHandle and ChildHandle.
- @retval EFI_UNSUPPORTED The driver specified by This does not support
- the language specified by Language.
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigComponentNameGetControllerName (
- IN EFI_COMPONENT_NAME_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN EFI_HANDLE ChildHandle OPTIONAL,
- IN CHAR8 *Language,
- OUT CHAR16 **ControllerName
- );
-
-/**
- Test to see if this driver supports ControllerHandle.
-
- @param This Protocol instance pointer.
- @param ControllerHandle Handle of device to test
- @param RemainingDevicePath Optional parameter use to pick a specific child
- device to start.
-
- @retval EFI_SUCCES This driver supports this device
- @retval EFI_ALREADY_STARTED This driver is already running on this device
- @retval other This driver does not support this device
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigDriverBindingSupported (
- IN EFI_DRIVER_BINDING_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
- );
-
-/**
- Start this driver on ControllerHandle.
-
- @param This Protocol instance pointer.
- @param ControllerHandle Handle of device to bind driver to
- @param RemainingDevicePath Optional parameter use to pick a specific child
- device to start.
-
- @retval EFI_SUCCES This driver is added to ControllerHandle
- @retval EFI_ALREADY_STARTED This driver is already running on ControllerHandle
- @retval other This driver does not support this device
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigDriverBindingStart (
- IN EFI_DRIVER_BINDING_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
- );
-
-/**
- Stop this driver on ControllerHandle.
-
- @param This Protocol instance pointer.
- @param ControllerHandle Handle of device to stop driver on
- @param NumberOfChildren Number of Handles in ChildHandleBuffer. If number of
- children is zero stop the entire bus driver.
- @param ChildHandleBuffer List of Child Handles to Stop.
-
- @retval EFI_SUCCES This driver is removed ControllerHandle
- @retval other This driver was not removed from this device
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigDriverBindingStop (
- IN EFI_DRIVER_BINDING_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN UINTN NumberOfChildren,
- IN EFI_HANDLE *ChildHandleBuffer
- );
-
-/**
- Starts running the configuration policy for the EFI IPv4 Protocol driver.
-
- The Start() function is called to determine and to begin the platform
- configuration policy by the EFI IPv4 Protocol driver. This determination may
- be as simple as returning EFI_UNSUPPORTED if there is no EFI IPv4 Protocol
- driver configuration policy. It may be as involved as loading some defaults
- from nonvolatile storage, downloading dynamic data from a DHCP server, and
- checking permissions with a site policy server.
- Starting the configuration policy is just the beginning. It may finish almost
- instantly or it may take several minutes before it fails to retrieve configuration
- information from one or more servers. Once the policy is started, drivers
- should use the DoneEvent parameter to determine when the configuration policy
- has completed. EFI_IP4_CONFIG_PROTOCOL.GetData() must then be called to
- determine if the configuration succeeded or failed.
- Until the configuration completes successfully, EFI IPv4 Protocol driver instances
- that are attempting to use default configurations must return EFI_NO_MAPPING.
- Once the configuration is complete, the EFI IPv4 Configuration Protocol driver
- signals DoneEvent. The configuration may need to be updated in the future,
- however; in this case, the EFI IPv4 Configuration Protocol driver must signal
- ReconfigEvent, and all EFI IPv4 Protocol driver instances that are using default
- configurations must return EFI_NO_MAPPING until the configuration policy has
- been rerun.
-
- @param This Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.
- @param DoneEvent Event that will be signaled when the EFI IPv4
- Protocol driver configuration policy completes
- execution. This event must be of type EVT_NOTIFY_SIGNAL.
- @param ReconfigEvent Event that will be signaled when the EFI IPv4
- Protocol driver configuration needs to be updated.
- This event must be of type EVT_NOTIFY_SIGNAL.
-
- @retval EFI_SUCCESS The configuration policy for the EFI IPv4 Protocol
- driver is now running.
- @retval EFI_INVALID_PARAMETER One or more of the following parameters is NULL:
- This
- DoneEvent
- ReconfigEvent
- @retval EFI_OUT_OF_RESOURCES Required system resources could not be allocated.
- @retval EFI_ALREADY_STARTED The configuration policy for the EFI IPv4 Protocol
- driver was already started.
- @retval EFI_DEVICE_ERROR An unexpected system error or network error occurred.
- @retval EFI_UNSUPPORTED This interface does not support the EFI IPv4 Protocol
- driver configuration.
-
-**/
-EFI_STATUS
-EFIAPI
-EfiIp4ConfigStart (
- IN EFI_IP4_CONFIG_PROTOCOL *This,
- IN EFI_EVENT DoneEvent,
- IN EFI_EVENT ReconfigEvent
- );
-
-/**
- Stops running the configuration policy for the EFI IPv4 Protocol driver.
-
- The Stop() function stops the configuration policy for the EFI IPv4 Protocol driver.
- All configuration data will be lost after calling Stop().
-
- @param This Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.
-
- @retval EFI_SUCCESS The configuration policy for the EFI IPv4 Protocol
- driver has been stopped.
- @retval EFI_INVALID_PARAMETER This is NULL.
- @retval EFI_NOT_STARTED The configuration policy for the EFI IPv4 Protocol
- driver was not started.
-
-**/
-EFI_STATUS
-EFIAPI
-EfiIp4ConfigStop (
- IN EFI_IP4_CONFIG_PROTOCOL *This
- );
-
-/**
- Returns the default configuration data (if any) for the EFI IPv4 Protocol driver.
-
- The GetData() function returns the current configuration data for the EFI IPv4
- Protocol driver after the configuration policy has completed.
-
- @param This Pointer to the EFI_IP4_CONFIG_PROTOCOL instance.
- @param ConfigDataSize On input, the size of the ConfigData buffer.
- On output, the count of bytes that were written
- into the ConfigData buffer.
- @param ConfigData Pointer to the EFI IPv4 Configuration Protocol
- driver configuration data structure.
- Type EFI_IP4_IPCONFIG_DATA is defined in
- "Related Definitions" below.
-
- @retval EFI_SUCCESS The EFI IPv4 Protocol driver configuration has been returned.
- @retval EFI_INVALID_PARAMETER This is NULL.
- @retval EFI_NOT_STARTED The configuration policy for the EFI IPv4 Protocol
- driver is not running.
- @retval EFI_NOT_READY EFI IPv4 Protocol driver configuration is still running.
- @retval EFI_ABORTED EFI IPv4 Protocol driver configuration could not complete.
- Currently not implemented.
- @retval EFI_BUFFER_TOO_SMALL *ConfigDataSize is smaller than the configuration
- data buffer or ConfigData is NULL.
-
-**/
-EFI_STATUS
-EFIAPI
-EfiIp4ConfigGetData (
- IN EFI_IP4_CONFIG_PROTOCOL *This,
- IN OUT UINTN *ConfigDataSize,
- OUT EFI_IP4_IPCONFIG_DATA *ConfigData OPTIONAL
- );
-
-/**
- A dedicated timer is used to poll underlying media status. In case of
- cable swap, a new round auto configuration will be initiated. The timer
- will signal the IP4 to run the auto configuration again. IP4 driver will free
- old IP address related resource, such as route table and Interface, then
- initiate a DHCP round by IP4Config->Start to acquire new IP, eventually
- create route table for new IP address.
-
- @param[in] Event The IP4 service instance's heart beat timer.
- @param[in] Context The IP4 service instance.
-
-**/
-VOID
-EFIAPI
-MediaChangeDetect (
- IN EFI_EVENT Event,
- IN VOID *Context
- );
-
-#endif
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c
deleted file mode 100644
index 56cce6e..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c
+++ /dev/null
@@ -1,505 +0,0 @@
-/** @file
- The driver binding for IP4 CONFIG protocol.
-
-Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
-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<BR>
-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.
-
-**/
-
-
-#include "Ip4Config.h"
-#include "Ip4ConfigNv.h"
-#include "NicIp4Variable.h"
-
-EFI_DRIVER_BINDING_PROTOCOL gIp4ConfigDriverBinding = {
- Ip4ConfigDriverBindingSupported,
- Ip4ConfigDriverBindingStart,
- Ip4ConfigDriverBindingStop,
- 0xa,
- NULL,
- NULL
-};
-
-//
-// The intance of template of IP4 Config private data
-//
-IP4_CONFIG_INSTANCE mIp4ConfigTemplate = {
- IP4_CONFIG_INSTANCE_SIGNATURE,
- NULL,
- NULL,
- (EFI_DEVICE_PATH_PROTOCOL *) NULL,
- {
- NULL,
- NULL,
- NULL
- },
- {
- NULL,
- NULL,
- NULL
- },
- NULL,
- (EFI_DEVICE_PATH_PROTOCOL *) NULL,
- NULL,
- {
- FALSE,
- FALSE,
- {
- {
- 0
- }
- },
- {
- {
- 0
- }
- },
- {
- {
- 0
- }
- }
- },
- 0,
- (EFI_MANAGED_NETWORK_PROTOCOL *) NULL,
- NULL,
- NULL,
- NULL,
- 0,
- {
- 0,
- 0,
- {
- {
- 0
- }
- }
- },
- (CHAR16 *) NULL,
- (NIC_IP4_CONFIG_INFO *) NULL,
- (EFI_DHCP4_PROTOCOL *) NULL,
- NULL,
- NULL,
- NULL,
- TRUE,
- FALSE
-};
-
-/**
- The entry point for IP4 config driver which install the driver
- binding and component name protocol on its image.
-
- @param ImageHandle The image handle of the driver.
- @param SystemTable The system table.
-
- @retval EFI_SUCCES All the related protocols are installed on the driver.
- @retval Others Failed to install protocols.
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigDriverEntryPoint (
- IN EFI_HANDLE ImageHandle,
- IN EFI_SYSTEM_TABLE *SystemTable
- )
-{
- mIp4ConfigTemplate.Result = EFI_NOT_READY;
-
- return EfiLibInstallDriverBindingComponentName2 (
- ImageHandle,
- SystemTable,
- &gIp4ConfigDriverBinding,
- ImageHandle,
- &gIp4ConfigComponentName,
- &gIp4ConfigComponentName2
- );
-}
-
-
-/**
- Test to see if this driver supports ControllerHandle.
-
- @param This Protocol instance pointer.
- @param ControllerHandle Handle of device to test
- @param RemainingDevicePath Optional parameter use to pick a specific child
- device to start.
-
- @retval EFI_SUCCES This driver supports this device
- @retval EFI_ALREADY_STARTED This driver is already running on this device
- @retval other This driver does not support this device
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigDriverBindingSupported (
- IN EFI_DRIVER_BINDING_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
- )
-{
- EFI_STATUS Status;
-
- Status = gBS->OpenProtocol (
- ControllerHandle,
- &gEfiManagedNetworkServiceBindingProtocolGuid,
- NULL,
- This->DriverBindingHandle,
- ControllerHandle,
- EFI_OPEN_PROTOCOL_TEST_PROTOCOL
- );
-
- return Status;
-}
-
-
-/**
- Start this driver on ControllerHandle.
-
- @param This Protocol instance pointer.
- @param ControllerHandle Handle of device to bind driver to
- @param RemainingDevicePath Optional parameter use to pick a specific child
- device to start.
-
- @retval EFI_SUCCES This driver is added to ControllerHandle
- @retval EFI_ALREADY_STARTED This driver is already running on ControllerHandle
- @retval other This driver does not support this device
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigDriverBindingStart (
- IN EFI_DRIVER_BINDING_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
- )
-{
- EFI_IP4_CONFIG_PROTOCOL *Ip4Config;
- EFI_MANAGED_NETWORK_PROTOCOL *Mnp;
- EFI_HANDLE MnpHandle;
- IP4_CONFIG_INSTANCE *Instance;
- EFI_SIMPLE_NETWORK_MODE SnpMode;
- NIC_IP4_CONFIG_INFO *NicConfig;
- EFI_STATUS Status;
- EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath;
-
- Status = gBS->HandleProtocol (
- ControllerHandle,
- &gEfiDevicePathProtocolGuid,
- (VOID **) &ParentDevicePath
- );
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- //
- // Check for multiple start.
- //
- Status = gBS->OpenProtocol (
- ControllerHandle,
- &gEfiIp4ConfigProtocolGuid,
- (VOID **) &Ip4Config,
- This->DriverBindingHandle,
- ControllerHandle,
- EFI_OPEN_PROTOCOL_GET_PROTOCOL
- );
-
- if (!EFI_ERROR (Status)) {
- return EFI_ALREADY_STARTED;
- }
-
- //
- // Create a MNP child
- //
- Mnp = NULL;
- MnpHandle = NULL;
- Instance = NULL;
-
- Status = NetLibCreateServiceChild (
- ControllerHandle,
- This->DriverBindingHandle,
- &gEfiManagedNetworkServiceBindingProtocolGuid,
- &MnpHandle
- );
-
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- Status = gBS->OpenProtocol (
- MnpHandle,
- &gEfiManagedNetworkProtocolGuid,
- (VOID **) &Mnp,
- This->DriverBindingHandle,
- ControllerHandle,
- EFI_OPEN_PROTOCOL_BY_DRIVER
- );
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- //
- // Allocate an instance then initialize it
- //
- Instance = AllocateCopyPool (sizeof (IP4_CONFIG_INSTANCE), &mIp4ConfigTemplate);
-
- if (Instance == NULL) {
- Status = EFI_OUT_OF_RESOURCES;
- goto ON_ERROR;
- }
-
- Instance->Controller = ControllerHandle;
- Instance->Image = This->DriverBindingHandle;
- Instance->ParentDevicePath = ParentDevicePath;
-
- CopyMem (&Instance->Ip4ConfigProtocol, &mIp4ConfigProtocolTemplate, sizeof (mIp4ConfigProtocolTemplate));
-
- Instance->State = IP4_CONFIG_STATE_IDLE;
- Instance->Mnp = Mnp;
- Instance->MnpHandle = MnpHandle;
-
- Status = Mnp->GetModeData (Mnp, NULL, &SnpMode);
-
- if (EFI_ERROR (Status) && (Status != EFI_NOT_STARTED)) {
- goto ON_ERROR;
- }
-
- Instance->NicAddr.Type = (UINT16) SnpMode.IfType;
- Instance->NicAddr.Len = (UINT8) SnpMode.HwAddressSize;
- CopyMem (&Instance->NicAddr.MacAddr, &SnpMode.CurrentAddress, Instance->NicAddr.Len);
-
- //
- // Add it to the global list, and compose the name
- //
- Status = NetLibGetMacString (Instance->Controller, Instance->Image, &Instance->MacString);
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- Status = Ip4ConfigDeviceInit (Instance);
-
- //
- // Install the IP4_CONFIG protocols
- //
- Status = gBS->InstallMultipleProtocolInterfaces (
- &ControllerHandle,
- &gEfiIp4ConfigProtocolGuid,
- &Instance->Ip4ConfigProtocol,
- NULL
- );
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- //
- // A dedicated timer is used to poll underlying media status.
- //
- Status = gBS->CreateEvent (
- EVT_NOTIFY_SIGNAL | EVT_TIMER,
- TPL_CALLBACK,
- MediaChangeDetect,
- Instance,
- &Instance->Timer
- );
-
- if (EFI_ERROR (Status)) {
- goto ON_ERROR;
- }
-
- //
- // Get the previous configure parameters. If an error happend here,
- // just ignore it because the driver should be able to operate.
- //
- NicConfig = Ip4ConfigReadVariable (Instance);
- if (NicConfig != NULL) {
- if (!NicConfig->Permanent) {
- //
- // Delete the non-permanent configuration.
- //
- Ip4ConfigWriteVariable (Instance, NULL);
- }
-
- FreePool (NicConfig);
- }
-
- return EFI_SUCCESS;
-
-ON_ERROR:
- if (Instance != NULL) {
- FreePool (Instance);
- }
-
- if (Mnp != NULL) {
- gBS->CloseProtocol (
- MnpHandle,
- &gEfiManagedNetworkProtocolGuid,
- This->DriverBindingHandle,
- ControllerHandle
- );
- }
-
- NetLibDestroyServiceChild (
- ControllerHandle,
- This->DriverBindingHandle,
- &gEfiManagedNetworkServiceBindingProtocolGuid,
- MnpHandle
- );
-
- return Status;
-}
-
-
-/**
- Stop this driver on ControllerHandle.
-
- @param This Protocol instance pointer.
- @param ControllerHandle Handle of device to stop driver on
- @param NumberOfChildren Number of Handles in ChildHandleBuffer. If number of
- children is zero stop the entire bus driver.
- @param ChildHandleBuffer List of Child Handles to Stop.
-
- @retval EFI_SUCCES This driver is removed ControllerHandle
- @retval other This driver was not removed from this device
-
-**/
-EFI_STATUS
-EFIAPI
-Ip4ConfigDriverBindingStop (
- IN EFI_DRIVER_BINDING_PROTOCOL *This,
- IN EFI_HANDLE ControllerHandle,
- IN UINTN NumberOfChildren,
- IN EFI_HANDLE *ChildHandleBuffer
- )
-{
- IP4_CONFIG_INSTANCE *Instance;
- EFI_IP4_CONFIG_PROTOCOL *Ip4Config;
- EFI_HANDLE NicHandle;
- EFI_STATUS Status;
-
- //
- // IP4_CONFIG instance opens an MNP child. It may also create and open
- // a DHCP child. If this is the DHCP handle, stop the DHCP process. If
- // it is the MNP child, stop the whole driver.
- //
- //
- NicHandle = NetLibGetNicHandle (ControllerHandle, &gEfiDhcp4ProtocolGuid);
-
- if (NicHandle != NULL) {
- //
- // Get our context back then clean the DHCP up. Notify the user if necessary.
- //
- Status = gBS->OpenProtocol (
- NicHandle,
- &gEfiIp4ConfigProtocolGuid,
- (VOID **) &Ip4Config,
- This->DriverBindingHandle,
- ControllerHandle,
- EFI_OPEN_PROTOCOL_GET_PROTOCOL
- );
-
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- Instance = IP4_CONFIG_INSTANCE_FROM_IP4CONFIG (Ip4Config);
- ASSERT (ControllerHandle == Instance->Dhcp4Handle);
-
- Ip4ConfigCleanDhcp4 (Instance);
-
- Instance->State = IP4_CONFIG_STATE_CONFIGURED;
- Instance->Result = EFI_DEVICE_ERROR;
-
- if (Instance->DoneEvent != NULL) {
- gBS->SignalEvent (Instance->DoneEvent);
- }
-
- return EFI_SUCCESS;
- }
-
- //
- // This is a MNP handle, stop the whole driver
- //
- NicHandle = NetLibGetNicHandle (ControllerHandle, &gEfiManagedNetworkProtocolGuid);
-
- if (NicHandle == NULL) {
- return EFI_SUCCESS;
- }
-
- //
- // Get our context back.
- //
- Status = gBS->OpenProtocol (
- NicHandle,
- &gEfiIp4ConfigProtocolGuid,
- (VOID **) &Ip4Config,
- This->DriverBindingHandle,
- ControllerHandle,
- EFI_OPEN_PROTOCOL_GET_PROTOCOL
- );
-
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- Instance = IP4_CONFIG_INSTANCE_FROM_IP4CONFIG (Ip4Config);
-
- Ip4ConfigDeviceUnload (Instance);
-
- //
- // Unload the protocols first to inform the top drivers
- //
- Status = gBS->UninstallMultipleProtocolInterfaces (
- NicHandle,
- &gEfiIp4ConfigProtocolGuid,
- &Instance->Ip4ConfigProtocol,
- NULL
- );
-
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- //
- // Release all the resources
- //
- if (Instance->MnpHandle != NULL) {
- gBS->CloseProtocol (
- Instance->MnpHandle,
- &gEfiManagedNetworkProtocolGuid,
- This->DriverBindingHandle,
- NicHandle
- );
-
- NetLibDestroyServiceChild (
- NicHandle,
- Instance->Image,
- &gEfiManagedNetworkServiceBindingProtocolGuid,
- Instance->MnpHandle
- );
-
- Instance->Mnp = NULL;
- Instance->MnpHandle = NULL;
- }
-
- if (Instance->MacString != NULL) {
- FreePool (Instance->MacString);
- }
-
- if (Instance->Timer != NULL) {
- gBS->SetTimer (Instance->Timer, TimerCancel, 0);
- gBS->CloseEvent (Instance->Timer);
- Instance->Timer = NULL;
- }
-
- Ip4ConfigCleanConfig (Instance);
- FreePool (Instance);
-
- return EFI_SUCCESS;
-}
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
deleted file mode 100644
index c119982..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
+++ /dev/null
@@ -1,91 +0,0 @@
-## @file
-# This module produces EFI IPv4 Configuration Protocol.
-#
-# This module produces EFI IPv4 Configuration Protocol upon EFI MNP Protocol,
-# to performs platform- and policy-dependent configuration for the EFI IPv4
-# Protocol driver. It installs EFI HII Configuration Access Protocol to provide
-# one way to configurate the IPv4 network setting.
-#
-# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
-# 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.
-#
-#
-##
-
-[Defines]
- INF_VERSION = 0x00010005
- BASE_NAME = Ip4ConfigDxe
- MODULE_UNI_FILE = Ip4ConfigDxe.uni
- FILE_GUID = 26841BDE-920A-4e7a-9FBE-637F477143A6
- MODULE_TYPE = UEFI_DRIVER
- VERSION_STRING = 1.0
- ENTRY_POINT = Ip4ConfigDriverEntryPoint
- UNLOAD_IMAGE = NetLibDefaultUnload
-#
-# The following information is for reference only and not required by the build tools.
-#
-# VALID_ARCHITECTURES = IA32 X64 IPF EBC
-#
-
-[Sources]
- ComponentName.c
- NicIp4Variable.c
- Ip4ConfigDriver.c
- Ip4Config.h
- NicIp4Variable.h
- Ip4Config.c
- Ip4ConfigDxe.vfr
- Ip4ConfigDxeStrings.uni
- Ip4NvData.h
- Ip4ConfigNv.h
- Ip4ConfigNv.c
-
-[Packages]
- MdePkg/MdePkg.dec
- MdeModulePkg/MdeModulePkg.dec
-
-
-[LibraryClasses]
- UefiLib
- UefiBootServicesTableLib
- UefiDriverEntryPoint
- UefiRuntimeServicesTableLib
- DebugLib
- NetLib
- HiiLib
- PrintLib
- DpcLib
- DevicePathLib
-
-[Protocols]
- gEfiIp4ConfigProtocolGuid ## BY_START
- gEfiManagedNetworkServiceBindingProtocolGuid ## TO_START
- gEfiManagedNetworkProtocolGuid ## TO_START
- gEfiDhcp4ServiceBindingProtocolGuid ## TO_START
- gEfiDhcp4ProtocolGuid ## TO_START
- gEfiHiiConfigAccessProtocolGuid ## BY_START
- ## TO_START
- ## BY_START
- gEfiDevicePathProtocolGuid
-
-[Guids]
- ## SOMETIMES_CONSUMES ## GUID # HiiIsConfigHdrMatch EFI_NIC_IP4_CONFIG_VARIABLE
- ## SOMETIMES_PRODUCES ## GUID # HiiConstructConfigHdr EFI_NIC_IP4_CONFIG_VARIABLE
- ## SOMETIMES_PRODUCES ## Variable
- ## SOMETIMES_CONSUMES ## Variable
- ## SOMETIMES_PRODUCES ## GUID # Device Path Node
- gEfiNicIp4ConfigVariableGuid
- ## SOMETIMES_CONSUMES ## GUID # HiiIsConfigHdrMatch EFI_NIC_IP4_CONFIG_VARIABLE
- ## SOMETIMES_PRODUCES ## GUID # HiiConstructConfigHdr EFI_NIC_IP4_CONFIG_VARIABLE
- ## SOMETIMES_PRODUCES ## GUID # HiiGetBrowserData EFI_NIC_IP4_CONFIG_VARIABLE
- ## SOMETIMES_CONSUMES ## HII
- gNicIp4ConfigNvDataGuid
-
-[UserExtensions.TianoCore."ExtraFiles"]
- Ip4ConfigDxeExtra.uni
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.uni b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.uni
deleted file mode 100644
index efd16bdebb5741cfb6ce4e1e62ee41c5c8debad6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2700
zcmchZUr!T36vgkeiQi#UUerKQV|*~iSft1Xp`?_cPi9L?X)LtaE=9h)`a3h7ot74h
***@11+kJ#%KJzkhAorX_qY_$Bty&a7_(>)KO$!l>q2cFx$C)`bnNV^?lIv61D|
z{wemFuiK8L)TtfX#NN>QgvF)v*<)R9nHBibSb~k#7ksCD1FM!XA3t^iy3rI@$YS3P
zz_^HWy~LR~^kSk*E@!OI;Ydu3$Va(`u?@yDvhKJ!W!op~8{1%{>(*<oi$#Hj__&KT
z?@^***@v0vmoa(A2Gga|otCk}0uwW*8NC)Su&2CBi_KJH?n{ruZ5)<Em`UwJRa)cyvo
zOo*;5BSz(^EUt-uL+!1X<u9v{bJUks7pxZZKd>0PzBG1ey`_p$E+b-zi5?t^?`LH2
zocguB<oA}A_Dj82sCb=rioXKi1KRSC<3nZCv-qqz29p`z;v{FCaOIBq4yfMSmNo4|
z$wTBLo;82EdM?HVUV?f82btr2h~7qS?q-^^PN`5SUZ0kBH2TjRnuJm5PkIwFsWSN2
zYVDCmCVaXLGHX+6?1~kd&1nZDK9<****@Zxu{!|HI}#l(>F5Z7(lk!{oeGKVE%y>|D`
zDW$MTWii`6801kH{N1EjQn9jbgEPd{zKB(!KVw`P*SfC#q`Zx3o)^!hblIM+A5Iw%
zqGE<u>8M~Q-nlzd3iI5`K6gx4onCs(&&L=u(gt}4&***@p8@=8Hufy?Q+}dyfv+1
zpDAm$Pd|mz1XfkI7)?>yF|E2|`j{JSn|2eM;34ipin8li968SoT2i#i3bp*oYlV8t
z_0^lb3s0Dr*M^Ij*a=omhwOmy6tD8paM7Fegk58b*}_&fit4R)uvPSL)O*YbxlUqz
z8pUT(x38t2=skstLv*E>+e>c&y>^?9S#hdwtyGV0jsz6q?>n9v_&CN}onDRH{Y(wE
zTG-w7TVpqM8uadEl+vFxv4Jlkt$^_VzMqvcpZnz^B^;53RB~9dzbv2Cx#)yF#(#u=
zd#82I{p+*(eb%k!Ppw-19S*md?s|VVAL7Mc_G;eur4Dy+_|NiCFShQxRj;%Z9`M}%
Ig^sHI1Fg%p3jhEB

diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr
deleted file mode 100644
index bd3e36a..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr
+++ /dev/null
@@ -1,89 +0,0 @@
-/** @file
- Vfr file for IP4 config.
-
-Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
-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.
-
-**/
-#include "Ip4NvData.h"
-
-#define EFI_NETWORK_DEVICE_CLASS 0x04
-
-formset
- guid = EFI_NIC_IP4_CONFIG_NVDATA_GUID,
- title = STRING_TOKEN(STR_IP4_CONFIG_FORM_TITLE),
- help = STRING_TOKEN(STR_IP4_CONFIG_FORM_HELP),
-
- varstore IP4_CONFIG_IFR_NVDATA,
- name = EfiNicIp4ConfigVariable,
- guid = EFI_NIC_IP4_CONFIG_NVDATA_GUID;
-
- form formid = FORMID_MAIN_FORM,
- title = STRING_TOKEN(STR_IP4_DEVICE_FORM_TITLE);
-
- checkbox varid = EfiNicIp4ConfigVariable.Configure,
- prompt = STRING_TOKEN(STR_IP4_CONFIGURE),
- help = STRING_TOKEN(STR_IP4_CONFIGURE),
- flags = INTERACTIVE,
- key = KEY_ENABLE,
- endcheckbox;
-
- suppressif ideqval EfiNicIp4ConfigVariable.Configure == 0x00;
-
- checkbox varid = EfiNicIp4ConfigVariable.DhcpEnable,
- prompt = STRING_TOKEN(STR_IP4_ENABLE_DHCP),
- help = STRING_TOKEN(STR_IP4_ENABLE_DHCP),
- flags = INTERACTIVE,
- key = KEY_DHCP_ENABLE,
- endcheckbox;
- endif;
-
- suppressif ideqval EfiNicIp4ConfigVariable.DhcpEnable == 0x01 OR ideqval EfiNicIp4ConfigVariable.Configure == 0x00;
-
- string varid = EfiNicIp4ConfigVariable.StationAddress,
- prompt = STRING_TOKEN(STR_IP4_LOCAL_IP_ADDRESS),
- help = STRING_TOKEN(STR_IP4_IP_ADDRESS_HELP),
- flags = INTERACTIVE,
- key = KEY_LOCAL_IP,
- minsize = IP_MIN_SIZE,
- maxsize = IP_MAX_SIZE,
- endstring;
-
- string varid = EfiNicIp4ConfigVariable.SubnetMask,
- prompt = STRING_TOKEN(STR_IP4_LOCAL_MASK),
- help = STRING_TOKEN(STR_IP4_IP_ADDRESS_HELP),
- flags = INTERACTIVE,
- key = KEY_SUBNET_MASK,
- minsize = IP_MIN_SIZE,
- maxsize = IP_MAX_SIZE,
- endstring;
-
- string varid = EfiNicIp4ConfigVariable.GatewayAddress,
- prompt = STRING_TOKEN(STR_IP4_LOCAL_GATEWAY),
- help = STRING_TOKEN(STR_IP4_IP_ADDRESS_HELP),
- flags = INTERACTIVE,
- key = KEY_GATE_WAY,
- minsize = IP_MIN_SIZE,
- maxsize = IP_MAX_SIZE,
- endstring;
-
- endif;
-
- subtitle text = STRING_TOKEN(STR_NULL);
-
- text
- help = STRING_TOKEN(STR_SAVE_CHANGES),
- text = STRING_TOKEN(STR_SAVE_CHANGES),
- flags = INTERACTIVE,
- key = KEY_SAVE_CHANGES;
-
- endform;
-
-endformset;
-
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni
deleted file mode 100644
index a0bf5a838776900cee66e9b9a277fc2f5e401742..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1366
zcmZvcTW`}q5QWb(692(UUjVfUmp&ncNQnW9Hi^<il&8u`+SF2WkrP70j|aZ9j_tM}
z%ih`9nKNh4j`z>+mRgE<U+_fwplfBi)s>#=30|)yTIpCHwbUZ4&eYKz5s^;uO_UO!
z=@****@DqGhb+?HS-k9{vv-v)Pjf-y&Q}6m3AR_rW;}+Jp=tY<7>UtE4{%ws%FPJ
z#7+X*6$}c59Ii_+Qu4FFxXDVJbw`+2fo*0vT-Lm~wt;(7?{uPp-v5W)5Jp+p&x-gZ
zD6TOFrQF|!2y2qUc|yb-CSKd^wTSSTmFs0#x1iO#Pw_h2N=~***@tr;0SJ-0v
zlv0iPI`0P=Ud^#fCPl4zU|ph^nIp4GA1krsT<g3O&alJ$^Z}Qe>(8LYgzvw*&EQ}}
zb13w3tu=G+dJNC|=VDdO{u+OALgsu&%wtXubt$ym5jEcDFZT+VQQch;_#2*;-iBUY
zVinptJ`YMa*?rD=wjOD}#xsWbl%9K7y$Q+<Z>dN*MjGmiVp#R*qMknUZR?DAf}#<c
zdK}_S=(7=49CRM3%NXOY5$ZEY_;X?+&I57}%l+(cgVDG~Z7`***@BYuH?Ll(
z=y{t;X4b`@fNG3hs6Jq3?)JInkSNEvY7zB`SZ97`{K|@%`#+5LRf=82x~On!^aL&X
zbd_s%)T}tx`uPrO1;2d<***@y%lGF8Av8K^as#xCFZg>***@X{Ou%du=zzO;f
xm~rYUU-z8*;D~thbF~J%`q*3Uy7IR2UFe+q_leK(A|Q7{Py6o3$u>s${sqnc(e(fT

diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni
deleted file mode 100644
index 5a578a421e91687270a5a0a319104903ed0e5de9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3000
zcmbuBT~8W86o$`rlm3Sd-n5NE+w`VQ+Z1(0QV=6(+be>ANJJnDYW?$VpLfP(SklO%
zne5J-IWy<HbG~N&{wZ0>BEC1Y$iCTy4Q*t7ducD26;G{cb4%ciZ2;ASuXSU-Ip2iQ
zjQI;j34PV3_QCetyw+)t=Uua|&mKt+8nkk1_fEsWF5yS^%DVQN{=L1WePp!rK)r+B
zW?V(<9BCuQl8_)n|IPwa5l$JtRtUY9Eu;zige0+B{yi(&XWO+C`?`dx1(KmV*OYY=
zc1!j(yE|y^(a%}YcXSuD6L?d{yJw%b)U`t+Jwrw#q=i#=nAPqPye=czP*{R|?Ut=I
zbIT{sbnKkJ=58Dc$qq<lj|3b#V~SG9gg5J}2_6aicJc5&bS;A=V7+s;=<=7`>}iMS
zls;L*+e^A;&^q-wIMW!BKO&P|h5rJM_l;2hW>o~zWmH+qM4YQbltjq%`***@J5GEf}
zK4KL?bA0j1MX+MaTUYB7XX_%G5<FU3vHpyibFlY_wygFdQZD&Yo20$Yb7(QBj)|X!
zRrr^!4qe5j5mr^-Vzx?***@rBCgMK4v~h2wtcX(J?EUPI7~hB3b_ez2r)2fqvJ~
zqP7><BKrYfxEfBQ=rWpw?1=d)QYE9|w4Xo;yXK^`#VW0lR=?_iwc7cM{yQ8YR|dup
zTKp+u`?-)4q*t-UF>xiG`{Y?_x3pK?DY;qA_}MSEwV2t$4~pc0%LGM-e7VE9q@#dT
z@#L!+{wXZ&OC!){qW3`?9LLnAHulx|4xlSg2hJ9CMml*5yz*$;0)`u~3|#bOQAp}7
zawBA_zTLU_x`I|^8WYv3K8n6jojlg9MW$?qQ!!UVYl>0*dYr3hlt<$g#HwMw(&;3s
zCo}w(53M5l3=1lHpKsOY>3o`n^66ZTo>P}Q%YMj?pW>BXPJ1g~%hUkHYn%K!#PZpg
z2w2wRP%ef0C6$)XA~iB-4=gosC>z?0_i4VaC|5&UkEBM{bityVThdg2dNhA;&vII4
z8B-kzO{!NwksWP@$!B>TgfqK(0-6eFbQ7p9tE#TH&Cpc9p-jD_zt4&0e?Drvn{2hJ
z<f$u)9A7I^f9d5C{1s9E#+<T;Uv)***@owLK&$IC-^uglY8#|;&7UDat~y)zg2dmz^h
xRe{RJ+UAyRVnw|***@4t1kN&PWqyXd9CO*^>}6+aYxl?s|X&W*ZbY;{0C-0!1w?F

diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c
deleted file mode 100644
index 794bb79..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c
+++ /dev/null
@@ -1,909 +0,0 @@
-/** @file
- Helper functions for configuring or getting the parameters relating to Ip4.
-
-Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.<BR>
-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.
-
-**/
-
-#include "Ip4ConfigNv.h"
-#include "NicIp4Variable.h"
-
-/**
- Calculate the prefix length of the IPv4 subnet mask.
-
- @param[in] SubnetMask The IPv4 subnet mask.
-
- @return The prefix length of the subnet mask.
- @retval 0 Other errors as indicated.
-**/
-UINT8
-GetSubnetMaskPrefixLength (
- IN EFI_IPv4_ADDRESS *SubnetMask
- )
-{
- UINT8 Len;
- UINT32 ReverseMask;
-
- //
- // The SubnetMask is in network byte order.
- //
- ReverseMask = SwapBytes32 (*(UINT32 *)&SubnetMask[0]);
-
- //
- // Reverse it.
- //
- ReverseMask = ~ReverseMask;
-
- if ((ReverseMask & (ReverseMask + 1)) != 0) {
- return 0;
- }
-
- Len = 0;
-
- while (ReverseMask != 0) {
- ReverseMask = ReverseMask >> 1;
- Len++;
- }
-
- return (UINT8) (32 - Len);
-}
-
-/**
- Convert the decimal dotted IPv4 address into the binary IPv4 address.
-
- @param[in] Str The UNICODE string.
- @param[out] Ip The storage to return the IPv4 address.
-
- @retval EFI_SUCCESS The binary IP address is returned in Ip.
- @retval EFI_INVALID_PARAMETER The IP string is malformatted.
-**/
-EFI_STATUS
-Ip4StrToIp (
- IN CHAR16 *Str,
- OUT EFI_IPv4_ADDRESS *Ip
- )
-{
- UINTN Index;
- UINTN Number;
-
- Index = 0;
-
- while (*Str != L'\0') {
-
- if (Index > 3) {
- return EFI_INVALID_PARAMETER;
- }
-
- Number = 0;
- while ((*Str >= L'0') && (*Str <= L'9')) {
- Number = Number * 10 + (*Str - L'0');
- Str++;
- }
-
- if (Number > 0xFF) {
- return EFI_INVALID_PARAMETER;
- }
-
- Ip->Addr[Index] = (UINT8) Number;
-
- if ((*Str != L'\0') && (*Str != L'.')) {
- //
- // The current character should be either the NULL terminator or
- // the dot delimiter.
- //
- return EFI_INVALID_PARAMETER;
- }
-
- if (*Str == L'.') {
- //
- // Skip the delimiter.
- //
- Str++;
- }
-
- Index++;
- }
-
- if (Index != 4) {
- return EFI_INVALID_PARAMETER;
- }
-
- return EFI_SUCCESS;
-}
-
-/**
- Convert the IPv4 address into a dotted string.
-
- @param[in] Ip The IPv4 address.
- @param[out] Str The dotted IP string.
-**/
-VOID
-Ip4ConfigIpToStr (
- IN EFI_IPv4_ADDRESS *Ip,
- OUT CHAR16 *Str
- )
-{
- UnicodeSPrint (Str, 2 * IP4_STR_MAX_SIZE, L"%d.%d.%d.%d", Ip->Addr[0], Ip->Addr[1], Ip->Addr[2], Ip->Addr[3]);
-}
-
-
-/**
- Convert the network configuration data into the IFR data.
-
- @param[in] Ip4ConfigInstance The IP4Config instance
- @param[out] IfrFormNvData The IFR nv data.
-**/
-VOID
-Ip4ConfigConvertDeviceConfigDataToIfrNvData (
- IN IP4_CONFIG_INSTANCE *Ip4ConfigInstance,
- OUT IP4_CONFIG_IFR_NVDATA *IfrFormNvData
- )
-{
- NIC_IP4_CONFIG_INFO *NicConfig;
-
- NicConfig = EfiNicIp4ConfigGetInfo (Ip4ConfigInstance);
- if (NicConfig != NULL) {
- IfrFormNvData->Configure = 1;
- Ip4ConfigInstance->Ip4ConfigCallbackInfo.Configured = TRUE;
- if (NicConfig->Source == IP4_CONFIG_SOURCE_DHCP) {
- IfrFormNvData->DhcpEnable = 1;
- Ip4ConfigInstance->Ip4ConfigCallbackInfo.DhcpEnabled = TRUE;
- } else {
- IfrFormNvData->DhcpEnable = 0;
- Ip4ConfigIpToStr (&NicConfig->Ip4Info.StationAddress, IfrFormNvData->StationAddress);
- Ip4ConfigIpToStr (&NicConfig->Ip4Info.SubnetMask, IfrFormNvData->SubnetMask);
- Ip4ConfigIpToStr (&NicConfig->Ip4Info.RouteTable[1].GatewayAddress, IfrFormNvData->GatewayAddress);
-
- Ip4ConfigInstance->Ip4ConfigCallbackInfo.DhcpEnabled = FALSE;
- CopyMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.LocalIp, &NicConfig->Ip4Info.StationAddress, sizeof (EFI_IPv4_ADDRESS));
- CopyMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.SubnetMask, &NicConfig->Ip4Info.SubnetMask, sizeof (EFI_IPv4_ADDRESS));
- CopyMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.Gateway, &NicConfig->Ip4Info.RouteTable[1].GatewayAddress, sizeof (EFI_IPv4_ADDRESS));
- }
-
- FreePool (NicConfig);
- } else {
- IfrFormNvData->Configure = 0;
- Ip4ConfigInstance->Ip4ConfigCallbackInfo.Configured = FALSE;
- }
-}
-
-/**
- Convert the IFR data into the network configuration data and set the IP
- configure parameters for the NIC.
-
- @param[in] IfrFormNvData The IFR NV data.
- @param[in, out] Ip4ConfigInstance The IP4Config instance.
-
- @retval EFI_SUCCESS The configure parameter for this NIC was
- set successfully.
- @retval EFI_ALREADY_STARTED There is a pending auto configuration.
- @retval EFI_NOT_FOUND No auto configure parameter is found.
-
-**/
-EFI_STATUS
-Ip4ConfigConvertIfrNvDataToDeviceConfigData (
- IN IP4_CONFIG_IFR_NVDATA *IfrFormNvData,
- IN OUT IP4_CONFIG_INSTANCE *Ip4ConfigInstance
- )
-{
- EFI_STATUS Status;
- EFI_IP_ADDRESS HostIp;
- EFI_IP_ADDRESS SubnetMask;
- EFI_IP_ADDRESS Gateway;
- EFI_INPUT_KEY Key;
- NIC_IP4_CONFIG_INFO *NicInfo;
- EFI_IP_ADDRESS Ip;
-
- ZeroMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo, sizeof (IP4_SETTING_INFO));
-
- Ip4ConfigInstance->Ip4ConfigCallbackInfo.Configured = IfrFormNvData->Configure;
- Ip4ConfigInstance->Ip4ConfigCallbackInfo.DhcpEnabled = IfrFormNvData->DhcpEnable;
- Ip4StrToIp (IfrFormNvData->StationAddress, &Ip4ConfigInstance->Ip4ConfigCallbackInfo.LocalIp);
- Ip4StrToIp (IfrFormNvData->SubnetMask, &Ip4ConfigInstance->Ip4ConfigCallbackInfo.SubnetMask);
- Ip4StrToIp (IfrFormNvData->GatewayAddress, &Ip4ConfigInstance->Ip4ConfigCallbackInfo.Gateway);
-
- if (!Ip4ConfigInstance->Ip4ConfigCallbackInfo.Configured) {
- //
- // Clear the variable
- //
- ZeroMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo, sizeof (IP4_SETTING_INFO));
-
- Status = EfiNicIp4ConfigSetInfo (Ip4ConfigInstance, NULL, TRUE);
- if (Status == EFI_NOT_FOUND) {
- return EFI_SUCCESS;
- }
-
- return Status;
- }
-
- NicInfo = AllocateZeroPool (sizeof (NIC_IP4_CONFIG_INFO) + 2 * sizeof (EFI_IP4_ROUTE_TABLE));
- ASSERT (NicInfo != NULL);
-
- NicInfo->Ip4Info.RouteTable = (EFI_IP4_ROUTE_TABLE *) (NicInfo + 1);
-
- if (!Ip4ConfigInstance->Ip4ConfigCallbackInfo.DhcpEnabled) {
- CopyMem (&HostIp.v4, &Ip4ConfigInstance->Ip4ConfigCallbackInfo.LocalIp, sizeof (HostIp.v4));
- CopyMem (&SubnetMask.v4, &Ip4ConfigInstance->Ip4ConfigCallbackInfo.SubnetMask, sizeof (SubnetMask.v4));
- CopyMem (&Gateway.v4, &Ip4ConfigInstance->Ip4ConfigCallbackInfo.Gateway, sizeof (Gateway.v4));
-
- if (!NetIp4IsUnicast (NTOHL (HostIp.Addr[0]), 0)) {
- CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, L"Invalid IP address!", NULL);
- return EFI_INVALID_PARAMETER;
- }
- if (EFI_IP4_EQUAL (&SubnetMask, &mZeroIp4Addr)) {
- CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, L"Invalid Subnet Mask!", NULL);
- return EFI_INVALID_PARAMETER;
- }
-
- if ((Gateway.Addr[0] != 0)) {
- if (SubnetMask.Addr[0] == 0) {
- CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, L"Gateway address is set but subnet mask is zero.", NULL);
- return EFI_INVALID_PARAMETER;
-
- } else if (!IP4_NET_EQUAL (HostIp.Addr[0], Gateway.Addr[0], SubnetMask.Addr[0])) {
- CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, L"Local IP and Gateway are not in the same subnet.", NULL);
- return EFI_INVALID_PARAMETER; }
- }
-
- NicInfo->Source = IP4_CONFIG_SOURCE_STATIC;
- NicInfo->Ip4Info.RouteTableSize = 2;
-
- CopyMem (&NicInfo->Ip4Info.StationAddress, &HostIp.v4, sizeof (EFI_IPv4_ADDRESS));
- CopyMem (&NicInfo->Ip4Info.SubnetMask, &SubnetMask.v4, sizeof (EFI_IPv4_ADDRESS));
-
- Ip.Addr[0] = HostIp.Addr[0] & SubnetMask.Addr[0];
-
- CopyMem (&NicInfo->Ip4Info.RouteTable[0].SubnetAddress, &Ip.v4, sizeof (EFI_IPv4_ADDRESS));
- CopyMem (&NicInfo->Ip4Info.RouteTable[0].SubnetMask, &SubnetMask.v4, sizeof (EFI_IPv4_ADDRESS));
- CopyMem (&NicInfo->Ip4Info.RouteTable[1].GatewayAddress, &Gateway.v4, sizeof (EFI_IPv4_ADDRESS));
-
- } else {
- NicInfo->Source = IP4_CONFIG_SOURCE_DHCP;
- ZeroMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.LocalIp, sizeof (EFI_IPv4_ADDRESS));
- ZeroMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.SubnetMask, sizeof (EFI_IPv4_ADDRESS));
- ZeroMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.Gateway, sizeof (EFI_IPv4_ADDRESS));
- }
-
- NicInfo->Permanent = TRUE;
- CopyMem (&NicInfo->NicAddr, &Ip4ConfigInstance->NicAddr, sizeof (NIC_ADDR));
-
- return EfiNicIp4ConfigSetInfo (Ip4ConfigInstance, NicInfo, TRUE);
-}
-
-/**
- This function allows the caller to request the current
- configuration for one or more named elements. The resulting
- string is in <ConfigAltResp> format. Any and all alternative
- configuration strings shall also be appended to the end of the
- current configuration string. If they are, they must appear
- after the current configuration. They must contain the same
- routing (GUID, NAME, PATH) as the current configuration string.
- They must have an additional description indicating the type of
- alternative configuration the string represents,
- "ALTCFG=<StringToken>". That <StringToken> (when
- converted from Hex UNICODE to binary) is a reference to a
- string in the associated string pack.
-
- @param[in] This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
- @param[in] Request A null-terminated Unicode string in
- <ConfigRequest> format. Note that this
- includes the routing information as well as
- the configurable name / value pairs. It is
- invalid for this string to be in
- <MultiConfigRequest> format.
- @param[out] Progress On return, points to a character in the
- Request string. Points to the string's null
- terminator if request was successful. Points
- to the most recent "&" before the first
- failing name / value pair (or the beginning
- of the string if the failure is in the first
- name / value pair) if the request was not
- successful.
- @param[out] Results A null-terminated Unicode string in
- <ConfigAltResp> format which has all values
- filled in for the names in the Request string.
- String to be allocated by the called function.
-
- @retval EFI_SUCCESS The Results string is filled with the
- values corresponding to all requested
- names.
- @retval EFI_OUT_OF_RESOURCES Not enough memory to store the
- parts of the results that must be
- stored awaiting possible future
- protocols.
- @retval EFI_NOT_FOUND Routing data doesn't match any
- known driver. Progress set to the
- first character in the routing header.
- Note: There is no requirement that the
- driver validate the routing data. It
- must skip the <ConfigHdr> in order to
- process the names.
- @retval EFI_INVALID_PARAMETER Illegal syntax. Progress set
- to most recent & before the
- error or the beginning of the
- string.
- @retval EFI_INVALID_PARAMETER Unknown name. Progress points
- to the & before the name in
- question.Currently not implemented.
-**/
-EFI_STATUS
-EFIAPI
-Ip4DeviceExtractConfig (
- IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,
- IN CONST EFI_STRING Request,
- OUT EFI_STRING *Progress,
- OUT EFI_STRING *Results
- )
-{
- EFI_STATUS Status;
- NIC_IP4_CONFIG_INFO *IfrDeviceNvData;
- NIC_IP4_CONFIG_INFO *NicConfig;
- IP4_CONFIG_INSTANCE *Ip4ConfigInstance;
- IP4_CONFIG_IFR_NVDATA *IfrFormNvData;
- EFI_STRING ConfigRequestHdr;
- EFI_STRING ConfigRequest;
- EFI_STRING DeviceResult;
- EFI_STRING FormResult;
- CHAR16 *StrPointer;
- BOOLEAN AllocatedRequest;
- UINTN Size;
- UINTN BufferSize;
-
- if (Progress == NULL || Results == NULL) {
- return EFI_INVALID_PARAMETER;
- }
-
- *Progress = Request;
- Size = 0;
- DeviceResult = NULL;
- FormResult = NULL;
- ConfigRequest = NULL;
- Status = EFI_SUCCESS;
- AllocatedRequest = FALSE;
- Ip4ConfigInstance = IP4_CONFIG_INSTANCE_FROM_CONFIG_ACCESS (This);
-
- //
- // Check Request data in <ConfigHdr>.
- //
- if ((Request == NULL) || HiiIsConfigHdrMatch (Request, &gEfiNicIp4ConfigVariableGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {
- IfrDeviceNvData = AllocateZeroPool (NIC_ITEM_CONFIG_SIZE);
- if (IfrDeviceNvData == NULL) {
- return EFI_OUT_OF_RESOURCES;
- }
-
- NicConfig = EfiNicIp4ConfigGetInfo (Ip4ConfigInstance);
- if (NicConfig == NULL) {
- return EFI_NOT_FOUND;
- }
- CopyMem (IfrDeviceNvData, NicConfig, SIZEOF_NIC_IP4_CONFIG_INFO (NicConfig));
- FreePool (NicConfig);
-
- ConfigRequest = Request;
- if ((Request == NULL) || (StrStr (Request, L"OFFSET") == NULL)) {
- //
- // Request has no request element, construct full request string.
- // Allocate and fill a buffer large enough to hold the <ConfigHdr> template
- // followed by "&OFFSET=0&WIDTH=WWWWWWWWWWWWWWWW" followed by a Null-terminator
- //
- ConfigRequestHdr = HiiConstructConfigHdr (&gEfiNicIp4ConfigVariableGuid, EFI_NIC_IP4_CONFIG_VARIABLE, Ip4ConfigInstance->ChildHandle);
- Size = (StrLen (ConfigRequestHdr) + 32 + 1) * sizeof (CHAR16);
- ConfigRequest = AllocateZeroPool (Size);
- ASSERT (ConfigRequest != NULL);
- AllocatedRequest = TRUE;
- BufferSize = NIC_ITEM_CONFIG_SIZE;
- UnicodeSPrint (ConfigRequest, Size, L"%s&OFFSET=0&WIDTH=%016LX", ConfigRequestHdr, (UINT64)BufferSize);
- FreePool (ConfigRequestHdr);
- }
-
- //
- // Convert buffer data to <ConfigResp> by helper function BlockToConfig()
- //
- Status = gHiiConfigRouting->BlockToConfig (
- gHiiConfigRouting,
- ConfigRequest,
- (UINT8 *) IfrDeviceNvData,
- NIC_ITEM_CONFIG_SIZE,
- &DeviceResult,
- Progress
- );
-
- FreePool (IfrDeviceNvData);
- //
- // Free the allocated config request string.
- //
- if (AllocatedRequest) {
- FreePool (ConfigRequest);
- ConfigRequest = NULL;
- }
-
- if (EFI_ERROR (Status)) {
- goto Failure;
- }
- }
-
- if ((Request == NULL) || HiiIsConfigHdrMatch (Request, &gNicIp4ConfigNvDataGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {
-
- IfrFormNvData = AllocateZeroPool (sizeof (IP4_CONFIG_IFR_NVDATA));
- if (IfrFormNvData == NULL) {
- return EFI_OUT_OF_RESOURCES;
- }
-
- Ip4ConfigConvertDeviceConfigDataToIfrNvData (Ip4ConfigInstance, IfrFormNvData);
-
- ConfigRequest = Request;
- if ((Request == NULL) || (StrStr (Request, L"OFFSET") == NULL)) {
- //
- // Request has no request element, construct full request string.
- // Allocate and fill a buffer large enough to hold the <ConfigHdr> template
- // followed by "&OFFSET=0&WIDTH=WWWWWWWWWWWWWWWW" followed by a Null-terminator
- //
- ConfigRequestHdr = HiiConstructConfigHdr (&gNicIp4ConfigNvDataGuid, EFI_NIC_IP4_CONFIG_VARIABLE, Ip4ConfigInstance->ChildHandle);
- Size = (StrLen (ConfigRequestHdr) + 32 + 1) * sizeof (CHAR16);
- ConfigRequest = AllocateZeroPool (Size);
- ASSERT (ConfigRequest != NULL);
- AllocatedRequest = TRUE;
- BufferSize = sizeof (IP4_CONFIG_IFR_NVDATA);
- UnicodeSPrint (ConfigRequest, Size, L"%s&OFFSET=0&WIDTH=%016LX", ConfigRequestHdr, (UINT64)BufferSize);
- FreePool (ConfigRequestHdr);
- }
-
- //
- // Convert buffer data to <ConfigResp> by helper function BlockToConfig()
- //
- Status = gHiiConfigRouting->BlockToConfig (
- gHiiConfigRouting,
- ConfigRequest,
- (UINT8 *) IfrFormNvData,
- sizeof (IP4_CONFIG_IFR_NVDATA),
- &FormResult,
- Progress
- );
-
- FreePool (IfrFormNvData);
- //
- // Free the allocated config request string.
- //
- if (AllocatedRequest) {
- FreePool (ConfigRequest);
- ConfigRequest = NULL;
- }
-
- if (EFI_ERROR (Status)) {
- goto Failure;
- }
- }
-
- if (Request == NULL) {
- Size = StrLen (DeviceResult);
- Size = Size + 1;
- Size = Size + StrLen (FormResult) + 1;
- *Results = AllocateZeroPool (Size * sizeof (CHAR16));
- ASSERT (*Results != NULL);
- StrPointer = *Results;
- StrCpyS (StrPointer, Size, DeviceResult);
- StrPointer = StrPointer + StrLen (StrPointer);
- *StrPointer = L'&';
- StrCpyS (StrPointer + 1, StrLen (FormResult) + 1, FormResult);
- FreePool (DeviceResult);
- FreePool (FormResult);
- } else if (HiiIsConfigHdrMatch (Request, &gEfiNicIp4ConfigVariableGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {
- *Results = DeviceResult;
- } else if (HiiIsConfigHdrMatch (Request, &gNicIp4ConfigNvDataGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {
- *Results = FormResult;
- } else {
- return EFI_NOT_FOUND;
- }
-
-Failure:
- //
- // Set Progress string to the original request string.
- //
- if (Request == NULL) {
- *Progress = NULL;
- } else if (StrStr (Request, L"OFFSET") == NULL) {
- *Progress = Request + StrLen (Request);
- }
-
- return Status;
-}
-
-/**
- This function applies changes in a driver's configuration.
- Input is a Configuration, which has the routing data for this
- driver followed by name / value configuration pairs. The driver
- must apply those pairs to its configurable storage. If the
- driver's configuration is stored in a linear block of data
- and the driver's name / value pairs are in <BlockConfig>
- format, it may use the ConfigToBlock helper function (above) to
- simplify the job. Currently not implemented.
-
- @param[in] This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
- @param[in] Configuration A null-terminated Unicode string in
- <ConfigString> format.
- @param[out] Progress A pointer to a string filled in with the
- offset of the most recent '&' before the
- first failing name / value pair (or the
- beginn ing of the string if the failure
- is in the first name / value pair) or
- the terminating NULL if all was
- successful.
-
- @retval EFI_SUCCESS The results have been distributed or are
- awaiting distribution.
- @retval EFI_OUT_OF_MEMORY Not enough memory to store the
- parts of the results that must be
- stored awaiting possible future
- protocols.
- @retval EFI_INVALID_PARAMETERS Passing in a NULL for the
- Results parameter would result
- in this type of error.
- @retval EFI_NOT_FOUND Target for the specified routing data
- was not found.
-**/
-EFI_STATUS
-EFIAPI
-Ip4DeviceRouteConfig (
- IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,
- IN CONST EFI_STRING Configuration,
- OUT EFI_STRING *Progress
- )
-{
- EFI_STATUS Status;
- UINTN BufferSize;
- NIC_IP4_CONFIG_INFO *IfrDeviceNvData;
- IP4_CONFIG_IFR_NVDATA *IfrFormNvData;
- NIC_IP4_CONFIG_INFO *NicInfo;
- IP4_CONFIG_INSTANCE *Ip4ConfigInstance;
- EFI_MAC_ADDRESS ZeroMac;
-
- if (Configuration == NULL || Progress == NULL) {
- return EFI_INVALID_PARAMETER;
- }
-
- //
- // Reclaim Ip4Config variable
- //
- Ip4ConfigReclaimVariable ();
-
- *Progress = Configuration;
-
- Ip4ConfigInstance = IP4_CONFIG_INSTANCE_FROM_CONFIG_ACCESS (This);
-
- //
- // Check Routing data in <ConfigHdr>.
- //
- if (HiiIsConfigHdrMatch (Configuration, &gNicIp4ConfigNvDataGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {
- //
- // Convert buffer data to <ConfigResp> by helper function BlockToConfig()
- //
- IfrFormNvData = AllocateZeroPool (sizeof (IP4_CONFIG_IFR_NVDATA));
- if (IfrFormNvData == NULL) {
- return EFI_OUT_OF_RESOURCES;
- }
-
- BufferSize = NIC_ITEM_CONFIG_SIZE;
- Status = gHiiConfigRouting->ConfigToBlock (
- gHiiConfigRouting,
- Configuration,
- (UINT8 *) IfrFormNvData,
- &BufferSize,
- Progress
- );
- if (!EFI_ERROR (Status)) {
- Status = Ip4ConfigConvertIfrNvDataToDeviceConfigData (IfrFormNvData, Ip4ConfigInstance);
- }
-
- FreePool (IfrFormNvData);
-
- } else if (HiiIsConfigHdrMatch (Configuration, &gEfiNicIp4ConfigVariableGuid, EFI_NIC_IP4_CONFIG_VARIABLE)) {
-
- IfrDeviceNvData = AllocateZeroPool (NIC_ITEM_CONFIG_SIZE);
- if (IfrDeviceNvData == NULL) {
- return EFI_OUT_OF_RESOURCES;
- }
-
- BufferSize = NIC_ITEM_CONFIG_SIZE;
- Status = gHiiConfigRouting->ConfigToBlock (
- gHiiConfigRouting,
- Configuration,
- (UINT8 *) IfrDeviceNvData,
- &BufferSize,
- Progress
- );
- if (!EFI_ERROR (Status)) {
- ZeroMem (&ZeroMac, sizeof (EFI_MAC_ADDRESS));
- if (CompareMem (&IfrDeviceNvData->NicAddr.MacAddr, &ZeroMac, IfrDeviceNvData->NicAddr.Len) != 0) {
- BufferSize = SIZEOF_NIC_IP4_CONFIG_INFO (IfrDeviceNvData);
- NicInfo = AllocateCopyPool (BufferSize, IfrDeviceNvData);
- if (NicInfo == NULL) {
- return EFI_OUT_OF_RESOURCES;
- }
- Status = EfiNicIp4ConfigSetInfo (Ip4ConfigInstance, NicInfo, TRUE);
- FreePool (NicInfo);
- } else {
- ZeroMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo, sizeof (IP4_SETTING_INFO));
- Status = EfiNicIp4ConfigSetInfo (Ip4ConfigInstance, NULL, TRUE);
- }
- }
-
- FreePool (IfrDeviceNvData);
-
- } else {
-
- return EFI_NOT_FOUND;
- }
-
- return Status;
-
-}
-
-/**
- This function is called to provide results data to the driver.
- This data consists of a unique key that is used to identify
- which data is either being passed back or being asked for.
-
- @param[in] This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
- @param[in] Action Specifies the type of action taken by the browser.
- @param[in] QuestionId A unique value which is sent to the original
- exporting driver so that it can identify the type
- of data to expect. The format of the data tends to
- vary based on the opcode that enerated the callback.
- @param[in] Type The type of value for the question.
- @param[in] Value A pointer to the data being sent to the original
- exporting driver.
- @param[out] ActionRequest On return, points to the action requested by the
- callback function.
-
- @retval EFI_SUCCESS The callback successfully handled the action.
- @retval EFI_OUT_OF_RESOURCES Not enough storage is available to hold the
- variable and its data.
- @retval EFI_DEVICE_ERROR The variable could not be saved.
- @retval EFI_UNSUPPORTED The specified Action is not supported by the
- callback.Currently not implemented.
- @retval EFI_INVALID_PARAMETERS Passing in wrong parameter.
- @retval Others Other errors as indicated.
-**/
-EFI_STATUS
-EFIAPI
-Ip4FormCallback (
- IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,
- IN EFI_BROWSER_ACTION Action,
- IN EFI_QUESTION_ID QuestionId,
- IN UINT8 Type,
- IN EFI_IFR_TYPE_VALUE *Value,
- OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest
- )
-{
- IP4_CONFIG_INSTANCE *Ip4ConfigInstance;
- IP4_CONFIG_IFR_NVDATA *IfrFormNvData;
- EFI_IP_ADDRESS HostIp;
- EFI_IP_ADDRESS SubnetMask;
- EFI_IP_ADDRESS Gateway;
- EFI_STATUS Status;
- EFI_INPUT_KEY Key;
-
- if (Action == EFI_BROWSER_ACTION_CHANGED) {
- Ip4ConfigInstance = IP4_CONFIG_INSTANCE_FROM_CONFIG_ACCESS (This);
-
- IfrFormNvData = AllocateZeroPool (sizeof (IP4_CONFIG_IFR_NVDATA));
- if (IfrFormNvData == NULL) {
- return EFI_OUT_OF_RESOURCES;
- }
-
- //
- // Retrive uncommitted data from Browser
- //
- if (!HiiGetBrowserData (&gNicIp4ConfigNvDataGuid, EFI_NIC_IP4_CONFIG_VARIABLE, sizeof (IP4_CONFIG_IFR_NVDATA), (UINT8 *) IfrFormNvData)) {
- FreePool (IfrFormNvData);
- return EFI_NOT_FOUND;
- }
-
- Status = EFI_SUCCESS;
-
- switch (QuestionId) {
- case KEY_LOCAL_IP:
- Status = Ip4StrToIp (IfrFormNvData->StationAddress, &HostIp.v4);
- if (EFI_ERROR (Status) || !NetIp4IsUnicast (NTOHL (HostIp.Addr[0]), 0)) {
- CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, L"Invalid IP address!", NULL);
- Status = EFI_INVALID_PARAMETER;
- } else {
- CopyMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.LocalIp, &HostIp.v4, sizeof (HostIp.v4));
- }
-
- break;
-
- case KEY_SUBNET_MASK:
- Status = Ip4StrToIp (IfrFormNvData->SubnetMask, &SubnetMask.v4);
- if (EFI_ERROR (Status) || ((SubnetMask.Addr[0] != 0) && (GetSubnetMaskPrefixLength (&SubnetMask.v4) == 0))) {
- CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, L"Invalid Subnet Mask!", NULL);
- Status = EFI_INVALID_PARAMETER;
- } else {
- CopyMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.SubnetMask, &SubnetMask.v4, sizeof (SubnetMask.v4));
- }
-
- break;
-
- case KEY_GATE_WAY:
- Status = Ip4StrToIp (IfrFormNvData->GatewayAddress, &Gateway.v4);
- if (EFI_ERROR (Status) || ((Gateway.Addr[0] != 0) && !NetIp4IsUnicast (NTOHL (Gateway.Addr[0]), 0))) {
- CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, L"Invalid Gateway!", NULL);
- Status = EFI_INVALID_PARAMETER;
- } else {
- CopyMem (&Ip4ConfigInstance->Ip4ConfigCallbackInfo.Gateway, &Gateway.v4, sizeof (Gateway.v4));
- }
-
- break;
-
- case KEY_SAVE_CHANGES:
- Status = Ip4ConfigConvertIfrNvDataToDeviceConfigData (IfrFormNvData, Ip4ConfigInstance);
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_SUBMIT;
- break;
-
- default:
- break;
- }
-
- FreePool (IfrFormNvData);
-
- return Status;
- }
-
- //
- // All other action return unsupported.
- //
- return EFI_UNSUPPORTED;
-}
-
-/**
- Install HII Config Access protocol for network device and allocate resource.
-
- @param[in] Instance The IP4 Config instance.
-
- @retval EFI_SUCCESS The HII Config Access protocol is installed.
- @retval EFI_OUT_OF_RESOURCES Failed to allocate memory.
- @retval Others Other errors as indicated.
-**/
-EFI_STATUS
-Ip4ConfigDeviceInit (
- IN IP4_CONFIG_INSTANCE *Instance
- )
-{
- EFI_STATUS Status;
- EFI_HII_CONFIG_ACCESS_PROTOCOL *ConfigAccess;
- VENDOR_DEVICE_PATH VendorDeviceNode;
- EFI_SERVICE_BINDING_PROTOCOL *MnpSb;
- CHAR16 *MacString;
- CHAR16 MenuString[128];
- CHAR16 PortString[128];
- CHAR16 *OldMenuString;
-
- ConfigAccess = &Instance->HiiConfigAccessProtocol;
- ConfigAccess->ExtractConfig = Ip4DeviceExtractConfig;
- ConfigAccess->RouteConfig = Ip4DeviceRouteConfig;
- ConfigAccess->Callback = Ip4FormCallback;
-
- //
- // Construct device path node for EFI HII Config Access protocol,
- // which consists of controller physical device path and one hardware
- // vendor guid node.
- //
- ZeroMem (&VendorDeviceNode, sizeof (VENDOR_DEVICE_PATH));
- VendorDeviceNode.Header.Type = HARDWARE_DEVICE_PATH;
- VendorDeviceNode.Header.SubType = HW_VENDOR_DP;
-
- CopyGuid (&VendorDeviceNode.Guid, &gEfiNicIp4ConfigVariableGuid);
-
- SetDevicePathNodeLength (&VendorDeviceNode.Header, sizeof (VENDOR_DEVICE_PATH));
- Instance->HiiVendorDevicePath = AppendDevicePathNode (
- Instance->ParentDevicePath,
- (EFI_DEVICE_PATH_PROTOCOL *) &VendorDeviceNode
- );
-
- Instance->ChildHandle = NULL;
- //
- // Install Device Path Protocol and Config Access protocol on new handle
- //
- Status = gBS->InstallMultipleProtocolInterfaces (
- &Instance->ChildHandle,
- &gEfiDevicePathProtocolGuid,
- Instance->HiiVendorDevicePath,
- &gEfiHiiConfigAccessProtocolGuid,
- ConfigAccess,
- NULL
- );
- if (!EFI_ERROR (Status)) {
- //
- // Open the Parent Handle for the child
- //
- Status = gBS->OpenProtocol (
- Instance->Controller,
- &gEfiManagedNetworkServiceBindingProtocolGuid,
- (VOID **) &MnpSb,
- Instance->Image,
- Instance->ChildHandle,
- EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER
- );
- }
-
- ASSERT_EFI_ERROR (Status);
-
- //
- // Publish our HII data
- //
- Instance->RegisteredHandle = HiiAddPackages (
- &gNicIp4ConfigNvDataGuid,
- Instance->ChildHandle,
- Ip4ConfigDxeStrings,
- Ip4ConfigDxeBin,
- NULL
- );
- if (Instance->RegisteredHandle == NULL) {
- return EFI_OUT_OF_RESOURCES;
- }
-
- //
- // Append MAC string in the menu help string and tile help string
- //
- Status = NetLibGetMacString (Instance->Controller, Instance->Image, &MacString);
- if (!EFI_ERROR (Status)) {
- OldMenuString = HiiGetString (Instance->RegisteredHandle, STRING_TOKEN (STR_IP4_CONFIG_FORM_HELP), NULL);
- UnicodeSPrint (MenuString, 128, L"%s (MAC:%s)", OldMenuString, MacString);
- HiiSetString (Instance->RegisteredHandle, STRING_TOKEN (STR_IP4_CONFIG_FORM_HELP), MenuString, NULL);
-
- UnicodeSPrint (PortString, 128, L"MAC:%s", MacString);
- HiiSetString (Instance->RegisteredHandle, STRING_TOKEN (STR_IP4_DEVICE_FORM_HELP), PortString, NULL);
- FreePool (MacString);
- }
-
- return Status;
-}
-
-/**
- Uninstall HII Config Access protocol for network device and free resource.
-
- @param[in] Instance The IP4 Config instance.
-
- @retval EFI_SUCCESS The HII Config Access protocol is uninstalled.
- @retval Others Other errors as indicated.
-**/
-EFI_STATUS
-Ip4ConfigDeviceUnload (
- IN IP4_CONFIG_INSTANCE *Instance
- )
-{
- //
- // Remove HII package list
- //
- HiiRemovePackages (Instance->RegisteredHandle);
-
- //
- // Close the child handle
- //
- gBS->CloseProtocol (
- Instance->Controller,
- &gEfiManagedNetworkServiceBindingProtocolGuid,
- Instance->Image,
- Instance->ChildHandle
- );
-
- //
- // Uninstall EFI_HII_CONFIG_ACCESS_PROTOCOL
- //
- gBS->UninstallMultipleProtocolInterfaces (
- Instance->ChildHandle,
- &gEfiDevicePathProtocolGuid,
- Instance->HiiVendorDevicePath,
- &gEfiHiiConfigAccessProtocolGuid,
- &Instance->HiiConfigAccessProtocol,
- NULL
- );
-
- return EFI_SUCCESS;
-}
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h
deleted file mode 100644
index 3b4168e..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/** @file
- The header file of IP4ConfigNv.c
-
-Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
-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 _IP4_CONFIGNV_H_
-#define _IP4_CONFIGNV_H_
-
-#include "Ip4Config.h"
-#include "Ip4NvData.h"
-
-extern UINT8 Ip4ConfigDxeBin[];
-extern UINT8 Ip4ConfigDxeStrings[];
-
-#define NIC_ITEM_CONFIG_SIZE (sizeof (NIC_IP4_CONFIG_INFO) + (sizeof (EFI_IP4_ROUTE_TABLE) * MAX_IP4_CONFIG_IN_VARIABLE))
-
-
-/**
- Install HII Config Access protocol for network device and allocate resource.
-
- @param[in] Instance The IP4 Config instance.
-
- @retval EFI_SUCCESS The HII Config Access protocol is installed.
- @retval EFI_OUT_OF_RESOURCES Failed to allocate memory.
- @retval Others Other errors as indicated.
-**/
-EFI_STATUS
-Ip4ConfigDeviceInit (
- IN IP4_CONFIG_INSTANCE *Instance
- );
-
-/**
- Uninstall HII Config Access protocol for network device and free resource.
-
- @param[in] Instance The IP4 Config instance.
-
- @retval EFI_SUCCESS The HII Config Access protocol is uninstalled.
- @retval Others Other errors as indicated.
-**/
-EFI_STATUS
-Ip4ConfigDeviceUnload (
- IN IP4_CONFIG_INSTANCE *Instance
- );
-
-#endif
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4NvData.h b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4NvData.h
deleted file mode 100644
index 2a09527..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4NvData.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/** @file
- Routines used to operate the Ip4 configure variable.
-
-Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
-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<BR>
-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 _NIC_IP4_NV_DATA_H_
-#define _NIC_IP4_NV_DATA_H_
-
-#include <Guid/Ip4ConfigHii.h>
-
-#define FORMID_MAIN_FORM 1
-#define FORMID_DEVICE_FORM 2
-
-#define KEY_ENABLE 0x100
-#define KEY_DHCP_ENABLE 0x101
-#define KEY_LOCAL_IP 0x102
-#define KEY_SUBNET_MASK 0x103
-#define KEY_GATE_WAY 0x104
-#define KEY_SAVE_CHANGES 0x105
-
-#define IP_MIN_SIZE 7
-#define IP_MAX_SIZE 15
-#define IP4_STR_MAX_SIZE 16
-
-///
-/// NIC_IP4_CONFIG_INFO contains the IP4 configure
-/// parameters for that NIC. NIC_IP4_CONFIG_INFO is
-/// of variable length.
-///
-typedef struct {
- UINT8 Configure; ///< NIC configure status
- UINT8 DhcpEnable; ///< Static or DHCP
- CHAR16 StationAddress[IP4_STR_MAX_SIZE]; ///< IP addresses
- CHAR16 SubnetMask[IP4_STR_MAX_SIZE]; ///< Subnet address
- CHAR16 GatewayAddress[IP4_STR_MAX_SIZE]; ///< Gateway address
-} IP4_CONFIG_IFR_NVDATA;
-
-#endif
-
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.c b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.c
deleted file mode 100644
index f0e03af..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.c
+++ /dev/null
@@ -1,319 +0,0 @@
-/** @file
- Routines used to operate the Ip4 configure variable.
-
-Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
-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<BR>
-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.
-
-**/
-
-#include "Ip4Config.h"
-#include "NicIp4Variable.h"
-
-BOOLEAN mIp4ConfigVariableReclaimed = FALSE;
-
-/**
- Check whether the configure parameter is valid.
-
- @param NicConfig The configure parameter to check
-
- @return TRUE if the parameter is valid for the interface, otherwise FALSE.
-
-**/
-BOOLEAN
-Ip4ConfigIsValid (
- IN NIC_IP4_CONFIG_INFO *NicConfig
- )
-{
- EFI_IP4_IPCONFIG_DATA *IpConfig;
- IP4_ADDR Station;
- IP4_ADDR Netmask;
- IP4_ADDR Gateway;
- UINT32 Index;
-
- IpConfig = &NicConfig->Ip4Info;
-
- if (NicConfig->Source == IP4_CONFIG_SOURCE_STATIC) {
- //
- // Validate that the addresses are unicast and mask
- // is properly formated
- //
- Station = EFI_NTOHL (IpConfig->StationAddress);
- Netmask = EFI_NTOHL (IpConfig->SubnetMask);
-
- if ((Netmask == 0) || !IP4_IS_VALID_NETMASK (Netmask) ||
- (Station == 0) || !NetIp4IsUnicast (Station, Netmask)) {
- return FALSE;
- }
-
- //
- // Validate that the next hops are on the connected network
- // or that is a direct route (Gateway == 0).
- //
- for (Index = 0; Index < IpConfig->RouteTableSize; Index++) {
- Gateway = EFI_NTOHL (IpConfig->RouteTable[Index].GatewayAddress);
-
- if ((Gateway != 0) && (!IP4_NET_EQUAL (Station, Gateway, Netmask) ||
- !NetIp4IsUnicast (Gateway, Netmask))) {
- return FALSE;
- }
- }
-
- return TRUE;
- }
-
- //
- // return false if it is an unkown configure source. Valid
- // sources are static and dhcp.
- //
- return (BOOLEAN) (NicConfig->Source == IP4_CONFIG_SOURCE_DHCP);
-}
-
-
-
-/**
- Read the ip4 configure variable from the EFI variable.
-
- @param Instance The IP4 CONFIG instance.
-
- @return The IP4 configure read if it is there and is valid, otherwise NULL.
-
-**/
-NIC_IP4_CONFIG_INFO *
-Ip4ConfigReadVariable (
- IN IP4_CONFIG_INSTANCE *Instance
- )
-{
- NIC_IP4_CONFIG_INFO *NicConfig;
-
- GetVariable2 (Instance->MacString, &gEfiNicIp4ConfigVariableGuid, (VOID**)&NicConfig, NULL);
- if (NicConfig != NULL) {
- Ip4ConfigFixRouteTablePointer (&NicConfig->Ip4Info);
- }
-
- return NicConfig;
-}
-
-/**
- Write the IP4 configure variable to the NVRAM. If Config
- is NULL, remove the variable.
-
- @param Instance The IP4 CONFIG instance.
- @param NicConfig The IP4 configure data to write.
-
- @retval EFI_SUCCESS The variable is written to the NVRam.
- @retval Others Failed to write the variable.
-
-**/
-EFI_STATUS
-Ip4ConfigWriteVariable (
- IN IP4_CONFIG_INSTANCE *Instance,
- IN NIC_IP4_CONFIG_INFO *NicConfig OPTIONAL
- )
-{
- EFI_STATUS Status;
-
- Status = gRT->SetVariable (
- Instance->MacString,
- &gEfiNicIp4ConfigVariableGuid,
- IP4_CONFIG_VARIABLE_ATTRIBUTES,
- (NicConfig == NULL) ? 0 : SIZEOF_NIC_IP4_CONFIG_INFO (NicConfig),
- NicConfig
- );
-
- return Status;
-}
-
-/**
- Check whether a NIC exist in the platform given its MAC address.
-
- @param NicAddr The MAC address for the NIC to be checked.
-
- @retval TRUE The NIC exist in the platform.
- @retval FALSE The NIC doesn't exist in the platform.
-
-**/
-BOOLEAN
-Ip4ConfigIsNicExist (
- IN NIC_ADDR *NicAddr
- )
-{
- EFI_STATUS Status;
- EFI_HANDLE *HandleBuffer;
- UINTN NumberOfHandles;
- UINTN Index;
- BOOLEAN Found;
- UINTN AddrSize;
- EFI_MAC_ADDRESS MacAddr;
-
- //
- // Locate Service Binding handles.
- //
- Status = gBS->LocateHandleBuffer (
- ByProtocol,
- &gEfiManagedNetworkServiceBindingProtocolGuid,
- NULL,
- &NumberOfHandles,
- &HandleBuffer
- );
- if (EFI_ERROR (Status)) {
- return FALSE;
- }
-
- Found = FALSE;
- for (Index = 0; Index < NumberOfHandles; Index++) {
- //
- // Get MAC address.
- //
- AddrSize = 0;
- Status = NetLibGetMacAddress (HandleBuffer[Index], &MacAddr, &AddrSize);
- if (EFI_ERROR (Status)) {
- Found = FALSE;
- goto Exit;
- }
-
- if ((NicAddr->Len == AddrSize) && (CompareMem (NicAddr->MacAddr.Addr, MacAddr.Addr, AddrSize) == 0)) {
- Found = TRUE;
- goto Exit;
- }
- }
-
-Exit:
- FreePool (HandleBuffer);
- return Found;
-}
-
-/**
- Reclaim Ip4Config Variables for NIC which has been removed from the platform.
-
-**/
-VOID
-Ip4ConfigReclaimVariable (
- VOID
- )
-{
- EFI_STATUS Status;
- UINTN VariableNameSize;
- CHAR16 *VariableName;
- CHAR16 *CurrentVariableName;
- EFI_GUID VendorGuid;
- UINTN VariableNameBufferSize;
- NIC_IP4_CONFIG_INFO *NicConfig;
-
- //
- // Check whether we need perform reclaim.
- //
- if (mIp4ConfigVariableReclaimed) {
- return;
- }
- mIp4ConfigVariableReclaimed = TRUE;
-
- //
- // Get all Ip4Config Variable.
- //
- VariableNameSize = sizeof (CHAR16);
- VariableName = AllocateZeroPool (VariableNameSize);
- VariableNameBufferSize = VariableNameSize;
-
- while (TRUE) {
- Status = gRT->GetNextVariableName (
- &VariableNameSize,
- VariableName,
- &VendorGuid
- );
-
-Check:
- if (Status == EFI_BUFFER_TOO_SMALL) {
- VariableName = ReallocatePool (VariableNameBufferSize, VariableNameSize, VariableName);
- VariableNameBufferSize = VariableNameSize;
- //
- // Try again using the new buffer.
- //
- Status = gRT->GetNextVariableName (
- &VariableNameSize,
- VariableName,
- &VendorGuid
- );
- }
-
- if (EFI_ERROR (Status)) {
- //
- // No more variable available, finish search.
- //
- break;
- }
-
- //
- // Check variable GUID.
- //
- if (!CompareGuid (&VendorGuid, &gEfiNicIp4ConfigVariableGuid)) {
- continue;
- }
-
- GetVariable2 (VariableName, &gEfiNicIp4ConfigVariableGuid, (VOID**)&NicConfig, NULL);
- if (NicConfig == NULL) {
- break;
- }
-
- if (!Ip4ConfigIsNicExist (&NicConfig->NicAddr)) {
- //
- // No NIC found for this Ip4Config variable, remove it.
- // Since we are in loop of GetNextVariableName(), we need move on to next
- // Variable first and then delete current Variable.
- //
- CurrentVariableName = AllocateCopyPool (VariableNameSize, VariableName);
- Status = gRT->GetNextVariableName (
- &VariableNameSize,
- VariableName,
- &VendorGuid
- );
-
- gRT->SetVariable (
- CurrentVariableName,
- &gEfiNicIp4ConfigVariableGuid,
- IP4_CONFIG_VARIABLE_ATTRIBUTES,
- 0,
- NULL
- );
- FreePool (CurrentVariableName);
-
- //
- // We already get next variable, go to check it.
- //
- goto Check;
- }
- }
-
- FreePool (VariableName);
-}
-
-/**
- Fix the RouteTable pointer in an EFI_IP4_IPCONFIG_DATA structure.
-
- The pointer is set to be immediately follow the ConfigData if there're entries
- in the RouteTable. Otherwise it is set to NULL.
-
- @param ConfigData The IP4 IP configure data.
-
-**/
-VOID
-Ip4ConfigFixRouteTablePointer (
- IN OUT EFI_IP4_IPCONFIG_DATA *ConfigData
- )
-{
- //
- // The memory used for route table entries must immediately follow
- // the ConfigData and be not packed.
- //
- if (ConfigData->RouteTableSize > 0) {
- ConfigData->RouteTable = (EFI_IP4_ROUTE_TABLE *) (ConfigData + 1);
- } else {
- ConfigData->RouteTable = NULL;
- }
-}
-
diff --git a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.h b/MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.h
deleted file mode 100644
index 2f8defe..0000000
--- a/MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/** @file
- Routines used to operate the Ip4 configure variable.
-
-Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
-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<BR>
-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 _NIC_IP4_VARIABLE_H_
-#define _NIC_IP4_VARIABLE_H_
-
-//
-// Return the size of NIC_IP4_CONFIG_INFO and EFI_IP4_IPCONFIG_DATA.
-// They are of variable size
-//
-#define SIZEOF_IP4_CONFIG_INFO(Ip4Config) \
- (sizeof (EFI_IP4_IPCONFIG_DATA) + \
- sizeof (EFI_IP4_ROUTE_TABLE) * (Ip4Config)->RouteTableSize)
-
-#define SIZEOF_NIC_IP4_CONFIG_INFO(NicConfig) \
- (sizeof (NIC_IP4_CONFIG_INFO) + \
- sizeof (EFI_IP4_ROUTE_TABLE) * (NicConfig)->Ip4Info.RouteTableSize)
-
-//
-// Compare whether two NIC address are equal includes their type and length.
-//
-#define NIC_ADDR_EQUAL(Nic1, Nic2) \
- (((Nic1)->Type == (Nic2)->Type) && ((Nic1)->Len == (Nic2)->Len) && \
- NET_MAC_EQUAL (&(Nic1)->MacAddr, &(Nic2)->MacAddr, (Nic1)->Len))
-
-/**
- Check whether the configure parameter is valid.
-
- @param NicConfig The configure parameter to check
-
- @return TRUE if the parameter is valid for the interface, otherwise FALSE.
-
-**/
-BOOLEAN
-Ip4ConfigIsValid (
- IN NIC_IP4_CONFIG_INFO *NicConfig
- );
-
-/**
- Read the ip4 configure variable from the EFI variable.
-
- @param Instance The IP4 CONFIG instance.
-
- @return The IP4 configure read if it is there and is valid, otherwise NULL.
-
-**/
-NIC_IP4_CONFIG_INFO *
-Ip4ConfigReadVariable (
- IN IP4_CONFIG_INSTANCE *Instance
- );
-
-/**
- Write the IP4 configure variable to the NVRAM. If Config
- is NULL, remove the variable.
-
- @param Instance The IP4 CONFIG instance.
- @param NicConfig The IP4 configure data to write.
-
- @retval EFI_SUCCESS The variable is written to the NVRam.
- @retval Others Failed to write the variable.
-
-**/
-EFI_STATUS
-Ip4ConfigWriteVariable (
- IN IP4_CONFIG_INSTANCE *Instance,
- IN NIC_IP4_CONFIG_INFO *NicConfig OPTIONAL
- );
-
-/**
- Reclaim Ip4Config Variables for NIC which has been removed from the platform.
-
-**/
-VOID
-Ip4ConfigReclaimVariable (
- VOID
- );
-
-/**
- Fix the RouteTable pointer in an EFI_IP4_IPCONFIG_DATA structure.
-
- The pointer is set to be immediately follow the ConfigData if there're entries
- in the RouteTable. Otherwise it is set to NULL.
-
- @param ConfigData The IP4 IP configure data.
-
-**/
-VOID
-Ip4ConfigFixRouteTablePointer (
- IN OUT EFI_IP4_IPCONFIG_DATA *ConfigData
- );
-
-#endif
-
--
1.9.5.msysgit.1
Laszlo Ersek
2015-07-09 07:36:13 UTC
Permalink
Post by Jiaxin Wu
Version3 continue to update with a proper commit message.
Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol, which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)).
Dependent network drivers, libraries and applications have been migrated to (or extended to) the new protocol version.
git 7c25b7ea (SVN r17869): ping & ifconfig
git 00a6ad1b (SVN r17870): UefiHandleParsingLib
git 6c5c70d6 (SVN r17873): DxeNetLib
git 39561686 (SVN r17874): IpSecDxe
git c581e503 (SVN r17875): EfiSocketLib
This patch is based on related packages(MdeModulePkg, Nt32Pkg, ArmPlatformPkg, ArmVirtPkg, EmulatorPkg, OvmfPkg, Vlv2TbltDevicePkg) clean-up work finished.
Contributed-under: TianoCore Contribution Agreement 1.0
---
MdeModulePkg/Include/Guid/Ip4ConfigHii.h | 25 -
MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h | 70 --
MdeModulePkg/MdeModulePkg.dec | 6 -
MdeModulePkg/MdeModulePkg.dsc | 1 -
.../Universal/Network/Ip4ConfigDxe/ComponentName.c | 165 ----
.../Universal/Network/Ip4ConfigDxe/Ip4Config.c | 745 -----------------
.../Universal/Network/Ip4ConfigDxe/Ip4Config.h | 533 ------------
.../Network/Ip4ConfigDxe/Ip4ConfigDriver.c | 505 ------------
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.inf | 91 ---
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.uni | Bin 2700 -> 0 bytes
.../Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr | 89 --
.../Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni | Bin 1366 -> 0 bytes
.../Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni | Bin 3000 -> 0 bytes
.../Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c | 909 ---------------------
.../Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h | 54 --
.../Universal/Network/Ip4ConfigDxe/Ip4NvData.h | 48 --
.../Network/Ip4ConfigDxe/NicIp4Variable.c | 319 --------
.../Network/Ip4ConfigDxe/NicIp4Variable.h | 104 ---
18 files changed, 3664 deletions(-)
delete mode 100644 MdeModulePkg/Include/Guid/Ip4ConfigHii.h
delete mode 100644 MdeModulePkg/Include/Guid/NicIp4ConfigNvData.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/ComponentName.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4Config.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDriver.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.uni
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.vfr
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeExtra.uni
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxeStrings.uni
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigNv.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4NvData.h
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.c
delete mode 100644 MdeModulePkg/Universal/Network/Ip4ConfigDxe/NicIp4Variable.h
Reviewed-by: Laszlo Ersek <***@redhat.com>
Loading...