|
|
cc9195 |
From eff60320e87dcda19a50de4f1ac05af4a5e1b133 Mon Sep 17 00:00:00 2001
|
|
|
cc9195 |
From: Laszlo Ersek <lersek@redhat.com>
|
|
|
cc9195 |
Date: Wed, 18 Jul 2018 00:18:19 +0200
|
|
|
cc9195 |
Subject: [PATCH 3/6] ArmVirtPkg/ArmVirtQemu: enable the IPv6 stack
|
|
|
cc9195 |
|
|
|
cc9195 |
Message-id: <20180717221822.13110-3-lersek@redhat.com>
|
|
|
cc9195 |
Patchwork-id: 81375
|
|
|
cc9195 |
O-Subject: [RHEL8/virt212 edk2 PATCH 2/5] ArmVirtPkg/ArmVirtQemu: enable the
|
|
|
cc9195 |
IPv6 stack
|
|
|
cc9195 |
Bugzilla: 1536627
|
|
|
cc9195 |
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
|
cc9195 |
Acked-by: Wei Huang <wei@redhat.com>
|
|
|
cc9195 |
|
|
|
cc9195 |
Add the IPv6 stack to ArmVirtQemu with a cumulative port of the following
|
|
|
cc9195 |
OvmfPkg commits:
|
|
|
cc9195 |
|
|
|
cc9195 |
* 36c6413f76e5 "OvmfPkg: enable the IPv6 support", 2014-12-19
|
|
|
cc9195 |
|
|
|
cc9195 |
* 96302b80d90e "OvmfPkg: Enable Network2 Shell Commands for IPv6",
|
|
|
cc9195 |
2016-03-08
|
|
|
cc9195 |
|
|
|
cc9195 |
* 6d0f8941bdc2 "OvmfPkg: always resolve OpenSslLib, IntrinsicLib and
|
|
|
cc9195 |
BaseCryptLib", 2017-01-17
|
|
|
cc9195 |
|
|
|
cc9195 |
* 32e22f20c985 "OvmfPkg: correct the IScsiDxe module included for the IPv6
|
|
|
cc9195 |
stack", 2017-01-17
|
|
|
cc9195 |
|
|
|
cc9195 |
The IPv6-enabled IScsiDxe driver depends on BaseCryptLib, and the
|
|
|
cc9195 |
"CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf" instance depends on
|
|
|
cc9195 |
IntrinsicLib and OpensslLib. This is why commit 6d0f8941bdc2 is relevant.
|
|
|
cc9195 |
|
|
|
cc9195 |
However, unlike in OvmfPkg, in ArmVirtPkg we'll precisely track the
|
|
|
cc9195 |
firmware features that require these library classes. (The OvmfPkg
|
|
|
cc9195 |
discussion was quite complex, and the OvmfPkg solution was a compromise:
|
|
|
cc9195 |
<http://mid.mail-archive.com/1484569332-13440-1-git-send-email-jiaxin.wu@intel.com>.)
|
|
|
cc9195 |
|
|
|
cc9195 |
The ArmVirtXen platform is not extended with the relevant drivers because
|
|
|
cc9195 |
currently it doesn't include any networking support.
|
|
|
cc9195 |
|
|
|
cc9195 |
Cc: Julien Grall <julien.grall@linaro.org>
|
|
|
cc9195 |
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1007
|
|
|
cc9195 |
Contributed-under: TianoCore Contribution Agreement 1.1
|
|
|
cc9195 |
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
|
|
cc9195 |
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
|
|
|
cc9195 |
(cherry picked from commit ae08ea246fe9b4a4e05b7ee6cdbd5b0fa38f3f69)
|
|
|
cc9195 |
---
|
|
|
cc9195 |
ArmVirtPkg/ArmVirt.dsc.inc | 18 +++++++++++++++---
|
|
|
cc9195 |
ArmVirtPkg/ArmVirtQemu.dsc | 13 ++++++++++++-
|
|
|
cc9195 |
ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 12 +++++++++++-
|
|
|
cc9195 |
ArmVirtPkg/ArmVirtQemuKernel.dsc | 13 ++++++++++++-
|
|
|
cc9195 |
4 files changed, 50 insertions(+), 6 deletions(-)
|
|
|
cc9195 |
|
|
|
cc9195 |
diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
|
|
|
cc9195 |
index 2bb8860..f031e81 100644
|
|
|
cc9195 |
--- a/ArmVirtPkg/ArmVirt.dsc.inc
|
|
|
cc9195 |
+++ b/ArmVirtPkg/ArmVirt.dsc.inc
|
|
|
cc9195 |
@@ -80,6 +80,9 @@
|
|
|
cc9195 |
DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf
|
|
|
cc9195 |
UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
|
|
|
cc9195 |
IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf
|
|
|
cc9195 |
+!if $(NETWORK_IP6_ENABLE) == TRUE
|
|
|
cc9195 |
+ TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf
|
|
|
cc9195 |
+!endif
|
|
|
cc9195 |
!if $(HTTP_BOOT_ENABLE) == TRUE
|
|
|
cc9195 |
HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf
|
|
|
cc9195 |
!endif
|
|
|
cc9195 |
@@ -141,14 +144,20 @@
|
|
|
cc9195 |
XenIoMmioLib|OvmfPkg/Library/XenIoMmioLib/XenIoMmioLib.inf
|
|
|
cc9195 |
|
|
|
cc9195 |
#
|
|
|
cc9195 |
- # Secure Boot dependencies
|
|
|
cc9195 |
+ # CryptoPkg libraries needed by multiple firmware features
|
|
|
cc9195 |
#
|
|
|
cc9195 |
-!if $(SECURE_BOOT_ENABLE) == TRUE
|
|
|
cc9195 |
+!if ($(SECURE_BOOT_ENABLE) == TRUE) || ($(NETWORK_IP6_ENABLE) == TRUE)
|
|
|
cc9195 |
IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
|
|
|
cc9195 |
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
|
|
cc9195 |
+ BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
|
|
cc9195 |
+!endif
|
|
|
cc9195 |
+
|
|
|
cc9195 |
+ #
|
|
|
cc9195 |
+ # Secure Boot dependencies
|
|
|
cc9195 |
+ #
|
|
|
cc9195 |
+!if $(SECURE_BOOT_ENABLE) == TRUE
|
|
|
cc9195 |
TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
|
|
|
cc9195 |
AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
|
|
|
cc9195 |
- BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
|
|
cc9195 |
|
|
|
cc9195 |
# re-use the UserPhysicalPresent() dummy implementation from the ovmf tree
|
|
|
cc9195 |
PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
|
|
|
cc9195 |
@@ -403,6 +412,9 @@
|
|
|
cc9195 |
NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
|
|
|
cc9195 |
NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
|
|
|
cc9195 |
NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
|
|
|
cc9195 |
+!if $(NETWORK_IP6_ENABLE) == TRUE
|
|
|
cc9195 |
+ NULL|ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf
|
|
|
cc9195 |
+!endif
|
|
|
cc9195 |
HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
|
|
|
cc9195 |
PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
|
|
|
cc9195 |
BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
|
|
|
cc9195 |
diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
|
|
|
cc9195 |
index bb9d7c8..41ff17d 100644
|
|
|
cc9195 |
--- a/ArmVirtPkg/ArmVirtQemu.dsc
|
|
|
cc9195 |
+++ b/ArmVirtPkg/ArmVirtQemu.dsc
|
|
|
cc9195 |
@@ -34,6 +34,7 @@
|
|
|
cc9195 |
# -D FLAG=VALUE
|
|
|
cc9195 |
#
|
|
|
cc9195 |
DEFINE SECURE_BOOT_ENABLE = FALSE
|
|
|
cc9195 |
+ DEFINE NETWORK_IP6_ENABLE = FALSE
|
|
|
cc9195 |
DEFINE HTTP_BOOT_ENABLE = FALSE
|
|
|
cc9195 |
|
|
|
cc9195 |
!include ArmVirtPkg/ArmVirt.dsc.inc
|
|
|
cc9195 |
@@ -353,10 +354,20 @@
|
|
|
cc9195 |
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
|
|
|
cc9195 |
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
|
|
|
cc9195 |
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
|
|
|
cc9195 |
- MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
|
|
|
cc9195 |
MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
|
|
|
cc9195 |
+!if $(NETWORK_IP6_ENABLE) == TRUE
|
|
|
cc9195 |
+ NetworkPkg/Ip6Dxe/Ip6Dxe.inf
|
|
|
cc9195 |
+ NetworkPkg/TcpDxe/TcpDxe.inf
|
|
|
cc9195 |
+ NetworkPkg/Udp6Dxe/Udp6Dxe.inf
|
|
|
cc9195 |
+ NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
|
|
|
cc9195 |
+ NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
|
|
|
cc9195 |
+ NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
|
|
|
cc9195 |
+ NetworkPkg/IScsiDxe/IScsiDxe.inf
|
|
|
cc9195 |
+!else
|
|
|
cc9195 |
+ MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
|
|
|
cc9195 |
MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
|
|
|
cc9195 |
MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf
|
|
|
cc9195 |
+!endif
|
|
|
cc9195 |
!if $(HTTP_BOOT_ENABLE) == TRUE
|
|
|
cc9195 |
NetworkPkg/DnsDxe/DnsDxe.inf
|
|
|
cc9195 |
NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
|
|
|
cc9195 |
diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
|
|
|
cc9195 |
index 8941b7f..82d9cbd 100644
|
|
|
cc9195 |
--- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
|
|
|
cc9195 |
+++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
|
|
|
cc9195 |
@@ -125,10 +125,20 @@ READ_LOCK_STATUS = TRUE
|
|
|
cc9195 |
INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
|
|
|
cc9195 |
INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
|
|
|
cc9195 |
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
|
|
|
cc9195 |
- INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
|
|
|
cc9195 |
INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
|
|
|
cc9195 |
+!if $(NETWORK_IP6_ENABLE) == TRUE
|
|
|
cc9195 |
+ INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf
|
|
|
cc9195 |
+ INF NetworkPkg/TcpDxe/TcpDxe.inf
|
|
|
cc9195 |
+ INF NetworkPkg/Udp6Dxe/Udp6Dxe.inf
|
|
|
cc9195 |
+ INF NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
|
|
|
cc9195 |
+ INF NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
|
|
|
cc9195 |
+ INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
|
|
|
cc9195 |
+ INF NetworkPkg/IScsiDxe/IScsiDxe.inf
|
|
|
cc9195 |
+!else
|
|
|
cc9195 |
+ INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
|
|
|
cc9195 |
INF MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
|
|
|
cc9195 |
INF MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf
|
|
|
cc9195 |
+!endif
|
|
|
cc9195 |
!if $(HTTP_BOOT_ENABLE) == TRUE
|
|
|
cc9195 |
INF NetworkPkg/DnsDxe/DnsDxe.inf
|
|
|
cc9195 |
INF NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
|
|
|
cc9195 |
diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc
|
|
|
cc9195 |
index 9027805..83fc12f 100644
|
|
|
cc9195 |
--- a/ArmVirtPkg/ArmVirtQemuKernel.dsc
|
|
|
cc9195 |
+++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc
|
|
|
cc9195 |
@@ -34,6 +34,7 @@
|
|
|
cc9195 |
# -D FLAG=VALUE
|
|
|
cc9195 |
#
|
|
|
cc9195 |
DEFINE SECURE_BOOT_ENABLE = FALSE
|
|
|
cc9195 |
+ DEFINE NETWORK_IP6_ENABLE = FALSE
|
|
|
cc9195 |
DEFINE HTTP_BOOT_ENABLE = FALSE
|
|
|
cc9195 |
|
|
|
cc9195 |
!include ArmVirtPkg/ArmVirt.dsc.inc
|
|
|
cc9195 |
@@ -336,10 +337,20 @@
|
|
|
cc9195 |
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
|
|
|
cc9195 |
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
|
|
|
cc9195 |
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
|
|
|
cc9195 |
- MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
|
|
|
cc9195 |
MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
|
|
|
cc9195 |
+!if $(NETWORK_IP6_ENABLE) == TRUE
|
|
|
cc9195 |
+ NetworkPkg/Ip6Dxe/Ip6Dxe.inf
|
|
|
cc9195 |
+ NetworkPkg/TcpDxe/TcpDxe.inf
|
|
|
cc9195 |
+ NetworkPkg/Udp6Dxe/Udp6Dxe.inf
|
|
|
cc9195 |
+ NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
|
|
|
cc9195 |
+ NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
|
|
|
cc9195 |
+ NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
|
|
|
cc9195 |
+ NetworkPkg/IScsiDxe/IScsiDxe.inf
|
|
|
cc9195 |
+!else
|
|
|
cc9195 |
+ MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
|
|
|
cc9195 |
MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
|
|
|
cc9195 |
MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf
|
|
|
cc9195 |
+!endif
|
|
|
cc9195 |
!if $(HTTP_BOOT_ENABLE) == TRUE
|
|
|
cc9195 |
NetworkPkg/DnsDxe/DnsDxe.inf
|
|
|
cc9195 |
NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
|
|
|
cc9195 |
--
|
|
|
cc9195 |
1.8.3.1
|
|
|
cc9195 |
|