public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Laszlo Ersek" <lersek@redhat.com>
To: devel@edk2.groups.io, shenglei.zhang@intel.com
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Julien Grall <julien.grall@linaro.org>
Subject: Re: [edk2-devel] [PATCH 3/4] ArmVirtPkg: Update DSC/FDF to use NetworkPkg's include fragment file.
Date: Tue, 14 May 2019 16:22:03 +0200	[thread overview]
Message-ID: <e0b91771-60b4-f5b7-cb9f-02a0bb331e5d@redhat.com> (raw)
In-Reply-To: <20190514073938.21528-4-shenglei.zhang@intel.com>

On 05/14/19 09:39, Zhang, Shenglei wrote:
> This patch updates the platform DSC/FDF files to use the include fragment
> files provided by NetworkPkg.
> The feature enabling flags in [Defines] section have been updated to use
> the NetworkPkg's terms, and the value has been overridden with the original
> default value on this platform.
> 
> Cc: Laszlo Ersek <lersek@redhat.com>
> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> Cc: Julien Grall <julien.grall@linaro.org>
> Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
> ---
>  ArmVirtPkg/ArmVirt.dsc.inc           | 10 ++-----
>  ArmVirtPkg/ArmVirtQemu.dsc           | 43 +++++++++-------------------
>  ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 25 ++--------------
>  ArmVirtPkg/ArmVirtQemuKernel.dsc     | 43 +++++++++-------------------
>  4 files changed, 30 insertions(+), 91 deletions(-)
> 
> diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
> index 1848d20531..20bf011617 100644
> --- a/ArmVirtPkg/ArmVirt.dsc.inc
> +++ b/ArmVirtPkg/ArmVirt.dsc.inc
> @@ -70,14 +70,8 @@
>    BaseMemoryLib|MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
>  
>    # Networking Requirements
> -  NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
> -  DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf
> -  UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
> -  IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf
> -  TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf
> -!if $(HTTP_BOOT_ENABLE) == TRUE
> -  HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf
> -!endif
> +!include NetworkPkg/NetworkLibs.dsc.inc
> +
>  
>    #
>    # It is not possible to prevent the ARM compiler from inserting calls to intrinsic functions.

This looks OK.


> diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
> index 28c8fd5513..54fd069c75 100644
> --- a/ArmVirtPkg/ArmVirtQemu.dsc
> +++ b/ArmVirtPkg/ArmVirtQemu.dsc
> @@ -27,10 +27,14 @@
>    # Defines for default states.  These can be changed on the command line.
>    # -D FLAG=VALUE
>    #
> -  DEFINE TTY_TERMINAL            = FALSE
> -  DEFINE SECURE_BOOT_ENABLE      = FALSE
> -  DEFINE NETWORK_IP6_ENABLE      = FALSE
> -  DEFINE HTTP_BOOT_ENABLE        = FALSE
> +  DEFINE TTY_TERMINAL                    = FALSE
> +  DEFINE SECURE_BOOT_ENABLE              = FALSE

(1) This change is not consistent with the OvmfPkg change. Please use the same approach in both patches: either re-align the DEFINEs that are not related to NetworkPkg in both patches, or re-align those DEFINEs in neither patch.

Pesonally I like the style that you used in OvmfPkg better -- keep the network DEFINEs in a separate group.


> +  DEFINE NETWORK_IP6_ENABLE              = FALSE
> +  DEFINE NETWORK_HTTP_BOOT_ENABLE        = FALSE
> +  DEFINE NETWORK_SNP_ENABLE              = FALSE
> +  DEFINE NETWORK_TLS_ENABLE              = FALSE
> +

(2) You forgot:

  DEFINE NETWORK_ALLOW_HTTP_CONNECTIONS = TRUE


(3) The above change (with the introduction of NETWORK_SNP_ENABLE to this DSC file) suggests that NETWORK_SNP_ENABLE=TRUE is a valid end-user setting. It is not; SnpDxe is IA32, X64, and EBC only. Therefore, please add an !if check, and invoke !error, if the user sets NETWORK_SNP_ENABLE to TRUE on the "build" command line.


(4) A similar comment applies to NETWORK_TLS_ENABLE. The above change suggests that it is enough for a user to set NETWORK_TLS_ENABLE=TRUE in order to get the intended functionality. This is not the case. We have a separate BZ about that: <https://bugzilla.tianocore.org/show_bug.cgi?id=1009>.

Therefore, please add an !if check against NETWORK_TLS_ENABLE=TRUE (from the "build" command line), and use !error to abort the build, if the user attempts to request TLS. The error message should make a reference to <https://bugzilla.tianocore.org/show_bug.cgi?id=1009>.


> +!include NetworkPkg/NetworkDefines.dsc.inc
>  
>  !include ArmVirtPkg/ArmVirt.dsc.inc
>  
> @@ -122,9 +126,10 @@
>    #
>    gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|0
>  
> -!if $(HTTP_BOOT_ENABLE) == TRUE
> -  gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|TRUE
> -!endif
> +  #
> +  # Network Pcds
> +  #
> +!include NetworkPkg/NetworkPcds.dsc.inc
>  
>    # System Memory Base -- fixed at 0x4000_0000
>    gArmTokenSpaceGuid.PcdSystemMemoryBase|0x40000000

(5) Please add comments to the !include directives uniformly -- either comment on all of them, or none of them.


> @@ -353,29 +358,7 @@
>    #
>    # Networking stack
>    #
> -  MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
> -  MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
> -  MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.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/Udp4Dxe/Udp4Dxe.inf
> -  NetworkPkg/TcpDxe/TcpDxe.inf
> -  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
> -  NetworkPkg/IScsiDxe/IScsiDxe.inf
> -!if $(NETWORK_IP6_ENABLE) == TRUE
> -  NetworkPkg/Ip6Dxe/Ip6Dxe.inf
> -  NetworkPkg/Udp6Dxe/Udp6Dxe.inf
> -  NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
> -  NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
> -!endif
> -!if $(HTTP_BOOT_ENABLE) == TRUE
> -  NetworkPkg/DnsDxe/DnsDxe.inf
> -  NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
> -  NetworkPkg/HttpDxe/HttpDxe.inf
> -  NetworkPkg/HttpBootDxe/HttpBootDxe.inf
> -!endif
> +!include NetworkPkg/NetworkComponents.dsc.inc
>  
>    #
>    # SCSI Bus and Disk Driver

Looks good.


> diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
> index a9a980aefc..31f615a9d0 100644
> --- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
> +++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
> @@ -117,29 +117,8 @@ 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/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/Udp4Dxe/Udp4Dxe.inf
> -  INF NetworkPkg/TcpDxe/TcpDxe.inf
> -  INF NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
> -  INF NetworkPkg/IScsiDxe/IScsiDxe.inf
> -!if $(NETWORK_IP6_ENABLE) == TRUE
> -  INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf
> -  INF NetworkPkg/Udp6Dxe/Udp6Dxe.inf
> -  INF NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
> -  INF NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
> -!endif
> -!if $(HTTP_BOOT_ENABLE) == TRUE
> -  INF NetworkPkg/DnsDxe/DnsDxe.inf
> -  INF NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
> -  INF NetworkPkg/HttpDxe/HttpDxe.inf
> -  INF NetworkPkg/HttpBootDxe/HttpBootDxe.inf
> -!endif
> +!include NetworkPkg/Network.fdf.inc
> +
>  
>    #
>    # SCSI Bus and Disk Driver

This seems fine as well.


> diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc
> index 2a83c74694..320b4d5024 100644
> --- a/ArmVirtPkg/ArmVirtQemuKernel.dsc
> +++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc

(6) Please refresh "ArmVirtQemuKernel.dsc", after updating "ArmVirtQemu.dsc" like requested above.

Thank you!
Laszlo

  reply	other threads:[~2019-05-14 14:22 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-14  7:39 [PATCH 0/4] Add DSC/FDF include segment files for network stack Zhang, Shenglei
2019-05-14  7:39 ` [PATCH 1/4] OvmfPkg: Update DSC/FDF to use NetworkPkg's include fragment file Zhang, Shenglei
2019-05-14 12:55   ` [edk2-devel] " Liming Gao
2019-05-14 13:48   ` Laszlo Ersek
2019-05-15  7:02     ` Zhang, Shenglei
2019-05-15  8:10       ` Laszlo Ersek
2019-05-14  7:39 ` [PATCH 2/4] Nt32Pkg: " Zhang, Shenglei
2019-05-14 12:44   ` Ni, Ray
2019-05-14  7:39 ` [PATCH 3/4] ArmVirtPkg: " Zhang, Shenglei
2019-05-14 14:22   ` Laszlo Ersek [this message]
2019-05-14  7:39 ` [PATCH 4/4] EmulatorPkg: " Zhang, Shenglei
2019-05-14 12:44   ` [edk2-devel] " Ni, Ray
2019-05-14 12:43 ` [edk2-devel] [PATCH 0/4] Add DSC/FDF include segment files for network stack Laszlo Ersek
2019-05-14 12:59   ` Liming Gao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e0b91771-60b4-f5b7-cb9f-02a0bb331e5d@redhat.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox