* [Patch v4 0/3] Add package level include DSC/FDF in NetworkPkg @ 2019-04-29 14:50 Liming Gao 2019-04-29 14:50 ` [Patch v4 1/3] NetworkPkg DSC: Add the required ARM library to pass ARM build Liming Gao ` (2 more replies) 0 siblings, 3 replies; 12+ messages in thread From: Liming Gao @ 2019-04-29 14:50 UTC (permalink / raw) To: devel v4: Move library instance BaseStackCheckLib to ARM, AARCH64 arch in Patch 1/3 Move PLATFORMX64_ENABLE build flag to package level include DSC file Correct typo in Patch 3/3 BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1293 BZ 1293 requests to move Network modules from MdeModulePkg to NetworkPkg. To keep the backword compatiblity, Network package level include DSC/FDF are introduced to be used in the platform DSC/FDF files. When Network modules are moved from MdeModulePkg to NetworkPkg, Network package level include DSC/FDF will be updated together. There is no impact on the platform DSC/FDF file. This patch set is to introduce network package level include DSC/FDF files. Bases on previous discussion and the existing usage case, build flag will be used to enable/disable the network features. PCD control feature way can be discussed later. And, to meet with the different usages, this patch set introduces the separate DSC for Defines/Pcds/Libraries/Components (Patch 2) , and also adds the package level combined DSC to include them all (Patch 3). If platform wants to use the flexible way to enable Network feature, it can use the separate DSCs. If the platform wants to directly enable Network feature, it can use the combined package DSC file. This patch set is to update NetworkPkg only. If there is no objection on this proposal, the following changes to platform DSC/FDF will be made and sent for review. By default, the platform DSC/FDF will use the combined DSC/FDF file. If the platform owner wants to use the flexible way to enable Network feature, please reply this mail. Feedback from Laszlo, OvmfPkg and ArmVirtPkg platforms to use the standalone include files from patch #2. Liming Gao (3): NetworkPkg DSC: Add the required ARM library to pass ARM build NetworkPkg: Add DSC/FDF include segment files to NetworkPkg. NetworkPkg: Add package level include DSC file NetworkPkg/Network.dsc.inc | 40 ++++++++++++ NetworkPkg/Network.fdf.inc | 56 +++++++++++++++++ NetworkPkg/NetworkComponents.dsc.inc | 61 ++++++++++++++++++ NetworkPkg/NetworkDefines.dsc.inc | 118 +++++++++++++++++++++++++++++++++++ NetworkPkg/NetworkLibs.dsc.inc | 19 ++++++ NetworkPkg/NetworkPcds.dsc.inc | 16 +++++ NetworkPkg/NetworkPkg.dsc | 24 +------ 7 files changed, 313 insertions(+), 21 deletions(-) create mode 100644 NetworkPkg/Network.dsc.inc create mode 100644 NetworkPkg/Network.fdf.inc create mode 100644 NetworkPkg/NetworkComponents.dsc.inc create mode 100644 NetworkPkg/NetworkDefines.dsc.inc create mode 100644 NetworkPkg/NetworkLibs.dsc.inc create mode 100644 NetworkPkg/NetworkPcds.dsc.inc -- 2.13.0.windows.1 ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Patch v4 1/3] NetworkPkg DSC: Add the required ARM library to pass ARM build 2019-04-29 14:50 [Patch v4 0/3] Add package level include DSC/FDF in NetworkPkg Liming Gao @ 2019-04-29 14:50 ` Liming Gao 2019-04-30 13:40 ` [edk2-devel] " Laszlo Ersek 2019-04-29 14:50 ` [Patch v4 2/3] NetworkPkg: Add DSC/FDF include segment files to NetworkPkg Liming Gao 2019-04-29 14:50 ` [Patch v4 3/3] NetworkPkg: Add package level include DSC file Liming Gao 2 siblings, 1 reply; 12+ messages in thread From: Liming Gao @ 2019-04-29 14:50 UTC (permalink / raw) To: devel Signed-off-by: Liming Gao <liming.gao@intel.com> --- NetworkPkg/NetworkPkg.dsc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/NetworkPkg/NetworkPkg.dsc b/NetworkPkg/NetworkPkg.dsc index b5416b1614..be9d9248e4 100644 --- a/NetworkPkg/NetworkPkg.dsc +++ b/NetworkPkg/NetworkPkg.dsc @@ -72,6 +72,8 @@ # [LibraryClasses.ARM] and NULL mean link this library into all ARM images. # NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf + NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf + ArmSoftFloatLib|ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf [PcdsFeatureFlag] gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE @@ -114,7 +116,7 @@ NetworkPkg/Application/VConfig/VConfig.inf -[Components.IA32, Components.X64] +[Components.IA32, Components.X64, Components.ARM, Components.AARCH64] NetworkPkg/IScsiDxe/IScsiDxe.inf NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf NetworkPkg/TlsDxe/TlsDxe.inf -- 2.13.0.windows.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [edk2-devel] [Patch v4 1/3] NetworkPkg DSC: Add the required ARM library to pass ARM build 2019-04-29 14:50 ` [Patch v4 1/3] NetworkPkg DSC: Add the required ARM library to pass ARM build Liming Gao @ 2019-04-30 13:40 ` Laszlo Ersek 0 siblings, 0 replies; 12+ messages in thread From: Laszlo Ersek @ 2019-04-30 13:40 UTC (permalink / raw) To: devel, liming.gao On 04/29/19 16:50, Liming Gao wrote: > Signed-off-by: Liming Gao <liming.gao@intel.com> > --- > NetworkPkg/NetworkPkg.dsc | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/NetworkPkg/NetworkPkg.dsc b/NetworkPkg/NetworkPkg.dsc > index b5416b1614..be9d9248e4 100644 > --- a/NetworkPkg/NetworkPkg.dsc > +++ b/NetworkPkg/NetworkPkg.dsc > @@ -72,6 +72,8 @@ > # [LibraryClasses.ARM] and NULL mean link this library into all ARM images. > # > NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf > + NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf > + ArmSoftFloatLib|ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf > > [PcdsFeatureFlag] > gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE > @@ -114,7 +116,7 @@ > > NetworkPkg/Application/VConfig/VConfig.inf > > -[Components.IA32, Components.X64] > +[Components.IA32, Components.X64, Components.ARM, Components.AARCH64] > NetworkPkg/IScsiDxe/IScsiDxe.inf > NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf > NetworkPkg/TlsDxe/TlsDxe.inf > Reviewed-by: Laszlo Ersek <lersek@redhat.com> ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Patch v4 2/3] NetworkPkg: Add DSC/FDF include segment files to NetworkPkg. 2019-04-29 14:50 [Patch v4 0/3] Add package level include DSC/FDF in NetworkPkg Liming Gao 2019-04-29 14:50 ` [Patch v4 1/3] NetworkPkg DSC: Add the required ARM library to pass ARM build Liming Gao @ 2019-04-29 14:50 ` Liming Gao 2019-04-30 14:35 ` [edk2-devel] " Laszlo Ersek 2019-04-29 14:50 ` [Patch v4 3/3] NetworkPkg: Add package level include DSC file Liming Gao 2 siblings, 1 reply; 12+ messages in thread From: Liming Gao @ 2019-04-29 14:50 UTC (permalink / raw) To: devel; +Cc: Jiaxin Wu, Ting Ye, Fu Siyuan This patch provides a set of include segment files for platform owner to easily enable/disable network stack support on their platform. For DSC, there are: - a "NetworkDefines.dsc.inc" for the [Defines] section(s), - a "NetworkLibs.dsc.inc" for the [LibraryClasses*] section(s), - a "NetworkPcds.dsc.inc" for the [Pcds*] section(s), - a "NetworkComponents.dsc.inc" for the [Components*] section(s). For FDF, there is: - a "Network.fdf.inc" for the [Fv*] section(s). These files can be added to the platform DSC/FDF file by using !include NetworkPkg/xxx where "xxx" is the *.inc file name. A platform DSC file can diverge from the defaults in "NetworkDefines.dsc.inc" by setting the individual DEFINEs before including "NetworkDefines.dsc.inc". And, build command line ("-D FLAG=VALUE") can be used to enable or disable related feature set, please check "NetworkDefines.dsc.inc" for a detail description of each flag. The default value of these flags are: DEFINE NETWORK_ENABLE = TRUE DEFINE NETWORK_SNP_ENABLE = TRUE DEFINE NETWORK_IP4_ENABLE = TRUE DEFINE NETWORK_IP6_ENABLE = TRUE DEFINE NETWORK_TLS_ENABLE = TRUE DEFINE NETWORK_HTTP_BOOT_ENABLE = TRUE DEFINE NETWORK_ALLOW_HTTP_CONNECTIONS = FALSE DEFINE NETWORK_ISCSI_ENABLE = TRUE DEFINE NETWORK_VLAN_ENABLE = TRUE Related BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1293 Cc: Jiaxin Wu <jiaxin.wu@intel.com> Cc: Ting Ye <ting.ye@intel.com> Signed-off-by: Fu Siyuan <siyuan.fu@intel.com> --- NetworkPkg/Network.fdf.inc | 56 +++++++++++++++++ NetworkPkg/NetworkComponents.dsc.inc | 61 ++++++++++++++++++ NetworkPkg/NetworkDefines.dsc.inc | 118 +++++++++++++++++++++++++++++++++++ NetworkPkg/NetworkLibs.dsc.inc | 19 ++++++ NetworkPkg/NetworkPcds.dsc.inc | 16 +++++ 5 files changed, 270 insertions(+) create mode 100644 NetworkPkg/Network.fdf.inc create mode 100644 NetworkPkg/NetworkComponents.dsc.inc create mode 100644 NetworkPkg/NetworkDefines.dsc.inc create mode 100644 NetworkPkg/NetworkLibs.dsc.inc create mode 100644 NetworkPkg/NetworkPcds.dsc.inc diff --git a/NetworkPkg/Network.fdf.inc b/NetworkPkg/Network.fdf.inc new file mode 100644 index 0000000000..8518bad12c --- /dev/null +++ b/NetworkPkg/Network.fdf.inc @@ -0,0 +1,56 @@ +## @file +# Network FDF include file for All Architectures. +# +# This file can be included to a platform FDF by using "!include NetworkPkg/Network.fdf.inc" +# to add EDKII network stack drivers according to the value of flags described in +# "NetworkPkg/Network.dsc.inc". +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# + +!if $(NETWORK_ENABLE) == TRUE + INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf + + !if $(NETWORK_SNP_ENABLE) == TRUE + INF MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf + !endif + + !if $(NETWORK_VLAN_ENABLE) == TRUE + INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf + !endif + + INF MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf + + !if $(NETWORK_IP4_ENABLE) == TRUE + INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf + INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf + INF MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf + INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf + INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf + !endif + + !if $(NETWORK_IP6_ENABLE) == TRUE + INF NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf + INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf + INF NetworkPkg/Udp6Dxe/Udp6Dxe.inf + INF NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf + !endif + + INF NetworkPkg/TcpDxe/TcpDxe.inf + INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf + + !if $(NETWORK_TLS_ENABLE) == TRUE + INF NetworkPkg/TlsDxe/TlsDxe.inf + INF NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf + !endif + + !if $(NETWORK_HTTP_BOOT_ENABLE) == TRUE + INF NetworkPkg/DnsDxe/DnsDxe.inf + INF NetworkPkg/HttpDxe/HttpDxe.inf + INF NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf + INF NetworkPkg/HttpBootDxe/HttpBootDxe.inf + !endif + +!endif diff --git a/NetworkPkg/NetworkComponents.dsc.inc b/NetworkPkg/NetworkComponents.dsc.inc new file mode 100644 index 0000000000..aede5ea8be --- /dev/null +++ b/NetworkPkg/NetworkComponents.dsc.inc @@ -0,0 +1,61 @@ +## @file +# Network DSC include file for [Components*] section of all Architectures. +# +# This file can be included to the [Components*] section(s) of a platform DSC file +# by using "!include NetworkPkg/NetworkComponents.dsc.inc" to specify the INF files +# of EDKII network drivers according to the value of flags described in +# "NetworkDefines.dsc.inc". +# +# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +!if $(NETWORK_ENABLE) == TRUE + MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf + + !if $(NETWORK_SNP_ENABLE) == TRUE + MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf + !endif + + !if $(NETWORK_VLAN_ENABLE) == TRUE + MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf + !endif + + MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf + + !if $(NETWORK_IP4_ENABLE) == TRUE + MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf + MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf + MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf + MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf + MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf + !endif + + !if $(NETWORK_IP6_ENABLE) == TRUE + NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf + NetworkPkg/Ip6Dxe/Ip6Dxe.inf + NetworkPkg/Udp6Dxe/Udp6Dxe.inf + NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf + !endif + + NetworkPkg/TcpDxe/TcpDxe.inf + NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf + + !if $(NETWORK_TLS_ENABLE) == TRUE + NetworkPkg/TlsDxe/TlsDxe.inf + NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf + !endif + + !if $(NETWORK_HTTP_BOOT_ENABLE) == TRUE + NetworkPkg/DnsDxe/DnsDxe.inf + NetworkPkg/HttpDxe/HttpDxe.inf + NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf + NetworkPkg/HttpBootDxe/HttpBootDxe.inf + !endif + + !if $(NETWORK_ISCSI_ENABLE) == TRUE + NetworkPkg/IScsiDxe/IScsiDxe.inf + !endif +!endif diff --git a/NetworkPkg/NetworkDefines.dsc.inc b/NetworkPkg/NetworkDefines.dsc.inc new file mode 100644 index 0000000000..a442d1b157 --- /dev/null +++ b/NetworkPkg/NetworkDefines.dsc.inc @@ -0,0 +1,118 @@ +## @file +# Network DSC include file for [Defines] section of all Architectures. +# +# This file can be included to the [Defines] section of a platform DSC file by +# using "!include NetworkPkg/NetworkDefines.dsc.inc" to set default value of +# flags if they are not defined somewhere else, and also check the value to see +# if there is any conflict. +# +# These flags can be defined before the !include line, or changed on the command +# line to enable or disable related feature support. +# -D FLAG=VALUE +# The default value of these flags are: +# DEFINE NETWORK_ENABLE = TRUE +# DEFINE NETWORK_SNP_ENABLE = TRUE +# DEFINE NETWORK_IP4_ENABLE = TRUE +# DEFINE NETWORK_IP6_ENABLE = TRUE +# DEFINE NETWORK_TLS_ENABLE = TRUE +# DEFINE NETWORK_HTTP_BOOT_ENABLE = TRUE +# DEFINE NETWORK_ALLOW_HTTP_CONNECTIONS = FALSE +# DEFINE NETWORK_ISCSI_ENABLE = TRUE +# DEFINE NETWORK_VLAN_ENABLE = TRUE +# +# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +!ifndef NETWORK_ENABLE + # + # This flag is to enable or disable the whole network stack. + # + DEFINE NETWORK_ENABLE = TRUE +!endif + +!ifndef NETWORK_SNP_ENABLE + # + # This flag is to include the common SNP driver or not. + # + DEFINE NETWORK_SNP_ENABLE = TRUE +!endif + +!ifndef NETWORK_VLAN_ENABLE + # + # This flag is to enable or disable VLAN feature. + # + DEFINE NETWORK_VLAN_ENABLE = TRUE +!endif + +!ifndef NETWORK_IP4_ENABLE + # + # This flag is to enable or disable IPv4 network stack. + # + DEFINE NETWORK_IP4_ENABLE = TRUE +!endif + +!ifndef NETWORK_IP6_ENABLE + # + # This flag is to enable or disable IPv6 network stack. + # + DEFINE NETWORK_IP6_ENABLE = TRUE +!endif + +!ifndef NETWORK_TLS_ENABLE + # + # This flag is to enable or disable TLS feature. + # + # Note: This feature depends on the OpenSSL building. To enable this feature, please + # follow the instructions found in the file "OpenSSL-HOWTO.txt" located in + # CryptoPkg\Library\OpensslLib to enable the OpenSSL building first. + # The OpensslLib.inf library instance should be used since libssl is required. + # + DEFINE NETWORK_TLS_ENABLE = TRUE +!endif + +!ifndef NETWORK_HTTP_BOOT_ENABLE + # + # This flag is to enable or disable HTTP(S) boot feature. + # + DEFINE NETWORK_HTTP_BOOT_ENABLE = TRUE +!endif + +!ifndef NETWORK_ALLOW_HTTP_CONNECTIONS + # + # Indicates whether HTTP connections (i.e., unsecured) are permitted or not. + # + # Note: If NETWORK_ALLOW_HTTP_CONNECTIONS is TRUE, HTTP connections are allowed. + # Both the "https://" and "http://" URI schemes are permitted. Otherwise, HTTP + # connections are denied. Only the "https://" URI scheme is permitted. + # + DEFINE NETWORK_ALLOW_HTTP_CONNECTIONS = FALSE +!endif + +!ifndef NETWORK_ISCSI_ENABLE + # + # This flag is to enable or disable iSCSI feature. + # + # Note: This feature depends on the OpenSSL building. To enable this feature, please + # follow the instructions found in the file "OpenSSL-HOWTO.txt" located in + # CryptoPkg\Library\OpensslLib to enable the OpenSSL building first. + # Both OpensslLib.inf and OpensslLibCrypto.inf library instance can be used + # since libssl is not required for iSCSI. + # + DEFINE NETWORK_ISCSI_ENABLE = TRUE +!endif + +!if $(NETWORK_ENABLE) == TRUE + # + # Check the flags to see if there is any conflict. + # + !if ($(NETWORK_IP4_ENABLE) == FALSE) AND ($(NETWORK_IP6_ENABLE) == FALSE) + !error "Must enable at least IP4 or IP6 stack if NETWORK_ENABLE is set to TRUE!" + !endif + + !if ($(NETWORK_HTTP_BOOT_ENABLE) == TRUE) AND ($(NETWORK_TLS_ENABLE) == FALSE) AND ($(NETWORK_ALLOW_HTTP_CONNECTIONS) == FALSE) + !error "Must enable TLS to support HTTPS, or allow unsecured HTTP connection, if NETWORK_HTTP_BOOT_ENABLE is set to TRUE!" + !endif +!endif diff --git a/NetworkPkg/NetworkLibs.dsc.inc b/NetworkPkg/NetworkLibs.dsc.inc new file mode 100644 index 0000000000..dac6b37c6a --- /dev/null +++ b/NetworkPkg/NetworkLibs.dsc.inc @@ -0,0 +1,19 @@ +## @file +# Network DSC include file for [LibraryClasses*] section of all Architectures. +# +# This file can be included to the [LibraryClasses*] section(s) of a platform DSC file +# by using "!include NetworkPkg/NetworkLibs.dsc.inc" to specify the library instances +# of EDKII network library classes. +# +# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + + DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf + NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf + IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf + UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf + TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf + HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf diff --git a/NetworkPkg/NetworkPcds.dsc.inc b/NetworkPkg/NetworkPcds.dsc.inc new file mode 100644 index 0000000000..f874b382ef --- /dev/null +++ b/NetworkPkg/NetworkPcds.dsc.inc @@ -0,0 +1,16 @@ +## @file +# Network DSC include file for [Pcds*] section of all Architectures. +# +# This file can be included to the [Pcds*] section(s) of a platform DSC file +# by using "!include NetworkPkg/NetworkPcds.dsc.inc" to specify PCD settings +# according to the value of flags described in "NetworkDefines.dsc.inc". +# +# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +!if $(NETWORK_ALLOW_HTTP_CONNECTIONS) == TRUE + gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|TRUE +!endif -- 2.13.0.windows.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [edk2-devel] [Patch v4 2/3] NetworkPkg: Add DSC/FDF include segment files to NetworkPkg. 2019-04-29 14:50 ` [Patch v4 2/3] NetworkPkg: Add DSC/FDF include segment files to NetworkPkg Liming Gao @ 2019-04-30 14:35 ` Laszlo Ersek 0 siblings, 0 replies; 12+ messages in thread From: Laszlo Ersek @ 2019-04-30 14:35 UTC (permalink / raw) To: devel, liming.gao; +Cc: Jiaxin Wu, Ting Ye, Fu Siyuan Hi Liming, I posted my v3 review at: https://edk2.groups.io/g/devel/message/39770 Let me summarize how the v4 posting relates to my v3 review: - The current patch (v4 2/3) addresses my requests (1) and (2). Thanks for that. - In the v3 review, you said that you'd update the release planning page, if the series matures in time for edk2-stable201905. That covers my request (3), thanks. - It seems that you missed the rest of my requests under v3, namely points (4) through (11). Because, you neither commented on them (in the v3 thread), nor addressed them (in the v4 posting). Did you stop reading my v3 email at point (3)? Please re-read my v3 review in whole, respond to each of my requests, and address (in a v5 posting) those requests that you agree with. Thank you, Laszlo ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Patch v4 3/3] NetworkPkg: Add package level include DSC file 2019-04-29 14:50 [Patch v4 0/3] Add package level include DSC/FDF in NetworkPkg Liming Gao 2019-04-29 14:50 ` [Patch v4 1/3] NetworkPkg DSC: Add the required ARM library to pass ARM build Liming Gao 2019-04-29 14:50 ` [Patch v4 2/3] NetworkPkg: Add DSC/FDF include segment files to NetworkPkg Liming Gao @ 2019-04-29 14:50 ` Liming Gao 2019-04-30 14:42 ` [edk2-devel] " Laszlo Ersek 2 siblings, 1 reply; 12+ messages in thread From: Liming Gao @ 2019-04-29 14:50 UTC (permalink / raw) To: devel Platform DSC can include Network.dsc.inc to enable network features. Signed-off-by: Liming Gao <liming.gao@intel.com> --- NetworkPkg/Network.dsc.inc | 40 ++++++++++++++++++++++++++++++++++++++++ NetworkPkg/NetworkPkg.dsc | 22 +--------------------- 2 files changed, 41 insertions(+), 21 deletions(-) create mode 100644 NetworkPkg/Network.dsc.inc diff --git a/NetworkPkg/Network.dsc.inc b/NetworkPkg/Network.dsc.inc new file mode 100644 index 0000000000..d51ee1b040 --- /dev/null +++ b/NetworkPkg/Network.dsc.inc @@ -0,0 +1,40 @@ +## @file +# Network DSC include file for Platform DSC +# +# This file includes all required information to enable Network features. +# It can be included to a platform DSC file by using "!include NetworkPkg/Network.dsc.inc". +# +# This file defines one build flag PLATFORMX64_ENABLE to support +# IA32 PEI and X64 DXE platform. Its default value is FALSE. +# +# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +[Defines] +!include NetworkPkg/NetworkDefines.dsc.inc + +!ifndef PLATFORMX64_ENABLE + # + # PLATFORMX64_ENABLE is set to TRUE when PEI is IA32 and DXE is X64 platform + # + DEFINE PLATFORMX64_ENABLE = FALSE +!endif + +[PcdsFixedAtBuild] +!include NetworkPkg/NetworkPcds.dsc.inc + +[LibraryClasses] +!include NetworkPkg/NetworkLibs.dsc.inc + +!if $(PLATFORMX64_ENABLE) == TRUE +[Components.X64] +!include NetworkPkg/NetworkComponents.dsc.inc + +!else +[Components.IA32, Components.X64, Components.ARM, Components.AARCH64] +!include NetworkPkg/NetworkComponents.dsc.inc + +!endif diff --git a/NetworkPkg/NetworkPkg.dsc b/NetworkPkg/NetworkPkg.dsc index be9d9248e4..fe2fcf7b3c 100644 --- a/NetworkPkg/NetworkPkg.dsc +++ b/NetworkPkg/NetworkPkg.dsc @@ -41,12 +41,6 @@ DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf - DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf - NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf - IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf - UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf - TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf - HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf @@ -103,24 +97,10 @@ ################################################################################################### [Components] - NetworkPkg/Ip6Dxe/Ip6Dxe.inf - NetworkPkg/TcpDxe/TcpDxe.inf - NetworkPkg/Udp6Dxe/Udp6Dxe.inf - NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf - NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf - NetworkPkg/DnsDxe/DnsDxe.inf - NetworkPkg/HttpDxe/HttpDxe.inf - NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf - NetworkPkg/HttpBootDxe/HttpBootDxe.inf NetworkPkg/WifiConnectionManagerDxe/WifiConnectionManagerDxe.inf - NetworkPkg/Application/VConfig/VConfig.inf -[Components.IA32, Components.X64, Components.ARM, Components.AARCH64] - NetworkPkg/IScsiDxe/IScsiDxe.inf - NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf - NetworkPkg/TlsDxe/TlsDxe.inf - NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf + !include NetworkPkg/Network.dsc.inc [BuildOptions] *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES -- 2.13.0.windows.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [edk2-devel] [Patch v4 3/3] NetworkPkg: Add package level include DSC file 2019-04-29 14:50 ` [Patch v4 3/3] NetworkPkg: Add package level include DSC file Liming Gao @ 2019-04-30 14:42 ` Laszlo Ersek 2019-05-05 14:53 ` Liming Gao 0 siblings, 1 reply; 12+ messages in thread From: Laszlo Ersek @ 2019-04-30 14:42 UTC (permalink / raw) To: devel, liming.gao Hi Liming, please read my email until my signature below: On 04/29/19 16:50, Liming Gao wrote: > Platform DSC can include Network.dsc.inc to enable network features. > > Signed-off-by: Liming Gao <liming.gao@intel.com> > --- > NetworkPkg/Network.dsc.inc | 40 ++++++++++++++++++++++++++++++++++++++++ > NetworkPkg/NetworkPkg.dsc | 22 +--------------------- > 2 files changed, 41 insertions(+), 21 deletions(-) > create mode 100644 NetworkPkg/Network.dsc.inc > > diff --git a/NetworkPkg/Network.dsc.inc b/NetworkPkg/Network.dsc.inc > new file mode 100644 > index 0000000000..d51ee1b040 > --- /dev/null > +++ b/NetworkPkg/Network.dsc.inc > @@ -0,0 +1,40 @@ > +## @file > +# Network DSC include file for Platform DSC > +# > +# This file includes all required information to enable Network features. > +# It can be included to a platform DSC file by using "!include NetworkPkg/Network.dsc.inc". > +# > +# This file defines one build flag PLATFORMX64_ENABLE to support > +# IA32 PEI and X64 DXE platform. Its default value is FALSE. > +# > +# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> > +# > +# SPDX-License-Identifier: BSD-2-Clause-Patent > +# > +## > + > +[Defines] > +!include NetworkPkg/NetworkDefines.dsc.inc > + > +!ifndef PLATFORMX64_ENABLE > + # > + # PLATFORMX64_ENABLE is set to TRUE when PEI is IA32 and DXE is X64 platform > + # > + DEFINE PLATFORMX64_ENABLE = FALSE > +!endif > + > +[PcdsFixedAtBuild] > +!include NetworkPkg/NetworkPcds.dsc.inc > + > +[LibraryClasses] > +!include NetworkPkg/NetworkLibs.dsc.inc > + > +!if $(PLATFORMX64_ENABLE) == TRUE > +[Components.X64] > +!include NetworkPkg/NetworkComponents.dsc.inc > + > +!else > +[Components.IA32, Components.X64, Components.ARM, Components.AARCH64] > +!include NetworkPkg/NetworkComponents.dsc.inc > + > +!endif My point (9) in <https://edk2.groups.io/g/devel/message/39770> was PLATFORMX64_ENABLE should be dropped completely, and we should use the following instead: !if ("X64" in $(ARCH)) [Components.X64] !include NetworkPkg/NetworkComponents.dsc.inc !else [Components.IA32, Components.ARM, Components.AARCH64] !include NetworkPkg/NetworkComponents.dsc.inc !endif I don't feel strongly about this patch, but I'd still like to hear your opinion on this approach. Thanks, Laszlo > diff --git a/NetworkPkg/NetworkPkg.dsc b/NetworkPkg/NetworkPkg.dsc > index be9d9248e4..fe2fcf7b3c 100644 > --- a/NetworkPkg/NetworkPkg.dsc > +++ b/NetworkPkg/NetworkPkg.dsc > @@ -41,12 +41,6 @@ > DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf > SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf > > - DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf > - NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf > - IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf > - UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf > - TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf > - HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf > BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf > OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf > IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf > @@ -103,24 +97,10 @@ > ################################################################################################### > > [Components] > - NetworkPkg/Ip6Dxe/Ip6Dxe.inf > - NetworkPkg/TcpDxe/TcpDxe.inf > - NetworkPkg/Udp6Dxe/Udp6Dxe.inf > - NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf > - NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf > - NetworkPkg/DnsDxe/DnsDxe.inf > - NetworkPkg/HttpDxe/HttpDxe.inf > - NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf > - NetworkPkg/HttpBootDxe/HttpBootDxe.inf > NetworkPkg/WifiConnectionManagerDxe/WifiConnectionManagerDxe.inf > - > NetworkPkg/Application/VConfig/VConfig.inf > > -[Components.IA32, Components.X64, Components.ARM, Components.AARCH64] > - NetworkPkg/IScsiDxe/IScsiDxe.inf > - NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf > - NetworkPkg/TlsDxe/TlsDxe.inf > - NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf > + !include NetworkPkg/Network.dsc.inc > > [BuildOptions] > *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [edk2-devel] [Patch v4 3/3] NetworkPkg: Add package level include DSC file 2019-04-30 14:42 ` [edk2-devel] " Laszlo Ersek @ 2019-05-05 14:53 ` Liming Gao 2019-05-06 11:53 ` Laszlo Ersek 0 siblings, 1 reply; 12+ messages in thread From: Liming Gao @ 2019-05-05 14:53 UTC (permalink / raw) To: devel@edk2.groups.io, lersek@redhat.com > -----Original Message----- > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Laszlo Ersek > Sent: Tuesday, April 30, 2019 10:42 PM > To: devel@edk2.groups.io; Gao, Liming <liming.gao@intel.com> > Subject: Re: [edk2-devel] [Patch v4 3/3] NetworkPkg: Add package level include DSC file > > Hi Liming, > > please read my email until my signature below: > > On 04/29/19 16:50, Liming Gao wrote: > > Platform DSC can include Network.dsc.inc to enable network features. > > > > Signed-off-by: Liming Gao <liming.gao@intel.com> > > --- > > NetworkPkg/Network.dsc.inc | 40 ++++++++++++++++++++++++++++++++++++++++ > > NetworkPkg/NetworkPkg.dsc | 22 +--------------------- > > 2 files changed, 41 insertions(+), 21 deletions(-) > > create mode 100644 NetworkPkg/Network.dsc.inc > > > > diff --git a/NetworkPkg/Network.dsc.inc b/NetworkPkg/Network.dsc.inc > > new file mode 100644 > > index 0000000000..d51ee1b040 > > --- /dev/null > > +++ b/NetworkPkg/Network.dsc.inc > > @@ -0,0 +1,40 @@ > > +## @file > > +# Network DSC include file for Platform DSC > > +# > > +# This file includes all required information to enable Network features. > > +# It can be included to a platform DSC file by using "!include NetworkPkg/Network.dsc.inc". > > +# > > +# This file defines one build flag PLATFORMX64_ENABLE to support > > +# IA32 PEI and X64 DXE platform. Its default value is FALSE. > > +# > > +# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> > > +# > > +# SPDX-License-Identifier: BSD-2-Clause-Patent > > +# > > +## > > + > > +[Defines] > > +!include NetworkPkg/NetworkDefines.dsc.inc > > + > > +!ifndef PLATFORMX64_ENABLE > > + # > > + # PLATFORMX64_ENABLE is set to TRUE when PEI is IA32 and DXE is X64 platform > > + # > > + DEFINE PLATFORMX64_ENABLE = FALSE > > +!endif > > + > > +[PcdsFixedAtBuild] > > +!include NetworkPkg/NetworkPcds.dsc.inc > > + > > +[LibraryClasses] > > +!include NetworkPkg/NetworkLibs.dsc.inc > > + > > +!if $(PLATFORMX64_ENABLE) == TRUE > > +[Components.X64] > > +!include NetworkPkg/NetworkComponents.dsc.inc > > + > > +!else > > +[Components.IA32, Components.X64, Components.ARM, Components.AARCH64] > > +!include NetworkPkg/NetworkComponents.dsc.inc > > + > > +!endif > > My point (9) in <https://edk2.groups.io/g/devel/message/39770> was > PLATFORMX64_ENABLE should be dropped completely, and we should use the > following instead: > > !if ("X64" in $(ARCH)) > [Components.X64] > !include NetworkPkg/NetworkComponents.dsc.inc > !else > [Components.IA32, Components.ARM, Components.AARCH64] > !include NetworkPkg/NetworkComponents.dsc.inc > !endif > > I don't feel strongly about this patch, but I'd still like to hear your > opinion on this approach. This solution can't handle NetworkPkg.dsc. NetworkPkg.dsc includes IA32, X64, ARM and AARCH64. With this solution, NetworkPkg.dsc will only build drivers for X64 arch. But, we expect NetworkPkg.dsc build the drivers for each ARCH. > > Thanks, > Laszlo > > > diff --git a/NetworkPkg/NetworkPkg.dsc b/NetworkPkg/NetworkPkg.dsc > > index be9d9248e4..fe2fcf7b3c 100644 > > --- a/NetworkPkg/NetworkPkg.dsc > > +++ b/NetworkPkg/NetworkPkg.dsc > > @@ -41,12 +41,6 @@ > > DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf > > SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf > > > > - DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf > > - NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf > > - IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf > > - UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf > > - TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf > > - HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf > > BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf > > OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf > > IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf > > @@ -103,24 +97,10 @@ > > ################################################################################################### > > > > [Components] > > - NetworkPkg/Ip6Dxe/Ip6Dxe.inf > > - NetworkPkg/TcpDxe/TcpDxe.inf > > - NetworkPkg/Udp6Dxe/Udp6Dxe.inf > > - NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf > > - NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf > > - NetworkPkg/DnsDxe/DnsDxe.inf > > - NetworkPkg/HttpDxe/HttpDxe.inf > > - NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf > > - NetworkPkg/HttpBootDxe/HttpBootDxe.inf > > NetworkPkg/WifiConnectionManagerDxe/WifiConnectionManagerDxe.inf > > - > > NetworkPkg/Application/VConfig/VConfig.inf > > > > -[Components.IA32, Components.X64, Components.ARM, Components.AARCH64] > > - NetworkPkg/IScsiDxe/IScsiDxe.inf > > - NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf > > - NetworkPkg/TlsDxe/TlsDxe.inf > > - NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf > > + !include NetworkPkg/Network.dsc.inc > > > > [BuildOptions] > > *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES > > > > > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [edk2-devel] [Patch v4 3/3] NetworkPkg: Add package level include DSC file 2019-05-05 14:53 ` Liming Gao @ 2019-05-06 11:53 ` Laszlo Ersek 2019-05-06 13:24 ` Liming Gao 0 siblings, 1 reply; 12+ messages in thread From: Laszlo Ersek @ 2019-05-06 11:53 UTC (permalink / raw) To: Gao, Liming, devel@edk2.groups.io On 05/05/19 16:53, Gao, Liming wrote: >> -----Original Message----- >> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Laszlo Ersek >> Sent: Tuesday, April 30, 2019 10:42 PM >> To: devel@edk2.groups.io; Gao, Liming <liming.gao@intel.com> >> Subject: Re: [edk2-devel] [Patch v4 3/3] NetworkPkg: Add package level include DSC file >> >> Hi Liming, >> >> please read my email until my signature below: >> >> On 04/29/19 16:50, Liming Gao wrote: >>> Platform DSC can include Network.dsc.inc to enable network features. >>> >>> Signed-off-by: Liming Gao <liming.gao@intel.com> >>> --- >>> NetworkPkg/Network.dsc.inc | 40 ++++++++++++++++++++++++++++++++++++++++ >>> NetworkPkg/NetworkPkg.dsc | 22 +--------------------- >>> 2 files changed, 41 insertions(+), 21 deletions(-) >>> create mode 100644 NetworkPkg/Network.dsc.inc >>> >>> diff --git a/NetworkPkg/Network.dsc.inc b/NetworkPkg/Network.dsc.inc >>> new file mode 100644 >>> index 0000000000..d51ee1b040 >>> --- /dev/null >>> +++ b/NetworkPkg/Network.dsc.inc >>> @@ -0,0 +1,40 @@ >>> +## @file >>> +# Network DSC include file for Platform DSC >>> +# >>> +# This file includes all required information to enable Network features. >>> +# It can be included to a platform DSC file by using "!include NetworkPkg/Network.dsc.inc". >>> +# >>> +# This file defines one build flag PLATFORMX64_ENABLE to support >>> +# IA32 PEI and X64 DXE platform. Its default value is FALSE. >>> +# >>> +# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> >>> +# >>> +# SPDX-License-Identifier: BSD-2-Clause-Patent >>> +# >>> +## >>> + >>> +[Defines] >>> +!include NetworkPkg/NetworkDefines.dsc.inc >>> + >>> +!ifndef PLATFORMX64_ENABLE >>> + # >>> + # PLATFORMX64_ENABLE is set to TRUE when PEI is IA32 and DXE is X64 platform >>> + # >>> + DEFINE PLATFORMX64_ENABLE = FALSE >>> +!endif >>> + >>> +[PcdsFixedAtBuild] >>> +!include NetworkPkg/NetworkPcds.dsc.inc >>> + >>> +[LibraryClasses] >>> +!include NetworkPkg/NetworkLibs.dsc.inc >>> + >>> +!if $(PLATFORMX64_ENABLE) == TRUE >>> +[Components.X64] >>> +!include NetworkPkg/NetworkComponents.dsc.inc >>> + >>> +!else >>> +[Components.IA32, Components.X64, Components.ARM, Components.AARCH64] >>> +!include NetworkPkg/NetworkComponents.dsc.inc >>> + >>> +!endif >> >> My point (9) in <https://edk2.groups.io/g/devel/message/39770> was >> PLATFORMX64_ENABLE should be dropped completely, and we should use the >> following instead: >> >> !if ("X64" in $(ARCH)) >> [Components.X64] >> !include NetworkPkg/NetworkComponents.dsc.inc >> !else >> [Components.IA32, Components.ARM, Components.AARCH64] >> !include NetworkPkg/NetworkComponents.dsc.inc >> !endif >> >> I don't feel strongly about this patch, but I'd still like to hear your >> opinion on this approach. > This solution can't handle NetworkPkg.dsc. NetworkPkg.dsc includes IA32, X64, ARM and AARCH64. > With this solution, NetworkPkg.dsc will only build drivers for X64 arch. How so? If you run "build -a ARM -p NetworkPkg/NetworkPkg.dsc ...", then the second branch will be selected (the "in" operator will evaluate to false), and the second branch !includes "NetworkComponents.dsc.inc" in [Components.ARM]. Can you provide an example command line where the above would break? Do you mean "build -a ARM -a X64 -p NetworkPkg/NetworkPkg.dsc ..."? Thanks Laszlo > But, we expect NetworkPkg.dsc > build the drivers for each ARCH. >> >> Thanks, >> Laszlo >> >>> diff --git a/NetworkPkg/NetworkPkg.dsc b/NetworkPkg/NetworkPkg.dsc >>> index be9d9248e4..fe2fcf7b3c 100644 >>> --- a/NetworkPkg/NetworkPkg.dsc >>> +++ b/NetworkPkg/NetworkPkg.dsc >>> @@ -41,12 +41,6 @@ >>> DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf >>> SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf >>> >>> - DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf >>> - NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf >>> - IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf >>> - UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf >>> - TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf >>> - HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf >>> BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf >>> OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf >>> IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf >>> @@ -103,24 +97,10 @@ >>> ################################################################################################### >>> >>> [Components] >>> - NetworkPkg/Ip6Dxe/Ip6Dxe.inf >>> - NetworkPkg/TcpDxe/TcpDxe.inf >>> - NetworkPkg/Udp6Dxe/Udp6Dxe.inf >>> - NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf >>> - NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf >>> - NetworkPkg/DnsDxe/DnsDxe.inf >>> - NetworkPkg/HttpDxe/HttpDxe.inf >>> - NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf >>> - NetworkPkg/HttpBootDxe/HttpBootDxe.inf >>> NetworkPkg/WifiConnectionManagerDxe/WifiConnectionManagerDxe.inf >>> - >>> NetworkPkg/Application/VConfig/VConfig.inf >>> >>> -[Components.IA32, Components.X64, Components.ARM, Components.AARCH64] >>> - NetworkPkg/IScsiDxe/IScsiDxe.inf >>> - NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf >>> - NetworkPkg/TlsDxe/TlsDxe.inf >>> - NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf >>> + !include NetworkPkg/Network.dsc.inc >>> >>> [BuildOptions] >>> *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES >>> >> >> >> > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [edk2-devel] [Patch v4 3/3] NetworkPkg: Add package level include DSC file 2019-05-06 11:53 ` Laszlo Ersek @ 2019-05-06 13:24 ` Liming Gao 2019-05-06 14:28 ` Laszlo Ersek 0 siblings, 1 reply; 12+ messages in thread From: Liming Gao @ 2019-05-06 13:24 UTC (permalink / raw) To: Laszlo Ersek, devel@edk2.groups.io > -----Original Message----- > From: Laszlo Ersek [mailto:lersek@redhat.com] > Sent: Monday, May 6, 2019 7:54 PM > To: Gao, Liming <liming.gao@intel.com>; devel@edk2.groups.io > Subject: Re: [edk2-devel] [Patch v4 3/3] NetworkPkg: Add package level include DSC file > > On 05/05/19 16:53, Gao, Liming wrote: > >> -----Original Message----- > >> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Laszlo Ersek > >> Sent: Tuesday, April 30, 2019 10:42 PM > >> To: devel@edk2.groups.io; Gao, Liming <liming.gao@intel.com> > >> Subject: Re: [edk2-devel] [Patch v4 3/3] NetworkPkg: Add package level include DSC file > >> > >> Hi Liming, > >> > >> please read my email until my signature below: > >> > >> On 04/29/19 16:50, Liming Gao wrote: > >>> Platform DSC can include Network.dsc.inc to enable network features. > >>> > >>> Signed-off-by: Liming Gao <liming.gao@intel.com> > >>> --- > >>> NetworkPkg/Network.dsc.inc | 40 ++++++++++++++++++++++++++++++++++++++++ > >>> NetworkPkg/NetworkPkg.dsc | 22 +--------------------- > >>> 2 files changed, 41 insertions(+), 21 deletions(-) > >>> create mode 100644 NetworkPkg/Network.dsc.inc > >>> > >>> diff --git a/NetworkPkg/Network.dsc.inc b/NetworkPkg/Network.dsc.inc > >>> new file mode 100644 > >>> index 0000000000..d51ee1b040 > >>> --- /dev/null > >>> +++ b/NetworkPkg/Network.dsc.inc > >>> @@ -0,0 +1,40 @@ > >>> +## @file > >>> +# Network DSC include file for Platform DSC > >>> +# > >>> +# This file includes all required information to enable Network features. > >>> +# It can be included to a platform DSC file by using "!include NetworkPkg/Network.dsc.inc". > >>> +# > >>> +# This file defines one build flag PLATFORMX64_ENABLE to support > >>> +# IA32 PEI and X64 DXE platform. Its default value is FALSE. > >>> +# > >>> +# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> > >>> +# > >>> +# SPDX-License-Identifier: BSD-2-Clause-Patent > >>> +# > >>> +## > >>> + > >>> +[Defines] > >>> +!include NetworkPkg/NetworkDefines.dsc.inc > >>> + > >>> +!ifndef PLATFORMX64_ENABLE > >>> + # > >>> + # PLATFORMX64_ENABLE is set to TRUE when PEI is IA32 and DXE is X64 platform > >>> + # > >>> + DEFINE PLATFORMX64_ENABLE = FALSE > >>> +!endif > >>> + > >>> +[PcdsFixedAtBuild] > >>> +!include NetworkPkg/NetworkPcds.dsc.inc > >>> + > >>> +[LibraryClasses] > >>> +!include NetworkPkg/NetworkLibs.dsc.inc > >>> + > >>> +!if $(PLATFORMX64_ENABLE) == TRUE > >>> +[Components.X64] > >>> +!include NetworkPkg/NetworkComponents.dsc.inc > >>> + > >>> +!else > >>> +[Components.IA32, Components.X64, Components.ARM, Components.AARCH64] > >>> +!include NetworkPkg/NetworkComponents.dsc.inc > >>> + > >>> +!endif > >> > >> My point (9) in <https://edk2.groups.io/g/devel/message/39770> was > >> PLATFORMX64_ENABLE should be dropped completely, and we should use the > >> following instead: > >> > >> !if ("X64" in $(ARCH)) > >> [Components.X64] > >> !include NetworkPkg/NetworkComponents.dsc.inc > >> !else > >> [Components.IA32, Components.ARM, Components.AARCH64] > >> !include NetworkPkg/NetworkComponents.dsc.inc > >> !endif > >> > >> I don't feel strongly about this patch, but I'd still like to hear your > >> opinion on this approach. > > This solution can't handle NetworkPkg.dsc. NetworkPkg.dsc includes IA32, X64, ARM and AARCH64. > > With this solution, NetworkPkg.dsc will only build drivers for X64 arch. > > How so? If you run "build -a ARM -p NetworkPkg/NetworkPkg.dsc ...", then > the second branch will be selected (the "in" operator will evaluate to > false), and the second branch !includes "NetworkComponents.dsc.inc" in > [Components.ARM]. > > Can you provide an example command line where the above would break? > > Do you mean "build -a ARM -a X64 -p NetworkPkg/NetworkPkg.dsc ..."? Yes. I usually build -p NetworkPkg/NetworkPkg.dsc -a IA32 -a X64 and make sure the modules are built both for IA32 and X64. > > Thanks > Laszlo > > > But, we expect NetworkPkg.dsc > > build the drivers for each ARCH. > >> > >> Thanks, > >> Laszlo > >> > >>> diff --git a/NetworkPkg/NetworkPkg.dsc b/NetworkPkg/NetworkPkg.dsc > >>> index be9d9248e4..fe2fcf7b3c 100644 > >>> --- a/NetworkPkg/NetworkPkg.dsc > >>> +++ b/NetworkPkg/NetworkPkg.dsc > >>> @@ -41,12 +41,6 @@ > >>> DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf > >>> SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf > >>> > >>> - DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf > >>> - NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf > >>> - IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf > >>> - UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf > >>> - TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf > >>> - HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf > >>> BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf > >>> OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf > >>> IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf > >>> @@ -103,24 +97,10 @@ > >>> ################################################################################################### > >>> > >>> [Components] > >>> - NetworkPkg/Ip6Dxe/Ip6Dxe.inf > >>> - NetworkPkg/TcpDxe/TcpDxe.inf > >>> - NetworkPkg/Udp6Dxe/Udp6Dxe.inf > >>> - NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf > >>> - NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf > >>> - NetworkPkg/DnsDxe/DnsDxe.inf > >>> - NetworkPkg/HttpDxe/HttpDxe.inf > >>> - NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf > >>> - NetworkPkg/HttpBootDxe/HttpBootDxe.inf > >>> NetworkPkg/WifiConnectionManagerDxe/WifiConnectionManagerDxe.inf > >>> - > >>> NetworkPkg/Application/VConfig/VConfig.inf > >>> > >>> -[Components.IA32, Components.X64, Components.ARM, Components.AARCH64] > >>> - NetworkPkg/IScsiDxe/IScsiDxe.inf > >>> - NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf > >>> - NetworkPkg/TlsDxe/TlsDxe.inf > >>> - NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf > >>> + !include NetworkPkg/Network.dsc.inc > >>> > >>> [BuildOptions] > >>> *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES > >>> > >> > >> > >> > > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [edk2-devel] [Patch v4 3/3] NetworkPkg: Add package level include DSC file 2019-05-06 13:24 ` Liming Gao @ 2019-05-06 14:28 ` Laszlo Ersek 2019-05-06 14:30 ` Liming Gao 0 siblings, 1 reply; 12+ messages in thread From: Laszlo Ersek @ 2019-05-06 14:28 UTC (permalink / raw) To: devel, liming.gao, Jiaxin Wu On 05/06/19 15:24, Liming Gao wrote: >> -----Original Message----- >> From: Laszlo Ersek [mailto:lersek@redhat.com] >> Sent: Monday, May 6, 2019 7:54 PM >> To: Gao, Liming <liming.gao@intel.com>; devel@edk2.groups.io >> Subject: Re: [edk2-devel] [Patch v4 3/3] NetworkPkg: Add package level include DSC file >> >> On 05/05/19 16:53, Gao, Liming wrote: >>>> -----Original Message----- >>>> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Laszlo Ersek >>>> Sent: Tuesday, April 30, 2019 10:42 PM >>>> To: devel@edk2.groups.io; Gao, Liming <liming.gao@intel.com> >>>> Subject: Re: [edk2-devel] [Patch v4 3/3] NetworkPkg: Add package level include DSC file >>>> >>>> Hi Liming, >>>> >>>> please read my email until my signature below: >>>> >>>> On 04/29/19 16:50, Liming Gao wrote: >>>>> Platform DSC can include Network.dsc.inc to enable network features. >>>>> >>>>> Signed-off-by: Liming Gao <liming.gao@intel.com> >>>>> --- >>>>> NetworkPkg/Network.dsc.inc | 40 ++++++++++++++++++++++++++++++++++++++++ >>>>> NetworkPkg/NetworkPkg.dsc | 22 +--------------------- >>>>> 2 files changed, 41 insertions(+), 21 deletions(-) >>>>> create mode 100644 NetworkPkg/Network.dsc.inc >>>>> >>>>> diff --git a/NetworkPkg/Network.dsc.inc b/NetworkPkg/Network.dsc.inc >>>>> new file mode 100644 >>>>> index 0000000000..d51ee1b040 >>>>> --- /dev/null >>>>> +++ b/NetworkPkg/Network.dsc.inc >>>>> @@ -0,0 +1,40 @@ >>>>> +## @file >>>>> +# Network DSC include file for Platform DSC >>>>> +# >>>>> +# This file includes all required information to enable Network features. >>>>> +# It can be included to a platform DSC file by using "!include NetworkPkg/Network.dsc.inc". >>>>> +# >>>>> +# This file defines one build flag PLATFORMX64_ENABLE to support >>>>> +# IA32 PEI and X64 DXE platform. Its default value is FALSE. >>>>> +# >>>>> +# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> >>>>> +# >>>>> +# SPDX-License-Identifier: BSD-2-Clause-Patent >>>>> +# >>>>> +## >>>>> + >>>>> +[Defines] >>>>> +!include NetworkPkg/NetworkDefines.dsc.inc >>>>> + >>>>> +!ifndef PLATFORMX64_ENABLE >>>>> + # >>>>> + # PLATFORMX64_ENABLE is set to TRUE when PEI is IA32 and DXE is X64 platform >>>>> + # >>>>> + DEFINE PLATFORMX64_ENABLE = FALSE >>>>> +!endif >>>>> + >>>>> +[PcdsFixedAtBuild] >>>>> +!include NetworkPkg/NetworkPcds.dsc.inc >>>>> + >>>>> +[LibraryClasses] >>>>> +!include NetworkPkg/NetworkLibs.dsc.inc >>>>> + >>>>> +!if $(PLATFORMX64_ENABLE) == TRUE >>>>> +[Components.X64] >>>>> +!include NetworkPkg/NetworkComponents.dsc.inc >>>>> + >>>>> +!else >>>>> +[Components.IA32, Components.X64, Components.ARM, Components.AARCH64] >>>>> +!include NetworkPkg/NetworkComponents.dsc.inc >>>>> + >>>>> +!endif >>>> >>>> My point (9) in <https://edk2.groups.io/g/devel/message/39770> was >>>> PLATFORMX64_ENABLE should be dropped completely, and we should use the >>>> following instead: >>>> >>>> !if ("X64" in $(ARCH)) >>>> [Components.X64] >>>> !include NetworkPkg/NetworkComponents.dsc.inc >>>> !else >>>> [Components.IA32, Components.ARM, Components.AARCH64] >>>> !include NetworkPkg/NetworkComponents.dsc.inc >>>> !endif >>>> >>>> I don't feel strongly about this patch, but I'd still like to hear your >>>> opinion on this approach. >>> This solution can't handle NetworkPkg.dsc. NetworkPkg.dsc includes IA32, X64, ARM and AARCH64. >>> With this solution, NetworkPkg.dsc will only build drivers for X64 arch. >> >> How so? If you run "build -a ARM -p NetworkPkg/NetworkPkg.dsc ...", then >> the second branch will be selected (the "in" operator will evaluate to >> false), and the second branch !includes "NetworkComponents.dsc.inc" in >> [Components.ARM]. >> >> Can you provide an example command line where the above would break? >> >> Do you mean "build -a ARM -a X64 -p NetworkPkg/NetworkPkg.dsc ..."? > > Yes. I usually build -p NetworkPkg/NetworkPkg.dsc -a IA32 -a X64 and make sure the modules are built both for IA32 and X64. OK, that certainly makes sense. A multi-arch build such as "-a IA32 -a X64" may have a different meaning dependent on the presence of an FDF file reference in the DSC file. I agree a separate flag is useful for distinguishing IA32 PEI + X64 DXE special case from the rest of the multi-arch builds. Other than that: as I suggested under patch v3 2/3, point (11), I think we should include TlsLib in "NetworkLibs.dsc.inc", and then we can remove the TlsLib resolution too, from "NetworkPkg.dsc". I guess we should await Jiaxin's and Siyuan's feedback on that. Either way, for this patch: Acked-by: Laszlo Ersek <lersek@redhat.com> Thanks! Laszlo >> >> Thanks >> Laszlo >> >>> But, we expect NetworkPkg.dsc >>> build the drivers for each ARCH. >>>> >>>> Thanks, >>>> Laszlo >>>> >>>>> diff --git a/NetworkPkg/NetworkPkg.dsc b/NetworkPkg/NetworkPkg.dsc >>>>> index be9d9248e4..fe2fcf7b3c 100644 >>>>> --- a/NetworkPkg/NetworkPkg.dsc >>>>> +++ b/NetworkPkg/NetworkPkg.dsc >>>>> @@ -41,12 +41,6 @@ >>>>> DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf >>>>> SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf >>>>> >>>>> - DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf >>>>> - NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf >>>>> - IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf >>>>> - UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf >>>>> - TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf >>>>> - HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf >>>>> BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf >>>>> OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf >>>>> IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf >>>>> @@ -103,24 +97,10 @@ >>>>> ################################################################################################### >>>>> >>>>> [Components] >>>>> - NetworkPkg/Ip6Dxe/Ip6Dxe.inf >>>>> - NetworkPkg/TcpDxe/TcpDxe.inf >>>>> - NetworkPkg/Udp6Dxe/Udp6Dxe.inf >>>>> - NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf >>>>> - NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf >>>>> - NetworkPkg/DnsDxe/DnsDxe.inf >>>>> - NetworkPkg/HttpDxe/HttpDxe.inf >>>>> - NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf >>>>> - NetworkPkg/HttpBootDxe/HttpBootDxe.inf >>>>> NetworkPkg/WifiConnectionManagerDxe/WifiConnectionManagerDxe.inf >>>>> - >>>>> NetworkPkg/Application/VConfig/VConfig.inf >>>>> >>>>> -[Components.IA32, Components.X64, Components.ARM, Components.AARCH64] >>>>> - NetworkPkg/IScsiDxe/IScsiDxe.inf >>>>> - NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf >>>>> - NetworkPkg/TlsDxe/TlsDxe.inf >>>>> - NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf >>>>> + !include NetworkPkg/Network.dsc.inc >>>>> >>>>> [BuildOptions] >>>>> *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES >>>>> >>>> >>>> >>>> >>> > > > > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [edk2-devel] [Patch v4 3/3] NetworkPkg: Add package level include DSC file 2019-05-06 14:28 ` Laszlo Ersek @ 2019-05-06 14:30 ` Liming Gao 0 siblings, 0 replies; 12+ messages in thread From: Liming Gao @ 2019-05-06 14:30 UTC (permalink / raw) To: devel@edk2.groups.io, lersek@redhat.com, Wu, Jiaxin > -----Original Message----- > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Laszlo Ersek > Sent: Monday, May 6, 2019 10:28 PM > To: devel@edk2.groups.io; Gao, Liming <liming.gao@intel.com>; Wu, Jiaxin <jiaxin.wu@intel.com> > Subject: Re: [edk2-devel] [Patch v4 3/3] NetworkPkg: Add package level include DSC file > > On 05/06/19 15:24, Liming Gao wrote: > >> -----Original Message----- > >> From: Laszlo Ersek [mailto:lersek@redhat.com] > >> Sent: Monday, May 6, 2019 7:54 PM > >> To: Gao, Liming <liming.gao@intel.com>; devel@edk2.groups.io > >> Subject: Re: [edk2-devel] [Patch v4 3/3] NetworkPkg: Add package level include DSC file > >> > >> On 05/05/19 16:53, Gao, Liming wrote: > >>>> -----Original Message----- > >>>> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Laszlo Ersek > >>>> Sent: Tuesday, April 30, 2019 10:42 PM > >>>> To: devel@edk2.groups.io; Gao, Liming <liming.gao@intel.com> > >>>> Subject: Re: [edk2-devel] [Patch v4 3/3] NetworkPkg: Add package level include DSC file > >>>> > >>>> Hi Liming, > >>>> > >>>> please read my email until my signature below: > >>>> > >>>> On 04/29/19 16:50, Liming Gao wrote: > >>>>> Platform DSC can include Network.dsc.inc to enable network features. > >>>>> > >>>>> Signed-off-by: Liming Gao <liming.gao@intel.com> > >>>>> --- > >>>>> NetworkPkg/Network.dsc.inc | 40 ++++++++++++++++++++++++++++++++++++++++ > >>>>> NetworkPkg/NetworkPkg.dsc | 22 +--------------------- > >>>>> 2 files changed, 41 insertions(+), 21 deletions(-) > >>>>> create mode 100644 NetworkPkg/Network.dsc.inc > >>>>> > >>>>> diff --git a/NetworkPkg/Network.dsc.inc b/NetworkPkg/Network.dsc.inc > >>>>> new file mode 100644 > >>>>> index 0000000000..d51ee1b040 > >>>>> --- /dev/null > >>>>> +++ b/NetworkPkg/Network.dsc.inc > >>>>> @@ -0,0 +1,40 @@ > >>>>> +## @file > >>>>> +# Network DSC include file for Platform DSC > >>>>> +# > >>>>> +# This file includes all required information to enable Network features. > >>>>> +# It can be included to a platform DSC file by using "!include NetworkPkg/Network.dsc.inc". > >>>>> +# > >>>>> +# This file defines one build flag PLATFORMX64_ENABLE to support > >>>>> +# IA32 PEI and X64 DXE platform. Its default value is FALSE. > >>>>> +# > >>>>> +# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR> > >>>>> +# > >>>>> +# SPDX-License-Identifier: BSD-2-Clause-Patent > >>>>> +# > >>>>> +## > >>>>> + > >>>>> +[Defines] > >>>>> +!include NetworkPkg/NetworkDefines.dsc.inc > >>>>> + > >>>>> +!ifndef PLATFORMX64_ENABLE > >>>>> + # > >>>>> + # PLATFORMX64_ENABLE is set to TRUE when PEI is IA32 and DXE is X64 platform > >>>>> + # > >>>>> + DEFINE PLATFORMX64_ENABLE = FALSE > >>>>> +!endif > >>>>> + > >>>>> +[PcdsFixedAtBuild] > >>>>> +!include NetworkPkg/NetworkPcds.dsc.inc > >>>>> + > >>>>> +[LibraryClasses] > >>>>> +!include NetworkPkg/NetworkLibs.dsc.inc > >>>>> + > >>>>> +!if $(PLATFORMX64_ENABLE) == TRUE > >>>>> +[Components.X64] > >>>>> +!include NetworkPkg/NetworkComponents.dsc.inc > >>>>> + > >>>>> +!else > >>>>> +[Components.IA32, Components.X64, Components.ARM, Components.AARCH64] > >>>>> +!include NetworkPkg/NetworkComponents.dsc.inc > >>>>> + > >>>>> +!endif > >>>> > >>>> My point (9) in <https://edk2.groups.io/g/devel/message/39770> was > >>>> PLATFORMX64_ENABLE should be dropped completely, and we should use the > >>>> following instead: > >>>> > >>>> !if ("X64" in $(ARCH)) > >>>> [Components.X64] > >>>> !include NetworkPkg/NetworkComponents.dsc.inc > >>>> !else > >>>> [Components.IA32, Components.ARM, Components.AARCH64] > >>>> !include NetworkPkg/NetworkComponents.dsc.inc > >>>> !endif > >>>> > >>>> I don't feel strongly about this patch, but I'd still like to hear your > >>>> opinion on this approach. > >>> This solution can't handle NetworkPkg.dsc. NetworkPkg.dsc includes IA32, X64, ARM and AARCH64. > >>> With this solution, NetworkPkg.dsc will only build drivers for X64 arch. > >> > >> How so? If you run "build -a ARM -p NetworkPkg/NetworkPkg.dsc ...", then > >> the second branch will be selected (the "in" operator will evaluate to > >> false), and the second branch !includes "NetworkComponents.dsc.inc" in > >> [Components.ARM]. > >> > >> Can you provide an example command line where the above would break? > >> > >> Do you mean "build -a ARM -a X64 -p NetworkPkg/NetworkPkg.dsc ..."? > > > > Yes. I usually build -p NetworkPkg/NetworkPkg.dsc -a IA32 -a X64 and make sure the modules are built both for IA32 and X64. > > OK, that certainly makes sense. A multi-arch build such as "-a IA32 -a > X64" may have a different meaning dependent on the presence of an FDF > file reference in the DSC file. I agree a separate flag is useful for > distinguishing IA32 PEI + X64 DXE special case from the rest of the > multi-arch builds. > > Other than that: as I suggested under patch v3 2/3, point (11), I think > we should include TlsLib in "NetworkLibs.dsc.inc", and then we can > remove the TlsLib resolution too, from "NetworkPkg.dsc". I guess we > should await Jiaxin's and Siyuan's feedback on that. > Yes. After confirm with Jiaxin or Siyuan, I will send v5 version path. Thanks for your comments. > Either way, for this patch: > > Acked-by: Laszlo Ersek <lersek@redhat.com> > > Thanks! > Laszlo > > >> > >> Thanks > >> Laszlo > >> > >>> But, we expect NetworkPkg.dsc > >>> build the drivers for each ARCH. > >>>> > >>>> Thanks, > >>>> Laszlo > >>>> > >>>>> diff --git a/NetworkPkg/NetworkPkg.dsc b/NetworkPkg/NetworkPkg.dsc > >>>>> index be9d9248e4..fe2fcf7b3c 100644 > >>>>> --- a/NetworkPkg/NetworkPkg.dsc > >>>>> +++ b/NetworkPkg/NetworkPkg.dsc > >>>>> @@ -41,12 +41,6 @@ > >>>>> DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf > >>>>> SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf > >>>>> > >>>>> - DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf > >>>>> - NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf > >>>>> - IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf > >>>>> - UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf > >>>>> - TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf > >>>>> - HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf > >>>>> BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf > >>>>> OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf > >>>>> IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf > >>>>> @@ -103,24 +97,10 @@ > >>>>> ################################################################################################### > >>>>> > >>>>> [Components] > >>>>> - NetworkPkg/Ip6Dxe/Ip6Dxe.inf > >>>>> - NetworkPkg/TcpDxe/TcpDxe.inf > >>>>> - NetworkPkg/Udp6Dxe/Udp6Dxe.inf > >>>>> - NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf > >>>>> - NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf > >>>>> - NetworkPkg/DnsDxe/DnsDxe.inf > >>>>> - NetworkPkg/HttpDxe/HttpDxe.inf > >>>>> - NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf > >>>>> - NetworkPkg/HttpBootDxe/HttpBootDxe.inf > >>>>> NetworkPkg/WifiConnectionManagerDxe/WifiConnectionManagerDxe.inf > >>>>> - > >>>>> NetworkPkg/Application/VConfig/VConfig.inf > >>>>> > >>>>> -[Components.IA32, Components.X64, Components.ARM, Components.AARCH64] > >>>>> - NetworkPkg/IScsiDxe/IScsiDxe.inf > >>>>> - NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf > >>>>> - NetworkPkg/TlsDxe/TlsDxe.inf > >>>>> - NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf > >>>>> + !include NetworkPkg/Network.dsc.inc > >>>>> > >>>>> [BuildOptions] > >>>>> *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES > >>>>> > >>>> > >>>> > >>>> > >>> > > > > > > > > > > > ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2019-05-06 14:30 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-04-29 14:50 [Patch v4 0/3] Add package level include DSC/FDF in NetworkPkg Liming Gao 2019-04-29 14:50 ` [Patch v4 1/3] NetworkPkg DSC: Add the required ARM library to pass ARM build Liming Gao 2019-04-30 13:40 ` [edk2-devel] " Laszlo Ersek 2019-04-29 14:50 ` [Patch v4 2/3] NetworkPkg: Add DSC/FDF include segment files to NetworkPkg Liming Gao 2019-04-30 14:35 ` [edk2-devel] " Laszlo Ersek 2019-04-29 14:50 ` [Patch v4 3/3] NetworkPkg: Add package level include DSC file Liming Gao 2019-04-30 14:42 ` [edk2-devel] " Laszlo Ersek 2019-05-05 14:53 ` Liming Gao 2019-05-06 11:53 ` Laszlo Ersek 2019-05-06 13:24 ` Liming Gao 2019-05-06 14:28 ` Laszlo Ersek 2019-05-06 14:30 ` Liming Gao
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox